mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Use variable name for class and function expressions names
This commit is contained in:
@@ -2171,13 +2171,15 @@ namespace ts {
|
||||
return type.flags & TypeFlags.StringLiteral ? `"${escapeString((<LiteralType>type).text)}"` : (<LiteralType>type).text;
|
||||
}
|
||||
|
||||
|
||||
function getNameOfSymbol(symbol: Symbol): string {
|
||||
if (symbol.declarations && symbol.declarations.length) {
|
||||
const declaration = symbol.declarations[0];
|
||||
if (declaration.name) {
|
||||
return declarationNameToString(declaration.name);
|
||||
}
|
||||
if (declaration.parent && declaration.parent.kind === SyntaxKind.VariableDeclaration) {
|
||||
return declarationNameToString((<VariableDeclaration>declaration.parent).name);
|
||||
}
|
||||
switch (declaration.kind) {
|
||||
case SyntaxKind.ClassExpression:
|
||||
return "(Anonymous class)";
|
||||
|
||||
@@ -3,7 +3,7 @@ let C = class extends class extends class { a = 1 } { b = 2 } { c = 3 };
|
||||
>C : Symbol(C, Decl(classExpression3.ts, 0, 3))
|
||||
>a : Symbol((Anonymous class).a, Decl(classExpression3.ts, 0, 43))
|
||||
>b : Symbol((Anonymous class).b, Decl(classExpression3.ts, 0, 53))
|
||||
>c : Symbol((Anonymous class).c, Decl(classExpression3.ts, 0, 63))
|
||||
>c : Symbol(C.c, Decl(classExpression3.ts, 0, 63))
|
||||
|
||||
let c = new C();
|
||||
>c : Symbol(c, Decl(classExpression3.ts, 1, 3))
|
||||
@@ -20,7 +20,7 @@ c.b;
|
||||
>b : Symbol((Anonymous class).b, Decl(classExpression3.ts, 0, 53))
|
||||
|
||||
c.c;
|
||||
>c.c : Symbol((Anonymous class).c, Decl(classExpression3.ts, 0, 63))
|
||||
>c.c : Symbol(C.c, Decl(classExpression3.ts, 0, 63))
|
||||
>c : Symbol(c, Decl(classExpression3.ts, 1, 3))
|
||||
>c : Symbol((Anonymous class).c, Decl(classExpression3.ts, 0, 63))
|
||||
>c : Symbol(C.c, Decl(classExpression3.ts, 0, 63))
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
=== tests/cases/conformance/classes/classExpressions/classExpression3.ts ===
|
||||
let C = class extends class extends class { a = 1 } { b = 2 } { c = 3 };
|
||||
>C : typeof (Anonymous class)
|
||||
>class extends class extends class { a = 1 } { b = 2 } { c = 3 } : typeof (Anonymous class)
|
||||
>C : typeof C
|
||||
>class extends class extends class { a = 1 } { b = 2 } { c = 3 } : typeof C
|
||||
>class extends class { a = 1 } { b = 2 } : (Anonymous class)
|
||||
>class { a = 1 } : (Anonymous class)
|
||||
>a : number
|
||||
@@ -12,22 +12,22 @@ let C = class extends class extends class { a = 1 } { b = 2 } { c = 3 };
|
||||
>3 : 3
|
||||
|
||||
let c = new C();
|
||||
>c : (Anonymous class)
|
||||
>new C() : (Anonymous class)
|
||||
>C : typeof (Anonymous class)
|
||||
>c : C
|
||||
>new C() : C
|
||||
>C : typeof C
|
||||
|
||||
c.a;
|
||||
>c.a : number
|
||||
>c : (Anonymous class)
|
||||
>c : C
|
||||
>a : number
|
||||
|
||||
c.b;
|
||||
>c.b : number
|
||||
>c : (Anonymous class)
|
||||
>c : C
|
||||
>b : number
|
||||
|
||||
c.c;
|
||||
>c.c : number
|
||||
>c : (Anonymous class)
|
||||
>c : C
|
||||
>c : number
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ let C = class {
|
||||
>C : Symbol(C, Decl(classExpression4.ts, 0, 3))
|
||||
|
||||
foo() {
|
||||
>foo : Symbol((Anonymous class).foo, Decl(classExpression4.ts, 0, 15))
|
||||
>foo : Symbol(C.foo, Decl(classExpression4.ts, 0, 15))
|
||||
|
||||
return new C();
|
||||
>C : Symbol(C, Decl(classExpression4.ts, 0, 3))
|
||||
@@ -11,7 +11,7 @@ let C = class {
|
||||
};
|
||||
let x = (new C).foo();
|
||||
>x : Symbol(x, Decl(classExpression4.ts, 5, 3))
|
||||
>(new C).foo : Symbol((Anonymous class).foo, Decl(classExpression4.ts, 0, 15))
|
||||
>(new C).foo : Symbol(C.foo, Decl(classExpression4.ts, 0, 15))
|
||||
>C : Symbol(C, Decl(classExpression4.ts, 0, 3))
|
||||
>foo : Symbol((Anonymous class).foo, Decl(classExpression4.ts, 0, 15))
|
||||
>foo : Symbol(C.foo, Decl(classExpression4.ts, 0, 15))
|
||||
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
=== tests/cases/conformance/classes/classExpressions/classExpression4.ts ===
|
||||
let C = class {
|
||||
>C : typeof (Anonymous class)
|
||||
>class { foo() { return new C(); }} : typeof (Anonymous class)
|
||||
>C : typeof C
|
||||
>class { foo() { return new C(); }} : typeof C
|
||||
|
||||
foo() {
|
||||
>foo : () => (Anonymous class)
|
||||
>foo : () => C
|
||||
|
||||
return new C();
|
||||
>new C() : (Anonymous class)
|
||||
>C : typeof (Anonymous class)
|
||||
>new C() : C
|
||||
>C : typeof C
|
||||
}
|
||||
};
|
||||
let x = (new C).foo();
|
||||
>x : (Anonymous class)
|
||||
>(new C).foo() : (Anonymous class)
|
||||
>(new C).foo : () => (Anonymous class)
|
||||
>(new C) : (Anonymous class)
|
||||
>new C : (Anonymous class)
|
||||
>C : typeof (Anonymous class)
|
||||
>foo : () => (Anonymous class)
|
||||
>x : C
|
||||
>(new C).foo() : C
|
||||
>(new C).foo : () => C
|
||||
>(new C) : C
|
||||
>new C : C
|
||||
>C : typeof C
|
||||
>foo : () => C
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ let C = class extends class extends class { a = 1 } { b = 2 } { c = 3 };
|
||||
>C : Symbol(C, Decl(classExpressionES63.ts, 0, 3))
|
||||
>a : Symbol((Anonymous class).a, Decl(classExpressionES63.ts, 0, 43))
|
||||
>b : Symbol((Anonymous class).b, Decl(classExpressionES63.ts, 0, 53))
|
||||
>c : Symbol((Anonymous class).c, Decl(classExpressionES63.ts, 0, 63))
|
||||
>c : Symbol(C.c, Decl(classExpressionES63.ts, 0, 63))
|
||||
|
||||
let c = new C();
|
||||
>c : Symbol(c, Decl(classExpressionES63.ts, 1, 3))
|
||||
@@ -20,7 +20,7 @@ c.b;
|
||||
>b : Symbol((Anonymous class).b, Decl(classExpressionES63.ts, 0, 53))
|
||||
|
||||
c.c;
|
||||
>c.c : Symbol((Anonymous class).c, Decl(classExpressionES63.ts, 0, 63))
|
||||
>c.c : Symbol(C.c, Decl(classExpressionES63.ts, 0, 63))
|
||||
>c : Symbol(c, Decl(classExpressionES63.ts, 1, 3))
|
||||
>c : Symbol((Anonymous class).c, Decl(classExpressionES63.ts, 0, 63))
|
||||
>c : Symbol(C.c, Decl(classExpressionES63.ts, 0, 63))
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
=== tests/cases/conformance/es6/classExpressions/classExpressionES63.ts ===
|
||||
let C = class extends class extends class { a = 1 } { b = 2 } { c = 3 };
|
||||
>C : typeof (Anonymous class)
|
||||
>class extends class extends class { a = 1 } { b = 2 } { c = 3 } : typeof (Anonymous class)
|
||||
>C : typeof C
|
||||
>class extends class extends class { a = 1 } { b = 2 } { c = 3 } : typeof C
|
||||
>class extends class { a = 1 } { b = 2 } : (Anonymous class)
|
||||
>class { a = 1 } : (Anonymous class)
|
||||
>a : number
|
||||
@@ -12,22 +12,22 @@ let C = class extends class extends class { a = 1 } { b = 2 } { c = 3 };
|
||||
>3 : 3
|
||||
|
||||
let c = new C();
|
||||
>c : (Anonymous class)
|
||||
>new C() : (Anonymous class)
|
||||
>C : typeof (Anonymous class)
|
||||
>c : C
|
||||
>new C() : C
|
||||
>C : typeof C
|
||||
|
||||
c.a;
|
||||
>c.a : number
|
||||
>c : (Anonymous class)
|
||||
>c : C
|
||||
>a : number
|
||||
|
||||
c.b;
|
||||
>c.b : number
|
||||
>c : (Anonymous class)
|
||||
>c : C
|
||||
>b : number
|
||||
|
||||
c.c;
|
||||
>c.c : number
|
||||
>c : (Anonymous class)
|
||||
>c : C
|
||||
>c : number
|
||||
|
||||
|
||||
@@ -4,24 +4,24 @@ let Foo = class {
|
||||
|
||||
constructor() {
|
||||
this.bar++;
|
||||
>this.bar : Symbol((Anonymous class).bar, Decl(functionsInClassExpressions.ts, 3, 5))
|
||||
>this : Symbol((Anonymous class), Decl(functionsInClassExpressions.ts, 0, 9))
|
||||
>bar : Symbol((Anonymous class).bar, Decl(functionsInClassExpressions.ts, 3, 5))
|
||||
>this.bar : Symbol(Foo.bar, Decl(functionsInClassExpressions.ts, 3, 5))
|
||||
>this : Symbol(Foo, Decl(functionsInClassExpressions.ts, 0, 9))
|
||||
>bar : Symbol(Foo.bar, Decl(functionsInClassExpressions.ts, 3, 5))
|
||||
}
|
||||
bar = 0;
|
||||
>bar : Symbol((Anonymous class).bar, Decl(functionsInClassExpressions.ts, 3, 5))
|
||||
>bar : Symbol(Foo.bar, Decl(functionsInClassExpressions.ts, 3, 5))
|
||||
|
||||
inc = () => {
|
||||
>inc : Symbol((Anonymous class).inc, Decl(functionsInClassExpressions.ts, 4, 12))
|
||||
>inc : Symbol(Foo.inc, Decl(functionsInClassExpressions.ts, 4, 12))
|
||||
|
||||
this.bar++;
|
||||
>this.bar : Symbol((Anonymous class).bar, Decl(functionsInClassExpressions.ts, 3, 5))
|
||||
>this : Symbol((Anonymous class), Decl(functionsInClassExpressions.ts, 0, 9))
|
||||
>bar : Symbol((Anonymous class).bar, Decl(functionsInClassExpressions.ts, 3, 5))
|
||||
>this.bar : Symbol(Foo.bar, Decl(functionsInClassExpressions.ts, 3, 5))
|
||||
>this : Symbol(Foo, Decl(functionsInClassExpressions.ts, 0, 9))
|
||||
>bar : Symbol(Foo.bar, Decl(functionsInClassExpressions.ts, 3, 5))
|
||||
}
|
||||
m() { return this.bar; }
|
||||
>m : Symbol((Anonymous class).m, Decl(functionsInClassExpressions.ts, 7, 5))
|
||||
>this.bar : Symbol((Anonymous class).bar, Decl(functionsInClassExpressions.ts, 3, 5))
|
||||
>this : Symbol((Anonymous class), Decl(functionsInClassExpressions.ts, 0, 9))
|
||||
>bar : Symbol((Anonymous class).bar, Decl(functionsInClassExpressions.ts, 3, 5))
|
||||
>m : Symbol(Foo.m, Decl(functionsInClassExpressions.ts, 7, 5))
|
||||
>this.bar : Symbol(Foo.bar, Decl(functionsInClassExpressions.ts, 3, 5))
|
||||
>this : Symbol(Foo, Decl(functionsInClassExpressions.ts, 0, 9))
|
||||
>bar : Symbol(Foo.bar, Decl(functionsInClassExpressions.ts, 3, 5))
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
=== tests/cases/compiler/functionsInClassExpressions.ts ===
|
||||
let Foo = class {
|
||||
>Foo : typeof (Anonymous class)
|
||||
>class { constructor() { this.bar++; } bar = 0; inc = () => { this.bar++; } m() { return this.bar; }} : typeof (Anonymous class)
|
||||
>Foo : typeof Foo
|
||||
>class { constructor() { this.bar++; } bar = 0; inc = () => { this.bar++; } m() { return this.bar; }} : typeof Foo
|
||||
|
||||
constructor() {
|
||||
this.bar++;
|
||||
|
||||
@@ -11,5 +11,5 @@ let cls = class implements Foo {
|
||||
>Foo : Symbol(Foo, Decl(implementsInClassExpression.ts, 0, 0))
|
||||
|
||||
doThing() { }
|
||||
>doThing : Symbol((Anonymous class).doThing, Decl(implementsInClassExpression.ts, 4, 32))
|
||||
>doThing : Symbol(cls.doThing, Decl(implementsInClassExpression.ts, 4, 32))
|
||||
}
|
||||
|
||||
@@ -7,8 +7,8 @@ interface Foo {
|
||||
}
|
||||
|
||||
let cls = class implements Foo {
|
||||
>cls : typeof (Anonymous class)
|
||||
>class implements Foo { doThing() { }} : typeof (Anonymous class)
|
||||
>cls : typeof cls
|
||||
>class implements Foo { doThing() { }} : typeof cls
|
||||
>Foo : Foo
|
||||
|
||||
doThing() { }
|
||||
|
||||
@@ -9,17 +9,17 @@ tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameCon
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(41,12): error TS2699: Static property 'caller' conflicts with built-in property 'Function.caller' of constructor function 'StaticCallerFn'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(47,12): error TS2699: Static property 'arguments' conflicts with built-in property 'Function.arguments' of constructor function 'StaticArguments'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(52,12): error TS2699: Static property 'arguments' conflicts with built-in property 'Function.arguments' of constructor function 'StaticArgumentsFn'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(62,12): error TS2699: Static property 'name' conflicts with built-in property 'Function.name' of constructor function '(Anonymous class)'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(67,12): error TS2699: Static property 'name' conflicts with built-in property 'Function.name' of constructor function '(Anonymous class)'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(73,12): error TS2699: Static property 'length' conflicts with built-in property 'Function.length' of constructor function '(Anonymous class)'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(78,12): error TS2699: Static property 'length' conflicts with built-in property 'Function.length' of constructor function '(Anonymous class)'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(84,12): error TS2699: Static property 'prototype' conflicts with built-in property 'Function.prototype' of constructor function '(Anonymous class)'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(62,12): error TS2699: Static property 'name' conflicts with built-in property 'Function.name' of constructor function 'StaticName_Anonymous'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(67,12): error TS2699: Static property 'name' conflicts with built-in property 'Function.name' of constructor function 'StaticNameFn_Anonymous'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(73,12): error TS2699: Static property 'length' conflicts with built-in property 'Function.length' of constructor function 'StaticLength_Anonymous'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(78,12): error TS2699: Static property 'length' conflicts with built-in property 'Function.length' of constructor function 'StaticLengthFn_Anonymous'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(84,12): error TS2699: Static property 'prototype' conflicts with built-in property 'Function.prototype' of constructor function 'StaticPrototype_Anonymous'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(89,12): error TS2300: Duplicate identifier 'prototype'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(89,12): error TS2699: Static property 'prototype' conflicts with built-in property 'Function.prototype' of constructor function '(Anonymous class)'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(95,12): error TS2699: Static property 'caller' conflicts with built-in property 'Function.caller' of constructor function '(Anonymous class)'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(100,12): error TS2699: Static property 'caller' conflicts with built-in property 'Function.caller' of constructor function '(Anonymous class)'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(106,12): error TS2699: Static property 'arguments' conflicts with built-in property 'Function.arguments' of constructor function '(Anonymous class)'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(111,12): error TS2699: Static property 'arguments' conflicts with built-in property 'Function.arguments' of constructor function '(Anonymous class)'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(89,12): error TS2699: Static property 'prototype' conflicts with built-in property 'Function.prototype' of constructor function 'StaticPrototypeFn_Anonymous'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(95,12): error TS2699: Static property 'caller' conflicts with built-in property 'Function.caller' of constructor function 'StaticCaller_Anonymous'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(100,12): error TS2699: Static property 'caller' conflicts with built-in property 'Function.caller' of constructor function 'StaticCallerFn_Anonymous'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(106,12): error TS2699: Static property 'arguments' conflicts with built-in property 'Function.arguments' of constructor function 'StaticArguments_Anonymous'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(111,12): error TS2699: Static property 'arguments' conflicts with built-in property 'Function.arguments' of constructor function 'StaticArgumentsFn_Anonymous'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(121,16): error TS2699: Static property 'name' conflicts with built-in property 'Function.name' of constructor function 'StaticName'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(128,16): error TS2699: Static property 'name' conflicts with built-in property 'Function.name' of constructor function 'StaticNameFn'.
|
||||
tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts(136,16): error TS2699: Static property 'length' conflicts with built-in property 'Function.length' of constructor function 'StaticLength'.
|
||||
@@ -119,14 +119,14 @@ tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameCon
|
||||
var StaticName_Anonymous = class {
|
||||
static name: number; // error
|
||||
~~~~
|
||||
!!! error TS2699: Static property 'name' conflicts with built-in property 'Function.name' of constructor function '(Anonymous class)'.
|
||||
!!! error TS2699: Static property 'name' conflicts with built-in property 'Function.name' of constructor function 'StaticName_Anonymous'.
|
||||
name: string; // ok
|
||||
}
|
||||
|
||||
var StaticNameFn_Anonymous = class {
|
||||
static name() {} // error
|
||||
~~~~
|
||||
!!! error TS2699: Static property 'name' conflicts with built-in property 'Function.name' of constructor function '(Anonymous class)'.
|
||||
!!! error TS2699: Static property 'name' conflicts with built-in property 'Function.name' of constructor function 'StaticNameFn_Anonymous'.
|
||||
name() {} // ok
|
||||
}
|
||||
|
||||
@@ -134,14 +134,14 @@ tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameCon
|
||||
var StaticLength_Anonymous = class {
|
||||
static length: number; // error
|
||||
~~~~~~
|
||||
!!! error TS2699: Static property 'length' conflicts with built-in property 'Function.length' of constructor function '(Anonymous class)'.
|
||||
!!! error TS2699: Static property 'length' conflicts with built-in property 'Function.length' of constructor function 'StaticLength_Anonymous'.
|
||||
length: string; // ok
|
||||
}
|
||||
|
||||
var StaticLengthFn_Anonymous = class {
|
||||
static length() {} // error
|
||||
~~~~~~
|
||||
!!! error TS2699: Static property 'length' conflicts with built-in property 'Function.length' of constructor function '(Anonymous class)'.
|
||||
!!! error TS2699: Static property 'length' conflicts with built-in property 'Function.length' of constructor function 'StaticLengthFn_Anonymous'.
|
||||
length() {} // ok
|
||||
}
|
||||
|
||||
@@ -149,7 +149,7 @@ tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameCon
|
||||
var StaticPrototype_Anonymous = class {
|
||||
static prototype: number; // error
|
||||
~~~~~~~~~
|
||||
!!! error TS2699: Static property 'prototype' conflicts with built-in property 'Function.prototype' of constructor function '(Anonymous class)'.
|
||||
!!! error TS2699: Static property 'prototype' conflicts with built-in property 'Function.prototype' of constructor function 'StaticPrototype_Anonymous'.
|
||||
prototype: string; // ok
|
||||
}
|
||||
|
||||
@@ -158,7 +158,7 @@ tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameCon
|
||||
~~~~~~~~~
|
||||
!!! error TS2300: Duplicate identifier 'prototype'.
|
||||
~~~~~~~~~
|
||||
!!! error TS2699: Static property 'prototype' conflicts with built-in property 'Function.prototype' of constructor function '(Anonymous class)'.
|
||||
!!! error TS2699: Static property 'prototype' conflicts with built-in property 'Function.prototype' of constructor function 'StaticPrototypeFn_Anonymous'.
|
||||
prototype() {} // ok
|
||||
}
|
||||
|
||||
@@ -166,14 +166,14 @@ tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameCon
|
||||
var StaticCaller_Anonymous = class {
|
||||
static caller: number; // error
|
||||
~~~~~~
|
||||
!!! error TS2699: Static property 'caller' conflicts with built-in property 'Function.caller' of constructor function '(Anonymous class)'.
|
||||
!!! error TS2699: Static property 'caller' conflicts with built-in property 'Function.caller' of constructor function 'StaticCaller_Anonymous'.
|
||||
caller: string; // ok
|
||||
}
|
||||
|
||||
var StaticCallerFn_Anonymous = class {
|
||||
static caller() {} // error
|
||||
~~~~~~
|
||||
!!! error TS2699: Static property 'caller' conflicts with built-in property 'Function.caller' of constructor function '(Anonymous class)'.
|
||||
!!! error TS2699: Static property 'caller' conflicts with built-in property 'Function.caller' of constructor function 'StaticCallerFn_Anonymous'.
|
||||
caller() {} // ok
|
||||
}
|
||||
|
||||
@@ -181,14 +181,14 @@ tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyNameCon
|
||||
var StaticArguments_Anonymous = class {
|
||||
static arguments: number; // error
|
||||
~~~~~~~~~
|
||||
!!! error TS2699: Static property 'arguments' conflicts with built-in property 'Function.arguments' of constructor function '(Anonymous class)'.
|
||||
!!! error TS2699: Static property 'arguments' conflicts with built-in property 'Function.arguments' of constructor function 'StaticArguments_Anonymous'.
|
||||
arguments: string; // ok
|
||||
}
|
||||
|
||||
var StaticArgumentsFn_Anonymous = class {
|
||||
static arguments() {} // error
|
||||
~~~~~~~~~
|
||||
!!! error TS2699: Static property 'arguments' conflicts with built-in property 'Function.arguments' of constructor function '(Anonymous class)'.
|
||||
!!! error TS2699: Static property 'arguments' conflicts with built-in property 'Function.arguments' of constructor function 'StaticArgumentsFn_Anonymous'.
|
||||
arguments() {} // ok
|
||||
}
|
||||
|
||||
|
||||
@@ -140,14 +140,14 @@ class C5 {
|
||||
}
|
||||
|
||||
var C6 = class { constructor(p12: null) { } }
|
||||
>C6 : typeof (Anonymous class)
|
||||
>class { constructor(p12: null) { } } : typeof (Anonymous class)
|
||||
>C6 : typeof C6
|
||||
>class { constructor(p12: null) { } } : typeof C6
|
||||
>p12 : null
|
||||
>null : null
|
||||
|
||||
var C7 = class { constructor(p13: undefined) { } }
|
||||
>C7 : typeof (Anonymous class)
|
||||
>class { constructor(p13: undefined) { } } : typeof (Anonymous class)
|
||||
>C7 : typeof C7
|
||||
>class { constructor(p13: undefined) { } } : typeof C7
|
||||
>p13 : undefined
|
||||
|
||||
declare function fn<T>();
|
||||
|
||||
Reference in New Issue
Block a user