Open
Description
On trying to add some null safety expectations to a test (as part of #51144), there is a state error:
Bad state: Expected all legacy types, but got String (InterfaceTypeImpl)
I wonder what _assertLegacyType should do when encountered with a String
type, because changing the last condition to be
var nullabilitySuffix = type.nullabilitySuffix;
if (nullabilitySuffix == NullabilitySuffix.star ||
nullabilitySuffix == NullabilitySuffix.none) {
return;
}
would fail LegacyTypeAsserterTest
Stacktrace
Bad state: Expected all legacy types, but got String (InterfaceTypeImpl)
#0 LegacyTypeAsserter._assertLegacyType (package:analyzer/src/dart/resolver/legacy_type_asserter.dart:163:5)
#1 LegacyTypeAsserter.visitExpression (package:analyzer/src/dart/resolver/legacy_type_asserter.dart:75:5)
#2 GeneralizingAstVisitor.visitLiteral (package:analyzer/dart/ast/visitor.dart:478:36)
#3 GeneralizingAstVisitor.visitStringLiteral (package:analyzer/dart/ast/visitor.dart:669:48)
#4 GeneralizingAstVisitor.visitSingleStringLiteral (package:analyzer/dart/ast/visitor.dart:658:7)
#5 GeneralizingAstVisitor.visitSimpleStringLiteral (package:analyzer/dart/ast/visitor.dart:655:7)
#6 SimpleStringLiteralImpl.accept (package:analyzer/src/dart/ast/ast.dart:12073:50)
#7 PartOfDirectiveImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:10313:11)
#8 GeneralizingAstVisitor.visitNode (package:analyzer/dart/ast/visitor.dart:526:10)
#9 GeneralizingAstVisitor.visitAnnotatedNode (package:analyzer/dart/ast/visitor.dart:135:48)
#10 GeneralizingAstVisitor.visitDirective (package:analyzer/dart/ast/visitor.dart:271:40)
#11 GeneralizingAstVisitor.visitPartOfDirective (package:analyzer/dart/ast/visitor.dart:560:52)
#12 PartOfDirectiveImpl.accept (package:analyzer/src/dart/ast/ast.dart:10307:50)
#13 NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:9589:20)
#14 CompilationUnitImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:2572:19)
#15 GeneralizingAstVisitor.visitNode (package:analyzer/dart/ast/visitor.dart:526:10)
#16 GeneralizingAstVisitor.visitCompilationUnit (package:analyzer/dart/ast/visitor.dart:217:52)
#17 LegacyTypeAsserter.visitCompilationUnit (package:analyzer/src/dart/resolver/legacy_type_asserter.dart:63:13)
#18 LegacyTypeAsserter.assertLegacyTypes (package:analyzer/src/dart/resolver/legacy_type_asserter.dart:169:26)
#19 Iterable.every (dart:core/iterable.dart:403:16)
#20 LibraryAnalyzer._computeDiagnostics (package:analyzer/src/dart/analysis/library_analyzer.dart:304:25)
#21 LibraryAnalyzer.analyze (package:analyzer/src/dart/analysis/library_analyzer.dart:92:5)
#22 AnalysisDriver._computeAnalysisResult.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1347:11)
<asynchronous suspension>
#23 PerformanceLog.runAsync (package:analyzer/src/dart/analysis/performance_logger.dart:50:14)
<asynchronous suspension>
#24 AnalysisDriver.performWork (package:analyzer/src/dart/analysis/driver.dart:1055:24)
<asynchronous suspension>
#25 AnalysisDriverScheduler._run (package:analyzer/src/dart/analysis/driver.dart:2139:7)
<asynchronous suspension>