Found a few instances where requests are falling over on a stack like the following.
Diagnostics:
internal/ast.IsStringLiteralLike()
internal/ast/utilities.go:324
internal/checker.(*Checker).resolveExternalModule()
internal/checker/checker.go:15023
internal/checker.(*Checker).resolveHelpersModule()
internal/checker/checker.go:28300
internal/checker.(*Checker).checkExternalEmitHelpers()
internal/checker/checker.go:28207
internal/checker.(*Checker).checkDecorators()
internal/checker/checker.go:5999
internal/checker.(*Checker).checkClassLikeDeclaration()
internal/checker/checker.go:4264
internal/checker.(*Checker).checkClassDeclaration()
internal/checker/checker.go:4257
internal/checker.(*Checker).checkSourceElementWorker()
internal/checker/checker.go:2340
internal/checker.(*Checker).checkSourceElement()
internal/checker/checker.go:2225
internal/checker.(*Checker).checkSourceElements()
internal/checker/checker.go:2215
internal/checker.(*Checker).checkSourceFile()
internal/checker/checker.go:2183
internal/checker.(*Checker).getDiagnostics()
internal/checker/checker.go:13847
internal/checker.(*Checker).GetDiagnostics()
internal/checker/checker.go:13837
internal/compiler.(*Program).getBindAndCheckDiagnosticsWithChecker()
internal/compiler/program.go:1307
internal/compiler.(*Program).getSemanticDiagnosticsWithChecker()
internal/compiler/program.go:1291
internal/compiler.(*Program).collectCheckerDiagnostics()
internal/compiler/program.go:542
internal/compiler.(*Program).GetSemanticDiagnostics()
internal/compiler/program.go:629
internal/ls.getAllDiagnostics()
internal/ls/diagnostics.go:17
internal/ls.(*LanguageService).ProvideDiagnostics()
internal/ls/diagnostics.go:28
Semantic tokens:
internal/ast.IsStringLiteralLike()
internal/ast/utilities.go:324
internal/checker.(*Checker).resolveExternalModule()
internal/checker/checker.go:15023
internal/checker.(*Checker).resolveHelpersModule()
internal/checker/checker.go:28300
internal/checker.(*Checker).checkExternalEmitHelpers()
internal/checker/checker.go:28207
internal/checker.(*Checker).checkPropertyAccessExpressionOrQualifiedName()
internal/checker/checker.go:11212
internal/checker.(*Checker).checkPropertyAccessExpression()
internal/checker/checker.go:11185
internal/checker.(*Checker).checkExpressionWorker()
internal/checker/checker.go:7731
internal/checker.(*Checker).checkExpressionEx()
internal/checker/checker.go:7528
internal/checker.(*Checker).checkExpressionCachedEx()
internal/checker/checker.go:7494
internal/checker.(*Checker).checkAndAggregateReturnExpressionTypes.func1()
internal/checker/checker.go:20109
internal/ast.ForEachReturnStatement.func1()
internal/ast/utilities.go:1128
internal/ast.visitNodes()
internal/ast/ast.go:38
internal/ast.visitNodeList()
internal/ast/ast.go:47
internal/ast.(*Block).ForEachChild()
internal/ast/ast_generated.go:1798
...
Ideally we would have a compiler test for these - they might be server-specific meaning we'd need a fourslash test.
Found a few instances where requests are falling over on a stack like the following.
Diagnostics:
Semantic tokens:
Ideally we would have a compiler test for these - they might be server-specific meaning we'd need a fourslash test.