Closed
Description
It happens here.
Don't know on which code.
@stereotype441 you might have changed something related in the parser recently.
Thread 0 main thread_CastError: Null check operator used on a null value
at NodeLocator.visitNode(utilities.dart:2541)
at UnifyingAstVisitor.visitFunctionExpressionInvocation(visitor.dart:3363)
at FunctionExpressionInvocationImpl.accept(ast.dart:5006)
at ExpressionStatementImpl.visitChildren(ast.dart:3636)
at NodeLocator.visitNode(utilities.dart:2550)
at UnifyingAstVisitor.visitExpressionStatement(visitor.dart:3309)
at ExpressionStatementImpl.accept(ast.dart:3632)
at NodeListImpl.accept(ast.dart:7581)
at BlockImpl.visitChildren(ast.dart:1056)
at NodeLocator.visitNode(utilities.dart:2550)
at UnifyingAstVisitor.visitBlock(visitor.dart:3217)
at BlockImpl.accept(ast.dart:1052)
at BlockFunctionBodyImpl.visitChildren(ast.dart:1011)
at NodeLocator.visitNode(utilities.dart:2550)
at UnifyingAstVisitor.visitBlockFunctionBody(visitor.dart:3220)
at BlockFunctionBodyImpl.accept(ast.dart:1007)
at MethodDeclarationImpl.visitChildren(ast.dart:7016)
at NodeLocator.visitNode(utilities.dart:2550)
at UnifyingAstVisitor.visitMethodDeclaration(visitor.dart:3435)
at MethodDeclarationImpl.accept(ast.dart:7007)
at NodeListImpl.accept(ast.dart:7581)
at ClassDeclarationImpl.visitChildren(ast.dart:1530)
at NodeLocator.visitNode(utilities.dart:2550)
at UnifyingAstVisitor.visitClassDeclaration(visitor.dart:3235)
at ClassDeclarationImpl.accept(ast.dart:1500)
at NodeListImpl.accept(ast.dart:7581)
at CompilationUnitImpl.visitChildren(ast.dart:2091)
at NodeLocator.visitNode(utilities.dart:2550)
at UnifyingAstVisitor.visitCompilationUnit(visitor.dart:3247)
at CompilationUnitImpl.accept(ast.dart:2084)
at NodeLocator.searchWithin(utilities.dart:2511)
at BaseProcessor.findSelectedNode(base_processor.dart:47)
at AssistProcessor._containsErrorCode(assist_internal.dart:272)
at AssistProcessor._addFromProducers(assist_internal.dart:257)
at <asynchronous gap>(async)
at AssistProcessor.compute(assist_internal.dart:170)
at <asynchronous gap>(async)
at EditDomainHandler._computeServerAssists(edit_domain.dart:772)
at <asynchronous gap>(async)
at EditDomainHandler.getAssists(edit_domain.dart:223)
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
scheglov commentedon May 26, 2021
I see it in internal crash reporting for about 10 users.
stereotype441 commentedon May 26, 2021
Hmm, this was likely introduced in 126c5fa. In the case where type arguments are applied to an expression but there are no parentheses that follow, the AstBuilder introduces a synthetic pair of
(
and)
, but it doesn't put these synthetic parens in the token stream (see #46148 for more details about why)I believe https://dart-review.googlesource.com/c/sdk/+/199682 should fix this particular issue. I'll get that cleaned up and sent out for review ASAP.