Fixes goto definitions for type predicates

This commit is contained in:
Tingan Ho 2015-06-24 10:37:23 +08:00
parent 72aeb3c208
commit 2aceeea064
2 changed files with 20 additions and 0 deletions

View File

@ -11925,6 +11925,10 @@ namespace ts {
return resolveEntityName(<EntityName>entityName, meaning);
}
if (entityName.parent.kind === SyntaxKind.TypePredicate) {
return resolveEntityName(<Identifier>entityName, /* meanings */ SymbolFlags.Variable);
}
// Do we want to return undefined here?
return undefined;
}

View File

@ -0,0 +1,16 @@
/// <reference path='fourslash.ts'/>
//// /*classDeclaration*/class A {}
//// function f(/*parameterDeclaration*/parameter: any): /*parameterName*/parameter is /*typeReference*/A {
//// return typeof parameter === "string";
//// }
goTo.marker('parameterName');
goTo.definition();
verify.caretAtMarker('parameterDeclaration');
goTo.marker('typeReference');
goTo.definition();
verify.caretAtMarker('classDeclaration');