diff --git a/src/services/formatting/formatting.ts b/src/services/formatting/formatting.ts index cc5e2b6c41c..b3e84023d17 100644 --- a/src/services/formatting/formatting.ts +++ b/src/services/formatting/formatting.ts @@ -691,6 +691,10 @@ namespace ts.formatting { isListItem: boolean, isFirstListItem?: boolean): number { + if (nodeIsMissing(child)) { + return inheritedIndentation; + } + const childStartPos = child.getStart(sourceFile); const childStartLine = sourceFile.getLineAndCharacterOfPosition(childStartPos).line; diff --git a/tests/cases/fourslash/formatV8Directive.ts b/tests/cases/fourslash/formatV8Directive.ts new file mode 100644 index 00000000000..515ef57c7ca --- /dev/null +++ b/tests/cases/fourslash/formatV8Directive.ts @@ -0,0 +1,7 @@ +/// +// @Filename: foo.js +//// function foo() {} +//// /*1*/%PrepareFunctionForOptimization(foo)/*2*/; + +// Don't really care what it does beyond not crashing +format.selection("1", "2");