diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 6cf9465387c..7442f74a136 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -2684,7 +2684,6 @@ namespace Parser { return canFollowExportModifier(); case SyntaxKind.DefaultKeyword: return nextTokenCanFollowDefaultKeyword(); - case SyntaxKind.AccessorKeyword: case SyntaxKind.StaticKeyword: case SyntaxKind.GetKeyword: case SyntaxKind.SetKeyword: diff --git a/tests/baselines/reference/autoAccessor11.errors.txt b/tests/baselines/reference/autoAccessor11.errors.txt new file mode 100644 index 00000000000..c259aab9779 --- /dev/null +++ b/tests/baselines/reference/autoAccessor11.errors.txt @@ -0,0 +1,27 @@ +tests/cases/conformance/classes/propertyMemberDeclarations/autoAccessor11.ts(2,5): error TS2300: Duplicate identifier 'accessor'. +tests/cases/conformance/classes/propertyMemberDeclarations/autoAccessor11.ts(9,5): error TS2300: Duplicate identifier 'accessor'. +tests/cases/conformance/classes/propertyMemberDeclarations/autoAccessor11.ts(12,14): error TS2300: Duplicate identifier 'accessor'. + + +==== tests/cases/conformance/classes/propertyMemberDeclarations/autoAccessor11.ts (3 errors) ==== + class C { + accessor + ~~~~~~~~ +!!! error TS2300: Duplicate identifier 'accessor'. + a + + static accessor + b + + static + accessor + ~~~~~~~~ +!!! error TS2300: Duplicate identifier 'accessor'. + c + + accessor accessor + ~~~~~~~~ +!!! error TS2300: Duplicate identifier 'accessor'. + d; + } + \ No newline at end of file diff --git a/tests/baselines/reference/autoAccessor11.js b/tests/baselines/reference/autoAccessor11.js new file mode 100644 index 00000000000..6cfa0dcf49d --- /dev/null +++ b/tests/baselines/reference/autoAccessor11.js @@ -0,0 +1,30 @@ +//// [autoAccessor11.ts] +class C { + accessor + a + + static accessor + b + + static + accessor + c + + accessor accessor + d; +} + + +//// [autoAccessor11.js] +class C { + accessor; + a; + static accessor; + b; + static accessor; + c; + #accessor_accessor_storage; + get accessor() { return this.#accessor_accessor_storage; } + set accessor(value) { this.#accessor_accessor_storage = value; } + d; +} diff --git a/tests/baselines/reference/autoAccessor11.symbols b/tests/baselines/reference/autoAccessor11.symbols new file mode 100644 index 00000000000..d3daf272bb2 --- /dev/null +++ b/tests/baselines/reference/autoAccessor11.symbols @@ -0,0 +1,30 @@ +=== tests/cases/conformance/classes/propertyMemberDeclarations/autoAccessor11.ts === +class C { +>C : Symbol(C, Decl(autoAccessor11.ts, 0, 0)) + + accessor +>accessor : Symbol(C.accessor, Decl(autoAccessor11.ts, 0, 9)) + + a +>a : Symbol(C.a, Decl(autoAccessor11.ts, 1, 12)) + + static accessor +>accessor : Symbol(C.accessor, Decl(autoAccessor11.ts, 2, 5), Decl(autoAccessor11.ts, 5, 5)) + + b +>b : Symbol(C.b, Decl(autoAccessor11.ts, 4, 19)) + + static + accessor +>accessor : Symbol(C.accessor, Decl(autoAccessor11.ts, 2, 5), Decl(autoAccessor11.ts, 5, 5)) + + c +>c : Symbol(C.c, Decl(autoAccessor11.ts, 8, 12)) + + accessor accessor +>accessor : Symbol(C.accessor, Decl(autoAccessor11.ts, 9, 5)) + + d; +>d : Symbol(C.d, Decl(autoAccessor11.ts, 11, 21)) +} + diff --git a/tests/baselines/reference/autoAccessor11.types b/tests/baselines/reference/autoAccessor11.types new file mode 100644 index 00000000000..65a52437daf --- /dev/null +++ b/tests/baselines/reference/autoAccessor11.types @@ -0,0 +1,30 @@ +=== tests/cases/conformance/classes/propertyMemberDeclarations/autoAccessor11.ts === +class C { +>C : C + + accessor +>accessor : any + + a +>a : any + + static accessor +>accessor : any + + b +>b : any + + static + accessor +>accessor : any + + c +>c : any + + accessor accessor +>accessor : any + + d; +>d : any +} + diff --git a/tests/cases/conformance/classes/propertyMemberDeclarations/autoAccessor11.ts b/tests/cases/conformance/classes/propertyMemberDeclarations/autoAccessor11.ts new file mode 100644 index 00000000000..69b1802417f --- /dev/null +++ b/tests/cases/conformance/classes/propertyMemberDeclarations/autoAccessor11.ts @@ -0,0 +1,16 @@ +// @target: es2022 + +class C { + accessor + a + + static accessor + b + + static + accessor + c + + accessor accessor + d; +}