diff --git a/src/compiler/factory/nodeFactory.ts b/src/compiler/factory/nodeFactory.ts index 27b2b75e9c7f0..debe8949ac116 100644 --- a/src/compiler/factory/nodeFactory.ts +++ b/src/compiler/factory/nodeFactory.ts @@ -874,7 +874,7 @@ namespace ts { } // @api - function createIdentifier(text: string, typeArguments?: readonly (TypeNode | TypeParameterDeclaration)[], originalKeywordKind?: SyntaxKind): Identifier { + function createIdentifier(text: string, typeArguments?: readonly (TypeNode | TypeParameterDeclaration)[], originalKeywordKind?: SyntaxKind, hasExtendedUnicodeEscape?: boolean): Identifier { const node = createBaseIdentifier(text, originalKeywordKind); if (typeArguments) { // NOTE: we do not use `setChildren` here because typeArguments in an identifier do not contribute to transformations @@ -883,6 +883,10 @@ namespace ts { if (node.originalKeywordKind === SyntaxKind.AwaitKeyword) { node.transformFlags |= TransformFlags.ContainsPossibleTopLevelAwait; } + if (hasExtendedUnicodeEscape) { + node.hasExtendedUnicodeEscape = hasExtendedUnicodeEscape; + node.transformFlags |= TransformFlags.ContainsES2015; + } return node; } diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index bd85362d90409..1f19b2b87e4dc 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -2187,8 +2187,9 @@ namespace ts { // Store original token kind if it is not just an Identifier so we can report appropriate error later in type checker const originalKeywordKind = token(); const text = internIdentifier(scanner.getTokenValue()); + const hasExtendedUnicodeEscape = scanner.hasExtendedUnicodeEscape(); nextTokenWithoutCheck(); - return finishNode(factory.createIdentifier(text, /*typeArguments*/ undefined, originalKeywordKind), pos); + return finishNode(factory.createIdentifier(text, /*typeArguments*/ undefined, originalKeywordKind, hasExtendedUnicodeEscape), pos); } if (token() === SyntaxKind.PrivateIdentifier) { diff --git a/src/compiler/scanner.ts b/src/compiler/scanner.ts index 5eb410eb3183e..a6053f71ff633 100644 --- a/src/compiler/scanner.ts +++ b/src/compiler/scanner.ts @@ -1486,7 +1486,7 @@ namespace ts { function peekExtendedUnicodeEscape(): number { - if (languageVersion >= ScriptTarget.ES2015 && codePointAt(text, pos + 1) === CharacterCodes.u && codePointAt(text, pos + 2) === CharacterCodes.openBrace) { + if (codePointAt(text, pos + 1) === CharacterCodes.u && codePointAt(text, pos + 2) === CharacterCodes.openBrace) { const start = pos; pos += 3; const escapedValueString = scanMinimumNumberOfHexDigits(1, /*canHaveSeparators*/ false); diff --git a/src/compiler/transformers/es2015.ts b/src/compiler/transformers/es2015.ts index 9e3ef1b753b87..7feb0c09c8278 100644 --- a/src/compiler/transformers/es2015.ts +++ b/src/compiler/transformers/es2015.ts @@ -643,11 +643,16 @@ namespace ts { } function visitIdentifier(node: Identifier): Identifier { - if (!convertedLoopState) { - return node; + if (convertedLoopState) { + if (resolver.isArgumentsLocalBinding(node)) { + return convertedLoopState.argumentsName || (convertedLoopState.argumentsName = factory.createUniqueName("arguments")); + } } - if (resolver.isArgumentsLocalBinding(node)) { - return convertedLoopState.argumentsName || (convertedLoopState.argumentsName = factory.createUniqueName("arguments")); + if (node.hasExtendedUnicodeEscape) { + return setOriginalNode(setTextRange( + factory.createIdentifier(unescapeLeadingUnderscores(node.escapedText)), + node + ), node); } return node; } diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 997c83b2f9db7..1214f822d87a0 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -1427,6 +1427,7 @@ namespace ts { isInJSDocNamespace?: boolean; // if the node is a member in a JSDoc namespace /*@internal*/ typeArguments?: NodeArray; // Only defined on synthesized nodes. Though not syntactically valid, used in emitting diagnostics, quickinfo, and signature help. /*@internal*/ jsdocDotPos?: number; // Identifier occurs in JSDoc-style generic: Id. + /*@internal*/ hasExtendedUnicodeEscape?: boolean; } // Transient identifier node (marked by id === -1) @@ -7653,7 +7654,7 @@ namespace ts { // createIdentifier(text: string): Identifier; - /* @internal */ createIdentifier(text: string, typeArguments?: readonly (TypeNode | TypeParameterDeclaration)[], originalKeywordKind?: SyntaxKind): Identifier; // eslint-disable-line @typescript-eslint/unified-signatures + /* @internal */ createIdentifier(text: string, typeArguments?: readonly (TypeNode | TypeParameterDeclaration)[], originalKeywordKind?: SyntaxKind, hasExtendedUnicodeEscape?: boolean): Identifier; // eslint-disable-line @typescript-eslint/unified-signatures /* @internal */ updateIdentifier(node: Identifier, typeArguments: NodeArray | undefined): Identifier; /** diff --git a/tests/baselines/reference/privateNamesEscapeSequences01(target=es5).errors.txt b/tests/baselines/reference/privateNamesEscapeSequences01(target=es5).errors.txt deleted file mode 100644 index a042d459e8a30..0000000000000 --- a/tests/baselines/reference/privateNamesEscapeSequences01(target=es5).errors.txt +++ /dev/null @@ -1,310 +0,0 @@ -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts(2,5): error TS1127: Invalid character. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts(2,6): error TS1434: Unexpected keyword or identifier. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts(2,7): error TS1068: Unexpected token. A constructor, method, accessor, or property was expected. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts(2,11): error TS1128: Declaration or statement expected. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts(2,13): error TS2693: 'number' only refers to a type, but is being used as a value here. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts(4,5): error TS2304: Cannot find name 'constructor'. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts(4,19): error TS1005: ';' expected. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts(5,9): error TS2532: Object is possibly 'undefined'. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts(5,14): error TS1127: Invalid character. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts(5,15): error TS1434: Unexpected keyword or identifier. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts(5,15): error TS2304: Cannot find name 'u'. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts(5,21): error TS2809: Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the the whole assignment in parentheses. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts(8,5): error TS2304: Cannot find name 'doThing'. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts(8,15): error TS1005: ';' expected. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts(9,9): error TS2532: Object is possibly 'undefined'. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts(11,1): error TS1128: Declaration or statement expected. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts(2,6): error TS1127: Invalid character. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts(2,7): error TS1434: Unexpected keyword or identifier. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts(2,8): error TS1068: Unexpected token. A constructor, method, accessor, or property was expected. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts(2,12): error TS1128: Declaration or statement expected. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts(2,14): error TS2693: 'number' only refers to a type, but is being used as a value here. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts(4,5): error TS2304: Cannot find name 'constructor'. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts(4,19): error TS1005: ';' expected. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts(5,9): error TS2532: Object is possibly 'undefined'. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts(5,15): error TS1127: Invalid character. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts(5,16): error TS1434: Unexpected keyword or identifier. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts(5,16): error TS2304: Cannot find name 'u'. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts(5,22): error TS2809: Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the the whole assignment in parentheses. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts(8,5): error TS2304: Cannot find name 'doThing'. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts(8,15): error TS1005: ';' expected. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts(9,9): error TS2532: Object is possibly 'undefined'. -tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts(11,1): error TS1128: Declaration or statement expected. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithEscape1.ts(2,5): error TS18028: Private identifiers are only available when targeting ECMAScript 2015 and higher. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithEscape2.ts(2,5): error TS18028: Private identifiers are only available when targeting ECMAScript 2015 and higher. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts(2,5): error TS1127: Invalid character. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts(2,6): error TS1127: Invalid character. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts(2,7): error TS1434: Unexpected keyword or identifier. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts(2,8): error TS1068: Unexpected token. A constructor, method, accessor, or property was expected. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts(2,12): error TS1128: Declaration or statement expected. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts(2,14): error TS2693: 'number' only refers to a type, but is being used as a value here. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts(4,5): error TS2304: Cannot find name 'constructor'. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts(4,19): error TS1005: ';' expected. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts(5,9): error TS2532: Object is possibly 'undefined'. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts(5,14): error TS1127: Invalid character. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts(5,15): error TS1127: Invalid character. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts(5,16): error TS1434: Unexpected keyword or identifier. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts(5,16): error TS2304: Cannot find name 'u'. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts(5,22): error TS2809: Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the the whole assignment in parentheses. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts(8,5): error TS2304: Cannot find name 'doThing'. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts(8,15): error TS1005: ';' expected. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts(9,9): error TS2532: Object is possibly 'undefined'. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts(11,1): error TS1128: Declaration or statement expected. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts(2,7): error TS1127: Invalid character. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts(2,8): error TS1434: Unexpected keyword or identifier. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts(2,9): error TS1068: Unexpected token. A constructor, method, accessor, or property was expected. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts(2,13): error TS1128: Declaration or statement expected. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts(2,15): error TS2693: 'number' only refers to a type, but is being used as a value here. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts(4,5): error TS2304: Cannot find name 'constructor'. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts(4,19): error TS1005: ';' expected. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts(5,9): error TS2532: Object is possibly 'undefined'. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts(5,16): error TS1127: Invalid character. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts(5,17): error TS1434: Unexpected keyword or identifier. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts(5,17): error TS2304: Cannot find name 'u'. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts(5,23): error TS2809: Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the the whole assignment in parentheses. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts(8,5): error TS2304: Cannot find name 'doThing'. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts(8,15): error TS1005: ';' expected. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts(9,9): error TS2532: Object is possibly 'undefined'. -tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts(11,1): error TS1128: Declaration or statement expected. - - -==== tests/cases/conformance/classes/members/privateNames/IdentifierNameWithEscape1.ts (0 errors) ==== - export class IdentifierNameWithEscape1 { - \u0078: number; - - constructor() { - this.\u0078 = 0; - } - - doThing() { - this.x = 42; - } - } - -==== tests/cases/conformance/classes/members/privateNames/IdentifierNameWithEscape2.ts (0 errors) ==== - export class IdentifierNameWithEscape2 { - x\u0078: number; - - constructor() { - this.x\u0078 = 0; - } - - doThing() { - this.xx = 42; - } - } - -==== tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts (16 errors) ==== - export class IdentifierNameWithExtendedEscape1 { - \u{78}: number; - -!!! error TS1127: Invalid character. - ~ -!!! error TS1434: Unexpected keyword or identifier. - ~ -!!! error TS1068: Unexpected token. A constructor, method, accessor, or property was expected. - ~ -!!! error TS1128: Declaration or statement expected. - ~~~~~~ -!!! error TS2693: 'number' only refers to a type, but is being used as a value here. - - constructor() { - ~~~~~~~~~~~ -!!! error TS2304: Cannot find name 'constructor'. - ~ -!!! error TS1005: ';' expected. - this.\u{78} = 0; - ~~~~ -!!! error TS2532: Object is possibly 'undefined'. - -!!! error TS1127: Invalid character. - ~ -!!! error TS1434: Unexpected keyword or identifier. - ~ -!!! error TS2304: Cannot find name 'u'. - ~ -!!! error TS2809: Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the the whole assignment in parentheses. - } - - doThing() { - ~~~~~~~ -!!! error TS2304: Cannot find name 'doThing'. - ~ -!!! error TS1005: ';' expected. - this.x = 42; - ~~~~ -!!! error TS2532: Object is possibly 'undefined'. - } - } - ~ -!!! error TS1128: Declaration or statement expected. - -==== tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts (16 errors) ==== - export class IdentifierNameWithExtendedEscape2 { - x\u{78}: number; - -!!! error TS1127: Invalid character. - ~ -!!! error TS1434: Unexpected keyword or identifier. - ~ -!!! error TS1068: Unexpected token. A constructor, method, accessor, or property was expected. - ~ -!!! error TS1128: Declaration or statement expected. - ~~~~~~ -!!! error TS2693: 'number' only refers to a type, but is being used as a value here. - - constructor() { - ~~~~~~~~~~~ -!!! error TS2304: Cannot find name 'constructor'. - ~ -!!! error TS1005: ';' expected. - this.x\u{78} = 0; - ~~~~ -!!! error TS2532: Object is possibly 'undefined'. - -!!! error TS1127: Invalid character. - ~ -!!! error TS1434: Unexpected keyword or identifier. - ~ -!!! error TS2304: Cannot find name 'u'. - ~ -!!! error TS2809: Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the the whole assignment in parentheses. - } - - doThing() { - ~~~~~~~ -!!! error TS2304: Cannot find name 'doThing'. - ~ -!!! error TS1005: ';' expected. - this.xx = 42; - ~~~~ -!!! error TS2532: Object is possibly 'undefined'. - } - } - ~ -!!! error TS1128: Declaration or statement expected. - -==== tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithEscape1.ts (1 errors) ==== - export class PrivateIdentifierWithEscape1 { - #\u0078: number; - ~~~~~~~ -!!! error TS18028: Private identifiers are only available when targeting ECMAScript 2015 and higher. - - constructor() { - this.#\u0078 = 0; - } - - doThing() { - this.#x = 42; - } - } - -==== tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithEscape2.ts (1 errors) ==== - export class PrivateIdentifierWithEscape2 { - #x\u0078: number; - ~~~~~~~~ -!!! error TS18028: Private identifiers are only available when targeting ECMAScript 2015 and higher. - - constructor() { - this.#x\u0078 = 0; - } - - doThing() { - this.#xx = 42; - } - } - -==== tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts (18 errors) ==== - export class PrivateIdentifierWithExtendedEscape1 { - #\u{78}: number; - ~ -!!! error TS1127: Invalid character. - -!!! error TS1127: Invalid character. - ~ -!!! error TS1434: Unexpected keyword or identifier. - ~ -!!! error TS1068: Unexpected token. A constructor, method, accessor, or property was expected. - ~ -!!! error TS1128: Declaration or statement expected. - ~~~~~~ -!!! error TS2693: 'number' only refers to a type, but is being used as a value here. - - constructor() { - ~~~~~~~~~~~ -!!! error TS2304: Cannot find name 'constructor'. - ~ -!!! error TS1005: ';' expected. - this.#\u{78} = 0; - ~~~~ -!!! error TS2532: Object is possibly 'undefined'. - ~ -!!! error TS1127: Invalid character. - -!!! error TS1127: Invalid character. - ~ -!!! error TS1434: Unexpected keyword or identifier. - ~ -!!! error TS2304: Cannot find name 'u'. - ~ -!!! error TS2809: Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the the whole assignment in parentheses. - } - - doThing() { - ~~~~~~~ -!!! error TS2304: Cannot find name 'doThing'. - ~ -!!! error TS1005: ';' expected. - this.#x = 42; - ~~~~ -!!! error TS2532: Object is possibly 'undefined'. - } - } - ~ -!!! error TS1128: Declaration or statement expected. - -==== tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts (16 errors) ==== - export class PrivateIdentifierWithExtendedEscape2 { - #x\u{78}: number; - -!!! error TS1127: Invalid character. - ~ -!!! error TS1434: Unexpected keyword or identifier. - ~ -!!! error TS1068: Unexpected token. A constructor, method, accessor, or property was expected. - ~ -!!! error TS1128: Declaration or statement expected. - ~~~~~~ -!!! error TS2693: 'number' only refers to a type, but is being used as a value here. - - constructor() { - ~~~~~~~~~~~ -!!! error TS2304: Cannot find name 'constructor'. - ~ -!!! error TS1005: ';' expected. - this.#x\u{78} = 0; - ~~~~ -!!! error TS2532: Object is possibly 'undefined'. - -!!! error TS1127: Invalid character. - ~ -!!! error TS1434: Unexpected keyword or identifier. - ~ -!!! error TS2304: Cannot find name 'u'. - ~ -!!! error TS2809: Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the the whole assignment in parentheses. - } - - doThing() { - ~~~~~~~ -!!! error TS2304: Cannot find name 'doThing'. - ~ -!!! error TS1005: ';' expected. - this.#xx = 42; - ~~~~ -!!! error TS2532: Object is possibly 'undefined'. - } - } - ~ -!!! error TS1128: Declaration or statement expected. - \ No newline at end of file diff --git a/tests/baselines/reference/privateNamesEscapeSequences01(target=es2015).js b/tests/baselines/reference/unicodeEscapesInNames01(target=es2015).js similarity index 81% rename from tests/baselines/reference/privateNamesEscapeSequences01(target=es2015).js rename to tests/baselines/reference/unicodeEscapesInNames01(target=es2015).js index 7884e774e63d4..f903744e746e8 100644 --- a/tests/baselines/reference/privateNamesEscapeSequences01(target=es2015).js +++ b/tests/baselines/reference/unicodeEscapesInNames01(target=es2015).js @@ -1,4 +1,20 @@ -//// [tests/cases/conformance/classes/members/privateNames/privateNamesEscapeSequences01.ts] //// +//// [tests/cases/compiler/unicodeEscapesInNames01.ts] //// + +//// [identifierVariableWithEscape1.ts] +export let \u0078 = 10; +x++; + +//// [identifierVariableWithEscape2.ts] +export let x\u0078 = 10; +xx++; + +//// [identifierVariableWithExtendedEscape1.ts] +export let \u{78} = 10; +x++; + +//// [identifierVariableWithExtendedEscape2.ts] +export let x\u{78} = 10; +xx++; //// [IdentifierNameWithEscape1.ts] export class IdentifierNameWithEscape1 { @@ -105,6 +121,22 @@ export class PrivateIdentifierWithExtendedEscape2 { } +//// [identifierVariableWithEscape1.js] +export let \u0078 = 10; +x++; +//# sourceMappingURL=identifierVariableWithEscape1.js.map +//// [identifierVariableWithEscape2.js] +export let x\u0078 = 10; +xx++; +//# sourceMappingURL=identifierVariableWithEscape2.js.map +//// [identifierVariableWithExtendedEscape1.js] +export let \u{78} = 10; +x++; +//# sourceMappingURL=identifierVariableWithExtendedEscape1.js.map +//// [identifierVariableWithExtendedEscape2.js] +export let x\u{78} = 10; +xx++; +//# sourceMappingURL=identifierVariableWithExtendedEscape2.js.map //// [IdentifierNameWithEscape1.js] export class IdentifierNameWithEscape1 { constructor() { @@ -114,6 +146,7 @@ export class IdentifierNameWithEscape1 { this.x = 42; } } +//# sourceMappingURL=IdentifierNameWithEscape1.js.map //// [IdentifierNameWithEscape2.js] export class IdentifierNameWithEscape2 { constructor() { @@ -123,6 +156,7 @@ export class IdentifierNameWithEscape2 { this.xx = 42; } } +//# sourceMappingURL=IdentifierNameWithEscape2.js.map //// [IdentifierNameWithExtendedEscape1.js] export class IdentifierNameWithExtendedEscape1 { constructor() { @@ -132,6 +166,7 @@ export class IdentifierNameWithExtendedEscape1 { this.x = 42; } } +//# sourceMappingURL=IdentifierNameWithExtendedEscape1.js.map //// [IdentifierNameWithExtendedEscape2.js] export class IdentifierNameWithExtendedEscape2 { constructor() { @@ -141,6 +176,7 @@ export class IdentifierNameWithExtendedEscape2 { this.xx = 42; } } +//# sourceMappingURL=IdentifierNameWithExtendedEscape2.js.map //// [PrivateIdentifierNameWithEscape1.js] var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { if (kind === "m") throw new TypeError("Private method is not writable"); @@ -159,6 +195,7 @@ export class PrivateIdentifierWithEscape1 { } } _PrivateIdentifierWithEscape1_x = new WeakMap(); +//# sourceMappingURL=PrivateIdentifierNameWithEscape1.js.map //// [PrivateIdentifierNameWithEscape2.js] var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { if (kind === "m") throw new TypeError("Private method is not writable"); @@ -177,6 +214,7 @@ export class PrivateIdentifierWithEscape2 { } } _PrivateIdentifierWithEscape2_xx = new WeakMap(); +//# sourceMappingURL=PrivateIdentifierNameWithEscape2.js.map //// [PrivateIdentifierNameWithExtendedEscape1.js] var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { if (kind === "m") throw new TypeError("Private method is not writable"); @@ -195,6 +233,7 @@ export class PrivateIdentifierWithExtendedEscape1 { } } _PrivateIdentifierWithExtendedEscape1_x = new WeakMap(); +//# sourceMappingURL=PrivateIdentifierNameWithExtendedEscape1.js.map //// [PrivateIdentifierNameWithExtendedEscape2.js] var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { if (kind === "m") throw new TypeError("Private method is not writable"); @@ -213,3 +252,4 @@ export class PrivateIdentifierWithExtendedEscape2 { } } _PrivateIdentifierWithExtendedEscape2_xx = new WeakMap(); +//# sourceMappingURL=PrivateIdentifierNameWithExtendedEscape2.js.map \ No newline at end of file diff --git a/tests/baselines/reference/unicodeEscapesInNames01(target=es2015).js.map b/tests/baselines/reference/unicodeEscapesInNames01(target=es2015).js.map new file mode 100644 index 0000000000000..2deedcc7708b7 --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames01(target=es2015).js.map @@ -0,0 +1,47 @@ +//// [identifierVariableWithEscape1.js.map] +{"version":3,"file":"identifierVariableWithEscape1.js","sourceRoot":"","sources":["identifierVariableWithEscape1.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,CAAC,EAAE,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IGxldCBcdTAwNzggPSAxMDsNCngrKzsNCi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlkZW50aWZpZXJWYXJpYWJsZVdpdGhFc2NhcGUxLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpZmllclZhcmlhYmxlV2l0aEVzY2FwZTEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpZGVudGlmaWVyVmFyaWFibGVXaXRoRXNjYXBlMS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO0FBQ3ZCLENBQUMsRUFBRSxDQUFDIn0=,ZXhwb3J0IGxldCBcdTAwNzggPSAxMDsKeCsrOwo= + +//// [identifierVariableWithEscape2.js.map] +{"version":3,"file":"identifierVariableWithEscape2.js","sourceRoot":"","sources":["identifierVariableWithEscape2.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAI,OAAO,GAAG,EAAE,CAAC;AACxB,EAAE,EAAE,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IGxldCB4XHUwMDc4ID0gMTA7DQp4eCsrOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9aWRlbnRpZmllclZhcmlhYmxlV2l0aEVzY2FwZTIuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpZmllclZhcmlhYmxlV2l0aEVzY2FwZTIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpZGVudGlmaWVyVmFyaWFibGVXaXRoRXNjYXBlMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO0FBQ3hCLEVBQUUsRUFBRSxDQUFDIn0=,ZXhwb3J0IGxldCB4XHUwMDc4ID0gMTA7Cnh4Kys7Cg== + +//// [identifierVariableWithExtendedEscape1.js.map] +{"version":3,"file":"identifierVariableWithExtendedEscape1.js","sourceRoot":"","sources":["identifierVariableWithExtendedEscape1.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,CAAC,EAAE,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IGxldCBcdXs3OH0gPSAxMDsNCngrKzsNCi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlkZW50aWZpZXJWYXJpYWJsZVdpdGhFeHRlbmRlZEVzY2FwZTEuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpZmllclZhcmlhYmxlV2l0aEV4dGVuZGVkRXNjYXBlMS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlkZW50aWZpZXJWYXJpYWJsZVdpdGhFeHRlbmRlZEVzY2FwZTEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUN2QixDQUFDLEVBQUUsQ0FBQyJ9,ZXhwb3J0IGxldCBcdXs3OH0gPSAxMDsKeCsrOwo= + +//// [identifierVariableWithExtendedEscape2.js.map] +{"version":3,"file":"identifierVariableWithExtendedEscape2.js","sourceRoot":"","sources":["identifierVariableWithExtendedEscape2.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAI,OAAO,GAAG,EAAE,CAAC;AACxB,EAAE,EAAE,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IGxldCB4XHV7Nzh9ID0gMTA7DQp4eCsrOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9aWRlbnRpZmllclZhcmlhYmxlV2l0aEV4dGVuZGVkRXNjYXBlMi5qcy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpZmllclZhcmlhYmxlV2l0aEV4dGVuZGVkRXNjYXBlMi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlkZW50aWZpZXJWYXJpYWJsZVdpdGhFeHRlbmRlZEVzY2FwZTIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztBQUN4QixFQUFFLEVBQUUsQ0FBQyJ9,ZXhwb3J0IGxldCB4XHV7Nzh9ID0gMTA7Cnh4Kys7Cg== + +//// [IdentifierNameWithEscape1.js.map] +{"version":3,"file":"IdentifierNameWithEscape1.js","sourceRoot":"","sources":["IdentifierNameWithEscape1.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,yBAAyB;IAGlC;QACI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;CACJ"} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IGNsYXNzIElkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTEgew0KICAgIGNvbnN0cnVjdG9yKCkgew0KICAgICAgICB0aGlzLlx1MDA3OCA9IDA7DQogICAgfQ0KICAgIGRvVGhpbmcoKSB7DQogICAgICAgIHRoaXMueCA9IDQyOw0KICAgIH0NCn0NCi8vIyBzb3VyY2VNYXBwaW5nVVJMPUlkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTEuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIklkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLHlCQUF5QjtJQUdsQztRQUNJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDaEIsQ0FBQztDQUNKIn0=,ZXhwb3J0IGNsYXNzIElkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTEgewogICAgXHUwMDc4OiBudW1iZXI7CgogICAgY29uc3RydWN0b3IoKSB7CiAgICAgICAgdGhpcy5cdTAwNzggPSAwOwogICAgfQoKICAgIGRvVGhpbmcoKSB7CiAgICAgICAgdGhpcy54ID0gNDI7CiAgICB9Cn0K + +//// [IdentifierNameWithEscape2.js.map] +{"version":3,"file":"IdentifierNameWithEscape2.js","sourceRoot":"","sources":["IdentifierNameWithEscape2.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,yBAAyB;IAGlC;QACI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;CACJ"} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IGNsYXNzIElkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTIgew0KICAgIGNvbnN0cnVjdG9yKCkgew0KICAgICAgICB0aGlzLnhcdTAwNzggPSAwOw0KICAgIH0NCiAgICBkb1RoaW5nKCkgew0KICAgICAgICB0aGlzLnh4ID0gNDI7DQogICAgfQ0KfQ0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9SWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMi5qcy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIklkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLHlCQUF5QjtJQUdsQztRQUNJLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQztDQUNKIn0=,ZXhwb3J0IGNsYXNzIElkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTIgewogICAgeFx1MDA3ODogbnVtYmVyOwoKICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgIHRoaXMueFx1MDA3OCA9IDA7CiAgICB9CgogICAgZG9UaGluZygpIHsKICAgICAgICB0aGlzLnh4ID0gNDI7CiAgICB9Cn0K + +//// [IdentifierNameWithExtendedEscape1.js.map] +{"version":3,"file":"IdentifierNameWithExtendedEscape1.js","sourceRoot":"","sources":["IdentifierNameWithExtendedEscape1.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iCAAiC;IAG1C;QACI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;CACJ"} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IGNsYXNzIElkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMSB7DQogICAgY29uc3RydWN0b3IoKSB7DQogICAgICAgIHRoaXMuXHV7Nzh9ID0gMDsNCiAgICB9DQogICAgZG9UaGluZygpIHsNCiAgICAgICAgdGhpcy54ID0gNDI7DQogICAgfQ0KfQ0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9SWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUxLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUxLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiSWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUxLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxpQ0FBaUM7SUFHMUM7UUFDSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLENBQUM7Q0FDSiJ9,ZXhwb3J0IGNsYXNzIElkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMSB7CiAgICBcdXs3OH06IG51bWJlcjsKCiAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgICB0aGlzLlx1ezc4fSA9IDA7CiAgICB9CgogICAgZG9UaGluZygpIHsKICAgICAgICB0aGlzLnggPSA0MjsKICAgIH0KfQo= + +//// [IdentifierNameWithExtendedEscape2.js.map] +{"version":3,"file":"IdentifierNameWithExtendedEscape2.js","sourceRoot":"","sources":["IdentifierNameWithExtendedEscape2.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iCAAiC;IAG1C;QACI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;CACJ"} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IGNsYXNzIElkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMiB7DQogICAgY29uc3RydWN0b3IoKSB7DQogICAgICAgIHRoaXMueFx1ezc4fSA9IDA7DQogICAgfQ0KICAgIGRvVGhpbmcoKSB7DQogICAgICAgIHRoaXMueHggPSA0MjsNCiAgICB9DQp9DQovLyMgc291cmNlTWFwcGluZ1VSTD1JZGVudGlmaWVyTmFtZVdpdGhFeHRlbmRlZEVzY2FwZTIuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiSWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxpQ0FBaUM7SUFHMUM7UUFDSSxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLENBQUM7Q0FDSiJ9,ZXhwb3J0IGNsYXNzIElkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMiB7CiAgICB4XHV7Nzh9OiBudW1iZXI7CgogICAgY29uc3RydWN0b3IoKSB7CiAgICAgICAgdGhpcy54XHV7Nzh9ID0gMDsKICAgIH0KCiAgICBkb1RoaW5nKCkgewogICAgICAgIHRoaXMueHggPSA0MjsKICAgIH0KfQo= + +//// [PrivateIdentifierNameWithEscape1.js.map] +{"version":3,"file":"PrivateIdentifierNameWithEscape1.js","sourceRoot":"","sources":["PrivateIdentifierNameWithEscape1.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAM,OAAO,4BAA4B;IAGrC;QAFA,kDAAgB;QAGZ,uBAAA,IAAI,mCAAW,CAAC,MAAA,CAAC;IACrB,CAAC;IAED,OAAO;QACH,uBAAA,IAAI,mCAAM,EAAE,MAAA,CAAC;IACjB,CAAC;CACJ"} +//// https://sokra.github.io/source-map-visualization#base64,dmFyIF9fY2xhc3NQcml2YXRlRmllbGRTZXQgPSAodGhpcyAmJiB0aGlzLl9fY2xhc3NQcml2YXRlRmllbGRTZXQpIHx8IGZ1bmN0aW9uIChyZWNlaXZlciwgc3RhdGUsIHZhbHVlLCBraW5kLCBmKSB7DQogICAgaWYgKGtpbmQgPT09ICJtIikgdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJpdmF0ZSBtZXRob2QgaXMgbm90IHdyaXRhYmxlIik7DQogICAgaWYgKGtpbmQgPT09ICJhIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgc2V0dGVyIik7DQogICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gImZ1bmN0aW9uIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3Qgd3JpdGUgcHJpdmF0ZSBtZW1iZXIgdG8gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdCIpOw0KICAgIHJldHVybiAoa2luZCA9PT0gImEiID8gZi5jYWxsKHJlY2VpdmVyLCB2YWx1ZSkgOiBmID8gZi52YWx1ZSA9IHZhbHVlIDogc3RhdGUuc2V0KHJlY2VpdmVyLCB2YWx1ZSkpLCB2YWx1ZTsNCn07DQp2YXIgX1ByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTFfeDsNCmV4cG9ydCBjbGFzcyBQcml2YXRlSWRlbnRpZmllcldpdGhFc2NhcGUxIHsNCiAgICBjb25zdHJ1Y3RvcigpIHsNCiAgICAgICAgX1ByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTFfeC5zZXQodGhpcywgdm9pZCAwKTsNCiAgICAgICAgX19jbGFzc1ByaXZhdGVGaWVsZFNldCh0aGlzLCBfUHJpdmF0ZUlkZW50aWZpZXJXaXRoRXNjYXBlMV94LCAwLCAiZiIpOw0KICAgIH0NCiAgICBkb1RoaW5nKCkgew0KICAgICAgICBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHRoaXMsIF9Qcml2YXRlSWRlbnRpZmllcldpdGhFc2NhcGUxX3gsIDQyLCAiZiIpOw0KICAgIH0NCn0NCl9Qcml2YXRlSWRlbnRpZmllcldpdGhFc2NhcGUxX3ggPSBuZXcgV2Vha01hcCgpOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9UHJpdmF0ZUlkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTEuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZUlkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJQcml2YXRlSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTSxPQUFPLDRCQUE0QjtJQUdyQztRQUZBLGtEQUFnQjtRQUdaLHVCQUFBLElBQUksbUNBQVcsQ0FBQyxNQUFBLENBQUM7SUFDckIsQ0FBQztJQUVELE9BQU87UUFDSCx1QkFBQSxJQUFJLG1DQUFNLEVBQUUsTUFBQSxDQUFDO0lBQ2pCLENBQUM7Q0FDSiJ9,ZXhwb3J0IGNsYXNzIFByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTEgewogICAgI1x1MDA3ODogbnVtYmVyOwoKICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgIHRoaXMuI1x1MDA3OCA9IDA7CiAgICB9CgogICAgZG9UaGluZygpIHsKICAgICAgICB0aGlzLiN4ID0gNDI7CiAgICB9Cn0K + +//// [PrivateIdentifierNameWithEscape2.js.map] +{"version":3,"file":"PrivateIdentifierNameWithEscape2.js","sourceRoot":"","sources":["PrivateIdentifierNameWithEscape2.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAM,OAAO,4BAA4B;IAGrC;QAFA,mDAAiB;QAGb,uBAAA,IAAI,oCAAY,CAAC,MAAA,CAAC;IACtB,CAAC;IAED,OAAO;QACH,uBAAA,IAAI,oCAAO,EAAE,MAAA,CAAC;IAClB,CAAC;CACJ"} +//// https://sokra.github.io/source-map-visualization#base64,dmFyIF9fY2xhc3NQcml2YXRlRmllbGRTZXQgPSAodGhpcyAmJiB0aGlzLl9fY2xhc3NQcml2YXRlRmllbGRTZXQpIHx8IGZ1bmN0aW9uIChyZWNlaXZlciwgc3RhdGUsIHZhbHVlLCBraW5kLCBmKSB7DQogICAgaWYgKGtpbmQgPT09ICJtIikgdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJpdmF0ZSBtZXRob2QgaXMgbm90IHdyaXRhYmxlIik7DQogICAgaWYgKGtpbmQgPT09ICJhIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgc2V0dGVyIik7DQogICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gImZ1bmN0aW9uIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3Qgd3JpdGUgcHJpdmF0ZSBtZW1iZXIgdG8gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdCIpOw0KICAgIHJldHVybiAoa2luZCA9PT0gImEiID8gZi5jYWxsKHJlY2VpdmVyLCB2YWx1ZSkgOiBmID8gZi52YWx1ZSA9IHZhbHVlIDogc3RhdGUuc2V0KHJlY2VpdmVyLCB2YWx1ZSkpLCB2YWx1ZTsNCn07DQp2YXIgX1ByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTJfeHg7DQpleHBvcnQgY2xhc3MgUHJpdmF0ZUlkZW50aWZpZXJXaXRoRXNjYXBlMiB7DQogICAgY29uc3RydWN0b3IoKSB7DQogICAgICAgIF9Qcml2YXRlSWRlbnRpZmllcldpdGhFc2NhcGUyX3h4LnNldCh0aGlzLCB2b2lkIDApOw0KICAgICAgICBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHRoaXMsIF9Qcml2YXRlSWRlbnRpZmllcldpdGhFc2NhcGUyX3h4LCAwLCAiZiIpOw0KICAgIH0NCiAgICBkb1RoaW5nKCkgew0KICAgICAgICBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHRoaXMsIF9Qcml2YXRlSWRlbnRpZmllcldpdGhFc2NhcGUyX3h4LCA0MiwgImYiKTsNCiAgICB9DQp9DQpfUHJpdmF0ZUlkZW50aWZpZXJXaXRoRXNjYXBlMl94eCA9IG5ldyBXZWFrTWFwKCk7DQovLyMgc291cmNlTWFwcGluZ1VSTD1Qcml2YXRlSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMi5qcy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZUlkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJQcml2YXRlSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTSxPQUFPLDRCQUE0QjtJQUdyQztRQUZBLG1EQUFpQjtRQUdiLHVCQUFBLElBQUksb0NBQVksQ0FBQyxNQUFBLENBQUM7SUFDdEIsQ0FBQztJQUVELE9BQU87UUFDSCx1QkFBQSxJQUFJLG9DQUFPLEVBQUUsTUFBQSxDQUFDO0lBQ2xCLENBQUM7Q0FDSiJ9,ZXhwb3J0IGNsYXNzIFByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTIgewogICAgI3hcdTAwNzg6IG51bWJlcjsKCiAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgICB0aGlzLiN4XHUwMDc4ID0gMDsKICAgIH0KCiAgICBkb1RoaW5nKCkgewogICAgICAgIHRoaXMuI3h4ID0gNDI7CiAgICB9Cn0K + +//// [PrivateIdentifierNameWithExtendedEscape1.js.map] +{"version":3,"file":"PrivateIdentifierNameWithExtendedEscape1.js","sourceRoot":"","sources":["PrivateIdentifierNameWithExtendedEscape1.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAM,OAAO,oCAAoC;IAG7C;QAFA,0DAAgB;QAGZ,uBAAA,IAAI,2CAAW,CAAC,MAAA,CAAC;IACrB,CAAC;IAED,OAAO;QACH,uBAAA,IAAI,2CAAM,EAAE,MAAA,CAAC;IACjB,CAAC;CACJ"} +//// https://sokra.github.io/source-map-visualization#base64,dmFyIF9fY2xhc3NQcml2YXRlRmllbGRTZXQgPSAodGhpcyAmJiB0aGlzLl9fY2xhc3NQcml2YXRlRmllbGRTZXQpIHx8IGZ1bmN0aW9uIChyZWNlaXZlciwgc3RhdGUsIHZhbHVlLCBraW5kLCBmKSB7DQogICAgaWYgKGtpbmQgPT09ICJtIikgdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJpdmF0ZSBtZXRob2QgaXMgbm90IHdyaXRhYmxlIik7DQogICAgaWYgKGtpbmQgPT09ICJhIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgc2V0dGVyIik7DQogICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gImZ1bmN0aW9uIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3Qgd3JpdGUgcHJpdmF0ZSBtZW1iZXIgdG8gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdCIpOw0KICAgIHJldHVybiAoa2luZCA9PT0gImEiID8gZi5jYWxsKHJlY2VpdmVyLCB2YWx1ZSkgOiBmID8gZi52YWx1ZSA9IHZhbHVlIDogc3RhdGUuc2V0KHJlY2VpdmVyLCB2YWx1ZSkpLCB2YWx1ZTsNCn07DQp2YXIgX1ByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMV94Ow0KZXhwb3J0IGNsYXNzIFByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMSB7DQogICAgY29uc3RydWN0b3IoKSB7DQogICAgICAgIF9Qcml2YXRlSWRlbnRpZmllcldpdGhFeHRlbmRlZEVzY2FwZTFfeC5zZXQodGhpcywgdm9pZCAwKTsNCiAgICAgICAgX19jbGFzc1ByaXZhdGVGaWVsZFNldCh0aGlzLCBfUHJpdmF0ZUlkZW50aWZpZXJXaXRoRXh0ZW5kZWRFc2NhcGUxX3gsIDAsICJmIik7DQogICAgfQ0KICAgIGRvVGhpbmcoKSB7DQogICAgICAgIF9fY2xhc3NQcml2YXRlRmllbGRTZXQodGhpcywgX1ByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMV94LCA0MiwgImYiKTsNCiAgICB9DQp9DQpfUHJpdmF0ZUlkZW50aWZpZXJXaXRoRXh0ZW5kZWRFc2NhcGUxX3ggPSBuZXcgV2Vha01hcCgpOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9UHJpdmF0ZUlkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMS5qcy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZUlkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlByaXZhdGVJZGVudGlmaWVyTmFtZVdpdGhFeHRlbmRlZEVzY2FwZTEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLE1BQU0sT0FBTyxvQ0FBb0M7SUFHN0M7UUFGQSwwREFBZ0I7UUFHWix1QkFBQSxJQUFJLDJDQUFXLENBQUMsTUFBQSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxPQUFPO1FBQ0gsdUJBQUEsSUFBSSwyQ0FBTSxFQUFFLE1BQUEsQ0FBQztJQUNqQixDQUFDO0NBQ0oifQ==,ZXhwb3J0IGNsYXNzIFByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMSB7CiAgICAjXHV7Nzh9OiBudW1iZXI7CgogICAgY29uc3RydWN0b3IoKSB7CiAgICAgICAgdGhpcy4jXHV7Nzh9ID0gMDsKICAgIH0KCiAgICBkb1RoaW5nKCkgewogICAgICAgIHRoaXMuI3ggPSA0MjsKICAgIH0KfQo= + +//// [PrivateIdentifierNameWithExtendedEscape2.js.map] +{"version":3,"file":"PrivateIdentifierNameWithExtendedEscape2.js","sourceRoot":"","sources":["PrivateIdentifierNameWithExtendedEscape2.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAM,OAAO,oCAAoC;IAG7C;QAFA,2DAAiB;QAGb,uBAAA,IAAI,4CAAY,CAAC,MAAA,CAAC;IACtB,CAAC;IAED,OAAO;QACH,uBAAA,IAAI,4CAAO,EAAE,MAAA,CAAC;IAClB,CAAC;CACJ"} +//// https://sokra.github.io/source-map-visualization#base64,dmFyIF9fY2xhc3NQcml2YXRlRmllbGRTZXQgPSAodGhpcyAmJiB0aGlzLl9fY2xhc3NQcml2YXRlRmllbGRTZXQpIHx8IGZ1bmN0aW9uIChyZWNlaXZlciwgc3RhdGUsIHZhbHVlLCBraW5kLCBmKSB7DQogICAgaWYgKGtpbmQgPT09ICJtIikgdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJpdmF0ZSBtZXRob2QgaXMgbm90IHdyaXRhYmxlIik7DQogICAgaWYgKGtpbmQgPT09ICJhIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgc2V0dGVyIik7DQogICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gImZ1bmN0aW9uIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3Qgd3JpdGUgcHJpdmF0ZSBtZW1iZXIgdG8gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdCIpOw0KICAgIHJldHVybiAoa2luZCA9PT0gImEiID8gZi5jYWxsKHJlY2VpdmVyLCB2YWx1ZSkgOiBmID8gZi52YWx1ZSA9IHZhbHVlIDogc3RhdGUuc2V0KHJlY2VpdmVyLCB2YWx1ZSkpLCB2YWx1ZTsNCn07DQp2YXIgX1ByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMl94eDsNCmV4cG9ydCBjbGFzcyBQcml2YXRlSWRlbnRpZmllcldpdGhFeHRlbmRlZEVzY2FwZTIgew0KICAgIGNvbnN0cnVjdG9yKCkgew0KICAgICAgICBfUHJpdmF0ZUlkZW50aWZpZXJXaXRoRXh0ZW5kZWRFc2NhcGUyX3h4LnNldCh0aGlzLCB2b2lkIDApOw0KICAgICAgICBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHRoaXMsIF9Qcml2YXRlSWRlbnRpZmllcldpdGhFeHRlbmRlZEVzY2FwZTJfeHgsIDAsICJmIik7DQogICAgfQ0KICAgIGRvVGhpbmcoKSB7DQogICAgICAgIF9fY2xhc3NQcml2YXRlRmllbGRTZXQodGhpcywgX1ByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMl94eCwgNDIsICJmIik7DQogICAgfQ0KfQ0KX1ByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMl94eCA9IG5ldyBXZWFrTWFwKCk7DQovLyMgc291cmNlTWFwcGluZ1VSTD1Qcml2YXRlSWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUyLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZUlkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlByaXZhdGVJZGVudGlmaWVyTmFtZVdpdGhFeHRlbmRlZEVzY2FwZTIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLE1BQU0sT0FBTyxvQ0FBb0M7SUFHN0M7UUFGQSwyREFBaUI7UUFHYix1QkFBQSxJQUFJLDRDQUFZLENBQUMsTUFBQSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxPQUFPO1FBQ0gsdUJBQUEsSUFBSSw0Q0FBTyxFQUFFLE1BQUEsQ0FBQztJQUNsQixDQUFDO0NBQ0oifQ==,ZXhwb3J0IGNsYXNzIFByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMiB7CiAgICAjeFx1ezc4fTogbnVtYmVyOwoKICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgIHRoaXMuI3hcdXs3OH0gPSAwOwogICAgfQoKICAgIGRvVGhpbmcoKSB7CiAgICAgICAgdGhpcy4jeHggPSA0MjsKICAgIH0KfQo= diff --git a/tests/baselines/reference/unicodeEscapesInNames01(target=es2015).sourcemap.txt b/tests/baselines/reference/unicodeEscapesInNames01(target=es2015).sourcemap.txt new file mode 100644 index 0000000000000..cd5ef4b762897 --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames01(target=es2015).sourcemap.txt @@ -0,0 +1,1229 @@ +=================================================================== +JsFile: identifierVariableWithEscape1.js +mapUrl: identifierVariableWithEscape1.js.map +sourceRoot: +sources: identifierVariableWithEscape1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/identifierVariableWithEscape1.js +sourceFile:identifierVariableWithEscape1.ts +------------------------------------------------------------------- +>>>export let \u0078 = 10; +1 > +2 >^^^^^^ +3 > ^ +4 > ^^^^ +5 > ^^^^^^ +6 > ^^^ +7 > ^^ +8 > ^ +1 > +2 >export +3 > +4 > let +5 > \u0078 +6 > = +7 > 10 +8 > ; +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 8) Source(1, 8) + SourceIndex(0) +4 >Emitted(1, 12) Source(1, 12) + SourceIndex(0) +5 >Emitted(1, 18) Source(1, 18) + SourceIndex(0) +6 >Emitted(1, 21) Source(1, 21) + SourceIndex(0) +7 >Emitted(1, 23) Source(1, 23) + SourceIndex(0) +8 >Emitted(1, 24) Source(1, 24) + SourceIndex(0) +--- +>>>x++; +1 > +2 >^ +3 > ^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 >x +3 > ++ +4 > ; +1 >Emitted(2, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(2, 2) Source(2, 2) + SourceIndex(0) +3 >Emitted(2, 4) Source(2, 4) + SourceIndex(0) +4 >Emitted(2, 5) Source(2, 5) + SourceIndex(0) +--- +>>>//# sourceMappingURL=identifierVariableWithEscape1.js.map=================================================================== +JsFile: identifierVariableWithEscape2.js +mapUrl: identifierVariableWithEscape2.js.map +sourceRoot: +sources: identifierVariableWithEscape2.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/identifierVariableWithEscape2.js +sourceFile:identifierVariableWithEscape2.ts +------------------------------------------------------------------- +>>>export let x\u0078 = 10; +1 > +2 >^^^^^^ +3 > ^ +4 > ^^^^ +5 > ^^^^^^^ +6 > ^^^ +7 > ^^ +8 > ^ +1 > +2 >export +3 > +4 > let +5 > x\u0078 +6 > = +7 > 10 +8 > ; +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 8) Source(1, 8) + SourceIndex(0) +4 >Emitted(1, 12) Source(1, 12) + SourceIndex(0) +5 >Emitted(1, 19) Source(1, 19) + SourceIndex(0) +6 >Emitted(1, 22) Source(1, 22) + SourceIndex(0) +7 >Emitted(1, 24) Source(1, 24) + SourceIndex(0) +8 >Emitted(1, 25) Source(1, 25) + SourceIndex(0) +--- +>>>xx++; +1 > +2 >^^ +3 > ^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 >xx +3 > ++ +4 > ; +1 >Emitted(2, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(2, 3) Source(2, 3) + SourceIndex(0) +3 >Emitted(2, 5) Source(2, 5) + SourceIndex(0) +4 >Emitted(2, 6) Source(2, 6) + SourceIndex(0) +--- +>>>//# sourceMappingURL=identifierVariableWithEscape2.js.map=================================================================== +JsFile: identifierVariableWithExtendedEscape1.js +mapUrl: identifierVariableWithExtendedEscape1.js.map +sourceRoot: +sources: identifierVariableWithExtendedEscape1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/identifierVariableWithExtendedEscape1.js +sourceFile:identifierVariableWithExtendedEscape1.ts +------------------------------------------------------------------- +>>>export let \u{78} = 10; +1 > +2 >^^^^^^ +3 > ^ +4 > ^^^^ +5 > ^^^^^^ +6 > ^^^ +7 > ^^ +8 > ^ +1 > +2 >export +3 > +4 > let +5 > \u{78} +6 > = +7 > 10 +8 > ; +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 8) Source(1, 8) + SourceIndex(0) +4 >Emitted(1, 12) Source(1, 12) + SourceIndex(0) +5 >Emitted(1, 18) Source(1, 18) + SourceIndex(0) +6 >Emitted(1, 21) Source(1, 21) + SourceIndex(0) +7 >Emitted(1, 23) Source(1, 23) + SourceIndex(0) +8 >Emitted(1, 24) Source(1, 24) + SourceIndex(0) +--- +>>>x++; +1 > +2 >^ +3 > ^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 >x +3 > ++ +4 > ; +1 >Emitted(2, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(2, 2) Source(2, 2) + SourceIndex(0) +3 >Emitted(2, 4) Source(2, 4) + SourceIndex(0) +4 >Emitted(2, 5) Source(2, 5) + SourceIndex(0) +--- +>>>//# sourceMappingURL=identifierVariableWithExtendedEscape1.js.map=================================================================== +JsFile: identifierVariableWithExtendedEscape2.js +mapUrl: identifierVariableWithExtendedEscape2.js.map +sourceRoot: +sources: identifierVariableWithExtendedEscape2.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/identifierVariableWithExtendedEscape2.js +sourceFile:identifierVariableWithExtendedEscape2.ts +------------------------------------------------------------------- +>>>export let x\u{78} = 10; +1 > +2 >^^^^^^ +3 > ^ +4 > ^^^^ +5 > ^^^^^^^ +6 > ^^^ +7 > ^^ +8 > ^ +1 > +2 >export +3 > +4 > let +5 > x\u{78} +6 > = +7 > 10 +8 > ; +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 8) Source(1, 8) + SourceIndex(0) +4 >Emitted(1, 12) Source(1, 12) + SourceIndex(0) +5 >Emitted(1, 19) Source(1, 19) + SourceIndex(0) +6 >Emitted(1, 22) Source(1, 22) + SourceIndex(0) +7 >Emitted(1, 24) Source(1, 24) + SourceIndex(0) +8 >Emitted(1, 25) Source(1, 25) + SourceIndex(0) +--- +>>>xx++; +1 > +2 >^^ +3 > ^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 >xx +3 > ++ +4 > ; +1 >Emitted(2, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(2, 3) Source(2, 3) + SourceIndex(0) +3 >Emitted(2, 5) Source(2, 5) + SourceIndex(0) +4 >Emitted(2, 6) Source(2, 6) + SourceIndex(0) +--- +>>>//# sourceMappingURL=identifierVariableWithExtendedEscape2.js.map=================================================================== +JsFile: IdentifierNameWithEscape1.js +mapUrl: IdentifierNameWithEscape1.js.map +sourceRoot: +sources: IdentifierNameWithEscape1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/IdentifierNameWithEscape1.js +sourceFile:IdentifierNameWithEscape1.ts +------------------------------------------------------------------- +>>>export class IdentifierNameWithEscape1 { +1 > +2 >^^^^^^ +3 > ^^^^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > +2 >export +3 > class +4 > IdentifierNameWithEscape1 +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 14) Source(1, 14) + SourceIndex(0) +4 >Emitted(1, 39) Source(1, 39) + SourceIndex(0) +--- +>>> constructor() { +1 >^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^-> +1 > { + > \u0078: number; + > + > +1 >Emitted(2, 5) Source(4, 5) + SourceIndex(0) +--- +>>> this.\u0078 = 0; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^^^^^ +5 > ^^^ +6 > ^ +7 > ^ +1->constructor() { + > +2 > this +3 > . +4 > \u0078 +5 > = +6 > 0 +7 > ; +1->Emitted(3, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(3, 13) Source(5, 13) + SourceIndex(0) +3 >Emitted(3, 14) Source(5, 14) + SourceIndex(0) +4 >Emitted(3, 20) Source(5, 20) + SourceIndex(0) +5 >Emitted(3, 23) Source(5, 23) + SourceIndex(0) +6 >Emitted(3, 24) Source(5, 24) + SourceIndex(0) +7 >Emitted(3, 25) Source(5, 25) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(4, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(4, 6) Source(6, 6) + SourceIndex(0) +--- +>>> doThing() { +1->^^^^ +2 > ^^^^^^^ +3 > ^^^^^^^^^^-> +1-> + > + > +2 > doThing +1->Emitted(5, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(5, 12) Source(8, 12) + SourceIndex(0) +--- +>>> this.x = 42; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^ +5 > ^^^ +6 > ^^ +7 > ^ +1->() { + > +2 > this +3 > . +4 > x +5 > = +6 > 42 +7 > ; +1->Emitted(6, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(6, 13) Source(9, 13) + SourceIndex(0) +3 >Emitted(6, 14) Source(9, 14) + SourceIndex(0) +4 >Emitted(6, 15) Source(9, 15) + SourceIndex(0) +5 >Emitted(6, 18) Source(9, 18) + SourceIndex(0) +6 >Emitted(6, 20) Source(9, 20) + SourceIndex(0) +7 >Emitted(6, 21) Source(9, 21) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +1 > + > +2 > } +1 >Emitted(7, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(7, 6) Source(10, 6) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(8, 2) Source(11, 2) + SourceIndex(0) +--- +>>>//# sourceMappingURL=IdentifierNameWithEscape1.js.map=================================================================== +JsFile: IdentifierNameWithEscape2.js +mapUrl: IdentifierNameWithEscape2.js.map +sourceRoot: +sources: IdentifierNameWithEscape2.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/IdentifierNameWithEscape2.js +sourceFile:IdentifierNameWithEscape2.ts +------------------------------------------------------------------- +>>>export class IdentifierNameWithEscape2 { +1 > +2 >^^^^^^ +3 > ^^^^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > +2 >export +3 > class +4 > IdentifierNameWithEscape2 +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 14) Source(1, 14) + SourceIndex(0) +4 >Emitted(1, 39) Source(1, 39) + SourceIndex(0) +--- +>>> constructor() { +1 >^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^-> +1 > { + > x\u0078: number; + > + > +1 >Emitted(2, 5) Source(4, 5) + SourceIndex(0) +--- +>>> this.x\u0078 = 0; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^^^^^^ +5 > ^^^ +6 > ^ +7 > ^ +1->constructor() { + > +2 > this +3 > . +4 > x\u0078 +5 > = +6 > 0 +7 > ; +1->Emitted(3, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(3, 13) Source(5, 13) + SourceIndex(0) +3 >Emitted(3, 14) Source(5, 14) + SourceIndex(0) +4 >Emitted(3, 21) Source(5, 21) + SourceIndex(0) +5 >Emitted(3, 24) Source(5, 24) + SourceIndex(0) +6 >Emitted(3, 25) Source(5, 25) + SourceIndex(0) +7 >Emitted(3, 26) Source(5, 26) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(4, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(4, 6) Source(6, 6) + SourceIndex(0) +--- +>>> doThing() { +1->^^^^ +2 > ^^^^^^^ +3 > ^^^^^^^^^^^-> +1-> + > + > +2 > doThing +1->Emitted(5, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(5, 12) Source(8, 12) + SourceIndex(0) +--- +>>> this.xx = 42; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^ +5 > ^^^ +6 > ^^ +7 > ^ +1->() { + > +2 > this +3 > . +4 > xx +5 > = +6 > 42 +7 > ; +1->Emitted(6, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(6, 13) Source(9, 13) + SourceIndex(0) +3 >Emitted(6, 14) Source(9, 14) + SourceIndex(0) +4 >Emitted(6, 16) Source(9, 16) + SourceIndex(0) +5 >Emitted(6, 19) Source(9, 19) + SourceIndex(0) +6 >Emitted(6, 21) Source(9, 21) + SourceIndex(0) +7 >Emitted(6, 22) Source(9, 22) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +1 > + > +2 > } +1 >Emitted(7, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(7, 6) Source(10, 6) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(8, 2) Source(11, 2) + SourceIndex(0) +--- +>>>//# sourceMappingURL=IdentifierNameWithEscape2.js.map=================================================================== +JsFile: IdentifierNameWithExtendedEscape1.js +mapUrl: IdentifierNameWithExtendedEscape1.js.map +sourceRoot: +sources: IdentifierNameWithExtendedEscape1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/IdentifierNameWithExtendedEscape1.js +sourceFile:IdentifierNameWithExtendedEscape1.ts +------------------------------------------------------------------- +>>>export class IdentifierNameWithExtendedEscape1 { +1 > +2 >^^^^^^ +3 > ^^^^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > +2 >export +3 > class +4 > IdentifierNameWithExtendedEscape1 +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 14) Source(1, 14) + SourceIndex(0) +4 >Emitted(1, 47) Source(1, 47) + SourceIndex(0) +--- +>>> constructor() { +1 >^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^-> +1 > { + > \u{78}: number; + > + > +1 >Emitted(2, 5) Source(4, 5) + SourceIndex(0) +--- +>>> this.\u{78} = 0; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^^^^^ +5 > ^^^ +6 > ^ +7 > ^ +1->constructor() { + > +2 > this +3 > . +4 > \u{78} +5 > = +6 > 0 +7 > ; +1->Emitted(3, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(3, 13) Source(5, 13) + SourceIndex(0) +3 >Emitted(3, 14) Source(5, 14) + SourceIndex(0) +4 >Emitted(3, 20) Source(5, 20) + SourceIndex(0) +5 >Emitted(3, 23) Source(5, 23) + SourceIndex(0) +6 >Emitted(3, 24) Source(5, 24) + SourceIndex(0) +7 >Emitted(3, 25) Source(5, 25) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(4, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(4, 6) Source(6, 6) + SourceIndex(0) +--- +>>> doThing() { +1->^^^^ +2 > ^^^^^^^ +3 > ^^^^^^^^^^-> +1-> + > + > +2 > doThing +1->Emitted(5, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(5, 12) Source(8, 12) + SourceIndex(0) +--- +>>> this.x = 42; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^ +5 > ^^^ +6 > ^^ +7 > ^ +1->() { + > +2 > this +3 > . +4 > x +5 > = +6 > 42 +7 > ; +1->Emitted(6, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(6, 13) Source(9, 13) + SourceIndex(0) +3 >Emitted(6, 14) Source(9, 14) + SourceIndex(0) +4 >Emitted(6, 15) Source(9, 15) + SourceIndex(0) +5 >Emitted(6, 18) Source(9, 18) + SourceIndex(0) +6 >Emitted(6, 20) Source(9, 20) + SourceIndex(0) +7 >Emitted(6, 21) Source(9, 21) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +1 > + > +2 > } +1 >Emitted(7, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(7, 6) Source(10, 6) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(8, 2) Source(11, 2) + SourceIndex(0) +--- +>>>//# sourceMappingURL=IdentifierNameWithExtendedEscape1.js.map=================================================================== +JsFile: IdentifierNameWithExtendedEscape2.js +mapUrl: IdentifierNameWithExtendedEscape2.js.map +sourceRoot: +sources: IdentifierNameWithExtendedEscape2.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/IdentifierNameWithExtendedEscape2.js +sourceFile:IdentifierNameWithExtendedEscape2.ts +------------------------------------------------------------------- +>>>export class IdentifierNameWithExtendedEscape2 { +1 > +2 >^^^^^^ +3 > ^^^^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > +2 >export +3 > class +4 > IdentifierNameWithExtendedEscape2 +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 14) Source(1, 14) + SourceIndex(0) +4 >Emitted(1, 47) Source(1, 47) + SourceIndex(0) +--- +>>> constructor() { +1 >^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^-> +1 > { + > x\u{78}: number; + > + > +1 >Emitted(2, 5) Source(4, 5) + SourceIndex(0) +--- +>>> this.x\u{78} = 0; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^^^^^^ +5 > ^^^ +6 > ^ +7 > ^ +1->constructor() { + > +2 > this +3 > . +4 > x\u{78} +5 > = +6 > 0 +7 > ; +1->Emitted(3, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(3, 13) Source(5, 13) + SourceIndex(0) +3 >Emitted(3, 14) Source(5, 14) + SourceIndex(0) +4 >Emitted(3, 21) Source(5, 21) + SourceIndex(0) +5 >Emitted(3, 24) Source(5, 24) + SourceIndex(0) +6 >Emitted(3, 25) Source(5, 25) + SourceIndex(0) +7 >Emitted(3, 26) Source(5, 26) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(4, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(4, 6) Source(6, 6) + SourceIndex(0) +--- +>>> doThing() { +1->^^^^ +2 > ^^^^^^^ +3 > ^^^^^^^^^^^-> +1-> + > + > +2 > doThing +1->Emitted(5, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(5, 12) Source(8, 12) + SourceIndex(0) +--- +>>> this.xx = 42; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^ +5 > ^^^ +6 > ^^ +7 > ^ +1->() { + > +2 > this +3 > . +4 > xx +5 > = +6 > 42 +7 > ; +1->Emitted(6, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(6, 13) Source(9, 13) + SourceIndex(0) +3 >Emitted(6, 14) Source(9, 14) + SourceIndex(0) +4 >Emitted(6, 16) Source(9, 16) + SourceIndex(0) +5 >Emitted(6, 19) Source(9, 19) + SourceIndex(0) +6 >Emitted(6, 21) Source(9, 21) + SourceIndex(0) +7 >Emitted(6, 22) Source(9, 22) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +1 > + > +2 > } +1 >Emitted(7, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(7, 6) Source(10, 6) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(8, 2) Source(11, 2) + SourceIndex(0) +--- +>>>//# sourceMappingURL=IdentifierNameWithExtendedEscape2.js.map=================================================================== +JsFile: PrivateIdentifierNameWithEscape1.js +mapUrl: PrivateIdentifierNameWithEscape1.js.map +sourceRoot: +sources: PrivateIdentifierNameWithEscape1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/PrivateIdentifierNameWithEscape1.js +sourceFile:PrivateIdentifierNameWithEscape1.ts +------------------------------------------------------------------- +>>>var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { +>>> if (kind === "m") throw new TypeError("Private method is not writable"); +>>> if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); +>>> if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); +>>> return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; +>>>}; +>>>var _PrivateIdentifierWithEscape1_x; +>>>export class PrivateIdentifierWithEscape1 { +1 > +2 >^^^^^^ +3 > ^^^^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > +2 >export +3 > class +4 > PrivateIdentifierWithEscape1 +1 >Emitted(8, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(8, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(8, 14) Source(1, 14) + SourceIndex(0) +4 >Emitted(8, 42) Source(1, 42) + SourceIndex(0) +--- +>>> constructor() { +1 >^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > { + > #\u0078: number; + > + > +1 >Emitted(9, 5) Source(4, 5) + SourceIndex(0) +--- +>>> _PrivateIdentifierWithEscape1_x.set(this, void 0); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^-> +1-> +2 > #\u0078: number; +1->Emitted(10, 9) Source(2, 5) + SourceIndex(0) +2 >Emitted(10, 59) Source(2, 21) + SourceIndex(0) +--- +>>> __classPrivateFieldSet(this, _PrivateIdentifierWithEscape1_x, 0, "f"); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^ +6 > ^^^^^^ +7 > ^ +1-> + > + > constructor() { + > +2 > +3 > this +4 > .#\u0078 = +5 > 0 +6 > +7 > ; +1->Emitted(11, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(11, 32) Source(5, 9) + SourceIndex(0) +3 >Emitted(11, 36) Source(5, 13) + SourceIndex(0) +4 >Emitted(11, 71) Source(5, 24) + SourceIndex(0) +5 >Emitted(11, 72) Source(5, 25) + SourceIndex(0) +6 >Emitted(11, 78) Source(5, 25) + SourceIndex(0) +7 >Emitted(11, 79) Source(5, 26) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(12, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(12, 6) Source(6, 6) + SourceIndex(0) +--- +>>> doThing() { +1->^^^^ +2 > ^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1-> + > + > +2 > doThing +1->Emitted(13, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(13, 12) Source(8, 12) + SourceIndex(0) +--- +>>> __classPrivateFieldSet(this, _PrivateIdentifierWithEscape1_x, 42, "f"); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^ +7 > ^ +1->() { + > +2 > +3 > this +4 > .#x = +5 > 42 +6 > +7 > ; +1->Emitted(14, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(14, 32) Source(9, 9) + SourceIndex(0) +3 >Emitted(14, 36) Source(9, 13) + SourceIndex(0) +4 >Emitted(14, 71) Source(9, 19) + SourceIndex(0) +5 >Emitted(14, 73) Source(9, 21) + SourceIndex(0) +6 >Emitted(14, 79) Source(9, 21) + SourceIndex(0) +7 >Emitted(14, 80) Source(9, 22) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +1 > + > +2 > } +1 >Emitted(15, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(15, 6) Source(10, 6) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(16, 2) Source(11, 2) + SourceIndex(0) +--- +>>>_PrivateIdentifierWithEscape1_x = new WeakMap(); +>>>//# sourceMappingURL=PrivateIdentifierNameWithEscape1.js.map=================================================================== +JsFile: PrivateIdentifierNameWithEscape2.js +mapUrl: PrivateIdentifierNameWithEscape2.js.map +sourceRoot: +sources: PrivateIdentifierNameWithEscape2.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/PrivateIdentifierNameWithEscape2.js +sourceFile:PrivateIdentifierNameWithEscape2.ts +------------------------------------------------------------------- +>>>var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { +>>> if (kind === "m") throw new TypeError("Private method is not writable"); +>>> if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); +>>> if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); +>>> return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; +>>>}; +>>>var _PrivateIdentifierWithEscape2_xx; +>>>export class PrivateIdentifierWithEscape2 { +1 > +2 >^^^^^^ +3 > ^^^^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > +2 >export +3 > class +4 > PrivateIdentifierWithEscape2 +1 >Emitted(8, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(8, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(8, 14) Source(1, 14) + SourceIndex(0) +4 >Emitted(8, 42) Source(1, 42) + SourceIndex(0) +--- +>>> constructor() { +1 >^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > { + > #x\u0078: number; + > + > +1 >Emitted(9, 5) Source(4, 5) + SourceIndex(0) +--- +>>> _PrivateIdentifierWithEscape2_xx.set(this, void 0); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^-> +1-> +2 > #x\u0078: number; +1->Emitted(10, 9) Source(2, 5) + SourceIndex(0) +2 >Emitted(10, 60) Source(2, 22) + SourceIndex(0) +--- +>>> __classPrivateFieldSet(this, _PrivateIdentifierWithEscape2_xx, 0, "f"); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^ +6 > ^^^^^^ +7 > ^ +1-> + > + > constructor() { + > +2 > +3 > this +4 > .#x\u0078 = +5 > 0 +6 > +7 > ; +1->Emitted(11, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(11, 32) Source(5, 9) + SourceIndex(0) +3 >Emitted(11, 36) Source(5, 13) + SourceIndex(0) +4 >Emitted(11, 72) Source(5, 25) + SourceIndex(0) +5 >Emitted(11, 73) Source(5, 26) + SourceIndex(0) +6 >Emitted(11, 79) Source(5, 26) + SourceIndex(0) +7 >Emitted(11, 80) Source(5, 27) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(12, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(12, 6) Source(6, 6) + SourceIndex(0) +--- +>>> doThing() { +1->^^^^ +2 > ^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1-> + > + > +2 > doThing +1->Emitted(13, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(13, 12) Source(8, 12) + SourceIndex(0) +--- +>>> __classPrivateFieldSet(this, _PrivateIdentifierWithEscape2_xx, 42, "f"); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^ +7 > ^ +1->() { + > +2 > +3 > this +4 > .#xx = +5 > 42 +6 > +7 > ; +1->Emitted(14, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(14, 32) Source(9, 9) + SourceIndex(0) +3 >Emitted(14, 36) Source(9, 13) + SourceIndex(0) +4 >Emitted(14, 72) Source(9, 20) + SourceIndex(0) +5 >Emitted(14, 74) Source(9, 22) + SourceIndex(0) +6 >Emitted(14, 80) Source(9, 22) + SourceIndex(0) +7 >Emitted(14, 81) Source(9, 23) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +1 > + > +2 > } +1 >Emitted(15, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(15, 6) Source(10, 6) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(16, 2) Source(11, 2) + SourceIndex(0) +--- +>>>_PrivateIdentifierWithEscape2_xx = new WeakMap(); +>>>//# sourceMappingURL=PrivateIdentifierNameWithEscape2.js.map=================================================================== +JsFile: PrivateIdentifierNameWithExtendedEscape1.js +mapUrl: PrivateIdentifierNameWithExtendedEscape1.js.map +sourceRoot: +sources: PrivateIdentifierNameWithExtendedEscape1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape1.js +sourceFile:PrivateIdentifierNameWithExtendedEscape1.ts +------------------------------------------------------------------- +>>>var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { +>>> if (kind === "m") throw new TypeError("Private method is not writable"); +>>> if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); +>>> if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); +>>> return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; +>>>}; +>>>var _PrivateIdentifierWithExtendedEscape1_x; +>>>export class PrivateIdentifierWithExtendedEscape1 { +1 > +2 >^^^^^^ +3 > ^^^^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > +2 >export +3 > class +4 > PrivateIdentifierWithExtendedEscape1 +1 >Emitted(8, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(8, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(8, 14) Source(1, 14) + SourceIndex(0) +4 >Emitted(8, 50) Source(1, 50) + SourceIndex(0) +--- +>>> constructor() { +1 >^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > { + > #\u{78}: number; + > + > +1 >Emitted(9, 5) Source(4, 5) + SourceIndex(0) +--- +>>> _PrivateIdentifierWithExtendedEscape1_x.set(this, void 0); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^-> +1-> +2 > #\u{78}: number; +1->Emitted(10, 9) Source(2, 5) + SourceIndex(0) +2 >Emitted(10, 67) Source(2, 21) + SourceIndex(0) +--- +>>> __classPrivateFieldSet(this, _PrivateIdentifierWithExtendedEscape1_x, 0, "f"); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^ +6 > ^^^^^^ +7 > ^ +1-> + > + > constructor() { + > +2 > +3 > this +4 > .#\u{78} = +5 > 0 +6 > +7 > ; +1->Emitted(11, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(11, 32) Source(5, 9) + SourceIndex(0) +3 >Emitted(11, 36) Source(5, 13) + SourceIndex(0) +4 >Emitted(11, 79) Source(5, 24) + SourceIndex(0) +5 >Emitted(11, 80) Source(5, 25) + SourceIndex(0) +6 >Emitted(11, 86) Source(5, 25) + SourceIndex(0) +7 >Emitted(11, 87) Source(5, 26) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(12, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(12, 6) Source(6, 6) + SourceIndex(0) +--- +>>> doThing() { +1->^^^^ +2 > ^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1-> + > + > +2 > doThing +1->Emitted(13, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(13, 12) Source(8, 12) + SourceIndex(0) +--- +>>> __classPrivateFieldSet(this, _PrivateIdentifierWithExtendedEscape1_x, 42, "f"); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^ +7 > ^ +1->() { + > +2 > +3 > this +4 > .#x = +5 > 42 +6 > +7 > ; +1->Emitted(14, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(14, 32) Source(9, 9) + SourceIndex(0) +3 >Emitted(14, 36) Source(9, 13) + SourceIndex(0) +4 >Emitted(14, 79) Source(9, 19) + SourceIndex(0) +5 >Emitted(14, 81) Source(9, 21) + SourceIndex(0) +6 >Emitted(14, 87) Source(9, 21) + SourceIndex(0) +7 >Emitted(14, 88) Source(9, 22) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +1 > + > +2 > } +1 >Emitted(15, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(15, 6) Source(10, 6) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(16, 2) Source(11, 2) + SourceIndex(0) +--- +>>>_PrivateIdentifierWithExtendedEscape1_x = new WeakMap(); +>>>//# sourceMappingURL=PrivateIdentifierNameWithExtendedEscape1.js.map=================================================================== +JsFile: PrivateIdentifierNameWithExtendedEscape2.js +mapUrl: PrivateIdentifierNameWithExtendedEscape2.js.map +sourceRoot: +sources: PrivateIdentifierNameWithExtendedEscape2.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape2.js +sourceFile:PrivateIdentifierNameWithExtendedEscape2.ts +------------------------------------------------------------------- +>>>var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { +>>> if (kind === "m") throw new TypeError("Private method is not writable"); +>>> if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); +>>> if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); +>>> return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; +>>>}; +>>>var _PrivateIdentifierWithExtendedEscape2_xx; +>>>export class PrivateIdentifierWithExtendedEscape2 { +1 > +2 >^^^^^^ +3 > ^^^^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > +2 >export +3 > class +4 > PrivateIdentifierWithExtendedEscape2 +1 >Emitted(8, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(8, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(8, 14) Source(1, 14) + SourceIndex(0) +4 >Emitted(8, 50) Source(1, 50) + SourceIndex(0) +--- +>>> constructor() { +1 >^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > { + > #x\u{78}: number; + > + > +1 >Emitted(9, 5) Source(4, 5) + SourceIndex(0) +--- +>>> _PrivateIdentifierWithExtendedEscape2_xx.set(this, void 0); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^-> +1-> +2 > #x\u{78}: number; +1->Emitted(10, 9) Source(2, 5) + SourceIndex(0) +2 >Emitted(10, 68) Source(2, 22) + SourceIndex(0) +--- +>>> __classPrivateFieldSet(this, _PrivateIdentifierWithExtendedEscape2_xx, 0, "f"); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^ +6 > ^^^^^^ +7 > ^ +1-> + > + > constructor() { + > +2 > +3 > this +4 > .#x\u{78} = +5 > 0 +6 > +7 > ; +1->Emitted(11, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(11, 32) Source(5, 9) + SourceIndex(0) +3 >Emitted(11, 36) Source(5, 13) + SourceIndex(0) +4 >Emitted(11, 80) Source(5, 25) + SourceIndex(0) +5 >Emitted(11, 81) Source(5, 26) + SourceIndex(0) +6 >Emitted(11, 87) Source(5, 26) + SourceIndex(0) +7 >Emitted(11, 88) Source(5, 27) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(12, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(12, 6) Source(6, 6) + SourceIndex(0) +--- +>>> doThing() { +1->^^^^ +2 > ^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1-> + > + > +2 > doThing +1->Emitted(13, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(13, 12) Source(8, 12) + SourceIndex(0) +--- +>>> __classPrivateFieldSet(this, _PrivateIdentifierWithExtendedEscape2_xx, 42, "f"); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^ +7 > ^ +1->() { + > +2 > +3 > this +4 > .#xx = +5 > 42 +6 > +7 > ; +1->Emitted(14, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(14, 32) Source(9, 9) + SourceIndex(0) +3 >Emitted(14, 36) Source(9, 13) + SourceIndex(0) +4 >Emitted(14, 80) Source(9, 20) + SourceIndex(0) +5 >Emitted(14, 82) Source(9, 22) + SourceIndex(0) +6 >Emitted(14, 88) Source(9, 22) + SourceIndex(0) +7 >Emitted(14, 89) Source(9, 23) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +1 > + > +2 > } +1 >Emitted(15, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(15, 6) Source(10, 6) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(16, 2) Source(11, 2) + SourceIndex(0) +--- +>>>_PrivateIdentifierWithExtendedEscape2_xx = new WeakMap(); +>>>//# sourceMappingURL=PrivateIdentifierNameWithExtendedEscape2.js.map \ No newline at end of file diff --git a/tests/baselines/reference/privateNamesEscapeSequences01(target=es2015).symbols b/tests/baselines/reference/unicodeEscapesInNames01(target=es2015).symbols similarity index 82% rename from tests/baselines/reference/privateNamesEscapeSequences01(target=es2015).symbols rename to tests/baselines/reference/unicodeEscapesInNames01(target=es2015).symbols index f13f8831abc27..4e1bfd61551ce 100644 --- a/tests/baselines/reference/privateNamesEscapeSequences01(target=es2015).symbols +++ b/tests/baselines/reference/unicodeEscapesInNames01(target=es2015).symbols @@ -1,4 +1,32 @@ -=== tests/cases/conformance/classes/members/privateNames/IdentifierNameWithEscape1.ts === +=== tests/cases/compiler/identifierVariableWithEscape1.ts === +export let \u0078 = 10; +>\u0078 : Symbol(\u0078, Decl(identifierVariableWithEscape1.ts, 0, 10)) + +x++; +>x : Symbol(\u0078, Decl(identifierVariableWithEscape1.ts, 0, 10)) + +=== tests/cases/compiler/identifierVariableWithEscape2.ts === +export let x\u0078 = 10; +>x\u0078 : Symbol(x\u0078, Decl(identifierVariableWithEscape2.ts, 0, 10)) + +xx++; +>xx : Symbol(x\u0078, Decl(identifierVariableWithEscape2.ts, 0, 10)) + +=== tests/cases/compiler/identifierVariableWithExtendedEscape1.ts === +export let \u{78} = 10; +>\u{78} : Symbol(\u{78}, Decl(identifierVariableWithExtendedEscape1.ts, 0, 10)) + +x++; +>x : Symbol(\u{78}, Decl(identifierVariableWithExtendedEscape1.ts, 0, 10)) + +=== tests/cases/compiler/identifierVariableWithExtendedEscape2.ts === +export let x\u{78} = 10; +>x\u{78} : Symbol(x\u{78}, Decl(identifierVariableWithExtendedEscape2.ts, 0, 10)) + +xx++; +>xx : Symbol(x\u{78}, Decl(identifierVariableWithExtendedEscape2.ts, 0, 10)) + +=== tests/cases/compiler/IdentifierNameWithEscape1.ts === export class IdentifierNameWithEscape1 { >IdentifierNameWithEscape1 : Symbol(IdentifierNameWithEscape1, Decl(IdentifierNameWithEscape1.ts, 0, 0)) @@ -22,7 +50,7 @@ export class IdentifierNameWithEscape1 { } } -=== tests/cases/conformance/classes/members/privateNames/IdentifierNameWithEscape2.ts === +=== tests/cases/compiler/IdentifierNameWithEscape2.ts === export class IdentifierNameWithEscape2 { >IdentifierNameWithEscape2 : Symbol(IdentifierNameWithEscape2, Decl(IdentifierNameWithEscape2.ts, 0, 0)) @@ -46,7 +74,7 @@ export class IdentifierNameWithEscape2 { } } -=== tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts === +=== tests/cases/compiler/IdentifierNameWithExtendedEscape1.ts === export class IdentifierNameWithExtendedEscape1 { >IdentifierNameWithExtendedEscape1 : Symbol(IdentifierNameWithExtendedEscape1, Decl(IdentifierNameWithExtendedEscape1.ts, 0, 0)) @@ -70,7 +98,7 @@ export class IdentifierNameWithExtendedEscape1 { } } -=== tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts === +=== tests/cases/compiler/IdentifierNameWithExtendedEscape2.ts === export class IdentifierNameWithExtendedEscape2 { >IdentifierNameWithExtendedEscape2 : Symbol(IdentifierNameWithExtendedEscape2, Decl(IdentifierNameWithExtendedEscape2.ts, 0, 0)) @@ -94,7 +122,7 @@ export class IdentifierNameWithExtendedEscape2 { } } -=== tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithEscape1.ts === +=== tests/cases/compiler/PrivateIdentifierNameWithEscape1.ts === export class PrivateIdentifierWithEscape1 { >PrivateIdentifierWithEscape1 : Symbol(PrivateIdentifierWithEscape1, Decl(PrivateIdentifierNameWithEscape1.ts, 0, 0)) @@ -116,7 +144,7 @@ export class PrivateIdentifierWithEscape1 { } } -=== tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithEscape2.ts === +=== tests/cases/compiler/PrivateIdentifierNameWithEscape2.ts === export class PrivateIdentifierWithEscape2 { >PrivateIdentifierWithEscape2 : Symbol(PrivateIdentifierWithEscape2, Decl(PrivateIdentifierNameWithEscape2.ts, 0, 0)) @@ -138,7 +166,7 @@ export class PrivateIdentifierWithEscape2 { } } -=== tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts === +=== tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape1.ts === export class PrivateIdentifierWithExtendedEscape1 { >PrivateIdentifierWithExtendedEscape1 : Symbol(PrivateIdentifierWithExtendedEscape1, Decl(PrivateIdentifierNameWithExtendedEscape1.ts, 0, 0)) @@ -160,7 +188,7 @@ export class PrivateIdentifierWithExtendedEscape1 { } } -=== tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts === +=== tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape2.ts === export class PrivateIdentifierWithExtendedEscape2 { >PrivateIdentifierWithExtendedEscape2 : Symbol(PrivateIdentifierWithExtendedEscape2, Decl(PrivateIdentifierNameWithExtendedEscape2.ts, 0, 0)) diff --git a/tests/baselines/reference/privateNamesEscapeSequences01(target=es2015).types b/tests/baselines/reference/unicodeEscapesInNames01(target=es2015).types similarity index 70% rename from tests/baselines/reference/privateNamesEscapeSequences01(target=es2015).types rename to tests/baselines/reference/unicodeEscapesInNames01(target=es2015).types index ca0ef82588993..838f197b691be 100644 --- a/tests/baselines/reference/privateNamesEscapeSequences01(target=es2015).types +++ b/tests/baselines/reference/unicodeEscapesInNames01(target=es2015).types @@ -1,4 +1,40 @@ -=== tests/cases/conformance/classes/members/privateNames/IdentifierNameWithEscape1.ts === +=== tests/cases/compiler/identifierVariableWithEscape1.ts === +export let \u0078 = 10; +>\u0078 : number +>10 : 10 + +x++; +>x++ : number +>x : number + +=== tests/cases/compiler/identifierVariableWithEscape2.ts === +export let x\u0078 = 10; +>x\u0078 : number +>10 : 10 + +xx++; +>xx++ : number +>xx : number + +=== tests/cases/compiler/identifierVariableWithExtendedEscape1.ts === +export let \u{78} = 10; +>\u{78} : number +>10 : 10 + +x++; +>x++ : number +>x : number + +=== tests/cases/compiler/identifierVariableWithExtendedEscape2.ts === +export let x\u{78} = 10; +>x\u{78} : number +>10 : 10 + +xx++; +>xx++ : number +>xx : number + +=== tests/cases/compiler/IdentifierNameWithEscape1.ts === export class IdentifierNameWithEscape1 { >IdentifierNameWithEscape1 : IdentifierNameWithEscape1 @@ -26,7 +62,7 @@ export class IdentifierNameWithEscape1 { } } -=== tests/cases/conformance/classes/members/privateNames/IdentifierNameWithEscape2.ts === +=== tests/cases/compiler/IdentifierNameWithEscape2.ts === export class IdentifierNameWithEscape2 { >IdentifierNameWithEscape2 : IdentifierNameWithEscape2 @@ -54,7 +90,7 @@ export class IdentifierNameWithEscape2 { } } -=== tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts === +=== tests/cases/compiler/IdentifierNameWithExtendedEscape1.ts === export class IdentifierNameWithExtendedEscape1 { >IdentifierNameWithExtendedEscape1 : IdentifierNameWithExtendedEscape1 @@ -82,7 +118,7 @@ export class IdentifierNameWithExtendedEscape1 { } } -=== tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts === +=== tests/cases/compiler/IdentifierNameWithExtendedEscape2.ts === export class IdentifierNameWithExtendedEscape2 { >IdentifierNameWithExtendedEscape2 : IdentifierNameWithExtendedEscape2 @@ -110,7 +146,7 @@ export class IdentifierNameWithExtendedEscape2 { } } -=== tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithEscape1.ts === +=== tests/cases/compiler/PrivateIdentifierNameWithEscape1.ts === export class PrivateIdentifierWithEscape1 { >PrivateIdentifierWithEscape1 : PrivateIdentifierWithEscape1 @@ -136,7 +172,7 @@ export class PrivateIdentifierWithEscape1 { } } -=== tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithEscape2.ts === +=== tests/cases/compiler/PrivateIdentifierNameWithEscape2.ts === export class PrivateIdentifierWithEscape2 { >PrivateIdentifierWithEscape2 : PrivateIdentifierWithEscape2 @@ -162,7 +198,7 @@ export class PrivateIdentifierWithEscape2 { } } -=== tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts === +=== tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape1.ts === export class PrivateIdentifierWithExtendedEscape1 { >PrivateIdentifierWithExtendedEscape1 : PrivateIdentifierWithExtendedEscape1 @@ -188,7 +224,7 @@ export class PrivateIdentifierWithExtendedEscape1 { } } -=== tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts === +=== tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape2.ts === export class PrivateIdentifierWithExtendedEscape2 { >PrivateIdentifierWithExtendedEscape2 : PrivateIdentifierWithExtendedEscape2 diff --git a/tests/baselines/reference/unicodeEscapesInNames01(target=es5).errors.txt b/tests/baselines/reference/unicodeEscapesInNames01(target=es5).errors.txt new file mode 100644 index 0000000000000..eb403fbcb9771 --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames01(target=es5).errors.txt @@ -0,0 +1,134 @@ +tests/cases/compiler/PrivateIdentifierNameWithEscape1.ts(2,5): error TS18028: Private identifiers are only available when targeting ECMAScript 2015 and higher. +tests/cases/compiler/PrivateIdentifierNameWithEscape2.ts(2,5): error TS18028: Private identifiers are only available when targeting ECMAScript 2015 and higher. +tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape1.ts(2,5): error TS18028: Private identifiers are only available when targeting ECMAScript 2015 and higher. +tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape2.ts(2,5): error TS18028: Private identifiers are only available when targeting ECMAScript 2015 and higher. + + +==== tests/cases/compiler/identifierVariableWithEscape1.ts (0 errors) ==== + export let \u0078 = 10; + x++; + +==== tests/cases/compiler/identifierVariableWithEscape2.ts (0 errors) ==== + export let x\u0078 = 10; + xx++; + +==== tests/cases/compiler/identifierVariableWithExtendedEscape1.ts (0 errors) ==== + export let \u{78} = 10; + x++; + +==== tests/cases/compiler/identifierVariableWithExtendedEscape2.ts (0 errors) ==== + export let x\u{78} = 10; + xx++; + +==== tests/cases/compiler/IdentifierNameWithEscape1.ts (0 errors) ==== + export class IdentifierNameWithEscape1 { + \u0078: number; + + constructor() { + this.\u0078 = 0; + } + + doThing() { + this.x = 42; + } + } + +==== tests/cases/compiler/IdentifierNameWithEscape2.ts (0 errors) ==== + export class IdentifierNameWithEscape2 { + x\u0078: number; + + constructor() { + this.x\u0078 = 0; + } + + doThing() { + this.xx = 42; + } + } + +==== tests/cases/compiler/IdentifierNameWithExtendedEscape1.ts (0 errors) ==== + export class IdentifierNameWithExtendedEscape1 { + \u{78}: number; + + constructor() { + this.\u{78} = 0; + } + + doThing() { + this.x = 42; + } + } + +==== tests/cases/compiler/IdentifierNameWithExtendedEscape2.ts (0 errors) ==== + export class IdentifierNameWithExtendedEscape2 { + x\u{78}: number; + + constructor() { + this.x\u{78} = 0; + } + + doThing() { + this.xx = 42; + } + } + +==== tests/cases/compiler/PrivateIdentifierNameWithEscape1.ts (1 errors) ==== + export class PrivateIdentifierWithEscape1 { + #\u0078: number; + ~~~~~~~ +!!! error TS18028: Private identifiers are only available when targeting ECMAScript 2015 and higher. + + constructor() { + this.#\u0078 = 0; + } + + doThing() { + this.#x = 42; + } + } + +==== tests/cases/compiler/PrivateIdentifierNameWithEscape2.ts (1 errors) ==== + export class PrivateIdentifierWithEscape2 { + #x\u0078: number; + ~~~~~~~~ +!!! error TS18028: Private identifiers are only available when targeting ECMAScript 2015 and higher. + + constructor() { + this.#x\u0078 = 0; + } + + doThing() { + this.#xx = 42; + } + } + +==== tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape1.ts (1 errors) ==== + export class PrivateIdentifierWithExtendedEscape1 { + #\u{78}: number; + ~~~~~~~ +!!! error TS18028: Private identifiers are only available when targeting ECMAScript 2015 and higher. + + constructor() { + this.#\u{78} = 0; + } + + doThing() { + this.#x = 42; + } + } + +==== tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape2.ts (1 errors) ==== + export class PrivateIdentifierWithExtendedEscape2 { + #x\u{78}: number; + ~~~~~~~~ +!!! error TS18028: Private identifiers are only available when targeting ECMAScript 2015 and higher. + + constructor() { + this.#x\u{78} = 0; + } + + doThing() { + this.#xx = 42; + } + } + \ No newline at end of file diff --git a/tests/baselines/reference/privateNamesEscapeSequences01(target=es5).js b/tests/baselines/reference/unicodeEscapesInNames01(target=es5).js similarity index 62% rename from tests/baselines/reference/privateNamesEscapeSequences01(target=es5).js rename to tests/baselines/reference/unicodeEscapesInNames01(target=es5).js index fc9d1eb7771c2..07525c9b3a1cc 100644 --- a/tests/baselines/reference/privateNamesEscapeSequences01(target=es5).js +++ b/tests/baselines/reference/unicodeEscapesInNames01(target=es5).js @@ -1,4 +1,20 @@ -//// [tests/cases/conformance/classes/members/privateNames/privateNamesEscapeSequences01.ts] //// +//// [tests/cases/compiler/unicodeEscapesInNames01.ts] //// + +//// [identifierVariableWithEscape1.ts] +export let \u0078 = 10; +x++; + +//// [identifierVariableWithEscape2.ts] +export let x\u0078 = 10; +xx++; + +//// [identifierVariableWithExtendedEscape1.ts] +export let \u{78} = 10; +x++; + +//// [identifierVariableWithExtendedEscape2.ts] +export let x\u{78} = 10; +xx++; //// [IdentifierNameWithEscape1.ts] export class IdentifierNameWithEscape1 { @@ -105,6 +121,34 @@ export class PrivateIdentifierWithExtendedEscape2 { } +//// [identifierVariableWithEscape1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +exports.\u0078 = 10; +exports.x++; +//# sourceMappingURL=identifierVariableWithEscape1.js.map +//// [identifierVariableWithEscape2.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.xx = void 0; +exports.x\u0078 = 10; +exports.xx++; +//# sourceMappingURL=identifierVariableWithEscape2.js.map +//// [identifierVariableWithExtendedEscape1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +exports.x = 10; +exports.x++; +//# sourceMappingURL=identifierVariableWithExtendedEscape1.js.map +//// [identifierVariableWithExtendedEscape2.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.xx = void 0; +exports.xx = 10; +exports.xx++; +//# sourceMappingURL=identifierVariableWithExtendedEscape2.js.map //// [IdentifierNameWithEscape1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -119,6 +163,7 @@ var IdentifierNameWithEscape1 = /** @class */ (function () { return IdentifierNameWithEscape1; }()); exports.IdentifierNameWithEscape1 = IdentifierNameWithEscape1; +//# sourceMappingURL=IdentifierNameWithEscape1.js.map //// [IdentifierNameWithEscape2.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -133,60 +178,37 @@ var IdentifierNameWithEscape2 = /** @class */ (function () { return IdentifierNameWithEscape2; }()); exports.IdentifierNameWithEscape2 = IdentifierNameWithEscape2; +//# sourceMappingURL=IdentifierNameWithEscape2.js.map //// [IdentifierNameWithExtendedEscape1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IdentifierNameWithExtendedEscape1 = void 0; var IdentifierNameWithExtendedEscape1 = /** @class */ (function () { function IdentifierNameWithExtendedEscape1() { + this.x = 0; } + IdentifierNameWithExtendedEscape1.prototype.doThing = function () { + this.x = 42; + }; return IdentifierNameWithExtendedEscape1; }()); exports.IdentifierNameWithExtendedEscape1 = IdentifierNameWithExtendedEscape1; -{ - 78; -} -number; -constructor(); -{ - this.; - u; - { - 78; - } - 0; -} -doThing(); -{ - this.x = 42; -} +//# sourceMappingURL=IdentifierNameWithExtendedEscape1.js.map //// [IdentifierNameWithExtendedEscape2.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IdentifierNameWithExtendedEscape2 = void 0; var IdentifierNameWithExtendedEscape2 = /** @class */ (function () { function IdentifierNameWithExtendedEscape2() { + this.xx = 0; } + IdentifierNameWithExtendedEscape2.prototype.doThing = function () { + this.xx = 42; + }; return IdentifierNameWithExtendedEscape2; }()); exports.IdentifierNameWithExtendedEscape2 = IdentifierNameWithExtendedEscape2; -{ - 78; -} -number; -constructor(); -{ - this.x; - u; - { - 78; - } - 0; -} -doThing(); -{ - this.xx = 42; -} +//# sourceMappingURL=IdentifierNameWithExtendedEscape2.js.map //// [PrivateIdentifierNameWithEscape1.js] "use strict"; var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { @@ -210,6 +232,7 @@ var PrivateIdentifierWithEscape1 = /** @class */ (function () { }()); exports.PrivateIdentifierWithEscape1 = PrivateIdentifierWithEscape1; _PrivateIdentifierWithEscape1_x = new WeakMap(); +//# sourceMappingURL=PrivateIdentifierNameWithEscape1.js.map //// [PrivateIdentifierNameWithEscape2.js] "use strict"; var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { @@ -233,63 +256,52 @@ var PrivateIdentifierWithEscape2 = /** @class */ (function () { }()); exports.PrivateIdentifierWithEscape2 = PrivateIdentifierWithEscape2; _PrivateIdentifierWithEscape2_xx = new WeakMap(); +//# sourceMappingURL=PrivateIdentifierNameWithEscape2.js.map //// [PrivateIdentifierNameWithExtendedEscape1.js] "use strict"; -var _PrivateIdentifierWithExtendedEscape1_; +var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; +}; +var _PrivateIdentifierWithExtendedEscape1_x; Object.defineProperty(exports, "__esModule", { value: true }); exports.PrivateIdentifierWithExtendedEscape1 = void 0; var PrivateIdentifierWithExtendedEscape1 = /** @class */ (function () { function PrivateIdentifierWithExtendedEscape1() { - _PrivateIdentifierWithExtendedEscape1_.set(this, void 0); + _PrivateIdentifierWithExtendedEscape1_x.set(this, void 0); + __classPrivateFieldSet(this, _PrivateIdentifierWithExtendedEscape1_x, 0, "f"); } + PrivateIdentifierWithExtendedEscape1.prototype.doThing = function () { + __classPrivateFieldSet(this, _PrivateIdentifierWithExtendedEscape1_x, 42, "f"); + }; return PrivateIdentifierWithExtendedEscape1; }()); exports.PrivateIdentifierWithExtendedEscape1 = PrivateIdentifierWithExtendedEscape1; -_PrivateIdentifierWithExtendedEscape1_ = new WeakMap(); -{ - 78; -} -number; -constructor(); -{ - this.; - u; - { - 78; - } - 0; -} -doThing(); -{ - this. = 42; -} +_PrivateIdentifierWithExtendedEscape1_x = new WeakMap(); +//# sourceMappingURL=PrivateIdentifierNameWithExtendedEscape1.js.map //// [PrivateIdentifierNameWithExtendedEscape2.js] "use strict"; -var _PrivateIdentifierWithExtendedEscape2_x; +var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; +}; +var _PrivateIdentifierWithExtendedEscape2_xx; Object.defineProperty(exports, "__esModule", { value: true }); exports.PrivateIdentifierWithExtendedEscape2 = void 0; var PrivateIdentifierWithExtendedEscape2 = /** @class */ (function () { function PrivateIdentifierWithExtendedEscape2() { - _PrivateIdentifierWithExtendedEscape2_x.set(this, void 0); + _PrivateIdentifierWithExtendedEscape2_xx.set(this, void 0); + __classPrivateFieldSet(this, _PrivateIdentifierWithExtendedEscape2_xx, 0, "f"); } + PrivateIdentifierWithExtendedEscape2.prototype.doThing = function () { + __classPrivateFieldSet(this, _PrivateIdentifierWithExtendedEscape2_xx, 42, "f"); + }; return PrivateIdentifierWithExtendedEscape2; }()); exports.PrivateIdentifierWithExtendedEscape2 = PrivateIdentifierWithExtendedEscape2; -_PrivateIdentifierWithExtendedEscape2_x = new WeakMap(); -{ - 78; -} -number; -constructor(); -{ - this.; - u; - { - 78; - } - 0; -} -doThing(); -{ - this. = 42; -} +_PrivateIdentifierWithExtendedEscape2_xx = new WeakMap(); +//# sourceMappingURL=PrivateIdentifierNameWithExtendedEscape2.js.map \ No newline at end of file diff --git a/tests/baselines/reference/unicodeEscapesInNames01(target=es5).js.map b/tests/baselines/reference/unicodeEscapesInNames01(target=es5).js.map new file mode 100644 index 0000000000000..385d8d704d29d --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames01(target=es5).js.map @@ -0,0 +1,47 @@ +//// [identifierVariableWithEscape1.js.map] +{"version":3,"file":"identifierVariableWithEscape1.js","sourceRoot":"","sources":["identifierVariableWithEscape1.ts"],"names":[],"mappings":";;;AAAW,QAAA,MAAM,GAAG,EAAE,CAAC;AACvB,SAAC,EAAE,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,InVzZSBzdHJpY3QiOw0KT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgeyB2YWx1ZTogdHJ1ZSB9KTsNCmV4cG9ydHMueCA9IHZvaWQgMDsNCmV4cG9ydHMuXHUwMDc4ID0gMTA7DQpleHBvcnRzLngrKzsNCi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlkZW50aWZpZXJWYXJpYWJsZVdpdGhFc2NhcGUxLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpZmllclZhcmlhYmxlV2l0aEVzY2FwZTEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpZGVudGlmaWVyVmFyaWFibGVXaXRoRXNjYXBlMS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBVyxRQUFBLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFDdkIsU0FBQyxFQUFFLENBQUMifQ==,ZXhwb3J0IGxldCBcdTAwNzggPSAxMDsKeCsrOwo= + +//// [identifierVariableWithEscape2.js.map] +{"version":3,"file":"identifierVariableWithEscape2.js","sourceRoot":"","sources":["identifierVariableWithEscape2.ts"],"names":[],"mappings":";;;AAAW,QAAA,OAAO,GAAG,EAAE,CAAC;AACxB,UAAE,EAAE,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,InVzZSBzdHJpY3QiOw0KT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgeyB2YWx1ZTogdHJ1ZSB9KTsNCmV4cG9ydHMueHggPSB2b2lkIDA7DQpleHBvcnRzLnhcdTAwNzggPSAxMDsNCmV4cG9ydHMueHgrKzsNCi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlkZW50aWZpZXJWYXJpYWJsZVdpdGhFc2NhcGUyLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpZmllclZhcmlhYmxlV2l0aEVzY2FwZTIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpZGVudGlmaWVyVmFyaWFibGVXaXRoRXNjYXBlMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBVyxRQUFBLE9BQU8sR0FBRyxFQUFFLENBQUM7QUFDeEIsVUFBRSxFQUFFLENBQUMifQ==,ZXhwb3J0IGxldCB4XHUwMDc4ID0gMTA7Cnh4Kys7Cg== + +//// [identifierVariableWithExtendedEscape1.js.map] +{"version":3,"file":"identifierVariableWithExtendedEscape1.js","sourceRoot":"","sources":["identifierVariableWithExtendedEscape1.ts"],"names":[],"mappings":";;;AAAW,QAAA,CAAM,GAAG,EAAE,CAAC;AACvB,SAAC,EAAE,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,InVzZSBzdHJpY3QiOw0KT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgeyB2YWx1ZTogdHJ1ZSB9KTsNCmV4cG9ydHMueCA9IHZvaWQgMDsNCmV4cG9ydHMueCA9IDEwOw0KZXhwb3J0cy54Kys7DQovLyMgc291cmNlTWFwcGluZ1VSTD1pZGVudGlmaWVyVmFyaWFibGVXaXRoRXh0ZW5kZWRFc2NhcGUxLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpZmllclZhcmlhYmxlV2l0aEV4dGVuZGVkRXNjYXBlMS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlkZW50aWZpZXJWYXJpYWJsZVdpdGhFeHRlbmRlZEVzY2FwZTEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQVcsUUFBQSxDQUFNLEdBQUcsRUFBRSxDQUFDO0FBQ3ZCLFNBQUMsRUFBRSxDQUFDIn0=,ZXhwb3J0IGxldCBcdXs3OH0gPSAxMDsKeCsrOwo= + +//// [identifierVariableWithExtendedEscape2.js.map] +{"version":3,"file":"identifierVariableWithExtendedEscape2.js","sourceRoot":"","sources":["identifierVariableWithExtendedEscape2.ts"],"names":[],"mappings":";;;AAAW,QAAA,EAAO,GAAG,EAAE,CAAC;AACxB,UAAE,EAAE,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,InVzZSBzdHJpY3QiOw0KT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgeyB2YWx1ZTogdHJ1ZSB9KTsNCmV4cG9ydHMueHggPSB2b2lkIDA7DQpleHBvcnRzLnh4ID0gMTA7DQpleHBvcnRzLnh4Kys7DQovLyMgc291cmNlTWFwcGluZ1VSTD1pZGVudGlmaWVyVmFyaWFibGVXaXRoRXh0ZW5kZWRFc2NhcGUyLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpZmllclZhcmlhYmxlV2l0aEV4dGVuZGVkRXNjYXBlMi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlkZW50aWZpZXJWYXJpYWJsZVdpdGhFeHRlbmRlZEVzY2FwZTIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQVcsUUFBQSxFQUFPLEdBQUcsRUFBRSxDQUFDO0FBQ3hCLFVBQUUsRUFBRSxDQUFDIn0=,ZXhwb3J0IGxldCB4XHV7Nzh9ID0gMTA7Cnh4Kys7Cg== + +//// [IdentifierNameWithEscape1.js.map] +{"version":3,"file":"IdentifierNameWithEscape1.js","sourceRoot":"","sources":["IdentifierNameWithEscape1.ts"],"names":[],"mappings":";;;AAAA;IAGI;QACI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,2CAAO,GAAP;QACI,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IACL,gCAAC;AAAD,CAAC,AAVD,IAUC;AAVY,8DAAyB"} +//// https://sokra.github.io/source-map-visualization#base64,InVzZSBzdHJpY3QiOw0KT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgeyB2YWx1ZTogdHJ1ZSB9KTsNCmV4cG9ydHMuSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMSA9IHZvaWQgMDsNCnZhciBJZGVudGlmaWVyTmFtZVdpdGhFc2NhcGUxID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkgew0KICAgIGZ1bmN0aW9uIElkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTEoKSB7DQogICAgICAgIHRoaXMuXHUwMDc4ID0gMDsNCiAgICB9DQogICAgSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMS5wcm90b3R5cGUuZG9UaGluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgdGhpcy54ID0gNDI7DQogICAgfTsNCiAgICByZXR1cm4gSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMTsNCn0oKSk7DQpleHBvcnRzLklkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTEgPSBJZGVudGlmaWVyTmFtZVdpdGhFc2NhcGUxOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9SWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMS5qcy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIklkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7SUFHSTtRQUNJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCwyQ0FBTyxHQUFQO1FBQ0ksSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUNMLGdDQUFDO0FBQUQsQ0FBQyxBQVZELElBVUM7QUFWWSw4REFBeUIifQ==,ZXhwb3J0IGNsYXNzIElkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTEgewogICAgXHUwMDc4OiBudW1iZXI7CgogICAgY29uc3RydWN0b3IoKSB7CiAgICAgICAgdGhpcy5cdTAwNzggPSAwOwogICAgfQoKICAgIGRvVGhpbmcoKSB7CiAgICAgICAgdGhpcy54ID0gNDI7CiAgICB9Cn0K + +//// [IdentifierNameWithEscape2.js.map] +{"version":3,"file":"IdentifierNameWithEscape2.js","sourceRoot":"","sources":["IdentifierNameWithEscape2.ts"],"names":[],"mappings":";;;AAAA;IAGI;QACI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,2CAAO,GAAP;QACI,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;IACL,gCAAC;AAAD,CAAC,AAVD,IAUC;AAVY,8DAAyB"} +//// https://sokra.github.io/source-map-visualization#base64,InVzZSBzdHJpY3QiOw0KT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgeyB2YWx1ZTogdHJ1ZSB9KTsNCmV4cG9ydHMuSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMiA9IHZvaWQgMDsNCnZhciBJZGVudGlmaWVyTmFtZVdpdGhFc2NhcGUyID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkgew0KICAgIGZ1bmN0aW9uIElkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTIoKSB7DQogICAgICAgIHRoaXMueFx1MDA3OCA9IDA7DQogICAgfQ0KICAgIElkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTIucHJvdG90eXBlLmRvVGhpbmcgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgIHRoaXMueHggPSA0MjsNCiAgICB9Ow0KICAgIHJldHVybiBJZGVudGlmaWVyTmFtZVdpdGhFc2NhcGUyOw0KfSgpKTsNCmV4cG9ydHMuSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMiA9IElkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTI7DQovLyMgc291cmNlTWFwcGluZ1VSTD1JZGVudGlmaWVyTmFtZVdpdGhFc2NhcGUyLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIklkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7SUFHSTtRQUNJLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCwyQ0FBTyxHQUFQO1FBQ0ksSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUNMLGdDQUFDO0FBQUQsQ0FBQyxBQVZELElBVUM7QUFWWSw4REFBeUIifQ==,ZXhwb3J0IGNsYXNzIElkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTIgewogICAgeFx1MDA3ODogbnVtYmVyOwoKICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgIHRoaXMueFx1MDA3OCA9IDA7CiAgICB9CgogICAgZG9UaGluZygpIHsKICAgICAgICB0aGlzLnh4ID0gNDI7CiAgICB9Cn0K + +//// [IdentifierNameWithExtendedEscape1.js.map] +{"version":3,"file":"IdentifierNameWithExtendedEscape1.js","sourceRoot":"","sources":["IdentifierNameWithExtendedEscape1.ts"],"names":[],"mappings":";;;AAAA;IAGI;QACI,IAAI,CAAC,CAAM,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,mDAAO,GAAP;QACI,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IACL,wCAAC;AAAD,CAAC,AAVD,IAUC;AAVY,8EAAiC"} +//// https://sokra.github.io/source-map-visualization#base64,InVzZSBzdHJpY3QiOw0KT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgeyB2YWx1ZTogdHJ1ZSB9KTsNCmV4cG9ydHMuSWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUxID0gdm9pZCAwOw0KdmFyIElkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHsNCiAgICBmdW5jdGlvbiBJZGVudGlmaWVyTmFtZVdpdGhFeHRlbmRlZEVzY2FwZTEoKSB7DQogICAgICAgIHRoaXMueCA9IDA7DQogICAgfQ0KICAgIElkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMS5wcm90b3R5cGUuZG9UaGluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgdGhpcy54ID0gNDI7DQogICAgfTsNCiAgICByZXR1cm4gSWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUxOw0KfSgpKTsNCmV4cG9ydHMuSWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUxID0gSWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUxOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9SWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUxLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUxLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiSWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUxLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBO0lBR0k7UUFDSSxJQUFJLENBQUMsQ0FBTSxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsbURBQU8sR0FBUDtRQUNJLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDTCx3Q0FBQztBQUFELENBQUMsQUFWRCxJQVVDO0FBVlksOEVBQWlDIn0=,ZXhwb3J0IGNsYXNzIElkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMSB7CiAgICBcdXs3OH06IG51bWJlcjsKCiAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgICB0aGlzLlx1ezc4fSA9IDA7CiAgICB9CgogICAgZG9UaGluZygpIHsKICAgICAgICB0aGlzLnggPSA0MjsKICAgIH0KfQo= + +//// [IdentifierNameWithExtendedEscape2.js.map] +{"version":3,"file":"IdentifierNameWithExtendedEscape2.js","sourceRoot":"","sources":["IdentifierNameWithExtendedEscape2.ts"],"names":[],"mappings":";;;AAAA;IAGI;QACI,IAAI,CAAC,EAAO,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,mDAAO,GAAP;QACI,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;IACL,wCAAC;AAAD,CAAC,AAVD,IAUC;AAVY,8EAAiC"} +//// https://sokra.github.io/source-map-visualization#base64,InVzZSBzdHJpY3QiOw0KT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgeyB2YWx1ZTogdHJ1ZSB9KTsNCmV4cG9ydHMuSWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUyID0gdm9pZCAwOw0KdmFyIElkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMiA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHsNCiAgICBmdW5jdGlvbiBJZGVudGlmaWVyTmFtZVdpdGhFeHRlbmRlZEVzY2FwZTIoKSB7DQogICAgICAgIHRoaXMueHggPSAwOw0KICAgIH0NCiAgICBJZGVudGlmaWVyTmFtZVdpdGhFeHRlbmRlZEVzY2FwZTIucHJvdG90eXBlLmRvVGhpbmcgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgIHRoaXMueHggPSA0MjsNCiAgICB9Ow0KICAgIHJldHVybiBJZGVudGlmaWVyTmFtZVdpdGhFeHRlbmRlZEVzY2FwZTI7DQp9KCkpOw0KZXhwb3J0cy5JZGVudGlmaWVyTmFtZVdpdGhFeHRlbmRlZEVzY2FwZTIgPSBJZGVudGlmaWVyTmFtZVdpdGhFeHRlbmRlZEVzY2FwZTI7DQovLyMgc291cmNlTWFwcGluZ1VSTD1JZGVudGlmaWVyTmFtZVdpdGhFeHRlbmRlZEVzY2FwZTIuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiSWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBO0lBR0k7UUFDSSxJQUFJLENBQUMsRUFBTyxHQUFHLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsbURBQU8sR0FBUDtRQUNJLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFDTCx3Q0FBQztBQUFELENBQUMsQUFWRCxJQVVDO0FBVlksOEVBQWlDIn0=,ZXhwb3J0IGNsYXNzIElkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMiB7CiAgICB4XHV7Nzh9OiBudW1iZXI7CgogICAgY29uc3RydWN0b3IoKSB7CiAgICAgICAgdGhpcy54XHV7Nzh9ID0gMDsKICAgIH0KCiAgICBkb1RoaW5nKCkgewogICAgICAgIHRoaXMueHggPSA0MjsKICAgIH0KfQo= + +//// [PrivateIdentifierNameWithEscape1.js.map] +{"version":3,"file":"PrivateIdentifierNameWithEscape1.js","sourceRoot":"","sources":["PrivateIdentifierNameWithEscape1.ts"],"names":[],"mappings":";;;;;;;;;;AAAA;IAGI;QAFA,kDAAgB;QAGZ,uBAAA,IAAI,mCAAW,CAAC,MAAA,CAAC;IACrB,CAAC;IAED,8CAAO,GAAP;QACI,uBAAA,IAAI,mCAAM,EAAE,MAAA,CAAC;IACjB,CAAC;IACL,mCAAC;AAAD,CAAC,AAVD,IAUC;AAVY,oEAA4B"} +//// https://sokra.github.io/source-map-visualization#base64,InVzZSBzdHJpY3QiOw0KdmFyIF9fY2xhc3NQcml2YXRlRmllbGRTZXQgPSAodGhpcyAmJiB0aGlzLl9fY2xhc3NQcml2YXRlRmllbGRTZXQpIHx8IGZ1bmN0aW9uIChyZWNlaXZlciwgc3RhdGUsIHZhbHVlLCBraW5kLCBmKSB7DQogICAgaWYgKGtpbmQgPT09ICJtIikgdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJpdmF0ZSBtZXRob2QgaXMgbm90IHdyaXRhYmxlIik7DQogICAgaWYgKGtpbmQgPT09ICJhIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgc2V0dGVyIik7DQogICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gImZ1bmN0aW9uIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3Qgd3JpdGUgcHJpdmF0ZSBtZW1iZXIgdG8gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdCIpOw0KICAgIHJldHVybiAoa2luZCA9PT0gImEiID8gZi5jYWxsKHJlY2VpdmVyLCB2YWx1ZSkgOiBmID8gZi52YWx1ZSA9IHZhbHVlIDogc3RhdGUuc2V0KHJlY2VpdmVyLCB2YWx1ZSkpLCB2YWx1ZTsNCn07DQp2YXIgX1ByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTFfeDsNCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAiX19lc01vZHVsZSIsIHsgdmFsdWU6IHRydWUgfSk7DQpleHBvcnRzLlByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTEgPSB2b2lkIDA7DQp2YXIgUHJpdmF0ZUlkZW50aWZpZXJXaXRoRXNjYXBlMSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHsNCiAgICBmdW5jdGlvbiBQcml2YXRlSWRlbnRpZmllcldpdGhFc2NhcGUxKCkgew0KICAgICAgICBfUHJpdmF0ZUlkZW50aWZpZXJXaXRoRXNjYXBlMV94LnNldCh0aGlzLCB2b2lkIDApOw0KICAgICAgICBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHRoaXMsIF9Qcml2YXRlSWRlbnRpZmllcldpdGhFc2NhcGUxX3gsIDAsICJmIik7DQogICAgfQ0KICAgIFByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTEucHJvdG90eXBlLmRvVGhpbmcgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgIF9fY2xhc3NQcml2YXRlRmllbGRTZXQodGhpcywgX1ByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTFfeCwgNDIsICJmIik7DQogICAgfTsNCiAgICByZXR1cm4gUHJpdmF0ZUlkZW50aWZpZXJXaXRoRXNjYXBlMTsNCn0oKSk7DQpleHBvcnRzLlByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTEgPSBQcml2YXRlSWRlbnRpZmllcldpdGhFc2NhcGUxOw0KX1ByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTFfeCA9IG5ldyBXZWFrTWFwKCk7DQovLyMgc291cmNlTWFwcGluZ1VSTD1Qcml2YXRlSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMS5qcy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZUlkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJQcml2YXRlSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7SUFHSTtRQUZBLGtEQUFnQjtRQUdaLHVCQUFBLElBQUksbUNBQVcsQ0FBQyxNQUFBLENBQUM7SUFDckIsQ0FBQztJQUVELDhDQUFPLEdBQVA7UUFDSSx1QkFBQSxJQUFJLG1DQUFNLEVBQUUsTUFBQSxDQUFDO0lBQ2pCLENBQUM7SUFDTCxtQ0FBQztBQUFELENBQUMsQUFWRCxJQVVDO0FBVlksb0VBQTRCIn0=,ZXhwb3J0IGNsYXNzIFByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTEgewogICAgI1x1MDA3ODogbnVtYmVyOwoKICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgIHRoaXMuI1x1MDA3OCA9IDA7CiAgICB9CgogICAgZG9UaGluZygpIHsKICAgICAgICB0aGlzLiN4ID0gNDI7CiAgICB9Cn0K + +//// [PrivateIdentifierNameWithEscape2.js.map] +{"version":3,"file":"PrivateIdentifierNameWithEscape2.js","sourceRoot":"","sources":["PrivateIdentifierNameWithEscape2.ts"],"names":[],"mappings":";;;;;;;;;;AAAA;IAGI;QAFA,mDAAiB;QAGb,uBAAA,IAAI,oCAAY,CAAC,MAAA,CAAC;IACtB,CAAC;IAED,8CAAO,GAAP;QACI,uBAAA,IAAI,oCAAO,EAAE,MAAA,CAAC;IAClB,CAAC;IACL,mCAAC;AAAD,CAAC,AAVD,IAUC;AAVY,oEAA4B"} +//// https://sokra.github.io/source-map-visualization#base64,InVzZSBzdHJpY3QiOw0KdmFyIF9fY2xhc3NQcml2YXRlRmllbGRTZXQgPSAodGhpcyAmJiB0aGlzLl9fY2xhc3NQcml2YXRlRmllbGRTZXQpIHx8IGZ1bmN0aW9uIChyZWNlaXZlciwgc3RhdGUsIHZhbHVlLCBraW5kLCBmKSB7DQogICAgaWYgKGtpbmQgPT09ICJtIikgdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJpdmF0ZSBtZXRob2QgaXMgbm90IHdyaXRhYmxlIik7DQogICAgaWYgKGtpbmQgPT09ICJhIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgc2V0dGVyIik7DQogICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gImZ1bmN0aW9uIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3Qgd3JpdGUgcHJpdmF0ZSBtZW1iZXIgdG8gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdCIpOw0KICAgIHJldHVybiAoa2luZCA9PT0gImEiID8gZi5jYWxsKHJlY2VpdmVyLCB2YWx1ZSkgOiBmID8gZi52YWx1ZSA9IHZhbHVlIDogc3RhdGUuc2V0KHJlY2VpdmVyLCB2YWx1ZSkpLCB2YWx1ZTsNCn07DQp2YXIgX1ByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTJfeHg7DQpPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgIl9fZXNNb2R1bGUiLCB7IHZhbHVlOiB0cnVlIH0pOw0KZXhwb3J0cy5Qcml2YXRlSWRlbnRpZmllcldpdGhFc2NhcGUyID0gdm9pZCAwOw0KdmFyIFByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTIgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7DQogICAgZnVuY3Rpb24gUHJpdmF0ZUlkZW50aWZpZXJXaXRoRXNjYXBlMigpIHsNCiAgICAgICAgX1ByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTJfeHguc2V0KHRoaXMsIHZvaWQgMCk7DQogICAgICAgIF9fY2xhc3NQcml2YXRlRmllbGRTZXQodGhpcywgX1ByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTJfeHgsIDAsICJmIik7DQogICAgfQ0KICAgIFByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTIucHJvdG90eXBlLmRvVGhpbmcgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgIF9fY2xhc3NQcml2YXRlRmllbGRTZXQodGhpcywgX1ByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTJfeHgsIDQyLCAiZiIpOw0KICAgIH07DQogICAgcmV0dXJuIFByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTI7DQp9KCkpOw0KZXhwb3J0cy5Qcml2YXRlSWRlbnRpZmllcldpdGhFc2NhcGUyID0gUHJpdmF0ZUlkZW50aWZpZXJXaXRoRXNjYXBlMjsNCl9Qcml2YXRlSWRlbnRpZmllcldpdGhFc2NhcGUyX3h4ID0gbmV3IFdlYWtNYXAoKTsNCi8vIyBzb3VyY2VNYXBwaW5nVVJMPVByaXZhdGVJZGVudGlmaWVyTmFtZVdpdGhFc2NhcGUyLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZUlkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJQcml2YXRlSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7SUFHSTtRQUZBLG1EQUFpQjtRQUdiLHVCQUFBLElBQUksb0NBQVksQ0FBQyxNQUFBLENBQUM7SUFDdEIsQ0FBQztJQUVELDhDQUFPLEdBQVA7UUFDSSx1QkFBQSxJQUFJLG9DQUFPLEVBQUUsTUFBQSxDQUFDO0lBQ2xCLENBQUM7SUFDTCxtQ0FBQztBQUFELENBQUMsQUFWRCxJQVVDO0FBVlksb0VBQTRCIn0=,ZXhwb3J0IGNsYXNzIFByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTIgewogICAgI3hcdTAwNzg6IG51bWJlcjsKCiAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgICB0aGlzLiN4XHUwMDc4ID0gMDsKICAgIH0KCiAgICBkb1RoaW5nKCkgewogICAgICAgIHRoaXMuI3h4ID0gNDI7CiAgICB9Cn0K + +//// [PrivateIdentifierNameWithExtendedEscape1.js.map] +{"version":3,"file":"PrivateIdentifierNameWithExtendedEscape1.js","sourceRoot":"","sources":["PrivateIdentifierNameWithExtendedEscape1.ts"],"names":[],"mappings":";;;;;;;;;;AAAA;IAGI;QAFA,0DAAgB;QAGZ,uBAAA,IAAI,2CAAW,CAAC,MAAA,CAAC;IACrB,CAAC;IAED,sDAAO,GAAP;QACI,uBAAA,IAAI,2CAAM,EAAE,MAAA,CAAC;IACjB,CAAC;IACL,2CAAC;AAAD,CAAC,AAVD,IAUC;AAVY,oFAAoC"} +//// https://sokra.github.io/source-map-visualization#base64,InVzZSBzdHJpY3QiOw0KdmFyIF9fY2xhc3NQcml2YXRlRmllbGRTZXQgPSAodGhpcyAmJiB0aGlzLl9fY2xhc3NQcml2YXRlRmllbGRTZXQpIHx8IGZ1bmN0aW9uIChyZWNlaXZlciwgc3RhdGUsIHZhbHVlLCBraW5kLCBmKSB7DQogICAgaWYgKGtpbmQgPT09ICJtIikgdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJpdmF0ZSBtZXRob2QgaXMgbm90IHdyaXRhYmxlIik7DQogICAgaWYgKGtpbmQgPT09ICJhIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgc2V0dGVyIik7DQogICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gImZ1bmN0aW9uIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3Qgd3JpdGUgcHJpdmF0ZSBtZW1iZXIgdG8gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdCIpOw0KICAgIHJldHVybiAoa2luZCA9PT0gImEiID8gZi5jYWxsKHJlY2VpdmVyLCB2YWx1ZSkgOiBmID8gZi52YWx1ZSA9IHZhbHVlIDogc3RhdGUuc2V0KHJlY2VpdmVyLCB2YWx1ZSkpLCB2YWx1ZTsNCn07DQp2YXIgX1ByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMV94Ow0KT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgeyB2YWx1ZTogdHJ1ZSB9KTsNCmV4cG9ydHMuUHJpdmF0ZUlkZW50aWZpZXJXaXRoRXh0ZW5kZWRFc2NhcGUxID0gdm9pZCAwOw0KdmFyIFByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHsNCiAgICBmdW5jdGlvbiBQcml2YXRlSWRlbnRpZmllcldpdGhFeHRlbmRlZEVzY2FwZTEoKSB7DQogICAgICAgIF9Qcml2YXRlSWRlbnRpZmllcldpdGhFeHRlbmRlZEVzY2FwZTFfeC5zZXQodGhpcywgdm9pZCAwKTsNCiAgICAgICAgX19jbGFzc1ByaXZhdGVGaWVsZFNldCh0aGlzLCBfUHJpdmF0ZUlkZW50aWZpZXJXaXRoRXh0ZW5kZWRFc2NhcGUxX3gsIDAsICJmIik7DQogICAgfQ0KICAgIFByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMS5wcm90b3R5cGUuZG9UaGluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgX19jbGFzc1ByaXZhdGVGaWVsZFNldCh0aGlzLCBfUHJpdmF0ZUlkZW50aWZpZXJXaXRoRXh0ZW5kZWRFc2NhcGUxX3gsIDQyLCAiZiIpOw0KICAgIH07DQogICAgcmV0dXJuIFByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMTsNCn0oKSk7DQpleHBvcnRzLlByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMSA9IFByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMTsNCl9Qcml2YXRlSWRlbnRpZmllcldpdGhFeHRlbmRlZEVzY2FwZTFfeCA9IG5ldyBXZWFrTWFwKCk7DQovLyMgc291cmNlTWFwcGluZ1VSTD1Qcml2YXRlSWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUxLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZUlkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlByaXZhdGVJZGVudGlmaWVyTmFtZVdpdGhFeHRlbmRlZEVzY2FwZTEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBO0lBR0k7UUFGQSwwREFBZ0I7UUFHWix1QkFBQSxJQUFJLDJDQUFXLENBQUMsTUFBQSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxzREFBTyxHQUFQO1FBQ0ksdUJBQUEsSUFBSSwyQ0FBTSxFQUFFLE1BQUEsQ0FBQztJQUNqQixDQUFDO0lBQ0wsMkNBQUM7QUFBRCxDQUFDLEFBVkQsSUFVQztBQVZZLG9GQUFvQyJ9,ZXhwb3J0IGNsYXNzIFByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMSB7CiAgICAjXHV7Nzh9OiBudW1iZXI7CgogICAgY29uc3RydWN0b3IoKSB7CiAgICAgICAgdGhpcy4jXHV7Nzh9ID0gMDsKICAgIH0KCiAgICBkb1RoaW5nKCkgewogICAgICAgIHRoaXMuI3ggPSA0MjsKICAgIH0KfQo= + +//// [PrivateIdentifierNameWithExtendedEscape2.js.map] +{"version":3,"file":"PrivateIdentifierNameWithExtendedEscape2.js","sourceRoot":"","sources":["PrivateIdentifierNameWithExtendedEscape2.ts"],"names":[],"mappings":";;;;;;;;;;AAAA;IAGI;QAFA,2DAAiB;QAGb,uBAAA,IAAI,4CAAY,CAAC,MAAA,CAAC;IACtB,CAAC;IAED,sDAAO,GAAP;QACI,uBAAA,IAAI,4CAAO,EAAE,MAAA,CAAC;IAClB,CAAC;IACL,2CAAC;AAAD,CAAC,AAVD,IAUC;AAVY,oFAAoC"} +//// https://sokra.github.io/source-map-visualization#base64,InVzZSBzdHJpY3QiOw0KdmFyIF9fY2xhc3NQcml2YXRlRmllbGRTZXQgPSAodGhpcyAmJiB0aGlzLl9fY2xhc3NQcml2YXRlRmllbGRTZXQpIHx8IGZ1bmN0aW9uIChyZWNlaXZlciwgc3RhdGUsIHZhbHVlLCBraW5kLCBmKSB7DQogICAgaWYgKGtpbmQgPT09ICJtIikgdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJpdmF0ZSBtZXRob2QgaXMgbm90IHdyaXRhYmxlIik7DQogICAgaWYgKGtpbmQgPT09ICJhIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgc2V0dGVyIik7DQogICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gImZ1bmN0aW9uIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3Qgd3JpdGUgcHJpdmF0ZSBtZW1iZXIgdG8gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdCIpOw0KICAgIHJldHVybiAoa2luZCA9PT0gImEiID8gZi5jYWxsKHJlY2VpdmVyLCB2YWx1ZSkgOiBmID8gZi52YWx1ZSA9IHZhbHVlIDogc3RhdGUuc2V0KHJlY2VpdmVyLCB2YWx1ZSkpLCB2YWx1ZTsNCn07DQp2YXIgX1ByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMl94eDsNCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAiX19lc01vZHVsZSIsIHsgdmFsdWU6IHRydWUgfSk7DQpleHBvcnRzLlByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMiA9IHZvaWQgMDsNCnZhciBQcml2YXRlSWRlbnRpZmllcldpdGhFeHRlbmRlZEVzY2FwZTIgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7DQogICAgZnVuY3Rpb24gUHJpdmF0ZUlkZW50aWZpZXJXaXRoRXh0ZW5kZWRFc2NhcGUyKCkgew0KICAgICAgICBfUHJpdmF0ZUlkZW50aWZpZXJXaXRoRXh0ZW5kZWRFc2NhcGUyX3h4LnNldCh0aGlzLCB2b2lkIDApOw0KICAgICAgICBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHRoaXMsIF9Qcml2YXRlSWRlbnRpZmllcldpdGhFeHRlbmRlZEVzY2FwZTJfeHgsIDAsICJmIik7DQogICAgfQ0KICAgIFByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMi5wcm90b3R5cGUuZG9UaGluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgX19jbGFzc1ByaXZhdGVGaWVsZFNldCh0aGlzLCBfUHJpdmF0ZUlkZW50aWZpZXJXaXRoRXh0ZW5kZWRFc2NhcGUyX3h4LCA0MiwgImYiKTsNCiAgICB9Ow0KICAgIHJldHVybiBQcml2YXRlSWRlbnRpZmllcldpdGhFeHRlbmRlZEVzY2FwZTI7DQp9KCkpOw0KZXhwb3J0cy5Qcml2YXRlSWRlbnRpZmllcldpdGhFeHRlbmRlZEVzY2FwZTIgPSBQcml2YXRlSWRlbnRpZmllcldpdGhFeHRlbmRlZEVzY2FwZTI7DQpfUHJpdmF0ZUlkZW50aWZpZXJXaXRoRXh0ZW5kZWRFc2NhcGUyX3h4ID0gbmV3IFdlYWtNYXAoKTsNCi8vIyBzb3VyY2VNYXBwaW5nVVJMPVByaXZhdGVJZGVudGlmaWVyTmFtZVdpdGhFeHRlbmRlZEVzY2FwZTIuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZUlkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlByaXZhdGVJZGVudGlmaWVyTmFtZVdpdGhFeHRlbmRlZEVzY2FwZTIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBO0lBR0k7UUFGQSwyREFBaUI7UUFHYix1QkFBQSxJQUFJLDRDQUFZLENBQUMsTUFBQSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxzREFBTyxHQUFQO1FBQ0ksdUJBQUEsSUFBSSw0Q0FBTyxFQUFFLE1BQUEsQ0FBQztJQUNsQixDQUFDO0lBQ0wsMkNBQUM7QUFBRCxDQUFDLEFBVkQsSUFVQztBQVZZLG9GQUFvQyJ9,ZXhwb3J0IGNsYXNzIFByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMiB7CiAgICAjeFx1ezc4fTogbnVtYmVyOwoKICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgIHRoaXMuI3hcdXs3OH0gPSAwOwogICAgfQoKICAgIGRvVGhpbmcoKSB7CiAgICAgICAgdGhpcy4jeHggPSA0MjsKICAgIH0KfQo= diff --git a/tests/baselines/reference/unicodeEscapesInNames01(target=es5).sourcemap.txt b/tests/baselines/reference/unicodeEscapesInNames01(target=es5).sourcemap.txt new file mode 100644 index 0000000000000..c9cdfce09b481 --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames01(target=es5).sourcemap.txt @@ -0,0 +1,1485 @@ +=================================================================== +JsFile: identifierVariableWithEscape1.js +mapUrl: identifierVariableWithEscape1.js.map +sourceRoot: +sources: identifierVariableWithEscape1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/identifierVariableWithEscape1.js +sourceFile:identifierVariableWithEscape1.ts +------------------------------------------------------------------- +>>>"use strict"; +>>>Object.defineProperty(exports, "__esModule", { value: true }); +>>>exports.x = void 0; +>>>exports.\u0078 = 10; +1 > +2 >^^^^^^^^ +3 > ^^^^^^ +4 > ^^^ +5 > ^^ +6 > ^ +1 >export let +2 > +3 > \u0078 +4 > = +5 > 10 +6 > ; +1 >Emitted(4, 1) Source(1, 12) + SourceIndex(0) +2 >Emitted(4, 9) Source(1, 12) + SourceIndex(0) +3 >Emitted(4, 15) Source(1, 18) + SourceIndex(0) +4 >Emitted(4, 18) Source(1, 21) + SourceIndex(0) +5 >Emitted(4, 20) Source(1, 23) + SourceIndex(0) +6 >Emitted(4, 21) Source(1, 24) + SourceIndex(0) +--- +>>>exports.x++; +1 > +2 >^^^^^^^^^ +3 > ^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 >x +3 > ++ +4 > ; +1 >Emitted(5, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(5, 10) Source(2, 2) + SourceIndex(0) +3 >Emitted(5, 12) Source(2, 4) + SourceIndex(0) +4 >Emitted(5, 13) Source(2, 5) + SourceIndex(0) +--- +>>>//# sourceMappingURL=identifierVariableWithEscape1.js.map=================================================================== +JsFile: identifierVariableWithEscape2.js +mapUrl: identifierVariableWithEscape2.js.map +sourceRoot: +sources: identifierVariableWithEscape2.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/identifierVariableWithEscape2.js +sourceFile:identifierVariableWithEscape2.ts +------------------------------------------------------------------- +>>>"use strict"; +>>>Object.defineProperty(exports, "__esModule", { value: true }); +>>>exports.xx = void 0; +>>>exports.x\u0078 = 10; +1 > +2 >^^^^^^^^ +3 > ^^^^^^^ +4 > ^^^ +5 > ^^ +6 > ^ +1 >export let +2 > +3 > x\u0078 +4 > = +5 > 10 +6 > ; +1 >Emitted(4, 1) Source(1, 12) + SourceIndex(0) +2 >Emitted(4, 9) Source(1, 12) + SourceIndex(0) +3 >Emitted(4, 16) Source(1, 19) + SourceIndex(0) +4 >Emitted(4, 19) Source(1, 22) + SourceIndex(0) +5 >Emitted(4, 21) Source(1, 24) + SourceIndex(0) +6 >Emitted(4, 22) Source(1, 25) + SourceIndex(0) +--- +>>>exports.xx++; +1 > +2 >^^^^^^^^^^ +3 > ^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 >xx +3 > ++ +4 > ; +1 >Emitted(5, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(5, 11) Source(2, 3) + SourceIndex(0) +3 >Emitted(5, 13) Source(2, 5) + SourceIndex(0) +4 >Emitted(5, 14) Source(2, 6) + SourceIndex(0) +--- +>>>//# sourceMappingURL=identifierVariableWithEscape2.js.map=================================================================== +JsFile: identifierVariableWithExtendedEscape1.js +mapUrl: identifierVariableWithExtendedEscape1.js.map +sourceRoot: +sources: identifierVariableWithExtendedEscape1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/identifierVariableWithExtendedEscape1.js +sourceFile:identifierVariableWithExtendedEscape1.ts +------------------------------------------------------------------- +>>>"use strict"; +>>>Object.defineProperty(exports, "__esModule", { value: true }); +>>>exports.x = void 0; +>>>exports.x = 10; +1 > +2 >^^^^^^^^ +3 > ^ +4 > ^^^ +5 > ^^ +6 > ^ +1 >export let +2 > +3 > \u{78} +4 > = +5 > 10 +6 > ; +1 >Emitted(4, 1) Source(1, 12) + SourceIndex(0) +2 >Emitted(4, 9) Source(1, 12) + SourceIndex(0) +3 >Emitted(4, 10) Source(1, 18) + SourceIndex(0) +4 >Emitted(4, 13) Source(1, 21) + SourceIndex(0) +5 >Emitted(4, 15) Source(1, 23) + SourceIndex(0) +6 >Emitted(4, 16) Source(1, 24) + SourceIndex(0) +--- +>>>exports.x++; +1 > +2 >^^^^^^^^^ +3 > ^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 >x +3 > ++ +4 > ; +1 >Emitted(5, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(5, 10) Source(2, 2) + SourceIndex(0) +3 >Emitted(5, 12) Source(2, 4) + SourceIndex(0) +4 >Emitted(5, 13) Source(2, 5) + SourceIndex(0) +--- +>>>//# sourceMappingURL=identifierVariableWithExtendedEscape1.js.map=================================================================== +JsFile: identifierVariableWithExtendedEscape2.js +mapUrl: identifierVariableWithExtendedEscape2.js.map +sourceRoot: +sources: identifierVariableWithExtendedEscape2.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/identifierVariableWithExtendedEscape2.js +sourceFile:identifierVariableWithExtendedEscape2.ts +------------------------------------------------------------------- +>>>"use strict"; +>>>Object.defineProperty(exports, "__esModule", { value: true }); +>>>exports.xx = void 0; +>>>exports.xx = 10; +1 > +2 >^^^^^^^^ +3 > ^^ +4 > ^^^ +5 > ^^ +6 > ^ +1 >export let +2 > +3 > x\u{78} +4 > = +5 > 10 +6 > ; +1 >Emitted(4, 1) Source(1, 12) + SourceIndex(0) +2 >Emitted(4, 9) Source(1, 12) + SourceIndex(0) +3 >Emitted(4, 11) Source(1, 19) + SourceIndex(0) +4 >Emitted(4, 14) Source(1, 22) + SourceIndex(0) +5 >Emitted(4, 16) Source(1, 24) + SourceIndex(0) +6 >Emitted(4, 17) Source(1, 25) + SourceIndex(0) +--- +>>>exports.xx++; +1 > +2 >^^^^^^^^^^ +3 > ^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 >xx +3 > ++ +4 > ; +1 >Emitted(5, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(5, 11) Source(2, 3) + SourceIndex(0) +3 >Emitted(5, 13) Source(2, 5) + SourceIndex(0) +4 >Emitted(5, 14) Source(2, 6) + SourceIndex(0) +--- +>>>//# sourceMappingURL=identifierVariableWithExtendedEscape2.js.map=================================================================== +JsFile: IdentifierNameWithEscape1.js +mapUrl: IdentifierNameWithEscape1.js.map +sourceRoot: +sources: IdentifierNameWithEscape1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/IdentifierNameWithEscape1.js +sourceFile:IdentifierNameWithEscape1.ts +------------------------------------------------------------------- +>>>"use strict"; +>>>Object.defineProperty(exports, "__esModule", { value: true }); +>>>exports.IdentifierNameWithEscape1 = void 0; +>>>var IdentifierNameWithEscape1 = /** @class */ (function () { +1 > +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +1 >Emitted(4, 1) Source(1, 1) + SourceIndex(0) +--- +>>> function IdentifierNameWithEscape1() { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^-> +1->export class IdentifierNameWithEscape1 { + > \u0078: number; + > + > +1->Emitted(5, 5) Source(4, 5) + SourceIndex(0) +--- +>>> this.\u0078 = 0; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^^^^^ +5 > ^^^ +6 > ^ +7 > ^ +1->constructor() { + > +2 > this +3 > . +4 > \u0078 +5 > = +6 > 0 +7 > ; +1->Emitted(6, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(6, 13) Source(5, 13) + SourceIndex(0) +3 >Emitted(6, 14) Source(5, 14) + SourceIndex(0) +4 >Emitted(6, 20) Source(5, 20) + SourceIndex(0) +5 >Emitted(6, 23) Source(5, 23) + SourceIndex(0) +6 >Emitted(6, 24) Source(5, 24) + SourceIndex(0) +7 >Emitted(6, 25) Source(5, 25) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(7, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(7, 6) Source(6, 6) + SourceIndex(0) +--- +>>> IdentifierNameWithEscape1.prototype.doThing = function () { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^ +1-> + > + > +2 > doThing +3 > +1->Emitted(8, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(8, 48) Source(8, 12) + SourceIndex(0) +3 >Emitted(8, 51) Source(8, 5) + SourceIndex(0) +--- +>>> this.x = 42; +1 >^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^ +5 > ^^^ +6 > ^^ +7 > ^ +1 >doThing() { + > +2 > this +3 > . +4 > x +5 > = +6 > 42 +7 > ; +1 >Emitted(9, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(9, 13) Source(9, 13) + SourceIndex(0) +3 >Emitted(9, 14) Source(9, 14) + SourceIndex(0) +4 >Emitted(9, 15) Source(9, 15) + SourceIndex(0) +5 >Emitted(9, 18) Source(9, 18) + SourceIndex(0) +6 >Emitted(9, 20) Source(9, 20) + SourceIndex(0) +7 >Emitted(9, 21) Source(9, 21) + SourceIndex(0) +--- +>>> }; +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(10, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(10, 6) Source(10, 6) + SourceIndex(0) +--- +>>> return IdentifierNameWithEscape1; +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> + > +2 > } +1->Emitted(11, 5) Source(11, 1) + SourceIndex(0) +2 >Emitted(11, 37) Source(11, 2) + SourceIndex(0) +--- +>>>}()); +1 > +2 >^ +3 > +4 > ^^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +2 >} +3 > +4 > export class IdentifierNameWithEscape1 { + > \u0078: number; + > + > constructor() { + > this.\u0078 = 0; + > } + > + > doThing() { + > this.x = 42; + > } + > } +1 >Emitted(12, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(12, 2) Source(11, 2) + SourceIndex(0) +3 >Emitted(12, 2) Source(1, 1) + SourceIndex(0) +4 >Emitted(12, 6) Source(11, 2) + SourceIndex(0) +--- +>>>exports.IdentifierNameWithEscape1 = IdentifierNameWithEscape1; +1-> +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> +2 >IdentifierNameWithEscape1 +1->Emitted(13, 1) Source(1, 14) + SourceIndex(0) +2 >Emitted(13, 63) Source(1, 39) + SourceIndex(0) +--- +>>>//# sourceMappingURL=IdentifierNameWithEscape1.js.map=================================================================== +JsFile: IdentifierNameWithEscape2.js +mapUrl: IdentifierNameWithEscape2.js.map +sourceRoot: +sources: IdentifierNameWithEscape2.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/IdentifierNameWithEscape2.js +sourceFile:IdentifierNameWithEscape2.ts +------------------------------------------------------------------- +>>>"use strict"; +>>>Object.defineProperty(exports, "__esModule", { value: true }); +>>>exports.IdentifierNameWithEscape2 = void 0; +>>>var IdentifierNameWithEscape2 = /** @class */ (function () { +1 > +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +1 >Emitted(4, 1) Source(1, 1) + SourceIndex(0) +--- +>>> function IdentifierNameWithEscape2() { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^-> +1->export class IdentifierNameWithEscape2 { + > x\u0078: number; + > + > +1->Emitted(5, 5) Source(4, 5) + SourceIndex(0) +--- +>>> this.x\u0078 = 0; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^^^^^^ +5 > ^^^ +6 > ^ +7 > ^ +1->constructor() { + > +2 > this +3 > . +4 > x\u0078 +5 > = +6 > 0 +7 > ; +1->Emitted(6, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(6, 13) Source(5, 13) + SourceIndex(0) +3 >Emitted(6, 14) Source(5, 14) + SourceIndex(0) +4 >Emitted(6, 21) Source(5, 21) + SourceIndex(0) +5 >Emitted(6, 24) Source(5, 24) + SourceIndex(0) +6 >Emitted(6, 25) Source(5, 25) + SourceIndex(0) +7 >Emitted(6, 26) Source(5, 26) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(7, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(7, 6) Source(6, 6) + SourceIndex(0) +--- +>>> IdentifierNameWithEscape2.prototype.doThing = function () { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^ +1-> + > + > +2 > doThing +3 > +1->Emitted(8, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(8, 48) Source(8, 12) + SourceIndex(0) +3 >Emitted(8, 51) Source(8, 5) + SourceIndex(0) +--- +>>> this.xx = 42; +1 >^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^ +5 > ^^^ +6 > ^^ +7 > ^ +1 >doThing() { + > +2 > this +3 > . +4 > xx +5 > = +6 > 42 +7 > ; +1 >Emitted(9, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(9, 13) Source(9, 13) + SourceIndex(0) +3 >Emitted(9, 14) Source(9, 14) + SourceIndex(0) +4 >Emitted(9, 16) Source(9, 16) + SourceIndex(0) +5 >Emitted(9, 19) Source(9, 19) + SourceIndex(0) +6 >Emitted(9, 21) Source(9, 21) + SourceIndex(0) +7 >Emitted(9, 22) Source(9, 22) + SourceIndex(0) +--- +>>> }; +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(10, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(10, 6) Source(10, 6) + SourceIndex(0) +--- +>>> return IdentifierNameWithEscape2; +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> + > +2 > } +1->Emitted(11, 5) Source(11, 1) + SourceIndex(0) +2 >Emitted(11, 37) Source(11, 2) + SourceIndex(0) +--- +>>>}()); +1 > +2 >^ +3 > +4 > ^^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +2 >} +3 > +4 > export class IdentifierNameWithEscape2 { + > x\u0078: number; + > + > constructor() { + > this.x\u0078 = 0; + > } + > + > doThing() { + > this.xx = 42; + > } + > } +1 >Emitted(12, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(12, 2) Source(11, 2) + SourceIndex(0) +3 >Emitted(12, 2) Source(1, 1) + SourceIndex(0) +4 >Emitted(12, 6) Source(11, 2) + SourceIndex(0) +--- +>>>exports.IdentifierNameWithEscape2 = IdentifierNameWithEscape2; +1-> +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> +2 >IdentifierNameWithEscape2 +1->Emitted(13, 1) Source(1, 14) + SourceIndex(0) +2 >Emitted(13, 63) Source(1, 39) + SourceIndex(0) +--- +>>>//# sourceMappingURL=IdentifierNameWithEscape2.js.map=================================================================== +JsFile: IdentifierNameWithExtendedEscape1.js +mapUrl: IdentifierNameWithExtendedEscape1.js.map +sourceRoot: +sources: IdentifierNameWithExtendedEscape1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/IdentifierNameWithExtendedEscape1.js +sourceFile:IdentifierNameWithExtendedEscape1.ts +------------------------------------------------------------------- +>>>"use strict"; +>>>Object.defineProperty(exports, "__esModule", { value: true }); +>>>exports.IdentifierNameWithExtendedEscape1 = void 0; +>>>var IdentifierNameWithExtendedEscape1 = /** @class */ (function () { +1 > +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +1 >Emitted(4, 1) Source(1, 1) + SourceIndex(0) +--- +>>> function IdentifierNameWithExtendedEscape1() { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^-> +1->export class IdentifierNameWithExtendedEscape1 { + > \u{78}: number; + > + > +1->Emitted(5, 5) Source(4, 5) + SourceIndex(0) +--- +>>> this.x = 0; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^ +5 > ^^^ +6 > ^ +7 > ^ +1->constructor() { + > +2 > this +3 > . +4 > \u{78} +5 > = +6 > 0 +7 > ; +1->Emitted(6, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(6, 13) Source(5, 13) + SourceIndex(0) +3 >Emitted(6, 14) Source(5, 14) + SourceIndex(0) +4 >Emitted(6, 15) Source(5, 20) + SourceIndex(0) +5 >Emitted(6, 18) Source(5, 23) + SourceIndex(0) +6 >Emitted(6, 19) Source(5, 24) + SourceIndex(0) +7 >Emitted(6, 20) Source(5, 25) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(7, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(7, 6) Source(6, 6) + SourceIndex(0) +--- +>>> IdentifierNameWithExtendedEscape1.prototype.doThing = function () { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^ +1-> + > + > +2 > doThing +3 > +1->Emitted(8, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(8, 56) Source(8, 12) + SourceIndex(0) +3 >Emitted(8, 59) Source(8, 5) + SourceIndex(0) +--- +>>> this.x = 42; +1 >^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^ +5 > ^^^ +6 > ^^ +7 > ^ +1 >doThing() { + > +2 > this +3 > . +4 > x +5 > = +6 > 42 +7 > ; +1 >Emitted(9, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(9, 13) Source(9, 13) + SourceIndex(0) +3 >Emitted(9, 14) Source(9, 14) + SourceIndex(0) +4 >Emitted(9, 15) Source(9, 15) + SourceIndex(0) +5 >Emitted(9, 18) Source(9, 18) + SourceIndex(0) +6 >Emitted(9, 20) Source(9, 20) + SourceIndex(0) +7 >Emitted(9, 21) Source(9, 21) + SourceIndex(0) +--- +>>> }; +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(10, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(10, 6) Source(10, 6) + SourceIndex(0) +--- +>>> return IdentifierNameWithExtendedEscape1; +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> + > +2 > } +1->Emitted(11, 5) Source(11, 1) + SourceIndex(0) +2 >Emitted(11, 45) Source(11, 2) + SourceIndex(0) +--- +>>>}()); +1 > +2 >^ +3 > +4 > ^^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +2 >} +3 > +4 > export class IdentifierNameWithExtendedEscape1 { + > \u{78}: number; + > + > constructor() { + > this.\u{78} = 0; + > } + > + > doThing() { + > this.x = 42; + > } + > } +1 >Emitted(12, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(12, 2) Source(11, 2) + SourceIndex(0) +3 >Emitted(12, 2) Source(1, 1) + SourceIndex(0) +4 >Emitted(12, 6) Source(11, 2) + SourceIndex(0) +--- +>>>exports.IdentifierNameWithExtendedEscape1 = IdentifierNameWithExtendedEscape1; +1-> +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> +2 >IdentifierNameWithExtendedEscape1 +1->Emitted(13, 1) Source(1, 14) + SourceIndex(0) +2 >Emitted(13, 79) Source(1, 47) + SourceIndex(0) +--- +>>>//# sourceMappingURL=IdentifierNameWithExtendedEscape1.js.map=================================================================== +JsFile: IdentifierNameWithExtendedEscape2.js +mapUrl: IdentifierNameWithExtendedEscape2.js.map +sourceRoot: +sources: IdentifierNameWithExtendedEscape2.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/IdentifierNameWithExtendedEscape2.js +sourceFile:IdentifierNameWithExtendedEscape2.ts +------------------------------------------------------------------- +>>>"use strict"; +>>>Object.defineProperty(exports, "__esModule", { value: true }); +>>>exports.IdentifierNameWithExtendedEscape2 = void 0; +>>>var IdentifierNameWithExtendedEscape2 = /** @class */ (function () { +1 > +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +1 >Emitted(4, 1) Source(1, 1) + SourceIndex(0) +--- +>>> function IdentifierNameWithExtendedEscape2() { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^-> +1->export class IdentifierNameWithExtendedEscape2 { + > x\u{78}: number; + > + > +1->Emitted(5, 5) Source(4, 5) + SourceIndex(0) +--- +>>> this.xx = 0; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^ +5 > ^^^ +6 > ^ +7 > ^ +1->constructor() { + > +2 > this +3 > . +4 > x\u{78} +5 > = +6 > 0 +7 > ; +1->Emitted(6, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(6, 13) Source(5, 13) + SourceIndex(0) +3 >Emitted(6, 14) Source(5, 14) + SourceIndex(0) +4 >Emitted(6, 16) Source(5, 21) + SourceIndex(0) +5 >Emitted(6, 19) Source(5, 24) + SourceIndex(0) +6 >Emitted(6, 20) Source(5, 25) + SourceIndex(0) +7 >Emitted(6, 21) Source(5, 26) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(7, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(7, 6) Source(6, 6) + SourceIndex(0) +--- +>>> IdentifierNameWithExtendedEscape2.prototype.doThing = function () { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^ +1-> + > + > +2 > doThing +3 > +1->Emitted(8, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(8, 56) Source(8, 12) + SourceIndex(0) +3 >Emitted(8, 59) Source(8, 5) + SourceIndex(0) +--- +>>> this.xx = 42; +1 >^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^ +5 > ^^^ +6 > ^^ +7 > ^ +1 >doThing() { + > +2 > this +3 > . +4 > xx +5 > = +6 > 42 +7 > ; +1 >Emitted(9, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(9, 13) Source(9, 13) + SourceIndex(0) +3 >Emitted(9, 14) Source(9, 14) + SourceIndex(0) +4 >Emitted(9, 16) Source(9, 16) + SourceIndex(0) +5 >Emitted(9, 19) Source(9, 19) + SourceIndex(0) +6 >Emitted(9, 21) Source(9, 21) + SourceIndex(0) +7 >Emitted(9, 22) Source(9, 22) + SourceIndex(0) +--- +>>> }; +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(10, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(10, 6) Source(10, 6) + SourceIndex(0) +--- +>>> return IdentifierNameWithExtendedEscape2; +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> + > +2 > } +1->Emitted(11, 5) Source(11, 1) + SourceIndex(0) +2 >Emitted(11, 45) Source(11, 2) + SourceIndex(0) +--- +>>>}()); +1 > +2 >^ +3 > +4 > ^^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +2 >} +3 > +4 > export class IdentifierNameWithExtendedEscape2 { + > x\u{78}: number; + > + > constructor() { + > this.x\u{78} = 0; + > } + > + > doThing() { + > this.xx = 42; + > } + > } +1 >Emitted(12, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(12, 2) Source(11, 2) + SourceIndex(0) +3 >Emitted(12, 2) Source(1, 1) + SourceIndex(0) +4 >Emitted(12, 6) Source(11, 2) + SourceIndex(0) +--- +>>>exports.IdentifierNameWithExtendedEscape2 = IdentifierNameWithExtendedEscape2; +1-> +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> +2 >IdentifierNameWithExtendedEscape2 +1->Emitted(13, 1) Source(1, 14) + SourceIndex(0) +2 >Emitted(13, 79) Source(1, 47) + SourceIndex(0) +--- +>>>//# sourceMappingURL=IdentifierNameWithExtendedEscape2.js.map=================================================================== +JsFile: PrivateIdentifierNameWithEscape1.js +mapUrl: PrivateIdentifierNameWithEscape1.js.map +sourceRoot: +sources: PrivateIdentifierNameWithEscape1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/PrivateIdentifierNameWithEscape1.js +sourceFile:PrivateIdentifierNameWithEscape1.ts +------------------------------------------------------------------- +>>>"use strict"; +>>>var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { +>>> if (kind === "m") throw new TypeError("Private method is not writable"); +>>> if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); +>>> if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); +>>> return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; +>>>}; +>>>var _PrivateIdentifierWithEscape1_x; +>>>Object.defineProperty(exports, "__esModule", { value: true }); +>>>exports.PrivateIdentifierWithEscape1 = void 0; +>>>var PrivateIdentifierWithEscape1 = /** @class */ (function () { +1 > +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +1 >Emitted(11, 1) Source(1, 1) + SourceIndex(0) +--- +>>> function PrivateIdentifierWithEscape1() { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1->export class PrivateIdentifierWithEscape1 { + > #\u0078: number; + > + > +1->Emitted(12, 5) Source(4, 5) + SourceIndex(0) +--- +>>> _PrivateIdentifierWithEscape1_x.set(this, void 0); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^-> +1-> +2 > #\u0078: number; +1->Emitted(13, 9) Source(2, 5) + SourceIndex(0) +2 >Emitted(13, 59) Source(2, 21) + SourceIndex(0) +--- +>>> __classPrivateFieldSet(this, _PrivateIdentifierWithEscape1_x, 0, "f"); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^ +6 > ^^^^^^ +7 > ^ +1-> + > + > constructor() { + > +2 > +3 > this +4 > .#\u0078 = +5 > 0 +6 > +7 > ; +1->Emitted(14, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(14, 32) Source(5, 9) + SourceIndex(0) +3 >Emitted(14, 36) Source(5, 13) + SourceIndex(0) +4 >Emitted(14, 71) Source(5, 24) + SourceIndex(0) +5 >Emitted(14, 72) Source(5, 25) + SourceIndex(0) +6 >Emitted(14, 78) Source(5, 25) + SourceIndex(0) +7 >Emitted(14, 79) Source(5, 26) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(15, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(15, 6) Source(6, 6) + SourceIndex(0) +--- +>>> PrivateIdentifierWithEscape1.prototype.doThing = function () { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1-> + > + > +2 > doThing +3 > +1->Emitted(16, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(16, 51) Source(8, 12) + SourceIndex(0) +3 >Emitted(16, 54) Source(8, 5) + SourceIndex(0) +--- +>>> __classPrivateFieldSet(this, _PrivateIdentifierWithEscape1_x, 42, "f"); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^ +7 > ^ +1->doThing() { + > +2 > +3 > this +4 > .#x = +5 > 42 +6 > +7 > ; +1->Emitted(17, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(17, 32) Source(9, 9) + SourceIndex(0) +3 >Emitted(17, 36) Source(9, 13) + SourceIndex(0) +4 >Emitted(17, 71) Source(9, 19) + SourceIndex(0) +5 >Emitted(17, 73) Source(9, 21) + SourceIndex(0) +6 >Emitted(17, 79) Source(9, 21) + SourceIndex(0) +7 >Emitted(17, 80) Source(9, 22) + SourceIndex(0) +--- +>>> }; +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(18, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(18, 6) Source(10, 6) + SourceIndex(0) +--- +>>> return PrivateIdentifierWithEscape1; +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> + > +2 > } +1->Emitted(19, 5) Source(11, 1) + SourceIndex(0) +2 >Emitted(19, 40) Source(11, 2) + SourceIndex(0) +--- +>>>}()); +1 > +2 >^ +3 > +4 > ^^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +2 >} +3 > +4 > export class PrivateIdentifierWithEscape1 { + > #\u0078: number; + > + > constructor() { + > this.#\u0078 = 0; + > } + > + > doThing() { + > this.#x = 42; + > } + > } +1 >Emitted(20, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(20, 2) Source(11, 2) + SourceIndex(0) +3 >Emitted(20, 2) Source(1, 1) + SourceIndex(0) +4 >Emitted(20, 6) Source(11, 2) + SourceIndex(0) +--- +>>>exports.PrivateIdentifierWithEscape1 = PrivateIdentifierWithEscape1; +1-> +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> +2 >PrivateIdentifierWithEscape1 +1->Emitted(21, 1) Source(1, 14) + SourceIndex(0) +2 >Emitted(21, 69) Source(1, 42) + SourceIndex(0) +--- +>>>_PrivateIdentifierWithEscape1_x = new WeakMap(); +>>>//# sourceMappingURL=PrivateIdentifierNameWithEscape1.js.map=================================================================== +JsFile: PrivateIdentifierNameWithEscape2.js +mapUrl: PrivateIdentifierNameWithEscape2.js.map +sourceRoot: +sources: PrivateIdentifierNameWithEscape2.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/PrivateIdentifierNameWithEscape2.js +sourceFile:PrivateIdentifierNameWithEscape2.ts +------------------------------------------------------------------- +>>>"use strict"; +>>>var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { +>>> if (kind === "m") throw new TypeError("Private method is not writable"); +>>> if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); +>>> if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); +>>> return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; +>>>}; +>>>var _PrivateIdentifierWithEscape2_xx; +>>>Object.defineProperty(exports, "__esModule", { value: true }); +>>>exports.PrivateIdentifierWithEscape2 = void 0; +>>>var PrivateIdentifierWithEscape2 = /** @class */ (function () { +1 > +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +1 >Emitted(11, 1) Source(1, 1) + SourceIndex(0) +--- +>>> function PrivateIdentifierWithEscape2() { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1->export class PrivateIdentifierWithEscape2 { + > #x\u0078: number; + > + > +1->Emitted(12, 5) Source(4, 5) + SourceIndex(0) +--- +>>> _PrivateIdentifierWithEscape2_xx.set(this, void 0); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^-> +1-> +2 > #x\u0078: number; +1->Emitted(13, 9) Source(2, 5) + SourceIndex(0) +2 >Emitted(13, 60) Source(2, 22) + SourceIndex(0) +--- +>>> __classPrivateFieldSet(this, _PrivateIdentifierWithEscape2_xx, 0, "f"); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^ +6 > ^^^^^^ +7 > ^ +1-> + > + > constructor() { + > +2 > +3 > this +4 > .#x\u0078 = +5 > 0 +6 > +7 > ; +1->Emitted(14, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(14, 32) Source(5, 9) + SourceIndex(0) +3 >Emitted(14, 36) Source(5, 13) + SourceIndex(0) +4 >Emitted(14, 72) Source(5, 25) + SourceIndex(0) +5 >Emitted(14, 73) Source(5, 26) + SourceIndex(0) +6 >Emitted(14, 79) Source(5, 26) + SourceIndex(0) +7 >Emitted(14, 80) Source(5, 27) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(15, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(15, 6) Source(6, 6) + SourceIndex(0) +--- +>>> PrivateIdentifierWithEscape2.prototype.doThing = function () { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1-> + > + > +2 > doThing +3 > +1->Emitted(16, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(16, 51) Source(8, 12) + SourceIndex(0) +3 >Emitted(16, 54) Source(8, 5) + SourceIndex(0) +--- +>>> __classPrivateFieldSet(this, _PrivateIdentifierWithEscape2_xx, 42, "f"); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^ +7 > ^ +1->doThing() { + > +2 > +3 > this +4 > .#xx = +5 > 42 +6 > +7 > ; +1->Emitted(17, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(17, 32) Source(9, 9) + SourceIndex(0) +3 >Emitted(17, 36) Source(9, 13) + SourceIndex(0) +4 >Emitted(17, 72) Source(9, 20) + SourceIndex(0) +5 >Emitted(17, 74) Source(9, 22) + SourceIndex(0) +6 >Emitted(17, 80) Source(9, 22) + SourceIndex(0) +7 >Emitted(17, 81) Source(9, 23) + SourceIndex(0) +--- +>>> }; +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(18, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(18, 6) Source(10, 6) + SourceIndex(0) +--- +>>> return PrivateIdentifierWithEscape2; +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> + > +2 > } +1->Emitted(19, 5) Source(11, 1) + SourceIndex(0) +2 >Emitted(19, 40) Source(11, 2) + SourceIndex(0) +--- +>>>}()); +1 > +2 >^ +3 > +4 > ^^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +2 >} +3 > +4 > export class PrivateIdentifierWithEscape2 { + > #x\u0078: number; + > + > constructor() { + > this.#x\u0078 = 0; + > } + > + > doThing() { + > this.#xx = 42; + > } + > } +1 >Emitted(20, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(20, 2) Source(11, 2) + SourceIndex(0) +3 >Emitted(20, 2) Source(1, 1) + SourceIndex(0) +4 >Emitted(20, 6) Source(11, 2) + SourceIndex(0) +--- +>>>exports.PrivateIdentifierWithEscape2 = PrivateIdentifierWithEscape2; +1-> +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> +2 >PrivateIdentifierWithEscape2 +1->Emitted(21, 1) Source(1, 14) + SourceIndex(0) +2 >Emitted(21, 69) Source(1, 42) + SourceIndex(0) +--- +>>>_PrivateIdentifierWithEscape2_xx = new WeakMap(); +>>>//# sourceMappingURL=PrivateIdentifierNameWithEscape2.js.map=================================================================== +JsFile: PrivateIdentifierNameWithExtendedEscape1.js +mapUrl: PrivateIdentifierNameWithExtendedEscape1.js.map +sourceRoot: +sources: PrivateIdentifierNameWithExtendedEscape1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape1.js +sourceFile:PrivateIdentifierNameWithExtendedEscape1.ts +------------------------------------------------------------------- +>>>"use strict"; +>>>var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { +>>> if (kind === "m") throw new TypeError("Private method is not writable"); +>>> if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); +>>> if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); +>>> return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; +>>>}; +>>>var _PrivateIdentifierWithExtendedEscape1_x; +>>>Object.defineProperty(exports, "__esModule", { value: true }); +>>>exports.PrivateIdentifierWithExtendedEscape1 = void 0; +>>>var PrivateIdentifierWithExtendedEscape1 = /** @class */ (function () { +1 > +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +1 >Emitted(11, 1) Source(1, 1) + SourceIndex(0) +--- +>>> function PrivateIdentifierWithExtendedEscape1() { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1->export class PrivateIdentifierWithExtendedEscape1 { + > #\u{78}: number; + > + > +1->Emitted(12, 5) Source(4, 5) + SourceIndex(0) +--- +>>> _PrivateIdentifierWithExtendedEscape1_x.set(this, void 0); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^-> +1-> +2 > #\u{78}: number; +1->Emitted(13, 9) Source(2, 5) + SourceIndex(0) +2 >Emitted(13, 67) Source(2, 21) + SourceIndex(0) +--- +>>> __classPrivateFieldSet(this, _PrivateIdentifierWithExtendedEscape1_x, 0, "f"); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^ +6 > ^^^^^^ +7 > ^ +1-> + > + > constructor() { + > +2 > +3 > this +4 > .#\u{78} = +5 > 0 +6 > +7 > ; +1->Emitted(14, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(14, 32) Source(5, 9) + SourceIndex(0) +3 >Emitted(14, 36) Source(5, 13) + SourceIndex(0) +4 >Emitted(14, 79) Source(5, 24) + SourceIndex(0) +5 >Emitted(14, 80) Source(5, 25) + SourceIndex(0) +6 >Emitted(14, 86) Source(5, 25) + SourceIndex(0) +7 >Emitted(14, 87) Source(5, 26) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(15, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(15, 6) Source(6, 6) + SourceIndex(0) +--- +>>> PrivateIdentifierWithExtendedEscape1.prototype.doThing = function () { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1-> + > + > +2 > doThing +3 > +1->Emitted(16, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(16, 59) Source(8, 12) + SourceIndex(0) +3 >Emitted(16, 62) Source(8, 5) + SourceIndex(0) +--- +>>> __classPrivateFieldSet(this, _PrivateIdentifierWithExtendedEscape1_x, 42, "f"); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^ +7 > ^ +1->doThing() { + > +2 > +3 > this +4 > .#x = +5 > 42 +6 > +7 > ; +1->Emitted(17, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(17, 32) Source(9, 9) + SourceIndex(0) +3 >Emitted(17, 36) Source(9, 13) + SourceIndex(0) +4 >Emitted(17, 79) Source(9, 19) + SourceIndex(0) +5 >Emitted(17, 81) Source(9, 21) + SourceIndex(0) +6 >Emitted(17, 87) Source(9, 21) + SourceIndex(0) +7 >Emitted(17, 88) Source(9, 22) + SourceIndex(0) +--- +>>> }; +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(18, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(18, 6) Source(10, 6) + SourceIndex(0) +--- +>>> return PrivateIdentifierWithExtendedEscape1; +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> + > +2 > } +1->Emitted(19, 5) Source(11, 1) + SourceIndex(0) +2 >Emitted(19, 48) Source(11, 2) + SourceIndex(0) +--- +>>>}()); +1 > +2 >^ +3 > +4 > ^^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +2 >} +3 > +4 > export class PrivateIdentifierWithExtendedEscape1 { + > #\u{78}: number; + > + > constructor() { + > this.#\u{78} = 0; + > } + > + > doThing() { + > this.#x = 42; + > } + > } +1 >Emitted(20, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(20, 2) Source(11, 2) + SourceIndex(0) +3 >Emitted(20, 2) Source(1, 1) + SourceIndex(0) +4 >Emitted(20, 6) Source(11, 2) + SourceIndex(0) +--- +>>>exports.PrivateIdentifierWithExtendedEscape1 = PrivateIdentifierWithExtendedEscape1; +1-> +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> +2 >PrivateIdentifierWithExtendedEscape1 +1->Emitted(21, 1) Source(1, 14) + SourceIndex(0) +2 >Emitted(21, 85) Source(1, 50) + SourceIndex(0) +--- +>>>_PrivateIdentifierWithExtendedEscape1_x = new WeakMap(); +>>>//# sourceMappingURL=PrivateIdentifierNameWithExtendedEscape1.js.map=================================================================== +JsFile: PrivateIdentifierNameWithExtendedEscape2.js +mapUrl: PrivateIdentifierNameWithExtendedEscape2.js.map +sourceRoot: +sources: PrivateIdentifierNameWithExtendedEscape2.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape2.js +sourceFile:PrivateIdentifierNameWithExtendedEscape2.ts +------------------------------------------------------------------- +>>>"use strict"; +>>>var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { +>>> if (kind === "m") throw new TypeError("Private method is not writable"); +>>> if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); +>>> if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); +>>> return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; +>>>}; +>>>var _PrivateIdentifierWithExtendedEscape2_xx; +>>>Object.defineProperty(exports, "__esModule", { value: true }); +>>>exports.PrivateIdentifierWithExtendedEscape2 = void 0; +>>>var PrivateIdentifierWithExtendedEscape2 = /** @class */ (function () { +1 > +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +1 >Emitted(11, 1) Source(1, 1) + SourceIndex(0) +--- +>>> function PrivateIdentifierWithExtendedEscape2() { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1->export class PrivateIdentifierWithExtendedEscape2 { + > #x\u{78}: number; + > + > +1->Emitted(12, 5) Source(4, 5) + SourceIndex(0) +--- +>>> _PrivateIdentifierWithExtendedEscape2_xx.set(this, void 0); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^-> +1-> +2 > #x\u{78}: number; +1->Emitted(13, 9) Source(2, 5) + SourceIndex(0) +2 >Emitted(13, 68) Source(2, 22) + SourceIndex(0) +--- +>>> __classPrivateFieldSet(this, _PrivateIdentifierWithExtendedEscape2_xx, 0, "f"); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^ +6 > ^^^^^^ +7 > ^ +1-> + > + > constructor() { + > +2 > +3 > this +4 > .#x\u{78} = +5 > 0 +6 > +7 > ; +1->Emitted(14, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(14, 32) Source(5, 9) + SourceIndex(0) +3 >Emitted(14, 36) Source(5, 13) + SourceIndex(0) +4 >Emitted(14, 80) Source(5, 25) + SourceIndex(0) +5 >Emitted(14, 81) Source(5, 26) + SourceIndex(0) +6 >Emitted(14, 87) Source(5, 26) + SourceIndex(0) +7 >Emitted(14, 88) Source(5, 27) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(15, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(15, 6) Source(6, 6) + SourceIndex(0) +--- +>>> PrivateIdentifierWithExtendedEscape2.prototype.doThing = function () { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1-> + > + > +2 > doThing +3 > +1->Emitted(16, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(16, 59) Source(8, 12) + SourceIndex(0) +3 >Emitted(16, 62) Source(8, 5) + SourceIndex(0) +--- +>>> __classPrivateFieldSet(this, _PrivateIdentifierWithExtendedEscape2_xx, 42, "f"); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^ +7 > ^ +1->doThing() { + > +2 > +3 > this +4 > .#xx = +5 > 42 +6 > +7 > ; +1->Emitted(17, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(17, 32) Source(9, 9) + SourceIndex(0) +3 >Emitted(17, 36) Source(9, 13) + SourceIndex(0) +4 >Emitted(17, 80) Source(9, 20) + SourceIndex(0) +5 >Emitted(17, 82) Source(9, 22) + SourceIndex(0) +6 >Emitted(17, 88) Source(9, 22) + SourceIndex(0) +7 >Emitted(17, 89) Source(9, 23) + SourceIndex(0) +--- +>>> }; +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(18, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(18, 6) Source(10, 6) + SourceIndex(0) +--- +>>> return PrivateIdentifierWithExtendedEscape2; +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> + > +2 > } +1->Emitted(19, 5) Source(11, 1) + SourceIndex(0) +2 >Emitted(19, 48) Source(11, 2) + SourceIndex(0) +--- +>>>}()); +1 > +2 >^ +3 > +4 > ^^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +2 >} +3 > +4 > export class PrivateIdentifierWithExtendedEscape2 { + > #x\u{78}: number; + > + > constructor() { + > this.#x\u{78} = 0; + > } + > + > doThing() { + > this.#xx = 42; + > } + > } +1 >Emitted(20, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(20, 2) Source(11, 2) + SourceIndex(0) +3 >Emitted(20, 2) Source(1, 1) + SourceIndex(0) +4 >Emitted(20, 6) Source(11, 2) + SourceIndex(0) +--- +>>>exports.PrivateIdentifierWithExtendedEscape2 = PrivateIdentifierWithExtendedEscape2; +1-> +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> +2 >PrivateIdentifierWithExtendedEscape2 +1->Emitted(21, 1) Source(1, 14) + SourceIndex(0) +2 >Emitted(21, 85) Source(1, 50) + SourceIndex(0) +--- +>>>_PrivateIdentifierWithExtendedEscape2_xx = new WeakMap(); +>>>//# sourceMappingURL=PrivateIdentifierNameWithExtendedEscape2.js.map \ No newline at end of file diff --git a/tests/baselines/reference/privateNamesEscapeSequences01(target=es5).symbols b/tests/baselines/reference/unicodeEscapesInNames01(target=es5).symbols similarity index 50% rename from tests/baselines/reference/privateNamesEscapeSequences01(target=es5).symbols rename to tests/baselines/reference/unicodeEscapesInNames01(target=es5).symbols index a950d1860864a..4e1bfd61551ce 100644 --- a/tests/baselines/reference/privateNamesEscapeSequences01(target=es5).symbols +++ b/tests/baselines/reference/unicodeEscapesInNames01(target=es5).symbols @@ -1,4 +1,32 @@ -=== tests/cases/conformance/classes/members/privateNames/IdentifierNameWithEscape1.ts === +=== tests/cases/compiler/identifierVariableWithEscape1.ts === +export let \u0078 = 10; +>\u0078 : Symbol(\u0078, Decl(identifierVariableWithEscape1.ts, 0, 10)) + +x++; +>x : Symbol(\u0078, Decl(identifierVariableWithEscape1.ts, 0, 10)) + +=== tests/cases/compiler/identifierVariableWithEscape2.ts === +export let x\u0078 = 10; +>x\u0078 : Symbol(x\u0078, Decl(identifierVariableWithEscape2.ts, 0, 10)) + +xx++; +>xx : Symbol(x\u0078, Decl(identifierVariableWithEscape2.ts, 0, 10)) + +=== tests/cases/compiler/identifierVariableWithExtendedEscape1.ts === +export let \u{78} = 10; +>\u{78} : Symbol(\u{78}, Decl(identifierVariableWithExtendedEscape1.ts, 0, 10)) + +x++; +>x : Symbol(\u{78}, Decl(identifierVariableWithExtendedEscape1.ts, 0, 10)) + +=== tests/cases/compiler/identifierVariableWithExtendedEscape2.ts === +export let x\u{78} = 10; +>x\u{78} : Symbol(x\u{78}, Decl(identifierVariableWithExtendedEscape2.ts, 0, 10)) + +xx++; +>xx : Symbol(x\u{78}, Decl(identifierVariableWithExtendedEscape2.ts, 0, 10)) + +=== tests/cases/compiler/IdentifierNameWithEscape1.ts === export class IdentifierNameWithEscape1 { >IdentifierNameWithEscape1 : Symbol(IdentifierNameWithEscape1, Decl(IdentifierNameWithEscape1.ts, 0, 0)) @@ -22,7 +50,7 @@ export class IdentifierNameWithEscape1 { } } -=== tests/cases/conformance/classes/members/privateNames/IdentifierNameWithEscape2.ts === +=== tests/cases/compiler/IdentifierNameWithEscape2.ts === export class IdentifierNameWithEscape2 { >IdentifierNameWithEscape2 : Symbol(IdentifierNameWithEscape2, Decl(IdentifierNameWithEscape2.ts, 0, 0)) @@ -46,40 +74,55 @@ export class IdentifierNameWithEscape2 { } } -=== tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts === +=== tests/cases/compiler/IdentifierNameWithExtendedEscape1.ts === export class IdentifierNameWithExtendedEscape1 { >IdentifierNameWithExtendedEscape1 : Symbol(IdentifierNameWithExtendedEscape1, Decl(IdentifierNameWithExtendedEscape1.ts, 0, 0)) \u{78}: number; ->u : Symbol(IdentifierNameWithExtendedEscape1.u, Decl(IdentifierNameWithExtendedEscape1.ts, 1, 5)) +>\u{78} : Symbol(IdentifierNameWithExtendedEscape1[\u{78}], Decl(IdentifierNameWithExtendedEscape1.ts, 0, 48)) constructor() { this.\u{78} = 0; +>this.\u{78} : Symbol(IdentifierNameWithExtendedEscape1[\u{78}], Decl(IdentifierNameWithExtendedEscape1.ts, 0, 48)) +>this : Symbol(IdentifierNameWithExtendedEscape1, Decl(IdentifierNameWithExtendedEscape1.ts, 0, 0)) +>\u{78} : Symbol(IdentifierNameWithExtendedEscape1[\u{78}], Decl(IdentifierNameWithExtendedEscape1.ts, 0, 48)) } doThing() { +>doThing : Symbol(IdentifierNameWithExtendedEscape1.doThing, Decl(IdentifierNameWithExtendedEscape1.ts, 5, 5)) + this.x = 42; +>this.x : Symbol(IdentifierNameWithExtendedEscape1[\u{78}], Decl(IdentifierNameWithExtendedEscape1.ts, 0, 48)) +>this : Symbol(IdentifierNameWithExtendedEscape1, Decl(IdentifierNameWithExtendedEscape1.ts, 0, 0)) +>x : Symbol(IdentifierNameWithExtendedEscape1[\u{78}], Decl(IdentifierNameWithExtendedEscape1.ts, 0, 48)) } } -=== tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts === +=== tests/cases/compiler/IdentifierNameWithExtendedEscape2.ts === export class IdentifierNameWithExtendedEscape2 { >IdentifierNameWithExtendedEscape2 : Symbol(IdentifierNameWithExtendedEscape2, Decl(IdentifierNameWithExtendedEscape2.ts, 0, 0)) x\u{78}: number; ->x : Symbol(IdentifierNameWithExtendedEscape2.x, Decl(IdentifierNameWithExtendedEscape2.ts, 0, 48)) ->u : Symbol(IdentifierNameWithExtendedEscape2.u, Decl(IdentifierNameWithExtendedEscape2.ts, 1, 6)) +>x\u{78} : Symbol(IdentifierNameWithExtendedEscape2.x\u{78}, Decl(IdentifierNameWithExtendedEscape2.ts, 0, 48)) constructor() { this.x\u{78} = 0; +>this.x\u{78} : Symbol(IdentifierNameWithExtendedEscape2.x\u{78}, Decl(IdentifierNameWithExtendedEscape2.ts, 0, 48)) +>this : Symbol(IdentifierNameWithExtendedEscape2, Decl(IdentifierNameWithExtendedEscape2.ts, 0, 0)) +>x\u{78} : Symbol(IdentifierNameWithExtendedEscape2.x\u{78}, Decl(IdentifierNameWithExtendedEscape2.ts, 0, 48)) } doThing() { +>doThing : Symbol(IdentifierNameWithExtendedEscape2.doThing, Decl(IdentifierNameWithExtendedEscape2.ts, 5, 5)) + this.xx = 42; +>this.xx : Symbol(IdentifierNameWithExtendedEscape2.x\u{78}, Decl(IdentifierNameWithExtendedEscape2.ts, 0, 48)) +>this : Symbol(IdentifierNameWithExtendedEscape2, Decl(IdentifierNameWithExtendedEscape2.ts, 0, 0)) +>xx : Symbol(IdentifierNameWithExtendedEscape2.x\u{78}, Decl(IdentifierNameWithExtendedEscape2.ts, 0, 48)) } } -=== tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithEscape1.ts === +=== tests/cases/compiler/PrivateIdentifierNameWithEscape1.ts === export class PrivateIdentifierWithEscape1 { >PrivateIdentifierWithEscape1 : Symbol(PrivateIdentifierWithEscape1, Decl(PrivateIdentifierNameWithEscape1.ts, 0, 0)) @@ -101,7 +144,7 @@ export class PrivateIdentifierWithEscape1 { } } -=== tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithEscape2.ts === +=== tests/cases/compiler/PrivateIdentifierNameWithEscape2.ts === export class PrivateIdentifierWithEscape2 { >PrivateIdentifierWithEscape2 : Symbol(PrivateIdentifierWithEscape2, Decl(PrivateIdentifierNameWithEscape2.ts, 0, 0)) @@ -123,37 +166,47 @@ export class PrivateIdentifierWithEscape2 { } } -=== tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts === +=== tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape1.ts === export class PrivateIdentifierWithExtendedEscape1 { >PrivateIdentifierWithExtendedEscape1 : Symbol(PrivateIdentifierWithExtendedEscape1, Decl(PrivateIdentifierNameWithExtendedEscape1.ts, 0, 0)) #\u{78}: number; -># : Symbol(PrivateIdentifierWithExtendedEscape1[#], Decl(PrivateIdentifierNameWithExtendedEscape1.ts, 0, 51)) ->u : Symbol(PrivateIdentifierWithExtendedEscape1.u, Decl(PrivateIdentifierNameWithExtendedEscape1.ts, 1, 6)) +>#\u{78} : Symbol(PrivateIdentifierWithExtendedEscape1[#\u{78}], Decl(PrivateIdentifierNameWithExtendedEscape1.ts, 0, 51)) constructor() { this.#\u{78} = 0; +>this.#\u{78} : Symbol(PrivateIdentifierWithExtendedEscape1[#\u{78}], Decl(PrivateIdentifierNameWithExtendedEscape1.ts, 0, 51)) +>this : Symbol(PrivateIdentifierWithExtendedEscape1, Decl(PrivateIdentifierNameWithExtendedEscape1.ts, 0, 0)) } doThing() { +>doThing : Symbol(PrivateIdentifierWithExtendedEscape1.doThing, Decl(PrivateIdentifierNameWithExtendedEscape1.ts, 5, 5)) + this.#x = 42; +>this.#x : Symbol(PrivateIdentifierWithExtendedEscape1[#\u{78}], Decl(PrivateIdentifierNameWithExtendedEscape1.ts, 0, 51)) +>this : Symbol(PrivateIdentifierWithExtendedEscape1, Decl(PrivateIdentifierNameWithExtendedEscape1.ts, 0, 0)) } } -=== tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts === +=== tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape2.ts === export class PrivateIdentifierWithExtendedEscape2 { >PrivateIdentifierWithExtendedEscape2 : Symbol(PrivateIdentifierWithExtendedEscape2, Decl(PrivateIdentifierNameWithExtendedEscape2.ts, 0, 0)) #x\u{78}: number; ->#x : Symbol(PrivateIdentifierWithExtendedEscape2.#x, Decl(PrivateIdentifierNameWithExtendedEscape2.ts, 0, 51)) ->u : Symbol(PrivateIdentifierWithExtendedEscape2.u, Decl(PrivateIdentifierNameWithExtendedEscape2.ts, 1, 7)) +>#x\u{78} : Symbol(PrivateIdentifierWithExtendedEscape2.#x\u{78}, Decl(PrivateIdentifierNameWithExtendedEscape2.ts, 0, 51)) constructor() { this.#x\u{78} = 0; +>this.#x\u{78} : Symbol(PrivateIdentifierWithExtendedEscape2.#x\u{78}, Decl(PrivateIdentifierNameWithExtendedEscape2.ts, 0, 51)) +>this : Symbol(PrivateIdentifierWithExtendedEscape2, Decl(PrivateIdentifierNameWithExtendedEscape2.ts, 0, 0)) } doThing() { +>doThing : Symbol(PrivateIdentifierWithExtendedEscape2.doThing, Decl(PrivateIdentifierNameWithExtendedEscape2.ts, 5, 5)) + this.#xx = 42; +>this.#xx : Symbol(PrivateIdentifierWithExtendedEscape2.#x\u{78}, Decl(PrivateIdentifierNameWithExtendedEscape2.ts, 0, 51)) +>this : Symbol(PrivateIdentifierWithExtendedEscape2, Decl(PrivateIdentifierNameWithExtendedEscape2.ts, 0, 0)) } } diff --git a/tests/baselines/reference/privateNamesEscapeSequences01(target=es5).types b/tests/baselines/reference/unicodeEscapesInNames01(target=es5).types similarity index 58% rename from tests/baselines/reference/privateNamesEscapeSequences01(target=es5).types rename to tests/baselines/reference/unicodeEscapesInNames01(target=es5).types index e9ae9d761f647..838f197b691be 100644 --- a/tests/baselines/reference/privateNamesEscapeSequences01(target=es5).types +++ b/tests/baselines/reference/unicodeEscapesInNames01(target=es5).types @@ -1,4 +1,40 @@ -=== tests/cases/conformance/classes/members/privateNames/IdentifierNameWithEscape1.ts === +=== tests/cases/compiler/identifierVariableWithEscape1.ts === +export let \u0078 = 10; +>\u0078 : number +>10 : 10 + +x++; +>x++ : number +>x : number + +=== tests/cases/compiler/identifierVariableWithEscape2.ts === +export let x\u0078 = 10; +>x\u0078 : number +>10 : 10 + +xx++; +>xx++ : number +>xx : number + +=== tests/cases/compiler/identifierVariableWithExtendedEscape1.ts === +export let \u{78} = 10; +>\u{78} : number +>10 : 10 + +x++; +>x++ : number +>x : number + +=== tests/cases/compiler/identifierVariableWithExtendedEscape2.ts === +export let x\u{78} = 10; +>x\u{78} : number +>10 : 10 + +xx++; +>xx++ : number +>xx : number + +=== tests/cases/compiler/IdentifierNameWithEscape1.ts === export class IdentifierNameWithEscape1 { >IdentifierNameWithEscape1 : IdentifierNameWithEscape1 @@ -26,7 +62,7 @@ export class IdentifierNameWithEscape1 { } } -=== tests/cases/conformance/classes/members/privateNames/IdentifierNameWithEscape2.ts === +=== tests/cases/compiler/IdentifierNameWithEscape2.ts === export class IdentifierNameWithEscape2 { >IdentifierNameWithEscape2 : IdentifierNameWithEscape2 @@ -54,78 +90,63 @@ export class IdentifierNameWithEscape2 { } } -=== tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape1.ts === +=== tests/cases/compiler/IdentifierNameWithExtendedEscape1.ts === export class IdentifierNameWithExtendedEscape1 { >IdentifierNameWithExtendedEscape1 : IdentifierNameWithExtendedEscape1 \u{78}: number; ->u : any ->78 : 78 ->number : any +>\u{78} : number constructor() { ->constructor() : any ->constructor : any - this.\u{78} = 0; ->this. : any ->this : undefined -> : any ->u : any ->78 : 78 +>this.\u{78} = 0 : 0 +>this.\u{78} : number +>this : this +>\u{78} : number >0 : 0 } doThing() { ->doThing() : any ->doThing : any +>doThing : () => void this.x = 42; >this.x = 42 : 42 ->this.x : any ->this : undefined ->x : any +>this.x : number +>this : this +>x : number >42 : 42 } } -=== tests/cases/conformance/classes/members/privateNames/IdentifierNameWithExtendedEscape2.ts === +=== tests/cases/compiler/IdentifierNameWithExtendedEscape2.ts === export class IdentifierNameWithExtendedEscape2 { >IdentifierNameWithExtendedEscape2 : IdentifierNameWithExtendedEscape2 x\u{78}: number; ->x : any ->u : any ->78 : 78 ->number : any +>x\u{78} : number constructor() { ->constructor() : any ->constructor : any - this.x\u{78} = 0; ->this.x : any ->this : undefined ->x : any ->u : any ->78 : 78 +>this.x\u{78} = 0 : 0 +>this.x\u{78} : number +>this : this +>x\u{78} : number >0 : 0 } doThing() { ->doThing() : any ->doThing : any +>doThing : () => void this.xx = 42; >this.xx = 42 : 42 ->this.xx : any ->this : undefined ->xx : any +>this.xx : number +>this : this +>xx : number >42 : 42 } } -=== tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithEscape1.ts === +=== tests/cases/compiler/PrivateIdentifierNameWithEscape1.ts === export class PrivateIdentifierWithEscape1 { >PrivateIdentifierWithEscape1 : PrivateIdentifierWithEscape1 @@ -151,7 +172,7 @@ export class PrivateIdentifierWithEscape1 { } } -=== tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithEscape2.ts === +=== tests/cases/compiler/PrivateIdentifierNameWithEscape2.ts === export class PrivateIdentifierWithEscape2 { >PrivateIdentifierWithEscape2 : PrivateIdentifierWithEscape2 @@ -177,70 +198,54 @@ export class PrivateIdentifierWithEscape2 { } } -=== tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape1.ts === +=== tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape1.ts === export class PrivateIdentifierWithExtendedEscape1 { >PrivateIdentifierWithExtendedEscape1 : PrivateIdentifierWithExtendedEscape1 #\u{78}: number; -># : any ->u : any ->78 : 78 ->number : any +>#\u{78} : number constructor() { ->constructor() : any ->constructor : any - this.#\u{78} = 0; ->this.# : any ->this : undefined ->u : any ->78 : 78 +>this.#\u{78} = 0 : 0 +>this.#\u{78} : number +>this : this >0 : 0 } doThing() { ->doThing() : any ->doThing : any +>doThing : () => void this.#x = 42; >this.#x = 42 : 42 ->this.#x : any ->this : undefined +>this.#x : number +>this : this >42 : 42 } } -=== tests/cases/conformance/classes/members/privateNames/PrivateIdentifierNameWithExtendedEscape2.ts === +=== tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape2.ts === export class PrivateIdentifierWithExtendedEscape2 { >PrivateIdentifierWithExtendedEscape2 : PrivateIdentifierWithExtendedEscape2 #x\u{78}: number; ->#x : any ->u : any ->78 : 78 ->number : any +>#x\u{78} : number constructor() { ->constructor() : any ->constructor : any - this.#x\u{78} = 0; ->this.#x : any ->this : undefined ->u : any ->78 : 78 +>this.#x\u{78} = 0 : 0 +>this.#x\u{78} : number +>this : this >0 : 0 } doThing() { ->doThing() : any ->doThing : any +>doThing : () => void this.#xx = 42; >this.#xx = 42 : 42 ->this.#xx : any ->this : undefined +>this.#xx : number +>this : this >42 : 42 } } diff --git a/tests/baselines/reference/unicodeEscapesInNames01(target=esnext).js b/tests/baselines/reference/unicodeEscapesInNames01(target=esnext).js new file mode 100644 index 0000000000000..1027842b2164b --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames01(target=esnext).js @@ -0,0 +1,227 @@ +//// [tests/cases/compiler/unicodeEscapesInNames01.ts] //// + +//// [identifierVariableWithEscape1.ts] +export let \u0078 = 10; +x++; + +//// [identifierVariableWithEscape2.ts] +export let x\u0078 = 10; +xx++; + +//// [identifierVariableWithExtendedEscape1.ts] +export let \u{78} = 10; +x++; + +//// [identifierVariableWithExtendedEscape2.ts] +export let x\u{78} = 10; +xx++; + +//// [IdentifierNameWithEscape1.ts] +export class IdentifierNameWithEscape1 { + \u0078: number; + + constructor() { + this.\u0078 = 0; + } + + doThing() { + this.x = 42; + } +} + +//// [IdentifierNameWithEscape2.ts] +export class IdentifierNameWithEscape2 { + x\u0078: number; + + constructor() { + this.x\u0078 = 0; + } + + doThing() { + this.xx = 42; + } +} + +//// [IdentifierNameWithExtendedEscape1.ts] +export class IdentifierNameWithExtendedEscape1 { + \u{78}: number; + + constructor() { + this.\u{78} = 0; + } + + doThing() { + this.x = 42; + } +} + +//// [IdentifierNameWithExtendedEscape2.ts] +export class IdentifierNameWithExtendedEscape2 { + x\u{78}: number; + + constructor() { + this.x\u{78} = 0; + } + + doThing() { + this.xx = 42; + } +} + +//// [PrivateIdentifierNameWithEscape1.ts] +export class PrivateIdentifierWithEscape1 { + #\u0078: number; + + constructor() { + this.#\u0078 = 0; + } + + doThing() { + this.#x = 42; + } +} + +//// [PrivateIdentifierNameWithEscape2.ts] +export class PrivateIdentifierWithEscape2 { + #x\u0078: number; + + constructor() { + this.#x\u0078 = 0; + } + + doThing() { + this.#xx = 42; + } +} + +//// [PrivateIdentifierNameWithExtendedEscape1.ts] +export class PrivateIdentifierWithExtendedEscape1 { + #\u{78}: number; + + constructor() { + this.#\u{78} = 0; + } + + doThing() { + this.#x = 42; + } +} + +//// [PrivateIdentifierNameWithExtendedEscape2.ts] +export class PrivateIdentifierWithExtendedEscape2 { + #x\u{78}: number; + + constructor() { + this.#x\u{78} = 0; + } + + doThing() { + this.#xx = 42; + } +} + + +//// [identifierVariableWithEscape1.js] +export let \u0078 = 10; +x++; +//# sourceMappingURL=identifierVariableWithEscape1.js.map +//// [identifierVariableWithEscape2.js] +export let x\u0078 = 10; +xx++; +//# sourceMappingURL=identifierVariableWithEscape2.js.map +//// [identifierVariableWithExtendedEscape1.js] +export let \u{78} = 10; +x++; +//# sourceMappingURL=identifierVariableWithExtendedEscape1.js.map +//// [identifierVariableWithExtendedEscape2.js] +export let x\u{78} = 10; +xx++; +//# sourceMappingURL=identifierVariableWithExtendedEscape2.js.map +//// [IdentifierNameWithEscape1.js] +export class IdentifierNameWithEscape1 { + \u0078; + constructor() { + this.\u0078 = 0; + } + doThing() { + this.x = 42; + } +} +//# sourceMappingURL=IdentifierNameWithEscape1.js.map +//// [IdentifierNameWithEscape2.js] +export class IdentifierNameWithEscape2 { + x\u0078; + constructor() { + this.x\u0078 = 0; + } + doThing() { + this.xx = 42; + } +} +//# sourceMappingURL=IdentifierNameWithEscape2.js.map +//// [IdentifierNameWithExtendedEscape1.js] +export class IdentifierNameWithExtendedEscape1 { + \u{78}; + constructor() { + this.\u{78} = 0; + } + doThing() { + this.x = 42; + } +} +//# sourceMappingURL=IdentifierNameWithExtendedEscape1.js.map +//// [IdentifierNameWithExtendedEscape2.js] +export class IdentifierNameWithExtendedEscape2 { + x\u{78}; + constructor() { + this.x\u{78} = 0; + } + doThing() { + this.xx = 42; + } +} +//# sourceMappingURL=IdentifierNameWithExtendedEscape2.js.map +//// [PrivateIdentifierNameWithEscape1.js] +export class PrivateIdentifierWithEscape1 { + #\u0078; + constructor() { + this.#\u0078 = 0; + } + doThing() { + this.#x = 42; + } +} +//# sourceMappingURL=PrivateIdentifierNameWithEscape1.js.map +//// [PrivateIdentifierNameWithEscape2.js] +export class PrivateIdentifierWithEscape2 { + #x\u0078; + constructor() { + this.#x\u0078 = 0; + } + doThing() { + this.#xx = 42; + } +} +//# sourceMappingURL=PrivateIdentifierNameWithEscape2.js.map +//// [PrivateIdentifierNameWithExtendedEscape1.js] +export class PrivateIdentifierWithExtendedEscape1 { + #\u{78}; + constructor() { + this.#\u{78} = 0; + } + doThing() { + this.#x = 42; + } +} +//# sourceMappingURL=PrivateIdentifierNameWithExtendedEscape1.js.map +//// [PrivateIdentifierNameWithExtendedEscape2.js] +export class PrivateIdentifierWithExtendedEscape2 { + #x\u{78}; + constructor() { + this.#x\u{78} = 0; + } + doThing() { + this.#xx = 42; + } +} +//# sourceMappingURL=PrivateIdentifierNameWithExtendedEscape2.js.map \ No newline at end of file diff --git a/tests/baselines/reference/unicodeEscapesInNames01(target=esnext).js.map b/tests/baselines/reference/unicodeEscapesInNames01(target=esnext).js.map new file mode 100644 index 0000000000000..5646a3ff1d097 --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames01(target=esnext).js.map @@ -0,0 +1,47 @@ +//// [identifierVariableWithEscape1.js.map] +{"version":3,"file":"identifierVariableWithEscape1.js","sourceRoot":"","sources":["identifierVariableWithEscape1.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,CAAC,EAAE,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IGxldCBcdTAwNzggPSAxMDsNCngrKzsNCi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlkZW50aWZpZXJWYXJpYWJsZVdpdGhFc2NhcGUxLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpZmllclZhcmlhYmxlV2l0aEVzY2FwZTEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpZGVudGlmaWVyVmFyaWFibGVXaXRoRXNjYXBlMS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO0FBQ3ZCLENBQUMsRUFBRSxDQUFDIn0=,ZXhwb3J0IGxldCBcdTAwNzggPSAxMDsKeCsrOwo= + +//// [identifierVariableWithEscape2.js.map] +{"version":3,"file":"identifierVariableWithEscape2.js","sourceRoot":"","sources":["identifierVariableWithEscape2.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAI,OAAO,GAAG,EAAE,CAAC;AACxB,EAAE,EAAE,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IGxldCB4XHUwMDc4ID0gMTA7DQp4eCsrOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9aWRlbnRpZmllclZhcmlhYmxlV2l0aEVzY2FwZTIuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpZmllclZhcmlhYmxlV2l0aEVzY2FwZTIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpZGVudGlmaWVyVmFyaWFibGVXaXRoRXNjYXBlMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO0FBQ3hCLEVBQUUsRUFBRSxDQUFDIn0=,ZXhwb3J0IGxldCB4XHUwMDc4ID0gMTA7Cnh4Kys7Cg== + +//// [identifierVariableWithExtendedEscape1.js.map] +{"version":3,"file":"identifierVariableWithExtendedEscape1.js","sourceRoot":"","sources":["identifierVariableWithExtendedEscape1.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,CAAC,EAAE,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IGxldCBcdXs3OH0gPSAxMDsNCngrKzsNCi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlkZW50aWZpZXJWYXJpYWJsZVdpdGhFeHRlbmRlZEVzY2FwZTEuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpZmllclZhcmlhYmxlV2l0aEV4dGVuZGVkRXNjYXBlMS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlkZW50aWZpZXJWYXJpYWJsZVdpdGhFeHRlbmRlZEVzY2FwZTEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUN2QixDQUFDLEVBQUUsQ0FBQyJ9,ZXhwb3J0IGxldCBcdXs3OH0gPSAxMDsKeCsrOwo= + +//// [identifierVariableWithExtendedEscape2.js.map] +{"version":3,"file":"identifierVariableWithExtendedEscape2.js","sourceRoot":"","sources":["identifierVariableWithExtendedEscape2.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAI,OAAO,GAAG,EAAE,CAAC;AACxB,EAAE,EAAE,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IGxldCB4XHV7Nzh9ID0gMTA7DQp4eCsrOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9aWRlbnRpZmllclZhcmlhYmxlV2l0aEV4dGVuZGVkRXNjYXBlMi5qcy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpZmllclZhcmlhYmxlV2l0aEV4dGVuZGVkRXNjYXBlMi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlkZW50aWZpZXJWYXJpYWJsZVdpdGhFeHRlbmRlZEVzY2FwZTIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztBQUN4QixFQUFFLEVBQUUsQ0FBQyJ9,ZXhwb3J0IGxldCB4XHV7Nzh9ID0gMTA7Cnh4Kys7Cg== + +//// [IdentifierNameWithEscape1.js.map] +{"version":3,"file":"IdentifierNameWithEscape1.js","sourceRoot":"","sources":["IdentifierNameWithEscape1.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,yBAAyB;IAClC,MAAM,CAAS;IAEf;QACI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;CACJ"} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IGNsYXNzIElkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTEgew0KICAgIFx1MDA3ODsNCiAgICBjb25zdHJ1Y3RvcigpIHsNCiAgICAgICAgdGhpcy5cdTAwNzggPSAwOw0KICAgIH0NCiAgICBkb1RoaW5nKCkgew0KICAgICAgICB0aGlzLnggPSA0MjsNCiAgICB9DQp9DQovLyMgc291cmNlTWFwcGluZ1VSTD1JZGVudGlmaWVyTmFtZVdpdGhFc2NhcGUxLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIklkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLHlCQUF5QjtJQUNsQyxNQUFNLENBQVM7SUFFZjtRQUNJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDaEIsQ0FBQztDQUNKIn0=,ZXhwb3J0IGNsYXNzIElkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTEgewogICAgXHUwMDc4OiBudW1iZXI7CgogICAgY29uc3RydWN0b3IoKSB7CiAgICAgICAgdGhpcy5cdTAwNzggPSAwOwogICAgfQoKICAgIGRvVGhpbmcoKSB7CiAgICAgICAgdGhpcy54ID0gNDI7CiAgICB9Cn0K + +//// [IdentifierNameWithEscape2.js.map] +{"version":3,"file":"IdentifierNameWithEscape2.js","sourceRoot":"","sources":["IdentifierNameWithEscape2.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,yBAAyB;IAClC,OAAO,CAAS;IAEhB;QACI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;CACJ"} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IGNsYXNzIElkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTIgew0KICAgIHhcdTAwNzg7DQogICAgY29uc3RydWN0b3IoKSB7DQogICAgICAgIHRoaXMueFx1MDA3OCA9IDA7DQogICAgfQ0KICAgIGRvVGhpbmcoKSB7DQogICAgICAgIHRoaXMueHggPSA0MjsNCiAgICB9DQp9DQovLyMgc291cmNlTWFwcGluZ1VSTD1JZGVudGlmaWVyTmFtZVdpdGhFc2NhcGUyLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIklkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLHlCQUF5QjtJQUNsQyxPQUFPLENBQVM7SUFFaEI7UUFDSSxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLENBQUM7Q0FDSiJ9,ZXhwb3J0IGNsYXNzIElkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTIgewogICAgeFx1MDA3ODogbnVtYmVyOwoKICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgIHRoaXMueFx1MDA3OCA9IDA7CiAgICB9CgogICAgZG9UaGluZygpIHsKICAgICAgICB0aGlzLnh4ID0gNDI7CiAgICB9Cn0K + +//// [IdentifierNameWithExtendedEscape1.js.map] +{"version":3,"file":"IdentifierNameWithExtendedEscape1.js","sourceRoot":"","sources":["IdentifierNameWithExtendedEscape1.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iCAAiC;IAC1C,MAAM,CAAS;IAEf;QACI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;CACJ"} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IGNsYXNzIElkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMSB7DQogICAgXHV7Nzh9Ow0KICAgIGNvbnN0cnVjdG9yKCkgew0KICAgICAgICB0aGlzLlx1ezc4fSA9IDA7DQogICAgfQ0KICAgIGRvVGhpbmcoKSB7DQogICAgICAgIHRoaXMueCA9IDQyOw0KICAgIH0NCn0NCi8vIyBzb3VyY2VNYXBwaW5nVVJMPUlkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMS5qcy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUxLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiSWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUxLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxpQ0FBaUM7SUFDMUMsTUFBTSxDQUFTO0lBRWY7UUFDSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLENBQUM7Q0FDSiJ9,ZXhwb3J0IGNsYXNzIElkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMSB7CiAgICBcdXs3OH06IG51bWJlcjsKCiAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgICB0aGlzLlx1ezc4fSA9IDA7CiAgICB9CgogICAgZG9UaGluZygpIHsKICAgICAgICB0aGlzLnggPSA0MjsKICAgIH0KfQo= + +//// [IdentifierNameWithExtendedEscape2.js.map] +{"version":3,"file":"IdentifierNameWithExtendedEscape2.js","sourceRoot":"","sources":["IdentifierNameWithExtendedEscape2.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iCAAiC;IAC1C,OAAO,CAAS;IAEhB;QACI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;CACJ"} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IGNsYXNzIElkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMiB7DQogICAgeFx1ezc4fTsNCiAgICBjb25zdHJ1Y3RvcigpIHsNCiAgICAgICAgdGhpcy54XHV7Nzh9ID0gMDsNCiAgICB9DQogICAgZG9UaGluZygpIHsNCiAgICAgICAgdGhpcy54eCA9IDQyOw0KICAgIH0NCn0NCi8vIyBzb3VyY2VNYXBwaW5nVVJMPUlkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMi5qcy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiSWRlbnRpZmllck5hbWVXaXRoRXh0ZW5kZWRFc2NhcGUyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxpQ0FBaUM7SUFDMUMsT0FBTyxDQUFTO0lBRWhCO1FBQ0ksSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNqQixDQUFDO0NBQ0oifQ==,ZXhwb3J0IGNsYXNzIElkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMiB7CiAgICB4XHV7Nzh9OiBudW1iZXI7CgogICAgY29uc3RydWN0b3IoKSB7CiAgICAgICAgdGhpcy54XHV7Nzh9ID0gMDsKICAgIH0KCiAgICBkb1RoaW5nKCkgewogICAgICAgIHRoaXMueHggPSA0MjsKICAgIH0KfQo= + +//// [PrivateIdentifierNameWithEscape1.js.map] +{"version":3,"file":"PrivateIdentifierNameWithEscape1.js","sourceRoot":"","sources":["PrivateIdentifierNameWithEscape1.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,4BAA4B;IACrC,OAAO,CAAS;IAEhB;QACI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;CACJ"} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IGNsYXNzIFByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTEgew0KICAgICNcdTAwNzg7DQogICAgY29uc3RydWN0b3IoKSB7DQogICAgICAgIHRoaXMuI1x1MDA3OCA9IDA7DQogICAgfQ0KICAgIGRvVGhpbmcoKSB7DQogICAgICAgIHRoaXMuI3ggPSA0MjsNCiAgICB9DQp9DQovLyMgc291cmNlTWFwcGluZ1VSTD1Qcml2YXRlSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMS5qcy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZUlkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJQcml2YXRlSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sNEJBQTRCO0lBQ3JDLE9BQU8sQ0FBUztJQUVoQjtRQUNJLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQztDQUNKIn0=,ZXhwb3J0IGNsYXNzIFByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTEgewogICAgI1x1MDA3ODogbnVtYmVyOwoKICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgIHRoaXMuI1x1MDA3OCA9IDA7CiAgICB9CgogICAgZG9UaGluZygpIHsKICAgICAgICB0aGlzLiN4ID0gNDI7CiAgICB9Cn0K + +//// [PrivateIdentifierNameWithEscape2.js.map] +{"version":3,"file":"PrivateIdentifierNameWithEscape2.js","sourceRoot":"","sources":["PrivateIdentifierNameWithEscape2.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,4BAA4B;IACrC,QAAQ,CAAS;IAEjB;QACI,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAClB,CAAC;CACJ"} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IGNsYXNzIFByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTIgew0KICAgICN4XHUwMDc4Ow0KICAgIGNvbnN0cnVjdG9yKCkgew0KICAgICAgICB0aGlzLiN4XHUwMDc4ID0gMDsNCiAgICB9DQogICAgZG9UaGluZygpIHsNCiAgICAgICAgdGhpcy4jeHggPSA0MjsNCiAgICB9DQp9DQovLyMgc291cmNlTWFwcGluZ1VSTD1Qcml2YXRlSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMi5qcy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZUlkZW50aWZpZXJOYW1lV2l0aEVzY2FwZTIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJQcml2YXRlSWRlbnRpZmllck5hbWVXaXRoRXNjYXBlMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sNEJBQTRCO0lBQ3JDLFFBQVEsQ0FBUztJQUVqQjtRQUNJLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDbEIsQ0FBQztDQUNKIn0=,ZXhwb3J0IGNsYXNzIFByaXZhdGVJZGVudGlmaWVyV2l0aEVzY2FwZTIgewogICAgI3hcdTAwNzg6IG51bWJlcjsKCiAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgICB0aGlzLiN4XHUwMDc4ID0gMDsKICAgIH0KCiAgICBkb1RoaW5nKCkgewogICAgICAgIHRoaXMuI3h4ID0gNDI7CiAgICB9Cn0K + +//// [PrivateIdentifierNameWithExtendedEscape1.js.map] +{"version":3,"file":"PrivateIdentifierNameWithExtendedEscape1.js","sourceRoot":"","sources":["PrivateIdentifierNameWithExtendedEscape1.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,oCAAoC;IAC7C,OAAO,CAAS;IAEhB;QACI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;CACJ"} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IGNsYXNzIFByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMSB7DQogICAgI1x1ezc4fTsNCiAgICBjb25zdHJ1Y3RvcigpIHsNCiAgICAgICAgdGhpcy4jXHV7Nzh9ID0gMDsNCiAgICB9DQogICAgZG9UaGluZygpIHsNCiAgICAgICAgdGhpcy4jeCA9IDQyOw0KICAgIH0NCn0NCi8vIyBzb3VyY2VNYXBwaW5nVVJMPVByaXZhdGVJZGVudGlmaWVyTmFtZVdpdGhFeHRlbmRlZEVzY2FwZTEuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZUlkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlByaXZhdGVJZGVudGlmaWVyTmFtZVdpdGhFeHRlbmRlZEVzY2FwZTEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLG9DQUFvQztJQUM3QyxPQUFPLENBQVM7SUFFaEI7UUFDSSxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLENBQUM7Q0FDSiJ9,ZXhwb3J0IGNsYXNzIFByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMSB7CiAgICAjXHV7Nzh9OiBudW1iZXI7CgogICAgY29uc3RydWN0b3IoKSB7CiAgICAgICAgdGhpcy4jXHV7Nzh9ID0gMDsKICAgIH0KCiAgICBkb1RoaW5nKCkgewogICAgICAgIHRoaXMuI3ggPSA0MjsKICAgIH0KfQo= + +//// [PrivateIdentifierNameWithExtendedEscape2.js.map] +{"version":3,"file":"PrivateIdentifierNameWithExtendedEscape2.js","sourceRoot":"","sources":["PrivateIdentifierNameWithExtendedEscape2.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,oCAAoC;IAC7C,QAAQ,CAAS;IAEjB;QACI,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAClB,CAAC;CACJ"} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IGNsYXNzIFByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMiB7DQogICAgI3hcdXs3OH07DQogICAgY29uc3RydWN0b3IoKSB7DQogICAgICAgIHRoaXMuI3hcdXs3OH0gPSAwOw0KICAgIH0NCiAgICBkb1RoaW5nKCkgew0KICAgICAgICB0aGlzLiN4eCA9IDQyOw0KICAgIH0NCn0NCi8vIyBzb3VyY2VNYXBwaW5nVVJMPVByaXZhdGVJZGVudGlmaWVyTmFtZVdpdGhFeHRlbmRlZEVzY2FwZTIuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZUlkZW50aWZpZXJOYW1lV2l0aEV4dGVuZGVkRXNjYXBlMi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlByaXZhdGVJZGVudGlmaWVyTmFtZVdpdGhFeHRlbmRlZEVzY2FwZTIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLG9DQUFvQztJQUM3QyxRQUFRLENBQVM7SUFFakI7UUFDSSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLENBQUM7Q0FDSiJ9,ZXhwb3J0IGNsYXNzIFByaXZhdGVJZGVudGlmaWVyV2l0aEV4dGVuZGVkRXNjYXBlMiB7CiAgICAjeFx1ezc4fTogbnVtYmVyOwoKICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgIHRoaXMuI3hcdXs3OH0gPSAwOwogICAgfQoKICAgIGRvVGhpbmcoKSB7CiAgICAgICAgdGhpcy4jeHggPSA0MjsKICAgIH0KfQo= diff --git a/tests/baselines/reference/unicodeEscapesInNames01(target=esnext).sourcemap.txt b/tests/baselines/reference/unicodeEscapesInNames01(target=esnext).sourcemap.txt new file mode 100644 index 0000000000000..d04f40184f135 --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames01(target=esnext).sourcemap.txt @@ -0,0 +1,1249 @@ +=================================================================== +JsFile: identifierVariableWithEscape1.js +mapUrl: identifierVariableWithEscape1.js.map +sourceRoot: +sources: identifierVariableWithEscape1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/identifierVariableWithEscape1.js +sourceFile:identifierVariableWithEscape1.ts +------------------------------------------------------------------- +>>>export let \u0078 = 10; +1 > +2 >^^^^^^ +3 > ^ +4 > ^^^^ +5 > ^^^^^^ +6 > ^^^ +7 > ^^ +8 > ^ +1 > +2 >export +3 > +4 > let +5 > \u0078 +6 > = +7 > 10 +8 > ; +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 8) Source(1, 8) + SourceIndex(0) +4 >Emitted(1, 12) Source(1, 12) + SourceIndex(0) +5 >Emitted(1, 18) Source(1, 18) + SourceIndex(0) +6 >Emitted(1, 21) Source(1, 21) + SourceIndex(0) +7 >Emitted(1, 23) Source(1, 23) + SourceIndex(0) +8 >Emitted(1, 24) Source(1, 24) + SourceIndex(0) +--- +>>>x++; +1 > +2 >^ +3 > ^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 >x +3 > ++ +4 > ; +1 >Emitted(2, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(2, 2) Source(2, 2) + SourceIndex(0) +3 >Emitted(2, 4) Source(2, 4) + SourceIndex(0) +4 >Emitted(2, 5) Source(2, 5) + SourceIndex(0) +--- +>>>//# sourceMappingURL=identifierVariableWithEscape1.js.map=================================================================== +JsFile: identifierVariableWithEscape2.js +mapUrl: identifierVariableWithEscape2.js.map +sourceRoot: +sources: identifierVariableWithEscape2.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/identifierVariableWithEscape2.js +sourceFile:identifierVariableWithEscape2.ts +------------------------------------------------------------------- +>>>export let x\u0078 = 10; +1 > +2 >^^^^^^ +3 > ^ +4 > ^^^^ +5 > ^^^^^^^ +6 > ^^^ +7 > ^^ +8 > ^ +1 > +2 >export +3 > +4 > let +5 > x\u0078 +6 > = +7 > 10 +8 > ; +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 8) Source(1, 8) + SourceIndex(0) +4 >Emitted(1, 12) Source(1, 12) + SourceIndex(0) +5 >Emitted(1, 19) Source(1, 19) + SourceIndex(0) +6 >Emitted(1, 22) Source(1, 22) + SourceIndex(0) +7 >Emitted(1, 24) Source(1, 24) + SourceIndex(0) +8 >Emitted(1, 25) Source(1, 25) + SourceIndex(0) +--- +>>>xx++; +1 > +2 >^^ +3 > ^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 >xx +3 > ++ +4 > ; +1 >Emitted(2, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(2, 3) Source(2, 3) + SourceIndex(0) +3 >Emitted(2, 5) Source(2, 5) + SourceIndex(0) +4 >Emitted(2, 6) Source(2, 6) + SourceIndex(0) +--- +>>>//# sourceMappingURL=identifierVariableWithEscape2.js.map=================================================================== +JsFile: identifierVariableWithExtendedEscape1.js +mapUrl: identifierVariableWithExtendedEscape1.js.map +sourceRoot: +sources: identifierVariableWithExtendedEscape1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/identifierVariableWithExtendedEscape1.js +sourceFile:identifierVariableWithExtendedEscape1.ts +------------------------------------------------------------------- +>>>export let \u{78} = 10; +1 > +2 >^^^^^^ +3 > ^ +4 > ^^^^ +5 > ^^^^^^ +6 > ^^^ +7 > ^^ +8 > ^ +1 > +2 >export +3 > +4 > let +5 > \u{78} +6 > = +7 > 10 +8 > ; +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 8) Source(1, 8) + SourceIndex(0) +4 >Emitted(1, 12) Source(1, 12) + SourceIndex(0) +5 >Emitted(1, 18) Source(1, 18) + SourceIndex(0) +6 >Emitted(1, 21) Source(1, 21) + SourceIndex(0) +7 >Emitted(1, 23) Source(1, 23) + SourceIndex(0) +8 >Emitted(1, 24) Source(1, 24) + SourceIndex(0) +--- +>>>x++; +1 > +2 >^ +3 > ^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 >x +3 > ++ +4 > ; +1 >Emitted(2, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(2, 2) Source(2, 2) + SourceIndex(0) +3 >Emitted(2, 4) Source(2, 4) + SourceIndex(0) +4 >Emitted(2, 5) Source(2, 5) + SourceIndex(0) +--- +>>>//# sourceMappingURL=identifierVariableWithExtendedEscape1.js.map=================================================================== +JsFile: identifierVariableWithExtendedEscape2.js +mapUrl: identifierVariableWithExtendedEscape2.js.map +sourceRoot: +sources: identifierVariableWithExtendedEscape2.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/identifierVariableWithExtendedEscape2.js +sourceFile:identifierVariableWithExtendedEscape2.ts +------------------------------------------------------------------- +>>>export let x\u{78} = 10; +1 > +2 >^^^^^^ +3 > ^ +4 > ^^^^ +5 > ^^^^^^^ +6 > ^^^ +7 > ^^ +8 > ^ +1 > +2 >export +3 > +4 > let +5 > x\u{78} +6 > = +7 > 10 +8 > ; +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 8) Source(1, 8) + SourceIndex(0) +4 >Emitted(1, 12) Source(1, 12) + SourceIndex(0) +5 >Emitted(1, 19) Source(1, 19) + SourceIndex(0) +6 >Emitted(1, 22) Source(1, 22) + SourceIndex(0) +7 >Emitted(1, 24) Source(1, 24) + SourceIndex(0) +8 >Emitted(1, 25) Source(1, 25) + SourceIndex(0) +--- +>>>xx++; +1 > +2 >^^ +3 > ^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 >xx +3 > ++ +4 > ; +1 >Emitted(2, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(2, 3) Source(2, 3) + SourceIndex(0) +3 >Emitted(2, 5) Source(2, 5) + SourceIndex(0) +4 >Emitted(2, 6) Source(2, 6) + SourceIndex(0) +--- +>>>//# sourceMappingURL=identifierVariableWithExtendedEscape2.js.map=================================================================== +JsFile: IdentifierNameWithEscape1.js +mapUrl: IdentifierNameWithEscape1.js.map +sourceRoot: +sources: IdentifierNameWithEscape1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/IdentifierNameWithEscape1.js +sourceFile:IdentifierNameWithEscape1.ts +------------------------------------------------------------------- +>>>export class IdentifierNameWithEscape1 { +1 > +2 >^^^^^^ +3 > ^^^^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > +2 >export +3 > class +4 > IdentifierNameWithEscape1 +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 14) Source(1, 14) + SourceIndex(0) +4 >Emitted(1, 39) Source(1, 39) + SourceIndex(0) +--- +>>> \u0078; +1 >^^^^ +2 > ^^^^^^ +3 > ^ +4 > ^^^^^^^^^-> +1 > { + > +2 > \u0078 +3 > : number; +1 >Emitted(2, 5) Source(2, 5) + SourceIndex(0) +2 >Emitted(2, 11) Source(2, 11) + SourceIndex(0) +3 >Emitted(2, 12) Source(2, 20) + SourceIndex(0) +--- +>>> constructor() { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^-> +1-> + > + > +1->Emitted(3, 5) Source(4, 5) + SourceIndex(0) +--- +>>> this.\u0078 = 0; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^^^^^ +5 > ^^^ +6 > ^ +7 > ^ +1->constructor() { + > +2 > this +3 > . +4 > \u0078 +5 > = +6 > 0 +7 > ; +1->Emitted(4, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(4, 13) Source(5, 13) + SourceIndex(0) +3 >Emitted(4, 14) Source(5, 14) + SourceIndex(0) +4 >Emitted(4, 20) Source(5, 20) + SourceIndex(0) +5 >Emitted(4, 23) Source(5, 23) + SourceIndex(0) +6 >Emitted(4, 24) Source(5, 24) + SourceIndex(0) +7 >Emitted(4, 25) Source(5, 25) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(5, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(5, 6) Source(6, 6) + SourceIndex(0) +--- +>>> doThing() { +1->^^^^ +2 > ^^^^^^^ +3 > ^^^^^^^^^^-> +1-> + > + > +2 > doThing +1->Emitted(6, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(6, 12) Source(8, 12) + SourceIndex(0) +--- +>>> this.x = 42; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^ +5 > ^^^ +6 > ^^ +7 > ^ +1->() { + > +2 > this +3 > . +4 > x +5 > = +6 > 42 +7 > ; +1->Emitted(7, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(7, 13) Source(9, 13) + SourceIndex(0) +3 >Emitted(7, 14) Source(9, 14) + SourceIndex(0) +4 >Emitted(7, 15) Source(9, 15) + SourceIndex(0) +5 >Emitted(7, 18) Source(9, 18) + SourceIndex(0) +6 >Emitted(7, 20) Source(9, 20) + SourceIndex(0) +7 >Emitted(7, 21) Source(9, 21) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +1 > + > +2 > } +1 >Emitted(8, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(8, 6) Source(10, 6) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(9, 2) Source(11, 2) + SourceIndex(0) +--- +>>>//# sourceMappingURL=IdentifierNameWithEscape1.js.map=================================================================== +JsFile: IdentifierNameWithEscape2.js +mapUrl: IdentifierNameWithEscape2.js.map +sourceRoot: +sources: IdentifierNameWithEscape2.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/IdentifierNameWithEscape2.js +sourceFile:IdentifierNameWithEscape2.ts +------------------------------------------------------------------- +>>>export class IdentifierNameWithEscape2 { +1 > +2 >^^^^^^ +3 > ^^^^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > +2 >export +3 > class +4 > IdentifierNameWithEscape2 +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 14) Source(1, 14) + SourceIndex(0) +4 >Emitted(1, 39) Source(1, 39) + SourceIndex(0) +--- +>>> x\u0078; +1 >^^^^ +2 > ^^^^^^^ +3 > ^ +4 > ^^^^^^^^-> +1 > { + > +2 > x\u0078 +3 > : number; +1 >Emitted(2, 5) Source(2, 5) + SourceIndex(0) +2 >Emitted(2, 12) Source(2, 12) + SourceIndex(0) +3 >Emitted(2, 13) Source(2, 21) + SourceIndex(0) +--- +>>> constructor() { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^-> +1-> + > + > +1->Emitted(3, 5) Source(4, 5) + SourceIndex(0) +--- +>>> this.x\u0078 = 0; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^^^^^^ +5 > ^^^ +6 > ^ +7 > ^ +1->constructor() { + > +2 > this +3 > . +4 > x\u0078 +5 > = +6 > 0 +7 > ; +1->Emitted(4, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(4, 13) Source(5, 13) + SourceIndex(0) +3 >Emitted(4, 14) Source(5, 14) + SourceIndex(0) +4 >Emitted(4, 21) Source(5, 21) + SourceIndex(0) +5 >Emitted(4, 24) Source(5, 24) + SourceIndex(0) +6 >Emitted(4, 25) Source(5, 25) + SourceIndex(0) +7 >Emitted(4, 26) Source(5, 26) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(5, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(5, 6) Source(6, 6) + SourceIndex(0) +--- +>>> doThing() { +1->^^^^ +2 > ^^^^^^^ +3 > ^^^^^^^^^^^-> +1-> + > + > +2 > doThing +1->Emitted(6, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(6, 12) Source(8, 12) + SourceIndex(0) +--- +>>> this.xx = 42; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^ +5 > ^^^ +6 > ^^ +7 > ^ +1->() { + > +2 > this +3 > . +4 > xx +5 > = +6 > 42 +7 > ; +1->Emitted(7, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(7, 13) Source(9, 13) + SourceIndex(0) +3 >Emitted(7, 14) Source(9, 14) + SourceIndex(0) +4 >Emitted(7, 16) Source(9, 16) + SourceIndex(0) +5 >Emitted(7, 19) Source(9, 19) + SourceIndex(0) +6 >Emitted(7, 21) Source(9, 21) + SourceIndex(0) +7 >Emitted(7, 22) Source(9, 22) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +1 > + > +2 > } +1 >Emitted(8, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(8, 6) Source(10, 6) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(9, 2) Source(11, 2) + SourceIndex(0) +--- +>>>//# sourceMappingURL=IdentifierNameWithEscape2.js.map=================================================================== +JsFile: IdentifierNameWithExtendedEscape1.js +mapUrl: IdentifierNameWithExtendedEscape1.js.map +sourceRoot: +sources: IdentifierNameWithExtendedEscape1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/IdentifierNameWithExtendedEscape1.js +sourceFile:IdentifierNameWithExtendedEscape1.ts +------------------------------------------------------------------- +>>>export class IdentifierNameWithExtendedEscape1 { +1 > +2 >^^^^^^ +3 > ^^^^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > +2 >export +3 > class +4 > IdentifierNameWithExtendedEscape1 +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 14) Source(1, 14) + SourceIndex(0) +4 >Emitted(1, 47) Source(1, 47) + SourceIndex(0) +--- +>>> \u{78}; +1 >^^^^ +2 > ^^^^^^ +3 > ^ +4 > ^^^^^^^^^-> +1 > { + > +2 > \u{78} +3 > : number; +1 >Emitted(2, 5) Source(2, 5) + SourceIndex(0) +2 >Emitted(2, 11) Source(2, 11) + SourceIndex(0) +3 >Emitted(2, 12) Source(2, 20) + SourceIndex(0) +--- +>>> constructor() { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^-> +1-> + > + > +1->Emitted(3, 5) Source(4, 5) + SourceIndex(0) +--- +>>> this.\u{78} = 0; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^^^^^ +5 > ^^^ +6 > ^ +7 > ^ +1->constructor() { + > +2 > this +3 > . +4 > \u{78} +5 > = +6 > 0 +7 > ; +1->Emitted(4, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(4, 13) Source(5, 13) + SourceIndex(0) +3 >Emitted(4, 14) Source(5, 14) + SourceIndex(0) +4 >Emitted(4, 20) Source(5, 20) + SourceIndex(0) +5 >Emitted(4, 23) Source(5, 23) + SourceIndex(0) +6 >Emitted(4, 24) Source(5, 24) + SourceIndex(0) +7 >Emitted(4, 25) Source(5, 25) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(5, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(5, 6) Source(6, 6) + SourceIndex(0) +--- +>>> doThing() { +1->^^^^ +2 > ^^^^^^^ +3 > ^^^^^^^^^^-> +1-> + > + > +2 > doThing +1->Emitted(6, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(6, 12) Source(8, 12) + SourceIndex(0) +--- +>>> this.x = 42; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^ +5 > ^^^ +6 > ^^ +7 > ^ +1->() { + > +2 > this +3 > . +4 > x +5 > = +6 > 42 +7 > ; +1->Emitted(7, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(7, 13) Source(9, 13) + SourceIndex(0) +3 >Emitted(7, 14) Source(9, 14) + SourceIndex(0) +4 >Emitted(7, 15) Source(9, 15) + SourceIndex(0) +5 >Emitted(7, 18) Source(9, 18) + SourceIndex(0) +6 >Emitted(7, 20) Source(9, 20) + SourceIndex(0) +7 >Emitted(7, 21) Source(9, 21) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +1 > + > +2 > } +1 >Emitted(8, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(8, 6) Source(10, 6) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(9, 2) Source(11, 2) + SourceIndex(0) +--- +>>>//# sourceMappingURL=IdentifierNameWithExtendedEscape1.js.map=================================================================== +JsFile: IdentifierNameWithExtendedEscape2.js +mapUrl: IdentifierNameWithExtendedEscape2.js.map +sourceRoot: +sources: IdentifierNameWithExtendedEscape2.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/IdentifierNameWithExtendedEscape2.js +sourceFile:IdentifierNameWithExtendedEscape2.ts +------------------------------------------------------------------- +>>>export class IdentifierNameWithExtendedEscape2 { +1 > +2 >^^^^^^ +3 > ^^^^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > +2 >export +3 > class +4 > IdentifierNameWithExtendedEscape2 +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 14) Source(1, 14) + SourceIndex(0) +4 >Emitted(1, 47) Source(1, 47) + SourceIndex(0) +--- +>>> x\u{78}; +1 >^^^^ +2 > ^^^^^^^ +3 > ^ +4 > ^^^^^^^^-> +1 > { + > +2 > x\u{78} +3 > : number; +1 >Emitted(2, 5) Source(2, 5) + SourceIndex(0) +2 >Emitted(2, 12) Source(2, 12) + SourceIndex(0) +3 >Emitted(2, 13) Source(2, 21) + SourceIndex(0) +--- +>>> constructor() { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^-> +1-> + > + > +1->Emitted(3, 5) Source(4, 5) + SourceIndex(0) +--- +>>> this.x\u{78} = 0; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^^^^^^ +5 > ^^^ +6 > ^ +7 > ^ +1->constructor() { + > +2 > this +3 > . +4 > x\u{78} +5 > = +6 > 0 +7 > ; +1->Emitted(4, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(4, 13) Source(5, 13) + SourceIndex(0) +3 >Emitted(4, 14) Source(5, 14) + SourceIndex(0) +4 >Emitted(4, 21) Source(5, 21) + SourceIndex(0) +5 >Emitted(4, 24) Source(5, 24) + SourceIndex(0) +6 >Emitted(4, 25) Source(5, 25) + SourceIndex(0) +7 >Emitted(4, 26) Source(5, 26) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(5, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(5, 6) Source(6, 6) + SourceIndex(0) +--- +>>> doThing() { +1->^^^^ +2 > ^^^^^^^ +3 > ^^^^^^^^^^^-> +1-> + > + > +2 > doThing +1->Emitted(6, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(6, 12) Source(8, 12) + SourceIndex(0) +--- +>>> this.xx = 42; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^ +5 > ^^^ +6 > ^^ +7 > ^ +1->() { + > +2 > this +3 > . +4 > xx +5 > = +6 > 42 +7 > ; +1->Emitted(7, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(7, 13) Source(9, 13) + SourceIndex(0) +3 >Emitted(7, 14) Source(9, 14) + SourceIndex(0) +4 >Emitted(7, 16) Source(9, 16) + SourceIndex(0) +5 >Emitted(7, 19) Source(9, 19) + SourceIndex(0) +6 >Emitted(7, 21) Source(9, 21) + SourceIndex(0) +7 >Emitted(7, 22) Source(9, 22) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +1 > + > +2 > } +1 >Emitted(8, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(8, 6) Source(10, 6) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(9, 2) Source(11, 2) + SourceIndex(0) +--- +>>>//# sourceMappingURL=IdentifierNameWithExtendedEscape2.js.map=================================================================== +JsFile: PrivateIdentifierNameWithEscape1.js +mapUrl: PrivateIdentifierNameWithEscape1.js.map +sourceRoot: +sources: PrivateIdentifierNameWithEscape1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/PrivateIdentifierNameWithEscape1.js +sourceFile:PrivateIdentifierNameWithEscape1.ts +------------------------------------------------------------------- +>>>export class PrivateIdentifierWithEscape1 { +1 > +2 >^^^^^^ +3 > ^^^^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > +2 >export +3 > class +4 > PrivateIdentifierWithEscape1 +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 14) Source(1, 14) + SourceIndex(0) +4 >Emitted(1, 42) Source(1, 42) + SourceIndex(0) +--- +>>> #\u0078; +1 >^^^^ +2 > ^^^^^^^ +3 > ^ +4 > ^^^^^^^^-> +1 > { + > +2 > #\u0078 +3 > : number; +1 >Emitted(2, 5) Source(2, 5) + SourceIndex(0) +2 >Emitted(2, 12) Source(2, 12) + SourceIndex(0) +3 >Emitted(2, 13) Source(2, 21) + SourceIndex(0) +--- +>>> constructor() { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^-> +1-> + > + > +1->Emitted(3, 5) Source(4, 5) + SourceIndex(0) +--- +>>> this.#\u0078 = 0; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^^^^^^ +5 > ^^^ +6 > ^ +7 > ^ +1->constructor() { + > +2 > this +3 > . +4 > #\u0078 +5 > = +6 > 0 +7 > ; +1->Emitted(4, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(4, 13) Source(5, 13) + SourceIndex(0) +3 >Emitted(4, 14) Source(5, 14) + SourceIndex(0) +4 >Emitted(4, 21) Source(5, 21) + SourceIndex(0) +5 >Emitted(4, 24) Source(5, 24) + SourceIndex(0) +6 >Emitted(4, 25) Source(5, 25) + SourceIndex(0) +7 >Emitted(4, 26) Source(5, 26) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(5, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(5, 6) Source(6, 6) + SourceIndex(0) +--- +>>> doThing() { +1->^^^^ +2 > ^^^^^^^ +3 > ^^^^^^^^^^^-> +1-> + > + > +2 > doThing +1->Emitted(6, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(6, 12) Source(8, 12) + SourceIndex(0) +--- +>>> this.#x = 42; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^ +5 > ^^^ +6 > ^^ +7 > ^ +1->() { + > +2 > this +3 > . +4 > #x +5 > = +6 > 42 +7 > ; +1->Emitted(7, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(7, 13) Source(9, 13) + SourceIndex(0) +3 >Emitted(7, 14) Source(9, 14) + SourceIndex(0) +4 >Emitted(7, 16) Source(9, 16) + SourceIndex(0) +5 >Emitted(7, 19) Source(9, 19) + SourceIndex(0) +6 >Emitted(7, 21) Source(9, 21) + SourceIndex(0) +7 >Emitted(7, 22) Source(9, 22) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +1 > + > +2 > } +1 >Emitted(8, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(8, 6) Source(10, 6) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(9, 2) Source(11, 2) + SourceIndex(0) +--- +>>>//# sourceMappingURL=PrivateIdentifierNameWithEscape1.js.map=================================================================== +JsFile: PrivateIdentifierNameWithEscape2.js +mapUrl: PrivateIdentifierNameWithEscape2.js.map +sourceRoot: +sources: PrivateIdentifierNameWithEscape2.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/PrivateIdentifierNameWithEscape2.js +sourceFile:PrivateIdentifierNameWithEscape2.ts +------------------------------------------------------------------- +>>>export class PrivateIdentifierWithEscape2 { +1 > +2 >^^^^^^ +3 > ^^^^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > +2 >export +3 > class +4 > PrivateIdentifierWithEscape2 +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 14) Source(1, 14) + SourceIndex(0) +4 >Emitted(1, 42) Source(1, 42) + SourceIndex(0) +--- +>>> #x\u0078; +1 >^^^^ +2 > ^^^^^^^^ +3 > ^ +4 > ^^^^^^^-> +1 > { + > +2 > #x\u0078 +3 > : number; +1 >Emitted(2, 5) Source(2, 5) + SourceIndex(0) +2 >Emitted(2, 13) Source(2, 13) + SourceIndex(0) +3 >Emitted(2, 14) Source(2, 22) + SourceIndex(0) +--- +>>> constructor() { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^-> +1-> + > + > +1->Emitted(3, 5) Source(4, 5) + SourceIndex(0) +--- +>>> this.#x\u0078 = 0; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^^^^^^^ +5 > ^^^ +6 > ^ +7 > ^ +1->constructor() { + > +2 > this +3 > . +4 > #x\u0078 +5 > = +6 > 0 +7 > ; +1->Emitted(4, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(4, 13) Source(5, 13) + SourceIndex(0) +3 >Emitted(4, 14) Source(5, 14) + SourceIndex(0) +4 >Emitted(4, 22) Source(5, 22) + SourceIndex(0) +5 >Emitted(4, 25) Source(5, 25) + SourceIndex(0) +6 >Emitted(4, 26) Source(5, 26) + SourceIndex(0) +7 >Emitted(4, 27) Source(5, 27) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(5, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(5, 6) Source(6, 6) + SourceIndex(0) +--- +>>> doThing() { +1->^^^^ +2 > ^^^^^^^ +3 > ^^^^^^^^^^^^-> +1-> + > + > +2 > doThing +1->Emitted(6, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(6, 12) Source(8, 12) + SourceIndex(0) +--- +>>> this.#xx = 42; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^^ +5 > ^^^ +6 > ^^ +7 > ^ +1->() { + > +2 > this +3 > . +4 > #xx +5 > = +6 > 42 +7 > ; +1->Emitted(7, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(7, 13) Source(9, 13) + SourceIndex(0) +3 >Emitted(7, 14) Source(9, 14) + SourceIndex(0) +4 >Emitted(7, 17) Source(9, 17) + SourceIndex(0) +5 >Emitted(7, 20) Source(9, 20) + SourceIndex(0) +6 >Emitted(7, 22) Source(9, 22) + SourceIndex(0) +7 >Emitted(7, 23) Source(9, 23) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +1 > + > +2 > } +1 >Emitted(8, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(8, 6) Source(10, 6) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(9, 2) Source(11, 2) + SourceIndex(0) +--- +>>>//# sourceMappingURL=PrivateIdentifierNameWithEscape2.js.map=================================================================== +JsFile: PrivateIdentifierNameWithExtendedEscape1.js +mapUrl: PrivateIdentifierNameWithExtendedEscape1.js.map +sourceRoot: +sources: PrivateIdentifierNameWithExtendedEscape1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape1.js +sourceFile:PrivateIdentifierNameWithExtendedEscape1.ts +------------------------------------------------------------------- +>>>export class PrivateIdentifierWithExtendedEscape1 { +1 > +2 >^^^^^^ +3 > ^^^^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > +2 >export +3 > class +4 > PrivateIdentifierWithExtendedEscape1 +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 14) Source(1, 14) + SourceIndex(0) +4 >Emitted(1, 50) Source(1, 50) + SourceIndex(0) +--- +>>> #\u{78}; +1 >^^^^ +2 > ^^^^^^^ +3 > ^ +4 > ^^^^^^^^-> +1 > { + > +2 > #\u{78} +3 > : number; +1 >Emitted(2, 5) Source(2, 5) + SourceIndex(0) +2 >Emitted(2, 12) Source(2, 12) + SourceIndex(0) +3 >Emitted(2, 13) Source(2, 21) + SourceIndex(0) +--- +>>> constructor() { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^-> +1-> + > + > +1->Emitted(3, 5) Source(4, 5) + SourceIndex(0) +--- +>>> this.#\u{78} = 0; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^^^^^^ +5 > ^^^ +6 > ^ +7 > ^ +1->constructor() { + > +2 > this +3 > . +4 > #\u{78} +5 > = +6 > 0 +7 > ; +1->Emitted(4, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(4, 13) Source(5, 13) + SourceIndex(0) +3 >Emitted(4, 14) Source(5, 14) + SourceIndex(0) +4 >Emitted(4, 21) Source(5, 21) + SourceIndex(0) +5 >Emitted(4, 24) Source(5, 24) + SourceIndex(0) +6 >Emitted(4, 25) Source(5, 25) + SourceIndex(0) +7 >Emitted(4, 26) Source(5, 26) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(5, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(5, 6) Source(6, 6) + SourceIndex(0) +--- +>>> doThing() { +1->^^^^ +2 > ^^^^^^^ +3 > ^^^^^^^^^^^-> +1-> + > + > +2 > doThing +1->Emitted(6, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(6, 12) Source(8, 12) + SourceIndex(0) +--- +>>> this.#x = 42; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^ +5 > ^^^ +6 > ^^ +7 > ^ +1->() { + > +2 > this +3 > . +4 > #x +5 > = +6 > 42 +7 > ; +1->Emitted(7, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(7, 13) Source(9, 13) + SourceIndex(0) +3 >Emitted(7, 14) Source(9, 14) + SourceIndex(0) +4 >Emitted(7, 16) Source(9, 16) + SourceIndex(0) +5 >Emitted(7, 19) Source(9, 19) + SourceIndex(0) +6 >Emitted(7, 21) Source(9, 21) + SourceIndex(0) +7 >Emitted(7, 22) Source(9, 22) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +1 > + > +2 > } +1 >Emitted(8, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(8, 6) Source(10, 6) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(9, 2) Source(11, 2) + SourceIndex(0) +--- +>>>//# sourceMappingURL=PrivateIdentifierNameWithExtendedEscape1.js.map=================================================================== +JsFile: PrivateIdentifierNameWithExtendedEscape2.js +mapUrl: PrivateIdentifierNameWithExtendedEscape2.js.map +sourceRoot: +sources: PrivateIdentifierNameWithExtendedEscape2.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape2.js +sourceFile:PrivateIdentifierNameWithExtendedEscape2.ts +------------------------------------------------------------------- +>>>export class PrivateIdentifierWithExtendedEscape2 { +1 > +2 >^^^^^^ +3 > ^^^^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > +2 >export +3 > class +4 > PrivateIdentifierWithExtendedEscape2 +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 14) Source(1, 14) + SourceIndex(0) +4 >Emitted(1, 50) Source(1, 50) + SourceIndex(0) +--- +>>> #x\u{78}; +1 >^^^^ +2 > ^^^^^^^^ +3 > ^ +4 > ^^^^^^^-> +1 > { + > +2 > #x\u{78} +3 > : number; +1 >Emitted(2, 5) Source(2, 5) + SourceIndex(0) +2 >Emitted(2, 13) Source(2, 13) + SourceIndex(0) +3 >Emitted(2, 14) Source(2, 22) + SourceIndex(0) +--- +>>> constructor() { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^-> +1-> + > + > +1->Emitted(3, 5) Source(4, 5) + SourceIndex(0) +--- +>>> this.#x\u{78} = 0; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^^^^^^^ +5 > ^^^ +6 > ^ +7 > ^ +1->constructor() { + > +2 > this +3 > . +4 > #x\u{78} +5 > = +6 > 0 +7 > ; +1->Emitted(4, 9) Source(5, 9) + SourceIndex(0) +2 >Emitted(4, 13) Source(5, 13) + SourceIndex(0) +3 >Emitted(4, 14) Source(5, 14) + SourceIndex(0) +4 >Emitted(4, 22) Source(5, 22) + SourceIndex(0) +5 >Emitted(4, 25) Source(5, 25) + SourceIndex(0) +6 >Emitted(4, 26) Source(5, 26) + SourceIndex(0) +7 >Emitted(4, 27) Source(5, 27) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(5, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(5, 6) Source(6, 6) + SourceIndex(0) +--- +>>> doThing() { +1->^^^^ +2 > ^^^^^^^ +3 > ^^^^^^^^^^^^-> +1-> + > + > +2 > doThing +1->Emitted(6, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(6, 12) Source(8, 12) + SourceIndex(0) +--- +>>> this.#xx = 42; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^^ +5 > ^^^ +6 > ^^ +7 > ^ +1->() { + > +2 > this +3 > . +4 > #xx +5 > = +6 > 42 +7 > ; +1->Emitted(7, 9) Source(9, 9) + SourceIndex(0) +2 >Emitted(7, 13) Source(9, 13) + SourceIndex(0) +3 >Emitted(7, 14) Source(9, 14) + SourceIndex(0) +4 >Emitted(7, 17) Source(9, 17) + SourceIndex(0) +5 >Emitted(7, 20) Source(9, 20) + SourceIndex(0) +6 >Emitted(7, 22) Source(9, 22) + SourceIndex(0) +7 >Emitted(7, 23) Source(9, 23) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +1 > + > +2 > } +1 >Emitted(8, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(8, 6) Source(10, 6) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(9, 2) Source(11, 2) + SourceIndex(0) +--- +>>>//# sourceMappingURL=PrivateIdentifierNameWithExtendedEscape2.js.map \ No newline at end of file diff --git a/tests/baselines/reference/unicodeEscapesInNames01(target=esnext).symbols b/tests/baselines/reference/unicodeEscapesInNames01(target=esnext).symbols new file mode 100644 index 0000000000000..4e1bfd61551ce --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames01(target=esnext).symbols @@ -0,0 +1,212 @@ +=== tests/cases/compiler/identifierVariableWithEscape1.ts === +export let \u0078 = 10; +>\u0078 : Symbol(\u0078, Decl(identifierVariableWithEscape1.ts, 0, 10)) + +x++; +>x : Symbol(\u0078, Decl(identifierVariableWithEscape1.ts, 0, 10)) + +=== tests/cases/compiler/identifierVariableWithEscape2.ts === +export let x\u0078 = 10; +>x\u0078 : Symbol(x\u0078, Decl(identifierVariableWithEscape2.ts, 0, 10)) + +xx++; +>xx : Symbol(x\u0078, Decl(identifierVariableWithEscape2.ts, 0, 10)) + +=== tests/cases/compiler/identifierVariableWithExtendedEscape1.ts === +export let \u{78} = 10; +>\u{78} : Symbol(\u{78}, Decl(identifierVariableWithExtendedEscape1.ts, 0, 10)) + +x++; +>x : Symbol(\u{78}, Decl(identifierVariableWithExtendedEscape1.ts, 0, 10)) + +=== tests/cases/compiler/identifierVariableWithExtendedEscape2.ts === +export let x\u{78} = 10; +>x\u{78} : Symbol(x\u{78}, Decl(identifierVariableWithExtendedEscape2.ts, 0, 10)) + +xx++; +>xx : Symbol(x\u{78}, Decl(identifierVariableWithExtendedEscape2.ts, 0, 10)) + +=== tests/cases/compiler/IdentifierNameWithEscape1.ts === +export class IdentifierNameWithEscape1 { +>IdentifierNameWithEscape1 : Symbol(IdentifierNameWithEscape1, Decl(IdentifierNameWithEscape1.ts, 0, 0)) + + \u0078: number; +>\u0078 : Symbol(IdentifierNameWithEscape1[\u0078], Decl(IdentifierNameWithEscape1.ts, 0, 40)) + + constructor() { + this.\u0078 = 0; +>this.\u0078 : Symbol(IdentifierNameWithEscape1[\u0078], Decl(IdentifierNameWithEscape1.ts, 0, 40)) +>this : Symbol(IdentifierNameWithEscape1, Decl(IdentifierNameWithEscape1.ts, 0, 0)) +>\u0078 : Symbol(IdentifierNameWithEscape1[\u0078], Decl(IdentifierNameWithEscape1.ts, 0, 40)) + } + + doThing() { +>doThing : Symbol(IdentifierNameWithEscape1.doThing, Decl(IdentifierNameWithEscape1.ts, 5, 5)) + + this.x = 42; +>this.x : Symbol(IdentifierNameWithEscape1[\u0078], Decl(IdentifierNameWithEscape1.ts, 0, 40)) +>this : Symbol(IdentifierNameWithEscape1, Decl(IdentifierNameWithEscape1.ts, 0, 0)) +>x : Symbol(IdentifierNameWithEscape1[\u0078], Decl(IdentifierNameWithEscape1.ts, 0, 40)) + } +} + +=== tests/cases/compiler/IdentifierNameWithEscape2.ts === +export class IdentifierNameWithEscape2 { +>IdentifierNameWithEscape2 : Symbol(IdentifierNameWithEscape2, Decl(IdentifierNameWithEscape2.ts, 0, 0)) + + x\u0078: number; +>x\u0078 : Symbol(IdentifierNameWithEscape2.x\u0078, Decl(IdentifierNameWithEscape2.ts, 0, 40)) + + constructor() { + this.x\u0078 = 0; +>this.x\u0078 : Symbol(IdentifierNameWithEscape2.x\u0078, Decl(IdentifierNameWithEscape2.ts, 0, 40)) +>this : Symbol(IdentifierNameWithEscape2, Decl(IdentifierNameWithEscape2.ts, 0, 0)) +>x\u0078 : Symbol(IdentifierNameWithEscape2.x\u0078, Decl(IdentifierNameWithEscape2.ts, 0, 40)) + } + + doThing() { +>doThing : Symbol(IdentifierNameWithEscape2.doThing, Decl(IdentifierNameWithEscape2.ts, 5, 5)) + + this.xx = 42; +>this.xx : Symbol(IdentifierNameWithEscape2.x\u0078, Decl(IdentifierNameWithEscape2.ts, 0, 40)) +>this : Symbol(IdentifierNameWithEscape2, Decl(IdentifierNameWithEscape2.ts, 0, 0)) +>xx : Symbol(IdentifierNameWithEscape2.x\u0078, Decl(IdentifierNameWithEscape2.ts, 0, 40)) + } +} + +=== tests/cases/compiler/IdentifierNameWithExtendedEscape1.ts === +export class IdentifierNameWithExtendedEscape1 { +>IdentifierNameWithExtendedEscape1 : Symbol(IdentifierNameWithExtendedEscape1, Decl(IdentifierNameWithExtendedEscape1.ts, 0, 0)) + + \u{78}: number; +>\u{78} : Symbol(IdentifierNameWithExtendedEscape1[\u{78}], Decl(IdentifierNameWithExtendedEscape1.ts, 0, 48)) + + constructor() { + this.\u{78} = 0; +>this.\u{78} : Symbol(IdentifierNameWithExtendedEscape1[\u{78}], Decl(IdentifierNameWithExtendedEscape1.ts, 0, 48)) +>this : Symbol(IdentifierNameWithExtendedEscape1, Decl(IdentifierNameWithExtendedEscape1.ts, 0, 0)) +>\u{78} : Symbol(IdentifierNameWithExtendedEscape1[\u{78}], Decl(IdentifierNameWithExtendedEscape1.ts, 0, 48)) + } + + doThing() { +>doThing : Symbol(IdentifierNameWithExtendedEscape1.doThing, Decl(IdentifierNameWithExtendedEscape1.ts, 5, 5)) + + this.x = 42; +>this.x : Symbol(IdentifierNameWithExtendedEscape1[\u{78}], Decl(IdentifierNameWithExtendedEscape1.ts, 0, 48)) +>this : Symbol(IdentifierNameWithExtendedEscape1, Decl(IdentifierNameWithExtendedEscape1.ts, 0, 0)) +>x : Symbol(IdentifierNameWithExtendedEscape1[\u{78}], Decl(IdentifierNameWithExtendedEscape1.ts, 0, 48)) + } +} + +=== tests/cases/compiler/IdentifierNameWithExtendedEscape2.ts === +export class IdentifierNameWithExtendedEscape2 { +>IdentifierNameWithExtendedEscape2 : Symbol(IdentifierNameWithExtendedEscape2, Decl(IdentifierNameWithExtendedEscape2.ts, 0, 0)) + + x\u{78}: number; +>x\u{78} : Symbol(IdentifierNameWithExtendedEscape2.x\u{78}, Decl(IdentifierNameWithExtendedEscape2.ts, 0, 48)) + + constructor() { + this.x\u{78} = 0; +>this.x\u{78} : Symbol(IdentifierNameWithExtendedEscape2.x\u{78}, Decl(IdentifierNameWithExtendedEscape2.ts, 0, 48)) +>this : Symbol(IdentifierNameWithExtendedEscape2, Decl(IdentifierNameWithExtendedEscape2.ts, 0, 0)) +>x\u{78} : Symbol(IdentifierNameWithExtendedEscape2.x\u{78}, Decl(IdentifierNameWithExtendedEscape2.ts, 0, 48)) + } + + doThing() { +>doThing : Symbol(IdentifierNameWithExtendedEscape2.doThing, Decl(IdentifierNameWithExtendedEscape2.ts, 5, 5)) + + this.xx = 42; +>this.xx : Symbol(IdentifierNameWithExtendedEscape2.x\u{78}, Decl(IdentifierNameWithExtendedEscape2.ts, 0, 48)) +>this : Symbol(IdentifierNameWithExtendedEscape2, Decl(IdentifierNameWithExtendedEscape2.ts, 0, 0)) +>xx : Symbol(IdentifierNameWithExtendedEscape2.x\u{78}, Decl(IdentifierNameWithExtendedEscape2.ts, 0, 48)) + } +} + +=== tests/cases/compiler/PrivateIdentifierNameWithEscape1.ts === +export class PrivateIdentifierWithEscape1 { +>PrivateIdentifierWithEscape1 : Symbol(PrivateIdentifierWithEscape1, Decl(PrivateIdentifierNameWithEscape1.ts, 0, 0)) + + #\u0078: number; +>#\u0078 : Symbol(PrivateIdentifierWithEscape1[#\u0078], Decl(PrivateIdentifierNameWithEscape1.ts, 0, 43)) + + constructor() { + this.#\u0078 = 0; +>this.#\u0078 : Symbol(PrivateIdentifierWithEscape1[#\u0078], Decl(PrivateIdentifierNameWithEscape1.ts, 0, 43)) +>this : Symbol(PrivateIdentifierWithEscape1, Decl(PrivateIdentifierNameWithEscape1.ts, 0, 0)) + } + + doThing() { +>doThing : Symbol(PrivateIdentifierWithEscape1.doThing, Decl(PrivateIdentifierNameWithEscape1.ts, 5, 5)) + + this.#x = 42; +>this.#x : Symbol(PrivateIdentifierWithEscape1[#\u0078], Decl(PrivateIdentifierNameWithEscape1.ts, 0, 43)) +>this : Symbol(PrivateIdentifierWithEscape1, Decl(PrivateIdentifierNameWithEscape1.ts, 0, 0)) + } +} + +=== tests/cases/compiler/PrivateIdentifierNameWithEscape2.ts === +export class PrivateIdentifierWithEscape2 { +>PrivateIdentifierWithEscape2 : Symbol(PrivateIdentifierWithEscape2, Decl(PrivateIdentifierNameWithEscape2.ts, 0, 0)) + + #x\u0078: number; +>#x\u0078 : Symbol(PrivateIdentifierWithEscape2.#x\u0078, Decl(PrivateIdentifierNameWithEscape2.ts, 0, 43)) + + constructor() { + this.#x\u0078 = 0; +>this.#x\u0078 : Symbol(PrivateIdentifierWithEscape2.#x\u0078, Decl(PrivateIdentifierNameWithEscape2.ts, 0, 43)) +>this : Symbol(PrivateIdentifierWithEscape2, Decl(PrivateIdentifierNameWithEscape2.ts, 0, 0)) + } + + doThing() { +>doThing : Symbol(PrivateIdentifierWithEscape2.doThing, Decl(PrivateIdentifierNameWithEscape2.ts, 5, 5)) + + this.#xx = 42; +>this.#xx : Symbol(PrivateIdentifierWithEscape2.#x\u0078, Decl(PrivateIdentifierNameWithEscape2.ts, 0, 43)) +>this : Symbol(PrivateIdentifierWithEscape2, Decl(PrivateIdentifierNameWithEscape2.ts, 0, 0)) + } +} + +=== tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape1.ts === +export class PrivateIdentifierWithExtendedEscape1 { +>PrivateIdentifierWithExtendedEscape1 : Symbol(PrivateIdentifierWithExtendedEscape1, Decl(PrivateIdentifierNameWithExtendedEscape1.ts, 0, 0)) + + #\u{78}: number; +>#\u{78} : Symbol(PrivateIdentifierWithExtendedEscape1[#\u{78}], Decl(PrivateIdentifierNameWithExtendedEscape1.ts, 0, 51)) + + constructor() { + this.#\u{78} = 0; +>this.#\u{78} : Symbol(PrivateIdentifierWithExtendedEscape1[#\u{78}], Decl(PrivateIdentifierNameWithExtendedEscape1.ts, 0, 51)) +>this : Symbol(PrivateIdentifierWithExtendedEscape1, Decl(PrivateIdentifierNameWithExtendedEscape1.ts, 0, 0)) + } + + doThing() { +>doThing : Symbol(PrivateIdentifierWithExtendedEscape1.doThing, Decl(PrivateIdentifierNameWithExtendedEscape1.ts, 5, 5)) + + this.#x = 42; +>this.#x : Symbol(PrivateIdentifierWithExtendedEscape1[#\u{78}], Decl(PrivateIdentifierNameWithExtendedEscape1.ts, 0, 51)) +>this : Symbol(PrivateIdentifierWithExtendedEscape1, Decl(PrivateIdentifierNameWithExtendedEscape1.ts, 0, 0)) + } +} + +=== tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape2.ts === +export class PrivateIdentifierWithExtendedEscape2 { +>PrivateIdentifierWithExtendedEscape2 : Symbol(PrivateIdentifierWithExtendedEscape2, Decl(PrivateIdentifierNameWithExtendedEscape2.ts, 0, 0)) + + #x\u{78}: number; +>#x\u{78} : Symbol(PrivateIdentifierWithExtendedEscape2.#x\u{78}, Decl(PrivateIdentifierNameWithExtendedEscape2.ts, 0, 51)) + + constructor() { + this.#x\u{78} = 0; +>this.#x\u{78} : Symbol(PrivateIdentifierWithExtendedEscape2.#x\u{78}, Decl(PrivateIdentifierNameWithExtendedEscape2.ts, 0, 51)) +>this : Symbol(PrivateIdentifierWithExtendedEscape2, Decl(PrivateIdentifierNameWithExtendedEscape2.ts, 0, 0)) + } + + doThing() { +>doThing : Symbol(PrivateIdentifierWithExtendedEscape2.doThing, Decl(PrivateIdentifierNameWithExtendedEscape2.ts, 5, 5)) + + this.#xx = 42; +>this.#xx : Symbol(PrivateIdentifierWithExtendedEscape2.#x\u{78}, Decl(PrivateIdentifierNameWithExtendedEscape2.ts, 0, 51)) +>this : Symbol(PrivateIdentifierWithExtendedEscape2, Decl(PrivateIdentifierNameWithExtendedEscape2.ts, 0, 0)) + } +} + diff --git a/tests/baselines/reference/unicodeEscapesInNames01(target=esnext).types b/tests/baselines/reference/unicodeEscapesInNames01(target=esnext).types new file mode 100644 index 0000000000000..838f197b691be --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames01(target=esnext).types @@ -0,0 +1,252 @@ +=== tests/cases/compiler/identifierVariableWithEscape1.ts === +export let \u0078 = 10; +>\u0078 : number +>10 : 10 + +x++; +>x++ : number +>x : number + +=== tests/cases/compiler/identifierVariableWithEscape2.ts === +export let x\u0078 = 10; +>x\u0078 : number +>10 : 10 + +xx++; +>xx++ : number +>xx : number + +=== tests/cases/compiler/identifierVariableWithExtendedEscape1.ts === +export let \u{78} = 10; +>\u{78} : number +>10 : 10 + +x++; +>x++ : number +>x : number + +=== tests/cases/compiler/identifierVariableWithExtendedEscape2.ts === +export let x\u{78} = 10; +>x\u{78} : number +>10 : 10 + +xx++; +>xx++ : number +>xx : number + +=== tests/cases/compiler/IdentifierNameWithEscape1.ts === +export class IdentifierNameWithEscape1 { +>IdentifierNameWithEscape1 : IdentifierNameWithEscape1 + + \u0078: number; +>\u0078 : number + + constructor() { + this.\u0078 = 0; +>this.\u0078 = 0 : 0 +>this.\u0078 : number +>this : this +>\u0078 : number +>0 : 0 + } + + doThing() { +>doThing : () => void + + this.x = 42; +>this.x = 42 : 42 +>this.x : number +>this : this +>x : number +>42 : 42 + } +} + +=== tests/cases/compiler/IdentifierNameWithEscape2.ts === +export class IdentifierNameWithEscape2 { +>IdentifierNameWithEscape2 : IdentifierNameWithEscape2 + + x\u0078: number; +>x\u0078 : number + + constructor() { + this.x\u0078 = 0; +>this.x\u0078 = 0 : 0 +>this.x\u0078 : number +>this : this +>x\u0078 : number +>0 : 0 + } + + doThing() { +>doThing : () => void + + this.xx = 42; +>this.xx = 42 : 42 +>this.xx : number +>this : this +>xx : number +>42 : 42 + } +} + +=== tests/cases/compiler/IdentifierNameWithExtendedEscape1.ts === +export class IdentifierNameWithExtendedEscape1 { +>IdentifierNameWithExtendedEscape1 : IdentifierNameWithExtendedEscape1 + + \u{78}: number; +>\u{78} : number + + constructor() { + this.\u{78} = 0; +>this.\u{78} = 0 : 0 +>this.\u{78} : number +>this : this +>\u{78} : number +>0 : 0 + } + + doThing() { +>doThing : () => void + + this.x = 42; +>this.x = 42 : 42 +>this.x : number +>this : this +>x : number +>42 : 42 + } +} + +=== tests/cases/compiler/IdentifierNameWithExtendedEscape2.ts === +export class IdentifierNameWithExtendedEscape2 { +>IdentifierNameWithExtendedEscape2 : IdentifierNameWithExtendedEscape2 + + x\u{78}: number; +>x\u{78} : number + + constructor() { + this.x\u{78} = 0; +>this.x\u{78} = 0 : 0 +>this.x\u{78} : number +>this : this +>x\u{78} : number +>0 : 0 + } + + doThing() { +>doThing : () => void + + this.xx = 42; +>this.xx = 42 : 42 +>this.xx : number +>this : this +>xx : number +>42 : 42 + } +} + +=== tests/cases/compiler/PrivateIdentifierNameWithEscape1.ts === +export class PrivateIdentifierWithEscape1 { +>PrivateIdentifierWithEscape1 : PrivateIdentifierWithEscape1 + + #\u0078: number; +>#\u0078 : number + + constructor() { + this.#\u0078 = 0; +>this.#\u0078 = 0 : 0 +>this.#\u0078 : number +>this : this +>0 : 0 + } + + doThing() { +>doThing : () => void + + this.#x = 42; +>this.#x = 42 : 42 +>this.#x : number +>this : this +>42 : 42 + } +} + +=== tests/cases/compiler/PrivateIdentifierNameWithEscape2.ts === +export class PrivateIdentifierWithEscape2 { +>PrivateIdentifierWithEscape2 : PrivateIdentifierWithEscape2 + + #x\u0078: number; +>#x\u0078 : number + + constructor() { + this.#x\u0078 = 0; +>this.#x\u0078 = 0 : 0 +>this.#x\u0078 : number +>this : this +>0 : 0 + } + + doThing() { +>doThing : () => void + + this.#xx = 42; +>this.#xx = 42 : 42 +>this.#xx : number +>this : this +>42 : 42 + } +} + +=== tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape1.ts === +export class PrivateIdentifierWithExtendedEscape1 { +>PrivateIdentifierWithExtendedEscape1 : PrivateIdentifierWithExtendedEscape1 + + #\u{78}: number; +>#\u{78} : number + + constructor() { + this.#\u{78} = 0; +>this.#\u{78} = 0 : 0 +>this.#\u{78} : number +>this : this +>0 : 0 + } + + doThing() { +>doThing : () => void + + this.#x = 42; +>this.#x = 42 : 42 +>this.#x : number +>this : this +>42 : 42 + } +} + +=== tests/cases/compiler/PrivateIdentifierNameWithExtendedEscape2.ts === +export class PrivateIdentifierWithExtendedEscape2 { +>PrivateIdentifierWithExtendedEscape2 : PrivateIdentifierWithExtendedEscape2 + + #x\u{78}: number; +>#x\u{78} : number + + constructor() { + this.#x\u{78} = 0; +>this.#x\u{78} = 0 : 0 +>this.#x\u{78} : number +>this : this +>0 : 0 + } + + doThing() { +>doThing : () => void + + this.#xx = 42; +>this.#xx = 42 : 42 +>this.#xx : number +>this : this +>42 : 42 + } +} + diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).errors.txt b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).errors.txt new file mode 100644 index 0000000000000..f55979b700785 --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).errors.txt @@ -0,0 +1,46 @@ +tests/cases/compiler/astralAsSurrogatePair.ts(1,17): error TS1127: Invalid character. +tests/cases/compiler/astralAsSurrogatePair.ts(1,18): error TS2305: Module '"./extendedEscapesForAstralsInVarsAndClasses.js"' has no exported member 'uD800'. +tests/cases/compiler/astralAsSurrogatePair.ts(1,23): error TS1127: Invalid character. +tests/cases/compiler/astralAsSurrogatePair.ts(1,24): error TS2305: Module '"./extendedEscapesForAstralsInVarsAndClasses.js"' has no exported member 'uDEA7'. + + +==== tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts (0 errors) ==== + // Example from https://mathiasbynens.be/notes/javascript-identifiers-es6 + // Astral characters should be accepted in ES2015 + + // U+102A7 CARIAN LETTER A2 + var 𐊧: string; + var \u{102A7}: string; + + if (Math.random()) { + 𐊧 = "hello"; + } + else { + \u{102A7} = "hallo"; + } + + class Foo { + \u{102A7}: string; + constructor() { + this.\u{102A7} = " world"; + } + methodA() { + return this.𐊧; + } + } + + export var _𐊧 = new Foo().\u{102A7} + new Foo().methodA(); + + _\u{102A7} += "!"; + +==== tests/cases/compiler/astralAsSurrogatePair.ts (4 errors) ==== + import { _𐊧 as \uD800\uDEA7 } from "./extendedEscapesForAstralsInVarsAndClasses.js"; + +!!! error TS1127: Invalid character. + ~~~~~ +!!! error TS2305: Module '"./extendedEscapesForAstralsInVarsAndClasses.js"' has no exported member 'uD800'. + +!!! error TS1127: Invalid character. + ~~~~~ +!!! error TS2305: Module '"./extendedEscapesForAstralsInVarsAndClasses.js"' has no exported member 'uDEA7'. + \ No newline at end of file diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).js b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).js new file mode 100644 index 0000000000000..1fd325e6d623d --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).js @@ -0,0 +1,61 @@ +//// [tests/cases/compiler/unicodeEscapesInNames02.ts] //// + +//// [extendedEscapesForAstralsInVarsAndClasses.ts] +// Example from https://mathiasbynens.be/notes/javascript-identifiers-es6 +// Astral characters should be accepted in ES2015 + +// U+102A7 CARIAN LETTER A2 +var 𐊧: string; +var \u{102A7}: string; + +if (Math.random()) { + 𐊧 = "hello"; +} +else { + \u{102A7} = "hallo"; +} + +class Foo { + \u{102A7}: string; + constructor() { + this.\u{102A7} = " world"; + } + methodA() { + return this.𐊧; + } +} + +export var _𐊧 = new Foo().\u{102A7} + new Foo().methodA(); + +_\u{102A7} += "!"; + +//// [astralAsSurrogatePair.ts] +import { _𐊧 as \uD800\uDEA7 } from "./extendedEscapesForAstralsInVarsAndClasses.js"; + + +//// [extendedEscapesForAstralsInVarsAndClasses.js] +// Example from https://mathiasbynens.be/notes/javascript-identifiers-es6 +// Astral characters should be accepted in ES2015 +// U+102A7 CARIAN LETTER A2 +var 𐊧; +var \u{102A7}; +if (Math.random()) { + 𐊧 = "hello"; +} +else { + \u{102A7} = "hallo"; +} +class Foo { + constructor() { + this.\u{102A7} = " world"; + } + methodA() { + return this.𐊧; + } +} +export var _𐊧 = new Foo().\u{102A7} + new Foo().methodA(); +_\u{102A7} += "!"; +//# sourceMappingURL=extendedEscapesForAstralsInVarsAndClasses.js.map +//// [astralAsSurrogatePair.js] +export {}; +//# sourceMappingURL=astralAsSurrogatePair.js.map \ No newline at end of file diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).js.map b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).js.map new file mode 100644 index 0000000000000..7349b5d0896c9 --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).js.map @@ -0,0 +1,7 @@ +//// [extendedEscapesForAstralsInVarsAndClasses.js.map] +{"version":3,"file":"extendedEscapesForAstralsInVarsAndClasses.js","sourceRoot":"","sources":["extendedEscapesForAstralsInVarsAndClasses.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,iDAAiD;AAEjD,2BAA2B;AAC3B,IAAI,EAAU,CAAC;AACf,IAAI,SAAiB,CAAC;AAEtB,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;IACf,EAAE,GAAG,OAAO,CAAC;CAChB;KACI;IACD,SAAS,GAAG,OAAO,CAAC;CACvB;AAED,MAAM,GAAG;IAEL;QACI,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IACD,OAAO;QACH,OAAO,IAAI,CAAC,EAAE,CAAC;IACnB,CAAC;CACJ;AAED,MAAM,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;AAE3D,UAAU,IAAI,GAAG,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,Ly8gRXhhbXBsZSBmcm9tIGh0dHBzOi8vbWF0aGlhc2J5bmVucy5iZS9ub3Rlcy9qYXZhc2NyaXB0LWlkZW50aWZpZXJzLWVzNg0KLy8gQXN0cmFsIGNoYXJhY3RlcnMgc2hvdWxkIGJlIGFjY2VwdGVkIGluIEVTMjAxNQ0KLy8gVSsxMDJBNyBDQVJJQU4gTEVUVEVSIEEyDQp2YXIg7aCA7bqnOw0KdmFyIFx1ezEwMkE3fTsNCmlmIChNYXRoLnJhbmRvbSgpKSB7DQogICAg7aCA7bqnID0gImhlbGxvIjsNCn0NCmVsc2Ugew0KICAgIFx1ezEwMkE3fSA9ICJoYWxsbyI7DQp9DQpjbGFzcyBGb28gew0KICAgIGNvbnN0cnVjdG9yKCkgew0KICAgICAgICB0aGlzLlx1ezEwMkE3fSA9ICIgd29ybGQiOw0KICAgIH0NCiAgICBtZXRob2RBKCkgew0KICAgICAgICByZXR1cm4gdGhpcy7toIDtuqc7DQogICAgfQ0KfQ0KZXhwb3J0IHZhciBf7aCA7bqnID0gbmV3IEZvbygpLlx1ezEwMkE3fSArIG5ldyBGb28oKS5tZXRob2RBKCk7DQpfXHV7MTAyQTd9ICs9ICIhIjsNCi8vIyBzb3VyY2VNYXBwaW5nVVJMPWV4dGVuZGVkRXNjYXBlc0ZvckFzdHJhbHNJblZhcnNBbmRDbGFzc2VzLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWRFc2NhcGVzRm9yQXN0cmFsc0luVmFyc0FuZENsYXNzZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlbmRlZEVzY2FwZXNGb3JBc3RyYWxzSW5WYXJzQW5kQ2xhc3Nlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5RUFBeUU7QUFDekUsaURBQWlEO0FBRWpELDJCQUEyQjtBQUMzQixJQUFJLEVBQVUsQ0FBQztBQUNmLElBQUksU0FBaUIsQ0FBQztBQUV0QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRTtJQUNmLEVBQUUsR0FBRyxPQUFPLENBQUM7Q0FDaEI7S0FDSTtJQUNELFNBQVMsR0FBRyxPQUFPLENBQUM7Q0FDdkI7QUFFRCxNQUFNLEdBQUc7SUFFTDtRQUNJLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFDRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ25CLENBQUM7Q0FDSjtBQUVELE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBRTNELFVBQVUsSUFBSSxHQUFHLENBQUMifQ==,Ly8gRXhhbXBsZSBmcm9tIGh0dHBzOi8vbWF0aGlhc2J5bmVucy5iZS9ub3Rlcy9qYXZhc2NyaXB0LWlkZW50aWZpZXJzLWVzNgovLyBBc3RyYWwgY2hhcmFjdGVycyBzaG91bGQgYmUgYWNjZXB0ZWQgaW4gRVMyMDE1CgovLyBVKzEwMkE3IENBUklBTiBMRVRURVIgQTIKdmFyIO2ggO26pzogc3RyaW5nOwp2YXIgXHV7MTAyQTd9OiBzdHJpbmc7CgppZiAoTWF0aC5yYW5kb20oKSkgewogICAg7aCA7bqnID0gImhlbGxvIjsKfQplbHNlIHsKICAgIFx1ezEwMkE3fSA9ICJoYWxsbyI7Cn0KCmNsYXNzIEZvbyB7CiAgICBcdXsxMDJBN306IHN0cmluZzsKICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgIHRoaXMuXHV7MTAyQTd9ID0gIiB3b3JsZCI7CiAgICB9CiAgICBtZXRob2RBKCkgewogICAgICAgIHJldHVybiB0aGlzLu2ggO26pzsKICAgIH0KfQoKZXhwb3J0IHZhciBf7aCA7bqnID0gbmV3IEZvbygpLlx1ezEwMkE3fSArIG5ldyBGb28oKS5tZXRob2RBKCk7CgpfXHV7MTAyQTd9ICs9ICIhIjsK + +//// [astralAsSurrogatePair.js.map] +{"version":3,"file":"astralAsSurrogatePair.js","sourceRoot":"","sources":["astralAsSurrogatePair.ts"],"names":[],"mappings":""} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IHt9Ow0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXN0cmFsQXNTdXJyb2dhdGVQYWlyLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0cmFsQXNTdXJyb2dhdGVQYWlyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXN0cmFsQXNTdXJyb2dhdGVQYWlyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==,aW1wb3J0IHsgX+2ggO26pyBhcyBcdUQ4MDBcdURFQTcgfSBmcm9tICIuL2V4dGVuZGVkRXNjYXBlc0ZvckFzdHJhbHNJblZhcnNBbmRDbGFzc2VzLmpzIjsK diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).sourcemap.txt b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).sourcemap.txt new file mode 100644 index 0000000000000..72989e716c389 --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).sourcemap.txt @@ -0,0 +1,343 @@ +=================================================================== +JsFile: extendedEscapesForAstralsInVarsAndClasses.js +mapUrl: extendedEscapesForAstralsInVarsAndClasses.js.map +sourceRoot: +sources: extendedEscapesForAstralsInVarsAndClasses.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.js +sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts +------------------------------------------------------------------- +>>>// Example from https://mathiasbynens.be/notes/javascript-identifiers-es6 +1 > +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > +2 >// Example from https://mathiasbynens.be/notes/javascript-identifiers-es6 +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 74) Source(1, 74) + SourceIndex(0) +--- +>>>// Astral characters should be accepted in ES2015 +1 > +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > + > +2 >// Astral characters should be accepted in ES2015 +1 >Emitted(2, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(2, 50) Source(2, 50) + SourceIndex(0) +--- +>>>// U+102A7 CARIAN LETTER A2 +1 > +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > + > + > +2 >// U+102A7 CARIAN LETTER A2 +1 >Emitted(3, 1) Source(4, 1) + SourceIndex(0) +2 >Emitted(3, 28) Source(4, 28) + SourceIndex(0) +--- +>>>var 𐊧; +1 > +2 >^^^^ +3 > ^^ +4 > ^ +5 > ^^^^^^^^-> +1 > + > +2 >var +3 > 𐊧: string +4 > ; +1 >Emitted(4, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(4, 5) Source(5, 5) + SourceIndex(0) +3 >Emitted(4, 7) Source(5, 15) + SourceIndex(0) +4 >Emitted(4, 8) Source(5, 16) + SourceIndex(0) +--- +>>>var \u{102A7}; +1-> +2 >^^^^ +3 > ^^^^^^^^^ +4 > ^ +5 > ^^^^^^^-> +1-> + > +2 >var +3 > \u{102A7}: string +4 > ; +1->Emitted(5, 1) Source(6, 1) + SourceIndex(0) +2 >Emitted(5, 5) Source(6, 5) + SourceIndex(0) +3 >Emitted(5, 14) Source(6, 22) + SourceIndex(0) +4 >Emitted(5, 15) Source(6, 23) + SourceIndex(0) +--- +>>>if (Math.random()) { +1-> +2 >^^^^ +3 > ^^^^ +4 > ^ +5 > ^^^^^^ +6 > ^^ +7 > ^^ +1-> + > + > +2 >if ( +3 > Math +4 > . +5 > random +6 > () +7 > ) +1->Emitted(6, 1) Source(8, 1) + SourceIndex(0) +2 >Emitted(6, 5) Source(8, 5) + SourceIndex(0) +3 >Emitted(6, 9) Source(8, 9) + SourceIndex(0) +4 >Emitted(6, 10) Source(8, 10) + SourceIndex(0) +5 >Emitted(6, 16) Source(8, 16) + SourceIndex(0) +6 >Emitted(6, 18) Source(8, 18) + SourceIndex(0) +7 >Emitted(6, 20) Source(8, 20) + SourceIndex(0) +--- +>>> 𐊧 = "hello"; +1 >^^^^ +2 > ^^ +3 > ^^^ +4 > ^^^^^^^ +5 > ^ +1 >{ + > +2 > 𐊧 +3 > = +4 > "hello" +5 > ; +1 >Emitted(7, 5) Source(9, 5) + SourceIndex(0) +2 >Emitted(7, 7) Source(9, 7) + SourceIndex(0) +3 >Emitted(7, 10) Source(9, 10) + SourceIndex(0) +4 >Emitted(7, 17) Source(9, 17) + SourceIndex(0) +5 >Emitted(7, 18) Source(9, 18) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^-> +1 > + >} +1 >Emitted(8, 2) Source(10, 2) + SourceIndex(0) +--- +>>>else { +1->^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^-> +1-> + >else +1->Emitted(9, 6) Source(11, 6) + SourceIndex(0) +--- +>>> \u{102A7} = "hallo"; +1->^^^^ +2 > ^^^^^^^^^ +3 > ^^^ +4 > ^^^^^^^ +5 > ^ +1->{ + > +2 > \u{102A7} +3 > = +4 > "hallo" +5 > ; +1->Emitted(10, 5) Source(12, 5) + SourceIndex(0) +2 >Emitted(10, 14) Source(12, 14) + SourceIndex(0) +3 >Emitted(10, 17) Source(12, 17) + SourceIndex(0) +4 >Emitted(10, 24) Source(12, 24) + SourceIndex(0) +5 >Emitted(10, 25) Source(12, 25) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^-> +1 > + >} +1 >Emitted(11, 2) Source(13, 2) + SourceIndex(0) +--- +>>>class Foo { +1-> +2 >^^^^^^ +3 > ^^^ +4 > ^^^^^^^^^^^-> +1-> + > + > +2 >class +3 > Foo +1->Emitted(12, 1) Source(15, 1) + SourceIndex(0) +2 >Emitted(12, 7) Source(15, 7) + SourceIndex(0) +3 >Emitted(12, 10) Source(15, 10) + SourceIndex(0) +--- +>>> constructor() { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1-> { + > \u{102A7}: string; + > +1->Emitted(13, 5) Source(17, 5) + SourceIndex(0) +--- +>>> this.\u{102A7} = " world"; +1->^^^^^^^^ +2 > ^^^^ +3 > ^ +4 > ^^^^^^^^^ +5 > ^^^ +6 > ^^^^^^^^ +7 > ^ +1->constructor() { + > +2 > this +3 > . +4 > \u{102A7} +5 > = +6 > " world" +7 > ; +1->Emitted(14, 9) Source(18, 9) + SourceIndex(0) +2 >Emitted(14, 13) Source(18, 13) + SourceIndex(0) +3 >Emitted(14, 14) Source(18, 14) + SourceIndex(0) +4 >Emitted(14, 23) Source(18, 23) + SourceIndex(0) +5 >Emitted(14, 26) Source(18, 26) + SourceIndex(0) +6 >Emitted(14, 34) Source(18, 34) + SourceIndex(0) +7 >Emitted(14, 35) Source(18, 35) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(15, 5) Source(19, 5) + SourceIndex(0) +2 >Emitted(15, 6) Source(19, 6) + SourceIndex(0) +--- +>>> methodA() { +1->^^^^ +2 > ^^^^^^^ +3 > ^^^^^^^^^^^^^-> +1-> + > +2 > methodA +1->Emitted(16, 5) Source(20, 5) + SourceIndex(0) +2 >Emitted(16, 12) Source(20, 12) + SourceIndex(0) +--- +>>> return this.𐊧; +1->^^^^^^^^ +2 > ^^^^^^^ +3 > ^^^^ +4 > ^ +5 > ^^ +6 > ^ +1->() { + > +2 > return +3 > this +4 > . +5 > 𐊧 +6 > ; +1->Emitted(17, 9) Source(21, 9) + SourceIndex(0) +2 >Emitted(17, 16) Source(21, 16) + SourceIndex(0) +3 >Emitted(17, 20) Source(21, 20) + SourceIndex(0) +4 >Emitted(17, 21) Source(21, 21) + SourceIndex(0) +5 >Emitted(17, 23) Source(21, 23) + SourceIndex(0) +6 >Emitted(17, 24) Source(21, 24) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +1 > + > +2 > } +1 >Emitted(18, 5) Source(22, 5) + SourceIndex(0) +2 >Emitted(18, 6) Source(22, 6) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(19, 2) Source(23, 2) + SourceIndex(0) +--- +>>>export var _𐊧 = new Foo().\u{102A7} + new Foo().methodA(); +1-> +2 >^^^^^^ +3 > ^ +4 > ^^^^ +5 > ^^^ +6 > ^^^ +7 > ^^^^ +8 > ^^^ +9 > ^^ +10> ^ +11> ^^^^^^^^^ +12> ^^^ +13> ^^^^ +14> ^^^ +15> ^^ +16> ^ +17> ^^^^^^^ +18> ^^ +19> ^ +1-> + > + > +2 >export +3 > +4 > var +5 > _𐊧 +6 > = +7 > new +8 > Foo +9 > () +10> . +11> \u{102A7} +12> + +13> new +14> Foo +15> () +16> . +17> methodA +18> () +19> ; +1->Emitted(20, 1) Source(25, 1) + SourceIndex(0) +2 >Emitted(20, 7) Source(25, 7) + SourceIndex(0) +3 >Emitted(20, 8) Source(25, 8) + SourceIndex(0) +4 >Emitted(20, 12) Source(25, 12) + SourceIndex(0) +5 >Emitted(20, 15) Source(25, 15) + SourceIndex(0) +6 >Emitted(20, 18) Source(25, 18) + SourceIndex(0) +7 >Emitted(20, 22) Source(25, 22) + SourceIndex(0) +8 >Emitted(20, 25) Source(25, 25) + SourceIndex(0) +9 >Emitted(20, 27) Source(25, 27) + SourceIndex(0) +10>Emitted(20, 28) Source(25, 28) + SourceIndex(0) +11>Emitted(20, 37) Source(25, 37) + SourceIndex(0) +12>Emitted(20, 40) Source(25, 40) + SourceIndex(0) +13>Emitted(20, 44) Source(25, 44) + SourceIndex(0) +14>Emitted(20, 47) Source(25, 47) + SourceIndex(0) +15>Emitted(20, 49) Source(25, 49) + SourceIndex(0) +16>Emitted(20, 50) Source(25, 50) + SourceIndex(0) +17>Emitted(20, 57) Source(25, 57) + SourceIndex(0) +18>Emitted(20, 59) Source(25, 59) + SourceIndex(0) +19>Emitted(20, 60) Source(25, 60) + SourceIndex(0) +--- +>>>_\u{102A7} += "!"; +1 > +2 >^^^^^^^^^^ +3 > ^^^^ +4 > ^^^ +5 > ^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > + > +2 >_\u{102A7} +3 > += +4 > "!" +5 > ; +1 >Emitted(21, 1) Source(27, 1) + SourceIndex(0) +2 >Emitted(21, 11) Source(27, 11) + SourceIndex(0) +3 >Emitted(21, 15) Source(27, 15) + SourceIndex(0) +4 >Emitted(21, 18) Source(27, 18) + SourceIndex(0) +5 >Emitted(21, 19) Source(27, 19) + SourceIndex(0) +--- +>>>//# sourceMappingURL=extendedEscapesForAstralsInVarsAndClasses.js.map=================================================================== +JsFile: astralAsSurrogatePair.js +mapUrl: astralAsSurrogatePair.js.map +sourceRoot: +sources: astralAsSurrogatePair.ts +=================================================================== +>>>export {}; +>>>//# sourceMappingURL=astralAsSurrogatePair.js.map \ No newline at end of file diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).symbols b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).symbols new file mode 100644 index 0000000000000..d555632955d75 --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).symbols @@ -0,0 +1,65 @@ +=== tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts === +// Example from https://mathiasbynens.be/notes/javascript-identifiers-es6 +// Astral characters should be accepted in ES2015 + +// U+102A7 CARIAN LETTER A2 +var 𐊧: string; +>𐊧 : Symbol(𐊧, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 4, 3), Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 5, 3)) + +var \u{102A7}: string; +>\u{102A7} : Symbol(𐊧, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 4, 3), Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 5, 3)) + +if (Math.random()) { +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) + + 𐊧 = "hello"; +>𐊧 : Symbol(𐊧, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 4, 3), Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 5, 3)) +} +else { + \u{102A7} = "hallo"; +>\u{102A7} : Symbol(𐊧, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 4, 3), Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 5, 3)) +} + +class Foo { +>Foo : Symbol(Foo, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 12, 1)) + + \u{102A7}: string; +>\u{102A7} : Symbol(Foo[\u{102A7}], Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 14, 11)) + + constructor() { + this.\u{102A7} = " world"; +>this.\u{102A7} : Symbol(Foo[\u{102A7}], Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 14, 11)) +>this : Symbol(Foo, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 12, 1)) +>\u{102A7} : Symbol(Foo[\u{102A7}], Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 14, 11)) + } + methodA() { +>methodA : Symbol(Foo.methodA, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 18, 5)) + + return this.𐊧; +>this.𐊧 : Symbol(Foo[\u{102A7}], Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 14, 11)) +>this : Symbol(Foo, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 12, 1)) +>𐊧 : Symbol(Foo[\u{102A7}], Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 14, 11)) + } +} + +export var _𐊧 = new Foo().\u{102A7} + new Foo().methodA(); +>_𐊧 : Symbol(_𐊧, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 24, 10)) +>new Foo().\u{102A7} : Symbol(Foo[\u{102A7}], Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 14, 11)) +>Foo : Symbol(Foo, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 12, 1)) +>\u{102A7} : Symbol(Foo[\u{102A7}], Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 14, 11)) +>new Foo().methodA : Symbol(Foo.methodA, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 18, 5)) +>Foo : Symbol(Foo, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 12, 1)) +>methodA : Symbol(Foo.methodA, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 18, 5)) + +_\u{102A7} += "!"; +>_\u{102A7} : Symbol(_𐊧, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 24, 10)) + +=== tests/cases/compiler/astralAsSurrogatePair.ts === +import { _𐊧 as \uD800\uDEA7 } from "./extendedEscapesForAstralsInVarsAndClasses.js"; +>_𐊧 : Symbol((Missing), Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 24, 10)) +> : Symbol((Missing), Decl(astralAsSurrogatePair.ts, 0, 8)) +>uD800 : Symbol(uD800, Decl(astralAsSurrogatePair.ts, 0, 17)) +>uDEA7 : Symbol(uDEA7, Decl(astralAsSurrogatePair.ts, 0, 23)) + diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).types b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).types new file mode 100644 index 0000000000000..6e2aa91bbf3e7 --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).types @@ -0,0 +1,78 @@ +=== tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts === +// Example from https://mathiasbynens.be/notes/javascript-identifiers-es6 +// Astral characters should be accepted in ES2015 + +// U+102A7 CARIAN LETTER A2 +var 𐊧: string; +>𐊧 : string + +var \u{102A7}: string; +>\u{102A7} : string + +if (Math.random()) { +>Math.random() : number +>Math.random : () => number +>Math : Math +>random : () => number + + 𐊧 = "hello"; +>𐊧 = "hello" : "hello" +>𐊧 : string +>"hello" : "hello" +} +else { + \u{102A7} = "hallo"; +>\u{102A7} = "hallo" : "hallo" +>\u{102A7} : string +>"hallo" : "hallo" +} + +class Foo { +>Foo : Foo + + \u{102A7}: string; +>\u{102A7} : string + + constructor() { + this.\u{102A7} = " world"; +>this.\u{102A7} = " world" : " world" +>this.\u{102A7} : string +>this : this +>\u{102A7} : string +>" world" : " world" + } + methodA() { +>methodA : () => string + + return this.𐊧; +>this.𐊧 : string +>this : this +>𐊧 : string + } +} + +export var _𐊧 = new Foo().\u{102A7} + new Foo().methodA(); +>_𐊧 : string +>new Foo().\u{102A7} + new Foo().methodA() : string +>new Foo().\u{102A7} : string +>new Foo() : Foo +>Foo : typeof Foo +>\u{102A7} : string +>new Foo().methodA() : string +>new Foo().methodA : () => string +>new Foo() : Foo +>Foo : typeof Foo +>methodA : () => string + +_\u{102A7} += "!"; +>_\u{102A7} += "!" : string +>_\u{102A7} : string +>"!" : "!" + +=== tests/cases/compiler/astralAsSurrogatePair.ts === +import { _𐊧 as \uD800\uDEA7 } from "./extendedEscapesForAstralsInVarsAndClasses.js"; +>_𐊧 : string +> : string +>uD800 : any +>uDEA7 : any + diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es5).errors.txt b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).errors.txt new file mode 100644 index 0000000000000..3bebdc1f719a7 --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).errors.txt @@ -0,0 +1,166 @@ +tests/cases/compiler/astralAsSurrogatePair.ts(1,11): error TS1127: Invalid character. +tests/cases/compiler/astralAsSurrogatePair.ts(1,14): error TS2305: Module '"./extendedEscapesForAstralsInVarsAndClasses.js"' has no exported member 'as'. +tests/cases/compiler/astralAsSurrogatePair.ts(1,17): error TS1127: Invalid character. +tests/cases/compiler/astralAsSurrogatePair.ts(1,18): error TS2305: Module '"./extendedEscapesForAstralsInVarsAndClasses.js"' has no exported member 'uD800'. +tests/cases/compiler/astralAsSurrogatePair.ts(1,23): error TS1127: Invalid character. +tests/cases/compiler/astralAsSurrogatePair.ts(1,24): error TS2305: Module '"./extendedEscapesForAstralsInVarsAndClasses.js"' has no exported member 'uDEA7'. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(5,5): error TS1127: Invalid character. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(5,7): error TS1134: Variable declaration expected. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(6,5): error TS1127: Invalid character. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(6,7): error TS1005: ',' expected. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(6,11): error TS1351: An identifier or keyword cannot immediately follow a numeric literal. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(9,5): error TS1127: Invalid character. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(9,8): error TS1128: Declaration or statement expected. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(12,5): error TS1127: Invalid character. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(12,6): error TS1434: Unexpected keyword or identifier. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(12,11): error TS1351: An identifier or keyword cannot immediately follow a numeric literal. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(12,15): error TS2809: Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the the whole assignment in parentheses. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(16,5): error TS1127: Invalid character. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(16,6): error TS1434: Unexpected keyword or identifier. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(16,7): error TS1068: Unexpected token. A constructor, method, accessor, or property was expected. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(16,11): error TS1351: An identifier or keyword cannot immediately follow a numeric literal. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(16,14): error TS1128: Declaration or statement expected. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(17,5): error TS2304: Cannot find name 'constructor'. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(17,19): error TS1005: ';' expected. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(18,9): error TS2532: Object is possibly 'undefined'. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(18,14): error TS1127: Invalid character. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(18,15): error TS1434: Unexpected keyword or identifier. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(18,20): error TS1351: An identifier or keyword cannot immediately follow a numeric literal. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(18,24): error TS2809: Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the the whole assignment in parentheses. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(20,5): error TS2304: Cannot find name 'methodA'. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(20,15): error TS1005: ';' expected. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(21,21): error TS1127: Invalid character. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(23,1): error TS1128: Declaration or statement expected. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(25,13): error TS1127: Invalid character. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(25,16): error TS1134: Variable declaration expected. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(25,18): error TS1389: 'new' is not allowed as a variable declaration name. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(25,28): error TS1127: Invalid character. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(25,29): error TS1434: Unexpected keyword or identifier. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(25,34): error TS1351: An identifier or keyword cannot immediately follow a numeric literal. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(25,50): error TS2339: Property 'methodA' does not exist on type 'Foo'. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(27,2): error TS1127: Invalid character. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(27,3): error TS1434: Unexpected keyword or identifier. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(27,8): error TS1351: An identifier or keyword cannot immediately follow a numeric literal. +tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts(27,12): error TS1128: Declaration or statement expected. + + +==== tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts (38 errors) ==== + // Example from https://mathiasbynens.be/notes/javascript-identifiers-es6 + // Astral characters should be accepted in ES2015 + + // U+102A7 CARIAN LETTER A2 + var 𐊧: string; + ~~ +!!! error TS1127: Invalid character. + ~ +!!! error TS1134: Variable declaration expected. + var \u{102A7}: string; + +!!! error TS1127: Invalid character. + ~ +!!! error TS1005: ',' expected. + ~~ +!!! error TS1351: An identifier or keyword cannot immediately follow a numeric literal. + + if (Math.random()) { + 𐊧 = "hello"; + ~~ +!!! error TS1127: Invalid character. + ~ +!!! error TS1128: Declaration or statement expected. + } + else { + \u{102A7} = "hallo"; + +!!! error TS1127: Invalid character. + ~ +!!! error TS1434: Unexpected keyword or identifier. + ~~ +!!! error TS1351: An identifier or keyword cannot immediately follow a numeric literal. + ~ +!!! error TS2809: Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the the whole assignment in parentheses. + } + + class Foo { + \u{102A7}: string; + +!!! error TS1127: Invalid character. + ~ +!!! error TS1434: Unexpected keyword or identifier. + ~ +!!! error TS1068: Unexpected token. A constructor, method, accessor, or property was expected. + ~~ +!!! error TS1351: An identifier or keyword cannot immediately follow a numeric literal. + ~ +!!! error TS1128: Declaration or statement expected. + constructor() { + ~~~~~~~~~~~ +!!! error TS2304: Cannot find name 'constructor'. + ~ +!!! error TS1005: ';' expected. + this.\u{102A7} = " world"; + ~~~~ +!!! error TS2532: Object is possibly 'undefined'. + +!!! error TS1127: Invalid character. + ~ +!!! error TS1434: Unexpected keyword or identifier. + ~~ +!!! error TS1351: An identifier or keyword cannot immediately follow a numeric literal. + ~ +!!! error TS2809: Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the the whole assignment in parentheses. + } + methodA() { + ~~~~~~~ +!!! error TS2304: Cannot find name 'methodA'. + ~ +!!! error TS1005: ';' expected. + return this.𐊧; + ~~ +!!! error TS1127: Invalid character. + } + } + ~ +!!! error TS1128: Declaration or statement expected. + + export var _𐊧 = new Foo().\u{102A7} + new Foo().methodA(); + ~~ +!!! error TS1127: Invalid character. + ~ +!!! error TS1134: Variable declaration expected. + ~~~ +!!! error TS1389: 'new' is not allowed as a variable declaration name. + +!!! error TS1127: Invalid character. + ~ +!!! error TS1434: Unexpected keyword or identifier. + ~~ +!!! error TS1351: An identifier or keyword cannot immediately follow a numeric literal. + ~~~~~~~ +!!! error TS2339: Property 'methodA' does not exist on type 'Foo'. + + _\u{102A7} += "!"; + +!!! error TS1127: Invalid character. + ~ +!!! error TS1434: Unexpected keyword or identifier. + ~~ +!!! error TS1351: An identifier or keyword cannot immediately follow a numeric literal. + ~~ +!!! error TS1128: Declaration or statement expected. + +==== tests/cases/compiler/astralAsSurrogatePair.ts (6 errors) ==== + import { _𐊧 as \uD800\uDEA7 } from "./extendedEscapesForAstralsInVarsAndClasses.js"; + ~~ +!!! error TS1127: Invalid character. + ~~ +!!! error TS2305: Module '"./extendedEscapesForAstralsInVarsAndClasses.js"' has no exported member 'as'. + +!!! error TS1127: Invalid character. + ~~~~~ +!!! error TS2305: Module '"./extendedEscapesForAstralsInVarsAndClasses.js"' has no exported member 'uD800'. + +!!! error TS1127: Invalid character. + ~~~~~ +!!! error TS2305: Module '"./extendedEscapesForAstralsInVarsAndClasses.js"' has no exported member 'uDEA7'. + \ No newline at end of file diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es5).js b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).js new file mode 100644 index 0000000000000..69ae05939a45a --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).js @@ -0,0 +1,95 @@ +//// [tests/cases/compiler/unicodeEscapesInNames02.ts] //// + +//// [extendedEscapesForAstralsInVarsAndClasses.ts] +// Example from https://mathiasbynens.be/notes/javascript-identifiers-es6 +// Astral characters should be accepted in ES2015 + +// U+102A7 CARIAN LETTER A2 +var 𐊧: string; +var \u{102A7}: string; + +if (Math.random()) { + 𐊧 = "hello"; +} +else { + \u{102A7} = "hallo"; +} + +class Foo { + \u{102A7}: string; + constructor() { + this.\u{102A7} = " world"; + } + methodA() { + return this.𐊧; + } +} + +export var _𐊧 = new Foo().\u{102A7} + new Foo().methodA(); + +_\u{102A7} += "!"; + +//// [astralAsSurrogatePair.ts] +import { _𐊧 as \uD800\uDEA7 } from "./extendedEscapesForAstralsInVarsAndClasses.js"; + + +//// [extendedEscapesForAstralsInVarsAndClasses.js] +// Example from https://mathiasbynens.be/notes/javascript-identifiers-es6 +// Astral characters should be accepted in ES2015 +// U+102A7 CARIAN LETTER A2 +var string; +var u, A7 = (void 0)[102]; +if (Math.random()) { + "hello"; +} +else { + u; + { + 102; + A7; + } + "hallo"; +} +var Foo = /** @class */ (function () { + function Foo() { + } + return Foo; +}()); +{ + 102; + A7; +} +string; +constructor(); +{ + this.; + u; + { + 102; + A7; + } + " world"; +} +methodA(); +{ + return this.𐊧; +} +export var _; +new Foo().; +u; +{ + 102; + A7; +} ++new Foo().methodA(); +_; +u; +{ + 102; + A7; +} +"!"; +//# sourceMappingURL=extendedEscapesForAstralsInVarsAndClasses.js.map +//// [astralAsSurrogatePair.js] +export {}; +//# sourceMappingURL=astralAsSurrogatePair.js.map \ No newline at end of file diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es5).js.map b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).js.map new file mode 100644 index 0000000000000..883c292333409 --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).js.map @@ -0,0 +1,7 @@ +//// [extendedEscapesForAstralsInVarsAndClasses.js.map] +{"version":3,"file":"extendedEscapesForAstralsInVarsAndClasses.js","sourceRoot":"","sources":["extendedEscapesForAstralsInVarsAndClasses.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,iDAAiD;AAEjD,2BAA2B;AAC3B,IAAQ,MAAM,CAAC;AACV,IAAA,CAAC,EAAI,EAAE,gBAAA,CAAU;AAEtB,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;IACV,OAAO,CAAC;CAChB;KACI;IACA,CAAC,CAAA;IAAA;QAAC,GAAG,CAAA;QAAA,EAAE,CAAA;KAAC;IAAG,OAAO,CAAC;CACvB;AAED;IAAA;IACM,CAAC,AAAD;IAAA,UAAC;AAAD,CAAC,AAAD,AADN,IACM;AAAA;IAAC,GAAG,CAAA;IAAA,EAAE,CAAA;CAAC;AAAE,MAAM,CAAC;AAClB,WAAW,EAAE,CAAA;AAAC;IACV,IAAI,CAAC,CAAA;IAAC,CAAC,CAAA;IAAA;QAAC,GAAG,CAAA;QAAA,EAAE,CAAA;KAAC;IAAG,QAAQ,CAAC;CAC7B;AACD,OAAO,EAAE,CAAA;AAAC;IACN,OAAO,IAAI,CAAC,EAAE,CAAC;CAClB;AAGL,MAAM,CAAC,IAAI,CAAK,CAAA;AAAC,IAAI,GAAG,EAAE,CAAC,CAAA;AAAC,CAAC,CAAA;AAAA;IAAC,GAAG,CAAA;IAAA,EAAE,CAAA;CAAC;AAAC,CAAE,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;AAE3D,CAAC,CAAA;AAAC,CAAC,CAAA;AAAA;IAAC,GAAG,CAAA;IAAA,EAAE,CAAA;CAAC;AAAI,GAAG,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,Ly8gRXhhbXBsZSBmcm9tIGh0dHBzOi8vbWF0aGlhc2J5bmVucy5iZS9ub3Rlcy9qYXZhc2NyaXB0LWlkZW50aWZpZXJzLWVzNg0KLy8gQXN0cmFsIGNoYXJhY3RlcnMgc2hvdWxkIGJlIGFjY2VwdGVkIGluIEVTMjAxNQ0KLy8gVSsxMDJBNyBDQVJJQU4gTEVUVEVSIEEyDQp2YXIgc3RyaW5nOw0KdmFyIHUsIEE3ID0gKHZvaWQgMClbMTAyXTsNCmlmIChNYXRoLnJhbmRvbSgpKSB7DQogICAgImhlbGxvIjsNCn0NCmVsc2Ugew0KICAgIHU7DQogICAgew0KICAgICAgICAxMDI7DQogICAgICAgIEE3Ow0KICAgIH0NCiAgICAiaGFsbG8iOw0KfQ0KdmFyIEZvbyA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHsNCiAgICBmdW5jdGlvbiBGb28oKSB7DQogICAgfQ0KICAgIHJldHVybiBGb287DQp9KCkpOw0Kew0KICAgIDEwMjsNCiAgICBBNzsNCn0NCnN0cmluZzsNCmNvbnN0cnVjdG9yKCk7DQp7DQogICAgdGhpcy47DQogICAgdTsNCiAgICB7DQogICAgICAgIDEwMjsNCiAgICAgICAgQTc7DQogICAgfQ0KICAgICIgd29ybGQiOw0KfQ0KbWV0aG9kQSgpOw0Kew0KICAgIHJldHVybiB0aGlzLu2ggO26pzsNCn0NCmV4cG9ydCB2YXIgXzsNCm5ldyBGb28oKS47DQp1Ow0Kew0KICAgIDEwMjsNCiAgICBBNzsNCn0NCituZXcgRm9vKCkubWV0aG9kQSgpOw0KXzsNCnU7DQp7DQogICAgMTAyOw0KICAgIEE3Ow0KfQ0KIiEiOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXh0ZW5kZWRFc2NhcGVzRm9yQXN0cmFsc0luVmFyc0FuZENsYXNzZXMuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWRFc2NhcGVzRm9yQXN0cmFsc0luVmFyc0FuZENsYXNzZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlbmRlZEVzY2FwZXNGb3JBc3RyYWxzSW5WYXJzQW5kQ2xhc3Nlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5RUFBeUU7QUFDekUsaURBQWlEO0FBRWpELDJCQUEyQjtBQUMzQixJQUFRLE1BQU0sQ0FBQztBQUNWLElBQUEsQ0FBQyxFQUFJLEVBQUUsZ0JBQUEsQ0FBVTtBQUV0QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRTtJQUNWLE9BQU8sQ0FBQztDQUNoQjtLQUNJO0lBQ0EsQ0FBQyxDQUFBO0lBQUE7UUFBQyxHQUFHLENBQUE7UUFBQSxFQUFFLENBQUE7S0FBQztJQUFHLE9BQU8sQ0FBQztDQUN2QjtBQUVEO0lBQUE7SUFDTSxDQUFDLEFBQUQ7SUFBQSxVQUFDO0FBQUQsQ0FBQyxBQUFELEFBRE4sSUFDTTtBQUFBO0lBQUMsR0FBRyxDQUFBO0lBQUEsRUFBRSxDQUFBO0NBQUM7QUFBRSxNQUFNLENBQUM7QUFDbEIsV0FBVyxFQUFFLENBQUE7QUFBQztJQUNWLElBQUksQ0FBQyxDQUFBO0lBQUMsQ0FBQyxDQUFBO0lBQUE7UUFBQyxHQUFHLENBQUE7UUFBQSxFQUFFLENBQUE7S0FBQztJQUFHLFFBQVEsQ0FBQztDQUM3QjtBQUNELE9BQU8sRUFBRSxDQUFBO0FBQUM7SUFDTixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7Q0FDbEI7QUFHTCxNQUFNLENBQUMsSUFBSSxDQUFLLENBQUE7QUFBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUE7QUFBQyxDQUFDLENBQUE7QUFBQTtJQUFDLEdBQUcsQ0FBQTtJQUFBLEVBQUUsQ0FBQTtDQUFDO0FBQUMsQ0FBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBRTNELENBQUMsQ0FBQTtBQUFDLENBQUMsQ0FBQTtBQUFBO0lBQUMsR0FBRyxDQUFBO0lBQUEsRUFBRSxDQUFBO0NBQUM7QUFBSSxHQUFHLENBQUMifQ==,Ly8gRXhhbXBsZSBmcm9tIGh0dHBzOi8vbWF0aGlhc2J5bmVucy5iZS9ub3Rlcy9qYXZhc2NyaXB0LWlkZW50aWZpZXJzLWVzNgovLyBBc3RyYWwgY2hhcmFjdGVycyBzaG91bGQgYmUgYWNjZXB0ZWQgaW4gRVMyMDE1CgovLyBVKzEwMkE3IENBUklBTiBMRVRURVIgQTIKdmFyIO2ggO26pzogc3RyaW5nOwp2YXIgXHV7MTAyQTd9OiBzdHJpbmc7CgppZiAoTWF0aC5yYW5kb20oKSkgewogICAg7aCA7bqnID0gImhlbGxvIjsKfQplbHNlIHsKICAgIFx1ezEwMkE3fSA9ICJoYWxsbyI7Cn0KCmNsYXNzIEZvbyB7CiAgICBcdXsxMDJBN306IHN0cmluZzsKICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgIHRoaXMuXHV7MTAyQTd9ID0gIiB3b3JsZCI7CiAgICB9CiAgICBtZXRob2RBKCkgewogICAgICAgIHJldHVybiB0aGlzLu2ggO26pzsKICAgIH0KfQoKZXhwb3J0IHZhciBf7aCA7bqnID0gbmV3IEZvbygpLlx1ezEwMkE3fSArIG5ldyBGb28oKS5tZXRob2RBKCk7CgpfXHV7MTAyQTd9ICs9ICIhIjsK + +//// [astralAsSurrogatePair.js.map] +{"version":3,"file":"astralAsSurrogatePair.js","sourceRoot":"","sources":["astralAsSurrogatePair.ts"],"names":[],"mappings":""} +//// https://sokra.github.io/source-map-visualization#base64,ZXhwb3J0IHt9Ow0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXN0cmFsQXNTdXJyb2dhdGVQYWlyLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0cmFsQXNTdXJyb2dhdGVQYWlyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXN0cmFsQXNTdXJyb2dhdGVQYWlyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==,aW1wb3J0IHsgX+2ggO26pyBhcyBcdUQ4MDBcdURFQTcgfSBmcm9tICIuL2V4dGVuZGVkRXNjYXBlc0ZvckFzdHJhbHNJblZhcnNBbmRDbGFzc2VzLmpzIjsK diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es5).sourcemap.txt b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).sourcemap.txt new file mode 100644 index 0000000000000..46feee6ed897c --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).sourcemap.txt @@ -0,0 +1,635 @@ +=================================================================== +JsFile: extendedEscapesForAstralsInVarsAndClasses.js +mapUrl: extendedEscapesForAstralsInVarsAndClasses.js.map +sourceRoot: +sources: extendedEscapesForAstralsInVarsAndClasses.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.js +sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts +------------------------------------------------------------------- +>>>// Example from https://mathiasbynens.be/notes/javascript-identifiers-es6 +1 > +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > +2 >// Example from https://mathiasbynens.be/notes/javascript-identifiers-es6 +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 74) Source(1, 74) + SourceIndex(0) +--- +>>>// Astral characters should be accepted in ES2015 +1 > +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > + > +2 >// Astral characters should be accepted in ES2015 +1 >Emitted(2, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(2, 50) Source(2, 50) + SourceIndex(0) +--- +>>>// U+102A7 CARIAN LETTER A2 +1 > +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > + > + > +2 >// U+102A7 CARIAN LETTER A2 +1 >Emitted(3, 1) Source(4, 1) + SourceIndex(0) +2 >Emitted(3, 28) Source(4, 28) + SourceIndex(0) +--- +>>>var string; +1 > +2 >^^^^ +3 > ^^^^^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^-> +1 > + > +2 >var 𐊧: +3 > string +4 > ; +1 >Emitted(4, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(4, 5) Source(5, 9) + SourceIndex(0) +3 >Emitted(4, 11) Source(5, 15) + SourceIndex(0) +4 >Emitted(4, 12) Source(5, 16) + SourceIndex(0) +--- +>>>var u, A7 = (void 0)[102]; +1-> +2 >^^^^ +3 > ^ +4 > ^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^ +7 > ^ +1-> + >var \ +2 > +3 > u +4 > {102 +5 > A7 +6 > +7 > }: string; +1->Emitted(5, 1) Source(6, 6) + SourceIndex(0) +2 >Emitted(5, 5) Source(6, 6) + SourceIndex(0) +3 >Emitted(5, 6) Source(6, 7) + SourceIndex(0) +4 >Emitted(5, 8) Source(6, 11) + SourceIndex(0) +5 >Emitted(5, 10) Source(6, 13) + SourceIndex(0) +6 >Emitted(5, 26) Source(6, 13) + SourceIndex(0) +7 >Emitted(5, 27) Source(6, 23) + SourceIndex(0) +--- +>>>if (Math.random()) { +1 > +2 >^^^^ +3 > ^^^^ +4 > ^ +5 > ^^^^^^ +6 > ^^ +7 > ^^ +1 > + > + > +2 >if ( +3 > Math +4 > . +5 > random +6 > () +7 > ) +1 >Emitted(6, 1) Source(8, 1) + SourceIndex(0) +2 >Emitted(6, 5) Source(8, 5) + SourceIndex(0) +3 >Emitted(6, 9) Source(8, 9) + SourceIndex(0) +4 >Emitted(6, 10) Source(8, 10) + SourceIndex(0) +5 >Emitted(6, 16) Source(8, 16) + SourceIndex(0) +6 >Emitted(6, 18) Source(8, 18) + SourceIndex(0) +7 >Emitted(6, 20) Source(8, 20) + SourceIndex(0) +--- +>>> "hello"; +1 >^^^^ +2 > ^^^^^^^ +3 > ^ +1 >{ + > 𐊧 = +2 > "hello" +3 > ; +1 >Emitted(7, 5) Source(9, 10) + SourceIndex(0) +2 >Emitted(7, 12) Source(9, 17) + SourceIndex(0) +3 >Emitted(7, 13) Source(9, 18) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^-> +1 > + >} +1 >Emitted(8, 2) Source(10, 2) + SourceIndex(0) +--- +>>>else { +1->^^^^^ +2 > ^^-> +1-> + >else +1->Emitted(9, 6) Source(11, 6) + SourceIndex(0) +--- +>>> u; +1->^^^^ +2 > ^ +3 > ^ +1->{ + > \ +2 > u +3 > +1->Emitted(10, 5) Source(12, 6) + SourceIndex(0) +2 >Emitted(10, 6) Source(12, 7) + SourceIndex(0) +3 >Emitted(10, 7) Source(12, 7) + SourceIndex(0) +--- +>>> { +1 >^^^^ +2 > ^^^^^^^^^-> +1 > +1 >Emitted(11, 5) Source(12, 7) + SourceIndex(0) +--- +>>> 102; +1->^^^^^^^^ +2 > ^^^ +3 > ^ +1->{ +2 > 102 +3 > +1->Emitted(12, 9) Source(12, 8) + SourceIndex(0) +2 >Emitted(12, 12) Source(12, 11) + SourceIndex(0) +3 >Emitted(12, 13) Source(12, 11) + SourceIndex(0) +--- +>>> A7; +1 >^^^^^^^^ +2 > ^^ +3 > ^ +1 > +2 > A7 +3 > +1 >Emitted(13, 9) Source(12, 11) + SourceIndex(0) +2 >Emitted(13, 11) Source(12, 13) + SourceIndex(0) +3 >Emitted(13, 12) Source(12, 13) + SourceIndex(0) +--- +>>> } +1 >^^^^^ +2 > ^^^^^^^^-> +1 >} +1 >Emitted(14, 6) Source(12, 14) + SourceIndex(0) +--- +>>> "hallo"; +1->^^^^ +2 > ^^^^^^^ +3 > ^ +1-> = +2 > "hallo" +3 > ; +1->Emitted(15, 5) Source(12, 17) + SourceIndex(0) +2 >Emitted(15, 12) Source(12, 24) + SourceIndex(0) +3 >Emitted(15, 13) Source(12, 25) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(16, 2) Source(13, 2) + SourceIndex(0) +--- +>>>var Foo = /** @class */ (function () { +1-> +2 >^^^^^^^^^^^^^^^^^^^^^-> +1-> + > + > +1->Emitted(17, 1) Source(15, 1) + SourceIndex(0) +--- +>>> function Foo() { +1->^^^^ +2 > ^^-> +1-> +1->Emitted(18, 5) Source(15, 1) + SourceIndex(0) +--- +>>> } +1->^^^^ +2 > ^ +3 > +4 > ^^^^^^^^^^^-> +1->class Foo { + > \u +2 > { +3 > +1->Emitted(19, 5) Source(16, 7) + SourceIndex(0) +2 >Emitted(19, 6) Source(16, 8) + SourceIndex(0) +3 >Emitted(19, 6) Source(16, 7) + SourceIndex(0) +--- +>>> return Foo; +1->^^^^ +2 > ^^^^^^^^^^ +1-> +2 > { +1->Emitted(20, 5) Source(16, 7) + SourceIndex(0) +2 >Emitted(20, 15) Source(16, 8) + SourceIndex(0) +--- +>>>}()); +1 > +2 >^ +3 > +4 > +5 > ^^^^ +1 > +2 >{ +3 > +4 > +5 > class Foo { + > \u +1 >Emitted(21, 1) Source(16, 7) + SourceIndex(0) +2 >Emitted(21, 2) Source(16, 8) + SourceIndex(0) +3 >Emitted(21, 2) Source(16, 7) + SourceIndex(0) +4 >Emitted(21, 2) Source(15, 1) + SourceIndex(0) +5 >Emitted(21, 6) Source(16, 7) + SourceIndex(0) +--- +>>>{ +1 > +2 >^^^^^^^^^-> +1 > +1 >Emitted(22, 1) Source(16, 7) + SourceIndex(0) +--- +>>> 102; +1->^^^^ +2 > ^^^ +3 > ^ +1->{ +2 > 102 +3 > +1->Emitted(23, 5) Source(16, 8) + SourceIndex(0) +2 >Emitted(23, 8) Source(16, 11) + SourceIndex(0) +3 >Emitted(23, 9) Source(16, 11) + SourceIndex(0) +--- +>>> A7; +1 >^^^^ +2 > ^^ +3 > ^ +1 > +2 > A7 +3 > +1 >Emitted(24, 5) Source(16, 11) + SourceIndex(0) +2 >Emitted(24, 7) Source(16, 13) + SourceIndex(0) +3 >Emitted(24, 8) Source(16, 13) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^-> +1 >} +1 >Emitted(25, 2) Source(16, 14) + SourceIndex(0) +--- +>>>string; +1-> +2 >^^^^^^ +3 > ^ +4 > ^^^^^^^^-> +1->: +2 >string +3 > ; +1->Emitted(26, 1) Source(16, 16) + SourceIndex(0) +2 >Emitted(26, 7) Source(16, 22) + SourceIndex(0) +3 >Emitted(26, 8) Source(16, 23) + SourceIndex(0) +--- +>>>constructor(); +1-> +2 >^^^^^^^^^^^ +3 > ^^ +4 > ^ +1-> + > +2 >constructor +3 > () +4 > +1->Emitted(27, 1) Source(17, 5) + SourceIndex(0) +2 >Emitted(27, 12) Source(17, 16) + SourceIndex(0) +3 >Emitted(27, 14) Source(17, 18) + SourceIndex(0) +4 >Emitted(27, 15) Source(17, 18) + SourceIndex(0) +--- +>>>{ +1 > +2 >^^^^^^^^^^^-> +1 > +1 >Emitted(28, 1) Source(17, 19) + SourceIndex(0) +--- +>>> this.; +1->^^^^ +2 > ^^^^ +3 > ^ +4 > ^ +1->{ + > +2 > this +3 > . +4 > +1->Emitted(29, 5) Source(18, 9) + SourceIndex(0) +2 >Emitted(29, 9) Source(18, 13) + SourceIndex(0) +3 >Emitted(29, 10) Source(18, 14) + SourceIndex(0) +4 >Emitted(29, 11) Source(18, 14) + SourceIndex(0) +--- +>>> u; +1 >^^^^ +2 > ^ +3 > ^ +1 >\ +2 > u +3 > +1 >Emitted(30, 5) Source(18, 15) + SourceIndex(0) +2 >Emitted(30, 6) Source(18, 16) + SourceIndex(0) +3 >Emitted(30, 7) Source(18, 16) + SourceIndex(0) +--- +>>> { +1 >^^^^ +2 > ^^^^^^^^^-> +1 > +1 >Emitted(31, 5) Source(18, 16) + SourceIndex(0) +--- +>>> 102; +1->^^^^^^^^ +2 > ^^^ +3 > ^ +1->{ +2 > 102 +3 > +1->Emitted(32, 9) Source(18, 17) + SourceIndex(0) +2 >Emitted(32, 12) Source(18, 20) + SourceIndex(0) +3 >Emitted(32, 13) Source(18, 20) + SourceIndex(0) +--- +>>> A7; +1 >^^^^^^^^ +2 > ^^ +3 > ^ +1 > +2 > A7 +3 > +1 >Emitted(33, 9) Source(18, 20) + SourceIndex(0) +2 >Emitted(33, 11) Source(18, 22) + SourceIndex(0) +3 >Emitted(33, 12) Source(18, 22) + SourceIndex(0) +--- +>>> } +1 >^^^^^ +2 > ^^^^^^^^^-> +1 >} +1 >Emitted(34, 6) Source(18, 23) + SourceIndex(0) +--- +>>> " world"; +1->^^^^ +2 > ^^^^^^^^ +3 > ^ +1-> = +2 > " world" +3 > ; +1->Emitted(35, 5) Source(18, 26) + SourceIndex(0) +2 >Emitted(35, 13) Source(18, 34) + SourceIndex(0) +3 >Emitted(35, 14) Source(18, 35) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^-> +1 > + > } +1 >Emitted(36, 2) Source(19, 6) + SourceIndex(0) +--- +>>>methodA(); +1-> +2 >^^^^^^^ +3 > ^^ +4 > ^ +1-> + > +2 >methodA +3 > () +4 > +1->Emitted(37, 1) Source(20, 5) + SourceIndex(0) +2 >Emitted(37, 8) Source(20, 12) + SourceIndex(0) +3 >Emitted(37, 10) Source(20, 14) + SourceIndex(0) +4 >Emitted(37, 11) Source(20, 14) + SourceIndex(0) +--- +>>>{ +1 > +2 >^^^^^^^^^^^^^^^^^^^^-> +1 > +1 >Emitted(38, 1) Source(20, 15) + SourceIndex(0) +--- +>>> return this.𐊧; +1->^^^^ +2 > ^^^^^^^ +3 > ^^^^ +4 > ^ +5 > ^^ +6 > ^ +1->{ + > +2 > return +3 > this +4 > . +5 > 𐊧 +6 > ; +1->Emitted(39, 5) Source(21, 9) + SourceIndex(0) +2 >Emitted(39, 12) Source(21, 16) + SourceIndex(0) +3 >Emitted(39, 16) Source(21, 20) + SourceIndex(0) +4 >Emitted(39, 17) Source(21, 21) + SourceIndex(0) +5 >Emitted(39, 19) Source(21, 23) + SourceIndex(0) +6 >Emitted(39, 20) Source(21, 24) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^-> +1 > + > } +1 >Emitted(40, 2) Source(22, 6) + SourceIndex(0) +--- +>>>export var _; +1-> +2 >^^^^^^ +3 > ^ +4 > ^^^^ +5 > ^ +6 > ^ +1-> + >} + > + > +2 >export +3 > +4 > var +5 > _𐊧 = +6 > +1->Emitted(41, 1) Source(25, 1) + SourceIndex(0) +2 >Emitted(41, 7) Source(25, 7) + SourceIndex(0) +3 >Emitted(41, 8) Source(25, 8) + SourceIndex(0) +4 >Emitted(41, 12) Source(25, 12) + SourceIndex(0) +5 >Emitted(41, 13) Source(25, 17) + SourceIndex(0) +6 >Emitted(41, 14) Source(25, 17) + SourceIndex(0) +--- +>>>new Foo().; +1 > +2 >^^^^ +3 > ^^^ +4 > ^^ +5 > ^ +6 > ^ +1 > +2 >new +3 > Foo +4 > () +5 > . +6 > +1 >Emitted(42, 1) Source(25, 18) + SourceIndex(0) +2 >Emitted(42, 5) Source(25, 22) + SourceIndex(0) +3 >Emitted(42, 8) Source(25, 25) + SourceIndex(0) +4 >Emitted(42, 10) Source(25, 27) + SourceIndex(0) +5 >Emitted(42, 11) Source(25, 28) + SourceIndex(0) +6 >Emitted(42, 12) Source(25, 28) + SourceIndex(0) +--- +>>>u; +1 > +2 >^ +3 > ^ +1 >\ +2 >u +3 > +1 >Emitted(43, 1) Source(25, 29) + SourceIndex(0) +2 >Emitted(43, 2) Source(25, 30) + SourceIndex(0) +3 >Emitted(43, 3) Source(25, 30) + SourceIndex(0) +--- +>>>{ +1 > +2 >^^^^^^^^^-> +1 > +1 >Emitted(44, 1) Source(25, 30) + SourceIndex(0) +--- +>>> 102; +1->^^^^ +2 > ^^^ +3 > ^ +1->{ +2 > 102 +3 > +1->Emitted(45, 5) Source(25, 31) + SourceIndex(0) +2 >Emitted(45, 8) Source(25, 34) + SourceIndex(0) +3 >Emitted(45, 9) Source(25, 34) + SourceIndex(0) +--- +>>> A7; +1 >^^^^ +2 > ^^ +3 > ^ +1 > +2 > A7 +3 > +1 >Emitted(46, 5) Source(25, 34) + SourceIndex(0) +2 >Emitted(46, 7) Source(25, 36) + SourceIndex(0) +3 >Emitted(46, 8) Source(25, 36) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^-> +1 >} +1 >Emitted(47, 2) Source(25, 37) + SourceIndex(0) +--- +>>>+new Foo().methodA(); +1-> +2 >^ +3 > ^^^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^^^ +8 > ^^ +9 > ^ +1-> +2 >+ +3 > new +4 > Foo +5 > () +6 > . +7 > methodA +8 > () +9 > ; +1->Emitted(48, 1) Source(25, 38) + SourceIndex(0) +2 >Emitted(48, 2) Source(25, 40) + SourceIndex(0) +3 >Emitted(48, 6) Source(25, 44) + SourceIndex(0) +4 >Emitted(48, 9) Source(25, 47) + SourceIndex(0) +5 >Emitted(48, 11) Source(25, 49) + SourceIndex(0) +6 >Emitted(48, 12) Source(25, 50) + SourceIndex(0) +7 >Emitted(48, 19) Source(25, 57) + SourceIndex(0) +8 >Emitted(48, 21) Source(25, 59) + SourceIndex(0) +9 >Emitted(48, 22) Source(25, 60) + SourceIndex(0) +--- +>>>_; +1 > +2 >^ +3 > ^ +4 > ^-> +1 > + > + > +2 >_ +3 > +1 >Emitted(49, 1) Source(27, 1) + SourceIndex(0) +2 >Emitted(49, 2) Source(27, 2) + SourceIndex(0) +3 >Emitted(49, 3) Source(27, 2) + SourceIndex(0) +--- +>>>u; +1-> +2 >^ +3 > ^ +1->\ +2 >u +3 > +1->Emitted(50, 1) Source(27, 3) + SourceIndex(0) +2 >Emitted(50, 2) Source(27, 4) + SourceIndex(0) +3 >Emitted(50, 3) Source(27, 4) + SourceIndex(0) +--- +>>>{ +1 > +2 >^^^^^^^^^-> +1 > +1 >Emitted(51, 1) Source(27, 4) + SourceIndex(0) +--- +>>> 102; +1->^^^^ +2 > ^^^ +3 > ^ +1->{ +2 > 102 +3 > +1->Emitted(52, 5) Source(27, 5) + SourceIndex(0) +2 >Emitted(52, 8) Source(27, 8) + SourceIndex(0) +3 >Emitted(52, 9) Source(27, 8) + SourceIndex(0) +--- +>>> A7; +1 >^^^^ +2 > ^^ +3 > ^ +1 > +2 > A7 +3 > +1 >Emitted(53, 5) Source(27, 8) + SourceIndex(0) +2 >Emitted(53, 7) Source(27, 10) + SourceIndex(0) +3 >Emitted(53, 8) Source(27, 10) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^-> +1 >} +1 >Emitted(54, 2) Source(27, 11) + SourceIndex(0) +--- +>>>"!"; +1-> +2 >^^^ +3 > ^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1-> += +2 >"!" +3 > ; +1->Emitted(55, 1) Source(27, 15) + SourceIndex(0) +2 >Emitted(55, 4) Source(27, 18) + SourceIndex(0) +3 >Emitted(55, 5) Source(27, 19) + SourceIndex(0) +--- +>>>//# sourceMappingURL=extendedEscapesForAstralsInVarsAndClasses.js.map=================================================================== +JsFile: astralAsSurrogatePair.js +mapUrl: astralAsSurrogatePair.js.map +sourceRoot: +sources: astralAsSurrogatePair.ts +=================================================================== +>>>export {}; +>>>//# sourceMappingURL=astralAsSurrogatePair.js.map \ No newline at end of file diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es5).symbols b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).symbols new file mode 100644 index 0000000000000..9326003e109f3 --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).symbols @@ -0,0 +1,62 @@ +=== tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts === +// Example from https://mathiasbynens.be/notes/javascript-identifiers-es6 +// Astral characters should be accepted in ES2015 + +// U+102A7 CARIAN LETTER A2 +var 𐊧: string; +>string : Symbol(string, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 4, 7)) + +var \u{102A7}: string; +>u : Symbol(u, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 5, 5)) +>A7 : Symbol(A7, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 5, 7)) + +if (Math.random()) { +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) + + 𐊧 = "hello"; +} +else { + \u{102A7} = "hallo"; +>u : Symbol(u, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 5, 5)) +>A7 : Symbol(A7, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 5, 7)) +} + +class Foo { +>Foo : Symbol(Foo, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 12, 1)) + + \u{102A7}: string; +>u : Symbol(Foo.u, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 15, 5)) +>A7 : Symbol(A7, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 5, 7)) +>string : Symbol(string, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 4, 7)) + + constructor() { + this.\u{102A7} = " world"; +>u : Symbol(u, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 5, 5)) +>A7 : Symbol(A7, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 5, 7)) + } + methodA() { + return this.𐊧; + } +} + +export var _𐊧 = new Foo().\u{102A7} + new Foo().methodA(); +>_ : Symbol(_, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 24, 10)) +>Foo : Symbol(Foo, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 12, 1)) +>u : Symbol(u, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 5, 5)) +>A7 : Symbol(A7, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 5, 7)) +>Foo : Symbol(Foo, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 12, 1)) + +_\u{102A7} += "!"; +>_ : Symbol(_, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 24, 10)) +>u : Symbol(u, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 5, 5)) +>A7 : Symbol(A7, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 5, 7)) + +=== tests/cases/compiler/astralAsSurrogatePair.ts === +import { _𐊧 as \uD800\uDEA7 } from "./extendedEscapesForAstralsInVarsAndClasses.js"; +>_ : Symbol(_, Decl(astralAsSurrogatePair.ts, 0, 8)) +>as : Symbol(as, Decl(astralAsSurrogatePair.ts, 0, 12)) +>uD800 : Symbol(uD800, Decl(astralAsSurrogatePair.ts, 0, 17)) +>uDEA7 : Symbol(uDEA7, Decl(astralAsSurrogatePair.ts, 0, 23)) + diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es5).types b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).types new file mode 100644 index 0000000000000..f15e5f208e679 --- /dev/null +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).types @@ -0,0 +1,92 @@ +=== tests/cases/compiler/extendedEscapesForAstralsInVarsAndClasses.ts === +// Example from https://mathiasbynens.be/notes/javascript-identifiers-es6 +// Astral characters should be accepted in ES2015 + +// U+102A7 CARIAN LETTER A2 +var 𐊧: string; +>string : any + +var \u{102A7}: string; +>u : any +>A7 : string + +if (Math.random()) { +>Math.random() : number +>Math.random : () => number +>Math : Math +>random : () => number + + 𐊧 = "hello"; +>"hello" : "hello" +} +else { + \u{102A7} = "hallo"; +>u : any +>102 : 102 +>A7 : string +>"hallo" : "hallo" +} + +class Foo { +>Foo : Foo + + \u{102A7}: string; +>u : any +>102 : 102 +>A7 : string +>string : any + + constructor() { +>constructor() : any +>constructor : any + + this.\u{102A7} = " world"; +>this. : any +>this : undefined +> : any +>u : any +>102 : 102 +>A7 : string +>" world" : " world" + } + methodA() { +>methodA() : any +>methodA : any + + return this.𐊧; +>this.𐊧 : any +>this : undefined +>𐊧 : any + } +} + +export var _𐊧 = new Foo().\u{102A7} + new Foo().methodA(); +>_ : any +>new Foo(). : any +>new Foo() : Foo +>Foo : typeof Foo +> : any +>u : any +>102 : 102 +>A7 : string +>+ new Foo().methodA() : number +>new Foo().methodA() : any +>new Foo().methodA : any +>new Foo() : Foo +>Foo : typeof Foo +>methodA : any + +_\u{102A7} += "!"; +>_ : any +>u : any +>102 : 102 +>A7 : string +>"!" : "!" + +=== tests/cases/compiler/astralAsSurrogatePair.ts === +import { _𐊧 as \uD800\uDEA7 } from "./extendedEscapesForAstralsInVarsAndClasses.js"; +>_ : any +>as : any +>uD800 : any +>uDEA7 : any + diff --git a/tests/cases/conformance/classes/members/privateNames/privateNamesEscapeSequences01.ts b/tests/cases/compiler/unicodeEscapesInNames01.ts similarity index 82% rename from tests/cases/conformance/classes/members/privateNames/privateNamesEscapeSequences01.ts rename to tests/cases/compiler/unicodeEscapesInNames01.ts index d651ab7cd6e1a..c263106fc6e08 100644 --- a/tests/cases/conformance/classes/members/privateNames/privateNamesEscapeSequences01.ts +++ b/tests/cases/compiler/unicodeEscapesInNames01.ts @@ -1,4 +1,21 @@ -// @target: es5,es2015 +// @target: es5,es2015,esnext +// @sourcemap: true + +// @filename: identifierVariableWithEscape1.ts +export let \u0078 = 10; +x++; + +// @filename: identifierVariableWithEscape2.ts +export let x\u0078 = 10; +xx++; + +// @filename: identifierVariableWithExtendedEscape1.ts +export let \u{78} = 10; +x++; + +// @filename: identifierVariableWithExtendedEscape2.ts +export let x\u{78} = 10; +xx++; // @filename: IdentifierNameWithEscape1.ts export class IdentifierNameWithEscape1 { diff --git a/tests/cases/compiler/unicodeEscapesInNames02.ts b/tests/cases/compiler/unicodeEscapesInNames02.ts new file mode 100644 index 0000000000000..f8529f5ceef32 --- /dev/null +++ b/tests/cases/compiler/unicodeEscapesInNames02.ts @@ -0,0 +1,35 @@ +// @target: es5,es2015 +// @module: es2015 +// @sourcemap: true + +// Example from https://mathiasbynens.be/notes/javascript-identifiers-es6 +// Astral characters should be accepted in ES2015 + +// @filename: extendedEscapesForAstralsInVarsAndClasses.ts +// U+102A7 CARIAN LETTER A2 +var 𐊧: string; +var \u{102A7}: string; + +if (Math.random()) { + 𐊧 = "hello"; +} +else { + \u{102A7} = "hallo"; +} + +class Foo { + \u{102A7}: string; + constructor() { + this.\u{102A7} = " world"; + } + methodA() { + return this.𐊧; + } +} + +export var _𐊧 = new Foo().\u{102A7} + new Foo().methodA(); + +_\u{102A7} += "!"; + +// @filename: astralAsSurrogatePair.ts +import { _𐊧 as \uD800\uDEA7 } from "./extendedEscapesForAstralsInVarsAndClasses.js";