Disable symbol indexer

This commit is contained in:
Jason Freeman
2015-02-06 21:30:51 -08:00
parent 2f3c32afd6
commit eb5061971d
32 changed files with 154 additions and 156 deletions

View File

@@ -1,4 +1,4 @@
tests/cases/compiler/arraySigChecking.ts(11,17): error TS1023: An index signature parameter type must be 'string', 'number', or 'symbol'.
tests/cases/compiler/arraySigChecking.ts(11,17): error TS1023: An index signature parameter type must be 'string' or 'number'.
tests/cases/compiler/arraySigChecking.ts(18,5): error TS2322: Type 'void[]' is not assignable to type 'string[]'.
Type 'void' is not assignable to type 'string'.
tests/cases/compiler/arraySigChecking.ts(22,1): error TS2322: Type 'number[][]' is not assignable to type 'number[][][]'.
@@ -20,7 +20,7 @@ tests/cases/compiler/arraySigChecking.ts(22,1): error TS2322: Type 'number[][]'
var foo: { [index: any]; }; // expect an error here
~~~~~
!!! error TS1023: An index signature parameter type must be 'string', 'number', or 'symbol'.
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
}
interface myInt {

View File

@@ -2,7 +2,7 @@ tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenc
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument.d.ts(10,21): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument.d.ts(11,22): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument.d.ts(11,26): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument.d.ts(12,19): error TS1023: An index signature parameter type must be 'string', 'number', or 'symbol'.
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument.d.ts(12,19): error TS1023: An index signature parameter type must be 'string' or 'number'.
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument.d.ts(12,22): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument.d.ts(12,26): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument.d.ts(14,23): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
@@ -36,7 +36,7 @@ tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenc
!!! error TS2314: Generic type 'C<T>' requires 1 type argument(s).
declare var d: { [x: C]: C };
~
!!! error TS1023: An index signature parameter type must be 'string', 'number', or 'symbol'.
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
~
!!! error TS2314: Generic type 'C<T>' requires 1 type argument(s).
~

View File

@@ -2,7 +2,7 @@ tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenc
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument.ts(10,13): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument.ts(11,14): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument.ts(11,18): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument.ts(12,11): error TS1023: An index signature parameter type must be 'string', 'number', or 'symbol'.
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument.ts(12,11): error TS1023: An index signature parameter type must be 'string' or 'number'.
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument.ts(12,14): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument.ts(12,18): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument.ts(14,13): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
@@ -46,7 +46,7 @@ tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenc
!!! error TS2314: Generic type 'C<T>' requires 1 type argument(s).
var d: { [x: C]: C };
~
!!! error TS1023: An index signature parameter type must be 'string', 'number', or 'symbol'.
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
~
!!! error TS2314: Generic type 'C<T>' requires 1 type argument(s).
~

View File

@@ -2,7 +2,7 @@ tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenc
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument2.ts(10,13): error TS2314: Generic type 'I<T>' requires 1 type argument(s).
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument2.ts(11,14): error TS2314: Generic type 'I<T>' requires 1 type argument(s).
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument2.ts(11,18): error TS2314: Generic type 'I<T>' requires 1 type argument(s).
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument2.ts(12,11): error TS1023: An index signature parameter type must be 'string', 'number', or 'symbol'.
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument2.ts(12,11): error TS1023: An index signature parameter type must be 'string' or 'number'.
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument2.ts(12,14): error TS2314: Generic type 'I<T>' requires 1 type argument(s).
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument2.ts(12,18): error TS2314: Generic type 'I<T>' requires 1 type argument(s).
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument2.ts(14,13): error TS2314: Generic type 'I<T>' requires 1 type argument(s).
@@ -46,7 +46,7 @@ tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenc
!!! error TS2314: Generic type 'I<T>' requires 1 type argument(s).
var d: { [x: I]: I };
~
!!! error TS1023: An index signature parameter type must be 'string', 'number', or 'symbol'.
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
~
!!! error TS2314: Generic type 'I<T>' requires 1 type argument(s).
~

View File

@@ -2,7 +2,7 @@ tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenc
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(10,21): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(11,22): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(11,26): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(12,19): error TS1023: An index signature parameter type must be 'string', 'number', or 'symbol'.
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(12,19): error TS1023: An index signature parameter type must be 'string' or 'number'.
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(12,22): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(12,26): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(14,23): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
@@ -36,7 +36,7 @@ tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenc
!!! error TS2314: Generic type 'C<T>' requires 1 type argument(s).
declare var d: { [x: C]: C };
~
!!! error TS1023: An index signature parameter type must be 'string', 'number', or 'symbol'.
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
~
!!! error TS2314: Generic type 'C<T>' requires 1 type argument(s).
~

View File

@@ -4,7 +4,7 @@ tests/cases/compiler/indexTypeCheck.ts(17,2): error TS2413: Numeric index type '
tests/cases/compiler/indexTypeCheck.ts(22,2): error TS2413: Numeric index type 'Orange' is not assignable to string index type 'Yellow'.
tests/cases/compiler/indexTypeCheck.ts(27,2): error TS2413: Numeric index type 'number' is not assignable to string index type 'string'.
tests/cases/compiler/indexTypeCheck.ts(32,3): error TS1096: An index signature must have exactly one parameter.
tests/cases/compiler/indexTypeCheck.ts(36,3): error TS1023: An index signature parameter type must be 'string', 'number', or 'symbol'.
tests/cases/compiler/indexTypeCheck.ts(36,3): error TS1023: An index signature parameter type must be 'string' or 'number'.
tests/cases/compiler/indexTypeCheck.ts(51,1): error TS2342: An index expression argument must be of type 'string', 'number', 'symbol, or 'any'.
@@ -58,7 +58,7 @@ tests/cases/compiler/indexTypeCheck.ts(51,1): error TS2342: An index expression
interface Magenta {
[p:Purple]; // error
~
!!! error TS1023: An index signature parameter type must be 'string', 'number', or 'symbol'.
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
}
var yellow: Yellow;

View File

@@ -1,9 +1,9 @@
tests/cases/conformance/parser/ecmascript5/Symbols/parserES5SymbolIndexer1.ts(2,9): error TS1188: 'symbol' indexers are only available when targeting ECMAScript 6 and higher.
tests/cases/conformance/parser/ecmascript5/Symbols/parserES5SymbolIndexer1.ts(2,6): error TS1023: An index signature parameter type must be 'string' or 'number'.
==== tests/cases/conformance/parser/ecmascript5/Symbols/parserES5SymbolIndexer1.ts (1 errors) ====
interface I {
[s: symbol]: string;
~~~~~~
!!! error TS1188: 'symbol' indexers are only available when targeting ECMAScript 6 and higher.
~
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
}

View File

@@ -1,9 +1,9 @@
tests/cases/conformance/parser/ecmascript5/Symbols/parserES5SymbolIndexer2.ts(2,9): error TS1188: 'symbol' indexers are only available when targeting ECMAScript 6 and higher.
tests/cases/conformance/parser/ecmascript5/Symbols/parserES5SymbolIndexer2.ts(2,6): error TS1023: An index signature parameter type must be 'string' or 'number'.
==== tests/cases/conformance/parser/ecmascript5/Symbols/parserES5SymbolIndexer2.ts (1 errors) ====
class C {
[s: symbol]: string;
~~~~~~
!!! error TS1188: 'symbol' indexers are only available when targeting ECMAScript 6 and higher.
~
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
}

View File

@@ -1,9 +1,9 @@
tests/cases/conformance/parser/ecmascript5/Symbols/parserES5SymbolIndexer3.ts(2,9): error TS1188: 'symbol' indexers are only available when targeting ECMAScript 6 and higher.
tests/cases/conformance/parser/ecmascript5/Symbols/parserES5SymbolIndexer3.ts(2,6): error TS1023: An index signature parameter type must be 'string' or 'number'.
==== tests/cases/conformance/parser/ecmascript5/Symbols/parserES5SymbolIndexer3.ts (1 errors) ====
var x: {
[s: symbol]: string;
~~~~~~
!!! error TS1188: 'symbol' indexers are only available when targeting ECMAScript 6 and higher.
~
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
}

View File

@@ -1,9 +1,9 @@
tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature6.ts(2,4): error TS1023: An index signature parameter type must be 'string', 'number', or 'symbol'.
tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature6.ts(2,4): error TS1023: An index signature parameter type must be 'string' or 'number'.
==== tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature6.ts (1 errors) ====
interface I {
[a:boolean]
~
!!! error TS1023: An index signature parameter type must be 'string', 'number', or 'symbol'.
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
}

View File

@@ -1,12 +1,12 @@
tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature8.ts(1,13): error TS1023: An index signature parameter type must be 'string', 'number', or 'symbol'.
tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature8.ts(2,14): error TS1023: An index signature parameter type must be 'string', 'number', or 'symbol'.
tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature8.ts(1,13): error TS1023: An index signature parameter type must be 'string' or 'number'.
tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature8.ts(2,14): error TS1023: An index signature parameter type must be 'string' or 'number'.
==== tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature8.ts (2 errors) ====
var foo: { [index: any]; }; // expect an error here
~~~~~
!!! error TS1023: An index signature parameter type must be 'string', 'number', or 'symbol'.
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
var foo2: { [index: RegExp]; }; // expect an error here
~~~~~
!!! error TS1023: An index signature parameter type must be 'string', 'number', or 'symbol'.
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.

View File

@@ -0,0 +1,9 @@
tests/cases/conformance/parser/ecmascript6/Symbols/parserSymbolIndexer1.ts(2,6): error TS1023: An index signature parameter type must be 'string' or 'number'.
==== tests/cases/conformance/parser/ecmascript6/Symbols/parserSymbolIndexer1.ts (1 errors) ====
interface I {
[s: symbol]: string;
~
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
}

View File

@@ -1,7 +0,0 @@
=== tests/cases/conformance/parser/ecmascript6/Symbols/parserSymbolIndexer1.ts ===
interface I {
>I : I
[s: symbol]: string;
>s : symbol
}

View File

@@ -0,0 +1,9 @@
tests/cases/conformance/parser/ecmascript6/Symbols/parserSymbolIndexer2.ts(2,6): error TS1023: An index signature parameter type must be 'string' or 'number'.
==== tests/cases/conformance/parser/ecmascript6/Symbols/parserSymbolIndexer2.ts (1 errors) ====
class C {
[s: symbol]: string;
~
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
}

View File

@@ -1,7 +0,0 @@
=== tests/cases/conformance/parser/ecmascript6/Symbols/parserSymbolIndexer2.ts ===
class C {
>C : C
[s: symbol]: string;
>s : symbol
}

View File

@@ -1,9 +1,9 @@
tests/cases/conformance/parser/ecmascript6/Symbols/parserSymbolIndexer3.ts(2,5): error TS1145: Modifiers not permitted on index signature members.
tests/cases/conformance/parser/ecmascript6/Symbols/parserSymbolIndexer3.ts(2,13): error TS1023: An index signature parameter type must be 'string' or 'number'.
==== tests/cases/conformance/parser/ecmascript6/Symbols/parserSymbolIndexer3.ts (1 errors) ====
class C {
static [s: symbol]: string;
~~~~~~
!!! error TS1145: Modifiers not permitted on index signature members.
~
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
}

View File

@@ -0,0 +1,9 @@
tests/cases/conformance/parser/ecmascript6/Symbols/parserSymbolIndexer4.ts(2,6): error TS1023: An index signature parameter type must be 'string' or 'number'.
==== tests/cases/conformance/parser/ecmascript6/Symbols/parserSymbolIndexer4.ts (1 errors) ====
var x: {
[s: symbol]: string;
~
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
}

View File

@@ -1,7 +0,0 @@
=== tests/cases/conformance/parser/ecmascript6/Symbols/parserSymbolIndexer4.ts ===
var x: {
>x : {}
[s: symbol]: string;
>s : symbol
}

View File

@@ -0,0 +1,14 @@
tests/cases/conformance/es6/Symbols/symbolProperty17.ts(3,6): error TS1023: An index signature parameter type must be 'string' or 'number'.
==== tests/cases/conformance/es6/Symbols/symbolProperty17.ts (1 errors) ====
interface I {
[Symbol.iterator]: number;
[s: symbol]: string;
~
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
"__@iterator": string;
}
var i: I;
var it = i[Symbol.iterator];

View File

@@ -1,27 +0,0 @@
=== tests/cases/conformance/es6/Symbols/symbolProperty17.ts ===
interface I {
>I : I
[Symbol.iterator]: number;
>Symbol.iterator : symbol
>Symbol : SymbolConstructor
>iterator : symbol
[s: symbol]: string;
>s : symbol
"__@iterator": string;
}
var i: I;
>i : I
>I : I
var it = i[Symbol.iterator];
>it : number
>i[Symbol.iterator] : number
>i : I
>Symbol.iterator : symbol
>Symbol : SymbolConstructor
>iterator : symbol

View File

@@ -0,0 +1,12 @@
tests/cases/conformance/es6/Symbols/symbolProperty29.ts(5,6): error TS1023: An index signature parameter type must be 'string' or 'number'.
==== tests/cases/conformance/es6/Symbols/symbolProperty29.ts (1 errors) ====
class C1 {
[Symbol.toStringTag]() {
return { x: "" };
}
[s: symbol]: () => { x: string };
~
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
}

View File

@@ -1,17 +0,0 @@
=== tests/cases/conformance/es6/Symbols/symbolProperty29.ts ===
class C1 {
>C1 : C1
[Symbol.toStringTag]() {
>Symbol.toStringTag : symbol
>Symbol : SymbolConstructor
>toStringTag : symbol
return { x: "" };
>{ x: "" } : { x: string; }
>x : string
}
[s: symbol]: () => { x: string };
>s : symbol
>x : string
}

View File

@@ -0,0 +1,12 @@
tests/cases/conformance/es6/Symbols/symbolProperty30.ts(5,6): error TS1023: An index signature parameter type must be 'string' or 'number'.
==== tests/cases/conformance/es6/Symbols/symbolProperty30.ts (1 errors) ====
class C1 {
[Symbol.toStringTag]() {
return { x: "" };
}
[s: symbol]: () => { x: number };
~
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
}

View File

@@ -0,0 +1,14 @@
tests/cases/conformance/es6/Symbols/symbolProperty31.ts(7,6): error TS1023: An index signature parameter type must be 'string' or 'number'.
==== tests/cases/conformance/es6/Symbols/symbolProperty31.ts (1 errors) ====
class C1 {
[Symbol.toStringTag]() {
return { x: "" };
}
}
class C2 extends C1 {
[s: symbol]: () => { x: string };
~
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
}

View File

@@ -1,22 +0,0 @@
=== tests/cases/conformance/es6/Symbols/symbolProperty31.ts ===
class C1 {
>C1 : C1
[Symbol.toStringTag]() {
>Symbol.toStringTag : symbol
>Symbol : SymbolConstructor
>toStringTag : symbol
return { x: "" };
>{ x: "" } : { x: string; }
>x : string
}
}
class C2 extends C1 {
>C2 : C2
>C1 : C1
[s: symbol]: () => { x: string };
>s : symbol
>x : string
}

View File

@@ -0,0 +1,14 @@
tests/cases/conformance/es6/Symbols/symbolProperty32.ts(7,6): error TS1023: An index signature parameter type must be 'string' or 'number'.
==== tests/cases/conformance/es6/Symbols/symbolProperty32.ts (1 errors) ====
class C1 {
[Symbol.toStringTag]() {
return { x: "" };
}
}
class C2 extends C1 {
[s: symbol]: () => { x: number };
~
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
}

View File

@@ -0,0 +1,14 @@
tests/cases/conformance/es6/Symbols/symbolProperty33.ts(7,6): error TS1023: An index signature parameter type must be 'string' or 'number'.
==== tests/cases/conformance/es6/Symbols/symbolProperty33.ts (1 errors) ====
class C1 extends C2 {
[Symbol.toStringTag]() {
return { x: "" };
}
}
class C2 {
[s: symbol]: () => { x: string };
~
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
}

View File

@@ -1,22 +0,0 @@
=== tests/cases/conformance/es6/Symbols/symbolProperty33.ts ===
class C1 extends C2 {
>C1 : C1
>C2 : C2
[Symbol.toStringTag]() {
>Symbol.toStringTag : symbol
>Symbol : SymbolConstructor
>toStringTag : symbol
return { x: "" };
>{ x: "" } : { x: string; }
>x : string
}
}
class C2 {
>C2 : C2
[s: symbol]: () => { x: string };
>s : symbol
>x : string
}

View File

@@ -0,0 +1,14 @@
tests/cases/conformance/es6/Symbols/symbolProperty34.ts(7,6): error TS1023: An index signature parameter type must be 'string' or 'number'.
==== tests/cases/conformance/es6/Symbols/symbolProperty34.ts (1 errors) ====
class C1 extends C2 {
[Symbol.toStringTag]() {
return { x: "" };
}
}
class C2 {
[s: symbol]: () => { x: number };
~
!!! error TS1023: An index signature parameter type must be 'string' or 'number'.
}