mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Report errors from duplicate member names
This commit is contained in:
@@ -1815,7 +1815,7 @@ namespace ts {
|
||||
}
|
||||
|
||||
function getSymbolOfNode(node: Node): Symbol {
|
||||
return getMergedSymbol(node.symbol);
|
||||
return getMergedSymbol(node.symbol && node.symbol.name === "__computed" && node.id && getNodeLinks(node).resolvedSymbol || node.symbol);
|
||||
}
|
||||
|
||||
function getParentOfSymbol(symbol: Symbol): Symbol {
|
||||
@@ -19502,7 +19502,10 @@ namespace ts {
|
||||
// initializer is consistent with type associated with the node
|
||||
const declarationType = convertAutoToAny(getWidenedTypeForVariableLikeDeclaration(node));
|
||||
if (type !== unknownType && declarationType !== unknownType && !isTypeIdenticalTo(type, declarationType)) {
|
||||
error(node.name, Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2, declarationNameToString(node.name), typeToString(type), typeToString(declarationType));
|
||||
const message = node.kind === SyntaxKind.PropertyDeclaration || node.kind === SyntaxKind.PropertySignature
|
||||
? Diagnostics.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2
|
||||
: Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2;
|
||||
error(node.name, message, declarationNameToString(node.name), typeToString(type), typeToString(declarationType));
|
||||
}
|
||||
if (node.initializer) {
|
||||
checkTypeAssignableTo(checkExpressionCached(node.initializer), declarationType, node, /*headMessage*/ undefined);
|
||||
|
||||
@@ -2123,6 +2123,10 @@
|
||||
"category": "Error",
|
||||
"code": 2710
|
||||
},
|
||||
"Subsequent property declarations must have the same type. Property '{0}' must be of type '{1}', but here has type '{2}'.": {
|
||||
"category": "Error",
|
||||
"code": 2711
|
||||
},
|
||||
|
||||
"Import declaration '{0}' is using private name '{1}'.": {
|
||||
"category": "Error",
|
||||
|
||||
@@ -44,7 +44,6 @@ namespace N {
|
||||
|
||||
const c4 = "a";
|
||||
const c5 = 1;
|
||||
const c6 = "1";
|
||||
|
||||
interface T8 {
|
||||
[c4]: number;
|
||||
@@ -76,12 +75,6 @@ declare type T15 = {
|
||||
1: string;
|
||||
};
|
||||
|
||||
interface T16 {
|
||||
[c5]: number;
|
||||
[c6]: string;
|
||||
}
|
||||
|
||||
|
||||
let t0: T0;
|
||||
let t1: T1;
|
||||
let t2: T2;
|
||||
@@ -123,7 +116,6 @@ var N;
|
||||
})(N || (N = {}));
|
||||
const c4 = "a";
|
||||
const c5 = 1;
|
||||
const c6 = "1";
|
||||
let t0;
|
||||
let t1;
|
||||
let t2;
|
||||
|
||||
@@ -113,11 +113,8 @@ const c4 = "a";
|
||||
const c5 = 1;
|
||||
>c5 : Symbol(c5, Decl(main.ts, 24, 5))
|
||||
|
||||
const c6 = "1";
|
||||
>c6 : Symbol(c6, Decl(main.ts, 25, 5))
|
||||
|
||||
interface T8 {
|
||||
>T8 : Symbol(T8, Decl(main.ts, 25, 15))
|
||||
>T8 : Symbol(T8, Decl(main.ts, 24, 13))
|
||||
|
||||
[c4]: number;
|
||||
>c4 : Symbol(c4, Decl(main.ts, 23, 5))
|
||||
@@ -126,8 +123,8 @@ interface T8 {
|
||||
>c5 : Symbol(c5, Decl(main.ts, 24, 5))
|
||||
}
|
||||
declare class T9 implements T8 {
|
||||
>T9 : Symbol(T9, Decl(main.ts, 30, 1))
|
||||
>T8 : Symbol(T8, Decl(main.ts, 25, 15))
|
||||
>T9 : Symbol(T9, Decl(main.ts, 29, 1))
|
||||
>T8 : Symbol(T8, Decl(main.ts, 24, 13))
|
||||
|
||||
[c4]: number;
|
||||
>c4 : Symbol(c4, Decl(main.ts, 23, 5))
|
||||
@@ -136,11 +133,11 @@ declare class T9 implements T8 {
|
||||
>c5 : Symbol(c5, Decl(main.ts, 24, 5))
|
||||
}
|
||||
declare class T10 extends T9 {
|
||||
>T10 : Symbol(T10, Decl(main.ts, 34, 1))
|
||||
>T9 : Symbol(T9, Decl(main.ts, 30, 1))
|
||||
>T10 : Symbol(T10, Decl(main.ts, 33, 1))
|
||||
>T9 : Symbol(T9, Decl(main.ts, 29, 1))
|
||||
}
|
||||
declare type T11 = {
|
||||
>T11 : Symbol(T11, Decl(main.ts, 36, 1))
|
||||
>T11 : Symbol(T11, Decl(main.ts, 35, 1))
|
||||
|
||||
[c4]: number;
|
||||
>c4 : Symbol(c4, Decl(main.ts, 23, 5))
|
||||
@@ -151,202 +148,191 @@ declare type T11 = {
|
||||
};
|
||||
|
||||
interface T12 {
|
||||
>T12 : Symbol(T12, Decl(main.ts, 40, 2))
|
||||
>T12 : Symbol(T12, Decl(main.ts, 39, 2))
|
||||
|
||||
a: number;
|
||||
>a : Symbol(T12.a, Decl(main.ts, 42, 15))
|
||||
>a : Symbol(T12.a, Decl(main.ts, 41, 15))
|
||||
|
||||
1: string;
|
||||
}
|
||||
declare class T13 implements T2 {
|
||||
>T13 : Symbol(T13, Decl(main.ts, 45, 1))
|
||||
>T13 : Symbol(T13, Decl(main.ts, 44, 1))
|
||||
>T2 : Symbol(T2, Decl(main.ts, 0, 24))
|
||||
|
||||
a: number;
|
||||
>a : Symbol(T13.a, Decl(main.ts, 46, 33))
|
||||
>a : Symbol(T13.a, Decl(main.ts, 45, 33))
|
||||
|
||||
1: string;
|
||||
}
|
||||
declare class T14 extends T13 {
|
||||
>T14 : Symbol(T14, Decl(main.ts, 49, 1))
|
||||
>T13 : Symbol(T13, Decl(main.ts, 45, 1))
|
||||
>T14 : Symbol(T14, Decl(main.ts, 48, 1))
|
||||
>T13 : Symbol(T13, Decl(main.ts, 44, 1))
|
||||
}
|
||||
declare type T15 = {
|
||||
>T15 : Symbol(T15, Decl(main.ts, 51, 1))
|
||||
>T15 : Symbol(T15, Decl(main.ts, 50, 1))
|
||||
|
||||
a: number;
|
||||
>a : Symbol(a, Decl(main.ts, 52, 20))
|
||||
>a : Symbol(a, Decl(main.ts, 51, 20))
|
||||
|
||||
1: string;
|
||||
};
|
||||
|
||||
interface T16 {
|
||||
>T16 : Symbol(T16, Decl(main.ts, 55, 2))
|
||||
|
||||
[c5]: number;
|
||||
>c5 : Symbol(c5, Decl(main.ts, 24, 5))
|
||||
|
||||
[c6]: string;
|
||||
>c6 : Symbol(c6, Decl(main.ts, 25, 5))
|
||||
}
|
||||
|
||||
|
||||
let t0: T0;
|
||||
>t0 : Symbol(t0, Decl(main.ts, 63, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 56, 3))
|
||||
>T0 : Symbol(T0, Decl(main.ts, 0, 16))
|
||||
|
||||
let t1: T1;
|
||||
>t1 : Symbol(t1, Decl(main.ts, 64, 3))
|
||||
>t1 : Symbol(t1, Decl(main.ts, 57, 3))
|
||||
>T1 : Symbol(T1, Decl(main.ts, 0, 20))
|
||||
|
||||
let t2: T2;
|
||||
>t2 : Symbol(t2, Decl(main.ts, 65, 3))
|
||||
>t2 : Symbol(t2, Decl(main.ts, 58, 3))
|
||||
>T2 : Symbol(T2, Decl(main.ts, 0, 24))
|
||||
|
||||
let t3: T3;
|
||||
>t3 : Symbol(t3, Decl(main.ts, 66, 3))
|
||||
>t3 : Symbol(t3, Decl(main.ts, 59, 3))
|
||||
>T3 : Symbol(T3, Decl(main.ts, 0, 28))
|
||||
|
||||
let t0_1: M.T0;
|
||||
>t0_1 : Symbol(t0_1, Decl(main.ts, 67, 3))
|
||||
>t0_1 : Symbol(t0_1, Decl(main.ts, 60, 3))
|
||||
>M : Symbol(M, Decl(main.ts, 1, 6))
|
||||
>T0 : Symbol(T0, Decl(module.ts, 1, 20))
|
||||
|
||||
let t1_1: M.T1;
|
||||
>t1_1 : Symbol(t1_1, Decl(main.ts, 68, 3))
|
||||
>t1_1 : Symbol(t1_1, Decl(main.ts, 61, 3))
|
||||
>M : Symbol(M, Decl(main.ts, 1, 6))
|
||||
>T1 : Symbol(T1, Decl(module.ts, 5, 1))
|
||||
|
||||
let t2_1: M.T2;
|
||||
>t2_1 : Symbol(t2_1, Decl(main.ts, 69, 3))
|
||||
>t2_1 : Symbol(t2_1, Decl(main.ts, 62, 3))
|
||||
>M : Symbol(M, Decl(main.ts, 1, 6))
|
||||
>T2 : Symbol(T2, Decl(module.ts, 9, 1))
|
||||
|
||||
let t3_1: M.T3;
|
||||
>t3_1 : Symbol(t3_1, Decl(main.ts, 70, 3))
|
||||
>t3_1 : Symbol(t3_1, Decl(main.ts, 63, 3))
|
||||
>M : Symbol(M, Decl(main.ts, 1, 6))
|
||||
>T3 : Symbol(T3, Decl(module.ts, 11, 1))
|
||||
|
||||
let t4: N.T4;
|
||||
>t4 : Symbol(t4, Decl(main.ts, 71, 3))
|
||||
>t4 : Symbol(t4, Decl(main.ts, 64, 3))
|
||||
>N : Symbol(N, Decl(main.ts, 1, 30))
|
||||
>T4 : Symbol(N.T4, Decl(main.ts, 5, 24))
|
||||
|
||||
let t5: N.T5;
|
||||
>t5 : Symbol(t5, Decl(main.ts, 72, 3))
|
||||
>t5 : Symbol(t5, Decl(main.ts, 65, 3))
|
||||
>N : Symbol(N, Decl(main.ts, 1, 30))
|
||||
>T5 : Symbol(N.T5, Decl(main.ts, 10, 5))
|
||||
|
||||
let t6: N.T6;
|
||||
>t6 : Symbol(t6, Decl(main.ts, 73, 3))
|
||||
>t6 : Symbol(t6, Decl(main.ts, 66, 3))
|
||||
>N : Symbol(N, Decl(main.ts, 1, 30))
|
||||
>T6 : Symbol(N.T6, Decl(main.ts, 14, 5))
|
||||
|
||||
let t7: N.T7;
|
||||
>t7 : Symbol(t7, Decl(main.ts, 74, 3))
|
||||
>t7 : Symbol(t7, Decl(main.ts, 67, 3))
|
||||
>N : Symbol(N, Decl(main.ts, 1, 30))
|
||||
>T7 : Symbol(N.T7, Decl(main.ts, 16, 5))
|
||||
|
||||
let t8: T8;
|
||||
>t8 : Symbol(t8, Decl(main.ts, 75, 3))
|
||||
>T8 : Symbol(T8, Decl(main.ts, 25, 15))
|
||||
>t8 : Symbol(t8, Decl(main.ts, 68, 3))
|
||||
>T8 : Symbol(T8, Decl(main.ts, 24, 13))
|
||||
|
||||
let t9: T9;
|
||||
>t9 : Symbol(t9, Decl(main.ts, 76, 3))
|
||||
>T9 : Symbol(T9, Decl(main.ts, 30, 1))
|
||||
>t9 : Symbol(t9, Decl(main.ts, 69, 3))
|
||||
>T9 : Symbol(T9, Decl(main.ts, 29, 1))
|
||||
|
||||
let t10: T10;
|
||||
>t10 : Symbol(t10, Decl(main.ts, 77, 3))
|
||||
>T10 : Symbol(T10, Decl(main.ts, 34, 1))
|
||||
>t10 : Symbol(t10, Decl(main.ts, 70, 3))
|
||||
>T10 : Symbol(T10, Decl(main.ts, 33, 1))
|
||||
|
||||
let t11: T11;
|
||||
>t11 : Symbol(t11, Decl(main.ts, 78, 3))
|
||||
>T11 : Symbol(T11, Decl(main.ts, 36, 1))
|
||||
>t11 : Symbol(t11, Decl(main.ts, 71, 3))
|
||||
>T11 : Symbol(T11, Decl(main.ts, 35, 1))
|
||||
|
||||
let t12: T12;
|
||||
>t12 : Symbol(t12, Decl(main.ts, 79, 3))
|
||||
>T12 : Symbol(T12, Decl(main.ts, 40, 2))
|
||||
>t12 : Symbol(t12, Decl(main.ts, 72, 3))
|
||||
>T12 : Symbol(T12, Decl(main.ts, 39, 2))
|
||||
|
||||
let t13: T13;
|
||||
>t13 : Symbol(t13, Decl(main.ts, 80, 3))
|
||||
>T13 : Symbol(T13, Decl(main.ts, 45, 1))
|
||||
>t13 : Symbol(t13, Decl(main.ts, 73, 3))
|
||||
>T13 : Symbol(T13, Decl(main.ts, 44, 1))
|
||||
|
||||
let t14: T14;
|
||||
>t14 : Symbol(t14, Decl(main.ts, 81, 3))
|
||||
>T14 : Symbol(T14, Decl(main.ts, 49, 1))
|
||||
>t14 : Symbol(t14, Decl(main.ts, 74, 3))
|
||||
>T14 : Symbol(T14, Decl(main.ts, 48, 1))
|
||||
|
||||
let t15: T15;
|
||||
>t15 : Symbol(t15, Decl(main.ts, 82, 3))
|
||||
>T15 : Symbol(T15, Decl(main.ts, 51, 1))
|
||||
>t15 : Symbol(t15, Decl(main.ts, 75, 3))
|
||||
>T15 : Symbol(T15, Decl(main.ts, 50, 1))
|
||||
|
||||
// assignability
|
||||
t0 = t1, t0 = t2, t0 = t3, t1 = t0, t1 = t2, t1 = t3, t2 = t0, t2 = t1, t2 = t3, t3 = t0, t3 = t1, t3 = t2;
|
||||
>t0 : Symbol(t0, Decl(main.ts, 63, 3))
|
||||
>t1 : Symbol(t1, Decl(main.ts, 64, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 63, 3))
|
||||
>t2 : Symbol(t2, Decl(main.ts, 65, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 63, 3))
|
||||
>t3 : Symbol(t3, Decl(main.ts, 66, 3))
|
||||
>t1 : Symbol(t1, Decl(main.ts, 64, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 63, 3))
|
||||
>t1 : Symbol(t1, Decl(main.ts, 64, 3))
|
||||
>t2 : Symbol(t2, Decl(main.ts, 65, 3))
|
||||
>t1 : Symbol(t1, Decl(main.ts, 64, 3))
|
||||
>t3 : Symbol(t3, Decl(main.ts, 66, 3))
|
||||
>t2 : Symbol(t2, Decl(main.ts, 65, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 63, 3))
|
||||
>t2 : Symbol(t2, Decl(main.ts, 65, 3))
|
||||
>t1 : Symbol(t1, Decl(main.ts, 64, 3))
|
||||
>t2 : Symbol(t2, Decl(main.ts, 65, 3))
|
||||
>t3 : Symbol(t3, Decl(main.ts, 66, 3))
|
||||
>t3 : Symbol(t3, Decl(main.ts, 66, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 63, 3))
|
||||
>t3 : Symbol(t3, Decl(main.ts, 66, 3))
|
||||
>t1 : Symbol(t1, Decl(main.ts, 64, 3))
|
||||
>t3 : Symbol(t3, Decl(main.ts, 66, 3))
|
||||
>t2 : Symbol(t2, Decl(main.ts, 65, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 56, 3))
|
||||
>t1 : Symbol(t1, Decl(main.ts, 57, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 56, 3))
|
||||
>t2 : Symbol(t2, Decl(main.ts, 58, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 56, 3))
|
||||
>t3 : Symbol(t3, Decl(main.ts, 59, 3))
|
||||
>t1 : Symbol(t1, Decl(main.ts, 57, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 56, 3))
|
||||
>t1 : Symbol(t1, Decl(main.ts, 57, 3))
|
||||
>t2 : Symbol(t2, Decl(main.ts, 58, 3))
|
||||
>t1 : Symbol(t1, Decl(main.ts, 57, 3))
|
||||
>t3 : Symbol(t3, Decl(main.ts, 59, 3))
|
||||
>t2 : Symbol(t2, Decl(main.ts, 58, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 56, 3))
|
||||
>t2 : Symbol(t2, Decl(main.ts, 58, 3))
|
||||
>t1 : Symbol(t1, Decl(main.ts, 57, 3))
|
||||
>t2 : Symbol(t2, Decl(main.ts, 58, 3))
|
||||
>t3 : Symbol(t3, Decl(main.ts, 59, 3))
|
||||
>t3 : Symbol(t3, Decl(main.ts, 59, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 56, 3))
|
||||
>t3 : Symbol(t3, Decl(main.ts, 59, 3))
|
||||
>t1 : Symbol(t1, Decl(main.ts, 57, 3))
|
||||
>t3 : Symbol(t3, Decl(main.ts, 59, 3))
|
||||
>t2 : Symbol(t2, Decl(main.ts, 58, 3))
|
||||
|
||||
t4 = t5, t4 = t6, t4 = t7, t5 = t4, t5 = t6, t5 = t7, t6 = t4, t6 = t5, t6 = t7, t7 = t4, t7 = t5, t7 = t6;
|
||||
>t4 : Symbol(t4, Decl(main.ts, 71, 3))
|
||||
>t5 : Symbol(t5, Decl(main.ts, 72, 3))
|
||||
>t4 : Symbol(t4, Decl(main.ts, 71, 3))
|
||||
>t6 : Symbol(t6, Decl(main.ts, 73, 3))
|
||||
>t4 : Symbol(t4, Decl(main.ts, 71, 3))
|
||||
>t7 : Symbol(t7, Decl(main.ts, 74, 3))
|
||||
>t5 : Symbol(t5, Decl(main.ts, 72, 3))
|
||||
>t4 : Symbol(t4, Decl(main.ts, 71, 3))
|
||||
>t5 : Symbol(t5, Decl(main.ts, 72, 3))
|
||||
>t6 : Symbol(t6, Decl(main.ts, 73, 3))
|
||||
>t5 : Symbol(t5, Decl(main.ts, 72, 3))
|
||||
>t7 : Symbol(t7, Decl(main.ts, 74, 3))
|
||||
>t6 : Symbol(t6, Decl(main.ts, 73, 3))
|
||||
>t4 : Symbol(t4, Decl(main.ts, 71, 3))
|
||||
>t6 : Symbol(t6, Decl(main.ts, 73, 3))
|
||||
>t5 : Symbol(t5, Decl(main.ts, 72, 3))
|
||||
>t6 : Symbol(t6, Decl(main.ts, 73, 3))
|
||||
>t7 : Symbol(t7, Decl(main.ts, 74, 3))
|
||||
>t7 : Symbol(t7, Decl(main.ts, 74, 3))
|
||||
>t4 : Symbol(t4, Decl(main.ts, 71, 3))
|
||||
>t7 : Symbol(t7, Decl(main.ts, 74, 3))
|
||||
>t5 : Symbol(t5, Decl(main.ts, 72, 3))
|
||||
>t7 : Symbol(t7, Decl(main.ts, 74, 3))
|
||||
>t6 : Symbol(t6, Decl(main.ts, 73, 3))
|
||||
>t4 : Symbol(t4, Decl(main.ts, 64, 3))
|
||||
>t5 : Symbol(t5, Decl(main.ts, 65, 3))
|
||||
>t4 : Symbol(t4, Decl(main.ts, 64, 3))
|
||||
>t6 : Symbol(t6, Decl(main.ts, 66, 3))
|
||||
>t4 : Symbol(t4, Decl(main.ts, 64, 3))
|
||||
>t7 : Symbol(t7, Decl(main.ts, 67, 3))
|
||||
>t5 : Symbol(t5, Decl(main.ts, 65, 3))
|
||||
>t4 : Symbol(t4, Decl(main.ts, 64, 3))
|
||||
>t5 : Symbol(t5, Decl(main.ts, 65, 3))
|
||||
>t6 : Symbol(t6, Decl(main.ts, 66, 3))
|
||||
>t5 : Symbol(t5, Decl(main.ts, 65, 3))
|
||||
>t7 : Symbol(t7, Decl(main.ts, 67, 3))
|
||||
>t6 : Symbol(t6, Decl(main.ts, 66, 3))
|
||||
>t4 : Symbol(t4, Decl(main.ts, 64, 3))
|
||||
>t6 : Symbol(t6, Decl(main.ts, 66, 3))
|
||||
>t5 : Symbol(t5, Decl(main.ts, 65, 3))
|
||||
>t6 : Symbol(t6, Decl(main.ts, 66, 3))
|
||||
>t7 : Symbol(t7, Decl(main.ts, 67, 3))
|
||||
>t7 : Symbol(t7, Decl(main.ts, 67, 3))
|
||||
>t4 : Symbol(t4, Decl(main.ts, 64, 3))
|
||||
>t7 : Symbol(t7, Decl(main.ts, 67, 3))
|
||||
>t5 : Symbol(t5, Decl(main.ts, 65, 3))
|
||||
>t7 : Symbol(t7, Decl(main.ts, 67, 3))
|
||||
>t6 : Symbol(t6, Decl(main.ts, 66, 3))
|
||||
|
||||
t0 = t12, t0 = t13, t0 = t14, t0 = t15, t12 = t0, t13 = t0, t14 = t0, t15 = t0;
|
||||
>t0 : Symbol(t0, Decl(main.ts, 63, 3))
|
||||
>t12 : Symbol(t12, Decl(main.ts, 79, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 63, 3))
|
||||
>t13 : Symbol(t13, Decl(main.ts, 80, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 63, 3))
|
||||
>t14 : Symbol(t14, Decl(main.ts, 81, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 63, 3))
|
||||
>t15 : Symbol(t15, Decl(main.ts, 82, 3))
|
||||
>t12 : Symbol(t12, Decl(main.ts, 79, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 63, 3))
|
||||
>t13 : Symbol(t13, Decl(main.ts, 80, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 63, 3))
|
||||
>t14 : Symbol(t14, Decl(main.ts, 81, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 63, 3))
|
||||
>t15 : Symbol(t15, Decl(main.ts, 82, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 63, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 56, 3))
|
||||
>t12 : Symbol(t12, Decl(main.ts, 72, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 56, 3))
|
||||
>t13 : Symbol(t13, Decl(main.ts, 73, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 56, 3))
|
||||
>t14 : Symbol(t14, Decl(main.ts, 74, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 56, 3))
|
||||
>t15 : Symbol(t15, Decl(main.ts, 75, 3))
|
||||
>t12 : Symbol(t12, Decl(main.ts, 72, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 56, 3))
|
||||
>t13 : Symbol(t13, Decl(main.ts, 73, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 56, 3))
|
||||
>t14 : Symbol(t14, Decl(main.ts, 74, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 56, 3))
|
||||
>t15 : Symbol(t15, Decl(main.ts, 75, 3))
|
||||
>t0 : Symbol(t0, Decl(main.ts, 56, 3))
|
||||
|
||||
|
||||
@@ -119,10 +119,6 @@ const c5 = 1;
|
||||
>c5 : 1
|
||||
>1 : 1
|
||||
|
||||
const c6 = "1";
|
||||
>c6 : "1"
|
||||
>"1" : "1"
|
||||
|
||||
interface T8 {
|
||||
>T8 : T8
|
||||
|
||||
@@ -187,17 +183,6 @@ declare type T15 = {
|
||||
1: string;
|
||||
};
|
||||
|
||||
interface T16 {
|
||||
>T16 : T16
|
||||
|
||||
[c5]: number;
|
||||
>c5 : 1
|
||||
|
||||
[c6]: string;
|
||||
>c6 : "1"
|
||||
}
|
||||
|
||||
|
||||
let t0: T0;
|
||||
>t0 : T0
|
||||
>T0 : T0
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
tests/cases/compiler/dynamicNamesErrors.ts(5,5): error TS2300: Duplicate identifier '1'.
|
||||
tests/cases/compiler/dynamicNamesErrors.ts(6,5): error TS2300: Duplicate identifier '1'.
|
||||
tests/cases/compiler/dynamicNamesErrors.ts(19,1): error TS2322: Type 'T2' is not assignable to type 'T1'.
|
||||
tests/cases/compiler/dynamicNamesErrors.ts(19,5): error TS2711: Subsequent property declarations must have the same type. Property '[c1]' must be of type 'number', but here has type 'string'.
|
||||
tests/cases/compiler/dynamicNamesErrors.ts(25,1): error TS2322: Type 'T2' is not assignable to type 'T1'.
|
||||
Types of property '1' are incompatible.
|
||||
Type 'string' is not assignable to type 'number'.
|
||||
tests/cases/compiler/dynamicNamesErrors.ts(20,1): error TS2322: Type 'T1' is not assignable to type 'T2'.
|
||||
tests/cases/compiler/dynamicNamesErrors.ts(26,1): error TS2322: Type 'T1' is not assignable to type 'T2'.
|
||||
Types of property '1' are incompatible.
|
||||
Type 'number' is not assignable to type 'string'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/dynamicNamesErrors.ts (4 errors) ====
|
||||
==== tests/cases/compiler/dynamicNamesErrors.ts (5 errors) ====
|
||||
const c0 = "1";
|
||||
const c1 = 1;
|
||||
|
||||
@@ -29,6 +30,14 @@ tests/cases/compiler/dynamicNamesErrors.ts(20,1): error TS2322: Type 'T1' is not
|
||||
[c0]: string;
|
||||
}
|
||||
|
||||
interface T3 {
|
||||
[c0]: number;
|
||||
[c1]: string;
|
||||
~~~~
|
||||
!!! error TS2711: Subsequent property declarations must have the same type. Property '[c1]' must be of type 'number', but here has type 'string'.
|
||||
}
|
||||
|
||||
|
||||
let t1: T1;
|
||||
let t2: T2;
|
||||
t1 = t2;
|
||||
|
||||
@@ -15,6 +15,12 @@ interface T2 {
|
||||
[c0]: string;
|
||||
}
|
||||
|
||||
interface T3 {
|
||||
[c0]: number;
|
||||
[c1]: string;
|
||||
}
|
||||
|
||||
|
||||
let t1: T1;
|
||||
let t2: T2;
|
||||
t1 = t2;
|
||||
|
||||
@@ -44,7 +44,6 @@ namespace N {
|
||||
|
||||
const c4 = "a";
|
||||
const c5 = 1;
|
||||
const c6 = "1";
|
||||
|
||||
interface T8 {
|
||||
[c4]: number;
|
||||
@@ -76,12 +75,6 @@ declare type T15 = {
|
||||
1: string;
|
||||
};
|
||||
|
||||
interface T16 {
|
||||
[c5]: number;
|
||||
[c6]: string;
|
||||
}
|
||||
|
||||
|
||||
let t0: T0;
|
||||
let t1: T1;
|
||||
let t2: T2;
|
||||
|
||||
@@ -16,6 +16,12 @@ interface T2 {
|
||||
[c0]: string;
|
||||
}
|
||||
|
||||
interface T3 {
|
||||
[c0]: number;
|
||||
[c1]: string;
|
||||
}
|
||||
|
||||
|
||||
let t1: T1;
|
||||
let t2: T2;
|
||||
t1 = t2;
|
||||
|
||||
Reference in New Issue
Block a user