Open bwilkerson opened 2 years ago
@scheglov
I was able to reproduce a similar exception with
solo_test_changeFile_after_removeFile() async {
final a = newFile('$testPackageLibPath/a.dart', r'''
class A {
var foo = 0;
}
''');
final b = newFile('$testPackageLibPath/b.dart', '');
final driver = driverFor(a.path);
await driver.getResult(a.path);
driver.removeFile(b.path);
newFile('$testPackageLibPath/a.dart', r'''
class A {
var foo = 0;
var bar = 0;
}
''');
driver.changeFile(a.path);
await driver.getResult(a.path);
}
...we get
Bad state: [_variableIndex: 1][_variables.length: 1][variables: [int foo]][element.source: /home/test/lib/a.dart][libraryFilePath: null][unitFilePath: null]
#0 ElementWalker.getVariable (package:analyzer/src/generated/element_walker.dart:193:7)
#1 ResolutionVisitor.visitVariableDeclaration (package:analyzer/src/dart/resolver/resolution_visitor.dart:1082:33)
#2 VariableDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:11509:50)
#3 NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:8341:20)
#4 VariableDeclarationListImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:11603:16)
#5 ResolutionVisitor.visitVariableDeclarationList (package:analyzer/src/dart/resolver/resolution_visitor.dart:1112:10)
Dart analysis issue
Bad state: [_variableIndex: 2][_variables.length: 2][variables: [Expression expression, List cases]][element.source: /Users/brianwilkerson/src/dart/sdk/sdk/pkg/kernel/lib/ast.dart][libraryFilePath: null][unitFilePath: null]
Version information
Details
Bad state: [_variableIndex: 2][_variables.length: 2][variables: [Expression expression, List cases]][element.source: /Users/brianwilkerson/src/dart/sdk/sdk/pkg/kernel/lib/ast.dart][libraryFilePath: null][unitFilePath: null]
0 ElementWalker.getVariable (package:analyzer/src/generated/element_walker.dart:193:7)
1 ResolutionVisitor.visitVariableDeclaration (package:analyzer/src/dart/resolver/resolution_visitor.dart:1082:33)
2 VariableDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:11509:50)
3 NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:8341:20)
4 VariableDeclarationListImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:11603:16)
5 ResolutionVisitor.visitVariableDeclarationList (package:analyzer/src/dart/resolver/resolution_visitor.dart:1112:10)
6 VariableDeclarationListImpl.accept (package:analyzer/src/dart/ast/ast.dart:11597:15)
7 FieldDeclarationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:4375:16)
8 RecursiveAstVisitor.visitFieldDeclaration (package:analyzer/dart/ast/visitor.dart:924:10)
9 FieldDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:4370:50)
10 NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:8341:20)
11 ResolutionVisitor.visitClassDeclaration.. (package:analyzer/src/dart/resolver/resolution_visitor.dart:248:22)
12 ResolutionVisitor._withNameScope (package:analyzer/src/dart/resolver/resolution_visitor.dart:1412:8)
13 ResolutionVisitor.visitClassDeclaration. (package:analyzer/src/dart/resolver/resolution_visitor.dart:229:7)
14 ResolutionVisitor._withElementWalker (package:analyzer/src/dart/resolver/resolution_visitor.dart:1401:8)
15 ResolutionVisitor.visitClassDeclaration (package:analyzer/src/dart/resolver/resolution_visitor.dart:228:5)
16 ClassDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:1639:50)
17 NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:8341:20)
18 CompilationUnitImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:2258:21)
19 RecursiveAstVisitor.visitCompilationUnit (package:analyzer/dart/ast/visitor.dart:774:10)
20 CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2251:50)
21 LibraryAnalyzer._resolveFile (package:analyzer/src/dart/analysis/library_analyzer.dart:734:10)
22 LibraryAnalyzer._parseAndResolve. (package:analyzer/src/dart/analysis/library_analyzer.dart:585:7)
23 _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:614:13)
24 LibraryAnalyzer._parseAndResolve (package:analyzer/src/dart/analysis/library_analyzer.dart:584:11)
25 LibraryAnalyzer.analyze (package:analyzer/src/dart/analysis/library_analyzer.dart:98:17)
26 AnalysisDriver._computeResolvedLibrary. (package:analyzer/src/dart/analysis/driver.dart:1426:12)