-
Couldn't load subscription status.
- Fork 1.7k
Closed
Labels
area-vmUse area-vm for VM related issues, including code coverage, and the AOT and JIT backends.Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.
Description
The type flow analysis (TFA) transformation rewrites const constructors to have bodies, which confuses other transformations.
This caused metadata_test to crash after the support for annotations on variable declarations has been enabled.
Running the test gives the following output:
$ python tools/test.py -m release -c dartkp -r dart_precompiled --strong language_2/metadata_test
...
stderr:
Constructor "const metadata_test.dart::Tag::•("loopvar")" has non-trivial body "ExpressionStatement".
#0 ConstantEvaluator.visitConstructorInvocation (package:kernel/transformations/constants.dart:503:7)
#1 ConstructorInvocation.accept (package:kernel/ast.dart:2862:36)
#2 ConstantEvaluator.evaluate (package:kernel/transformations/constants.dart:386:37)
#3 ConstantsTransformer.tryEvaluateWithContext (package:kernel/transformations/constants.dart:331:34)
#4 ConstantsTransformer.tryEvaluateAndTransformWithContext (package:kernel/transformations/constants.dart:324:31)
#5 ConstantsTransformer.visitConstructorInvocation (package:kernel/transformations/constants.dart:318:14)
#6 ConstructorInvocation.accept (package:kernel/ast.dart:2862:36)
#7 transformList (package:kernel/ast.dart:5684:27)
#8 VariableDeclaration.transformChildren (package:kernel/ast.dart:4460:5)
#9 Transformer.defaultTreeNode (package:kernel/visitor.dart:435:10)
#10 TreeVisitor.defaultStatement (package:kernel/visitor.dart:196:41)
#11 TreeVisitor.visitVariableDeclaration (package:kernel/visitor.dart:218:7)
#12 ConstantsTransformer.visitVariableDeclaration (package:kernel/transformations/constants.dart:251:42)
#13 VariableDeclaration.accept (package:kernel/ast.dart:4450:35)
#14 transformList (package:kernel/ast.dart:5684:27)
#15 ForStatement.transformChildren (package:kernel/ast.dart:3960:5)
#16 Transformer.defaultTreeNode (package:kernel/visitor.dart:435:10)
#17 TreeVisitor.defaultStatement (package:kernel/visitor.dart:196:41)
#18 TreeVisitor.visitForStatement (package:kernel/visitor.dart:207:45)
#19 ForStatement.accept (package:kernel/ast.dart:3949:35)
#20 transformList (package:kernel/ast.dart:5684:27)
#21 Block.transformChildren (package:kernel/ast.dart:3736:5)
#22 Transformer.defaultTreeNode (package:kernel/visitor.dart:435:10)
#23 TreeVisitor.defaultStatement (package:kernel/visitor.dart:196:41)
#24 TreeVisitor.visitBlock (package:kernel/visitor.dart:199:31)
#25 Block.accept (package:kernel/ast.dart:3728:35)
#26 ConstantsTransformer.visitFunctionNode (package:kernel/transformations/constants.dart:219:29)
#27 FunctionNode.accept (package:kernel/ast.dart:1959:30)
#28 ConstantsTransformer.visitProcedure.<anonymous closure> (package:kernel/transformations/constants.dart:150:37)
#29 ConstantEvaluator.withNewEnvironment (package:kernel/transformations/constants.dart:1082:16)
#30 ConstantsTransformer.visitProcedure (package:kernel/transformations/constants.dart:148:23)
#31 Procedure.accept (package:kernel/ast.dart:1621:32)
#32 transformList (package:kernel/ast.dart:5684:27)
#33 ConstantsTransformer.convertLibrary (package:kernel/transformations/constants.dart:109:5)
#34 transformLibraries (package:kernel/transformations/constants.dart:73:26)
#35 transformComponent (package:kernel/transformations/constants.dart:45:3)
#36 _performConstantEvaluation.<anonymous closure> (package:vm/kernel_front_end.dart:164:5)
<asynchronous suspension>
#37 CompilerContext.runInContext.<anonymous closure> (package:front_end/src/fasta/compiler_context.dart:106:35)
#38 _rootRun (dart:async/zone.dart:1126)
#39 _CustomZone.run (dart:async/zone.dart:1023)
#40 runZoned (dart:async/zone.dart:1501)
#41 CompilerContext.runInContext (package:front_end/src/fasta/compiler_context.dart:106:14)
#42 CompilerContext.runWithOptions (package:front_end/src/fasta/compiler_context.dart:117:41)
#43 _performConstantEvaluation (package:vm/kernel_front_end.dart:150:25)
<asynchronous suspension>
#44 _runGlobalTransformations (package:vm/kernel_front_end.dart:125:13)
<asynchronous suspension>
#45 compileToKernel (package:vm/kernel_front_end.dart:70:11)
<asynchronous suspension>
...Metadata
Metadata
Assignees
Labels
area-vmUse area-vm for VM related issues, including code coverage, and the AOT and JIT backends.Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.