Fixed outlining spans for chained method calls. (#35860)

This commit is contained in:
Titian Cernicova-Dragomir
2020-01-03 01:44:22 +02:00
committed by Daniel Rosenwasser
parent 4942fd2b84
commit 82b0547281
2 changed files with 124 additions and 1 deletions

View File

@@ -45,7 +45,14 @@ namespace ts.OutliningElementsCollector {
if (span) out.push(span);
depthRemaining--;
if (isIfStatement(n) && n.elseStatement && isIfStatement(n.elseStatement)) {
if (isCallExpression(n)) {
depthRemaining++;
visitNonImportNode(n.expression);
depthRemaining--;
n.arguments.forEach(visitNonImportNode);
n.typeArguments?.forEach(visitNonImportNode);
}
else if (isIfStatement(n) && n.elseStatement && isIfStatement(n.elseStatement)) {
// Consider an 'else if' to be on the same depth as the 'if'.
visitNonImportNode(n.expression);
visitNonImportNode(n.thenStatement);