-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
NNBDIssues related to NNBD ReleaseIssues related to NNBD ReleasecrashProcess exits with SIGSEGV, SIGABRT, etc. An unhandled exception is not a crash.Process exits with SIGSEGV, SIGABRT, etc. An unhandled exception is not a crash.legacy-area-analyzerUse area-devexp instead.Use area-devexp instead.
Description
Run analyzer with --enable-experiment=non-nullable on the following code
class C {
}
extension Ext on C {
int operator [](int index) => index;
}
main() {
C c = C();
Ext(c)?.[42];
}the result is
Unhandled exception:
NoSuchMethodError: The getter 'isDartCoreNull' was called on null.
Receiver: null
Tried calling: isDartCoreNull
#0 Object.noSuchMethod (dart:core-patch/object_patch.dart:53:5)
#1 TypeSystem.promoteToNonNull (package:analyzer/src/generated/type_system.dart:300:14)
#2 ElementResolver.visitIndexExpression (package:analyzer/src/generated/element_resolver.dart:415:32)
#3 IndexExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:5957:49)
#4 ResolverVisitor.visitIndexExpression (package:analyzer/src/generated/resolver.dart:1314:10)
#5 IndexExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:5957:49)
#6 ExpressionStatementImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:3708:18)
#7 ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1454:10)
#8 UnifyingAstVisitor.visitExpressionStatement (package:analyzer/dart/ast/visitor.dart:3214:59)
#9 ExpressionStatementImpl.accept (package:analyzer/src/dart/ast/ast.dart:3704:49)
#10 NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7588:20)
#11 BlockImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1085:17)
#12 ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1454:10)
#13 UnifyingAstVisitor.visitBlock (package:analyzer/dart/ast/visitor.dart:3128:31)
#14 ScopedVisitor.visitBlock (package:analyzer/src/generated/resolver.dart:2230:13)
#15 BlockImpl.accept (package:analyzer/src/dart/ast/ast.dart:1081:49)
#16 BlockFunctionBodyImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1040:13)
#17 ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1454:10)
#18 UnifyingAstVisitor.visitBlockFunctionBody (package:analyzer/dart/ast/visitor.dart:3131:55)
#19 ScopedVisitor.visitBlockFunctionBody (package:analyzer/src/generated/resolver.dart:2241:13)
#20 ResolverVisitor.visitBlockFunctionBody (package:analyzer/src/generated/resolver.dart:717:13)
#21 BlockFunctionBodyImpl.accept (package:analyzer/src/dart/ast/ast.dart:1036:49)
#22 FunctionExpressionImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:5008:12)
#23 ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1454:10)
#24 UnifyingAstVisitor.visitFunctionExpression (package:analyzer/dart/ast/visitor.dart:3263:57)
#25 ScopedVisitor.visitFunctionExpression (package:analyzer/src/generated/resolver.dart:2579:13)
#26 ResolverVisitor.visitFunctionExpression (package:analyzer/src/generated/resolver.dart:1174:11)
#27 FunctionExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:5002:49)
#28 FunctionDeclarationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:4865:26)
#29 ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1454:10)
#30 UnifyingAstVisitor.visitFunctionDeclaration (package:analyzer/dart/ast/visitor.dart:3256:59)
#31 ScopedVisitor.visitFunctionDeclarationInScope (package:analyzer/src/generated/resolver.dart:2572:11)
#32 ResolverVisitor.visitFunctionDeclarationInScope (package:analyzer/src/generated/resolver.dart:1140:11)
#33 ScopedVisitor.visitFunctionDeclaration (package:analyzer/src/generated/resolver.dart:2565:7)
#34 ResolverVisitor.visitFunctionDeclaration (package:analyzer/src/generated/resolver.dart:1112:11)
#35 FunctionDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:4858:49)
#36 ResolverVisitor.visitCompilationUnit (package:analyzer/src/generated/resolver.dart:814:23)
#37 CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2127:49)
#38 LibraryAnalyzer._resolveFile (package:analyzer/src/dart/analysis/library_analyzer.dart:734:10)
#39 LibraryAnalyzer.analyzeSync.<anonymous closure> (package:analyzer/src/dart/analysis/library_analyzer.dart:148:7)
#40 _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:379:8)
#41 LibraryAnalyzer.analyzeSync (package:analyzer/src/dart/analysis/library_analyzer.dart:147:11)
#42 LibraryAnalyzer.analyze.<anonymous closure> (package:analyzer/src/dart/analysis/library_analyzer.dart:116:14)
#43 _PerformanceTagImpl.makeCurrentWhile (package:analyzer/src/generated/utilities_general.dart:256:15)
#44 LibraryAnalyzer.analyze (package:analyzer/src/dart/analysis/library_analyzer.dart:115:43)
#45 AnalysisDriver._computeAnalysisResult2.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1313:63)
#46 PerformanceLog.run (package:analyzer/src/dart/analysis/performance_logger.dart:34:15)
#47 AnalysisDriver._computeAnalysisResult2 (package:analyzer/src/dart/analysis/driver.dart:1289:20)
#48 AnalysisDriver._computeAnalysisResult.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1240:14)
#49 _rootRun (dart:async/zone.dart:1184:13)
#50 _CustomZone.run (dart:async/zone.dart:1077:19)
#51 _runZoned (dart:async/zone.dart:1619:10)
#52 runZoned (dart:async/zone.dart:1539:10)
#53 NullSafetyUnderstandingFlag.enableNullSafetyTypes (package:analyzer/dart/element/null_safety_understanding_flag.dart:42:12)
#54 AnalysisDriver._computeAnalysisResult (package:analyzer/src/dart/analysis/driver.dart:1239:40)
#55 AnalysisDriver.getErrors (package:analyzer/src/dart/analysis/driver.dart:565:41)
#56 AnalyzerImpl.prepareErrors (package:analyzer_cli/src/analyzer_impl.dart:129:49)
<asynchronous suspension>
#57 AnalyzerImpl._analyze (package:analyzer_cli/src/analyzer_impl.dart:168:11)
<asynchronous suspension>
#58 AnalyzerImpl.analyze (package:analyzer_cli/src/analyzer_impl.dart:105:18)
<asynchronous suspension>
#59 Driver._runAnalyzer (package:analyzer_cli/src/driver.dart:636:21)
#60 Driver._analyzeAllImpl (package:analyzer_cli/src/driver.dart:353:30)
#61 _RootZone.runUnary (dart:async/zone.dart:1439:54)
#62 _FutureListener.handleValue (dart:async/future_impl.dart:141:18)
#63 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:686:45)
#64 Future._propagateToListeners (dart:async/future_impl.dart:715:32)
#65 Future._addListener.<anonymous closure> (dart:async/future_impl.dart:391:9)
#66 _microtaskLoop (dart:async/schedule_microtask.dart:43:21)
#67 _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)
#68 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#69 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:169:5)
#0 AnalysisDriver._computeAnalysisResult2.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1349:9)
#1 PerformanceLog.run (package:analyzer/src/dart/analysis/performance_logger.dart:34:15)
#2 AnalysisDriver._computeAnalysisResult2 (package:analyzer/src/dart/analysis/driver.dart:1289:20)
#3 AnalysisDriver._computeAnalysisResult.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1240:14)
#4 _rootRun (dart:async/zone.dart:1184:13)
#5 _CustomZone.run (dart:async/zone.dart:1077:19)
#6 _runZoned (dart:async/zone.dart:1619:10)
#7 runZoned (dart:async/zone.dart:1539:10)
#8 NullSafetyUnderstandingFlag.enableNullSafetyTypes (package:analyzer/dart/element/null_safety_understanding_flag.dart:42:12)
#9 AnalysisDriver._computeAnalysisResult (package:analyzer/src/dart/analysis/driver.dart:1239:40)
#10 AnalysisDriver.getErrors (package:analyzer/src/dart/analysis/driver.dart:565:41)
#11 AnalyzerImpl.prepareErrors (package:analyzer_cli/src/analyzer_impl.dart:129:49)
<asynchronous suspension>
#12 AnalyzerImpl._analyze (package:analyzer_cli/src/analyzer_impl.dart:168:11)
<asynchronous suspension>
#13 AnalyzerImpl.analyze (package:analyzer_cli/src/analyzer_impl.dart:105:18)
<asynchronous suspension>
#14 Driver._runAnalyzer (package:analyzer_cli/src/driver.dart:636:21)
#15 Driver._analyzeAllImpl (package:analyzer_cli/src/driver.dart:353:30)
#16 _RootZone.runUnary (dart:async/zone.dart:1439:54)
#17 _FutureListener.handleValue (dart:async/future_impl.dart:141:18)
#18 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:686:45)
#19 Future._propagateToListeners (dart:async/future_impl.dart:715:32)
#20 Future._addListener.<anonymous closure> (dart:async/future_impl.dart:391:9)
#21 _microtaskLoop (dart:async/schedule_microtask.dart:43:21)
#22 _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)
#23 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#24 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:169:5)
Tested with dartanalyzer version 2.9.0-5.0.dev
Metadata
Metadata
Assignees
Labels
NNBDIssues related to NNBD ReleaseIssues related to NNBD ReleasecrashProcess exits with SIGSEGV, SIGABRT, etc. An unhandled exception is not a crash.Process exits with SIGSEGV, SIGABRT, etc. An unhandled exception is not a crash.legacy-area-analyzerUse area-devexp instead.Use area-devexp instead.