Allow Unicode extended escapes in ES5 and earlier (#50918)

* Remove language version check for extended escapes.

* Accepted baselines.

* Record whether nodes have extended Unicode escapes. Replace them in the es2015 transform.

* Accepted baselines.

* Move file to better-reflect generality of tests.

* Added tests for variables at the top level.

* Accepted baselines.

* Added test for extended astral character.

* Accepted baseline.

* Enable sourcemaps in tests.

* Accepted baselines.

* Call `setOriginalNode` on identifiers with extended escapes.
This commit is contained in:
Daniel Rosenwasser
2022-09-30 01:22:01 -07:00
committed by GitHub
parent 58bae8db69
commit 0d0a793714
36 changed files with 7010 additions and 497 deletions
+5 -1
View File
@@ -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;
}
+2 -1
View File
@@ -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) {
+1 -1
View File
@@ -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);
+9 -4
View File
@@ -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;
}
+2 -1
View File
@@ -1427,6 +1427,7 @@ namespace ts {
isInJSDocNamespace?: boolean; // if the node is a member in a JSDoc namespace
/*@internal*/ typeArguments?: NodeArray<TypeNode | TypeParameterDeclaration>; // 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.<T>
/*@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<TypeNode | TypeParameterDeclaration> | undefined): Identifier;
/**
@@ -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.
@@ -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
@@ -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=
File diff suppressed because it is too large Load Diff
@@ -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))
@@ -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
@@ -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;
}
}
@@ -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
@@ -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=
File diff suppressed because it is too large Load Diff
@@ -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))
}
}
@@ -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
}
}
@@ -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
@@ -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=
File diff suppressed because it is too large Load Diff
@@ -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))
}
}
@@ -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
}
}
@@ -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'.
@@ -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
@@ -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
@@ -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
@@ -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))
@@ -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
@@ -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'.
@@ -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
@@ -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
@@ -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
@@ -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))
@@ -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
@@ -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 {
@@ -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";