From 3a96923061b7fb082f38040495e296ca907725e0 Mon Sep 17 00:00:00 2001 From: Cyrus Najmabadi Date: Wed, 10 Jun 2015 17:28:58 -0700 Subject: [PATCH] Use full spans in the classifier. Non-full spans are very expensive to compute. --- src/services/services.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/services/services.ts b/src/services/services.ts index 5f030bf320..5e8392fa9d 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -6046,8 +6046,8 @@ module ts { function processNode(node: Node) { // Only walk into nodes that intersect the requested span. - if (node && textSpanIntersectsWith(span, node.getStart(), node.getWidth())) { - if (node.kind === SyntaxKind.Identifier && node.getWidth() > 0) { + if (node && textSpanIntersectsWith(span, node.getFullStart(), node.getFullWidth())) { + if (node.kind === SyntaxKind.Identifier && !nodeIsMissing(node)) { let symbol = typeChecker.getSymbolAtLocation(node); if (symbol) { let type = classifySymbol(symbol, getMeaningFromLocation(node));