mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Switch to 'unique symbol'
This commit is contained in:
+80
-74
@@ -2497,7 +2497,7 @@ namespace ts {
|
||||
return (<IntrinsicType>type).intrinsicName === "true" ? createTrue() : createFalse();
|
||||
}
|
||||
if (type.flags & TypeFlags.UniqueESSymbol) {
|
||||
return createESSymbolTypeNode();
|
||||
return createTypeOperatorNode(SyntaxKind.UniqueKeyword, createKeywordTypeNode(SyntaxKind.SymbolKeyword));
|
||||
}
|
||||
if (type.flags & TypeFlags.Void) {
|
||||
return createKeywordTypeNode(SyntaxKind.VoidKeyword);
|
||||
@@ -3313,9 +3313,9 @@ namespace ts {
|
||||
writeAnonymousType(<ObjectType>type, nextFlags);
|
||||
}
|
||||
else if (type.flags & TypeFlags.UniqueESSymbol) {
|
||||
writeKeyword(writer, SyntaxKind.UniqueKeyword);
|
||||
writeSpace(writer);
|
||||
writeKeyword(writer, SyntaxKind.SymbolKeyword);
|
||||
writePunctuation(writer, SyntaxKind.OpenParenToken);
|
||||
writePunctuation(writer, SyntaxKind.CloseParenToken);
|
||||
}
|
||||
else if (type.flags & TypeFlags.StringOrNumberLiteral) {
|
||||
writer.writeStringLiteral(literalTypeToString(<LiteralType>type));
|
||||
@@ -4533,7 +4533,7 @@ namespace ts {
|
||||
reportErrorsFromWidening(declaration, type);
|
||||
}
|
||||
|
||||
// always widen a unique 'symbol()' type if the type was created for a different declaration.
|
||||
// always widen a 'unique symbol' type if the type was created for a different declaration.
|
||||
if (type.flags & TypeFlags.UniqueESSymbol && !declaration.type && type.symbol !== getSymbolOfNode(declaration)) {
|
||||
type = esSymbolType;
|
||||
}
|
||||
@@ -5949,7 +5949,9 @@ namespace ts {
|
||||
const modifiersType = getApparentType(getModifiersTypeFromMappedType(type)); // The 'T' in 'keyof T'
|
||||
const templateReadonly = !!type.declaration.readonlyToken;
|
||||
const templateOptional = !!type.declaration.questionToken;
|
||||
if (type.declaration.typeParameter.constraint.kind === SyntaxKind.TypeOperator) {
|
||||
const constraintDeclaration = type.declaration.typeParameter.constraint;
|
||||
if (constraintDeclaration.kind === SyntaxKind.TypeOperator &&
|
||||
(<TypeOperatorNode>constraintDeclaration).operator === SyntaxKind.KeyOfKeyword) {
|
||||
// We have a { [P in keyof T]: X }
|
||||
for (const propertySymbol of getPropertiesOfType(modifiersType)) {
|
||||
addMemberForKeyType(getLiteralTypeFromPropertyName(propertySymbol), propertySymbol);
|
||||
@@ -6024,7 +6026,8 @@ namespace ts {
|
||||
function getModifiersTypeFromMappedType(type: MappedType) {
|
||||
if (!type.modifiersType) {
|
||||
const constraintDeclaration = type.declaration.typeParameter.constraint;
|
||||
if (constraintDeclaration.kind === SyntaxKind.TypeOperator) {
|
||||
if (constraintDeclaration.kind === SyntaxKind.TypeOperator &&
|
||||
(<TypeOperatorNode>constraintDeclaration).operator === SyntaxKind.KeyOfKeyword) {
|
||||
// If the constraint declaration is a 'keyof T' node, the modifiers type is T. We check
|
||||
// AST nodes here because, when T is a non-generic type, the logic below eagerly resolves
|
||||
// 'keyof T' to a literal union type and we can't recover T from that type.
|
||||
@@ -7822,7 +7825,21 @@ namespace ts {
|
||||
function getTypeFromTypeOperatorNode(node: TypeOperatorNode) {
|
||||
const links = getNodeLinks(node);
|
||||
if (!links.resolvedType) {
|
||||
links.resolvedType = getIndexType(getTypeFromTypeNode(node.type));
|
||||
switch (node.operator) {
|
||||
case SyntaxKind.KeyOfKeyword:
|
||||
links.resolvedType = getIndexType(getTypeFromTypeNode(node.type));
|
||||
break;
|
||||
case SyntaxKind.UniqueKeyword:
|
||||
if (node.type.kind === SyntaxKind.SymbolKeyword) {
|
||||
const parent = skipParentheses(node).parent;
|
||||
const symbol = getSymbolOfNode(parent);
|
||||
links.resolvedType = symbol ? getUniqueESSymbolTypeForSymbol(symbol) : esSymbolType;
|
||||
}
|
||||
else {
|
||||
links.resolvedType = unknownType;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return links.resolvedType;
|
||||
}
|
||||
@@ -8226,21 +8243,6 @@ namespace ts {
|
||||
return esSymbolType;
|
||||
}
|
||||
|
||||
function getTypeFromESSymbolTypeNode(node: ESSymbolTypeNode): Type {
|
||||
const links = getNodeLinks(node);
|
||||
if (!links.resolvedType) {
|
||||
const parent = skipParentheses(node).parent;
|
||||
const symbol = getSymbolOfNode(parent);
|
||||
if (symbol) {
|
||||
links.resolvedType = getUniqueESSymbolTypeForSymbol(symbol);
|
||||
}
|
||||
else {
|
||||
links.resolvedType = esSymbolType;
|
||||
}
|
||||
}
|
||||
return links.resolvedType;
|
||||
}
|
||||
|
||||
function getTypeFromJSDocVariadicType(node: JSDocVariadicType): Type {
|
||||
const links = getNodeLinks(node);
|
||||
if (!links.resolvedType) {
|
||||
@@ -8300,8 +8302,6 @@ namespace ts {
|
||||
return getTypeFromThisTypeNode(node as ThisExpression | ThisTypeNode);
|
||||
case SyntaxKind.LiteralType:
|
||||
return getTypeFromLiteralTypeNode(<LiteralTypeNode>node);
|
||||
case SyntaxKind.ESSymbolType:
|
||||
return getTypeFromESSymbolTypeNode(<ESSymbolTypeNode>node);
|
||||
case SyntaxKind.TypeReference:
|
||||
return getTypeFromTypeReference(<TypeReferenceNode>node);
|
||||
case SyntaxKind.TypePredicate:
|
||||
@@ -17313,7 +17313,7 @@ namespace ts {
|
||||
type = checkAwaitedType(type, /*errorNode*/ func, Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member);
|
||||
}
|
||||
|
||||
// widen 'symbol()' types when we infer the return type.
|
||||
// widen 'unique symbol' types when we infer the return type.
|
||||
type = getWidenedTypeOfUniqueESSymbolType(type);
|
||||
}
|
||||
else {
|
||||
@@ -17349,7 +17349,7 @@ namespace ts {
|
||||
// Return a union of the return expression types.
|
||||
type = getUnionType(types, /*subtypeReduction*/ true);
|
||||
|
||||
// widen 'symbol()' types when we infer the return type.
|
||||
// widen 'unique symbol' types when we infer the return type.
|
||||
type = getWidenedTypeOfUniqueESSymbolType(type);
|
||||
|
||||
if (functionFlags & FunctionFlags.Generator) { // AsyncGenerator function or Generator function
|
||||
@@ -19428,8 +19428,9 @@ namespace ts {
|
||||
checkTypeAssignableTo(constraintType, stringType, node.typeParameter.constraint);
|
||||
}
|
||||
|
||||
function checkSymbolType(node: ESSymbolTypeNode) {
|
||||
checkGrammarESSymbolTypeNode(node);
|
||||
function checkTypeOperator(node: TypeOperatorNode) {
|
||||
checkGrammarTypeOperatorNode(node);
|
||||
checkSourceElement(node.type);
|
||||
}
|
||||
|
||||
function isPrivateWithinAmbient(node: Node): boolean {
|
||||
@@ -23000,8 +23001,9 @@ namespace ts {
|
||||
case SyntaxKind.IntersectionType:
|
||||
return checkUnionOrIntersectionType(<UnionOrIntersectionTypeNode>node);
|
||||
case SyntaxKind.ParenthesizedType:
|
||||
case SyntaxKind.TypeOperator:
|
||||
return checkSourceElement((<ParenthesizedTypeNode | TypeOperatorNode>node).type);
|
||||
case SyntaxKind.TypeOperator:
|
||||
return checkTypeOperator(<TypeOperatorNode>node);
|
||||
case SyntaxKind.JSDocAugmentsTag:
|
||||
return checkJSDocAugmentsTag(node as JSDocAugmentsTag);
|
||||
case SyntaxKind.JSDocTypedefTag:
|
||||
@@ -23026,8 +23028,6 @@ namespace ts {
|
||||
return checkIndexedAccessType(<IndexedAccessTypeNode>node);
|
||||
case SyntaxKind.MappedType:
|
||||
return checkMappedType(<MappedTypeNode>node);
|
||||
case SyntaxKind.ESSymbolType:
|
||||
return checkSymbolType(<ESSymbolTypeNode>node);
|
||||
case SyntaxKind.FunctionDeclaration:
|
||||
return checkFunctionDeclaration(<FunctionDeclaration>node);
|
||||
case SyntaxKind.Block:
|
||||
@@ -25341,54 +25341,60 @@ namespace ts {
|
||||
}
|
||||
}
|
||||
|
||||
function checkGrammarESSymbolTypeNode(node: ESSymbolTypeNode) {
|
||||
let parent = node.parent;
|
||||
while (parent.kind === SyntaxKind.ParenthesizedType) {
|
||||
parent = parent.parent;
|
||||
}
|
||||
function checkGrammarTypeOperatorNode(node: TypeOperatorNode) {
|
||||
if (node.operator === SyntaxKind.UniqueKeyword) {
|
||||
if (node.type.kind !== SyntaxKind.SymbolKeyword) {
|
||||
return grammarErrorOnNode(node.type, Diagnostics._0_expected, tokenToString(SyntaxKind.SymbolKeyword));
|
||||
}
|
||||
|
||||
switch (parent.kind) {
|
||||
case SyntaxKind.VariableDeclaration:
|
||||
const decl = parent as VariableDeclaration;
|
||||
if (decl.name.kind !== SyntaxKind.Identifier) {
|
||||
return grammarErrorOnNode(node, Diagnostics.Unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name);
|
||||
}
|
||||
if (!isVariableDeclarationInVariableStatement(decl)) {
|
||||
return grammarErrorOnNode(node, Diagnostics.Unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement);
|
||||
}
|
||||
if (!(decl.parent.flags & NodeFlags.Const)) {
|
||||
return grammarErrorOnNode((<VariableDeclaration>parent).name, Diagnostics.A_variable_whose_type_is_a_unique_symbol_type_must_be_const);
|
||||
}
|
||||
break;
|
||||
let parent = node.parent;
|
||||
while (parent.kind === SyntaxKind.ParenthesizedType) {
|
||||
parent = parent.parent;
|
||||
}
|
||||
|
||||
case SyntaxKind.PropertyDeclaration:
|
||||
if (!hasModifier(parent, ModifierFlags.Static) ||
|
||||
!hasModifier(parent, ModifierFlags.Readonly)) {
|
||||
return grammarErrorOnNode((<PropertyDeclaration>parent).name, Diagnostics.A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly);
|
||||
}
|
||||
break;
|
||||
switch (parent.kind) {
|
||||
case SyntaxKind.VariableDeclaration:
|
||||
const decl = parent as VariableDeclaration;
|
||||
if (decl.name.kind !== SyntaxKind.Identifier) {
|
||||
return grammarErrorOnNode(node, Diagnostics.unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name);
|
||||
}
|
||||
if (!isVariableDeclarationInVariableStatement(decl)) {
|
||||
return grammarErrorOnNode(node, Diagnostics.unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement);
|
||||
}
|
||||
if (!(decl.parent.flags & NodeFlags.Const)) {
|
||||
return grammarErrorOnNode((<VariableDeclaration>parent).name, Diagnostics.A_variable_whose_type_is_a_unique_symbol_type_must_be_const);
|
||||
}
|
||||
break;
|
||||
|
||||
case SyntaxKind.PropertySignature:
|
||||
if (!hasModifier(parent, ModifierFlags.Readonly)) {
|
||||
return grammarErrorOnNode((<PropertySignature>parent).name, Diagnostics.A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly);
|
||||
}
|
||||
break;
|
||||
case SyntaxKind.PropertyDeclaration:
|
||||
if (!hasModifier(parent, ModifierFlags.Static) ||
|
||||
!hasModifier(parent, ModifierFlags.Readonly)) {
|
||||
return grammarErrorOnNode((<PropertyDeclaration>parent).name, Diagnostics.A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly);
|
||||
}
|
||||
break;
|
||||
|
||||
// report specific errors for cases where a `symbol()` type is disallowed even when it is in a `const` or `readonly` declaration.
|
||||
case SyntaxKind.UnionType:
|
||||
return grammarErrorOnNode(node, Diagnostics.Unique_symbol_types_are_not_allowed_in_a_union_type);
|
||||
case SyntaxKind.IntersectionType:
|
||||
return grammarErrorOnNode(node, Diagnostics.Unique_symbol_types_are_not_allowed_in_an_intersection_type);
|
||||
case SyntaxKind.ArrayType:
|
||||
return grammarErrorOnNode(node, Diagnostics.Unique_symbol_types_are_not_allowed_in_an_array_type);
|
||||
case SyntaxKind.TupleType:
|
||||
return grammarErrorOnNode(node, Diagnostics.Unique_symbol_types_are_not_allowed_in_a_tuple_type);
|
||||
case SyntaxKind.MappedType:
|
||||
return grammarErrorOnNode(node, Diagnostics.Unique_symbol_types_are_not_allowed_in_a_mapped_type);
|
||||
case SyntaxKind.PropertySignature:
|
||||
if (!hasModifier(parent, ModifierFlags.Readonly)) {
|
||||
return grammarErrorOnNode((<PropertySignature>parent).name, Diagnostics.A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly);
|
||||
}
|
||||
break;
|
||||
|
||||
// report a general error for any other invalid use site.
|
||||
default:
|
||||
return grammarErrorOnNode(node, Diagnostics.Unique_symbol_types_are_not_allowed_here);
|
||||
// report specific errors for cases where a `unique symbol` type is disallowed even when it is in a `const` or `readonly` declaration.
|
||||
case SyntaxKind.UnionType:
|
||||
return grammarErrorOnNode(node, Diagnostics.unique_symbol_types_are_not_allowed_in_a_union_type);
|
||||
case SyntaxKind.IntersectionType:
|
||||
return grammarErrorOnNode(node, Diagnostics.unique_symbol_types_are_not_allowed_in_an_intersection_type);
|
||||
case SyntaxKind.ArrayType:
|
||||
return grammarErrorOnNode(node, Diagnostics.unique_symbol_types_are_not_allowed_in_an_array_type);
|
||||
case SyntaxKind.TupleType:
|
||||
return grammarErrorOnNode(node, Diagnostics.unique_symbol_types_are_not_allowed_in_a_tuple_type);
|
||||
case SyntaxKind.MappedType:
|
||||
return grammarErrorOnNode(node, Diagnostics.unique_symbol_types_are_not_allowed_in_a_mapped_type);
|
||||
|
||||
// report a general error for any other invalid use site.
|
||||
default:
|
||||
return grammarErrorOnNode(node, Diagnostics.unique_symbol_types_are_not_allowed_here);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -425,8 +425,6 @@ namespace ts {
|
||||
case SyntaxKind.ThisType:
|
||||
case SyntaxKind.LiteralType:
|
||||
return writeTextOfNode(currentText, type);
|
||||
case SyntaxKind.ESSymbolType:
|
||||
return write("symbol()");
|
||||
case SyntaxKind.ExpressionWithTypeArguments:
|
||||
return emitExpressionWithTypeArguments(<ExpressionWithTypeArguments>type);
|
||||
case SyntaxKind.TypeReference:
|
||||
|
||||
@@ -491,23 +491,23 @@
|
||||
"category": "Error",
|
||||
"code": 1164
|
||||
},
|
||||
"A computed property name in an ambient context must refer to an expression whose type is a literal type or a unique 'symbol()' type.": {
|
||||
"A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type.": {
|
||||
"category": "Error",
|
||||
"code": 1165
|
||||
},
|
||||
"A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.": {
|
||||
"A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.": {
|
||||
"category": "Error",
|
||||
"code": 1166
|
||||
},
|
||||
"A computed property name in a method overload must refer to an expression whose type is a literal type or a unique 'symbol()' type.": {
|
||||
"A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type.": {
|
||||
"category": "Error",
|
||||
"code": 1168
|
||||
},
|
||||
"A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.": {
|
||||
"A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.": {
|
||||
"category": "Error",
|
||||
"code": 1169
|
||||
},
|
||||
"A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.": {
|
||||
"A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.": {
|
||||
"category": "Error",
|
||||
"code": 1170
|
||||
},
|
||||
@@ -907,47 +907,47 @@
|
||||
"category": "Error",
|
||||
"code": 1328
|
||||
},
|
||||
"Unique 'symbol()' types are not allowed in a union type.": {
|
||||
"'unique symbol' types are not allowed in a union type.": {
|
||||
"category": "Error",
|
||||
"code": 1329
|
||||
},
|
||||
"Unique 'symbol()' types are not allowed in an intersection type.": {
|
||||
"'unique symbol' types are not allowed in an intersection type.": {
|
||||
"category": "Error",
|
||||
"code": 1330
|
||||
},
|
||||
"Unique 'symbol()' types are not allowed in an array type.": {
|
||||
"'unique symbol' types are not allowed in an array type.": {
|
||||
"category": "Error",
|
||||
"code": 1331
|
||||
},
|
||||
"Unique 'symbol()' types are not allowed in a tuple type.": {
|
||||
"'unique symbol' types are not allowed in a tuple type.": {
|
||||
"category": "Error",
|
||||
"code": 1332
|
||||
},
|
||||
"Unique 'symbol()' types are not allowed in a mapped type.": {
|
||||
"'unique symbol' types are not allowed in a mapped type.": {
|
||||
"category": "Error",
|
||||
"code": 1333
|
||||
},
|
||||
"A property of an interface or type literal whose type is a unique 'symbol()' type must be 'readonly'.": {
|
||||
"A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.": {
|
||||
"category": "Error",
|
||||
"code": 1334
|
||||
},
|
||||
"A property of a class whose type is a unique 'symbol()' type must be both 'static' and 'readonly'.": {
|
||||
"A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.": {
|
||||
"category": "Error",
|
||||
"code": 1335
|
||||
},
|
||||
"A variable whose type is a unique 'symbol()' type must be 'const'.": {
|
||||
"A variable whose type is a 'unique symbol' type must be 'const'.": {
|
||||
"category": "Error",
|
||||
"code": 1336
|
||||
},
|
||||
"Unique 'symbol()' types may not be used on a variable declaration with a binding name.": {
|
||||
"'unique symbol' types may not be used on a variable declaration with a binding name.": {
|
||||
"category": "Error",
|
||||
"code": 1337
|
||||
},
|
||||
"Unique 'symbol()' types are only allowed on variables in a variable statement.": {
|
||||
"'unique symbol' types are only allowed on variables in a variable statement.": {
|
||||
"category": "Error",
|
||||
"code": 1338
|
||||
},
|
||||
"Unique 'symbol()' types are not allowed here.": {
|
||||
"'unique symbol' types are not allowed here.": {
|
||||
"category": "Error",
|
||||
"code": 1339
|
||||
},
|
||||
|
||||
@@ -574,8 +574,6 @@ namespace ts {
|
||||
return emitMappedType(<MappedTypeNode>node);
|
||||
case SyntaxKind.LiteralType:
|
||||
return emitLiteralType(<LiteralTypeNode>node);
|
||||
case SyntaxKind.ESSymbolType:
|
||||
return write("symbol()");
|
||||
|
||||
// Binding patterns
|
||||
case SyntaxKind.ObjectBindingPattern:
|
||||
|
||||
@@ -730,15 +730,17 @@ namespace ts {
|
||||
return <ThisTypeNode>createSynthesizedNode(SyntaxKind.ThisType);
|
||||
}
|
||||
|
||||
export function createTypeOperatorNode(type: TypeNode) {
|
||||
export function createTypeOperatorNode(type: TypeNode): TypeOperatorNode;
|
||||
export function createTypeOperatorNode(operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword, type: TypeNode): TypeOperatorNode;
|
||||
export function createTypeOperatorNode(operatorOrType: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword | TypeNode, type?: TypeNode) {
|
||||
const node = createSynthesizedNode(SyntaxKind.TypeOperator) as TypeOperatorNode;
|
||||
node.operator = SyntaxKind.KeyOfKeyword;
|
||||
node.type = parenthesizeElementTypeMember(type);
|
||||
node.operator = typeof operatorOrType === "number" ? operatorOrType : SyntaxKind.KeyOfKeyword;
|
||||
node.type = parenthesizeElementTypeMember(typeof operatorOrType === "number" ? type : operatorOrType);
|
||||
return node;
|
||||
}
|
||||
|
||||
export function updateTypeOperatorNode(node: TypeOperatorNode, type: TypeNode) {
|
||||
return node.type !== type ? updateNode(createTypeOperatorNode(type), node) : node;
|
||||
return node.type !== type ? updateNode(createTypeOperatorNode(node.operator, type), node) : node;
|
||||
}
|
||||
|
||||
export function createIndexedAccessTypeNode(objectType: TypeNode, indexType: TypeNode) {
|
||||
@@ -785,10 +787,6 @@ namespace ts {
|
||||
: node;
|
||||
}
|
||||
|
||||
export function createESSymbolTypeNode() {
|
||||
return <ESSymbolTypeNode>createSynthesizedNode(SyntaxKind.ESSymbolType);
|
||||
}
|
||||
|
||||
// Binding Patterns
|
||||
|
||||
export function createObjectBindingPattern(elements: ReadonlyArray<BindingElement>) {
|
||||
|
||||
+8
-19
@@ -2609,19 +2609,6 @@ namespace ts {
|
||||
return token() === SyntaxKind.DotToken ? undefined : node;
|
||||
}
|
||||
|
||||
function parseSymbolType(): TypeNode | undefined {
|
||||
const fullStart = scanner.getStartPos();
|
||||
parseExpected(SyntaxKind.SymbolKeyword);
|
||||
if (token() === SyntaxKind.DotToken) return undefined;
|
||||
if (parseOptional(SyntaxKind.OpenParenToken)) {
|
||||
parseExpected(SyntaxKind.CloseParenToken);
|
||||
return finishNode(<ESSymbolTypeNode>createNode(SyntaxKind.ESSymbolType, fullStart));
|
||||
}
|
||||
else {
|
||||
return finishNode(<TypeNode>createNode(SyntaxKind.SymbolKeyword, fullStart));
|
||||
}
|
||||
}
|
||||
|
||||
function parseLiteralTypeNode(negative?: boolean): LiteralTypeNode {
|
||||
const node = createNode(SyntaxKind.LiteralType) as LiteralTypeNode;
|
||||
let unaryMinusExpression: PrefixUnaryExpression;
|
||||
@@ -2655,10 +2642,9 @@ namespace ts {
|
||||
case SyntaxKind.UndefinedKeyword:
|
||||
case SyntaxKind.NeverKeyword:
|
||||
case SyntaxKind.ObjectKeyword:
|
||||
// If these are followed by a dot, then parse these out as a dotted type reference instead.
|
||||
return tryParse(parseKeywordAndNoDot) || parseTypeReference();
|
||||
case SyntaxKind.SymbolKeyword:
|
||||
return tryParse(parseSymbolType) || parseTypeReference();
|
||||
// If these are followed by a dot, then parse these out as a dotted type reference instead.
|
||||
return tryParse(parseKeywordAndNoDot) || parseTypeReference();
|
||||
case SyntaxKind.AsteriskToken:
|
||||
return parseJSDocAllType();
|
||||
case SyntaxKind.QuestionToken:
|
||||
@@ -2709,6 +2695,7 @@ namespace ts {
|
||||
case SyntaxKind.NumberKeyword:
|
||||
case SyntaxKind.BooleanKeyword:
|
||||
case SyntaxKind.SymbolKeyword:
|
||||
case SyntaxKind.UniqueKeyword:
|
||||
case SyntaxKind.VoidKeyword:
|
||||
case SyntaxKind.UndefinedKeyword:
|
||||
case SyntaxKind.NullKeyword:
|
||||
@@ -2794,7 +2781,7 @@ namespace ts {
|
||||
return finishNode(postfix);
|
||||
}
|
||||
|
||||
function parseTypeOperator(operator: SyntaxKind.KeyOfKeyword) {
|
||||
function parseTypeOperator(operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword) {
|
||||
const node = <TypeOperatorNode>createNode(SyntaxKind.TypeOperator);
|
||||
parseExpected(operator);
|
||||
node.operator = operator;
|
||||
@@ -2803,9 +2790,11 @@ namespace ts {
|
||||
}
|
||||
|
||||
function parseTypeOperatorOrHigher(): TypeNode {
|
||||
switch (token()) {
|
||||
const operator = token();
|
||||
switch (operator) {
|
||||
case SyntaxKind.KeyOfKeyword:
|
||||
return parseTypeOperator(SyntaxKind.KeyOfKeyword);
|
||||
case SyntaxKind.UniqueKeyword:
|
||||
return parseTypeOperator(operator);
|
||||
}
|
||||
return parsePostfixTypeOrHigher();
|
||||
}
|
||||
|
||||
@@ -122,6 +122,7 @@ namespace ts {
|
||||
"type": SyntaxKind.TypeKeyword,
|
||||
"typeof": SyntaxKind.TypeOfKeyword,
|
||||
"undefined": SyntaxKind.UndefinedKeyword,
|
||||
"unique": SyntaxKind.UniqueKeyword,
|
||||
"var": SyntaxKind.VarKeyword,
|
||||
"void": SyntaxKind.VoidKeyword,
|
||||
"while": SyntaxKind.WhileKeyword,
|
||||
|
||||
@@ -199,6 +199,7 @@ namespace ts {
|
||||
SymbolKeyword,
|
||||
TypeKeyword,
|
||||
UndefinedKeyword,
|
||||
UniqueKeyword,
|
||||
FromKeyword,
|
||||
GlobalKeyword,
|
||||
OfKeyword, // LastKeyword and LastToken
|
||||
@@ -240,7 +241,6 @@ namespace ts {
|
||||
IndexedAccessType,
|
||||
MappedType,
|
||||
LiteralType,
|
||||
ESSymbolType,
|
||||
// Binding patterns
|
||||
ObjectBindingPattern,
|
||||
ArrayBindingPattern,
|
||||
@@ -399,7 +399,7 @@ namespace ts {
|
||||
FirstFutureReservedWord = ImplementsKeyword,
|
||||
LastFutureReservedWord = YieldKeyword,
|
||||
FirstTypeNode = TypePredicate,
|
||||
LastTypeNode = ESSymbolType,
|
||||
LastTypeNode = LiteralType,
|
||||
FirstPunctuation = OpenBraceToken,
|
||||
LastPunctuation = CaretEqualsToken,
|
||||
FirstToken = Unknown,
|
||||
@@ -1030,7 +1030,7 @@ namespace ts {
|
||||
|
||||
export interface TypeOperatorNode extends TypeNode {
|
||||
kind: SyntaxKind.TypeOperator;
|
||||
operator: SyntaxKind.KeyOfKeyword;
|
||||
operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword;
|
||||
type: TypeNode;
|
||||
}
|
||||
|
||||
@@ -1053,11 +1053,6 @@ namespace ts {
|
||||
literal: BooleanLiteral | LiteralExpression | PrefixUnaryExpression;
|
||||
}
|
||||
|
||||
// Represents a unique `symbol()` type
|
||||
export interface ESSymbolTypeNode extends TypeNode {
|
||||
kind: SyntaxKind.ESSymbolType;
|
||||
}
|
||||
|
||||
export interface StringLiteral extends LiteralExpression {
|
||||
kind: SyntaxKind.StringLiteral;
|
||||
/* @internal */ textSourceNode?: Identifier | StringLiteral | NumericLiteral; // Allows a StringLiteral to get its text from another node (used by transforms).
|
||||
@@ -3209,7 +3204,7 @@ namespace ts {
|
||||
BooleanLiteral = 1 << 7,
|
||||
EnumLiteral = 1 << 8, // Always combined with StringLiteral, NumberLiteral, or Union
|
||||
ESSymbol = 1 << 9, // Type of symbol primitive introduced in ES6
|
||||
UniqueESSymbol = 1 << 10, // symbol()
|
||||
UniqueESSymbol = 1 << 10, // unique symbol
|
||||
Void = 1 << 11,
|
||||
Undefined = 1 << 12,
|
||||
Null = 1 << 13,
|
||||
|
||||
+167
-166
@@ -200,160 +200,161 @@ declare namespace ts {
|
||||
SymbolKeyword = 137,
|
||||
TypeKeyword = 138,
|
||||
UndefinedKeyword = 139,
|
||||
FromKeyword = 140,
|
||||
GlobalKeyword = 141,
|
||||
OfKeyword = 142,
|
||||
QualifiedName = 143,
|
||||
ComputedPropertyName = 144,
|
||||
TypeParameter = 145,
|
||||
Parameter = 146,
|
||||
Decorator = 147,
|
||||
PropertySignature = 148,
|
||||
PropertyDeclaration = 149,
|
||||
MethodSignature = 150,
|
||||
MethodDeclaration = 151,
|
||||
Constructor = 152,
|
||||
GetAccessor = 153,
|
||||
SetAccessor = 154,
|
||||
CallSignature = 155,
|
||||
ConstructSignature = 156,
|
||||
IndexSignature = 157,
|
||||
TypePredicate = 158,
|
||||
TypeReference = 159,
|
||||
FunctionType = 160,
|
||||
ConstructorType = 161,
|
||||
TypeQuery = 162,
|
||||
TypeLiteral = 163,
|
||||
ArrayType = 164,
|
||||
TupleType = 165,
|
||||
UnionType = 166,
|
||||
IntersectionType = 167,
|
||||
ParenthesizedType = 168,
|
||||
ThisType = 169,
|
||||
TypeOperator = 170,
|
||||
IndexedAccessType = 171,
|
||||
MappedType = 172,
|
||||
LiteralType = 173,
|
||||
ESSymbolType = 174,
|
||||
ObjectBindingPattern = 175,
|
||||
ArrayBindingPattern = 176,
|
||||
BindingElement = 177,
|
||||
ArrayLiteralExpression = 178,
|
||||
ObjectLiteralExpression = 179,
|
||||
PropertyAccessExpression = 180,
|
||||
ElementAccessExpression = 181,
|
||||
CallExpression = 182,
|
||||
NewExpression = 183,
|
||||
TaggedTemplateExpression = 184,
|
||||
TypeAssertionExpression = 185,
|
||||
ParenthesizedExpression = 186,
|
||||
FunctionExpression = 187,
|
||||
ArrowFunction = 188,
|
||||
DeleteExpression = 189,
|
||||
TypeOfExpression = 190,
|
||||
VoidExpression = 191,
|
||||
AwaitExpression = 192,
|
||||
PrefixUnaryExpression = 193,
|
||||
PostfixUnaryExpression = 194,
|
||||
BinaryExpression = 195,
|
||||
ConditionalExpression = 196,
|
||||
TemplateExpression = 197,
|
||||
YieldExpression = 198,
|
||||
SpreadElement = 199,
|
||||
ClassExpression = 200,
|
||||
OmittedExpression = 201,
|
||||
ExpressionWithTypeArguments = 202,
|
||||
AsExpression = 203,
|
||||
NonNullExpression = 204,
|
||||
MetaProperty = 205,
|
||||
TemplateSpan = 206,
|
||||
SemicolonClassElement = 207,
|
||||
Block = 208,
|
||||
VariableStatement = 209,
|
||||
EmptyStatement = 210,
|
||||
ExpressionStatement = 211,
|
||||
IfStatement = 212,
|
||||
DoStatement = 213,
|
||||
WhileStatement = 214,
|
||||
ForStatement = 215,
|
||||
ForInStatement = 216,
|
||||
ForOfStatement = 217,
|
||||
ContinueStatement = 218,
|
||||
BreakStatement = 219,
|
||||
ReturnStatement = 220,
|
||||
WithStatement = 221,
|
||||
SwitchStatement = 222,
|
||||
LabeledStatement = 223,
|
||||
ThrowStatement = 224,
|
||||
TryStatement = 225,
|
||||
DebuggerStatement = 226,
|
||||
VariableDeclaration = 227,
|
||||
VariableDeclarationList = 228,
|
||||
FunctionDeclaration = 229,
|
||||
ClassDeclaration = 230,
|
||||
InterfaceDeclaration = 231,
|
||||
TypeAliasDeclaration = 232,
|
||||
EnumDeclaration = 233,
|
||||
ModuleDeclaration = 234,
|
||||
ModuleBlock = 235,
|
||||
CaseBlock = 236,
|
||||
NamespaceExportDeclaration = 237,
|
||||
ImportEqualsDeclaration = 238,
|
||||
ImportDeclaration = 239,
|
||||
ImportClause = 240,
|
||||
NamespaceImport = 241,
|
||||
NamedImports = 242,
|
||||
ImportSpecifier = 243,
|
||||
ExportAssignment = 244,
|
||||
ExportDeclaration = 245,
|
||||
NamedExports = 246,
|
||||
ExportSpecifier = 247,
|
||||
MissingDeclaration = 248,
|
||||
ExternalModuleReference = 249,
|
||||
JsxElement = 250,
|
||||
JsxSelfClosingElement = 251,
|
||||
JsxOpeningElement = 252,
|
||||
JsxClosingElement = 253,
|
||||
JsxAttribute = 254,
|
||||
JsxAttributes = 255,
|
||||
JsxSpreadAttribute = 256,
|
||||
JsxExpression = 257,
|
||||
CaseClause = 258,
|
||||
DefaultClause = 259,
|
||||
HeritageClause = 260,
|
||||
CatchClause = 261,
|
||||
PropertyAssignment = 262,
|
||||
ShorthandPropertyAssignment = 263,
|
||||
SpreadAssignment = 264,
|
||||
EnumMember = 265,
|
||||
SourceFile = 266,
|
||||
Bundle = 267,
|
||||
JSDocTypeExpression = 268,
|
||||
JSDocAllType = 269,
|
||||
JSDocUnknownType = 270,
|
||||
JSDocNullableType = 271,
|
||||
JSDocNonNullableType = 272,
|
||||
JSDocOptionalType = 273,
|
||||
JSDocFunctionType = 274,
|
||||
JSDocVariadicType = 275,
|
||||
JSDocComment = 276,
|
||||
JSDocTag = 277,
|
||||
JSDocAugmentsTag = 278,
|
||||
JSDocClassTag = 279,
|
||||
JSDocParameterTag = 280,
|
||||
JSDocReturnTag = 281,
|
||||
JSDocTypeTag = 282,
|
||||
JSDocTemplateTag = 283,
|
||||
JSDocTypedefTag = 284,
|
||||
JSDocPropertyTag = 285,
|
||||
JSDocTypeLiteral = 286,
|
||||
SyntaxList = 287,
|
||||
NotEmittedStatement = 288,
|
||||
PartiallyEmittedExpression = 289,
|
||||
CommaListExpression = 290,
|
||||
MergeDeclarationMarker = 291,
|
||||
EndOfDeclarationMarker = 292,
|
||||
Count = 293,
|
||||
UniqueKeyword = 140,
|
||||
FromKeyword = 141,
|
||||
GlobalKeyword = 142,
|
||||
OfKeyword = 143,
|
||||
QualifiedName = 144,
|
||||
ComputedPropertyName = 145,
|
||||
TypeParameter = 146,
|
||||
Parameter = 147,
|
||||
Decorator = 148,
|
||||
PropertySignature = 149,
|
||||
PropertyDeclaration = 150,
|
||||
MethodSignature = 151,
|
||||
MethodDeclaration = 152,
|
||||
Constructor = 153,
|
||||
GetAccessor = 154,
|
||||
SetAccessor = 155,
|
||||
CallSignature = 156,
|
||||
ConstructSignature = 157,
|
||||
IndexSignature = 158,
|
||||
TypePredicate = 159,
|
||||
TypeReference = 160,
|
||||
FunctionType = 161,
|
||||
ConstructorType = 162,
|
||||
TypeQuery = 163,
|
||||
TypeLiteral = 164,
|
||||
ArrayType = 165,
|
||||
TupleType = 166,
|
||||
UnionType = 167,
|
||||
IntersectionType = 168,
|
||||
ParenthesizedType = 169,
|
||||
ThisType = 170,
|
||||
TypeOperator = 171,
|
||||
IndexedAccessType = 172,
|
||||
MappedType = 173,
|
||||
LiteralType = 174,
|
||||
UniqueESSymbolType = 175,
|
||||
ObjectBindingPattern = 176,
|
||||
ArrayBindingPattern = 177,
|
||||
BindingElement = 178,
|
||||
ArrayLiteralExpression = 179,
|
||||
ObjectLiteralExpression = 180,
|
||||
PropertyAccessExpression = 181,
|
||||
ElementAccessExpression = 182,
|
||||
CallExpression = 183,
|
||||
NewExpression = 184,
|
||||
TaggedTemplateExpression = 185,
|
||||
TypeAssertionExpression = 186,
|
||||
ParenthesizedExpression = 187,
|
||||
FunctionExpression = 188,
|
||||
ArrowFunction = 189,
|
||||
DeleteExpression = 190,
|
||||
TypeOfExpression = 191,
|
||||
VoidExpression = 192,
|
||||
AwaitExpression = 193,
|
||||
PrefixUnaryExpression = 194,
|
||||
PostfixUnaryExpression = 195,
|
||||
BinaryExpression = 196,
|
||||
ConditionalExpression = 197,
|
||||
TemplateExpression = 198,
|
||||
YieldExpression = 199,
|
||||
SpreadElement = 200,
|
||||
ClassExpression = 201,
|
||||
OmittedExpression = 202,
|
||||
ExpressionWithTypeArguments = 203,
|
||||
AsExpression = 204,
|
||||
NonNullExpression = 205,
|
||||
MetaProperty = 206,
|
||||
TemplateSpan = 207,
|
||||
SemicolonClassElement = 208,
|
||||
Block = 209,
|
||||
VariableStatement = 210,
|
||||
EmptyStatement = 211,
|
||||
ExpressionStatement = 212,
|
||||
IfStatement = 213,
|
||||
DoStatement = 214,
|
||||
WhileStatement = 215,
|
||||
ForStatement = 216,
|
||||
ForInStatement = 217,
|
||||
ForOfStatement = 218,
|
||||
ContinueStatement = 219,
|
||||
BreakStatement = 220,
|
||||
ReturnStatement = 221,
|
||||
WithStatement = 222,
|
||||
SwitchStatement = 223,
|
||||
LabeledStatement = 224,
|
||||
ThrowStatement = 225,
|
||||
TryStatement = 226,
|
||||
DebuggerStatement = 227,
|
||||
VariableDeclaration = 228,
|
||||
VariableDeclarationList = 229,
|
||||
FunctionDeclaration = 230,
|
||||
ClassDeclaration = 231,
|
||||
InterfaceDeclaration = 232,
|
||||
TypeAliasDeclaration = 233,
|
||||
EnumDeclaration = 234,
|
||||
ModuleDeclaration = 235,
|
||||
ModuleBlock = 236,
|
||||
CaseBlock = 237,
|
||||
NamespaceExportDeclaration = 238,
|
||||
ImportEqualsDeclaration = 239,
|
||||
ImportDeclaration = 240,
|
||||
ImportClause = 241,
|
||||
NamespaceImport = 242,
|
||||
NamedImports = 243,
|
||||
ImportSpecifier = 244,
|
||||
ExportAssignment = 245,
|
||||
ExportDeclaration = 246,
|
||||
NamedExports = 247,
|
||||
ExportSpecifier = 248,
|
||||
MissingDeclaration = 249,
|
||||
ExternalModuleReference = 250,
|
||||
JsxElement = 251,
|
||||
JsxSelfClosingElement = 252,
|
||||
JsxOpeningElement = 253,
|
||||
JsxClosingElement = 254,
|
||||
JsxAttribute = 255,
|
||||
JsxAttributes = 256,
|
||||
JsxSpreadAttribute = 257,
|
||||
JsxExpression = 258,
|
||||
CaseClause = 259,
|
||||
DefaultClause = 260,
|
||||
HeritageClause = 261,
|
||||
CatchClause = 262,
|
||||
PropertyAssignment = 263,
|
||||
ShorthandPropertyAssignment = 264,
|
||||
SpreadAssignment = 265,
|
||||
EnumMember = 266,
|
||||
SourceFile = 267,
|
||||
Bundle = 268,
|
||||
JSDocTypeExpression = 269,
|
||||
JSDocAllType = 270,
|
||||
JSDocUnknownType = 271,
|
||||
JSDocNullableType = 272,
|
||||
JSDocNonNullableType = 273,
|
||||
JSDocOptionalType = 274,
|
||||
JSDocFunctionType = 275,
|
||||
JSDocVariadicType = 276,
|
||||
JSDocComment = 277,
|
||||
JSDocTag = 278,
|
||||
JSDocAugmentsTag = 279,
|
||||
JSDocClassTag = 280,
|
||||
JSDocParameterTag = 281,
|
||||
JSDocReturnTag = 282,
|
||||
JSDocTypeTag = 283,
|
||||
JSDocTemplateTag = 284,
|
||||
JSDocTypedefTag = 285,
|
||||
JSDocPropertyTag = 286,
|
||||
JSDocTypeLiteral = 287,
|
||||
SyntaxList = 288,
|
||||
NotEmittedStatement = 289,
|
||||
PartiallyEmittedExpression = 290,
|
||||
CommaListExpression = 291,
|
||||
MergeDeclarationMarker = 292,
|
||||
EndOfDeclarationMarker = 293,
|
||||
Count = 294,
|
||||
FirstAssignment = 58,
|
||||
LastAssignment = 70,
|
||||
FirstCompoundAssignment = 59,
|
||||
@@ -361,15 +362,15 @@ declare namespace ts {
|
||||
FirstReservedWord = 72,
|
||||
LastReservedWord = 107,
|
||||
FirstKeyword = 72,
|
||||
LastKeyword = 142,
|
||||
LastKeyword = 143,
|
||||
FirstFutureReservedWord = 108,
|
||||
LastFutureReservedWord = 116,
|
||||
FirstTypeNode = 158,
|
||||
LastTypeNode = 174,
|
||||
FirstTypeNode = 159,
|
||||
LastTypeNode = 175,
|
||||
FirstPunctuation = 17,
|
||||
LastPunctuation = 70,
|
||||
FirstToken = 0,
|
||||
LastToken = 142,
|
||||
LastToken = 143,
|
||||
FirstTriviaToken = 2,
|
||||
LastTriviaToken = 7,
|
||||
FirstLiteralToken = 8,
|
||||
@@ -378,11 +379,11 @@ declare namespace ts {
|
||||
LastTemplateToken = 16,
|
||||
FirstBinaryOperator = 27,
|
||||
LastBinaryOperator = 70,
|
||||
FirstNode = 143,
|
||||
FirstJSDocNode = 268,
|
||||
LastJSDocNode = 286,
|
||||
FirstJSDocTagNode = 277,
|
||||
LastJSDocTagNode = 286,
|
||||
FirstNode = 144,
|
||||
FirstJSDocNode = 269,
|
||||
LastJSDocNode = 287,
|
||||
FirstJSDocTagNode = 278,
|
||||
LastJSDocTagNode = 287,
|
||||
}
|
||||
enum NodeFlags {
|
||||
None = 0,
|
||||
@@ -756,8 +757,8 @@ declare namespace ts {
|
||||
kind: SyntaxKind.LiteralType;
|
||||
literal: BooleanLiteral | LiteralExpression | PrefixUnaryExpression;
|
||||
}
|
||||
interface ESSymbolTypeNode extends TypeNode {
|
||||
kind: SyntaxKind.ESSymbolType;
|
||||
interface UniqueESSymbolTypeNode extends TypeNode {
|
||||
kind: SyntaxKind.UniqueESSymbolType;
|
||||
}
|
||||
interface StringLiteral extends LiteralExpression {
|
||||
kind: SyntaxKind.StringLiteral;
|
||||
@@ -3336,7 +3337,7 @@ declare namespace ts {
|
||||
function updateMappedTypeNode(node: MappedTypeNode, readonlyToken: ReadonlyToken | undefined, typeParameter: TypeParameterDeclaration, questionToken: QuestionToken | undefined, type: TypeNode | undefined): MappedTypeNode;
|
||||
function createLiteralTypeNode(literal: LiteralTypeNode["literal"]): LiteralTypeNode;
|
||||
function updateLiteralTypeNode(node: LiteralTypeNode, literal: LiteralTypeNode["literal"]): LiteralTypeNode;
|
||||
function createESSymbolTypeNode(): ESSymbolTypeNode;
|
||||
function createUniqueESSymbolTypeNode(): UniqueESSymbolTypeNode;
|
||||
function createObjectBindingPattern(elements: ReadonlyArray<BindingElement>): ObjectBindingPattern;
|
||||
function updateObjectBindingPattern(node: ObjectBindingPattern, elements: ReadonlyArray<BindingElement>): ObjectBindingPattern;
|
||||
function createArrayBindingPattern(elements: ReadonlyArray<ArrayBindingElement>): ArrayBindingPattern;
|
||||
|
||||
+167
-166
@@ -200,160 +200,161 @@ declare namespace ts {
|
||||
SymbolKeyword = 137,
|
||||
TypeKeyword = 138,
|
||||
UndefinedKeyword = 139,
|
||||
FromKeyword = 140,
|
||||
GlobalKeyword = 141,
|
||||
OfKeyword = 142,
|
||||
QualifiedName = 143,
|
||||
ComputedPropertyName = 144,
|
||||
TypeParameter = 145,
|
||||
Parameter = 146,
|
||||
Decorator = 147,
|
||||
PropertySignature = 148,
|
||||
PropertyDeclaration = 149,
|
||||
MethodSignature = 150,
|
||||
MethodDeclaration = 151,
|
||||
Constructor = 152,
|
||||
GetAccessor = 153,
|
||||
SetAccessor = 154,
|
||||
CallSignature = 155,
|
||||
ConstructSignature = 156,
|
||||
IndexSignature = 157,
|
||||
TypePredicate = 158,
|
||||
TypeReference = 159,
|
||||
FunctionType = 160,
|
||||
ConstructorType = 161,
|
||||
TypeQuery = 162,
|
||||
TypeLiteral = 163,
|
||||
ArrayType = 164,
|
||||
TupleType = 165,
|
||||
UnionType = 166,
|
||||
IntersectionType = 167,
|
||||
ParenthesizedType = 168,
|
||||
ThisType = 169,
|
||||
TypeOperator = 170,
|
||||
IndexedAccessType = 171,
|
||||
MappedType = 172,
|
||||
LiteralType = 173,
|
||||
ESSymbolType = 174,
|
||||
ObjectBindingPattern = 175,
|
||||
ArrayBindingPattern = 176,
|
||||
BindingElement = 177,
|
||||
ArrayLiteralExpression = 178,
|
||||
ObjectLiteralExpression = 179,
|
||||
PropertyAccessExpression = 180,
|
||||
ElementAccessExpression = 181,
|
||||
CallExpression = 182,
|
||||
NewExpression = 183,
|
||||
TaggedTemplateExpression = 184,
|
||||
TypeAssertionExpression = 185,
|
||||
ParenthesizedExpression = 186,
|
||||
FunctionExpression = 187,
|
||||
ArrowFunction = 188,
|
||||
DeleteExpression = 189,
|
||||
TypeOfExpression = 190,
|
||||
VoidExpression = 191,
|
||||
AwaitExpression = 192,
|
||||
PrefixUnaryExpression = 193,
|
||||
PostfixUnaryExpression = 194,
|
||||
BinaryExpression = 195,
|
||||
ConditionalExpression = 196,
|
||||
TemplateExpression = 197,
|
||||
YieldExpression = 198,
|
||||
SpreadElement = 199,
|
||||
ClassExpression = 200,
|
||||
OmittedExpression = 201,
|
||||
ExpressionWithTypeArguments = 202,
|
||||
AsExpression = 203,
|
||||
NonNullExpression = 204,
|
||||
MetaProperty = 205,
|
||||
TemplateSpan = 206,
|
||||
SemicolonClassElement = 207,
|
||||
Block = 208,
|
||||
VariableStatement = 209,
|
||||
EmptyStatement = 210,
|
||||
ExpressionStatement = 211,
|
||||
IfStatement = 212,
|
||||
DoStatement = 213,
|
||||
WhileStatement = 214,
|
||||
ForStatement = 215,
|
||||
ForInStatement = 216,
|
||||
ForOfStatement = 217,
|
||||
ContinueStatement = 218,
|
||||
BreakStatement = 219,
|
||||
ReturnStatement = 220,
|
||||
WithStatement = 221,
|
||||
SwitchStatement = 222,
|
||||
LabeledStatement = 223,
|
||||
ThrowStatement = 224,
|
||||
TryStatement = 225,
|
||||
DebuggerStatement = 226,
|
||||
VariableDeclaration = 227,
|
||||
VariableDeclarationList = 228,
|
||||
FunctionDeclaration = 229,
|
||||
ClassDeclaration = 230,
|
||||
InterfaceDeclaration = 231,
|
||||
TypeAliasDeclaration = 232,
|
||||
EnumDeclaration = 233,
|
||||
ModuleDeclaration = 234,
|
||||
ModuleBlock = 235,
|
||||
CaseBlock = 236,
|
||||
NamespaceExportDeclaration = 237,
|
||||
ImportEqualsDeclaration = 238,
|
||||
ImportDeclaration = 239,
|
||||
ImportClause = 240,
|
||||
NamespaceImport = 241,
|
||||
NamedImports = 242,
|
||||
ImportSpecifier = 243,
|
||||
ExportAssignment = 244,
|
||||
ExportDeclaration = 245,
|
||||
NamedExports = 246,
|
||||
ExportSpecifier = 247,
|
||||
MissingDeclaration = 248,
|
||||
ExternalModuleReference = 249,
|
||||
JsxElement = 250,
|
||||
JsxSelfClosingElement = 251,
|
||||
JsxOpeningElement = 252,
|
||||
JsxClosingElement = 253,
|
||||
JsxAttribute = 254,
|
||||
JsxAttributes = 255,
|
||||
JsxSpreadAttribute = 256,
|
||||
JsxExpression = 257,
|
||||
CaseClause = 258,
|
||||
DefaultClause = 259,
|
||||
HeritageClause = 260,
|
||||
CatchClause = 261,
|
||||
PropertyAssignment = 262,
|
||||
ShorthandPropertyAssignment = 263,
|
||||
SpreadAssignment = 264,
|
||||
EnumMember = 265,
|
||||
SourceFile = 266,
|
||||
Bundle = 267,
|
||||
JSDocTypeExpression = 268,
|
||||
JSDocAllType = 269,
|
||||
JSDocUnknownType = 270,
|
||||
JSDocNullableType = 271,
|
||||
JSDocNonNullableType = 272,
|
||||
JSDocOptionalType = 273,
|
||||
JSDocFunctionType = 274,
|
||||
JSDocVariadicType = 275,
|
||||
JSDocComment = 276,
|
||||
JSDocTag = 277,
|
||||
JSDocAugmentsTag = 278,
|
||||
JSDocClassTag = 279,
|
||||
JSDocParameterTag = 280,
|
||||
JSDocReturnTag = 281,
|
||||
JSDocTypeTag = 282,
|
||||
JSDocTemplateTag = 283,
|
||||
JSDocTypedefTag = 284,
|
||||
JSDocPropertyTag = 285,
|
||||
JSDocTypeLiteral = 286,
|
||||
SyntaxList = 287,
|
||||
NotEmittedStatement = 288,
|
||||
PartiallyEmittedExpression = 289,
|
||||
CommaListExpression = 290,
|
||||
MergeDeclarationMarker = 291,
|
||||
EndOfDeclarationMarker = 292,
|
||||
Count = 293,
|
||||
UniqueKeyword = 140,
|
||||
FromKeyword = 141,
|
||||
GlobalKeyword = 142,
|
||||
OfKeyword = 143,
|
||||
QualifiedName = 144,
|
||||
ComputedPropertyName = 145,
|
||||
TypeParameter = 146,
|
||||
Parameter = 147,
|
||||
Decorator = 148,
|
||||
PropertySignature = 149,
|
||||
PropertyDeclaration = 150,
|
||||
MethodSignature = 151,
|
||||
MethodDeclaration = 152,
|
||||
Constructor = 153,
|
||||
GetAccessor = 154,
|
||||
SetAccessor = 155,
|
||||
CallSignature = 156,
|
||||
ConstructSignature = 157,
|
||||
IndexSignature = 158,
|
||||
TypePredicate = 159,
|
||||
TypeReference = 160,
|
||||
FunctionType = 161,
|
||||
ConstructorType = 162,
|
||||
TypeQuery = 163,
|
||||
TypeLiteral = 164,
|
||||
ArrayType = 165,
|
||||
TupleType = 166,
|
||||
UnionType = 167,
|
||||
IntersectionType = 168,
|
||||
ParenthesizedType = 169,
|
||||
ThisType = 170,
|
||||
TypeOperator = 171,
|
||||
IndexedAccessType = 172,
|
||||
MappedType = 173,
|
||||
LiteralType = 174,
|
||||
UniqueESSymbolType = 175,
|
||||
ObjectBindingPattern = 176,
|
||||
ArrayBindingPattern = 177,
|
||||
BindingElement = 178,
|
||||
ArrayLiteralExpression = 179,
|
||||
ObjectLiteralExpression = 180,
|
||||
PropertyAccessExpression = 181,
|
||||
ElementAccessExpression = 182,
|
||||
CallExpression = 183,
|
||||
NewExpression = 184,
|
||||
TaggedTemplateExpression = 185,
|
||||
TypeAssertionExpression = 186,
|
||||
ParenthesizedExpression = 187,
|
||||
FunctionExpression = 188,
|
||||
ArrowFunction = 189,
|
||||
DeleteExpression = 190,
|
||||
TypeOfExpression = 191,
|
||||
VoidExpression = 192,
|
||||
AwaitExpression = 193,
|
||||
PrefixUnaryExpression = 194,
|
||||
PostfixUnaryExpression = 195,
|
||||
BinaryExpression = 196,
|
||||
ConditionalExpression = 197,
|
||||
TemplateExpression = 198,
|
||||
YieldExpression = 199,
|
||||
SpreadElement = 200,
|
||||
ClassExpression = 201,
|
||||
OmittedExpression = 202,
|
||||
ExpressionWithTypeArguments = 203,
|
||||
AsExpression = 204,
|
||||
NonNullExpression = 205,
|
||||
MetaProperty = 206,
|
||||
TemplateSpan = 207,
|
||||
SemicolonClassElement = 208,
|
||||
Block = 209,
|
||||
VariableStatement = 210,
|
||||
EmptyStatement = 211,
|
||||
ExpressionStatement = 212,
|
||||
IfStatement = 213,
|
||||
DoStatement = 214,
|
||||
WhileStatement = 215,
|
||||
ForStatement = 216,
|
||||
ForInStatement = 217,
|
||||
ForOfStatement = 218,
|
||||
ContinueStatement = 219,
|
||||
BreakStatement = 220,
|
||||
ReturnStatement = 221,
|
||||
WithStatement = 222,
|
||||
SwitchStatement = 223,
|
||||
LabeledStatement = 224,
|
||||
ThrowStatement = 225,
|
||||
TryStatement = 226,
|
||||
DebuggerStatement = 227,
|
||||
VariableDeclaration = 228,
|
||||
VariableDeclarationList = 229,
|
||||
FunctionDeclaration = 230,
|
||||
ClassDeclaration = 231,
|
||||
InterfaceDeclaration = 232,
|
||||
TypeAliasDeclaration = 233,
|
||||
EnumDeclaration = 234,
|
||||
ModuleDeclaration = 235,
|
||||
ModuleBlock = 236,
|
||||
CaseBlock = 237,
|
||||
NamespaceExportDeclaration = 238,
|
||||
ImportEqualsDeclaration = 239,
|
||||
ImportDeclaration = 240,
|
||||
ImportClause = 241,
|
||||
NamespaceImport = 242,
|
||||
NamedImports = 243,
|
||||
ImportSpecifier = 244,
|
||||
ExportAssignment = 245,
|
||||
ExportDeclaration = 246,
|
||||
NamedExports = 247,
|
||||
ExportSpecifier = 248,
|
||||
MissingDeclaration = 249,
|
||||
ExternalModuleReference = 250,
|
||||
JsxElement = 251,
|
||||
JsxSelfClosingElement = 252,
|
||||
JsxOpeningElement = 253,
|
||||
JsxClosingElement = 254,
|
||||
JsxAttribute = 255,
|
||||
JsxAttributes = 256,
|
||||
JsxSpreadAttribute = 257,
|
||||
JsxExpression = 258,
|
||||
CaseClause = 259,
|
||||
DefaultClause = 260,
|
||||
HeritageClause = 261,
|
||||
CatchClause = 262,
|
||||
PropertyAssignment = 263,
|
||||
ShorthandPropertyAssignment = 264,
|
||||
SpreadAssignment = 265,
|
||||
EnumMember = 266,
|
||||
SourceFile = 267,
|
||||
Bundle = 268,
|
||||
JSDocTypeExpression = 269,
|
||||
JSDocAllType = 270,
|
||||
JSDocUnknownType = 271,
|
||||
JSDocNullableType = 272,
|
||||
JSDocNonNullableType = 273,
|
||||
JSDocOptionalType = 274,
|
||||
JSDocFunctionType = 275,
|
||||
JSDocVariadicType = 276,
|
||||
JSDocComment = 277,
|
||||
JSDocTag = 278,
|
||||
JSDocAugmentsTag = 279,
|
||||
JSDocClassTag = 280,
|
||||
JSDocParameterTag = 281,
|
||||
JSDocReturnTag = 282,
|
||||
JSDocTypeTag = 283,
|
||||
JSDocTemplateTag = 284,
|
||||
JSDocTypedefTag = 285,
|
||||
JSDocPropertyTag = 286,
|
||||
JSDocTypeLiteral = 287,
|
||||
SyntaxList = 288,
|
||||
NotEmittedStatement = 289,
|
||||
PartiallyEmittedExpression = 290,
|
||||
CommaListExpression = 291,
|
||||
MergeDeclarationMarker = 292,
|
||||
EndOfDeclarationMarker = 293,
|
||||
Count = 294,
|
||||
FirstAssignment = 58,
|
||||
LastAssignment = 70,
|
||||
FirstCompoundAssignment = 59,
|
||||
@@ -361,15 +362,15 @@ declare namespace ts {
|
||||
FirstReservedWord = 72,
|
||||
LastReservedWord = 107,
|
||||
FirstKeyword = 72,
|
||||
LastKeyword = 142,
|
||||
LastKeyword = 143,
|
||||
FirstFutureReservedWord = 108,
|
||||
LastFutureReservedWord = 116,
|
||||
FirstTypeNode = 158,
|
||||
LastTypeNode = 174,
|
||||
FirstTypeNode = 159,
|
||||
LastTypeNode = 175,
|
||||
FirstPunctuation = 17,
|
||||
LastPunctuation = 70,
|
||||
FirstToken = 0,
|
||||
LastToken = 142,
|
||||
LastToken = 143,
|
||||
FirstTriviaToken = 2,
|
||||
LastTriviaToken = 7,
|
||||
FirstLiteralToken = 8,
|
||||
@@ -378,11 +379,11 @@ declare namespace ts {
|
||||
LastTemplateToken = 16,
|
||||
FirstBinaryOperator = 27,
|
||||
LastBinaryOperator = 70,
|
||||
FirstNode = 143,
|
||||
FirstJSDocNode = 268,
|
||||
LastJSDocNode = 286,
|
||||
FirstJSDocTagNode = 277,
|
||||
LastJSDocTagNode = 286,
|
||||
FirstNode = 144,
|
||||
FirstJSDocNode = 269,
|
||||
LastJSDocNode = 287,
|
||||
FirstJSDocTagNode = 278,
|
||||
LastJSDocTagNode = 287,
|
||||
}
|
||||
enum NodeFlags {
|
||||
None = 0,
|
||||
@@ -756,8 +757,8 @@ declare namespace ts {
|
||||
kind: SyntaxKind.LiteralType;
|
||||
literal: BooleanLiteral | LiteralExpression | PrefixUnaryExpression;
|
||||
}
|
||||
interface ESSymbolTypeNode extends TypeNode {
|
||||
kind: SyntaxKind.ESSymbolType;
|
||||
interface UniqueESSymbolTypeNode extends TypeNode {
|
||||
kind: SyntaxKind.UniqueESSymbolType;
|
||||
}
|
||||
interface StringLiteral extends LiteralExpression {
|
||||
kind: SyntaxKind.StringLiteral;
|
||||
@@ -3283,7 +3284,7 @@ declare namespace ts {
|
||||
function updateMappedTypeNode(node: MappedTypeNode, readonlyToken: ReadonlyToken | undefined, typeParameter: TypeParameterDeclaration, questionToken: QuestionToken | undefined, type: TypeNode | undefined): MappedTypeNode;
|
||||
function createLiteralTypeNode(literal: LiteralTypeNode["literal"]): LiteralTypeNode;
|
||||
function updateLiteralTypeNode(node: LiteralTypeNode, literal: LiteralTypeNode["literal"]): LiteralTypeNode;
|
||||
function createESSymbolTypeNode(): ESSymbolTypeNode;
|
||||
function createUniqueESSymbolTypeNode(): UniqueESSymbolTypeNode;
|
||||
function createObjectBindingPattern(elements: ReadonlyArray<BindingElement>): ObjectBindingPattern;
|
||||
function updateObjectBindingPattern(node: ObjectBindingPattern, elements: ReadonlyArray<BindingElement>): ObjectBindingPattern;
|
||||
function createArrayBindingPattern(elements: ReadonlyArray<ArrayBindingElement>): ArrayBindingPattern;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
tests/cases/compiler/capturedParametersInInitializers2.ts(1,36): error TS2373: Initializer of parameter 'y' cannot reference identifier 'x' declared after it.
|
||||
tests/cases/compiler/capturedParametersInInitializers2.ts(4,26): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/compiler/capturedParametersInInitializers2.ts(4,26): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
|
||||
|
||||
==== tests/cases/compiler/capturedParametersInInitializers2.ts (2 errors) ====
|
||||
@@ -10,5 +10,5 @@ tests/cases/compiler/capturedParametersInInitializers2.ts(4,26): error TS1166: A
|
||||
}
|
||||
function foo2(y = class {[x] = x}, x = 1) {
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
tests/cases/compiler/complicatedPrivacy.ts(11,24): error TS1054: A 'get' accessor cannot have parameters.
|
||||
tests/cases/compiler/complicatedPrivacy.ts(35,5): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/compiler/complicatedPrivacy.ts(35,5): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/compiler/complicatedPrivacy.ts(35,6): error TS2693: 'number' only refers to a type, but is being used as a value here.
|
||||
tests/cases/compiler/complicatedPrivacy.ts(73,55): error TS2694: Namespace 'mglo5' has no exported member 'i6'.
|
||||
|
||||
@@ -43,7 +43,7 @@ tests/cases/compiler/complicatedPrivacy.ts(73,55): error TS2694: Namespace 'mglo
|
||||
{
|
||||
[number]: C1; // Used to be indexer, now it is a computed property
|
||||
~~~~~~~~
|
||||
!!! error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~~~~~~
|
||||
!!! error TS2693: 'number' only refers to a type, but is being used as a value here.
|
||||
}) {
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(5,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(6,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(7,12): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(8,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(9,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(12,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(13,12): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(14,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(15,12): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(5,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(6,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(7,12): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(8,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(9,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(12,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(13,12): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(14,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(15,12): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
|
||||
|
||||
==== tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts (9 errors) ====
|
||||
@@ -16,31 +16,31 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(15
|
||||
class C {
|
||||
[s]: number;
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
[n] = n;
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
static [s + s]: string;
|
||||
~~~~~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
[s + n] = 2;
|
||||
~~~~~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
[+s]: typeof s;
|
||||
~~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
static [""]: number;
|
||||
[0]: number;
|
||||
[a]: number;
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
static [<any>true]: number;
|
||||
~~~~~~~~~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
[`hello bye`] = 0;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
static [`hello ${a} bye`] = 0
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
}
|
||||
@@ -1,12 +1,12 @@
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(5,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(6,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(7,12): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(8,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(9,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(12,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(13,12): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(14,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(15,12): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(5,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(6,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(7,12): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(8,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(9,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(12,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(13,12): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(14,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(15,12): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
|
||||
|
||||
==== tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts (9 errors) ====
|
||||
@@ -16,31 +16,31 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(15
|
||||
class C {
|
||||
[s]: number;
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
[n] = n;
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
static [s + s]: string;
|
||||
~~~~~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
[s + n] = 2;
|
||||
~~~~~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
[+s]: typeof s;
|
||||
~~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
static [""]: number;
|
||||
[0]: number;
|
||||
[a]: number;
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
static [<any>true]: number;
|
||||
~~~~~~~~~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
[`hello bye`] = 0;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
static [`hello ${a} bye`] = 0
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames35_ES5.ts(4,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames35_ES5.ts(4,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames35_ES5.ts(4,10): error TS2467: A computed property name cannot reference a type parameter from its containing type.
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames35_ES5.ts(4,
|
||||
bar(): string;
|
||||
[foo<T>()](): void;
|
||||
~~~~~~~~~~
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2467: A computed property name cannot reference a type parameter from its containing type.
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames35_ES6.ts(4,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames35_ES6.ts(4,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNames35_ES6.ts(4,10): error TS2467: A computed property name cannot reference a type parameter from its containing type.
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames35_ES6.ts(4,
|
||||
bar(): string;
|
||||
[foo<T>()](): void;
|
||||
~~~~~~~~~~
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2467: A computed property name cannot reference a type parameter from its containing type.
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit3_ES5.ts(2,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit3_ES5.ts(2,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
|
||||
|
||||
==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit3_ES5.ts (1 errors) ====
|
||||
interface I {
|
||||
["" + ""](): void;
|
||||
~~~~~~~~~
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit3_ES6.ts(2,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit3_ES6.ts(2,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
|
||||
|
||||
==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit3_ES6.ts (1 errors) ====
|
||||
interface I {
|
||||
["" + ""](): void;
|
||||
~~~~~~~~~
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit4_ES5.ts(2,5): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit4_ES5.ts(2,5): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
|
||||
|
||||
==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit4_ES5.ts (1 errors) ====
|
||||
var v: {
|
||||
["" + ""](): void;
|
||||
~~~~~~~~~
|
||||
!!! error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit4_ES6.ts(2,5): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit4_ES6.ts(2,5): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
|
||||
|
||||
==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit4_ES6.ts (1 errors) ====
|
||||
var v: {
|
||||
["" + ""](): void;
|
||||
~~~~~~~~~
|
||||
!!! error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts(4,5): error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts(5,5): error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts(4,5): error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts(5,5): error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
|
||||
|
||||
==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts (2 errors) ====
|
||||
@@ -8,9 +8,9 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_
|
||||
class C {
|
||||
[methodName](v: string);
|
||||
~~~~~~~~~~~~
|
||||
!!! error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
[methodName]();
|
||||
~~~~~~~~~~~~
|
||||
!!! error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
[methodName](v?: string) { }
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES6.ts(4,5): error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES6.ts(5,5): error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES6.ts(4,5): error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES6.ts(5,5): error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
|
||||
|
||||
==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES6.ts (2 errors) ====
|
||||
@@ -8,9 +8,9 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_
|
||||
class C {
|
||||
[methodName](v: string);
|
||||
~~~~~~~~~~~~
|
||||
!!! error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
[methodName]();
|
||||
~~~~~~~~~~~~
|
||||
!!! error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
[methodName](v?: string) { }
|
||||
}
|
||||
@@ -189,7 +189,7 @@ exports.o2 = exports.o1;
|
||||
//// [module.d.ts]
|
||||
export declare const c0 = "a";
|
||||
export declare const c1 = 1;
|
||||
export declare const s0: symbol();
|
||||
export declare const s0: unique symbol;
|
||||
export interface T0 {
|
||||
[c0]: number;
|
||||
[c1]: string;
|
||||
|
||||
@@ -8,8 +8,8 @@ export const c1 = 1;
|
||||
>1 : 1
|
||||
|
||||
export const s0 = Symbol();
|
||||
>s0 : symbol()
|
||||
>Symbol() : symbol()
|
||||
>s0 : unique symbol
|
||||
>Symbol() : unique symbol
|
||||
>Symbol : SymbolConstructor
|
||||
|
||||
export interface T0 {
|
||||
@@ -22,7 +22,7 @@ export interface T0 {
|
||||
>c1 : 1
|
||||
|
||||
[s0]: boolean;
|
||||
>s0 : symbol()
|
||||
>s0 : unique symbol
|
||||
}
|
||||
export declare class T1 implements T2 {
|
||||
>T1 : T1
|
||||
@@ -35,7 +35,7 @@ export declare class T1 implements T2 {
|
||||
>c1 : 1
|
||||
|
||||
[s0]: boolean;
|
||||
>s0 : symbol()
|
||||
>s0 : unique symbol
|
||||
}
|
||||
export declare class T2 extends T1 {
|
||||
>T2 : T2
|
||||
@@ -51,7 +51,7 @@ export declare type T3 = {
|
||||
>c1 : 1
|
||||
|
||||
[s0]: boolean;
|
||||
>s0 : symbol()
|
||||
>s0 : unique symbol
|
||||
|
||||
};
|
||||
|
||||
@@ -59,7 +59,7 @@ export declare type T3 = {
|
||||
import { c0, c1, s0, T0, T1, T2, T3 } from "./module";
|
||||
>c0 : "a"
|
||||
>c1 : 1
|
||||
>s0 : symbol()
|
||||
>s0 : unique symbol
|
||||
>T0 : any
|
||||
>T1 : typeof T1
|
||||
>T2 : typeof T2
|
||||
@@ -80,9 +80,9 @@ namespace N {
|
||||
>1 : 1
|
||||
|
||||
export const s1: typeof s0 = s0;
|
||||
>s1 : symbol()
|
||||
>s0 : symbol()
|
||||
>s0 : symbol()
|
||||
>s1 : unique symbol
|
||||
>s0 : unique symbol
|
||||
>s0 : unique symbol
|
||||
|
||||
export interface T4 {
|
||||
>T4 : T4
|
||||
@@ -98,9 +98,9 @@ namespace N {
|
||||
>c3 : 1
|
||||
|
||||
[N.s1]: boolean;
|
||||
>N.s1 : symbol()
|
||||
>N.s1 : unique symbol
|
||||
>N : typeof N
|
||||
>s1 : symbol()
|
||||
>s1 : unique symbol
|
||||
}
|
||||
export declare class T5 implements T4 {
|
||||
>T5 : T5
|
||||
@@ -117,9 +117,9 @@ namespace N {
|
||||
>c3 : 1
|
||||
|
||||
[N.s1]: boolean;
|
||||
>N.s1 : symbol()
|
||||
>N.s1 : unique symbol
|
||||
>N : typeof N
|
||||
>s1 : symbol()
|
||||
>s1 : unique symbol
|
||||
}
|
||||
export declare class T6 extends T5 {
|
||||
>T6 : T6
|
||||
@@ -139,9 +139,9 @@ namespace N {
|
||||
>c3 : 1
|
||||
|
||||
[N.s1]: boolean;
|
||||
>N.s1 : symbol()
|
||||
>N.s1 : unique symbol
|
||||
>N : typeof N
|
||||
>s1 : symbol()
|
||||
>s1 : unique symbol
|
||||
|
||||
};
|
||||
}
|
||||
@@ -155,9 +155,9 @@ export const c5 = 1;
|
||||
>1 : 1
|
||||
|
||||
export const s2: typeof s0 = s0;
|
||||
>s2 : symbol()
|
||||
>s0 : symbol()
|
||||
>s0 : symbol()
|
||||
>s2 : unique symbol
|
||||
>s0 : unique symbol
|
||||
>s0 : unique symbol
|
||||
|
||||
interface T8 {
|
||||
>T8 : T8
|
||||
@@ -169,7 +169,7 @@ interface T8 {
|
||||
>c5 : 1
|
||||
|
||||
[s2]: boolean;
|
||||
>s2 : symbol()
|
||||
>s2 : unique symbol
|
||||
}
|
||||
declare class T9 implements T8 {
|
||||
>T9 : T9
|
||||
@@ -182,7 +182,7 @@ declare class T9 implements T8 {
|
||||
>c5 : 1
|
||||
|
||||
[s2]: boolean;
|
||||
>s2 : symbol()
|
||||
>s2 : unique symbol
|
||||
}
|
||||
declare class T10 extends T9 {
|
||||
>T10 : T10
|
||||
@@ -198,7 +198,7 @@ declare type T11 = {
|
||||
>c5 : 1
|
||||
|
||||
[s2]: boolean;
|
||||
>s2 : symbol()
|
||||
>s2 : unique symbol
|
||||
|
||||
};
|
||||
|
||||
@@ -210,7 +210,7 @@ interface T12 {
|
||||
|
||||
1: string;
|
||||
[s2]: boolean;
|
||||
>s2 : symbol()
|
||||
>s2 : unique symbol
|
||||
}
|
||||
declare class T13 implements T2 {
|
||||
>T13 : T13
|
||||
@@ -221,7 +221,7 @@ declare class T13 implements T2 {
|
||||
|
||||
1: string;
|
||||
[s2]: boolean;
|
||||
>s2 : symbol()
|
||||
>s2 : unique symbol
|
||||
}
|
||||
declare class T14 extends T13 {
|
||||
>T14 : T14
|
||||
@@ -235,7 +235,7 @@ declare type T15 = {
|
||||
|
||||
1: string;
|
||||
[s2]: boolean;
|
||||
>s2 : symbol()
|
||||
>s2 : unique symbol
|
||||
|
||||
};
|
||||
|
||||
@@ -473,7 +473,7 @@ export const o1 = {
|
||||
>"a" : "a"
|
||||
|
||||
[s2]: true
|
||||
>s2 : symbol()
|
||||
>s2 : unique symbol
|
||||
>true : true
|
||||
|
||||
};
|
||||
@@ -495,7 +495,7 @@ export const o1_s2 = o1[s2];
|
||||
>o1_s2 : boolean
|
||||
>o1[s2] : boolean
|
||||
>o1 : { [c4]: number; [c5]: string; [s2]: boolean; }
|
||||
>s2 : symbol()
|
||||
>s2 : unique symbol
|
||||
|
||||
export const o2: T0 = o1;
|
||||
>o2 : T0
|
||||
|
||||
@@ -16,7 +16,7 @@ tests/cases/compiler/giant.ts(33,16): error TS2300: Duplicate identifier 'tsF'.
|
||||
tests/cases/compiler/giant.ts(34,12): error TS2300: Duplicate identifier 'tgF'.
|
||||
tests/cases/compiler/giant.ts(35,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
tests/cases/compiler/giant.ts(35,16): error TS2300: Duplicate identifier 'tgF'.
|
||||
tests/cases/compiler/giant.ts(60,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/compiler/giant.ts(60,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/compiler/giant.ts(60,6): error TS2304: Cannot find name 'p'.
|
||||
tests/cases/compiler/giant.ts(61,5): error TS1021: An index signature must have a type annotation.
|
||||
tests/cases/compiler/giant.ts(62,6): error TS1096: An index signature must have exactly one parameter.
|
||||
@@ -39,7 +39,7 @@ tests/cases/compiler/giant.ts(97,20): error TS2300: Duplicate identifier 'tsF'.
|
||||
tests/cases/compiler/giant.ts(98,16): error TS2300: Duplicate identifier 'tgF'.
|
||||
tests/cases/compiler/giant.ts(99,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
tests/cases/compiler/giant.ts(99,20): error TS2300: Duplicate identifier 'tgF'.
|
||||
tests/cases/compiler/giant.ts(124,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/compiler/giant.ts(124,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/compiler/giant.ts(124,10): error TS2304: Cannot find name 'p'.
|
||||
tests/cases/compiler/giant.ts(125,9): error TS1021: An index signature must have a type annotation.
|
||||
tests/cases/compiler/giant.ts(126,10): error TS1096: An index signature must have exactly one parameter.
|
||||
@@ -63,7 +63,7 @@ tests/cases/compiler/giant.ts(176,20): error TS2300: Duplicate identifier 'tsF'.
|
||||
tests/cases/compiler/giant.ts(177,16): error TS2300: Duplicate identifier 'tgF'.
|
||||
tests/cases/compiler/giant.ts(178,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
tests/cases/compiler/giant.ts(178,20): error TS2300: Duplicate identifier 'tgF'.
|
||||
tests/cases/compiler/giant.ts(203,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/compiler/giant.ts(203,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/compiler/giant.ts(203,10): error TS2304: Cannot find name 'p'.
|
||||
tests/cases/compiler/giant.ts(204,9): error TS1021: An index signature must have a type annotation.
|
||||
tests/cases/compiler/giant.ts(205,10): error TS1096: An index signature must have exactly one parameter.
|
||||
@@ -119,7 +119,7 @@ tests/cases/compiler/giant.ts(291,16): error TS2300: Duplicate identifier 'tsF'.
|
||||
tests/cases/compiler/giant.ts(292,12): error TS2300: Duplicate identifier 'tgF'.
|
||||
tests/cases/compiler/giant.ts(293,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
tests/cases/compiler/giant.ts(293,16): error TS2300: Duplicate identifier 'tgF'.
|
||||
tests/cases/compiler/giant.ts(318,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/compiler/giant.ts(318,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/compiler/giant.ts(318,6): error TS2304: Cannot find name 'p'.
|
||||
tests/cases/compiler/giant.ts(319,5): error TS1021: An index signature must have a type annotation.
|
||||
tests/cases/compiler/giant.ts(320,6): error TS1096: An index signature must have exactly one parameter.
|
||||
@@ -142,7 +142,7 @@ tests/cases/compiler/giant.ts(355,20): error TS2300: Duplicate identifier 'tsF'.
|
||||
tests/cases/compiler/giant.ts(356,16): error TS2300: Duplicate identifier 'tgF'.
|
||||
tests/cases/compiler/giant.ts(357,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
tests/cases/compiler/giant.ts(357,20): error TS2300: Duplicate identifier 'tgF'.
|
||||
tests/cases/compiler/giant.ts(382,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/compiler/giant.ts(382,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/compiler/giant.ts(382,10): error TS2304: Cannot find name 'p'.
|
||||
tests/cases/compiler/giant.ts(383,9): error TS1021: An index signature must have a type annotation.
|
||||
tests/cases/compiler/giant.ts(384,10): error TS1096: An index signature must have exactly one parameter.
|
||||
@@ -166,7 +166,7 @@ tests/cases/compiler/giant.ts(434,20): error TS2300: Duplicate identifier 'tsF'.
|
||||
tests/cases/compiler/giant.ts(435,16): error TS2300: Duplicate identifier 'tgF'.
|
||||
tests/cases/compiler/giant.ts(436,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
tests/cases/compiler/giant.ts(436,20): error TS2300: Duplicate identifier 'tgF'.
|
||||
tests/cases/compiler/giant.ts(461,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/compiler/giant.ts(461,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/compiler/giant.ts(461,10): error TS2304: Cannot find name 'p'.
|
||||
tests/cases/compiler/giant.ts(462,9): error TS1021: An index signature must have a type annotation.
|
||||
tests/cases/compiler/giant.ts(463,10): error TS1096: An index signature must have exactly one parameter.
|
||||
@@ -238,7 +238,7 @@ tests/cases/compiler/giant.ts(555,21): error TS1036: Statements are not allowed
|
||||
tests/cases/compiler/giant.ts(557,24): error TS1183: An implementation cannot be declared in ambient contexts.
|
||||
tests/cases/compiler/giant.ts(560,21): error TS1183: An implementation cannot be declared in ambient contexts.
|
||||
tests/cases/compiler/giant.ts(562,21): error TS1183: An implementation cannot be declared in ambient contexts.
|
||||
tests/cases/compiler/giant.ts(586,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/compiler/giant.ts(586,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/compiler/giant.ts(586,10): error TS2304: Cannot find name 'p'.
|
||||
tests/cases/compiler/giant.ts(587,9): error TS1021: An index signature must have a type annotation.
|
||||
tests/cases/compiler/giant.ts(588,10): error TS1096: An index signature must have exactly one parameter.
|
||||
@@ -255,7 +255,7 @@ tests/cases/compiler/giant.ts(620,26): error TS1183: An implementation cannot be
|
||||
tests/cases/compiler/giant.ts(622,24): error TS1183: An implementation cannot be declared in ambient contexts.
|
||||
tests/cases/compiler/giant.ts(625,21): error TS1183: An implementation cannot be declared in ambient contexts.
|
||||
tests/cases/compiler/giant.ts(627,21): error TS1183: An implementation cannot be declared in ambient contexts.
|
||||
tests/cases/compiler/giant.ts(652,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/compiler/giant.ts(652,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/compiler/giant.ts(652,10): error TS2304: Cannot find name 'p'.
|
||||
tests/cases/compiler/giant.ts(653,9): error TS1021: An index signature must have a type annotation.
|
||||
tests/cases/compiler/giant.ts(654,10): error TS1096: An index signature must have exactly one parameter.
|
||||
@@ -363,7 +363,7 @@ tests/cases/compiler/giant.ts(675,30): error TS1183: An implementation cannot be
|
||||
//Index Signature
|
||||
[p];
|
||||
~~~
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'p'.
|
||||
[p1: string];
|
||||
@@ -473,7 +473,7 @@ tests/cases/compiler/giant.ts(675,30): error TS1183: An implementation cannot be
|
||||
//Index Signature
|
||||
[p];
|
||||
~~~
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'p'.
|
||||
[p1: string];
|
||||
@@ -600,7 +600,7 @@ tests/cases/compiler/giant.ts(675,30): error TS1183: An implementation cannot be
|
||||
//Index Signature
|
||||
[p];
|
||||
~~~
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'p'.
|
||||
[p1: string];
|
||||
@@ -827,7 +827,7 @@ tests/cases/compiler/giant.ts(675,30): error TS1183: An implementation cannot be
|
||||
//Index Signature
|
||||
[p];
|
||||
~~~
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'p'.
|
||||
[p1: string];
|
||||
@@ -937,7 +937,7 @@ tests/cases/compiler/giant.ts(675,30): error TS1183: An implementation cannot be
|
||||
//Index Signature
|
||||
[p];
|
||||
~~~
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'p'.
|
||||
[p1: string];
|
||||
@@ -1064,7 +1064,7 @@ tests/cases/compiler/giant.ts(675,30): error TS1183: An implementation cannot be
|
||||
//Index Signature
|
||||
[p];
|
||||
~~~
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'p'.
|
||||
[p1: string];
|
||||
@@ -1333,7 +1333,7 @@ tests/cases/compiler/giant.ts(675,30): error TS1183: An implementation cannot be
|
||||
//Index Signature
|
||||
[p];
|
||||
~~~
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'p'.
|
||||
[p1: string];
|
||||
@@ -1433,7 +1433,7 @@ tests/cases/compiler/giant.ts(675,30): error TS1183: An implementation cannot be
|
||||
//Index Signature
|
||||
[p];
|
||||
~~~
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'p'.
|
||||
[p1: string];
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
tests/cases/compiler/indexSignatureMustHaveTypeAnnotation.ts(3,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/compiler/indexSignatureMustHaveTypeAnnotation.ts(3,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/compiler/indexSignatureMustHaveTypeAnnotation.ts(3,6): error TS2304: Cannot find name 'x'.
|
||||
tests/cases/compiler/indexSignatureMustHaveTypeAnnotation.ts(4,5): error TS1021: An index signature must have a type annotation.
|
||||
tests/cases/compiler/indexSignatureMustHaveTypeAnnotation.ts(9,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/compiler/indexSignatureMustHaveTypeAnnotation.ts(9,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/compiler/indexSignatureMustHaveTypeAnnotation.ts(9,6): error TS2304: Cannot find name 'x'.
|
||||
tests/cases/compiler/indexSignatureMustHaveTypeAnnotation.ts(14,5): error TS1021: An index signature must have a type annotation.
|
||||
|
||||
@@ -11,7 +11,7 @@ tests/cases/compiler/indexSignatureMustHaveTypeAnnotation.ts(14,5): error TS1021
|
||||
// Used to be indexer, now it is a computed property
|
||||
[x]: string;
|
||||
~~~
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'x'.
|
||||
[x: string];
|
||||
@@ -23,7 +23,7 @@ tests/cases/compiler/indexSignatureMustHaveTypeAnnotation.ts(14,5): error TS1021
|
||||
// Used to be indexer, now it is a computed property
|
||||
[x]: string
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'x'.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
tests/cases/compiler/indexSignatureWithInitializer.ts(3,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/compiler/indexSignatureWithInitializer.ts(3,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/compiler/indexSignatureWithInitializer.ts(3,6): error TS2304: Cannot find name 'x'.
|
||||
tests/cases/compiler/indexSignatureWithInitializer.ts(7,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/compiler/indexSignatureWithInitializer.ts(7,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/compiler/indexSignatureWithInitializer.ts(7,6): error TS2304: Cannot find name 'x'.
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ tests/cases/compiler/indexSignatureWithInitializer.ts(7,6): error TS2304: Cannot
|
||||
interface I {
|
||||
[x = '']: string;
|
||||
~~~~~~~~
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'x'.
|
||||
}
|
||||
@@ -17,7 +17,7 @@ tests/cases/compiler/indexSignatureWithInitializer.ts(7,6): error TS2304: Cannot
|
||||
class C {
|
||||
[x = 0]: string
|
||||
~~~~~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'x'.
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/compiler/indexWithoutParamType2.ts(3,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/compiler/indexWithoutParamType2.ts(3,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/compiler/indexWithoutParamType2.ts(3,6): error TS2304: Cannot find name 'x'.
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ tests/cases/compiler/indexWithoutParamType2.ts(3,6): error TS2304: Cannot find n
|
||||
// Used to be indexer, now it is a computed property
|
||||
[x]: string
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'x'.
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName10.ts(2,4): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName10.ts(2,4): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName10.ts(2,5): error TS2304: Cannot find name 'e'.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedP
|
||||
class C {
|
||||
[e] = 1
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName11.ts(2,4): error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName11.ts(2,4): error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName11.ts(2,5): error TS2304: Cannot find name 'e'.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedP
|
||||
class C {
|
||||
[e]();
|
||||
~~~
|
||||
!!! error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName13.ts(1,10): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName13.ts(1,10): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName13.ts(1,11): error TS2304: Cannot find name 'e'.
|
||||
|
||||
|
||||
==== tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName13.ts (2 errors) ====
|
||||
var v: { [e]: number };
|
||||
~~~
|
||||
!!! error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
@@ -1,10 +1,10 @@
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName14.ts(1,10): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName14.ts(1,10): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName14.ts(1,11): error TS2304: Cannot find name 'e'.
|
||||
|
||||
|
||||
==== tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName14.ts (2 errors) ====
|
||||
var v: { [e](): number };
|
||||
~~~
|
||||
!!! error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
@@ -1,10 +1,10 @@
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName15.ts(1,31): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName15.ts(1,31): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName15.ts(1,32): error TS2304: Cannot find name 'e'.
|
||||
|
||||
|
||||
==== tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName15.ts (2 errors) ====
|
||||
var v: { [e: number]: string; [e]: number };
|
||||
~~~
|
||||
!!! error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
@@ -1,10 +1,10 @@
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName18.ts(1,10): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName18.ts(1,10): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName18.ts(1,11): error TS2304: Cannot find name 'e'.
|
||||
|
||||
|
||||
==== tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName18.ts (2 errors) ====
|
||||
var v: { [e]?(): number };
|
||||
~~~
|
||||
!!! error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
@@ -1,10 +1,10 @@
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName19.ts(1,10): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName19.ts(1,10): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName19.ts(1,11): error TS2304: Cannot find name 'e'.
|
||||
|
||||
|
||||
==== tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName19.ts (2 errors) ====
|
||||
var v: { [e]? };
|
||||
~~~
|
||||
!!! error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName20.ts(2,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName20.ts(2,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName20.ts(2,6): error TS2304: Cannot find name 'e'.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedP
|
||||
interface I {
|
||||
[e](): number
|
||||
~~~
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName21.ts(2,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName21.ts(2,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName21.ts(2,6): error TS2304: Cannot find name 'e'.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedP
|
||||
interface I {
|
||||
[e]: number
|
||||
~~~
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName22.ts(2,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName22.ts(2,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName22.ts(2,6): error TS2304: Cannot find name 'e'.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedP
|
||||
declare class C {
|
||||
[e]: number
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName25.ts(3,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName25.ts(3,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName25.ts(3,6): error TS2304: Cannot find name 'e'.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName25.ts(4,6): error TS2304: Cannot find name 'e2'.
|
||||
|
||||
@@ -8,7 +8,7 @@ tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedP
|
||||
// No ASI
|
||||
[e] = 0
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
[e2] = 1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName28.ts(2,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName28.ts(2,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName28.ts(2,6): error TS2304: Cannot find name 'e'.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName28.ts(3,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName28.ts(3,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName28.ts(3,6): error TS2304: Cannot find name 'e2'.
|
||||
|
||||
|
||||
@@ -8,12 +8,12 @@ tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedP
|
||||
class C {
|
||||
[e]: number = 0;
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
[e2]: number
|
||||
~~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~~
|
||||
!!! error TS2304: Cannot find name 'e2'.
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName29.ts(3,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName29.ts(3,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName29.ts(3,6): error TS2304: Cannot find name 'e'.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName29.ts(3,11): error TS2304: Cannot find name 'id'.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName29.ts(4,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName29.ts(4,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName29.ts(4,6): error TS2304: Cannot find name 'e2'.
|
||||
|
||||
|
||||
@@ -10,14 +10,14 @@ tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedP
|
||||
// yes ASI
|
||||
[e] = id++
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
~~
|
||||
!!! error TS2304: Cannot find name 'id'.
|
||||
[e2]: number
|
||||
~~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~~
|
||||
!!! error TS2304: Cannot find name 'e2'.
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName31.ts(3,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName31.ts(3,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName31.ts(3,6): error TS2304: Cannot find name 'e'.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName31.ts(4,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName31.ts(4,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName31.ts(4,6): error TS2304: Cannot find name 'e2'.
|
||||
|
||||
|
||||
@@ -9,12 +9,12 @@ tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedP
|
||||
// yes ASI
|
||||
[e]: number
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
[e2]: number
|
||||
~~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~~
|
||||
!!! error TS2304: Cannot find name 'e2'.
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName32.ts(2,5): error TS1165: A computed property name in an ambient context must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName32.ts(2,5): error TS1165: A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName32.ts(2,6): error TS2304: Cannot find name 'e'.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedP
|
||||
declare class C {
|
||||
[e](): number
|
||||
~~~
|
||||
!!! error TS1165: A computed property name in an ambient context must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1165: A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName36.ts(2,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName36.ts(2,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName36.ts(2,6): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName36.ts(2,6): error TS2304: Cannot find name 'public'.
|
||||
|
||||
@@ -7,7 +7,7 @@ tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedP
|
||||
class C {
|
||||
[public ]: string;
|
||||
~~~~~~~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~~~~~~
|
||||
!!! error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode.
|
||||
~~~~~~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName7.ts(2,4): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName7.ts(2,4): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName7.ts(2,5): error TS2304: Cannot find name 'e'.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedP
|
||||
class C {
|
||||
[e]
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName8.ts(2,11): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName8.ts(2,11): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName8.ts(2,12): error TS2304: Cannot find name 'e'.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedP
|
||||
class C {
|
||||
public [e]
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName9.ts(2,4): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName9.ts(2,4): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName9.ts(2,5): error TS2304: Cannot find name 'e'.
|
||||
tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName9.ts(2,9): error TS2304: Cannot find name 'Type'.
|
||||
|
||||
@@ -7,7 +7,7 @@ tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedP
|
||||
class C {
|
||||
[e]: Type
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
~~~~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName1.ts(2,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName1.ts(2,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName1.ts(2,6): error TS2304: Cannot find name 'e'.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5Comput
|
||||
declare class C {
|
||||
[e]: number
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName10.ts(2,4): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName10.ts(2,4): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName10.ts(2,5): error TS2304: Cannot find name 'e'.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5Comput
|
||||
class C {
|
||||
[e] = 1
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName11.ts(2,4): error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName11.ts(2,4): error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName11.ts(2,5): error TS2304: Cannot find name 'e'.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5Comput
|
||||
class C {
|
||||
[e]();
|
||||
~~~
|
||||
!!! error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1168: A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName5.ts(2,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName5.ts(2,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName5.ts(2,6): error TS2304: Cannot find name 'e'.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5Comput
|
||||
interface I {
|
||||
[e]: number
|
||||
~~~
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName7.ts(2,4): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName7.ts(2,4): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName7.ts(2,5): error TS2304: Cannot find name 'e'.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5Comput
|
||||
class C {
|
||||
[e]
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName8.ts(1,10): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName8.ts(1,10): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName8.ts(1,11): error TS2304: Cannot find name 'e'.
|
||||
|
||||
|
||||
==== tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName8.ts (2 errors) ====
|
||||
var v: { [e]: number };
|
||||
~~~
|
||||
!!! error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName9.ts(2,4): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName9.ts(2,4): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName9.ts(2,5): error TS2304: Cannot find name 'e'.
|
||||
tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName9.ts(2,9): error TS2304: Cannot find name 'Type'.
|
||||
|
||||
@@ -7,7 +7,7 @@ tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5Comput
|
||||
class C {
|
||||
[e]: Type
|
||||
~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'e'.
|
||||
~~~~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature11.ts(2,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature11.ts(2,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature11.ts(2,10): error TS2304: Cannot find name 'p'.
|
||||
tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature11.ts(3,9): error TS1021: An index signature must have a type annotation.
|
||||
tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature11.ts(4,10): error TS1096: An index signature must have exactly one parameter.
|
||||
@@ -8,7 +8,7 @@ tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature1
|
||||
interface I {
|
||||
[p]; // Used to be indexer, now it is a computed property
|
||||
~~~
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'p'.
|
||||
[p1: string];
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature4.ts(2,3): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature4.ts(2,3): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature4.ts(2,4): error TS2304: Cannot find name 'a'.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature4
|
||||
interface I {
|
||||
[a = 0] // Used to be indexer, now it is a computed property
|
||||
~~~~~~~
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'a'.
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature5.ts(2,3): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature5.ts(2,3): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature5.ts(2,4): error TS2304: Cannot find name 'a'.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature5
|
||||
interface I {
|
||||
[a] // Used to be indexer, now it is a computed property
|
||||
~~~
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'a'.
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
tests/cases/compiler/propertyAssignment.ts(4,13): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/compiler/propertyAssignment.ts(4,13): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/compiler/propertyAssignment.ts(4,14): error TS2304: Cannot find name 'index'.
|
||||
tests/cases/compiler/propertyAssignment.ts(12,1): error TS2322: Type '{ x: number; }' is not assignable to type 'new () => any'.
|
||||
Type '{ x: number; }' provides no match for the signature 'new (): any'.
|
||||
@@ -12,7 +12,7 @@ tests/cases/compiler/propertyAssignment.ts(14,1): error TS2322: Type '{ x: numbe
|
||||
|
||||
var foo2: { [index]; } // should be an error, used to be indexer, now it is a computed property
|
||||
~~~~~~~
|
||||
!!! error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
~~~~~
|
||||
!!! error TS2304: Cannot find name 'index'.
|
||||
var bar2: { x : number; }
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
tests/cases/conformance/es6/Symbols/symbolProperty7.ts(2,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/Symbols/symbolProperty7.ts(3,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
tests/cases/conformance/es6/Symbols/symbolProperty7.ts(2,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
tests/cases/conformance/es6/Symbols/symbolProperty7.ts(3,5): error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
|
||||
|
||||
==== tests/cases/conformance/es6/Symbols/symbolProperty7.ts (2 errors) ====
|
||||
class C {
|
||||
[Symbol()] = 0;
|
||||
~~~~~~~~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
[Symbol()]: number;
|
||||
~~~~~~~~~~
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a unique 'symbol()' type.
|
||||
!!! error TS1166: A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
||||
[Symbol()]() { }
|
||||
get [Symbol()]() {
|
||||
return 0;
|
||||
|
||||
@@ -5,10 +5,10 @@ let letCall = Symbol();
|
||||
var varCall = Symbol();
|
||||
|
||||
// ambient declaration with type
|
||||
declare const constType: symbol();
|
||||
declare const constType: unique symbol;
|
||||
|
||||
// declaration with type and call initializer
|
||||
const constTypeAndCall: symbol() = Symbol();
|
||||
const constTypeAndCall: unique symbol = Symbol();
|
||||
|
||||
// declaration from initializer
|
||||
const constInitToConstCall = constCall;
|
||||
@@ -57,8 +57,8 @@ async function* asyncGenFuncYieldVarCall() { yield varCall; }
|
||||
// classes
|
||||
class C {
|
||||
static readonly readonlyStaticCall = Symbol();
|
||||
static readonly readonlyStaticType: symbol();
|
||||
static readonly readonlyStaticTypeAndCall: symbol() = Symbol();
|
||||
static readonly readonlyStaticType: unique symbol;
|
||||
static readonly readonlyStaticTypeAndCall: unique symbol = Symbol();
|
||||
static readwriteStaticCall = Symbol();
|
||||
|
||||
readonly readonlyCall = Symbol();
|
||||
@@ -85,7 +85,7 @@ const constInitToCReadwriteCallWithIndexedAccess: C["readwriteCall"] = c.readwri
|
||||
|
||||
// interfaces
|
||||
interface I {
|
||||
readonly readonlyType: symbol();
|
||||
readonly readonlyType: unique symbol;
|
||||
}
|
||||
declare const i: I;
|
||||
|
||||
@@ -95,9 +95,9 @@ const constInitToIReadonlyTypeWithIndexedAccess: I["readonlyType"] = i.readonlyT
|
||||
|
||||
// type literals
|
||||
type L = {
|
||||
readonly readonlyType: symbol();
|
||||
readonly readonlyType: unique symbol;
|
||||
nested: {
|
||||
readonly readonlyNestedType: symbol();
|
||||
readonly readonlyNestedType: unique symbol;
|
||||
}
|
||||
};
|
||||
declare const l: L;
|
||||
@@ -195,11 +195,11 @@ const arrayOfConstCall = [constCall];
|
||||
|
||||
|
||||
//// [uniqueSymbols.d.ts]
|
||||
declare const constCall: symbol();
|
||||
declare const constCall: unique symbol;
|
||||
declare let letCall: symbol;
|
||||
declare var varCall: symbol;
|
||||
declare const constType: symbol();
|
||||
declare const constTypeAndCall: symbol();
|
||||
declare const constType: unique symbol;
|
||||
declare const constTypeAndCall: unique symbol;
|
||||
declare const constInitToConstCall: symbol;
|
||||
declare const constInitToLetCall: symbol;
|
||||
declare const constInitToVarCall: symbol;
|
||||
@@ -229,9 +229,9 @@ declare function asyncGenFuncYieldConstCall(): AsyncIterableIterator<symbol>;
|
||||
declare function asyncGenFuncYieldLetCall(): AsyncIterableIterator<symbol>;
|
||||
declare function asyncGenFuncYieldVarCall(): AsyncIterableIterator<symbol>;
|
||||
declare class C {
|
||||
static readonly readonlyStaticCall: symbol();
|
||||
static readonly readonlyStaticType: symbol();
|
||||
static readonly readonlyStaticTypeAndCall: symbol();
|
||||
static readonly readonlyStaticCall: unique symbol;
|
||||
static readonly readonlyStaticType: unique symbol;
|
||||
static readonly readonlyStaticTypeAndCall: unique symbol;
|
||||
static readwriteStaticCall: symbol;
|
||||
readonly readonlyCall: symbol;
|
||||
readwriteCall: symbol;
|
||||
@@ -252,16 +252,16 @@ declare const constInitToCReadwriteCallWithTypeQuery: typeof c.readwriteCall;
|
||||
declare const constInitToCReadonlyCallWithIndexedAccess: C["readonlyCall"];
|
||||
declare const constInitToCReadwriteCallWithIndexedAccess: C["readwriteCall"];
|
||||
interface I {
|
||||
readonly readonlyType: symbol();
|
||||
readonly readonlyType: unique symbol;
|
||||
}
|
||||
declare const i: I;
|
||||
declare const constInitToIReadonlyType: symbol;
|
||||
declare const constInitToIReadonlyTypeWithTypeQuery: typeof i.readonlyType;
|
||||
declare const constInitToIReadonlyTypeWithIndexedAccess: I["readonlyType"];
|
||||
declare type L = {
|
||||
readonly readonlyType: symbol();
|
||||
readonly readonlyType: unique symbol;
|
||||
nested: {
|
||||
readonly readonlyNestedType: symbol();
|
||||
readonly readonlyNestedType: unique symbol;
|
||||
};
|
||||
};
|
||||
declare const l: L;
|
||||
|
||||
@@ -13,11 +13,11 @@ var varCall = Symbol();
|
||||
>Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --))
|
||||
|
||||
// ambient declaration with type
|
||||
declare const constType: symbol();
|
||||
declare const constType: unique symbol;
|
||||
>constType : Symbol(constType, Decl(uniqueSymbols.ts, 6, 13))
|
||||
|
||||
// declaration with type and call initializer
|
||||
const constTypeAndCall: symbol() = Symbol();
|
||||
const constTypeAndCall: unique symbol = Symbol();
|
||||
>constTypeAndCall : Symbol(constTypeAndCall, Decl(uniqueSymbols.ts, 9, 5))
|
||||
>Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --))
|
||||
|
||||
@@ -154,15 +154,15 @@ class C {
|
||||
>readonlyStaticCall : Symbol(C.readonlyStaticCall, Decl(uniqueSymbols.ts, 56, 9))
|
||||
>Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --))
|
||||
|
||||
static readonly readonlyStaticType: symbol();
|
||||
static readonly readonlyStaticType: unique symbol;
|
||||
>readonlyStaticType : Symbol(C.readonlyStaticType, Decl(uniqueSymbols.ts, 57, 50))
|
||||
|
||||
static readonly readonlyStaticTypeAndCall: symbol() = Symbol();
|
||||
>readonlyStaticTypeAndCall : Symbol(C.readonlyStaticTypeAndCall, Decl(uniqueSymbols.ts, 58, 49))
|
||||
static readonly readonlyStaticTypeAndCall: unique symbol = Symbol();
|
||||
>readonlyStaticTypeAndCall : Symbol(C.readonlyStaticTypeAndCall, Decl(uniqueSymbols.ts, 58, 54))
|
||||
>Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --))
|
||||
|
||||
static readwriteStaticCall = Symbol();
|
||||
>readwriteStaticCall : Symbol(C.readwriteStaticCall, Decl(uniqueSymbols.ts, 59, 67))
|
||||
>readwriteStaticCall : Symbol(C.readwriteStaticCall, Decl(uniqueSymbols.ts, 59, 72))
|
||||
>Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --))
|
||||
|
||||
readonly readonlyCall = Symbol();
|
||||
@@ -191,15 +191,15 @@ const constInitToCReadonlyStaticType = C.readonlyStaticType;
|
||||
|
||||
const constInitToCReadonlyStaticTypeAndCall = C.readonlyStaticTypeAndCall;
|
||||
>constInitToCReadonlyStaticTypeAndCall : Symbol(constInitToCReadonlyStaticTypeAndCall, Decl(uniqueSymbols.ts, 69, 5))
|
||||
>C.readonlyStaticTypeAndCall : Symbol(C.readonlyStaticTypeAndCall, Decl(uniqueSymbols.ts, 58, 49))
|
||||
>C.readonlyStaticTypeAndCall : Symbol(C.readonlyStaticTypeAndCall, Decl(uniqueSymbols.ts, 58, 54))
|
||||
>C : Symbol(C, Decl(uniqueSymbols.ts, 53, 61))
|
||||
>readonlyStaticTypeAndCall : Symbol(C.readonlyStaticTypeAndCall, Decl(uniqueSymbols.ts, 58, 49))
|
||||
>readonlyStaticTypeAndCall : Symbol(C.readonlyStaticTypeAndCall, Decl(uniqueSymbols.ts, 58, 54))
|
||||
|
||||
const constInitToCReadwriteStaticCall = C.readwriteStaticCall;
|
||||
>constInitToCReadwriteStaticCall : Symbol(constInitToCReadwriteStaticCall, Decl(uniqueSymbols.ts, 70, 5))
|
||||
>C.readwriteStaticCall : Symbol(C.readwriteStaticCall, Decl(uniqueSymbols.ts, 59, 67))
|
||||
>C.readwriteStaticCall : Symbol(C.readwriteStaticCall, Decl(uniqueSymbols.ts, 59, 72))
|
||||
>C : Symbol(C, Decl(uniqueSymbols.ts, 53, 61))
|
||||
>readwriteStaticCall : Symbol(C.readwriteStaticCall, Decl(uniqueSymbols.ts, 59, 67))
|
||||
>readwriteStaticCall : Symbol(C.readwriteStaticCall, Decl(uniqueSymbols.ts, 59, 72))
|
||||
|
||||
const constInitToCReadonlyStaticCallWithTypeQuery: typeof C.readonlyStaticCall = C.readonlyStaticCall;
|
||||
>constInitToCReadonlyStaticCallWithTypeQuery : Symbol(constInitToCReadonlyStaticCallWithTypeQuery, Decl(uniqueSymbols.ts, 72, 5))
|
||||
@@ -221,21 +221,21 @@ const constInitToCReadonlyStaticTypeWithTypeQuery: typeof C.readonlyStaticType =
|
||||
|
||||
const constInitToCReadonlyStaticTypeAndCallWithTypeQuery: typeof C.readonlyStaticTypeAndCall = C.readonlyStaticTypeAndCall;
|
||||
>constInitToCReadonlyStaticTypeAndCallWithTypeQuery : Symbol(constInitToCReadonlyStaticTypeAndCallWithTypeQuery, Decl(uniqueSymbols.ts, 74, 5))
|
||||
>C.readonlyStaticTypeAndCall : Symbol(C.readonlyStaticTypeAndCall, Decl(uniqueSymbols.ts, 58, 49))
|
||||
>C.readonlyStaticTypeAndCall : Symbol(C.readonlyStaticTypeAndCall, Decl(uniqueSymbols.ts, 58, 54))
|
||||
>C : Symbol(C, Decl(uniqueSymbols.ts, 53, 61))
|
||||
>readonlyStaticTypeAndCall : Symbol(C.readonlyStaticTypeAndCall, Decl(uniqueSymbols.ts, 58, 49))
|
||||
>C.readonlyStaticTypeAndCall : Symbol(C.readonlyStaticTypeAndCall, Decl(uniqueSymbols.ts, 58, 49))
|
||||
>readonlyStaticTypeAndCall : Symbol(C.readonlyStaticTypeAndCall, Decl(uniqueSymbols.ts, 58, 54))
|
||||
>C.readonlyStaticTypeAndCall : Symbol(C.readonlyStaticTypeAndCall, Decl(uniqueSymbols.ts, 58, 54))
|
||||
>C : Symbol(C, Decl(uniqueSymbols.ts, 53, 61))
|
||||
>readonlyStaticTypeAndCall : Symbol(C.readonlyStaticTypeAndCall, Decl(uniqueSymbols.ts, 58, 49))
|
||||
>readonlyStaticTypeAndCall : Symbol(C.readonlyStaticTypeAndCall, Decl(uniqueSymbols.ts, 58, 54))
|
||||
|
||||
const constInitToCReadwriteStaticCallWithTypeQuery: typeof C.readwriteStaticCall = C.readwriteStaticCall;
|
||||
>constInitToCReadwriteStaticCallWithTypeQuery : Symbol(constInitToCReadwriteStaticCallWithTypeQuery, Decl(uniqueSymbols.ts, 75, 5))
|
||||
>C.readwriteStaticCall : Symbol(C.readwriteStaticCall, Decl(uniqueSymbols.ts, 59, 67))
|
||||
>C.readwriteStaticCall : Symbol(C.readwriteStaticCall, Decl(uniqueSymbols.ts, 59, 72))
|
||||
>C : Symbol(C, Decl(uniqueSymbols.ts, 53, 61))
|
||||
>readwriteStaticCall : Symbol(C.readwriteStaticCall, Decl(uniqueSymbols.ts, 59, 67))
|
||||
>C.readwriteStaticCall : Symbol(C.readwriteStaticCall, Decl(uniqueSymbols.ts, 59, 67))
|
||||
>readwriteStaticCall : Symbol(C.readwriteStaticCall, Decl(uniqueSymbols.ts, 59, 72))
|
||||
>C.readwriteStaticCall : Symbol(C.readwriteStaticCall, Decl(uniqueSymbols.ts, 59, 72))
|
||||
>C : Symbol(C, Decl(uniqueSymbols.ts, 53, 61))
|
||||
>readwriteStaticCall : Symbol(C.readwriteStaticCall, Decl(uniqueSymbols.ts, 59, 67))
|
||||
>readwriteStaticCall : Symbol(C.readwriteStaticCall, Decl(uniqueSymbols.ts, 59, 72))
|
||||
|
||||
const constInitToCReadonlyCall = c.readonlyCall;
|
||||
>constInitToCReadonlyCall : Symbol(constInitToCReadonlyCall, Decl(uniqueSymbols.ts, 77, 5))
|
||||
@@ -285,7 +285,7 @@ const constInitToCReadwriteCallWithIndexedAccess: C["readwriteCall"] = c.readwri
|
||||
interface I {
|
||||
>I : Symbol(I, Decl(uniqueSymbols.ts, 82, 87))
|
||||
|
||||
readonly readonlyType: symbol();
|
||||
readonly readonlyType: unique symbol;
|
||||
>readonlyType : Symbol(I.readonlyType, Decl(uniqueSymbols.ts, 85, 13))
|
||||
}
|
||||
declare const i: I;
|
||||
@@ -318,13 +318,13 @@ const constInitToIReadonlyTypeWithIndexedAccess: I["readonlyType"] = i.readonlyT
|
||||
type L = {
|
||||
>L : Symbol(L, Decl(uniqueSymbols.ts, 92, 84))
|
||||
|
||||
readonly readonlyType: symbol();
|
||||
readonly readonlyType: unique symbol;
|
||||
>readonlyType : Symbol(readonlyType, Decl(uniqueSymbols.ts, 95, 10))
|
||||
|
||||
nested: {
|
||||
>nested : Symbol(nested, Decl(uniqueSymbols.ts, 96, 36))
|
||||
>nested : Symbol(nested, Decl(uniqueSymbols.ts, 96, 41))
|
||||
|
||||
readonly readonlyNestedType: symbol();
|
||||
readonly readonlyNestedType: unique symbol;
|
||||
>readonlyNestedType : Symbol(readonlyNestedType, Decl(uniqueSymbols.ts, 97, 13))
|
||||
}
|
||||
};
|
||||
@@ -341,9 +341,9 @@ const constInitToLReadonlyType = l.readonlyType;
|
||||
const constInitToLReadonlyNestedType = l.nested.readonlyNestedType;
|
||||
>constInitToLReadonlyNestedType : Symbol(constInitToLReadonlyNestedType, Decl(uniqueSymbols.ts, 104, 5))
|
||||
>l.nested.readonlyNestedType : Symbol(readonlyNestedType, Decl(uniqueSymbols.ts, 97, 13))
|
||||
>l.nested : Symbol(nested, Decl(uniqueSymbols.ts, 96, 36))
|
||||
>l.nested : Symbol(nested, Decl(uniqueSymbols.ts, 96, 41))
|
||||
>l : Symbol(l, Decl(uniqueSymbols.ts, 101, 13))
|
||||
>nested : Symbol(nested, Decl(uniqueSymbols.ts, 96, 36))
|
||||
>nested : Symbol(nested, Decl(uniqueSymbols.ts, 96, 41))
|
||||
>readonlyNestedType : Symbol(readonlyNestedType, Decl(uniqueSymbols.ts, 97, 13))
|
||||
|
||||
const constInitToLReadonlyTypeWithTypeQuery: typeof l.readonlyType = l.readonlyType;
|
||||
@@ -358,14 +358,14 @@ const constInitToLReadonlyTypeWithTypeQuery: typeof l.readonlyType = l.readonlyT
|
||||
const constInitToLReadonlyNestedTypeWithTypeQuery: typeof l.nested.readonlyNestedType = l.nested.readonlyNestedType;
|
||||
>constInitToLReadonlyNestedTypeWithTypeQuery : Symbol(constInitToLReadonlyNestedTypeWithTypeQuery, Decl(uniqueSymbols.ts, 106, 5))
|
||||
>l.nested.readonlyNestedType : Symbol(readonlyNestedType, Decl(uniqueSymbols.ts, 97, 13))
|
||||
>l.nested : Symbol(nested, Decl(uniqueSymbols.ts, 96, 36))
|
||||
>l.nested : Symbol(nested, Decl(uniqueSymbols.ts, 96, 41))
|
||||
>l : Symbol(l, Decl(uniqueSymbols.ts, 101, 13))
|
||||
>nested : Symbol(nested, Decl(uniqueSymbols.ts, 96, 36))
|
||||
>nested : Symbol(nested, Decl(uniqueSymbols.ts, 96, 41))
|
||||
>readonlyNestedType : Symbol(readonlyNestedType, Decl(uniqueSymbols.ts, 97, 13))
|
||||
>l.nested.readonlyNestedType : Symbol(readonlyNestedType, Decl(uniqueSymbols.ts, 97, 13))
|
||||
>l.nested : Symbol(nested, Decl(uniqueSymbols.ts, 96, 36))
|
||||
>l.nested : Symbol(nested, Decl(uniqueSymbols.ts, 96, 41))
|
||||
>l : Symbol(l, Decl(uniqueSymbols.ts, 101, 13))
|
||||
>nested : Symbol(nested, Decl(uniqueSymbols.ts, 96, 36))
|
||||
>nested : Symbol(nested, Decl(uniqueSymbols.ts, 96, 41))
|
||||
>readonlyNestedType : Symbol(readonlyNestedType, Decl(uniqueSymbols.ts, 97, 13))
|
||||
|
||||
const constInitToLReadonlyTypeWithIndexedAccess: L["readonlyType"] = l.readonlyType;
|
||||
@@ -379,9 +379,9 @@ const constInitToLReadonlyNestedTypeWithIndexedAccess: L["nested"]["readonlyNest
|
||||
>constInitToLReadonlyNestedTypeWithIndexedAccess : Symbol(constInitToLReadonlyNestedTypeWithIndexedAccess, Decl(uniqueSymbols.ts, 108, 5))
|
||||
>L : Symbol(L, Decl(uniqueSymbols.ts, 92, 84))
|
||||
>l.nested.readonlyNestedType : Symbol(readonlyNestedType, Decl(uniqueSymbols.ts, 97, 13))
|
||||
>l.nested : Symbol(nested, Decl(uniqueSymbols.ts, 96, 36))
|
||||
>l.nested : Symbol(nested, Decl(uniqueSymbols.ts, 96, 41))
|
||||
>l : Symbol(l, Decl(uniqueSymbols.ts, 101, 13))
|
||||
>nested : Symbol(nested, Decl(uniqueSymbols.ts, 96, 36))
|
||||
>nested : Symbol(nested, Decl(uniqueSymbols.ts, 96, 41))
|
||||
>readonlyNestedType : Symbol(readonlyNestedType, Decl(uniqueSymbols.ts, 97, 13))
|
||||
|
||||
// type argument inference
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
=== tests/cases/conformance/types/uniqueSymbol/uniqueSymbols.ts ===
|
||||
// declarations with call initializer
|
||||
const constCall = Symbol();
|
||||
>constCall : symbol()
|
||||
>Symbol() : symbol()
|
||||
>constCall : unique symbol
|
||||
>Symbol() : unique symbol
|
||||
>Symbol : SymbolConstructor
|
||||
|
||||
let letCall = Symbol();
|
||||
@@ -16,19 +16,19 @@ var varCall = Symbol();
|
||||
>Symbol : SymbolConstructor
|
||||
|
||||
// ambient declaration with type
|
||||
declare const constType: symbol();
|
||||
>constType : symbol()
|
||||
declare const constType: unique symbol;
|
||||
>constType : unique symbol
|
||||
|
||||
// declaration with type and call initializer
|
||||
const constTypeAndCall: symbol() = Symbol();
|
||||
>constTypeAndCall : symbol()
|
||||
>Symbol() : symbol()
|
||||
const constTypeAndCall: unique symbol = Symbol();
|
||||
>constTypeAndCall : unique symbol
|
||||
>Symbol() : unique symbol
|
||||
>Symbol : SymbolConstructor
|
||||
|
||||
// declaration from initializer
|
||||
const constInitToConstCall = constCall;
|
||||
>constInitToConstCall : symbol
|
||||
>constCall : symbol()
|
||||
>constCall : unique symbol
|
||||
|
||||
const constInitToLetCall = letCall;
|
||||
>constInitToLetCall : symbol
|
||||
@@ -40,11 +40,11 @@ const constInitToVarCall = varCall;
|
||||
|
||||
const constInitToConstDeclAmbient = constType;
|
||||
>constInitToConstDeclAmbient : symbol
|
||||
>constType : symbol()
|
||||
>constType : unique symbol
|
||||
|
||||
let letInitToConstCall = constCall;
|
||||
>letInitToConstCall : symbol
|
||||
>constCall : symbol()
|
||||
>constCall : unique symbol
|
||||
|
||||
let letInitToLetCall = letCall;
|
||||
>letInitToLetCall : symbol
|
||||
@@ -56,11 +56,11 @@ let letInitToVarCall = varCall;
|
||||
|
||||
let letInitToConstDeclAmbient = constType;
|
||||
>letInitToConstDeclAmbient : symbol
|
||||
>constType : symbol()
|
||||
>constType : unique symbol
|
||||
|
||||
var varInitToConstCall = constCall;
|
||||
>varInitToConstCall : symbol
|
||||
>constCall : symbol()
|
||||
>constCall : unique symbol
|
||||
|
||||
var varInitToLetCall = letCall;
|
||||
>varInitToLetCall : symbol
|
||||
@@ -72,23 +72,23 @@ var varInitToVarCall = varCall;
|
||||
|
||||
var varInitToConstDeclAmbient = constType;
|
||||
>varInitToConstDeclAmbient : symbol
|
||||
>constType : symbol()
|
||||
>constType : unique symbol
|
||||
|
||||
// declaration from initializer with type query
|
||||
const constInitToConstCallWithTypeQuery: typeof constCall = constCall;
|
||||
>constInitToConstCallWithTypeQuery : symbol()
|
||||
>constCall : symbol()
|
||||
>constCall : symbol()
|
||||
>constInitToConstCallWithTypeQuery : unique symbol
|
||||
>constCall : unique symbol
|
||||
>constCall : unique symbol
|
||||
|
||||
const constInitToConstDeclAmbientWithTypeQuery: typeof constType = constType;
|
||||
>constInitToConstDeclAmbientWithTypeQuery : symbol()
|
||||
>constType : symbol()
|
||||
>constType : symbol()
|
||||
>constInitToConstDeclAmbientWithTypeQuery : unique symbol
|
||||
>constType : unique symbol
|
||||
>constType : unique symbol
|
||||
|
||||
// function return inference
|
||||
function funcReturnConstCall() { return constCall; }
|
||||
>funcReturnConstCall : () => symbol
|
||||
>constCall : symbol()
|
||||
>constCall : unique symbol
|
||||
|
||||
function funcReturnLetCall() { return letCall; }
|
||||
>funcReturnLetCall : () => symbol
|
||||
@@ -100,15 +100,15 @@ function funcReturnVarCall() { return varCall; }
|
||||
|
||||
// function return value with type query
|
||||
function funcReturnConstCallWithTypeQuery(): typeof constCall { return constCall; }
|
||||
>funcReturnConstCallWithTypeQuery : () => symbol()
|
||||
>constCall : symbol()
|
||||
>constCall : symbol()
|
||||
>funcReturnConstCallWithTypeQuery : () => unique symbol
|
||||
>constCall : unique symbol
|
||||
>constCall : unique symbol
|
||||
|
||||
// generator function yield inference
|
||||
function* genFuncYieldConstCall() { yield constCall; }
|
||||
>genFuncYieldConstCall : () => IterableIterator<symbol>
|
||||
>yield constCall : any
|
||||
>constCall : symbol()
|
||||
>constCall : unique symbol
|
||||
|
||||
function* genFuncYieldLetCall() { yield letCall; }
|
||||
>genFuncYieldLetCall : () => IterableIterator<symbol>
|
||||
@@ -122,16 +122,16 @@ function* genFuncYieldVarCall() { yield varCall; }
|
||||
|
||||
// generator function yield with return type query
|
||||
function* genFuncYieldConstCallWithTypeQuery(): IterableIterator<typeof constCall> { yield constCall; }
|
||||
>genFuncYieldConstCallWithTypeQuery : () => IterableIterator<symbol()>
|
||||
>genFuncYieldConstCallWithTypeQuery : () => IterableIterator<unique symbol>
|
||||
>IterableIterator : IterableIterator<T>
|
||||
>constCall : symbol()
|
||||
>constCall : unique symbol
|
||||
>yield constCall : any
|
||||
>constCall : symbol()
|
||||
>constCall : unique symbol
|
||||
|
||||
// async function return inference
|
||||
async function asyncFuncReturnConstCall() { return constCall; }
|
||||
>asyncFuncReturnConstCall : () => Promise<symbol>
|
||||
>constCall : symbol()
|
||||
>constCall : unique symbol
|
||||
|
||||
async function asyncFuncReturnLetCall() { return letCall; }
|
||||
>asyncFuncReturnLetCall : () => Promise<symbol>
|
||||
@@ -145,7 +145,7 @@ async function asyncFuncReturnVarCall() { return varCall; }
|
||||
async function* asyncGenFuncYieldConstCall() { yield constCall; }
|
||||
>asyncGenFuncYieldConstCall : () => AsyncIterableIterator<symbol>
|
||||
>yield constCall : any
|
||||
>constCall : symbol()
|
||||
>constCall : unique symbol
|
||||
|
||||
async function* asyncGenFuncYieldLetCall() { yield letCall; }
|
||||
>asyncGenFuncYieldLetCall : () => AsyncIterableIterator<symbol>
|
||||
@@ -162,16 +162,16 @@ class C {
|
||||
>C : C
|
||||
|
||||
static readonly readonlyStaticCall = Symbol();
|
||||
>readonlyStaticCall : symbol()
|
||||
>Symbol() : symbol()
|
||||
>readonlyStaticCall : unique symbol
|
||||
>Symbol() : unique symbol
|
||||
>Symbol : SymbolConstructor
|
||||
|
||||
static readonly readonlyStaticType: symbol();
|
||||
>readonlyStaticType : symbol()
|
||||
static readonly readonlyStaticType: unique symbol;
|
||||
>readonlyStaticType : unique symbol
|
||||
|
||||
static readonly readonlyStaticTypeAndCall: symbol() = Symbol();
|
||||
>readonlyStaticTypeAndCall : symbol()
|
||||
>Symbol() : symbol()
|
||||
static readonly readonlyStaticTypeAndCall: unique symbol = Symbol();
|
||||
>readonlyStaticTypeAndCall : unique symbol
|
||||
>Symbol() : unique symbol
|
||||
>Symbol : SymbolConstructor
|
||||
|
||||
static readwriteStaticCall = Symbol();
|
||||
@@ -195,21 +195,21 @@ declare const c: C;
|
||||
|
||||
const constInitToCReadonlyStaticCall = C.readonlyStaticCall;
|
||||
>constInitToCReadonlyStaticCall : symbol
|
||||
>C.readonlyStaticCall : symbol()
|
||||
>C.readonlyStaticCall : unique symbol
|
||||
>C : typeof C
|
||||
>readonlyStaticCall : symbol()
|
||||
>readonlyStaticCall : unique symbol
|
||||
|
||||
const constInitToCReadonlyStaticType = C.readonlyStaticType;
|
||||
>constInitToCReadonlyStaticType : symbol
|
||||
>C.readonlyStaticType : symbol()
|
||||
>C.readonlyStaticType : unique symbol
|
||||
>C : typeof C
|
||||
>readonlyStaticType : symbol()
|
||||
>readonlyStaticType : unique symbol
|
||||
|
||||
const constInitToCReadonlyStaticTypeAndCall = C.readonlyStaticTypeAndCall;
|
||||
>constInitToCReadonlyStaticTypeAndCall : symbol
|
||||
>C.readonlyStaticTypeAndCall : symbol()
|
||||
>C.readonlyStaticTypeAndCall : unique symbol
|
||||
>C : typeof C
|
||||
>readonlyStaticTypeAndCall : symbol()
|
||||
>readonlyStaticTypeAndCall : unique symbol
|
||||
|
||||
const constInitToCReadwriteStaticCall = C.readwriteStaticCall;
|
||||
>constInitToCReadwriteStaticCall : symbol
|
||||
@@ -218,31 +218,31 @@ const constInitToCReadwriteStaticCall = C.readwriteStaticCall;
|
||||
>readwriteStaticCall : symbol
|
||||
|
||||
const constInitToCReadonlyStaticCallWithTypeQuery: typeof C.readonlyStaticCall = C.readonlyStaticCall;
|
||||
>constInitToCReadonlyStaticCallWithTypeQuery : symbol()
|
||||
>C.readonlyStaticCall : symbol()
|
||||
>constInitToCReadonlyStaticCallWithTypeQuery : unique symbol
|
||||
>C.readonlyStaticCall : unique symbol
|
||||
>C : typeof C
|
||||
>readonlyStaticCall : symbol()
|
||||
>C.readonlyStaticCall : symbol()
|
||||
>readonlyStaticCall : unique symbol
|
||||
>C.readonlyStaticCall : unique symbol
|
||||
>C : typeof C
|
||||
>readonlyStaticCall : symbol()
|
||||
>readonlyStaticCall : unique symbol
|
||||
|
||||
const constInitToCReadonlyStaticTypeWithTypeQuery: typeof C.readonlyStaticType = C.readonlyStaticType;
|
||||
>constInitToCReadonlyStaticTypeWithTypeQuery : symbol()
|
||||
>C.readonlyStaticType : symbol()
|
||||
>constInitToCReadonlyStaticTypeWithTypeQuery : unique symbol
|
||||
>C.readonlyStaticType : unique symbol
|
||||
>C : typeof C
|
||||
>readonlyStaticType : symbol()
|
||||
>C.readonlyStaticType : symbol()
|
||||
>readonlyStaticType : unique symbol
|
||||
>C.readonlyStaticType : unique symbol
|
||||
>C : typeof C
|
||||
>readonlyStaticType : symbol()
|
||||
>readonlyStaticType : unique symbol
|
||||
|
||||
const constInitToCReadonlyStaticTypeAndCallWithTypeQuery: typeof C.readonlyStaticTypeAndCall = C.readonlyStaticTypeAndCall;
|
||||
>constInitToCReadonlyStaticTypeAndCallWithTypeQuery : symbol()
|
||||
>C.readonlyStaticTypeAndCall : symbol()
|
||||
>constInitToCReadonlyStaticTypeAndCallWithTypeQuery : unique symbol
|
||||
>C.readonlyStaticTypeAndCall : unique symbol
|
||||
>C : typeof C
|
||||
>readonlyStaticTypeAndCall : symbol()
|
||||
>C.readonlyStaticTypeAndCall : symbol()
|
||||
>readonlyStaticTypeAndCall : unique symbol
|
||||
>C.readonlyStaticTypeAndCall : unique symbol
|
||||
>C : typeof C
|
||||
>readonlyStaticTypeAndCall : symbol()
|
||||
>readonlyStaticTypeAndCall : unique symbol
|
||||
|
||||
const constInitToCReadwriteStaticCallWithTypeQuery: typeof C.readwriteStaticCall = C.readwriteStaticCall;
|
||||
>constInitToCReadwriteStaticCallWithTypeQuery : symbol
|
||||
@@ -301,8 +301,8 @@ const constInitToCReadwriteCallWithIndexedAccess: C["readwriteCall"] = c.readwri
|
||||
interface I {
|
||||
>I : I
|
||||
|
||||
readonly readonlyType: symbol();
|
||||
>readonlyType : symbol()
|
||||
readonly readonlyType: unique symbol;
|
||||
>readonlyType : unique symbol
|
||||
}
|
||||
declare const i: I;
|
||||
>i : I
|
||||
@@ -310,38 +310,38 @@ declare const i: I;
|
||||
|
||||
const constInitToIReadonlyType = i.readonlyType;
|
||||
>constInitToIReadonlyType : symbol
|
||||
>i.readonlyType : symbol()
|
||||
>i.readonlyType : unique symbol
|
||||
>i : I
|
||||
>readonlyType : symbol()
|
||||
>readonlyType : unique symbol
|
||||
|
||||
const constInitToIReadonlyTypeWithTypeQuery: typeof i.readonlyType = i.readonlyType;
|
||||
>constInitToIReadonlyTypeWithTypeQuery : symbol()
|
||||
>i.readonlyType : symbol()
|
||||
>constInitToIReadonlyTypeWithTypeQuery : unique symbol
|
||||
>i.readonlyType : unique symbol
|
||||
>i : I
|
||||
>readonlyType : symbol()
|
||||
>i.readonlyType : symbol()
|
||||
>readonlyType : unique symbol
|
||||
>i.readonlyType : unique symbol
|
||||
>i : I
|
||||
>readonlyType : symbol()
|
||||
>readonlyType : unique symbol
|
||||
|
||||
const constInitToIReadonlyTypeWithIndexedAccess: I["readonlyType"] = i.readonlyType;
|
||||
>constInitToIReadonlyTypeWithIndexedAccess : symbol()
|
||||
>constInitToIReadonlyTypeWithIndexedAccess : unique symbol
|
||||
>I : I
|
||||
>i.readonlyType : symbol()
|
||||
>i.readonlyType : unique symbol
|
||||
>i : I
|
||||
>readonlyType : symbol()
|
||||
>readonlyType : unique symbol
|
||||
|
||||
// type literals
|
||||
type L = {
|
||||
>L : L
|
||||
|
||||
readonly readonlyType: symbol();
|
||||
>readonlyType : symbol()
|
||||
readonly readonlyType: unique symbol;
|
||||
>readonlyType : unique symbol
|
||||
|
||||
nested: {
|
||||
>nested : { readonly readonlyNestedType: symbol(); }
|
||||
>nested : { readonly readonlyNestedType: unique symbol; }
|
||||
|
||||
readonly readonlyNestedType: symbol();
|
||||
>readonlyNestedType : symbol()
|
||||
readonly readonlyNestedType: unique symbol;
|
||||
>readonlyNestedType : unique symbol
|
||||
}
|
||||
};
|
||||
declare const l: L;
|
||||
@@ -350,55 +350,55 @@ declare const l: L;
|
||||
|
||||
const constInitToLReadonlyType = l.readonlyType;
|
||||
>constInitToLReadonlyType : symbol
|
||||
>l.readonlyType : symbol()
|
||||
>l.readonlyType : unique symbol
|
||||
>l : L
|
||||
>readonlyType : symbol()
|
||||
>readonlyType : unique symbol
|
||||
|
||||
const constInitToLReadonlyNestedType = l.nested.readonlyNestedType;
|
||||
>constInitToLReadonlyNestedType : symbol
|
||||
>l.nested.readonlyNestedType : symbol()
|
||||
>l.nested : { readonly readonlyNestedType: symbol(); }
|
||||
>l.nested.readonlyNestedType : unique symbol
|
||||
>l.nested : { readonly readonlyNestedType: unique symbol; }
|
||||
>l : L
|
||||
>nested : { readonly readonlyNestedType: symbol(); }
|
||||
>readonlyNestedType : symbol()
|
||||
>nested : { readonly readonlyNestedType: unique symbol; }
|
||||
>readonlyNestedType : unique symbol
|
||||
|
||||
const constInitToLReadonlyTypeWithTypeQuery: typeof l.readonlyType = l.readonlyType;
|
||||
>constInitToLReadonlyTypeWithTypeQuery : symbol()
|
||||
>l.readonlyType : symbol()
|
||||
>constInitToLReadonlyTypeWithTypeQuery : unique symbol
|
||||
>l.readonlyType : unique symbol
|
||||
>l : L
|
||||
>readonlyType : symbol()
|
||||
>l.readonlyType : symbol()
|
||||
>readonlyType : unique symbol
|
||||
>l.readonlyType : unique symbol
|
||||
>l : L
|
||||
>readonlyType : symbol()
|
||||
>readonlyType : unique symbol
|
||||
|
||||
const constInitToLReadonlyNestedTypeWithTypeQuery: typeof l.nested.readonlyNestedType = l.nested.readonlyNestedType;
|
||||
>constInitToLReadonlyNestedTypeWithTypeQuery : symbol()
|
||||
>l.nested.readonlyNestedType : symbol()
|
||||
>l.nested : { readonly readonlyNestedType: symbol(); }
|
||||
>constInitToLReadonlyNestedTypeWithTypeQuery : unique symbol
|
||||
>l.nested.readonlyNestedType : unique symbol
|
||||
>l.nested : { readonly readonlyNestedType: unique symbol; }
|
||||
>l : L
|
||||
>nested : { readonly readonlyNestedType: symbol(); }
|
||||
>readonlyNestedType : symbol()
|
||||
>l.nested.readonlyNestedType : symbol()
|
||||
>l.nested : { readonly readonlyNestedType: symbol(); }
|
||||
>nested : { readonly readonlyNestedType: unique symbol; }
|
||||
>readonlyNestedType : unique symbol
|
||||
>l.nested.readonlyNestedType : unique symbol
|
||||
>l.nested : { readonly readonlyNestedType: unique symbol; }
|
||||
>l : L
|
||||
>nested : { readonly readonlyNestedType: symbol(); }
|
||||
>readonlyNestedType : symbol()
|
||||
>nested : { readonly readonlyNestedType: unique symbol; }
|
||||
>readonlyNestedType : unique symbol
|
||||
|
||||
const constInitToLReadonlyTypeWithIndexedAccess: L["readonlyType"] = l.readonlyType;
|
||||
>constInitToLReadonlyTypeWithIndexedAccess : symbol()
|
||||
>constInitToLReadonlyTypeWithIndexedAccess : unique symbol
|
||||
>L : L
|
||||
>l.readonlyType : symbol()
|
||||
>l.readonlyType : unique symbol
|
||||
>l : L
|
||||
>readonlyType : symbol()
|
||||
>readonlyType : unique symbol
|
||||
|
||||
const constInitToLReadonlyNestedTypeWithIndexedAccess: L["nested"]["readonlyNestedType"] = l.nested.readonlyNestedType;
|
||||
>constInitToLReadonlyNestedTypeWithIndexedAccess : symbol()
|
||||
>constInitToLReadonlyNestedTypeWithIndexedAccess : unique symbol
|
||||
>L : L
|
||||
>l.nested.readonlyNestedType : symbol()
|
||||
>l.nested : { readonly readonlyNestedType: symbol(); }
|
||||
>l.nested.readonlyNestedType : unique symbol
|
||||
>l.nested : { readonly readonlyNestedType: unique symbol; }
|
||||
>l : L
|
||||
>nested : { readonly readonlyNestedType: symbol(); }
|
||||
>readonlyNestedType : symbol()
|
||||
>nested : { readonly readonlyNestedType: unique symbol; }
|
||||
>readonlyNestedType : unique symbol
|
||||
|
||||
// type argument inference
|
||||
const promiseForConstCall = Promise.resolve(constCall);
|
||||
@@ -407,10 +407,10 @@ const promiseForConstCall = Promise.resolve(constCall);
|
||||
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
|
||||
>Promise : PromiseConstructor
|
||||
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
|
||||
>constCall : symbol()
|
||||
>constCall : unique symbol
|
||||
|
||||
const arrayOfConstCall = [constCall];
|
||||
>arrayOfConstCall : symbol[]
|
||||
>[constCall] : symbol[]
|
||||
>constCall : symbol()
|
||||
>constCall : unique symbol
|
||||
|
||||
|
||||
@@ -1,265 +1,265 @@
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(2,19): error TS1337: Unique 'symbol()' types may not be used on a variable declaration with a binding name.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(3,13): error TS1336: A variable whose type is a unique 'symbol()' type must be 'const'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(4,13): error TS1336: A variable whose type is a unique 'symbol()' type must be 'const'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(7,38): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(8,45): error TS1331: Unique 'symbol()' types are not allowed in an array type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(9,39): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(10,40): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(11,53): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(12,59): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(13,50): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(17,44): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(19,14): error TS1335: A property of a class whose type is a unique 'symbol()' type must be both 'static' and 'readonly'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(20,5): error TS1335: A property of a class whose type is a unique 'symbol()' type must be both 'static' and 'readonly'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(21,25): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(22,33): error TS1331: Unique 'symbol()' types are not allowed in an array type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(23,26): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(24,27): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(25,40): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(26,46): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(27,37): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(28,26): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(29,28): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(31,12): error TS1335: A property of a class whose type is a unique 'symbol()' type must be both 'static' and 'readonly'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(32,38): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(33,46): error TS1331: Unique 'symbol()' types are not allowed in an array type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(34,39): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(35,40): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(36,53): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(37,59): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(38,50): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(39,39): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(40,41): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(45,5): error TS1334: A property of an interface or type literal whose type is a unique 'symbol()' type must be 'readonly'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(46,25): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(47,33): error TS1331: Unique 'symbol()' types are not allowed in an array type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(48,26): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(49,27): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(50,40): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(51,46): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(52,37): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(57,5): error TS1334: A property of an interface or type literal whose type is a unique 'symbol()' type must be 'readonly'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(58,25): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(59,33): error TS1331: Unique 'symbol()' types are not allowed in an array type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(60,26): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(61,27): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(62,40): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(63,46): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(64,37): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(68,21): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(69,52): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(70,49): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(73,44): error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(74,33): error TS1331: Unique 'symbol()' types are not allowed in an array type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(75,34): error TS1332: Unique 'symbol()' types are not allowed in a tuple type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(78,51): error TS1333: Unique 'symbol()' types are not allowed in a mapped type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(81,29): error TS1329: Unique 'symbol()' types are not allowed in a union type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(81,40): error TS1329: Unique 'symbol()' types are not allowed in a union type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(82,36): error TS1329: Unique 'symbol()' types are not allowed in a union type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(82,47): error TS1329: Unique 'symbol()' types are not allowed in a union type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(2,19): error TS1337: 'unique symbol' types may not be used on a variable declaration with a binding name.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(3,13): error TS1336: A variable whose type is a 'unique symbol' type must be 'const'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(4,13): error TS1336: A variable whose type is a 'unique symbol' type must be 'const'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(7,38): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(8,45): error TS1331: 'unique symbol' types are not allowed in an array type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(9,39): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(10,40): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(11,53): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(12,59): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(13,50): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(17,44): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(19,14): error TS1335: A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(20,5): error TS1335: A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(21,25): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(22,33): error TS1331: 'unique symbol' types are not allowed in an array type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(23,26): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(24,27): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(25,40): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(26,46): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(27,37): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(28,26): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(29,28): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(31,12): error TS1335: A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(32,38): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(33,46): error TS1331: 'unique symbol' types are not allowed in an array type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(34,39): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(35,40): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(36,53): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(37,59): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(38,50): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(39,39): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(40,41): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(45,5): error TS1334: A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(46,25): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(47,33): error TS1331: 'unique symbol' types are not allowed in an array type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(48,26): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(49,27): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(50,40): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(51,46): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(52,37): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(57,5): error TS1334: A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(58,25): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(59,33): error TS1331: 'unique symbol' types are not allowed in an array type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(60,26): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(61,27): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(62,40): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(63,46): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(64,37): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(68,21): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(69,52): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(70,49): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(73,44): error TS1339: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(74,33): error TS1331: 'unique symbol' types are not allowed in an array type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(75,34): error TS1332: 'unique symbol' types are not allowed in a tuple type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(78,51): error TS1333: 'unique symbol' types are not allowed in a mapped type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(81,29): error TS1329: 'unique symbol' types are not allowed in a union type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(81,45): error TS1329: 'unique symbol' types are not allowed in a union type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(82,36): error TS1329: 'unique symbol' types are not allowed in a union type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(82,52): error TS1329: 'unique symbol' types are not allowed in a union type.
|
||||
|
||||
|
||||
==== tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts (59 errors) ====
|
||||
// declarations
|
||||
declare const {}: symbol();
|
||||
~~~~~~~~
|
||||
!!! error TS1337: Unique 'symbol()' types may not be used on a variable declaration with a binding name.
|
||||
declare let invalidLetType: symbol();
|
||||
declare const {}: unique symbol;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1337: 'unique symbol' types may not be used on a variable declaration with a binding name.
|
||||
declare let invalidLetType: unique symbol;
|
||||
~~~~~~~~~~~~~~
|
||||
!!! error TS1336: A variable whose type is a unique 'symbol()' type must be 'const'.
|
||||
declare var invalidVarType: symbol();
|
||||
!!! error TS1336: A variable whose type is a 'unique symbol' type must be 'const'.
|
||||
declare var invalidVarType: unique symbol;
|
||||
~~~~~~~~~~~~~~
|
||||
!!! error TS1336: A variable whose type is a unique 'symbol()' type must be 'const'.
|
||||
!!! error TS1336: A variable whose type is a 'unique symbol' type must be 'const'.
|
||||
|
||||
// function arguments and return types
|
||||
declare function invalidArgType(arg: symbol()): void;
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
declare function invalidRestArgType(...arg: symbol()[]): void;
|
||||
~~~~~~~~
|
||||
!!! error TS1331: Unique 'symbol()' types are not allowed in an array type.
|
||||
declare function invalidReturnType(): symbol();
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
declare function invalidThisType(this: symbol()): void;
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
declare function invalidTypePredicate(n: any): n is symbol();
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
declare function invalidTypeParameterConstraint<T extends symbol()>(): void;
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
declare function invalidTypeParameterDefault<T = symbol()>(): void;
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
declare function invalidArgType(arg: unique symbol): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
declare function invalidRestArgType(...arg: unique symbol[]): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1331: 'unique symbol' types are not allowed in an array type.
|
||||
declare function invalidReturnType(): unique symbol;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
declare function invalidThisType(this: unique symbol): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
declare function invalidTypePredicate(n: any): n is unique symbol;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
declare function invalidTypeParameterConstraint<T extends unique symbol>(): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
declare function invalidTypeParameterDefault<T = unique symbol>(): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
|
||||
// classes
|
||||
class InvalidClass {
|
||||
constructor(invalidConstructorArgType: symbol()) {}
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
constructor(invalidConstructorArgType: unique symbol) {}
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
|
||||
readonly invalidReadonlyPropertyType: symbol();
|
||||
readonly invalidReadonlyPropertyType: unique symbol;
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS1335: A property of a class whose type is a unique 'symbol()' type must be both 'static' and 'readonly'.
|
||||
invalidPropertyType: symbol();
|
||||
!!! error TS1335: A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.
|
||||
invalidPropertyType: unique symbol;
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS1335: A property of a class whose type is a unique 'symbol()' type must be both 'static' and 'readonly'.
|
||||
invalidArgType(arg: symbol()): void { return; }
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
invalidRestArgType(...args: symbol()[]): void { return; }
|
||||
~~~~~~~~
|
||||
!!! error TS1331: Unique 'symbol()' types are not allowed in an array type.
|
||||
invalidReturnType(): symbol() { return; }
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
invalidThisType(this: symbol()): void { return; }
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
invalidTypePredicate(n: any): n is symbol() { return; }
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
invalidTypeParameterConstraint<T extends symbol()>(): void { return; }
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
invalidTypeParameterDefault<T = symbol()>(): void { return; }
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
get invalidGetter(): symbol() { return; }
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
set invalidSetter(arg: symbol()) { return; }
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
!!! error TS1335: A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.
|
||||
invalidArgType(arg: unique symbol): void { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
invalidRestArgType(...args: unique symbol[]): void { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1331: 'unique symbol' types are not allowed in an array type.
|
||||
invalidReturnType(): unique symbol { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
invalidThisType(this: unique symbol): void { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
invalidTypePredicate(n: any): n is unique symbol { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
invalidTypeParameterConstraint<T extends unique symbol>(): void { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
invalidTypeParameterDefault<T = unique symbol>(): void { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
get invalidGetter(): unique symbol { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
set invalidSetter(arg: unique symbol) { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
|
||||
static invalidStaticPropertyType: symbol();
|
||||
static invalidStaticPropertyType: unique symbol;
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS1335: A property of a class whose type is a unique 'symbol()' type must be both 'static' and 'readonly'.
|
||||
static invalidStaticArgType(arg: symbol()): void { return; }
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
static invalidStaticRestArgType(...args: symbol()[]): void { return; }
|
||||
~~~~~~~~
|
||||
!!! error TS1331: Unique 'symbol()' types are not allowed in an array type.
|
||||
static invalidStaticReturnType(): symbol() { return; }
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
static invalidStaticThisType(this: symbol()): void { return; }
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
static invalidStaticTypePredicate(n: any): n is symbol() { return; }
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
static invalidStaticTypeParameterConstraint<T extends symbol()>(): void { return; }
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
static invalidStaticTypeParameterDefault<T = symbol()>(): void { return; }
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
static get invalidStaticGetter(): symbol() { return; }
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
static set invalidStaticSetter(arg: symbol()) { return; }
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
!!! error TS1335: A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.
|
||||
static invalidStaticArgType(arg: unique symbol): void { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
static invalidStaticRestArgType(...args: unique symbol[]): void { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1331: 'unique symbol' types are not allowed in an array type.
|
||||
static invalidStaticReturnType(): unique symbol { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
static invalidStaticThisType(this: unique symbol): void { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
static invalidStaticTypePredicate(n: any): n is unique symbol { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
static invalidStaticTypeParameterConstraint<T extends unique symbol>(): void { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
static invalidStaticTypeParameterDefault<T = unique symbol>(): void { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
static get invalidStaticGetter(): unique symbol { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
static set invalidStaticSetter(arg: unique symbol) { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
}
|
||||
|
||||
// interfaces
|
||||
interface InvalidInterface {
|
||||
invalidPropertyType: symbol();
|
||||
invalidPropertyType: unique symbol;
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS1334: A property of an interface or type literal whose type is a unique 'symbol()' type must be 'readonly'.
|
||||
invalidArgType(arg: symbol()): void;
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
invalidRestArgType(...args: symbol()[]): void;
|
||||
~~~~~~~~
|
||||
!!! error TS1331: Unique 'symbol()' types are not allowed in an array type.
|
||||
invalidReturnType(): symbol();
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
invalidThisType(this: symbol());
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
invalidTypePredicate(n: any): n is symbol()
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
invalidTypeParameterConstraint<T extends symbol()>(): void;
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
invalidTypeParameterDefault<T = symbol()>(): void;
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
!!! error TS1334: A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.
|
||||
invalidArgType(arg: unique symbol): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
invalidRestArgType(...args: unique symbol[]): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1331: 'unique symbol' types are not allowed in an array type.
|
||||
invalidReturnType(): unique symbol;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
invalidThisType(this: unique symbol);
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
invalidTypePredicate(n: any): n is unique symbol
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
invalidTypeParameterConstraint<T extends unique symbol>(): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
invalidTypeParameterDefault<T = unique symbol>(): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
}
|
||||
|
||||
// type literals
|
||||
type InvalidTypeLiteral = {
|
||||
invalidPropertyType: symbol();
|
||||
invalidPropertyType: unique symbol;
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS1334: A property of an interface or type literal whose type is a unique 'symbol()' type must be 'readonly'.
|
||||
invalidArgType(arg: symbol()): void;
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
invalidRestArgType(...args: symbol()[]): void;
|
||||
~~~~~~~~
|
||||
!!! error TS1331: Unique 'symbol()' types are not allowed in an array type.
|
||||
invalidReturnType(): symbol();
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
invalidThisType(this: symbol());
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
invalidTypePredicate(n: any): n is symbol()
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
invalidTypeParameterConstraint<T extends symbol()>(): void;
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
invalidTypeParameterDefault<T = symbol()>(): void;
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
!!! error TS1334: A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.
|
||||
invalidArgType(arg: unique symbol): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
invalidRestArgType(...args: unique symbol[]): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1331: 'unique symbol' types are not allowed in an array type.
|
||||
invalidReturnType(): unique symbol;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
invalidThisType(this: unique symbol);
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
invalidTypePredicate(n: any): n is unique symbol
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
invalidTypeParameterConstraint<T extends unique symbol>(): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
invalidTypeParameterDefault<T = unique symbol>(): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
};
|
||||
|
||||
// type alias
|
||||
type InvalidAlias = symbol();
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
type InvalidAliasTypeParameterConstraint<T extends symbol()> = never;
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
type InvalidAliasTypeParameterDefault<T extends symbol()> = never;
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
type InvalidAlias = unique symbol;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
type InvalidAliasTypeParameterConstraint<T extends unique symbol> = never;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
type InvalidAliasTypeParameterDefault<T extends unique symbol> = never;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
|
||||
// type references
|
||||
declare const invalidTypeArgument: Promise<symbol()>;
|
||||
~~~~~~~~
|
||||
!!! error TS1339: Unique 'symbol()' types are not allowed here.
|
||||
declare const invalidArrayType: symbol()[];
|
||||
~~~~~~~~
|
||||
!!! error TS1331: Unique 'symbol()' types are not allowed in an array type.
|
||||
declare const invalidTupleType: [symbol()];
|
||||
~~~~~~~~
|
||||
!!! error TS1332: Unique 'symbol()' types are not allowed in a tuple type.
|
||||
declare const invalidTypeArgument: Promise<unique symbol>;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1339: 'unique symbol' types are not allowed here.
|
||||
declare const invalidArrayType: unique symbol[];
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1331: 'unique symbol' types are not allowed in an array type.
|
||||
declare const invalidTupleType: [unique symbol];
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1332: 'unique symbol' types are not allowed in a tuple type.
|
||||
|
||||
// mapped types
|
||||
declare const invalidMappedType: { [P in string]: symbol() };
|
||||
~~~~~~~~
|
||||
!!! error TS1333: Unique 'symbol()' types are not allowed in a mapped type.
|
||||
declare const invalidMappedType: { [P in string]: unique symbol };
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1333: 'unique symbol' types are not allowed in a mapped type.
|
||||
|
||||
// unions/intersection
|
||||
declare const invalidUnion: symbol() | symbol();
|
||||
~~~~~~~~
|
||||
!!! error TS1329: Unique 'symbol()' types are not allowed in a union type.
|
||||
~~~~~~~~
|
||||
!!! error TS1329: Unique 'symbol()' types are not allowed in a union type.
|
||||
declare const invalidIntersection: symbol() | symbol();
|
||||
~~~~~~~~
|
||||
!!! error TS1329: Unique 'symbol()' types are not allowed in a union type.
|
||||
~~~~~~~~
|
||||
!!! error TS1329: Unique 'symbol()' types are not allowed in a union type.
|
||||
declare const invalidUnion: unique symbol | unique symbol;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1329: 'unique symbol' types are not allowed in a union type.
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1329: 'unique symbol' types are not allowed in a union type.
|
||||
declare const invalidIntersection: unique symbol | unique symbol;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1329: 'unique symbol' types are not allowed in a union type.
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1329: 'unique symbol' types are not allowed in a union type.
|
||||
|
||||
|
||||
|
||||
@@ -1,86 +1,86 @@
|
||||
//// [uniqueSymbolsErrors.ts]
|
||||
// declarations
|
||||
declare const {}: symbol();
|
||||
declare let invalidLetType: symbol();
|
||||
declare var invalidVarType: symbol();
|
||||
declare const {}: unique symbol;
|
||||
declare let invalidLetType: unique symbol;
|
||||
declare var invalidVarType: unique symbol;
|
||||
|
||||
// function arguments and return types
|
||||
declare function invalidArgType(arg: symbol()): void;
|
||||
declare function invalidRestArgType(...arg: symbol()[]): void;
|
||||
declare function invalidReturnType(): symbol();
|
||||
declare function invalidThisType(this: symbol()): void;
|
||||
declare function invalidTypePredicate(n: any): n is symbol();
|
||||
declare function invalidTypeParameterConstraint<T extends symbol()>(): void;
|
||||
declare function invalidTypeParameterDefault<T = symbol()>(): void;
|
||||
declare function invalidArgType(arg: unique symbol): void;
|
||||
declare function invalidRestArgType(...arg: unique symbol[]): void;
|
||||
declare function invalidReturnType(): unique symbol;
|
||||
declare function invalidThisType(this: unique symbol): void;
|
||||
declare function invalidTypePredicate(n: any): n is unique symbol;
|
||||
declare function invalidTypeParameterConstraint<T extends unique symbol>(): void;
|
||||
declare function invalidTypeParameterDefault<T = unique symbol>(): void;
|
||||
|
||||
// classes
|
||||
class InvalidClass {
|
||||
constructor(invalidConstructorArgType: symbol()) {}
|
||||
constructor(invalidConstructorArgType: unique symbol) {}
|
||||
|
||||
readonly invalidReadonlyPropertyType: symbol();
|
||||
invalidPropertyType: symbol();
|
||||
invalidArgType(arg: symbol()): void { return; }
|
||||
invalidRestArgType(...args: symbol()[]): void { return; }
|
||||
invalidReturnType(): symbol() { return; }
|
||||
invalidThisType(this: symbol()): void { return; }
|
||||
invalidTypePredicate(n: any): n is symbol() { return; }
|
||||
invalidTypeParameterConstraint<T extends symbol()>(): void { return; }
|
||||
invalidTypeParameterDefault<T = symbol()>(): void { return; }
|
||||
get invalidGetter(): symbol() { return; }
|
||||
set invalidSetter(arg: symbol()) { return; }
|
||||
readonly invalidReadonlyPropertyType: unique symbol;
|
||||
invalidPropertyType: unique symbol;
|
||||
invalidArgType(arg: unique symbol): void { return; }
|
||||
invalidRestArgType(...args: unique symbol[]): void { return; }
|
||||
invalidReturnType(): unique symbol { return; }
|
||||
invalidThisType(this: unique symbol): void { return; }
|
||||
invalidTypePredicate(n: any): n is unique symbol { return; }
|
||||
invalidTypeParameterConstraint<T extends unique symbol>(): void { return; }
|
||||
invalidTypeParameterDefault<T = unique symbol>(): void { return; }
|
||||
get invalidGetter(): unique symbol { return; }
|
||||
set invalidSetter(arg: unique symbol) { return; }
|
||||
|
||||
static invalidStaticPropertyType: symbol();
|
||||
static invalidStaticArgType(arg: symbol()): void { return; }
|
||||
static invalidStaticRestArgType(...args: symbol()[]): void { return; }
|
||||
static invalidStaticReturnType(): symbol() { return; }
|
||||
static invalidStaticThisType(this: symbol()): void { return; }
|
||||
static invalidStaticTypePredicate(n: any): n is symbol() { return; }
|
||||
static invalidStaticTypeParameterConstraint<T extends symbol()>(): void { return; }
|
||||
static invalidStaticTypeParameterDefault<T = symbol()>(): void { return; }
|
||||
static get invalidStaticGetter(): symbol() { return; }
|
||||
static set invalidStaticSetter(arg: symbol()) { return; }
|
||||
static invalidStaticPropertyType: unique symbol;
|
||||
static invalidStaticArgType(arg: unique symbol): void { return; }
|
||||
static invalidStaticRestArgType(...args: unique symbol[]): void { return; }
|
||||
static invalidStaticReturnType(): unique symbol { return; }
|
||||
static invalidStaticThisType(this: unique symbol): void { return; }
|
||||
static invalidStaticTypePredicate(n: any): n is unique symbol { return; }
|
||||
static invalidStaticTypeParameterConstraint<T extends unique symbol>(): void { return; }
|
||||
static invalidStaticTypeParameterDefault<T = unique symbol>(): void { return; }
|
||||
static get invalidStaticGetter(): unique symbol { return; }
|
||||
static set invalidStaticSetter(arg: unique symbol) { return; }
|
||||
}
|
||||
|
||||
// interfaces
|
||||
interface InvalidInterface {
|
||||
invalidPropertyType: symbol();
|
||||
invalidArgType(arg: symbol()): void;
|
||||
invalidRestArgType(...args: symbol()[]): void;
|
||||
invalidReturnType(): symbol();
|
||||
invalidThisType(this: symbol());
|
||||
invalidTypePredicate(n: any): n is symbol()
|
||||
invalidTypeParameterConstraint<T extends symbol()>(): void;
|
||||
invalidTypeParameterDefault<T = symbol()>(): void;
|
||||
invalidPropertyType: unique symbol;
|
||||
invalidArgType(arg: unique symbol): void;
|
||||
invalidRestArgType(...args: unique symbol[]): void;
|
||||
invalidReturnType(): unique symbol;
|
||||
invalidThisType(this: unique symbol);
|
||||
invalidTypePredicate(n: any): n is unique symbol
|
||||
invalidTypeParameterConstraint<T extends unique symbol>(): void;
|
||||
invalidTypeParameterDefault<T = unique symbol>(): void;
|
||||
}
|
||||
|
||||
// type literals
|
||||
type InvalidTypeLiteral = {
|
||||
invalidPropertyType: symbol();
|
||||
invalidArgType(arg: symbol()): void;
|
||||
invalidRestArgType(...args: symbol()[]): void;
|
||||
invalidReturnType(): symbol();
|
||||
invalidThisType(this: symbol());
|
||||
invalidTypePredicate(n: any): n is symbol()
|
||||
invalidTypeParameterConstraint<T extends symbol()>(): void;
|
||||
invalidTypeParameterDefault<T = symbol()>(): void;
|
||||
invalidPropertyType: unique symbol;
|
||||
invalidArgType(arg: unique symbol): void;
|
||||
invalidRestArgType(...args: unique symbol[]): void;
|
||||
invalidReturnType(): unique symbol;
|
||||
invalidThisType(this: unique symbol);
|
||||
invalidTypePredicate(n: any): n is unique symbol
|
||||
invalidTypeParameterConstraint<T extends unique symbol>(): void;
|
||||
invalidTypeParameterDefault<T = unique symbol>(): void;
|
||||
};
|
||||
|
||||
// type alias
|
||||
type InvalidAlias = symbol();
|
||||
type InvalidAliasTypeParameterConstraint<T extends symbol()> = never;
|
||||
type InvalidAliasTypeParameterDefault<T extends symbol()> = never;
|
||||
type InvalidAlias = unique symbol;
|
||||
type InvalidAliasTypeParameterConstraint<T extends unique symbol> = never;
|
||||
type InvalidAliasTypeParameterDefault<T extends unique symbol> = never;
|
||||
|
||||
// type references
|
||||
declare const invalidTypeArgument: Promise<symbol()>;
|
||||
declare const invalidArrayType: symbol()[];
|
||||
declare const invalidTupleType: [symbol()];
|
||||
declare const invalidTypeArgument: Promise<unique symbol>;
|
||||
declare const invalidArrayType: unique symbol[];
|
||||
declare const invalidTupleType: [unique symbol];
|
||||
|
||||
// mapped types
|
||||
declare const invalidMappedType: { [P in string]: symbol() };
|
||||
declare const invalidMappedType: { [P in string]: unique symbol };
|
||||
|
||||
// unions/intersection
|
||||
declare const invalidUnion: symbol() | symbol();
|
||||
declare const invalidIntersection: symbol() | symbol();
|
||||
declare const invalidUnion: unique symbol | unique symbol;
|
||||
declare const invalidIntersection: unique symbol | unique symbol;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,125 +1,125 @@
|
||||
=== tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts ===
|
||||
// declarations
|
||||
declare const {}: symbol();
|
||||
declare let invalidLetType: symbol();
|
||||
declare const {}: unique symbol;
|
||||
declare let invalidLetType: unique symbol;
|
||||
>invalidLetType : Symbol(invalidLetType, Decl(uniqueSymbolsErrors.ts, 2, 11))
|
||||
|
||||
declare var invalidVarType: symbol();
|
||||
declare var invalidVarType: unique symbol;
|
||||
>invalidVarType : Symbol(invalidVarType, Decl(uniqueSymbolsErrors.ts, 3, 11))
|
||||
|
||||
// function arguments and return types
|
||||
declare function invalidArgType(arg: symbol()): void;
|
||||
>invalidArgType : Symbol(invalidArgType, Decl(uniqueSymbolsErrors.ts, 3, 37))
|
||||
declare function invalidArgType(arg: unique symbol): void;
|
||||
>invalidArgType : Symbol(invalidArgType, Decl(uniqueSymbolsErrors.ts, 3, 42))
|
||||
>arg : Symbol(arg, Decl(uniqueSymbolsErrors.ts, 6, 32))
|
||||
|
||||
declare function invalidRestArgType(...arg: symbol()[]): void;
|
||||
>invalidRestArgType : Symbol(invalidRestArgType, Decl(uniqueSymbolsErrors.ts, 6, 53))
|
||||
declare function invalidRestArgType(...arg: unique symbol[]): void;
|
||||
>invalidRestArgType : Symbol(invalidRestArgType, Decl(uniqueSymbolsErrors.ts, 6, 58))
|
||||
>arg : Symbol(arg, Decl(uniqueSymbolsErrors.ts, 7, 36))
|
||||
|
||||
declare function invalidReturnType(): symbol();
|
||||
>invalidReturnType : Symbol(invalidReturnType, Decl(uniqueSymbolsErrors.ts, 7, 62))
|
||||
declare function invalidReturnType(): unique symbol;
|
||||
>invalidReturnType : Symbol(invalidReturnType, Decl(uniqueSymbolsErrors.ts, 7, 67))
|
||||
|
||||
declare function invalidThisType(this: symbol()): void;
|
||||
>invalidThisType : Symbol(invalidThisType, Decl(uniqueSymbolsErrors.ts, 8, 47))
|
||||
declare function invalidThisType(this: unique symbol): void;
|
||||
>invalidThisType : Symbol(invalidThisType, Decl(uniqueSymbolsErrors.ts, 8, 52))
|
||||
>this : Symbol(this, Decl(uniqueSymbolsErrors.ts, 9, 33))
|
||||
|
||||
declare function invalidTypePredicate(n: any): n is symbol();
|
||||
>invalidTypePredicate : Symbol(invalidTypePredicate, Decl(uniqueSymbolsErrors.ts, 9, 55))
|
||||
declare function invalidTypePredicate(n: any): n is unique symbol;
|
||||
>invalidTypePredicate : Symbol(invalidTypePredicate, Decl(uniqueSymbolsErrors.ts, 9, 60))
|
||||
>n : Symbol(n, Decl(uniqueSymbolsErrors.ts, 10, 38))
|
||||
>n : Symbol(n, Decl(uniqueSymbolsErrors.ts, 10, 38))
|
||||
|
||||
declare function invalidTypeParameterConstraint<T extends symbol()>(): void;
|
||||
>invalidTypeParameterConstraint : Symbol(invalidTypeParameterConstraint, Decl(uniqueSymbolsErrors.ts, 10, 61))
|
||||
declare function invalidTypeParameterConstraint<T extends unique symbol>(): void;
|
||||
>invalidTypeParameterConstraint : Symbol(invalidTypeParameterConstraint, Decl(uniqueSymbolsErrors.ts, 10, 66))
|
||||
>T : Symbol(T, Decl(uniqueSymbolsErrors.ts, 11, 48))
|
||||
|
||||
declare function invalidTypeParameterDefault<T = symbol()>(): void;
|
||||
>invalidTypeParameterDefault : Symbol(invalidTypeParameterDefault, Decl(uniqueSymbolsErrors.ts, 11, 76))
|
||||
declare function invalidTypeParameterDefault<T = unique symbol>(): void;
|
||||
>invalidTypeParameterDefault : Symbol(invalidTypeParameterDefault, Decl(uniqueSymbolsErrors.ts, 11, 81))
|
||||
>T : Symbol(T, Decl(uniqueSymbolsErrors.ts, 12, 45))
|
||||
|
||||
// classes
|
||||
class InvalidClass {
|
||||
>InvalidClass : Symbol(InvalidClass, Decl(uniqueSymbolsErrors.ts, 12, 67))
|
||||
>InvalidClass : Symbol(InvalidClass, Decl(uniqueSymbolsErrors.ts, 12, 72))
|
||||
|
||||
constructor(invalidConstructorArgType: symbol()) {}
|
||||
constructor(invalidConstructorArgType: unique symbol) {}
|
||||
>invalidConstructorArgType : Symbol(invalidConstructorArgType, Decl(uniqueSymbolsErrors.ts, 16, 16))
|
||||
|
||||
readonly invalidReadonlyPropertyType: symbol();
|
||||
>invalidReadonlyPropertyType : Symbol(InvalidClass.invalidReadonlyPropertyType, Decl(uniqueSymbolsErrors.ts, 16, 55))
|
||||
readonly invalidReadonlyPropertyType: unique symbol;
|
||||
>invalidReadonlyPropertyType : Symbol(InvalidClass.invalidReadonlyPropertyType, Decl(uniqueSymbolsErrors.ts, 16, 60))
|
||||
|
||||
invalidPropertyType: symbol();
|
||||
>invalidPropertyType : Symbol(InvalidClass.invalidPropertyType, Decl(uniqueSymbolsErrors.ts, 18, 51))
|
||||
invalidPropertyType: unique symbol;
|
||||
>invalidPropertyType : Symbol(InvalidClass.invalidPropertyType, Decl(uniqueSymbolsErrors.ts, 18, 56))
|
||||
|
||||
invalidArgType(arg: symbol()): void { return; }
|
||||
>invalidArgType : Symbol(InvalidClass.invalidArgType, Decl(uniqueSymbolsErrors.ts, 19, 34))
|
||||
invalidArgType(arg: unique symbol): void { return; }
|
||||
>invalidArgType : Symbol(InvalidClass.invalidArgType, Decl(uniqueSymbolsErrors.ts, 19, 39))
|
||||
>arg : Symbol(arg, Decl(uniqueSymbolsErrors.ts, 20, 19))
|
||||
|
||||
invalidRestArgType(...args: symbol()[]): void { return; }
|
||||
>invalidRestArgType : Symbol(InvalidClass.invalidRestArgType, Decl(uniqueSymbolsErrors.ts, 20, 51))
|
||||
invalidRestArgType(...args: unique symbol[]): void { return; }
|
||||
>invalidRestArgType : Symbol(InvalidClass.invalidRestArgType, Decl(uniqueSymbolsErrors.ts, 20, 56))
|
||||
>args : Symbol(args, Decl(uniqueSymbolsErrors.ts, 21, 23))
|
||||
|
||||
invalidReturnType(): symbol() { return; }
|
||||
>invalidReturnType : Symbol(InvalidClass.invalidReturnType, Decl(uniqueSymbolsErrors.ts, 21, 61))
|
||||
invalidReturnType(): unique symbol { return; }
|
||||
>invalidReturnType : Symbol(InvalidClass.invalidReturnType, Decl(uniqueSymbolsErrors.ts, 21, 66))
|
||||
|
||||
invalidThisType(this: symbol()): void { return; }
|
||||
>invalidThisType : Symbol(InvalidClass.invalidThisType, Decl(uniqueSymbolsErrors.ts, 22, 45))
|
||||
invalidThisType(this: unique symbol): void { return; }
|
||||
>invalidThisType : Symbol(InvalidClass.invalidThisType, Decl(uniqueSymbolsErrors.ts, 22, 50))
|
||||
>this : Symbol(this, Decl(uniqueSymbolsErrors.ts, 23, 20))
|
||||
|
||||
invalidTypePredicate(n: any): n is symbol() { return; }
|
||||
>invalidTypePredicate : Symbol(InvalidClass.invalidTypePredicate, Decl(uniqueSymbolsErrors.ts, 23, 53))
|
||||
invalidTypePredicate(n: any): n is unique symbol { return; }
|
||||
>invalidTypePredicate : Symbol(InvalidClass.invalidTypePredicate, Decl(uniqueSymbolsErrors.ts, 23, 58))
|
||||
>n : Symbol(n, Decl(uniqueSymbolsErrors.ts, 24, 25))
|
||||
>n : Symbol(n, Decl(uniqueSymbolsErrors.ts, 24, 25))
|
||||
|
||||
invalidTypeParameterConstraint<T extends symbol()>(): void { return; }
|
||||
>invalidTypeParameterConstraint : Symbol(InvalidClass.invalidTypeParameterConstraint, Decl(uniqueSymbolsErrors.ts, 24, 59))
|
||||
invalidTypeParameterConstraint<T extends unique symbol>(): void { return; }
|
||||
>invalidTypeParameterConstraint : Symbol(InvalidClass.invalidTypeParameterConstraint, Decl(uniqueSymbolsErrors.ts, 24, 64))
|
||||
>T : Symbol(T, Decl(uniqueSymbolsErrors.ts, 25, 35))
|
||||
|
||||
invalidTypeParameterDefault<T = symbol()>(): void { return; }
|
||||
>invalidTypeParameterDefault : Symbol(InvalidClass.invalidTypeParameterDefault, Decl(uniqueSymbolsErrors.ts, 25, 74))
|
||||
invalidTypeParameterDefault<T = unique symbol>(): void { return; }
|
||||
>invalidTypeParameterDefault : Symbol(InvalidClass.invalidTypeParameterDefault, Decl(uniqueSymbolsErrors.ts, 25, 79))
|
||||
>T : Symbol(T, Decl(uniqueSymbolsErrors.ts, 26, 32))
|
||||
|
||||
get invalidGetter(): symbol() { return; }
|
||||
>invalidGetter : Symbol(InvalidClass.invalidGetter, Decl(uniqueSymbolsErrors.ts, 26, 65))
|
||||
get invalidGetter(): unique symbol { return; }
|
||||
>invalidGetter : Symbol(InvalidClass.invalidGetter, Decl(uniqueSymbolsErrors.ts, 26, 70))
|
||||
|
||||
set invalidSetter(arg: symbol()) { return; }
|
||||
>invalidSetter : Symbol(InvalidClass.invalidSetter, Decl(uniqueSymbolsErrors.ts, 27, 45))
|
||||
set invalidSetter(arg: unique symbol) { return; }
|
||||
>invalidSetter : Symbol(InvalidClass.invalidSetter, Decl(uniqueSymbolsErrors.ts, 27, 50))
|
||||
>arg : Symbol(arg, Decl(uniqueSymbolsErrors.ts, 28, 22))
|
||||
|
||||
static invalidStaticPropertyType: symbol();
|
||||
>invalidStaticPropertyType : Symbol(InvalidClass.invalidStaticPropertyType, Decl(uniqueSymbolsErrors.ts, 28, 48))
|
||||
static invalidStaticPropertyType: unique symbol;
|
||||
>invalidStaticPropertyType : Symbol(InvalidClass.invalidStaticPropertyType, Decl(uniqueSymbolsErrors.ts, 28, 53))
|
||||
|
||||
static invalidStaticArgType(arg: symbol()): void { return; }
|
||||
>invalidStaticArgType : Symbol(InvalidClass.invalidStaticArgType, Decl(uniqueSymbolsErrors.ts, 30, 47))
|
||||
static invalidStaticArgType(arg: unique symbol): void { return; }
|
||||
>invalidStaticArgType : Symbol(InvalidClass.invalidStaticArgType, Decl(uniqueSymbolsErrors.ts, 30, 52))
|
||||
>arg : Symbol(arg, Decl(uniqueSymbolsErrors.ts, 31, 32))
|
||||
|
||||
static invalidStaticRestArgType(...args: symbol()[]): void { return; }
|
||||
>invalidStaticRestArgType : Symbol(InvalidClass.invalidStaticRestArgType, Decl(uniqueSymbolsErrors.ts, 31, 64))
|
||||
static invalidStaticRestArgType(...args: unique symbol[]): void { return; }
|
||||
>invalidStaticRestArgType : Symbol(InvalidClass.invalidStaticRestArgType, Decl(uniqueSymbolsErrors.ts, 31, 69))
|
||||
>args : Symbol(args, Decl(uniqueSymbolsErrors.ts, 32, 36))
|
||||
|
||||
static invalidStaticReturnType(): symbol() { return; }
|
||||
>invalidStaticReturnType : Symbol(InvalidClass.invalidStaticReturnType, Decl(uniqueSymbolsErrors.ts, 32, 74))
|
||||
static invalidStaticReturnType(): unique symbol { return; }
|
||||
>invalidStaticReturnType : Symbol(InvalidClass.invalidStaticReturnType, Decl(uniqueSymbolsErrors.ts, 32, 79))
|
||||
|
||||
static invalidStaticThisType(this: symbol()): void { return; }
|
||||
>invalidStaticThisType : Symbol(InvalidClass.invalidStaticThisType, Decl(uniqueSymbolsErrors.ts, 33, 58))
|
||||
static invalidStaticThisType(this: unique symbol): void { return; }
|
||||
>invalidStaticThisType : Symbol(InvalidClass.invalidStaticThisType, Decl(uniqueSymbolsErrors.ts, 33, 63))
|
||||
>this : Symbol(this, Decl(uniqueSymbolsErrors.ts, 34, 33))
|
||||
|
||||
static invalidStaticTypePredicate(n: any): n is symbol() { return; }
|
||||
>invalidStaticTypePredicate : Symbol(InvalidClass.invalidStaticTypePredicate, Decl(uniqueSymbolsErrors.ts, 34, 66))
|
||||
static invalidStaticTypePredicate(n: any): n is unique symbol { return; }
|
||||
>invalidStaticTypePredicate : Symbol(InvalidClass.invalidStaticTypePredicate, Decl(uniqueSymbolsErrors.ts, 34, 71))
|
||||
>n : Symbol(n, Decl(uniqueSymbolsErrors.ts, 35, 38))
|
||||
>n : Symbol(n, Decl(uniqueSymbolsErrors.ts, 35, 38))
|
||||
|
||||
static invalidStaticTypeParameterConstraint<T extends symbol()>(): void { return; }
|
||||
>invalidStaticTypeParameterConstraint : Symbol(InvalidClass.invalidStaticTypeParameterConstraint, Decl(uniqueSymbolsErrors.ts, 35, 72))
|
||||
static invalidStaticTypeParameterConstraint<T extends unique symbol>(): void { return; }
|
||||
>invalidStaticTypeParameterConstraint : Symbol(InvalidClass.invalidStaticTypeParameterConstraint, Decl(uniqueSymbolsErrors.ts, 35, 77))
|
||||
>T : Symbol(T, Decl(uniqueSymbolsErrors.ts, 36, 48))
|
||||
|
||||
static invalidStaticTypeParameterDefault<T = symbol()>(): void { return; }
|
||||
>invalidStaticTypeParameterDefault : Symbol(InvalidClass.invalidStaticTypeParameterDefault, Decl(uniqueSymbolsErrors.ts, 36, 87))
|
||||
static invalidStaticTypeParameterDefault<T = unique symbol>(): void { return; }
|
||||
>invalidStaticTypeParameterDefault : Symbol(InvalidClass.invalidStaticTypeParameterDefault, Decl(uniqueSymbolsErrors.ts, 36, 92))
|
||||
>T : Symbol(T, Decl(uniqueSymbolsErrors.ts, 37, 45))
|
||||
|
||||
static get invalidStaticGetter(): symbol() { return; }
|
||||
>invalidStaticGetter : Symbol(InvalidClass.invalidStaticGetter, Decl(uniqueSymbolsErrors.ts, 37, 78))
|
||||
static get invalidStaticGetter(): unique symbol { return; }
|
||||
>invalidStaticGetter : Symbol(InvalidClass.invalidStaticGetter, Decl(uniqueSymbolsErrors.ts, 37, 83))
|
||||
|
||||
static set invalidStaticSetter(arg: symbol()) { return; }
|
||||
>invalidStaticSetter : Symbol(InvalidClass.invalidStaticSetter, Decl(uniqueSymbolsErrors.ts, 38, 58))
|
||||
static set invalidStaticSetter(arg: unique symbol) { return; }
|
||||
>invalidStaticSetter : Symbol(InvalidClass.invalidStaticSetter, Decl(uniqueSymbolsErrors.ts, 38, 63))
|
||||
>arg : Symbol(arg, Decl(uniqueSymbolsErrors.ts, 39, 35))
|
||||
}
|
||||
|
||||
@@ -127,35 +127,35 @@ class InvalidClass {
|
||||
interface InvalidInterface {
|
||||
>InvalidInterface : Symbol(InvalidInterface, Decl(uniqueSymbolsErrors.ts, 40, 1))
|
||||
|
||||
invalidPropertyType: symbol();
|
||||
invalidPropertyType: unique symbol;
|
||||
>invalidPropertyType : Symbol(InvalidInterface.invalidPropertyType, Decl(uniqueSymbolsErrors.ts, 43, 28))
|
||||
|
||||
invalidArgType(arg: symbol()): void;
|
||||
>invalidArgType : Symbol(InvalidInterface.invalidArgType, Decl(uniqueSymbolsErrors.ts, 44, 34))
|
||||
invalidArgType(arg: unique symbol): void;
|
||||
>invalidArgType : Symbol(InvalidInterface.invalidArgType, Decl(uniqueSymbolsErrors.ts, 44, 39))
|
||||
>arg : Symbol(arg, Decl(uniqueSymbolsErrors.ts, 45, 19))
|
||||
|
||||
invalidRestArgType(...args: symbol()[]): void;
|
||||
>invalidRestArgType : Symbol(InvalidInterface.invalidRestArgType, Decl(uniqueSymbolsErrors.ts, 45, 40))
|
||||
invalidRestArgType(...args: unique symbol[]): void;
|
||||
>invalidRestArgType : Symbol(InvalidInterface.invalidRestArgType, Decl(uniqueSymbolsErrors.ts, 45, 45))
|
||||
>args : Symbol(args, Decl(uniqueSymbolsErrors.ts, 46, 23))
|
||||
|
||||
invalidReturnType(): symbol();
|
||||
>invalidReturnType : Symbol(InvalidInterface.invalidReturnType, Decl(uniqueSymbolsErrors.ts, 46, 50))
|
||||
invalidReturnType(): unique symbol;
|
||||
>invalidReturnType : Symbol(InvalidInterface.invalidReturnType, Decl(uniqueSymbolsErrors.ts, 46, 55))
|
||||
|
||||
invalidThisType(this: symbol());
|
||||
>invalidThisType : Symbol(InvalidInterface.invalidThisType, Decl(uniqueSymbolsErrors.ts, 47, 34))
|
||||
invalidThisType(this: unique symbol);
|
||||
>invalidThisType : Symbol(InvalidInterface.invalidThisType, Decl(uniqueSymbolsErrors.ts, 47, 39))
|
||||
>this : Symbol(this, Decl(uniqueSymbolsErrors.ts, 48, 20))
|
||||
|
||||
invalidTypePredicate(n: any): n is symbol()
|
||||
>invalidTypePredicate : Symbol(InvalidInterface.invalidTypePredicate, Decl(uniqueSymbolsErrors.ts, 48, 36))
|
||||
invalidTypePredicate(n: any): n is unique symbol
|
||||
>invalidTypePredicate : Symbol(InvalidInterface.invalidTypePredicate, Decl(uniqueSymbolsErrors.ts, 48, 41))
|
||||
>n : Symbol(n, Decl(uniqueSymbolsErrors.ts, 49, 25))
|
||||
>n : Symbol(n, Decl(uniqueSymbolsErrors.ts, 49, 25))
|
||||
|
||||
invalidTypeParameterConstraint<T extends symbol()>(): void;
|
||||
>invalidTypeParameterConstraint : Symbol(InvalidInterface.invalidTypeParameterConstraint, Decl(uniqueSymbolsErrors.ts, 49, 47))
|
||||
invalidTypeParameterConstraint<T extends unique symbol>(): void;
|
||||
>invalidTypeParameterConstraint : Symbol(InvalidInterface.invalidTypeParameterConstraint, Decl(uniqueSymbolsErrors.ts, 49, 52))
|
||||
>T : Symbol(T, Decl(uniqueSymbolsErrors.ts, 50, 35))
|
||||
|
||||
invalidTypeParameterDefault<T = symbol()>(): void;
|
||||
>invalidTypeParameterDefault : Symbol(InvalidInterface.invalidTypeParameterDefault, Decl(uniqueSymbolsErrors.ts, 50, 63))
|
||||
invalidTypeParameterDefault<T = unique symbol>(): void;
|
||||
>invalidTypeParameterDefault : Symbol(InvalidInterface.invalidTypeParameterDefault, Decl(uniqueSymbolsErrors.ts, 50, 68))
|
||||
>T : Symbol(T, Decl(uniqueSymbolsErrors.ts, 51, 32))
|
||||
}
|
||||
|
||||
@@ -163,72 +163,72 @@ interface InvalidInterface {
|
||||
type InvalidTypeLiteral = {
|
||||
>InvalidTypeLiteral : Symbol(InvalidTypeLiteral, Decl(uniqueSymbolsErrors.ts, 52, 1))
|
||||
|
||||
invalidPropertyType: symbol();
|
||||
invalidPropertyType: unique symbol;
|
||||
>invalidPropertyType : Symbol(invalidPropertyType, Decl(uniqueSymbolsErrors.ts, 55, 27))
|
||||
|
||||
invalidArgType(arg: symbol()): void;
|
||||
>invalidArgType : Symbol(invalidArgType, Decl(uniqueSymbolsErrors.ts, 56, 34))
|
||||
invalidArgType(arg: unique symbol): void;
|
||||
>invalidArgType : Symbol(invalidArgType, Decl(uniqueSymbolsErrors.ts, 56, 39))
|
||||
>arg : Symbol(arg, Decl(uniqueSymbolsErrors.ts, 57, 19))
|
||||
|
||||
invalidRestArgType(...args: symbol()[]): void;
|
||||
>invalidRestArgType : Symbol(invalidRestArgType, Decl(uniqueSymbolsErrors.ts, 57, 40))
|
||||
invalidRestArgType(...args: unique symbol[]): void;
|
||||
>invalidRestArgType : Symbol(invalidRestArgType, Decl(uniqueSymbolsErrors.ts, 57, 45))
|
||||
>args : Symbol(args, Decl(uniqueSymbolsErrors.ts, 58, 23))
|
||||
|
||||
invalidReturnType(): symbol();
|
||||
>invalidReturnType : Symbol(invalidReturnType, Decl(uniqueSymbolsErrors.ts, 58, 50))
|
||||
invalidReturnType(): unique symbol;
|
||||
>invalidReturnType : Symbol(invalidReturnType, Decl(uniqueSymbolsErrors.ts, 58, 55))
|
||||
|
||||
invalidThisType(this: symbol());
|
||||
>invalidThisType : Symbol(invalidThisType, Decl(uniqueSymbolsErrors.ts, 59, 34))
|
||||
invalidThisType(this: unique symbol);
|
||||
>invalidThisType : Symbol(invalidThisType, Decl(uniqueSymbolsErrors.ts, 59, 39))
|
||||
>this : Symbol(this, Decl(uniqueSymbolsErrors.ts, 60, 20))
|
||||
|
||||
invalidTypePredicate(n: any): n is symbol()
|
||||
>invalidTypePredicate : Symbol(invalidTypePredicate, Decl(uniqueSymbolsErrors.ts, 60, 36))
|
||||
invalidTypePredicate(n: any): n is unique symbol
|
||||
>invalidTypePredicate : Symbol(invalidTypePredicate, Decl(uniqueSymbolsErrors.ts, 60, 41))
|
||||
>n : Symbol(n, Decl(uniqueSymbolsErrors.ts, 61, 25))
|
||||
>n : Symbol(n, Decl(uniqueSymbolsErrors.ts, 61, 25))
|
||||
|
||||
invalidTypeParameterConstraint<T extends symbol()>(): void;
|
||||
>invalidTypeParameterConstraint : Symbol(invalidTypeParameterConstraint, Decl(uniqueSymbolsErrors.ts, 61, 47))
|
||||
invalidTypeParameterConstraint<T extends unique symbol>(): void;
|
||||
>invalidTypeParameterConstraint : Symbol(invalidTypeParameterConstraint, Decl(uniqueSymbolsErrors.ts, 61, 52))
|
||||
>T : Symbol(T, Decl(uniqueSymbolsErrors.ts, 62, 35))
|
||||
|
||||
invalidTypeParameterDefault<T = symbol()>(): void;
|
||||
>invalidTypeParameterDefault : Symbol(invalidTypeParameterDefault, Decl(uniqueSymbolsErrors.ts, 62, 63))
|
||||
invalidTypeParameterDefault<T = unique symbol>(): void;
|
||||
>invalidTypeParameterDefault : Symbol(invalidTypeParameterDefault, Decl(uniqueSymbolsErrors.ts, 62, 68))
|
||||
>T : Symbol(T, Decl(uniqueSymbolsErrors.ts, 63, 32))
|
||||
|
||||
};
|
||||
|
||||
// type alias
|
||||
type InvalidAlias = symbol();
|
||||
type InvalidAlias = unique symbol;
|
||||
>InvalidAlias : Symbol(InvalidAlias, Decl(uniqueSymbolsErrors.ts, 64, 2))
|
||||
|
||||
type InvalidAliasTypeParameterConstraint<T extends symbol()> = never;
|
||||
>InvalidAliasTypeParameterConstraint : Symbol(InvalidAliasTypeParameterConstraint, Decl(uniqueSymbolsErrors.ts, 67, 29))
|
||||
type InvalidAliasTypeParameterConstraint<T extends unique symbol> = never;
|
||||
>InvalidAliasTypeParameterConstraint : Symbol(InvalidAliasTypeParameterConstraint, Decl(uniqueSymbolsErrors.ts, 67, 34))
|
||||
>T : Symbol(T, Decl(uniqueSymbolsErrors.ts, 68, 41))
|
||||
|
||||
type InvalidAliasTypeParameterDefault<T extends symbol()> = never;
|
||||
>InvalidAliasTypeParameterDefault : Symbol(InvalidAliasTypeParameterDefault, Decl(uniqueSymbolsErrors.ts, 68, 69))
|
||||
type InvalidAliasTypeParameterDefault<T extends unique symbol> = never;
|
||||
>InvalidAliasTypeParameterDefault : Symbol(InvalidAliasTypeParameterDefault, Decl(uniqueSymbolsErrors.ts, 68, 74))
|
||||
>T : Symbol(T, Decl(uniqueSymbolsErrors.ts, 69, 38))
|
||||
|
||||
// type references
|
||||
declare const invalidTypeArgument: Promise<symbol()>;
|
||||
declare const invalidTypeArgument: Promise<unique symbol>;
|
||||
>invalidTypeArgument : Symbol(invalidTypeArgument, Decl(uniqueSymbolsErrors.ts, 72, 13))
|
||||
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
|
||||
|
||||
declare const invalidArrayType: symbol()[];
|
||||
declare const invalidArrayType: unique symbol[];
|
||||
>invalidArrayType : Symbol(invalidArrayType, Decl(uniqueSymbolsErrors.ts, 73, 13))
|
||||
|
||||
declare const invalidTupleType: [symbol()];
|
||||
declare const invalidTupleType: [unique symbol];
|
||||
>invalidTupleType : Symbol(invalidTupleType, Decl(uniqueSymbolsErrors.ts, 74, 13))
|
||||
|
||||
// mapped types
|
||||
declare const invalidMappedType: { [P in string]: symbol() };
|
||||
declare const invalidMappedType: { [P in string]: unique symbol };
|
||||
>invalidMappedType : Symbol(invalidMappedType, Decl(uniqueSymbolsErrors.ts, 77, 13))
|
||||
>P : Symbol(P, Decl(uniqueSymbolsErrors.ts, 77, 36))
|
||||
|
||||
// unions/intersection
|
||||
declare const invalidUnion: symbol() | symbol();
|
||||
declare const invalidUnion: unique symbol | unique symbol;
|
||||
>invalidUnion : Symbol(invalidUnion, Decl(uniqueSymbolsErrors.ts, 80, 13))
|
||||
|
||||
declare const invalidIntersection: symbol() | symbol();
|
||||
declare const invalidIntersection: unique symbol | unique symbol;
|
||||
>invalidIntersection : Symbol(invalidIntersection, Decl(uniqueSymbolsErrors.ts, 81, 13))
|
||||
|
||||
|
||||
|
||||
@@ -1,38 +1,38 @@
|
||||
=== tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts ===
|
||||
// declarations
|
||||
declare const {}: symbol();
|
||||
declare let invalidLetType: symbol();
|
||||
declare const {}: unique symbol;
|
||||
declare let invalidLetType: unique symbol;
|
||||
>invalidLetType : symbol
|
||||
|
||||
declare var invalidVarType: symbol();
|
||||
declare var invalidVarType: unique symbol;
|
||||
>invalidVarType : symbol
|
||||
|
||||
// function arguments and return types
|
||||
declare function invalidArgType(arg: symbol()): void;
|
||||
declare function invalidArgType(arg: unique symbol): void;
|
||||
>invalidArgType : (arg: symbol) => void
|
||||
>arg : symbol
|
||||
|
||||
declare function invalidRestArgType(...arg: symbol()[]): void;
|
||||
declare function invalidRestArgType(...arg: unique symbol[]): void;
|
||||
>invalidRestArgType : (...arg: symbol[]) => void
|
||||
>arg : symbol[]
|
||||
|
||||
declare function invalidReturnType(): symbol();
|
||||
declare function invalidReturnType(): unique symbol;
|
||||
>invalidReturnType : () => symbol
|
||||
|
||||
declare function invalidThisType(this: symbol()): void;
|
||||
declare function invalidThisType(this: unique symbol): void;
|
||||
>invalidThisType : (this: symbol) => void
|
||||
>this : symbol
|
||||
|
||||
declare function invalidTypePredicate(n: any): n is symbol();
|
||||
declare function invalidTypePredicate(n: any): n is unique symbol;
|
||||
>invalidTypePredicate : (n: any) => n is symbol
|
||||
>n : any
|
||||
>n : any
|
||||
|
||||
declare function invalidTypeParameterConstraint<T extends symbol()>(): void;
|
||||
declare function invalidTypeParameterConstraint<T extends unique symbol>(): void;
|
||||
>invalidTypeParameterConstraint : <T extends symbol>() => void
|
||||
>T : T
|
||||
|
||||
declare function invalidTypeParameterDefault<T = symbol()>(): void;
|
||||
declare function invalidTypeParameterDefault<T = unique symbol>(): void;
|
||||
>invalidTypeParameterDefault : <T = symbol>() => void
|
||||
>T : T
|
||||
|
||||
@@ -40,85 +40,85 @@ declare function invalidTypeParameterDefault<T = symbol()>(): void;
|
||||
class InvalidClass {
|
||||
>InvalidClass : InvalidClass
|
||||
|
||||
constructor(invalidConstructorArgType: symbol()) {}
|
||||
constructor(invalidConstructorArgType: unique symbol) {}
|
||||
>invalidConstructorArgType : symbol
|
||||
|
||||
readonly invalidReadonlyPropertyType: symbol();
|
||||
readonly invalidReadonlyPropertyType: unique symbol;
|
||||
>invalidReadonlyPropertyType : symbol
|
||||
|
||||
invalidPropertyType: symbol();
|
||||
invalidPropertyType: unique symbol;
|
||||
>invalidPropertyType : symbol
|
||||
|
||||
invalidArgType(arg: symbol()): void { return; }
|
||||
invalidArgType(arg: unique symbol): void { return; }
|
||||
>invalidArgType : (arg: symbol) => void
|
||||
>arg : symbol
|
||||
|
||||
invalidRestArgType(...args: symbol()[]): void { return; }
|
||||
invalidRestArgType(...args: unique symbol[]): void { return; }
|
||||
>invalidRestArgType : (...args: symbol[]) => void
|
||||
>args : symbol[]
|
||||
|
||||
invalidReturnType(): symbol() { return; }
|
||||
invalidReturnType(): unique symbol { return; }
|
||||
>invalidReturnType : () => symbol
|
||||
|
||||
invalidThisType(this: symbol()): void { return; }
|
||||
invalidThisType(this: unique symbol): void { return; }
|
||||
>invalidThisType : (this: symbol) => void
|
||||
>this : symbol
|
||||
|
||||
invalidTypePredicate(n: any): n is symbol() { return; }
|
||||
invalidTypePredicate(n: any): n is unique symbol { return; }
|
||||
>invalidTypePredicate : (n: any) => n is symbol
|
||||
>n : any
|
||||
>n : any
|
||||
|
||||
invalidTypeParameterConstraint<T extends symbol()>(): void { return; }
|
||||
invalidTypeParameterConstraint<T extends unique symbol>(): void { return; }
|
||||
>invalidTypeParameterConstraint : <T extends symbol>() => void
|
||||
>T : T
|
||||
|
||||
invalidTypeParameterDefault<T = symbol()>(): void { return; }
|
||||
invalidTypeParameterDefault<T = unique symbol>(): void { return; }
|
||||
>invalidTypeParameterDefault : <T = symbol>() => void
|
||||
>T : T
|
||||
|
||||
get invalidGetter(): symbol() { return; }
|
||||
get invalidGetter(): unique symbol { return; }
|
||||
>invalidGetter : symbol
|
||||
|
||||
set invalidSetter(arg: symbol()) { return; }
|
||||
set invalidSetter(arg: unique symbol) { return; }
|
||||
>invalidSetter : symbol
|
||||
>arg : symbol
|
||||
|
||||
static invalidStaticPropertyType: symbol();
|
||||
static invalidStaticPropertyType: unique symbol;
|
||||
>invalidStaticPropertyType : symbol
|
||||
|
||||
static invalidStaticArgType(arg: symbol()): void { return; }
|
||||
static invalidStaticArgType(arg: unique symbol): void { return; }
|
||||
>invalidStaticArgType : (arg: symbol) => void
|
||||
>arg : symbol
|
||||
|
||||
static invalidStaticRestArgType(...args: symbol()[]): void { return; }
|
||||
static invalidStaticRestArgType(...args: unique symbol[]): void { return; }
|
||||
>invalidStaticRestArgType : (...args: symbol[]) => void
|
||||
>args : symbol[]
|
||||
|
||||
static invalidStaticReturnType(): symbol() { return; }
|
||||
static invalidStaticReturnType(): unique symbol { return; }
|
||||
>invalidStaticReturnType : () => symbol
|
||||
|
||||
static invalidStaticThisType(this: symbol()): void { return; }
|
||||
static invalidStaticThisType(this: unique symbol): void { return; }
|
||||
>invalidStaticThisType : (this: symbol) => void
|
||||
>this : symbol
|
||||
|
||||
static invalidStaticTypePredicate(n: any): n is symbol() { return; }
|
||||
static invalidStaticTypePredicate(n: any): n is unique symbol { return; }
|
||||
>invalidStaticTypePredicate : (n: any) => n is symbol
|
||||
>n : any
|
||||
>n : any
|
||||
|
||||
static invalidStaticTypeParameterConstraint<T extends symbol()>(): void { return; }
|
||||
static invalidStaticTypeParameterConstraint<T extends unique symbol>(): void { return; }
|
||||
>invalidStaticTypeParameterConstraint : <T extends symbol>() => void
|
||||
>T : T
|
||||
|
||||
static invalidStaticTypeParameterDefault<T = symbol()>(): void { return; }
|
||||
static invalidStaticTypeParameterDefault<T = unique symbol>(): void { return; }
|
||||
>invalidStaticTypeParameterDefault : <T = symbol>() => void
|
||||
>T : T
|
||||
|
||||
static get invalidStaticGetter(): symbol() { return; }
|
||||
static get invalidStaticGetter(): unique symbol { return; }
|
||||
>invalidStaticGetter : symbol
|
||||
|
||||
static set invalidStaticSetter(arg: symbol()) { return; }
|
||||
static set invalidStaticSetter(arg: unique symbol) { return; }
|
||||
>invalidStaticSetter : symbol
|
||||
>arg : symbol
|
||||
}
|
||||
@@ -127,34 +127,34 @@ class InvalidClass {
|
||||
interface InvalidInterface {
|
||||
>InvalidInterface : InvalidInterface
|
||||
|
||||
invalidPropertyType: symbol();
|
||||
invalidPropertyType: unique symbol;
|
||||
>invalidPropertyType : symbol
|
||||
|
||||
invalidArgType(arg: symbol()): void;
|
||||
invalidArgType(arg: unique symbol): void;
|
||||
>invalidArgType : (arg: symbol) => void
|
||||
>arg : symbol
|
||||
|
||||
invalidRestArgType(...args: symbol()[]): void;
|
||||
invalidRestArgType(...args: unique symbol[]): void;
|
||||
>invalidRestArgType : (...args: symbol[]) => void
|
||||
>args : symbol[]
|
||||
|
||||
invalidReturnType(): symbol();
|
||||
invalidReturnType(): unique symbol;
|
||||
>invalidReturnType : () => symbol
|
||||
|
||||
invalidThisType(this: symbol());
|
||||
invalidThisType(this: unique symbol);
|
||||
>invalidThisType : (this: symbol) => any
|
||||
>this : symbol
|
||||
|
||||
invalidTypePredicate(n: any): n is symbol()
|
||||
invalidTypePredicate(n: any): n is unique symbol
|
||||
>invalidTypePredicate : (n: any) => n is symbol
|
||||
>n : any
|
||||
>n : any
|
||||
|
||||
invalidTypeParameterConstraint<T extends symbol()>(): void;
|
||||
invalidTypeParameterConstraint<T extends unique symbol>(): void;
|
||||
>invalidTypeParameterConstraint : <T extends symbol>() => void
|
||||
>T : T
|
||||
|
||||
invalidTypeParameterDefault<T = symbol()>(): void;
|
||||
invalidTypeParameterDefault<T = unique symbol>(): void;
|
||||
>invalidTypeParameterDefault : <T = symbol>() => void
|
||||
>T : T
|
||||
}
|
||||
@@ -163,72 +163,72 @@ interface InvalidInterface {
|
||||
type InvalidTypeLiteral = {
|
||||
>InvalidTypeLiteral : InvalidTypeLiteral
|
||||
|
||||
invalidPropertyType: symbol();
|
||||
invalidPropertyType: unique symbol;
|
||||
>invalidPropertyType : symbol
|
||||
|
||||
invalidArgType(arg: symbol()): void;
|
||||
invalidArgType(arg: unique symbol): void;
|
||||
>invalidArgType : (arg: symbol) => void
|
||||
>arg : symbol
|
||||
|
||||
invalidRestArgType(...args: symbol()[]): void;
|
||||
invalidRestArgType(...args: unique symbol[]): void;
|
||||
>invalidRestArgType : (...args: symbol[]) => void
|
||||
>args : symbol[]
|
||||
|
||||
invalidReturnType(): symbol();
|
||||
invalidReturnType(): unique symbol;
|
||||
>invalidReturnType : () => symbol
|
||||
|
||||
invalidThisType(this: symbol());
|
||||
invalidThisType(this: unique symbol);
|
||||
>invalidThisType : (this: symbol) => any
|
||||
>this : symbol
|
||||
|
||||
invalidTypePredicate(n: any): n is symbol()
|
||||
invalidTypePredicate(n: any): n is unique symbol
|
||||
>invalidTypePredicate : (n: any) => n is symbol
|
||||
>n : any
|
||||
>n : any
|
||||
|
||||
invalidTypeParameterConstraint<T extends symbol()>(): void;
|
||||
invalidTypeParameterConstraint<T extends unique symbol>(): void;
|
||||
>invalidTypeParameterConstraint : <T extends symbol>() => void
|
||||
>T : T
|
||||
|
||||
invalidTypeParameterDefault<T = symbol()>(): void;
|
||||
invalidTypeParameterDefault<T = unique symbol>(): void;
|
||||
>invalidTypeParameterDefault : <T = symbol>() => void
|
||||
>T : T
|
||||
|
||||
};
|
||||
|
||||
// type alias
|
||||
type InvalidAlias = symbol();
|
||||
type InvalidAlias = unique symbol;
|
||||
>InvalidAlias : symbol
|
||||
|
||||
type InvalidAliasTypeParameterConstraint<T extends symbol()> = never;
|
||||
type InvalidAliasTypeParameterConstraint<T extends unique symbol> = never;
|
||||
>InvalidAliasTypeParameterConstraint : never
|
||||
>T : T
|
||||
|
||||
type InvalidAliasTypeParameterDefault<T extends symbol()> = never;
|
||||
type InvalidAliasTypeParameterDefault<T extends unique symbol> = never;
|
||||
>InvalidAliasTypeParameterDefault : never
|
||||
>T : T
|
||||
|
||||
// type references
|
||||
declare const invalidTypeArgument: Promise<symbol()>;
|
||||
declare const invalidTypeArgument: Promise<unique symbol>;
|
||||
>invalidTypeArgument : Promise<symbol>
|
||||
>Promise : Promise<T>
|
||||
|
||||
declare const invalidArrayType: symbol()[];
|
||||
declare const invalidArrayType: unique symbol[];
|
||||
>invalidArrayType : symbol[]
|
||||
|
||||
declare const invalidTupleType: [symbol()];
|
||||
declare const invalidTupleType: [unique symbol];
|
||||
>invalidTupleType : [symbol]
|
||||
|
||||
// mapped types
|
||||
declare const invalidMappedType: { [P in string]: symbol() };
|
||||
declare const invalidMappedType: { [P in string]: unique symbol };
|
||||
>invalidMappedType : { [x: string]: symbol; }
|
||||
>P : P
|
||||
|
||||
// unions/intersection
|
||||
declare const invalidUnion: symbol() | symbol();
|
||||
declare const invalidUnion: unique symbol | unique symbol;
|
||||
>invalidUnion : symbol
|
||||
|
||||
declare const invalidIntersection: symbol() | symbol();
|
||||
declare const invalidIntersection: unique symbol | unique symbol;
|
||||
>invalidIntersection : symbol
|
||||
|
||||
|
||||
|
||||
@@ -8,10 +8,10 @@ let letCall = Symbol();
|
||||
var varCall = Symbol();
|
||||
|
||||
// ambient declaration with type
|
||||
declare const constType: symbol();
|
||||
declare const constType: unique symbol;
|
||||
|
||||
// declaration with type and call initializer
|
||||
const constTypeAndCall: symbol() = Symbol();
|
||||
const constTypeAndCall: unique symbol = Symbol();
|
||||
|
||||
// declaration from initializer
|
||||
const constInitToConstCall = constCall;
|
||||
@@ -60,8 +60,8 @@ async function* asyncGenFuncYieldVarCall() { yield varCall; }
|
||||
// classes
|
||||
class C {
|
||||
static readonly readonlyStaticCall = Symbol();
|
||||
static readonly readonlyStaticType: symbol();
|
||||
static readonly readonlyStaticTypeAndCall: symbol() = Symbol();
|
||||
static readonly readonlyStaticType: unique symbol;
|
||||
static readonly readonlyStaticTypeAndCall: unique symbol = Symbol();
|
||||
static readwriteStaticCall = Symbol();
|
||||
|
||||
readonly readonlyCall = Symbol();
|
||||
@@ -88,7 +88,7 @@ const constInitToCReadwriteCallWithIndexedAccess: C["readwriteCall"] = c.readwri
|
||||
|
||||
// interfaces
|
||||
interface I {
|
||||
readonly readonlyType: symbol();
|
||||
readonly readonlyType: unique symbol;
|
||||
}
|
||||
declare const i: I;
|
||||
|
||||
@@ -98,9 +98,9 @@ const constInitToIReadonlyTypeWithIndexedAccess: I["readonlyType"] = i.readonlyT
|
||||
|
||||
// type literals
|
||||
type L = {
|
||||
readonly readonlyType: symbol();
|
||||
readonly readonlyType: unique symbol;
|
||||
nested: {
|
||||
readonly readonlyNestedType: symbol();
|
||||
readonly readonlyNestedType: unique symbol;
|
||||
}
|
||||
};
|
||||
declare const l: L;
|
||||
|
||||
@@ -1,86 +1,86 @@
|
||||
// @target: esnext
|
||||
|
||||
// declarations
|
||||
declare const {}: symbol();
|
||||
declare let invalidLetType: symbol();
|
||||
declare var invalidVarType: symbol();
|
||||
declare const {}: unique symbol;
|
||||
declare let invalidLetType: unique symbol;
|
||||
declare var invalidVarType: unique symbol;
|
||||
|
||||
// function arguments and return types
|
||||
declare function invalidArgType(arg: symbol()): void;
|
||||
declare function invalidRestArgType(...arg: symbol()[]): void;
|
||||
declare function invalidReturnType(): symbol();
|
||||
declare function invalidThisType(this: symbol()): void;
|
||||
declare function invalidTypePredicate(n: any): n is symbol();
|
||||
declare function invalidTypeParameterConstraint<T extends symbol()>(): void;
|
||||
declare function invalidTypeParameterDefault<T = symbol()>(): void;
|
||||
declare function invalidArgType(arg: unique symbol): void;
|
||||
declare function invalidRestArgType(...arg: unique symbol[]): void;
|
||||
declare function invalidReturnType(): unique symbol;
|
||||
declare function invalidThisType(this: unique symbol): void;
|
||||
declare function invalidTypePredicate(n: any): n is unique symbol;
|
||||
declare function invalidTypeParameterConstraint<T extends unique symbol>(): void;
|
||||
declare function invalidTypeParameterDefault<T = unique symbol>(): void;
|
||||
|
||||
// classes
|
||||
class InvalidClass {
|
||||
constructor(invalidConstructorArgType: symbol()) {}
|
||||
constructor(invalidConstructorArgType: unique symbol) {}
|
||||
|
||||
readonly invalidReadonlyPropertyType: symbol();
|
||||
invalidPropertyType: symbol();
|
||||
invalidArgType(arg: symbol()): void { return; }
|
||||
invalidRestArgType(...args: symbol()[]): void { return; }
|
||||
invalidReturnType(): symbol() { return; }
|
||||
invalidThisType(this: symbol()): void { return; }
|
||||
invalidTypePredicate(n: any): n is symbol() { return; }
|
||||
invalidTypeParameterConstraint<T extends symbol()>(): void { return; }
|
||||
invalidTypeParameterDefault<T = symbol()>(): void { return; }
|
||||
get invalidGetter(): symbol() { return; }
|
||||
set invalidSetter(arg: symbol()) { return; }
|
||||
readonly invalidReadonlyPropertyType: unique symbol;
|
||||
invalidPropertyType: unique symbol;
|
||||
invalidArgType(arg: unique symbol): void { return; }
|
||||
invalidRestArgType(...args: unique symbol[]): void { return; }
|
||||
invalidReturnType(): unique symbol { return; }
|
||||
invalidThisType(this: unique symbol): void { return; }
|
||||
invalidTypePredicate(n: any): n is unique symbol { return; }
|
||||
invalidTypeParameterConstraint<T extends unique symbol>(): void { return; }
|
||||
invalidTypeParameterDefault<T = unique symbol>(): void { return; }
|
||||
get invalidGetter(): unique symbol { return; }
|
||||
set invalidSetter(arg: unique symbol) { return; }
|
||||
|
||||
static invalidStaticPropertyType: symbol();
|
||||
static invalidStaticArgType(arg: symbol()): void { return; }
|
||||
static invalidStaticRestArgType(...args: symbol()[]): void { return; }
|
||||
static invalidStaticReturnType(): symbol() { return; }
|
||||
static invalidStaticThisType(this: symbol()): void { return; }
|
||||
static invalidStaticTypePredicate(n: any): n is symbol() { return; }
|
||||
static invalidStaticTypeParameterConstraint<T extends symbol()>(): void { return; }
|
||||
static invalidStaticTypeParameterDefault<T = symbol()>(): void { return; }
|
||||
static get invalidStaticGetter(): symbol() { return; }
|
||||
static set invalidStaticSetter(arg: symbol()) { return; }
|
||||
static invalidStaticPropertyType: unique symbol;
|
||||
static invalidStaticArgType(arg: unique symbol): void { return; }
|
||||
static invalidStaticRestArgType(...args: unique symbol[]): void { return; }
|
||||
static invalidStaticReturnType(): unique symbol { return; }
|
||||
static invalidStaticThisType(this: unique symbol): void { return; }
|
||||
static invalidStaticTypePredicate(n: any): n is unique symbol { return; }
|
||||
static invalidStaticTypeParameterConstraint<T extends unique symbol>(): void { return; }
|
||||
static invalidStaticTypeParameterDefault<T = unique symbol>(): void { return; }
|
||||
static get invalidStaticGetter(): unique symbol { return; }
|
||||
static set invalidStaticSetter(arg: unique symbol) { return; }
|
||||
}
|
||||
|
||||
// interfaces
|
||||
interface InvalidInterface {
|
||||
invalidPropertyType: symbol();
|
||||
invalidArgType(arg: symbol()): void;
|
||||
invalidRestArgType(...args: symbol()[]): void;
|
||||
invalidReturnType(): symbol();
|
||||
invalidThisType(this: symbol());
|
||||
invalidTypePredicate(n: any): n is symbol()
|
||||
invalidTypeParameterConstraint<T extends symbol()>(): void;
|
||||
invalidTypeParameterDefault<T = symbol()>(): void;
|
||||
invalidPropertyType: unique symbol;
|
||||
invalidArgType(arg: unique symbol): void;
|
||||
invalidRestArgType(...args: unique symbol[]): void;
|
||||
invalidReturnType(): unique symbol;
|
||||
invalidThisType(this: unique symbol);
|
||||
invalidTypePredicate(n: any): n is unique symbol
|
||||
invalidTypeParameterConstraint<T extends unique symbol>(): void;
|
||||
invalidTypeParameterDefault<T = unique symbol>(): void;
|
||||
}
|
||||
|
||||
// type literals
|
||||
type InvalidTypeLiteral = {
|
||||
invalidPropertyType: symbol();
|
||||
invalidArgType(arg: symbol()): void;
|
||||
invalidRestArgType(...args: symbol()[]): void;
|
||||
invalidReturnType(): symbol();
|
||||
invalidThisType(this: symbol());
|
||||
invalidTypePredicate(n: any): n is symbol()
|
||||
invalidTypeParameterConstraint<T extends symbol()>(): void;
|
||||
invalidTypeParameterDefault<T = symbol()>(): void;
|
||||
invalidPropertyType: unique symbol;
|
||||
invalidArgType(arg: unique symbol): void;
|
||||
invalidRestArgType(...args: unique symbol[]): void;
|
||||
invalidReturnType(): unique symbol;
|
||||
invalidThisType(this: unique symbol);
|
||||
invalidTypePredicate(n: any): n is unique symbol
|
||||
invalidTypeParameterConstraint<T extends unique symbol>(): void;
|
||||
invalidTypeParameterDefault<T = unique symbol>(): void;
|
||||
};
|
||||
|
||||
// type alias
|
||||
type InvalidAlias = symbol();
|
||||
type InvalidAliasTypeParameterConstraint<T extends symbol()> = never;
|
||||
type InvalidAliasTypeParameterDefault<T extends symbol()> = never;
|
||||
type InvalidAlias = unique symbol;
|
||||
type InvalidAliasTypeParameterConstraint<T extends unique symbol> = never;
|
||||
type InvalidAliasTypeParameterDefault<T extends unique symbol> = never;
|
||||
|
||||
// type references
|
||||
declare const invalidTypeArgument: Promise<symbol()>;
|
||||
declare const invalidArrayType: symbol()[];
|
||||
declare const invalidTupleType: [symbol()];
|
||||
declare const invalidTypeArgument: Promise<unique symbol>;
|
||||
declare const invalidArrayType: unique symbol[];
|
||||
declare const invalidTupleType: [unique symbol];
|
||||
|
||||
// mapped types
|
||||
declare const invalidMappedType: { [P in string]: symbol() };
|
||||
declare const invalidMappedType: { [P in string]: unique symbol };
|
||||
|
||||
// unions/intersection
|
||||
declare const invalidUnion: symbol() | symbol();
|
||||
declare const invalidIntersection: symbol() | symbol();
|
||||
declare const invalidUnion: unique symbol | unique symbol;
|
||||
declare const invalidIntersection: unique symbol | unique symbol;
|
||||
|
||||
|
||||
|
||||
@@ -6,5 +6,5 @@
|
||||
////var f = function () { return new/**/; }
|
||||
|
||||
goTo.marker();
|
||||
verify.completionListCount(115);
|
||||
verify.completionListCount(116);
|
||||
verify.completionListContains('new');
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
////var f = function (s) { return this/**/; }
|
||||
|
||||
goTo.marker();
|
||||
verify.completionListCount(116);
|
||||
verify.completionListCount(117);
|
||||
verify.completionListContains('this');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user