Merge pull request #25477 from Microsoft/youProbablyMeantThisDeclaration

Link back to likely declarations in "did you mean...?" error messages
This commit is contained in:
Daniel Rosenwasser
2018-07-06 12:03:10 -07:00
committed by GitHub
95 changed files with 1444 additions and 1329 deletions
+1181 -1180
View File
File diff suppressed because it is too large Load Diff
+51 -24
View File
@@ -295,7 +295,7 @@ namespace ts {
getAllPossiblePropertiesOfTypes,
getSuggestionForNonexistentProperty: (node, type) => getSuggestionForNonexistentProperty(node, type),
getSuggestionForNonexistentSymbol: (location, name, meaning) => getSuggestionForNonexistentSymbol(location, escapeLeadingUnderscores(name), meaning),
getSuggestionForNonexistentModule: (node, target) => getSuggestionForNonexistentModule(node, target),
getSuggestionForNonexistentExport: (node, target) => getSuggestionForNonexistentExport(node, target),
getBaseConstraintOfType,
getDefaultFromTypeParameter: type => type && type.flags & TypeFlags.TypeParameter ? getDefaultFromTypeParameter(type as TypeParameter) : undefined,
resolveName(name, location, meaning, excludeGlobals) {
@@ -710,7 +710,7 @@ namespace ts {
}
}
function addRelatedInfo(diagnostic: Diagnostic, ...relatedInformation: DiagnosticRelatedInformation[]) {
function addRelatedInfo(diagnostic: Diagnostic, ...relatedInformation: [DiagnosticRelatedInformation, ...DiagnosticRelatedInformation[]]) {
if (!diagnostic.relatedInformation) {
diagnostic.relatedInformation = [];
}
@@ -1434,11 +1434,18 @@ namespace ts {
!checkAndReportErrorForUsingTypeAsNamespace(errorLocation, name, meaning) &&
!checkAndReportErrorForUsingTypeAsValue(errorLocation, name, meaning) &&
!checkAndReportErrorForUsingNamespaceModuleAsValue(errorLocation, name, meaning)) {
let suggestion: string | undefined;
let suggestion: Symbol | undefined;
if (suggestedNameNotFoundMessage && suggestionCount < maximumSuggestionCount) {
suggestion = getSuggestionForNonexistentSymbol(originalLocation, name, meaning);
suggestion = getSuggestedSymbolForNonexistentSymbol(originalLocation, name, meaning);
if (suggestion) {
error(errorLocation, suggestedNameNotFoundMessage, diagnosticName(nameArg!), suggestion);
const suggestionName = symbolToString(suggestion);
const diagnostic = error(errorLocation, suggestedNameNotFoundMessage, diagnosticName(nameArg!), suggestionName);
if (suggestion.valueDeclaration) {
addRelatedInfo(
diagnostic,
createDiagnosticForNode(suggestion.valueDeclaration, Diagnostics._0_is_declared_here, suggestionName)
);
}
}
}
if (!suggestion) {
@@ -1674,7 +1681,7 @@ namespace ts {
if (diagnosticMessage) {
addRelatedInfo(diagnosticMessage,
createDiagnosticForNode(declaration, Diagnostics._0_was_declared_here, declarationName)
createDiagnosticForNode(declaration, Diagnostics._0_is_declared_here, declarationName)
);
}
}
@@ -1866,9 +1873,15 @@ namespace ts {
if (!symbol) {
const moduleName = getFullyQualifiedName(moduleSymbol);
const declarationName = declarationNameToString(name);
const suggestion = getSuggestionForNonexistentModule(name, targetSymbol);
const suggestion = getSuggestedSymbolForNonexistentModule(name, targetSymbol);
if (suggestion !== undefined) {
error(name, Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_2, moduleName, declarationName, suggestion);
const suggestionName = symbolToString(suggestion);
const diagnostic = error(name, Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_2, moduleName, declarationName, suggestionName);
if (suggestion.valueDeclaration) {
addRelatedInfo(diagnostic,
createDiagnosticForNode(suggestion.valueDeclaration, Diagnostics._0_is_declared_here, suggestionName)
);
}
}
else {
error(name, Diagnostics.Module_0_has_no_exported_member_1, moduleName, declarationName);
@@ -17676,7 +17689,7 @@ namespace ts {
if (diagnosticMessage) {
addRelatedInfo(diagnosticMessage,
createDiagnosticForNode(valueDeclaration, Diagnostics._0_was_declared_here, declarationName)
createDiagnosticForNode(valueDeclaration, Diagnostics._0_is_declared_here, declarationName)
);
}
}
@@ -17726,6 +17739,7 @@ namespace ts {
function reportNonexistentProperty(propNode: Identifier, containingType: Type) {
let errorInfo: DiagnosticMessageChain | undefined;
let relatedInfo: Diagnostic | undefined;
if (containingType.flags & TypeFlags.Union && !(containingType.flags & TypeFlags.Primitive)) {
for (const subtype of (containingType as UnionType).types) {
if (!getPropertyOfType(subtype, propNode.escapedText)) {
@@ -17739,30 +17753,34 @@ namespace ts {
errorInfo = chainDiagnosticMessages(errorInfo, Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_forget_to_use_await, declarationNameToString(propNode), typeToString(containingType));
}
else {
const suggestion = getSuggestionForNonexistentProperty(propNode, containingType);
const suggestion = getSuggestedSymbolForNonexistentProperty(propNode, containingType);
if (suggestion !== undefined) {
errorInfo = chainDiagnosticMessages(errorInfo, Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2, declarationNameToString(propNode), typeToString(containingType), suggestion);
const suggestedName = symbolName(suggestion);
errorInfo = chainDiagnosticMessages(errorInfo, Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2, declarationNameToString(propNode), typeToString(containingType), suggestedName);
relatedInfo = suggestion.valueDeclaration && createDiagnosticForNode(suggestion.valueDeclaration, Diagnostics._0_is_declared_here, suggestedName);
}
else {
const suggestion = getSuggestionForNonexistentProperty(propNode, containingType);
if (suggestion !== undefined) {
errorInfo = chainDiagnosticMessages(errorInfo, Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2, declarationNameToString(propNode), typeToString(containingType), suggestion);
}
else {
errorInfo = chainDiagnosticMessages(errorInfo, Diagnostics.Property_0_does_not_exist_on_type_1, declarationNameToString(propNode), typeToString(containingType));
}
errorInfo = chainDiagnosticMessages(errorInfo, Diagnostics.Property_0_does_not_exist_on_type_1, declarationNameToString(propNode), typeToString(containingType));
}
}
diagnostics.add(createDiagnosticForNodeFromMessageChain(propNode, errorInfo));
const resultDiagnostic = createDiagnosticForNodeFromMessageChain(propNode, errorInfo);
if (relatedInfo) {
addRelatedInfo(resultDiagnostic, relatedInfo);
}
diagnostics.add(resultDiagnostic);
}
function getSuggestedSymbolForNonexistentProperty(name: Identifier | string, containingType: Type): Symbol | undefined {
return getSpellingSuggestionForName(isString(name) ? name : idText(name), getPropertiesOfType(containingType), SymbolFlags.Value);
}
function getSuggestionForNonexistentProperty(name: Identifier | string, containingType: Type): string | undefined {
const suggestion = getSpellingSuggestionForName(isString(name) ? name : idText(name), getPropertiesOfType(containingType), SymbolFlags.Value);
const suggestion = getSuggestedSymbolForNonexistentProperty(name, containingType);
return suggestion && symbolName(suggestion);
}
function getSuggestionForNonexistentSymbol(location: Node | undefined, outerName: __String, meaning: SymbolFlags): string | undefined {
function getSuggestedSymbolForNonexistentSymbol(location: Node | undefined, outerName: __String, meaning: SymbolFlags): Symbol | undefined {
Debug.assert(outerName !== undefined, "outername should always be defined");
const result = resolveNameHelper(location, outerName, meaning, /*nameNotFoundMessage*/ undefined, outerName, /*isUse*/ false, /*excludeGlobals*/ false, (symbols, name, meaning) => {
Debug.assertEqual(outerName, name, "name should equal outerName");
@@ -17772,11 +17790,20 @@ namespace ts {
// However, resolveNameHelper will continue and call this callback again, so we'll eventually get a correct suggestion.
return symbol || getSpellingSuggestionForName(unescapeLeadingUnderscores(name), arrayFrom(symbols.values()), meaning);
});
return result && symbolName(result);
return result;
}
function getSuggestionForNonexistentModule(name: Identifier, targetModule: Symbol): string | undefined {
const suggestion = targetModule.exports && getSpellingSuggestionForName(idText(name), getExportsOfModuleAsArray(targetModule), SymbolFlags.ModuleMember);
function getSuggestionForNonexistentSymbol(location: Node | undefined, outerName: __String, meaning: SymbolFlags): string | undefined {
const symbolResult = getSuggestedSymbolForNonexistentSymbol(location, outerName, meaning);
return symbolResult && symbolName(symbolResult);
}
function getSuggestedSymbolForNonexistentModule(name: Identifier, targetModule: Symbol): Symbol | undefined {
return targetModule.exports && getSpellingSuggestionForName(idText(name), getExportsOfModuleAsArray(targetModule), SymbolFlags.ModuleMember);
}
function getSuggestionForNonexistentExport(name: Identifier, targetModule: Symbol): string | undefined {
const suggestion = getSuggestedSymbolForNonexistentModule(name, targetModule);
return suggestion && symbolName(suggestion);
}
+3 -3
View File
@@ -2401,8 +2401,8 @@
"category": "Error",
"code": 2727
},
"'{0}' was declared here.": {
"category": "Error",
"'{0}' is declared here.": {
"category": "Message",
"code": 2728
},
"Property '{0}' is used before its initialization.": {
@@ -3886,7 +3886,7 @@
"code": 7037
},
"Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead.": {
"category": "Error",
"category": "Message",
"code": 7038
},
"Mapped object type implicitly has an 'any' template type.": {
+1 -1
View File
@@ -2996,7 +2996,7 @@ namespace ts {
getApparentType(type: Type): Type;
getSuggestionForNonexistentProperty(name: Identifier | string, containingType: Type): string | undefined;
getSuggestionForNonexistentSymbol(location: Node, name: string, meaning: SymbolFlags): string | undefined;
getSuggestionForNonexistentModule(node: Identifier, target: Symbol): string | undefined;
getSuggestionForNonexistentExport(node: Identifier, target: Symbol): string | undefined;
getBaseConstraintOfType(type: Type): Type | undefined;
getDefaultFromTypeParameter(type: Type): Type | undefined;
+1 -1
View File
@@ -43,7 +43,7 @@ namespace ts.codefix {
const importDeclaration = findAncestor(node, isImportDeclaration)!;
const resolvedSourceFile = getResolvedSourceFileFromImportDeclaration(sourceFile, context, importDeclaration);
if (resolvedSourceFile && resolvedSourceFile.symbol) {
suggestion = checker.getSuggestionForNonexistentModule(node as Identifier, resolvedSourceFile.symbol);
suggestion = checker.getSuggestionForNonexistentExport(node as Identifier, resolvedSourceFile.symbol);
}
}
else {
@@ -7,7 +7,7 @@ tests/cases/conformance/statements/for-ofStatements/ES5For-of17.ts(3,20): error
for (let v of [v]) {
~
!!! error TS2448: Block-scoped variable 'v' used before its declaration.
!!! related TS2728 tests/cases/conformance/statements/for-ofStatements/ES5For-of17.ts:3:14: 'v' was declared here.
!!! related TS2728 tests/cases/conformance/statements/for-ofStatements/ES5For-of17.ts:3:14: 'v' is declared here.
var x = v;
v++;
}
@@ -8,7 +8,7 @@ tests/cases/conformance/statements/for-ofStatements/ES5For-of20.ts(4,15): error
for (let v of [v]) {
~
!!! error TS2448: Block-scoped variable 'v' used before its declaration.
!!! related TS2728 tests/cases/conformance/statements/for-ofStatements/ES5For-of20.ts:3:14: 'v' was declared here.
!!! related TS2728 tests/cases/conformance/statements/for-ofStatements/ES5For-of20.ts:3:14: 'v' is declared here.
const v;
~
!!! error TS1155: 'const' declarations must be initialized.
@@ -32,7 +32,7 @@ tests/cases/conformance/internalModules/DeclarationMerging/simple.ts(2,31): erro
export var Instance = new A();
~
!!! error TS2449: Class 'A' used before its declaration.
!!! related TS2728 tests/cases/conformance/internalModules/DeclarationMerging/simple.ts:6:7: 'A' was declared here.
!!! related TS2728 tests/cases/conformance/internalModules/DeclarationMerging/simple.ts:6:7: 'A' is declared here.
}
// duplicate identifier
@@ -35,4 +35,5 @@ tests/cases/conformance/internalModules/exportDeclarations/ModuleWithExportedAnd
!!! error TS2339: Property 'fn2' does not exist on type 'typeof A'.
var fng2 = A.fng2;
~~~~
!!! error TS2551: Property 'fng2' does not exist on type 'typeof A'. Did you mean 'fng'?
!!! error TS2551: Property 'fng2' does not exist on type 'typeof A'. Did you mean 'fng'?
!!! related TS2728 tests/cases/conformance/internalModules/exportDeclarations/ModuleWithExportedAndNonExportedFunctions.ts:7:21: 'fng' is declared here.
@@ -17,6 +17,7 @@ tests/cases/compiler/anonymousClassExpression2.ts(13,18): error TS2551: Property
this.methodA; // error
~~~~~~~
!!! error TS2551: Property 'methodA' does not exist on type 'B'. Did you mean 'methodB'?
!!! related TS2728 tests/cases/compiler/anonymousClassExpression2.ts:12:9: 'methodB' is declared here.
this.methodB; // ok
}
}
+2 -2
View File
@@ -2675,7 +2675,7 @@ declare namespace ts {
getApparentType(type: Type): Type;
getSuggestionForNonexistentProperty(name: Identifier | string, containingType: Type): string | undefined;
getSuggestionForNonexistentSymbol(location: Node, name: string, meaning: SymbolFlags): string | undefined;
getSuggestionForNonexistentModule(node: Identifier, target: Symbol): string | undefined;
getSuggestionForNonexistentExport(node: Identifier, target: Symbol): string | undefined;
getBaseConstraintOfType(type: Type): Type | undefined;
getDefaultFromTypeParameter(type: Type): Type | undefined;
getAnyType(): Type;
@@ -5430,7 +5430,7 @@ declare namespace ts {
Class_name_cannot_be_Object_when_targeting_ES5_with_module_0: DiagnosticMessage;
Cannot_find_lib_definition_for_0: DiagnosticMessage;
Cannot_find_lib_definition_for_0_Did_you_mean_1: DiagnosticMessage;
_0_was_declared_here: DiagnosticMessage;
_0_is_declared_here: DiagnosticMessage;
Property_0_is_used_before_its_initialization: DiagnosticMessage;
Import_declaration_0_is_using_private_name_1: DiagnosticMessage;
Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: DiagnosticMessage;
+1 -1
View File
@@ -1920,7 +1920,7 @@ declare namespace ts {
getApparentType(type: Type): Type;
getSuggestionForNonexistentProperty(name: Identifier | string, containingType: Type): string | undefined;
getSuggestionForNonexistentSymbol(location: Node, name: string, meaning: SymbolFlags): string | undefined;
getSuggestionForNonexistentModule(node: Identifier, target: Symbol): string | undefined;
getSuggestionForNonexistentExport(node: Identifier, target: Symbol): string | undefined;
getBaseConstraintOfType(type: Type): Type | undefined;
getDefaultFromTypeParameter(type: Type): Type | undefined;
/**
@@ -8,4 +8,5 @@ tests/cases/compiler/assignmentRestElementWithErrorSourceType.ts(2,10): error TS
~
!!! error TS2304: Cannot find name 'c'.
~~~~~
!!! error TS2552: Cannot find name 'tupel'. Did you mean 'tuple'?
!!! error TS2552: Cannot find name 'tupel'. Did you mean 'tuple'?
!!! related TS2728 tests/cases/compiler/assignmentRestElementWithErrorSourceType.ts:1:5: 'tuple' is declared here.
@@ -21,6 +21,7 @@ tests/cases/compiler/baseCheck.ts(26,9): error TS2304: Cannot find name 'x'.
super(0, loc);
~~~
!!! error TS2552: Cannot find name 'loc'. Did you mean 'ELoc'?
!!! related TS2728 tests/cases/compiler/baseCheck.ts:2:7: 'ELoc' is declared here.
}
m() {
@@ -8,16 +8,16 @@ tests/cases/compiler/blockScopedBindingUsedBeforeDef.ts(8,7): error TS2448: Bloc
for (let {[a]: a} of [{ }]) continue;
~
!!! error TS2448: Block-scoped variable 'a' used before its declaration.
!!! related TS2728 tests/cases/compiler/blockScopedBindingUsedBeforeDef.ts:2:16: 'a' was declared here.
!!! related TS2728 tests/cases/compiler/blockScopedBindingUsedBeforeDef.ts:2:16: 'a' is declared here.
// 2:
for (let {[a]: a} = { }; false; ) continue;
~
!!! error TS2448: Block-scoped variable 'a' used before its declaration.
!!! related TS2728 tests/cases/compiler/blockScopedBindingUsedBeforeDef.ts:5:16: 'a' was declared here.
!!! related TS2728 tests/cases/compiler/blockScopedBindingUsedBeforeDef.ts:5:16: 'a' is declared here.
// 3:
let {[b]: b} = { };
~
!!! error TS2448: Block-scoped variable 'b' used before its declaration.
!!! related TS2728 tests/cases/compiler/blockScopedBindingUsedBeforeDef.ts:8:11: 'b' was declared here.
!!! related TS2728 tests/cases/compiler/blockScopedBindingUsedBeforeDef.ts:8:11: 'b' is declared here.
@@ -9,7 +9,7 @@ tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts(100,12): error TS2448:
let a = x;
~
!!! error TS2448: Block-scoped variable 'x' used before its declaration.
!!! related TS2728 tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts:3:9: 'x' was declared here.
!!! related TS2728 tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts:3:9: 'x' is declared here.
let x;
}
@@ -68,7 +68,7 @@ tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts(100,12): error TS2448:
static a = x;
~
!!! error TS2448: Block-scoped variable 'x' used before its declaration.
!!! related TS2728 tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts:60:9: 'x' was declared here.
!!! related TS2728 tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts:60:9: 'x' is declared here.
}
let x;
}
@@ -78,7 +78,7 @@ tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts(100,12): error TS2448:
static a = x;
~
!!! error TS2448: Block-scoped variable 'x' used before its declaration.
!!! related TS2728 tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts:67:9: 'x' was declared here.
!!! related TS2728 tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts:67:9: 'x' is declared here.
}
let x;
}
@@ -116,7 +116,7 @@ tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts(100,12): error TS2448:
a: x
~
!!! error TS2448: Block-scoped variable 'x' used before its declaration.
!!! related TS2728 tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts:102:9: 'x' was declared here.
!!! related TS2728 tests/cases/compiler/blockScopedVariablesUseBeforeDef.ts:102:9: 'x' is declared here.
}
let x
}
@@ -32,6 +32,7 @@ tests/cases/conformance/jsx/file.tsx(32,10): error TS2322: Type '{ children: ((u
<h1>{ user.NAme }</h1>
~~~~
!!! error TS2551: Property 'NAme' does not exist on type 'IUser'. Did you mean 'Name'?
!!! related TS2728 tests/cases/conformance/jsx/file.tsx:4:5: 'Name' is declared here.
) }
</FetchUser>
);
@@ -9,7 +9,7 @@ tests/cases/conformance/internalModules/importDeclarations/circularImportAlias.t
export class D extends a.C {
~
!!! error TS2449: Class 'C' used before its declaration.
!!! related TS2728 tests/cases/conformance/internalModules/importDeclarations/circularImportAlias.ts:11:18: 'C' was declared here.
!!! related TS2728 tests/cases/conformance/internalModules/importDeclarations/circularImportAlias.ts:11:18: 'C' is declared here.
id: number;
}
}
@@ -45,7 +45,7 @@ tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbst
var x : any = C;
~
!!! error TS2449: Class 'C' used before its declaration.
!!! related TS2728 tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractInstantiations2.ts:26:7: 'C' was declared here.
!!! related TS2728 tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractInstantiations2.ts:26:7: 'C' is declared here.
new x; // okay -- undefined behavior at runtime
class C extends B { } // error -- not declared abstract
@@ -12,18 +12,18 @@ tests/cases/compiler/classDeclarationShouldBeOutOfScopeInComputedNames.ts(8,6):
static readonly [A.p1] = 0;
~
!!! error TS2449: Class 'A' used before its declaration.
!!! related TS2728 tests/cases/compiler/classDeclarationShouldBeOutOfScopeInComputedNames.ts:1:7: 'A' was declared here.
!!! related TS2728 tests/cases/compiler/classDeclarationShouldBeOutOfScopeInComputedNames.ts:1:7: 'A' is declared here.
static [A.p2]() { return 0 };
~
!!! error TS2449: Class 'A' used before its declaration.
!!! related TS2728 tests/cases/compiler/classDeclarationShouldBeOutOfScopeInComputedNames.ts:1:7: 'A' was declared here.
!!! related TS2728 tests/cases/compiler/classDeclarationShouldBeOutOfScopeInComputedNames.ts:1:7: 'A' is declared here.
[A.p1]() { }
~
!!! error TS2449: Class 'A' used before its declaration.
!!! related TS2728 tests/cases/compiler/classDeclarationShouldBeOutOfScopeInComputedNames.ts:1:7: 'A' was declared here.
!!! related TS2728 tests/cases/compiler/classDeclarationShouldBeOutOfScopeInComputedNames.ts:1:7: 'A' is declared here.
[A.p2] = 0
~
!!! error TS2449: Class 'A' used before its declaration.
!!! related TS2728 tests/cases/compiler/classDeclarationShouldBeOutOfScopeInComputedNames.ts:1:7: 'A' was declared here.
!!! related TS2728 tests/cases/compiler/classDeclarationShouldBeOutOfScopeInComputedNames.ts:1:7: 'A' is declared here.
}
@@ -14,7 +14,7 @@ tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/cla
!!! error TS2506: 'C' is referenced directly or indirectly in its own base expression.
~
!!! error TS2449: Class 'E' used before its declaration.
!!! related TS2728 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts:5:7: 'E' was declared here.
!!! related TS2728 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts:5:7: 'E' is declared here.
class D extends C { bar: string; }
~
@@ -29,7 +29,7 @@ tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/cla
!!! error TS2506: 'C2' is referenced directly or indirectly in its own base expression.
~~
!!! error TS2449: Class 'E2' used before its declaration.
!!! related TS2728 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts:11:7: 'E2' was declared here.
!!! related TS2728 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts:11:7: 'E2' is declared here.
class D2<T> extends C2<T> { bar: T; }
~~
@@ -14,7 +14,7 @@ tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/cla
!!! error TS2506: 'C' is referenced directly or indirectly in its own base expression.
~
!!! error TS2449: Class 'E' used before its declaration.
!!! related TS2728 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly2.ts:9:18: 'E' was declared here.
!!! related TS2728 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly2.ts:9:18: 'E' is declared here.
module M {
export class D extends C { bar: string; }
@@ -35,7 +35,7 @@ tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/cla
!!! error TS2506: 'C2' is referenced directly or indirectly in its own base expression.
~~
!!! error TS2449: Class 'E2' used before its declaration.
!!! related TS2728 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly2.ts:20:22: 'E2' was declared here.
!!! related TS2728 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly2.ts:20:22: 'E2' is declared here.
module P {
export class D2<T> extends C2<T> { bar: T; }
@@ -6,7 +6,7 @@ tests/cases/compiler/classInheritence.ts(2,7): error TS2506: 'A' is referenced d
class B extends A { }
~
!!! error TS2449: Class 'A' used before its declaration.
!!! related TS2728 tests/cases/compiler/classInheritence.ts:2:7: 'A' was declared here.
!!! related TS2728 tests/cases/compiler/classInheritence.ts:2:7: 'A' is declared here.
class A extends A { }
~
!!! error TS2506: 'A' is referenced directly or indirectly in its own base expression.
@@ -12,6 +12,6 @@ tests/cases/compiler/classMergedWithInterfaceMultipleBasesNoError.ts(8,30): erro
readonly observer = this.handleIntersection;
~~~~~~~~~~~~~~~~~~
!!! error TS2729: Property 'handleIntersection' is used before its initialization.
!!! related TS2728 tests/cases/compiler/classMergedWithInterfaceMultipleBasesNoError.ts:9:14: 'handleIntersection' was declared here.
!!! related TS2728 tests/cases/compiler/classMergedWithInterfaceMultipleBasesNoError.ts:9:14: 'handleIntersection' is declared here.
readonly handleIntersection = () => { }
}
@@ -5,7 +5,7 @@ tests/cases/compiler/classOrder2.ts(1,17): error TS2449: Class 'B' used before i
class A extends B {
~
!!! error TS2449: Class 'B' used before its declaration.
!!! related TS2728 tests/cases/compiler/classOrder2.ts:7:7: 'B' was declared here.
!!! related TS2728 tests/cases/compiler/classOrder2.ts:7:7: 'B' is declared here.
foo() { this.bar(); }
@@ -11,7 +11,7 @@ tests/cases/compiler/classSideInheritance2.ts(7,23): error TS2449: Class 'TextBa
class SubText extends TextBase {
~~~~~~~~
!!! error TS2449: Class 'TextBase' used before its declaration.
!!! related TS2728 tests/cases/compiler/classSideInheritance2.ts:14:7: 'TextBase' was declared here.
!!! related TS2728 tests/cases/compiler/classSideInheritance2.ts:14:7: 'TextBase' is declared here.
constructor(text: IText, span: TextSpan) {
super();
@@ -10,21 +10,21 @@ tests/cases/compiler/classStaticInitializersUsePropertiesBeforeDeclaration.ts(4,
static enumMember = Enum.A;
~~~~
!!! error TS2450: Enum 'Enum' used before its declaration.
!!! related TS2728 tests/cases/compiler/classStaticInitializersUsePropertiesBeforeDeclaration.ts:7:6: 'Enum' was declared here.
!!! related TS2728 tests/cases/compiler/classStaticInitializersUsePropertiesBeforeDeclaration.ts:7:6: 'Enum' is declared here.
~
!!! error TS2729: Property 'A' is used before its initialization.
!!! related TS2728 tests/cases/compiler/classStaticInitializersUsePropertiesBeforeDeclaration.ts:8:5: 'A' was declared here.
!!! related TS2728 tests/cases/compiler/classStaticInitializersUsePropertiesBeforeDeclaration.ts:8:5: 'A' is declared here.
static objLiteralMember = ObjLiteral.A;
~~~~~~~~~~
!!! error TS2448: Block-scoped variable 'ObjLiteral' used before its declaration.
!!! related TS2728 tests/cases/compiler/classStaticInitializersUsePropertiesBeforeDeclaration.ts:11:7: 'ObjLiteral' was declared here.
!!! related TS2728 tests/cases/compiler/classStaticInitializersUsePropertiesBeforeDeclaration.ts:11:7: 'ObjLiteral' is declared here.
~
!!! error TS2729: Property 'A' is used before its initialization.
!!! related TS2728 tests/cases/compiler/classStaticInitializersUsePropertiesBeforeDeclaration.ts:12:5: 'A' was declared here.
!!! related TS2728 tests/cases/compiler/classStaticInitializersUsePropertiesBeforeDeclaration.ts:12:5: 'A' is declared here.
static namespaceMember = Namespace.A;
~
!!! error TS2729: Property 'A' is used before its initialization.
!!! related TS2728 tests/cases/compiler/classStaticInitializersUsePropertiesBeforeDeclaration.ts:16:16: 'A' was declared here.
!!! related TS2728 tests/cases/compiler/classStaticInitializersUsePropertiesBeforeDeclaration.ts:16:16: 'A' is declared here.
}
enum Enum {
@@ -6,7 +6,7 @@ tests/cases/compiler/complexClassRelationships.ts(2,23): error TS2449: Class 'Ba
class Derived extends Base {
~~~~
!!! error TS2449: Class 'Base' used before its declaration.
!!! related TS2728 tests/cases/compiler/complexClassRelationships.ts:13:7: 'Base' was declared here.
!!! related TS2728 tests/cases/compiler/complexClassRelationships.ts:13:7: 'Base' is declared here.
public static createEmpty(): Derived {
var item = new Derived();
return item;
@@ -9,17 +9,17 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesWithStaticPr
get [C.staticProp]() {
~
!!! error TS2449: Class 'C' used before its declaration.
!!! related TS2728 tests/cases/conformance/es6/computedProperties/computedPropertyNamesWithStaticProperty.ts:1:7: 'C' was declared here.
!!! related TS2728 tests/cases/conformance/es6/computedProperties/computedPropertyNamesWithStaticProperty.ts:1:7: 'C' is declared here.
return "hello";
}
set [C.staticProp](x: string) {
~
!!! error TS2449: Class 'C' used before its declaration.
!!! related TS2728 tests/cases/conformance/es6/computedProperties/computedPropertyNamesWithStaticProperty.ts:1:7: 'C' was declared here.
!!! related TS2728 tests/cases/conformance/es6/computedProperties/computedPropertyNamesWithStaticProperty.ts:1:7: 'C' is declared here.
var y = x;
}
[C.staticProp]() { }
~
!!! error TS2449: Class 'C' used before its declaration.
!!! related TS2728 tests/cases/conformance/es6/computedProperties/computedPropertyNamesWithStaticProperty.ts:1:7: 'C' was declared here.
!!! related TS2728 tests/cases/conformance/es6/computedProperties/computedPropertyNamesWithStaticProperty.ts:1:7: 'C' is declared here.
}
@@ -7,7 +7,7 @@ tests/cases/compiler/constDeclarations-useBeforeDefinition.ts(8,5): error TS2448
c1;
~~
!!! error TS2448: Block-scoped variable 'c1' used before its declaration.
!!! related TS2728 tests/cases/compiler/constDeclarations-useBeforeDefinition.ts:3:11: 'c1' was declared here.
!!! related TS2728 tests/cases/compiler/constDeclarations-useBeforeDefinition.ts:3:11: 'c1' is declared here.
const c1 = 0;
}
@@ -16,7 +16,7 @@ tests/cases/compiler/constDeclarations-useBeforeDefinition.ts(8,5): error TS2448
v1;
~~
!!! error TS2448: Block-scoped variable 'v1' used before its declaration.
!!! related TS2728 tests/cases/compiler/constDeclarations-useBeforeDefinition.ts:9:11: 'v1' was declared here.
!!! related TS2728 tests/cases/compiler/constDeclarations-useBeforeDefinition.ts:9:11: 'v1' is declared here.
const v1 = 0;
}
@@ -5,7 +5,7 @@ tests/cases/compiler/file1.ts(1,1): error TS2448: Block-scoped variable 'c' used
c;
~
!!! error TS2448: Block-scoped variable 'c' used before its declaration.
!!! related TS2728 tests/cases/compiler/file2.ts:1:7: 'c' was declared here.
!!! related TS2728 tests/cases/compiler/file2.ts:1:7: 'c' is declared here.
==== tests/cases/compiler/file2.ts (0 errors) ====
const c = 0;
@@ -466,6 +466,7 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(261,1): error TS
return this.method1(2);
~~~~~~~
!!! error TS2551: Property 'method1' does not exist on type 'B'. Did you mean 'method2'?
!!! related TS2728 tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts:245:16: 'method2' is declared here.
}
}
@@ -5,7 +5,7 @@ tests/cases/compiler/derivedClasses.ts(1,19): error TS2449: Class 'Color' used b
class Red extends Color {
~~~~~
!!! error TS2449: Class 'Color' used before its declaration.
!!! related TS2728 tests/cases/compiler/derivedClasses.ts:8:7: 'Color' was declared here.
!!! related TS2728 tests/cases/compiler/derivedClasses.ts:8:7: 'Color' is declared here.
public shade() {
var getHue = () => { return this.hue(); };
return getHue() + " red";
@@ -9,11 +9,11 @@ tests/cases/conformance/es6/destructuring/destructuringArrayBindingPatternAndAss
const [c, d = c, e = e] = [1]; // error for e = e
~
!!! error TS2448: Block-scoped variable 'e' used before its declaration.
!!! related TS2728 tests/cases/conformance/es6/destructuring/destructuringArrayBindingPatternAndAssignment3.ts:2:18: 'e' was declared here.
!!! related TS2728 tests/cases/conformance/es6/destructuring/destructuringArrayBindingPatternAndAssignment3.ts:2:18: 'e' is declared here.
const [f, g = f, h = i, i = f] = [1]; // error for h = i
~
!!! error TS2448: Block-scoped variable 'i' used before its declaration.
!!! related TS2728 tests/cases/conformance/es6/destructuring/destructuringArrayBindingPatternAndAssignment3.ts:3:25: 'i' was declared here.
!!! related TS2728 tests/cases/conformance/es6/destructuring/destructuringArrayBindingPatternAndAssignment3.ts:3:25: 'i' is declared here.
(function ([a, b = a]) { // ok
})([1]);
@@ -11,10 +11,10 @@ tests/cases/conformance/es6/destructuring/destructuringObjectBindingPatternAndAs
e = f, // error
~
!!! error TS2448: Block-scoped variable 'f' used before its declaration.
!!! related TS2728 tests/cases/conformance/es6/destructuring/destructuringObjectBindingPatternAndAssignment4.ts:7:5: 'f' was declared here.
!!! related TS2728 tests/cases/conformance/es6/destructuring/destructuringObjectBindingPatternAndAssignment4.ts:7:5: 'f' is declared here.
f = f // error
~
!!! error TS2448: Block-scoped variable 'f' used before its declaration.
!!! related TS2728 tests/cases/conformance/es6/destructuring/destructuringObjectBindingPatternAndAssignment4.ts:7:5: 'f' was declared here.
!!! related TS2728 tests/cases/conformance/es6/destructuring/destructuringObjectBindingPatternAndAssignment4.ts:7:5: 'f' is declared here.
} = { } as any;
@@ -48,6 +48,7 @@ tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts(
a1(...array2); // Error parameter type is (number|string)[]
~~~~~~
!!! error TS2552: Cannot find name 'array2'. Did you mean 'Array'?
!!! related TS2728 /.ts/lib.es5.d.ts:1298:15: 'Array' is declared here.
a5([1, 2, "string", false, true]); // Error, parameter type is [any, any, [[any]]]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2345: Argument of type '[number, number, string, boolean, boolean]' is not assignable to parameter of type '[any, any, [[any]]]'.
@@ -5,7 +5,7 @@ tests/cases/compiler/enumUsedBeforeDeclaration.ts(1,18): error TS2450: Enum 'Col
const v: Color = Color.Green;
~~~~~
!!! error TS2450: Enum 'Color' used before its declaration.
!!! related TS2728 tests/cases/compiler/enumUsedBeforeDeclaration.ts:3:6: 'Color' was declared here.
!!! related TS2728 tests/cases/compiler/enumUsedBeforeDeclaration.ts:3:6: 'Color' is declared here.
const v2: ConstColor = ConstColor.Green;
enum Color { Red, Green, Blue }
const enum ConstColor { Red, Green, Blue }
@@ -12,4 +12,5 @@ tests/cases/compiler/errorMessageOnObjectLiteralType.ts(6,8): error TS2551: Prop
!!! error TS2339: Property 'getOwnPropertyNamess' does not exist on type '{ a: string; b: number; }'.
Object.getOwnPropertyNamess(null);
~~~~~~~~~~~~~~~~~~~~
!!! error TS2551: Property 'getOwnPropertyNamess' does not exist on type 'ObjectConstructor'. Did you mean 'getOwnPropertyNames'?
!!! error TS2551: Property 'getOwnPropertyNamess' does not exist on type 'ObjectConstructor'. Did you mean 'getOwnPropertyNames'?
!!! related TS2728 /.ts/lib.es5.d.ts:179:5: 'getOwnPropertyNames' is declared here.
@@ -5,7 +5,7 @@ tests/cases/compiler/es5ExportDefaultClassDeclaration3.ts(1,21): error TS2449: C
var before: C = new C();
~
!!! error TS2449: Class 'C' used before its declaration.
!!! related TS2728 tests/cases/compiler/es5ExportDefaultClassDeclaration3.ts:3:22: 'C' was declared here.
!!! related TS2728 tests/cases/compiler/es5ExportDefaultClassDeclaration3.ts:3:22: 'C' is declared here.
export default class C {
method(): C {
@@ -13,4 +13,5 @@ tests/cases/compiler/exactSpellingSuggestion.ts(9,4): error TS2551: Property 'bi
U8.bit_2
~~~~~
!!! error TS2551: Property 'bit_2' does not exist on type 'typeof U8'. Did you mean 'BIT_2'?
!!! related TS2728 tests/cases/compiler/exactSpellingSuggestion.ts:6:5: 'BIT_2' is declared here.
@@ -21,5 +21,5 @@ tests/cases/compiler/user.ts(3,25): error TS2448: Block-scoped variable 'Obj' us
!!! error TS2395: Individual declarations in merged declaration 'Obj' must be all exported or all local.
~~~
!!! error TS2448: Block-scoped variable 'Obj' used before its declaration.
!!! related TS2728 tests/cases/compiler/user.ts:3:14: 'Obj' was declared here.
!!! related TS2728 tests/cases/compiler/user.ts:3:14: 'Obj' is declared here.
@@ -9,7 +9,7 @@ tests/cases/conformance/es6/modules/exportVars.ts(3,16): error TS2454: Variable
export default x;
~
!!! error TS2448: Block-scoped variable 'x' used before its declaration.
!!! related TS2728 tests/cases/conformance/es6/modules/exportConsts.ts:5:7: 'x' was declared here.
!!! related TS2728 tests/cases/conformance/es6/modules/exportConsts.ts:5:7: 'x' is declared here.
~
!!! error TS2454: Variable 'x' is used before being assigned.
@@ -10,4 +10,5 @@ tests/cases/conformance/es6/modules/b.ts(1,10): error TS2724: Module '"tests/cas
import { assertNevar } from "./a";
~~~~~~~~~~~
!!! error TS2724: Module '"tests/cases/conformance/es6/modules/a"' has no exported member 'assertNevar'. Did you mean 'assertNever'?
!!! related TS2728 tests/cases/conformance/es6/modules/a.ts:1:17: 'assertNever' is declared here.
@@ -12,41 +12,41 @@ tests/cases/compiler/exportedBlockScopedDeclarations.ts(16,21): error TS2448: Bl
const foo = foo; // compile error
~~~
!!! error TS2448: Block-scoped variable 'foo' used before its declaration.
!!! related TS2728 tests/cases/compiler/exportedBlockScopedDeclarations.ts:1:7: 'foo' was declared here.
!!! related TS2728 tests/cases/compiler/exportedBlockScopedDeclarations.ts:1:7: 'foo' is declared here.
export const bar = bar; // should be compile error
~~~
!!! error TS2448: Block-scoped variable 'bar' used before its declaration.
!!! related TS2728 tests/cases/compiler/exportedBlockScopedDeclarations.ts:2:14: 'bar' was declared here.
!!! related TS2728 tests/cases/compiler/exportedBlockScopedDeclarations.ts:2:14: 'bar' is declared here.
function f() {
const bar = bar; // compile error
~~~
!!! error TS2448: Block-scoped variable 'bar' used before its declaration.
!!! related TS2728 tests/cases/compiler/exportedBlockScopedDeclarations.ts:4:9: 'bar' was declared here.
!!! related TS2728 tests/cases/compiler/exportedBlockScopedDeclarations.ts:4:9: 'bar' is declared here.
}
namespace NS {
export const bar = bar; // should be compile error
~~~
!!! error TS2448: Block-scoped variable 'bar' used before its declaration.
!!! related TS2728 tests/cases/compiler/exportedBlockScopedDeclarations.ts:7:16: 'bar' was declared here.
!!! related TS2728 tests/cases/compiler/exportedBlockScopedDeclarations.ts:7:16: 'bar' is declared here.
}
let foo1 = foo1; // compile error
~~~~
!!! error TS2448: Block-scoped variable 'foo1' used before its declaration.
!!! related TS2728 tests/cases/compiler/exportedBlockScopedDeclarations.ts:10:5: 'foo1' was declared here.
!!! related TS2728 tests/cases/compiler/exportedBlockScopedDeclarations.ts:10:5: 'foo1' is declared here.
export let bar1 = bar1; // should be compile error
~~~~
!!! error TS2448: Block-scoped variable 'bar1' used before its declaration.
!!! related TS2728 tests/cases/compiler/exportedBlockScopedDeclarations.ts:11:12: 'bar1' was declared here.
!!! related TS2728 tests/cases/compiler/exportedBlockScopedDeclarations.ts:11:12: 'bar1' is declared here.
function f1() {
let bar1 = bar1; // compile error
~~~~
!!! error TS2448: Block-scoped variable 'bar1' used before its declaration.
!!! related TS2728 tests/cases/compiler/exportedBlockScopedDeclarations.ts:13:7: 'bar1' was declared here.
!!! related TS2728 tests/cases/compiler/exportedBlockScopedDeclarations.ts:13:7: 'bar1' is declared here.
}
namespace NS1 {
export let bar1 = bar1; // should be compile error
~~~~
!!! error TS2448: Block-scoped variable 'bar1' used before its declaration.
!!! related TS2728 tests/cases/compiler/exportedBlockScopedDeclarations.ts:16:14: 'bar1' was declared here.
!!! related TS2728 tests/cases/compiler/exportedBlockScopedDeclarations.ts:16:14: 'bar1' is declared here.
}
@@ -5,6 +5,6 @@ tests/cases/compiler/extendBaseClassBeforeItsDeclared.ts(1,23): error TS2449: Cl
class derived extends base { }
~~~~
!!! error TS2449: Class 'base' used before its declaration.
!!! related TS2728 tests/cases/compiler/extendBaseClassBeforeItsDeclared.ts:3:7: 'base' was declared here.
!!! related TS2728 tests/cases/compiler/extendBaseClassBeforeItsDeclared.ts:3:7: 'base' is declared here.
class base { constructor (public n: number) { } }
@@ -69,16 +69,20 @@ tests/cases/compiler/externModule.ts(37,3): error TS2552: Cannot find name 'XDat
var d=new XDate();
~~~~~
!!! error TS2552: Cannot find name 'XDate'. Did you mean 'Date'?
!!! related TS2728 /.ts/lib.es5.d.ts:837:15: 'Date' is declared here.
d.getDay();
d=new XDate(1978,2);
~~~~~
!!! error TS2552: Cannot find name 'XDate'. Did you mean 'Date'?
!!! related TS2728 /.ts/lib.es5.d.ts:837:15: 'Date' is declared here.
d.getXDate();
var n=XDate.parse("3/2/2004");
~~~~~
!!! error TS2552: Cannot find name 'XDate'. Did you mean 'Date'?
!!! related TS2728 /.ts/lib.es5.d.ts:837:15: 'Date' is declared here.
n=XDate.UTC(1964,2,1);
~~~~~
!!! error TS2552: Cannot find name 'XDate'. Did you mean 'Date'?
!!! related TS2728 /.ts/lib.es5.d.ts:837:15: 'Date' is declared here.
@@ -6,6 +6,6 @@ tests/cases/conformance/es6/for-ofStatements/for-of55.ts(2,15): error TS2448: Bl
for (let v of v) {
~
!!! error TS2448: Block-scoped variable 'v' used before its declaration.
!!! related TS2728 tests/cases/conformance/es6/for-ofStatements/for-of55.ts:2:10: 'v' was declared here.
!!! related TS2728 tests/cases/conformance/es6/for-ofStatements/for-of55.ts:2:10: 'v' is declared here.
v;
}
@@ -9,13 +9,13 @@ tests/cases/compiler/forwardRefInClassProperties.ts(11,17): error TS2448: Block-
_b = this._a; // undefined, no error/warning
~~
!!! error TS2729: Property '_a' is used before its initialization.
!!! related TS2728 tests/cases/compiler/forwardRefInClassProperties.ts:4:5: '_a' was declared here.
!!! related TS2728 tests/cases/compiler/forwardRefInClassProperties.ts:4:5: '_a' is declared here.
_a = 3;
static _B = Test._A; // undefined, no error/warning
~~
!!! error TS2729: Property '_A' is used before its initialization.
!!! related TS2728 tests/cases/compiler/forwardRefInClassProperties.ts:7:12: '_A' was declared here.
!!! related TS2728 tests/cases/compiler/forwardRefInClassProperties.ts:7:12: '_A' is declared here.
static _A = 3;
method()
@@ -23,7 +23,7 @@ tests/cases/compiler/forwardRefInClassProperties.ts(11,17): error TS2448: Block-
let a = b; // Property 'b' is used before its initialization.
~
!!! error TS2448: Block-scoped variable 'b' used before its declaration.
!!! related TS2728 tests/cases/compiler/forwardRefInClassProperties.ts:12:13: 'b' was declared here.
!!! related TS2728 tests/cases/compiler/forwardRefInClassProperties.ts:12:13: 'b' is declared here.
let b = 3;
}
}
@@ -6,11 +6,11 @@ tests/cases/compiler/genericClassInheritsConstructorFromNonGenericClass.ts(2,20)
class A extends B<string> { }
~
!!! error TS2449: Class 'B' used before its declaration.
!!! related TS2728 tests/cases/compiler/genericClassInheritsConstructorFromNonGenericClass.ts:2:7: 'B' was declared here.
!!! related TS2728 tests/cases/compiler/genericClassInheritsConstructorFromNonGenericClass.ts:2:7: 'B' is declared here.
class B<U> extends C { }
~
!!! error TS2449: Class 'C' used before its declaration.
!!! related TS2728 tests/cases/compiler/genericClassInheritsConstructorFromNonGenericClass.ts:3:7: 'C' was declared here.
!!! related TS2728 tests/cases/compiler/genericClassInheritsConstructorFromNonGenericClass.ts:3:7: 'C' is declared here.
class C {
constructor(p: string) { }
}
@@ -8,6 +8,7 @@ tests/cases/compiler/indexedAccessImplicitlyAny.ts(4,3): error TS2551: Property
i.foo;
~~~
!!! error TS2551: Property 'foo' does not exist on type 'I'. Did you mean 'foof'?
!!! related TS2728 tests/cases/compiler/indexedAccessImplicitlyAny.ts:1:15: 'foof' is declared here.
i["foo"];
~~~~~
!!! error TS2551: Property 'foo' does not exist on type 'I'. Did you mean 'foof'?
@@ -9,7 +9,7 @@ tests/cases/compiler/indirectSelfReference.ts(2,7): error TS2506: 'b' is referen
!!! error TS2506: 'a' is referenced directly or indirectly in its own base expression.
~
!!! error TS2449: Class 'b' used before its declaration.
!!! related TS2728 tests/cases/compiler/indirectSelfReference.ts:2:7: 'b' was declared here.
!!! related TS2728 tests/cases/compiler/indirectSelfReference.ts:2:7: 'b' is declared here.
class b extends a{ }
~
!!! error TS2506: 'b' is referenced directly or indirectly in its own base expression.
@@ -9,7 +9,7 @@ tests/cases/compiler/indirectSelfReferenceGeneric.ts(2,7): error TS2506: 'b' is
!!! error TS2506: 'a' is referenced directly or indirectly in its own base expression.
~
!!! error TS2449: Class 'b' used before its declaration.
!!! related TS2728 tests/cases/compiler/indirectSelfReferenceGeneric.ts:2:7: 'b' was declared here.
!!! related TS2728 tests/cases/compiler/indirectSelfReferenceGeneric.ts:2:7: 'b' is declared here.
class b<T> extends a<T> { }
~
!!! error TS2506: 'b' is referenced directly or indirectly in its own base expression.
@@ -36,6 +36,7 @@ tests/cases/conformance/types/specifyingTypes/typeQueries/invalidTypeOfTarget.ts
var x7: typeof function f() { };
~~~~~~~~
!!! error TS2552: Cannot find name 'function'. Did you mean 'Function'?
!!! related TS2728 /.ts/lib.es5.d.ts:316:15: 'Function' is declared here.
~
!!! error TS1005: ',' expected.
~
@@ -14,7 +14,7 @@ tests/cases/conformance/es6/destructuring/iterableArrayPattern16.ts(2,12): error
!!! error TS2345: Property '0' is missing in type 'FooIterator'.
~~~~~~~~~~~~~~~~~~~
!!! error TS2449: Class 'FooIteratorIterator' used before its declaration.
!!! related TS2728 tests/cases/conformance/es6/destructuring/iterableArrayPattern16.ts:18:7: 'FooIteratorIterator' was declared here.
!!! related TS2728 tests/cases/conformance/es6/destructuring/iterableArrayPattern16.ts:18:7: 'FooIteratorIterator' is declared here.
class Bar { x }
class Foo extends Bar { y }
class FooIterator {
@@ -8,7 +8,7 @@ tests/cases/compiler/a.ts(2,1): error TS2448: Block-scoped variable 'a' used bef
a = 10;
~
!!! error TS2448: Block-scoped variable 'a' used before its declaration.
!!! related TS2728 tests/cases/compiler/b.js:1:5: 'a' was declared here.
!!! related TS2728 tests/cases/compiler/b.js:1:5: 'a' is declared here.
==== tests/cases/compiler/b.js (0 errors) ====
let a = 10;
b = 30;
@@ -15,6 +15,7 @@ tests/cases/compiler/letDeclarations-scopes2.ts(25,1): error TS2304: Cannot find
local2; // Error
~~~~~~
!!! error TS2552: Cannot find name 'local2'. Did you mean 'local'?
!!! related TS2728 tests/cases/compiler/letDeclarations-scopes2.ts:4:9: 'local' is declared here.
{
let local2 = 0;
@@ -29,6 +30,7 @@ tests/cases/compiler/letDeclarations-scopes2.ts(25,1): error TS2304: Cannot find
local2; // Error
~~~~~~
!!! error TS2552: Cannot find name 'local2'. Did you mean 'local'?
!!! related TS2728 tests/cases/compiler/letDeclarations-scopes2.ts:4:9: 'local' is declared here.
}
local; // Error
@@ -7,7 +7,7 @@ tests/cases/compiler/letDeclarations-useBeforeDefinition.ts(8,5): error TS2448:
l1;
~~
!!! error TS2448: Block-scoped variable 'l1' used before its declaration.
!!! related TS2728 tests/cases/compiler/letDeclarations-useBeforeDefinition.ts:3:9: 'l1' was declared here.
!!! related TS2728 tests/cases/compiler/letDeclarations-useBeforeDefinition.ts:3:9: 'l1' is declared here.
let l1;
}
@@ -16,7 +16,7 @@ tests/cases/compiler/letDeclarations-useBeforeDefinition.ts(8,5): error TS2448:
v1;
~~
!!! error TS2448: Block-scoped variable 'v1' used before its declaration.
!!! related TS2728 tests/cases/compiler/letDeclarations-useBeforeDefinition.ts:9:9: 'v1' was declared here.
!!! related TS2728 tests/cases/compiler/letDeclarations-useBeforeDefinition.ts:9:9: 'v1' is declared here.
let v1 = 0;
}
@@ -5,7 +5,7 @@ tests/cases/compiler/file1.ts(1,1): error TS2448: Block-scoped variable 'l' used
l;
~
!!! error TS2448: Block-scoped variable 'l' used before its declaration.
!!! related TS2728 tests/cases/compiler/file2.ts:1:7: 'l' was declared here.
!!! related TS2728 tests/cases/compiler/file2.ts:1:7: 'l' is declared here.
==== tests/cases/compiler/file2.ts (0 errors) ====
const l = 0;
@@ -19,24 +19,34 @@ tests/cases/compiler/maximum10SpellingSuggestions.ts(5,6): error TS2304: Cannot
bob; bob; bob; bob; bob; bob; bob; bob; bob; bob;
~~~
!!! error TS2552: Cannot find name 'bob'. Did you mean 'blob'?
!!! related TS2728 tests/cases/compiler/maximum10SpellingSuggestions.ts:3:5: 'blob' is declared here.
~~~
!!! error TS2552: Cannot find name 'bob'. Did you mean 'blob'?
!!! related TS2728 tests/cases/compiler/maximum10SpellingSuggestions.ts:3:5: 'blob' is declared here.
~~~
!!! error TS2552: Cannot find name 'bob'. Did you mean 'blob'?
!!! related TS2728 tests/cases/compiler/maximum10SpellingSuggestions.ts:3:5: 'blob' is declared here.
~~~
!!! error TS2552: Cannot find name 'bob'. Did you mean 'blob'?
!!! related TS2728 tests/cases/compiler/maximum10SpellingSuggestions.ts:3:5: 'blob' is declared here.
~~~
!!! error TS2552: Cannot find name 'bob'. Did you mean 'blob'?
!!! related TS2728 tests/cases/compiler/maximum10SpellingSuggestions.ts:3:5: 'blob' is declared here.
~~~
!!! error TS2552: Cannot find name 'bob'. Did you mean 'blob'?
!!! related TS2728 tests/cases/compiler/maximum10SpellingSuggestions.ts:3:5: 'blob' is declared here.
~~~
!!! error TS2552: Cannot find name 'bob'. Did you mean 'blob'?
!!! related TS2728 tests/cases/compiler/maximum10SpellingSuggestions.ts:3:5: 'blob' is declared here.
~~~
!!! error TS2552: Cannot find name 'bob'. Did you mean 'blob'?
!!! related TS2728 tests/cases/compiler/maximum10SpellingSuggestions.ts:3:5: 'blob' is declared here.
~~~
!!! error TS2552: Cannot find name 'bob'. Did you mean 'blob'?
!!! related TS2728 tests/cases/compiler/maximum10SpellingSuggestions.ts:3:5: 'blob' is declared here.
~~~
!!! error TS2552: Cannot find name 'bob'. Did you mean 'blob'?
!!! related TS2728 tests/cases/compiler/maximum10SpellingSuggestions.ts:3:5: 'blob' is declared here.
bob; bob;
~~~
!!! error TS2304: Cannot find name 'bob'.
@@ -41,6 +41,7 @@ tests/cases/compiler/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.t
Math.sign(1);
~~~~
!!! error TS2551: Property 'sign' does not exist on type 'Math'. Did you mean 'sin'?
!!! related TS2728 /.ts/lib.es5.d.ts:643:5: 'sin' is declared here.
// Using ES6 object
var o = {
@@ -16,6 +16,7 @@ tests/cases/conformance/types/any/narrowExceptionVariableInCatchClause.ts(16,17)
err.doPanic(); // ERROR: Property 'doPanic' does not exist on type '{...}'
~~~~~~~
!!! error TS2551: Property 'doPanic' does not exist on type '{ type: "foo"; dontPanic(): any; }'. Did you mean 'dontPanic'?
!!! related TS2728 tests/cases/conformance/types/any/narrowExceptionVariableInCatchClause.ts:1:58: 'dontPanic' is declared here.
}
else if (err instanceof Error) {
@@ -23,6 +24,7 @@ tests/cases/conformance/types/any/narrowExceptionVariableInCatchClause.ts(16,17)
err.massage; // ERROR: Property 'massage' does not exist on type 'Error'
~~~~~~~
!!! error TS2551: Property 'massage' does not exist on type 'Error'. Did you mean 'message'?
!!! related TS2728 /.ts/lib.es5.d.ts:904:5: 'message' is declared here.
}
else {
@@ -22,6 +22,7 @@ tests/cases/conformance/types/any/narrowFromAnyWithInstanceof.ts(22,7): error TS
x.mesage;
~~~~~~
!!! error TS2551: Property 'mesage' does not exist on type 'Error'. Did you mean 'message'?
!!! related TS2728 /.ts/lib.es5.d.ts:904:5: 'message' is declared here.
}
if (x instanceof Date) {
@@ -29,5 +30,6 @@ tests/cases/conformance/types/any/narrowFromAnyWithInstanceof.ts(22,7): error TS
x.getHuors();
~~~~~~~~
!!! error TS2551: Property 'getHuors' does not exist on type 'Date'. Did you mean 'getHours'?
!!! related TS2728 /.ts/lib.es5.d.ts:693:5: 'getHours' is declared here.
}
@@ -39,6 +39,7 @@ tests/cases/conformance/types/any/narrowFromAnyWithTypePredicate.ts(33,7): error
x.mesage;
~~~~~~
!!! error TS2551: Property 'mesage' does not exist on type 'Error'. Did you mean 'message'?
!!! related TS2728 /.ts/lib.es5.d.ts:904:5: 'message' is declared here.
}
if (isDate(x)) {
@@ -46,5 +47,6 @@ tests/cases/conformance/types/any/narrowFromAnyWithTypePredicate.ts(33,7): error
x.getHuors();
~~~~~~~~
!!! error TS2551: Property 'getHuors' does not exist on type 'Date'. Did you mean 'getHours'?
!!! related TS2728 /.ts/lib.es5.d.ts:693:5: 'getHours' is declared here.
}
@@ -10,18 +10,21 @@ tests/cases/compiler/parameterNamesInTypeParameterList.ts(20,22): error TS2552:
function f0<T extends typeof a>(a: T) {
~
!!! error TS2552: Cannot find name 'a'. Did you mean 'A'?
!!! related TS2728 tests/cases/compiler/parameterNamesInTypeParameterList.ts:13:7: 'A' is declared here.
a.b;
}
function f1<T extends typeof a>({a}: {a:T}) {
~
!!! error TS2552: Cannot find name 'a'. Did you mean 'A'?
!!! related TS2728 tests/cases/compiler/parameterNamesInTypeParameterList.ts:13:7: 'A' is declared here.
a.b;
}
function f2<T extends typeof a>([a]: T[]) {
~
!!! error TS2552: Cannot find name 'a'. Did you mean 'A'?
!!! related TS2728 tests/cases/compiler/parameterNamesInTypeParameterList.ts:13:7: 'A' is declared here.
a.b;
}
@@ -29,16 +32,19 @@ tests/cases/compiler/parameterNamesInTypeParameterList.ts(20,22): error TS2552:
m0<T extends typeof a>(a: T) {
~
!!! error TS2552: Cannot find name 'a'. Did you mean 'A'?
!!! related TS2728 tests/cases/compiler/parameterNamesInTypeParameterList.ts:13:7: 'A' is declared here.
a.b
}
m1<T extends typeof a>({a}: {a:T}) {
~
!!! error TS2552: Cannot find name 'a'. Did you mean 'A'?
!!! related TS2728 tests/cases/compiler/parameterNamesInTypeParameterList.ts:13:7: 'A' is declared here.
a.b
}
m2<T extends typeof a>([a]: T[]) {
~
!!! error TS2552: Cannot find name 'a'. Did you mean 'A'?
!!! related TS2728 tests/cases/compiler/parameterNamesInTypeParameterList.ts:13:7: 'A' is declared here.
a.b
}
}
@@ -10,4 +10,5 @@ tests/cases/conformance/parser/ecmascript5/Expressions/parserMemberAccessAfterPo
~
!!! error TS1005: ';' expected.
~~~~~~~~
!!! error TS2552: Cannot find name 'toString'. Did you mean 'String'?
!!! error TS2552: Cannot find name 'toString'. Did you mean 'String'?
!!! related TS2728 /.ts/lib.es5.d.ts:457:15: 'String' is declared here.
@@ -475,7 +475,7 @@ tests/cases/conformance/parser/ecmascript5/parserRealSource10.ts(449,41): error
export var tokenTable = new TokenInfo[];
~~~~~~~~~
!!! error TS2449: Class 'TokenInfo' used before its declaration.
!!! related TS2728 tests/cases/conformance/parser/ecmascript5/parserRealSource10.ts:175:18: 'TokenInfo' was declared here.
!!! related TS2728 tests/cases/conformance/parser/ecmascript5/parserRealSource10.ts:175:18: 'TokenInfo' is declared here.
!!! error TS1011: An element access expression should take an argument.
export var nodeTypeTable = new string[];
@@ -328,6 +328,7 @@ tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(828,13): error T
baseTypeLinks = new TypeLink[];
~~~~~~~~
!!! error TS2552: Cannot find name 'TypeLink'. Did you mean 'typeLink'?
!!! related TS2728 tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts:21:21: 'typeLink' is declared here.
!!! error TS1011: An element access expression should take an argument.
}
@@ -337,6 +338,7 @@ tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(828,13): error T
var typeLink = new TypeLink();
~~~~~~~~
!!! error TS2552: Cannot find name 'TypeLink'. Did you mean 'typeLink'?
!!! related TS2728 tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts:21:21: 'typeLink' is declared here.
typeLink.ast = name;
baseTypeLinks[baseTypeLinks.length] = typeLink;
}
@@ -19,6 +19,7 @@ tests/cases/conformance/parser/ecmascript5/parserS7.2_A1.5_T2.ts(20,3): error TS
$ERROR('#1: eval("\\u00A0var x\\u00A0= 1\\u00A0"); x === 1. Actual: ' + (x));
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
//CHECK#2
@@ -27,6 +28,7 @@ tests/cases/conformance/parser/ecmascript5/parserS7.2_A1.5_T2.ts(20,3): error TS
$ERROR('#2:  var x = 1 ; x === 1. Actual: ' + (x));
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
@@ -21,6 +21,7 @@ tests/cases/conformance/parser/ecmascript5/parserS7.3_A1.1_T2.ts(17,3): error TS
$ERROR('#1: var\\nx\\n=\\n1\\n; x === 1. Actual: ' + (x));
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
@@ -50,60 +50,70 @@ tests/cases/conformance/parser/ecmascript5/parserS7.6_A4.2_T1.ts(142,3): error T
$ERROR('#А');
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
var \u0411 = 1;
if (Б !== 1) {
$ERROR('#Б');
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
var \u0412 = 1;
if (В !== 1) {
$ERROR('#В');
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
var \u0413 = 1;
if (Г !== 1) {
$ERROR('#Г');
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
var \u0414 = 1;
if (Д !== 1) {
$ERROR('#Д');
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
var \u0415 = 1;
if (Е !== 1) {
$ERROR('#Е');
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
var \u0416 = 1;
if (Ж !== 1) {
$ERROR('#Ж');
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
var \u0417 = 1;
if (З !== 1) {
$ERROR('#З');
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
var \u0418 = 1;
if (И !== 1) {
$ERROR('#И');
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
var \u0419 = 1;
if (Й !== 1) {
$ERROR('#Й');
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
var \u041A = 1;
if (К !== 1) {
@@ -12,6 +12,7 @@ tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens16.t
foo(): Bar { }
~~~
!!! error TS2552: Cannot find name 'foo'. Did you mean 'Foo'?
!!! related TS2728 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens16.ts:2:10: 'Foo' is declared here.
~
!!! error TS1005: ';' expected.
~~~
@@ -15,6 +15,7 @@ tests/cases/conformance/parser/ecmascript6/Symbols/parserSymbolIndexer5.ts(3,1):
!!! error TS1005: ']' expected.
~~~~~~
!!! error TS2552: Cannot find name 'symbol'. Did you mean 'Symbol'?
!!! related TS2728 /.ts/lib.es2015.symbol.d.ts:48:13: 'Symbol' is declared here.
~
!!! error TS1005: ',' expected.
~
@@ -11,11 +11,13 @@ tests/cases/conformance/parser/ecmascript5/parserUnicode1.ts(10,5): error TS2552
$ERROR('#6.1: var \\u0078x = 1; xx === 6. Actual: ' + (xx));
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
}
catch (e) {
$ERROR('#6.2: var \\u0078x = 1; xx === 6. Actual: ' + (xx));
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
@@ -24,12 +24,12 @@ tests/cases/compiler/privacyClassExtendsClauseDeclFile_externalModule.ts(21,83):
class privateClassExtendingFromPrivateModuleClass extends privateModule.publicClassInPrivateModule {
~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2449: Class 'publicClassInPrivateModule' used before its declaration.
!!! related TS2728 tests/cases/compiler/privacyClassExtendsClauseDeclFile_externalModule.ts:26:18: 'publicClassInPrivateModule' was declared here.
!!! related TS2728 tests/cases/compiler/privacyClassExtendsClauseDeclFile_externalModule.ts:26:18: 'publicClassInPrivateModule' is declared here.
}
export class publicClassExtendingFromPrivateModuleClass extends privateModule.publicClassInPrivateModule { // Should error
~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2449: Class 'publicClassInPrivateModule' used before its declaration.
!!! related TS2728 tests/cases/compiler/privacyClassExtendsClauseDeclFile_externalModule.ts:26:18: 'publicClassInPrivateModule' was declared here.
!!! related TS2728 tests/cases/compiler/privacyClassExtendsClauseDeclFile_externalModule.ts:26:18: 'publicClassInPrivateModule' is declared here.
}
}
@@ -18,6 +18,7 @@ tests/cases/compiler/propertyOrdering.ts(20,14): error TS2339: Property '_store'
public bar() { return this.store; } // should be an error
~~~~~
!!! error TS2551: Property 'store' does not exist on type 'Foo'. Did you mean '_store'?
!!! related TS2728 tests/cases/compiler/propertyOrdering.ts:6:14: '_store' is declared here.
}
@@ -24,6 +24,7 @@ tests/cases/compiler/propertySignatures.ts(14,12): error TS2552: Cannot find nam
var test = foo();
~~~
!!! error TS2552: Cannot find name 'foo'. Did you mean 'foo1'?
!!! related TS2728 tests/cases/compiler/propertySignatures.ts:2:5: 'foo1' is declared here.
// Should be OK
var foo5: {();};
@@ -10,7 +10,7 @@ tests/cases/compiler/recursiveBaseCheck3.ts(4,9): error TS2339: Property 'blah'
!!! error TS2506: 'A' is referenced directly or indirectly in its own base expression.
~
!!! error TS2449: Class 'C' used before its declaration.
!!! related TS2728 tests/cases/compiler/recursiveBaseCheck3.ts:2:7: 'C' was declared here.
!!! related TS2728 tests/cases/compiler/recursiveBaseCheck3.ts:2:7: 'C' is declared here.
class C<T> extends A<T> { }
~
!!! error TS2506: 'C' is referenced directly or indirectly in its own base expression.
@@ -15,43 +15,43 @@ tests/cases/compiler/recursiveLetConst.ts(11,11): error TS2448: Block-scoped var
let x = x + 1;
~
!!! error TS2448: Block-scoped variable 'x' used before its declaration.
!!! related TS2728 tests/cases/compiler/recursiveLetConst.ts:2:5: 'x' was declared here.
!!! related TS2728 tests/cases/compiler/recursiveLetConst.ts:2:5: 'x' is declared here.
let [x1] = x1 + 1;
~~
!!! error TS2448: Block-scoped variable 'x1' used before its declaration.
!!! related TS2728 tests/cases/compiler/recursiveLetConst.ts:3:6: 'x1' was declared here.
!!! related TS2728 tests/cases/compiler/recursiveLetConst.ts:3:6: 'x1' is declared here.
const y = y + 2;
~
!!! error TS2448: Block-scoped variable 'y' used before its declaration.
!!! related TS2728 tests/cases/compiler/recursiveLetConst.ts:4:7: 'y' was declared here.
!!! related TS2728 tests/cases/compiler/recursiveLetConst.ts:4:7: 'y' is declared here.
const [y1] = y1 + 1;
~~
!!! error TS2448: Block-scoped variable 'y1' used before its declaration.
!!! related TS2728 tests/cases/compiler/recursiveLetConst.ts:5:8: 'y1' was declared here.
!!! related TS2728 tests/cases/compiler/recursiveLetConst.ts:5:8: 'y1' is declared here.
for (let v = v; ; ) { }
~
!!! error TS2448: Block-scoped variable 'v' used before its declaration.
!!! related TS2728 tests/cases/compiler/recursiveLetConst.ts:6:10: 'v' was declared here.
!!! related TS2728 tests/cases/compiler/recursiveLetConst.ts:6:10: 'v' is declared here.
for (let [v] = v; ;) { }
~
!!! error TS2448: Block-scoped variable 'v' used before its declaration.
!!! related TS2728 tests/cases/compiler/recursiveLetConst.ts:7:11: 'v' was declared here.
!!! related TS2728 tests/cases/compiler/recursiveLetConst.ts:7:11: 'v' is declared here.
for (let v in v) { }
~
!!! error TS2448: Block-scoped variable 'v' used before its declaration.
!!! related TS2728 tests/cases/compiler/recursiveLetConst.ts:8:10: 'v' was declared here.
!!! related TS2728 tests/cases/compiler/recursiveLetConst.ts:8:10: 'v' is declared here.
for (let v of v) { }
~
!!! error TS2448: Block-scoped variable 'v' used before its declaration.
!!! related TS2728 tests/cases/compiler/recursiveLetConst.ts:9:10: 'v' was declared here.
!!! related TS2728 tests/cases/compiler/recursiveLetConst.ts:9:10: 'v' is declared here.
for (let [v] of v) { }
~
!!! error TS2448: Block-scoped variable 'v' used before its declaration.
!!! related TS2728 tests/cases/compiler/recursiveLetConst.ts:10:11: 'v' was declared here.
!!! related TS2728 tests/cases/compiler/recursiveLetConst.ts:10:11: 'v' is declared here.
let [x2 = x2] = []
~~
!!! error TS2448: Block-scoped variable 'x2' used before its declaration.
!!! related TS2728 tests/cases/compiler/recursiveLetConst.ts:11:6: 'x2' was declared here.
!!! related TS2728 tests/cases/compiler/recursiveLetConst.ts:11:6: 'x2' is declared here.
let z0 = () => z0;
let z1 = function () { return z1; }
let z2 = { f() { return z2;}}
@@ -29,7 +29,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class caniventer extends Lanthanum.nitidus<petrophilus.minutilla, julianae.sumatrana> {
~~~~~~~
!!! error TS2449: Class 'nitidus' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:114:16: 'nitidus' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:114:16: 'nitidus' is declared here.
salomonseni() : caniventer { var x : caniventer; () => { var y = this; }; return x; }
uchidai() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; }
raffrayana() : lavali.otion { var x : lavali.otion; () => { var y = this; }; return x; }
@@ -39,7 +39,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class veraecrucis<T0, T1> extends trivirgatus.mixtus<gabriellae.amicus, lutreolus.punicus> {
~~~~~~
!!! error TS2449: Class 'mixtus' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:199:16: 'mixtus' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:199:16: 'mixtus' is declared here.
naso() : panamensis.setulosus<lutreolus.punicus, howi.coludo<quasiater.bobrinskoi, provocax.melanoleuca>> { var x : panamensis.setulosus<lutreolus.punicus, howi.coludo<quasiater.bobrinskoi, provocax.melanoleuca>>; () => { var y = this; }; return x; }
vancouverensis() : imperfecta.ciliolabrum<argurus.oreas, argurus.peninsulae> { var x : imperfecta.ciliolabrum<argurus.oreas, argurus.peninsulae>; () => { var y = this; }; return x; }
africana() : argurus.gilbertii<panamensis.linulus<lavali.lepturus, argurus.oreas>, sagitta.cinereus<lavali.xanthognathus, argurus.oreas>> { var x : argurus.gilbertii<panamensis.linulus<lavali.lepturus, argurus.oreas>, sagitta.cinereus<lavali.xanthognathus, argurus.oreas>>; () => { var y = this; }; return x; }
@@ -78,7 +78,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class oralis<T0, T1> extends caurinus.psilurus {
~~~~~~~~
!!! error TS2449: Class 'psilurus' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:1010:18: 'psilurus' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:1010:18: 'psilurus' is declared here.
cepapi() : caurinus.psilurus { var x : caurinus.psilurus; () => { var y = this; }; return x; }
porteri() : lavali.thaeleri { var x : lavali.thaeleri; () => { var y = this; }; return x; }
bindi() : caurinus.mahaganus<gabriellae.amicus, panglima.amphibius<macrorhinos.daphaenodon, patas.uralensis>> { var x : caurinus.mahaganus<gabriellae.amicus, panglima.amphibius<macrorhinos.daphaenodon, patas.uralensis>>; () => { var y = this; }; return x; }
@@ -96,7 +96,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class sumatrana extends Lanthanum.jugularis {
~~~~~~~~~
!!! error TS2449: Class 'jugularis' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:136:16: 'jugularis' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:136:16: 'jugularis' is declared here.
wolffsohni() : Lanthanum.suillus<dammermani.melanops, quasiater.carolinensis> { var x : Lanthanum.suillus<dammermani.melanops, quasiater.carolinensis>; () => { var y = this; }; return x; }
geata() : ruatanica.hector<sumatrana, quasiater.bobrinskoi> { var x : ruatanica.hector<sumatrana, quasiater.bobrinskoi>; () => { var y = this; }; return x; }
awashensis() : petrophilus.minutilla { var x : petrophilus.minutilla; () => { var y = this; }; return x; }
@@ -135,7 +135,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class durangae extends dogramacii.aurata {
~~~~~~
!!! error TS2449: Class 'aurata' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:346:16: 'aurata' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:346:16: 'aurata' is declared here.
Californium() : panamensis.setulosus<lutreolus.punicus, dammermani.melanops> { var x : panamensis.setulosus<lutreolus.punicus, dammermani.melanops>; () => { var y = this; }; return x; }
Flerovium() : howi.angulatus<petrophilus.minutilla, lavali.xanthognathus> { var x : howi.angulatus<petrophilus.minutilla, lavali.xanthognathus>; () => { var y = this; }; return x; }
phrudus() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; }
@@ -156,7 +156,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class nitidus<T0, T1> extends argurus.gilbertii<lavali.thaeleri, lutreolus.punicus> {
~~~~~~~~~
!!! error TS2449: Class 'gilbertii' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:702:18: 'gilbertii' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:702:18: 'gilbertii' is declared here.
granatensis() : quasiater.bobrinskoi { var x : quasiater.bobrinskoi; () => { var y = this; }; return x; }
negligens() : minutus.inez<lavali.wilsoni, lavali.wilsoni> { var x : minutus.inez<lavali.wilsoni, lavali.wilsoni>; () => { var y = this; }; return x; }
lewisi() : julianae.oralis<lavali.xanthognathus, argurus.oreas> { var x : julianae.oralis<lavali.xanthognathus, argurus.oreas>; () => { var y = this; }; return x; }
@@ -171,7 +171,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class megalonyx extends caurinus.johorensis<caurinus.megaphyllus, julianae.steerii> {
~~~~~~~~~~
!!! error TS2449: Class 'johorensis' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:979:18: 'johorensis' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:979:18: 'johorensis' is declared here.
phillipsii() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; }
melanogaster() : rionegrensis.veraecrucis<trivirgatus.falconeri, quasiater.carolinensis> { var x : rionegrensis.veraecrucis<trivirgatus.falconeri, quasiater.carolinensis>; () => { var y = this; }; return x; }
elaphus() : nitidus<petrophilus.minutilla, julianae.sumatrana> { var x : nitidus<petrophilus.minutilla, julianae.sumatrana>; () => { var y = this; }; return x; }
@@ -230,7 +230,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class crenulata<T0, T1> extends trivirgatus.falconeri {
~~~~~~~~~
!!! error TS2449: Class 'falconeri' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:212:16: 'falconeri' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:212:16: 'falconeri' is declared here.
salvanius() : howi.coludo<howi.marcanoi, rionegrensis.caniventer> { var x : howi.coludo<howi.marcanoi, rionegrensis.caniventer>; () => { var y = this; }; return x; }
maritimus() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; }
edax() : lutreolus.cor<imperfecta.lasiurus<howi.marcanoi, imperfecta.ciliolabrum<Lanthanum.megalonyx, petrophilus.minutilla>>, rionegrensis.caniventer> { var x : lutreolus.cor<imperfecta.lasiurus<howi.marcanoi, imperfecta.ciliolabrum<Lanthanum.megalonyx, petrophilus.minutilla>>, rionegrensis.caniventer>; () => { var y = this; }; return x; }
@@ -250,7 +250,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class mixtus<T0, T1> extends argurus.pygmaea<argurus.oreas, panglima.fundatus<quasiater.carolinensis, macrorhinos.daphaenodon>> {
~~~~~~~
!!! error TS2449: Class 'pygmaea' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:598:18: 'pygmaea' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:598:18: 'pygmaea' is declared here.
ochrogaster() : dogramacii.aurata { var x : dogramacii.aurata; () => { var y = this; }; return x; }
bryophilus() : macrorhinos.marmosurus<dogramacii.koepckeae, panglima.abidi<dogramacii.aurata, chrysaeolus.sarasinorum<caurinus.megaphyllus, lavali.xanthognathus>>> { var x : macrorhinos.marmosurus<dogramacii.koepckeae, panglima.abidi<dogramacii.aurata, chrysaeolus.sarasinorum<caurinus.megaphyllus, lavali.xanthognathus>>>; () => { var y = this; }; return x; }
liechtensteini() : rendalli.zuluensis { var x : rendalli.zuluensis; () => { var y = this; }; return x; }
@@ -301,7 +301,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class americanus extends imperfecta.ciliolabrum<argurus.germaini, lutreolus.foina> {
~~~~~~~~~~~
!!! error TS2449: Class 'ciliolabrum' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:809:18: 'ciliolabrum' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:809:18: 'ciliolabrum' is declared here.
nasoloi() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; }
mystacalis() : howi.angulatus<quasiater.carolinensis, sagitta.stolzmanni> { var x : howi.angulatus<quasiater.carolinensis, sagitta.stolzmanni>; () => { var y = this; }; return x; }
fardoulisi() : trivirgatus.oconnelli { var x : trivirgatus.oconnelli; () => { var y = this; }; return x; }
@@ -329,7 +329,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class otion extends howi.coludo<argurus.oreas, howi.marcanoi> {
~~~~~~
!!! error TS2449: Class 'coludo' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:889:18: 'coludo' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:889:18: 'coludo' is declared here.
bonaerensis() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; }
dussumieri() : nigra.gracilis<julianae.steerii, dogramacii.kaiseri> { var x : nigra.gracilis<julianae.steerii, dogramacii.kaiseri>; () => { var y = this; }; return x; }
osvaldoreigi() : julianae.albidens<julianae.steerii, quasiater.carolinensis> { var x : julianae.albidens<julianae.steerii, quasiater.carolinensis>; () => { var y = this; }; return x; }
@@ -361,7 +361,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class thaeleri extends argurus.oreas {
~~~~~
!!! error TS2449: Class 'oreas' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:627:18: 'oreas' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:627:18: 'oreas' is declared here.
coromandra() : julianae.galapagoensis { var x : julianae.galapagoensis; () => { var y = this; }; return x; }
parvipes() : nigra.dolichurus<argurus.germaini, samarensis.pallidus> { var x : nigra.dolichurus<argurus.germaini, samarensis.pallidus>; () => { var y = this; }; return x; }
sponsorius() : rionegrensis.veraecrucis<chrysaeolus.sarasinorum<caurinus.psilurus, quasiater.bobrinskoi>, julianae.steerii> { var x : rionegrensis.veraecrucis<chrysaeolus.sarasinorum<caurinus.psilurus, quasiater.bobrinskoi>, julianae.steerii>; () => { var y = this; }; return x; }
@@ -466,7 +466,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class amphibius<T0, T1> extends caurinus.johorensis<Lanthanum.nitidus<petrophilus.minutilla, julianae.sumatrana>, Lanthanum.jugularis> {
~~~~~~~~~~
!!! error TS2449: Class 'johorensis' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:979:18: 'johorensis' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:979:18: 'johorensis' is declared here.
bottegi(): macrorhinos.marmosurus<rendalli.moojeni<amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>, sagitta.stolzmanni> { var x: macrorhinos.marmosurus<rendalli.moojeni<amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>, sagitta.stolzmanni>; () => { var y = this; }; return x; }
jerdoni(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; }
camtschatica(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; }
@@ -502,7 +502,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class himalayana<T0, T1> extends lutreolus.punicus {
~~~~~~~
!!! error TS2449: Class 'punicus' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:722:18: 'punicus' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:722:18: 'punicus' is declared here.
simoni(): argurus.netscheri<lavali.lepturus, argurus.dauricus<argurus.oreas, quasiater.carolinensis>> { var x: argurus.netscheri<lavali.lepturus, argurus.dauricus<argurus.oreas, quasiater.carolinensis>>; () => { var y = this; }; return x; }
lobata(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; }
rusticus(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; }
@@ -538,7 +538,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class angulatus<T0, T1> extends sagitta.stolzmanni {
~~~~~~~~~~
!!! error TS2449: Class 'stolzmanni' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:901:18: 'stolzmanni' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:901:18: 'stolzmanni' is declared here.
pennatus(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; }
}
}
@@ -562,7 +562,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class walkeri extends minutus.portoricensis {
~~~~~~~~~~~~~
!!! error TS2449: Class 'portoricensis' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:851:18: 'portoricensis' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:851:18: 'portoricensis' is declared here.
maracajuensis(): samarensis.cahirinus<Lanthanum.jugularis, ruatanica.americanus> { var x: samarensis.cahirinus<Lanthanum.jugularis, ruatanica.americanus>; () => { var y = this; }; return x; }
}
}
@@ -570,7 +570,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class inez<T0, T1> extends samarensis.pelurus<argurus.germaini, julianae.durangae> {
~~~~~~~
!!! error TS2449: Class 'pelurus' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:534:18: 'pelurus' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:534:18: 'pelurus' is declared here.
vexillaris(): samarensis.cahirinus<lavali.lepturus, lavali.wilsoni> { var x: samarensis.cahirinus<lavali.lepturus, lavali.wilsoni>; () => { var y = this; }; return x; }
}
}
@@ -578,7 +578,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class konganensis extends imperfecta.lasiurus<caurinus.psilurus, caurinus.psilurus> {
~~~~~~~~
!!! error TS2449: Class 'lasiurus' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:788:18: 'lasiurus' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:788:18: 'lasiurus' is declared here.
}
}
module panamensis {
@@ -615,7 +615,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class pelurus<T0, T1> extends sagitta.stolzmanni {
~~~~~~~~~~
!!! error TS2449: Class 'stolzmanni' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:901:18: 'stolzmanni' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:901:18: 'stolzmanni' is declared here.
Palladium(): panamensis.linulus<macrorhinos.konganensis, rionegrensis.caniventer> { var x: panamensis.linulus<macrorhinos.konganensis, rionegrensis.caniventer>; () => { var y = this; }; return x; }
castanea(): argurus.netscheri<minutus.inez<argurus.peninsulae, julianae.nudicaudus>, julianae.oralis<lavali.xanthognathus, argurus.oreas>> { var x: argurus.netscheri<minutus.inez<argurus.peninsulae, julianae.nudicaudus>, julianae.oralis<lavali.xanthognathus, argurus.oreas>>; () => { var y = this; }; return x; }
chamek(): argurus.pygmaea<julianae.galapagoensis, provocax.melanoleuca> { var x: argurus.pygmaea<julianae.galapagoensis, provocax.melanoleuca>; () => { var y = this; }; return x; }
@@ -633,7 +633,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class fuscus<T0, T1> extends macrorhinos.daphaenodon {
~~~~~~~~~~~
!!! error TS2449: Class 'daphaenodon' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:739:18: 'daphaenodon' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:739:18: 'daphaenodon' is declared here.
planifrons(): nigra.gracilis<julianae.nudicaudus, dogramacii.aurata> { var x: nigra.gracilis<julianae.nudicaudus, dogramacii.aurata>; () => { var y = this; }; return x; }
badia(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; }
prymnolopha(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; }
@@ -667,7 +667,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class leptoceros<T0, T1> extends caurinus.johorensis<argurus.peninsulae, daubentonii.arboreus<argurus.germaini, sagitta.stolzmanni>> {
~~~~~~~~~~
!!! error TS2449: Class 'johorensis' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:979:18: 'johorensis' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:979:18: 'johorensis' is declared here.
victus(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; }
hoplomyoides(): panglima.fundatus<julianae.gerbillus<imperfecta.subspinosus, julianae.durangae>, nigra.gracilis<argurus.luctuosa, imperfecta.subspinosus>> { var x: panglima.fundatus<julianae.gerbillus<imperfecta.subspinosus, julianae.durangae>, nigra.gracilis<argurus.luctuosa, imperfecta.subspinosus>>; () => { var y = this; }; return x; }
gratiosus(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; }
@@ -679,7 +679,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class nigricans<T0, T1> extends sagitta.stolzmanni {
~~~~~~~~~~
!!! error TS2449: Class 'stolzmanni' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:901:18: 'stolzmanni' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:901:18: 'stolzmanni' is declared here.
woosnami(): dogramacii.robustulus { var x: dogramacii.robustulus; () => { var y = this; }; return x; }
}
}
@@ -698,7 +698,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class sarasinorum<T0, T1> extends caurinus.psilurus {
~~~~~~~~
!!! error TS2449: Class 'psilurus' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:1010:18: 'psilurus' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:1010:18: 'psilurus' is declared here.
belzebul(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; }
hinpoon(): nigra.caucasica<julianae.sumatrana, trivirgatus.oconnelli> { var x: nigra.caucasica<julianae.sumatrana, trivirgatus.oconnelli>; () => { var y = this; }; return x; }
kandti(): quasiater.wattsi<Lanthanum.jugularis, julianae.sumatrana> { var x: quasiater.wattsi<Lanthanum.jugularis, julianae.sumatrana>; () => { var y = this; }; return x; }
@@ -865,7 +865,7 @@ tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53
export class klossii<T0, T1> extends imperfecta.lasiurus<dogramacii.robustulus, caurinus.psilurus> {
~~~~~~~~
!!! error TS2449: Class 'lasiurus' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:788:18: 'lasiurus' was declared here.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:788:18: 'lasiurus' is declared here.
}
export class amicus {
pirrensis(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; }
@@ -19,6 +19,7 @@ tests/cases/conformance/scanner/ecmascript5/scannerS7.2_A1.5_T2.ts(20,3): error
$ERROR('#1: eval("\\u00A0var x\\u00A0= 1\\u00A0"); x === 1. Actual: ' + (x));
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
//CHECK#2
@@ -27,6 +28,7 @@ tests/cases/conformance/scanner/ecmascript5/scannerS7.2_A1.5_T2.ts(20,3): error
$ERROR('#2:  var x = 1 ; x === 1. Actual: ' + (x));
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
@@ -21,6 +21,7 @@ tests/cases/conformance/scanner/ecmascript5/scannerS7.3_A1.1_T2.ts(17,3): error
$ERROR('#1: var\\nx\\n=\\n1\\n; x === 1. Actual: ' + (x));
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
@@ -50,60 +50,70 @@ tests/cases/conformance/scanner/ecmascript5/scannerS7.6_A4.2_T1.ts(142,3): error
$ERROR('#А');
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
var \u0411 = 1;
if (Б !== 1) {
$ERROR('#Б');
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
var \u0412 = 1;
if (В !== 1) {
$ERROR('#В');
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
var \u0413 = 1;
if (Г !== 1) {
$ERROR('#Г');
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
var \u0414 = 1;
if (Д !== 1) {
$ERROR('#Д');
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
var \u0415 = 1;
if (Е !== 1) {
$ERROR('#Е');
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
var \u0416 = 1;
if (Ж !== 1) {
$ERROR('#Ж');
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
var \u0417 = 1;
if (З !== 1) {
$ERROR('#З');
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
var \u0418 = 1;
if (И !== 1) {
$ERROR('#И');
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
var \u0419 = 1;
if (Й !== 1) {
$ERROR('#Й');
~~~~~~
!!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'?
!!! related TS2728 /.ts/lib.es5.d.ts:914:15: 'Error' is declared here.
}
var \u041A = 1;
if (К !== 1) {
@@ -9,20 +9,20 @@ tests/cases/compiler/scopeCheckStaticInitializer.ts(6,23): error TS2449: Class '
static illegalBeforeProperty = X.data;
~~~~
!!! error TS2729: Property 'data' is used before its initialization.
!!! related TS2728 tests/cases/compiler/scopeCheckStaticInitializer.ts:7:12: 'data' was declared here.
!!! related TS2728 tests/cases/compiler/scopeCheckStaticInitializer.ts:7:12: 'data' is declared here.
static okBeforeMethod = X.method;
static illegal2 = After.data;
~~~~~
!!! error TS2449: Class 'After' used before its declaration.
!!! related TS2728 tests/cases/compiler/scopeCheckStaticInitializer.ts:10:7: 'After' was declared here.
!!! related TS2728 tests/cases/compiler/scopeCheckStaticInitializer.ts:10:7: 'After' is declared here.
~~~~
!!! error TS2729: Property 'data' is used before its initialization.
!!! related TS2728 tests/cases/compiler/scopeCheckStaticInitializer.ts:11:12: 'data' was declared here.
!!! related TS2728 tests/cases/compiler/scopeCheckStaticInitializer.ts:11:12: 'data' is declared here.
static illegal3 = After.method;
~~~~~
!!! error TS2449: Class 'After' used before its declaration.
!!! related TS2728 tests/cases/compiler/scopeCheckStaticInitializer.ts:10:7: 'After' was declared here.
!!! related TS2728 tests/cases/compiler/scopeCheckStaticInitializer.ts:10:7: 'After' is declared here.
static data = 13;
static method() { }
}
@@ -12,6 +12,7 @@ tests/cases/compiler/spellingSuggestionLeadingUnderscores01.ts(14,5): error TS23
a.___foo
~~~~~~
!!! error TS2551: Property '___foo' does not exist on type '{ __foo: 10; }'. Did you mean '__foo'?
!!! related TS2728 tests/cases/compiler/spellingSuggestionLeadingUnderscores01.ts:3:5: '__foo' is declared here.
// @filename def.ts
export let b: {
@@ -18,4 +18,5 @@ tests/cases/compiler/spellingSuggestionModule.ts(8,1): error TS2552: Cannot find
faroo;
~~~~~
!!! error TS2552: Cannot find name 'faroo'. Did you mean 'farboo'?
!!! related TS2728 tests/cases/compiler/spellingSuggestionModule.ts:7:16: 'farboo' is declared here.
@@ -134,6 +134,7 @@ tests/cases/compiler/strictModeReservedWord.ts(24,5): error TS2349: Cannot invok
ublic();
~~~~~
!!! error TS2552: Cannot find name 'ublic'. Did you mean 'public'?
!!! related TS2728 tests/cases/compiler/strictModeReservedWord.ts:5:9: 'public' is declared here.
static();
~~~~~~
!!! error TS1212: Identifier expected. 'static' is a reserved word in strict mode.
@@ -6,7 +6,7 @@ tests/cases/conformance/es6/Symbols/symbolProperty33.ts(7,6): error TS1023: An i
class C1 extends C2 {
~~
!!! error TS2449: Class 'C2' used before its declaration.
!!! related TS2728 tests/cases/conformance/es6/Symbols/symbolProperty33.ts:6:7: 'C2' was declared here.
!!! related TS2728 tests/cases/conformance/es6/Symbols/symbolProperty33.ts:6:7: 'C2' is declared here.
[Symbol.toStringTag]() {
return { x: "" };
}
@@ -6,7 +6,7 @@ tests/cases/conformance/es6/Symbols/symbolProperty34.ts(7,6): error TS1023: An i
class C1 extends C2 {
~~
!!! error TS2449: Class 'C2' used before its declaration.
!!! related TS2728 tests/cases/conformance/es6/Symbols/symbolProperty34.ts:6:7: 'C2' was declared here.
!!! related TS2728 tests/cases/conformance/es6/Symbols/symbolProperty34.ts:6:7: 'C2' is declared here.
[Symbol.toStringTag]() {
return { x: "" };
}
@@ -88,6 +88,7 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolutio
fn5 `${ (n) => n.toFixed() }`; // will error; 'n' should have type 'string'.
~~~~~~~
!!! error TS2551: Property 'toFixed' does not exist on type 'string'. Did you mean 'fixed'?
!!! related TS2728 /.ts/lib.es2015.core.d.ts:466:5: 'fixed' is declared here.
fn5 `${ (n) => n.substr(0) }`;
@@ -34,6 +34,7 @@ tests/cases/conformance/jsx/file.tsx(35,26): error TS2339: Property 'propertyNot
let e = <BigGreeter ref={x => x.greeting.subtr(10)} />;
~~~~~
!!! error TS2551: Property 'subtr' does not exist on type 'string'. Did you mean 'substr'?
!!! related TS2728 /.lib/lib.d.ts:438:5: 'substr' is declared here.
// Error (ref callback is contextually typed)
let f = <BigGreeter ref={x => x.notARealProperty} />;
~~~~~~~~~~~~~~~~
@@ -166,6 +166,7 @@ tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(166,54
a.propB;
~~~~~
!!! error TS2551: Property 'propB' does not exist on type 'A'. Did you mean 'propA'?
!!! related TS2728 tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts:2:5: 'propA' is declared here.
}
// Parameter index and argument index for the type guard target is not matching.
@@ -173,6 +174,7 @@ tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(166,54
a.propB; // Error
~~~~~
!!! error TS2551: Property 'propB' does not exist on type 'A'. Did you mean 'propA'?
!!! related TS2728 tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts:2:5: 'propA' is declared here.
}
// No type guard in if statement
@@ -180,6 +182,7 @@ tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(166,54
a.propB;
~~~~~
!!! error TS2551: Property 'propB' does not exist on type 'A'. Did you mean 'propA'?
!!! related TS2728 tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts:2:5: 'propA' is declared here.
}
// Type predicate type is not assignable
@@ -258,9 +258,11 @@ tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstru
obj16.foo1;
~~~~
!!! error TS2551: Property 'foo1' does not exist on type 'H'. Did you mean 'foo'?
!!! related TS2728 tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts:175:5: 'foo' is declared here.
obj16.foo2;
~~~~
!!! error TS2551: Property 'foo2' does not exist on type 'H'. Did you mean 'foo'?
!!! related TS2728 tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts:175:5: 'foo' is declared here.
}
var obj17: any;
@@ -13,5 +13,6 @@ tests/cases/compiler/typeParametersAndParametersInComputedNames.ts(6,13): error
!!! error TS2304: Cannot find name 'T'.
~
!!! error TS2552: Cannot find name 'a'. Did you mean 'A'?
!!! related TS2728 tests/cases/compiler/typeParametersAndParametersInComputedNames.ts:5:7: 'A' is declared here.
}
}
@@ -6,7 +6,7 @@ tests/cases/compiler/useBeforeDeclaration_propertyAssignment.ts(2,27): error TS2
public a = { b: this.b };
~
!!! error TS2729: Property 'b' is used before its initialization.
!!! related TS2728 tests/cases/compiler/useBeforeDeclaration_propertyAssignment.ts:3:13: 'b' was declared here.
!!! related TS2728 tests/cases/compiler/useBeforeDeclaration_propertyAssignment.ts:3:13: 'b' is declared here.
private b = 0;
}
@@ -29,7 +29,7 @@ tests/cases/compiler/useBeforeDeclaration_superClass.ts(25,18): error TS2729: Pr
old_x = this.x;
~
!!! error TS2729: Property 'x' is used before its initialization.
!!! related TS2728 tests/cases/compiler/useBeforeDeclaration_superClass.ts:26:5: 'x' was declared here.
!!! related TS2728 tests/cases/compiler/useBeforeDeclaration_superClass.ts:26:5: 'x' is declared here.
x = 1;
}