Open getBoolean opened 7 months ago
Tentatively marking as area front-end, since that's where the error is thrown. If it's because the tree shaking has removed something that the compiler expects to be there (if that's even possible), the bug may still be in the icon tree-shaker code.
cc @christopherfujino
Hmm, it seems like in a world with extension classes, it is no longer safe to unequivocably call TreeVisitorDefaultMixin.visitClass
from a RecursiveVisitor
? @johnniwinther is there some check we should do before making this call: https://github.com/dart-lang/sdk/blob/main/pkg/kernel/lib/const_finder.dart#L132
Just ran into this issue on 3.3.1:
I'd expect that it should be safe to call super.visitClass
from visitClass
. If there is an issue it would calling .visitClass
to begin with. (Depedning on what counts as a "class", if it's more than just class
/mixin class
/enum
declarations declarations, then the name is confusing :wink:).
It seems like this error when the extension type is imported and not when it's in the same file.
Issue
Compiling a Flutter app for Android, iOS, and MacOS fails with the below exception. The compile succeeds with icon tree shaking disabled (ie, either disabled with
--no-tree-shake-icons
or by compiling in debug mode). While icon tree shaking is from the Flutter CLI tool, the exception seems to indicate this is a Dart bug.The extension type also must be imported manually, as the IDE won't auto-import it with the assist.(edit: this is https://github.com/dart-lang/sdk/issues/54657)Exception logs (Click to expand)
``` ╰─❯ flutter build apk --release Target aot_android_asset_bundle failed: IconTreeShakerException: ConstFinder failure: Unhandled exception: Reference to package:flutter_extension_type_repro/age_rating.dart::AgeRating is not bound to an AST node. An extension type declaration was expected #0 Reference.asExtensionTypeDeclaration (package:kernel/canonical_name.dart:579:7) #1 ExtensionType.extensionTypeDeclaration (package:kernel/ast.dart:11971:41) #2 ExtensionType.visitChildren (package:kernel/ast.dart:12084:5) #3 RecursiveVisitor.defaultNode (package:kernel/visitor.dart:1727:10) #4 VisitorDefault.defaultDartType (package:kernel/visitor.dart:1524:39) #5 DartTypeVisitorDefaultMixin.visitExtensionType (package:kernel/visitor.dart:804:47) #6 ExtensionType.accept (package:kernel/ast.dart:12074:14) #7 Field.visitChildren (package:kernel/ast.dart:2526:10) #8 RecursiveVisitor.defaultNode (package:kernel/visitor.dart:1727:10) #9 VisitorDefault.defaultTreeNode (package:kernel/visitor.dart:1521:39) #10 TreeVisitorDefault.defaultMember (package:kernel/visitor.dart:626:35) #11 MemberVisitorDefaultMixin.visitField (package:kernel/visitor.dart:413:31) #12 Field.accept (package:kernel/ast.dart:2514:40) #13 visitList (package:kernel/ast.dart:14886:14) #14 Class.visitChildren (package:kernel/ast.dart:1500:5) #15 RecursiveVisitor.defaultNode (package:kernel/visitor.dart:1727:10) #16 VisitorDefault.defaultTreeNode (package:kernel/visitor.dart:1521:39) #17 TreeVisitorDefaultMixin.visitClass (package:kernel/visitor.dart:556:31) #18 _ConstVisitor.visitClass (package:kernel/const_finder.dart:132:11) #19 Class.accept (package:kernel/ast.dart:1461:38) #20 visitList (package:kernel/ast.dart:14886:14) #21 Library.visitChildren (package:kernel/ast.dart:596:5) #22 ConstFinder.findInstances (package:kernel/const_finder.dart:208:15) #23 main (file:///C:/b/s/w/ir/cache/builder/src/flutter/tools/const_finder/bin/main.dart:103:41) #24 _delayEntrypointInvocation.Exception logs with verbose enabled (Click to expand)
``` ╰─❯ flutter build apk --release -v [ +162 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update. [ +4 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update. [ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update. [ ] Artifact Instance of 'LegacyCanvasKitRemover' is not required, skipping update. [ +4 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update. [ +55 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update. [ ] Artifact Instance of 'GradleWrapper' is not required, skipping update. [ +5 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update. [ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update. [ ] Artifact Instance of 'LegacyCanvasKitRemover' is not required, skipping update. [ ] Artifact Instance of 'FlutterSdk' is not required, skipping update. [ ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update. [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update. [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update. [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update. [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update. [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update. [ ] Artifact Instance of 'PubDependencies' is not required, skipping update. [ +114 ms] Skipping pub get: version match. [ +135 ms] Generating B:\dev\GitHub\flutter_extension_type_repro\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java [ +48 ms] executing: C:\Users\Boolean\AppData\Local\Programs\Android Studio\jbr\bin\java -version [ +112 ms] Exit code 0 from: C:\Users\Boolean\AppData\Local\Programs\Android Studio\jbr\bin\java -version [ ] openjdk version "17.0.9" 2023-10-17 OpenJDK Runtime Environment (build 17.0.9+0--11185874) OpenJDK 64-Bit Server VM (build 17.0.9+0--11185874, mixed mode) [ +1 ms] executing: C:\Users\Boolean\AppData\Local\Programs\Android Studio\jbr\bin\java -version [ +106 ms] Exit code 0 from: C:\Users\Boolean\AppData\Local\Programs\Android Studio\jbr\bin\java -version [ ] openjdk version "17.0.9" 2023-10-17 OpenJDK Runtime Environment (build 17.0.9+0--11185874) OpenJDK 64-Bit Server VM (build 17.0.9+0--11185874, mixed mode) [ +10 ms] executing: C:\Users\Boolean\AppData\Local\Programs\Android Studio\jbr\bin\java --version [ +112 ms] Exit code 0 from: C:\Users\Boolean\AppData\Local\Programs\Android Studio\jbr\bin\java --version [ ] openjdk 17.0.9 2023-10-17 OpenJDK Runtime Environment (build 17.0.9+0--11185874) OpenJDK 64-Bit Server VM (build 17.0.9+0--11185874, mixed mode) [ +16 ms] Using gradle from B:\dev\GitHub\flutter_extension_type_repro\android\gradlew.bat. [ +1 ms] Running Gradle task 'assembleRelease'... [ +3 ms] executing: [B:\dev\GitHub\flutter_extension_type_repro\android/] B:\dev\GitHub\flutter_extension_type_repro\android\gradlew.bat --full-stacktrace --info -Pverbose=true -Ptarget-platform=android-arm,android-arm64,android-x64 -Ptarget=lib\main.dart -Pbase-application-name=android.app.Application -Pdart-obfuscation=false -Ptrack-widget-creation=true -Ptree-shake-icons=true assembleRelease [ +572 ms] Initialized native services in: C:\Users\Boolean\.gradle\native [ ] Initialized jansi services in: C:\Users\Boolean\.gradle\native [ +111 ms] Welcome to Gradle 7.6.3! [ ] Here are the highlights of this release: [ ] - Added support for Java 19. [ ] - Introduced `--rerun` flag for individual task rerun. [ ] - Improved dependency block for test suites to be strongly typed. [ ] - Added a pluggable system for Java toolchains provisioning. [ ] For more details see https://docs.gradle.org/7.6.3/release-notes.html [ ] Received JVM installation metadata from 'C:\Users\Boolean\AppData\Local\Programs\Android Studio\jbr': {JAVA_HOME=C:\Users\Boolean\AppData\Local\Programs\Android Studio\jbr, JAVA_VERSION=17.0.9, JAVA_VENDOR=JetBrains s.r.o., RUNTIME_NAME=OpenJDK Runtime Environment, RUNTIME_VERSION=17.0.9+0--11185874, VM_NAME=OpenJDK 64-Bit Server VM, VM_VERSION=17.0.9+0--11185874, VM_VENDOR=JetBrains s.r.o., OS_ARCH=amd64} [ +400 ms] The client will now receive all logging from the daemon (pid: 44960). The daemon log file: C:\Users\Boolean\.gradle\daemon\7.6.3\daemon-44960.out.log [ ] Starting 18th build in daemon [uptime: 30 mins 29.511 secs, performance: 100%] [ ] Using 16 worker leases. [ ] Now considering [B:\dev\GitHub\flutter_extension_type_repro\android, C:\Users\Boolean\.puro\envs\stable\flutter\packages\flutter_tools\gradle, C:\Users\Boolean\.puro\envs\master\flutter\packages\flutter_tools\gradle, C:\Users\Boolean\.puro\envs\beta\flutter\packages\flutter_tools\gradle] as hierarchies to watch [ +1 ms] Watching 4 directory hierarchies to track changes [ ] Watching the file system is configured to be enabled if available [ ] File system watching is active [ ] Starting Build [ ] Now considering [C:\Users\Boolean\.puro\envs\stable\flutter\packages\flutter_tools\gradle, B:\dev\GitHub\flutter_extension_type_repro\android, C:\Users\Boolean\.puro\envs\master\flutter\packages\flutter_tools\gradle, C:\Users\Boolean\.puro\envs\beta\flutter\packages\flutter_tools\gradle] as hierarchies to watch [ ] Watching 4 directory hierarchies to track changes [ ] > Configure project :gradle [ ] Evaluating project ':gradle' using build file 'C:\Users\Boolean\.puro\envs\stable\flutter\packages\flutter_tools\gradle\build.gradle.kts'. [ ] Caching disabled for Kotlin DSL accessors for project ':gradle' because: [ ] Build cache is disabled [ ] Skipping Kotlin DSL accessors for project ':gradle' as it is up-to-date. [ ] Resolve mutations for :gradle:compileJava (Thread[Execution worker,5,main]) started. [ ] :gradle:compileJava (Thread[Execution worker Thread 12,5,main]) started. [ ] > Task :gradle:compileJava NO-SOURCE [ ] Skipping task ':gradle:compileJava' as it has no source files and no previous output files. [ ] Resolve mutations for :gradle:compileGroovy (Thread[Execution worker Thread 12,5,main]) started. [ ] :gradle:compileGroovy (Thread[Execution worker Thread 12,5,main]) started. [ +83 ms] > Task :gradle:compileGroovy UP-TO-DATE [ ] Caching disabled for task ':gradle:compileGroovy' because: [ ] Build cache is disabled [ ] Skipping task ':gradle:compileGroovy' as it is up-to-date. [ ] Resolve mutations for :gradle:pluginDescriptors (Thread[Execution worker Thread 12,5,main]) started. [ ] :gradle:pluginDescriptors (Thread[Execution worker Thread 6,5,main]) started. [ ] > Task :gradle:pluginDescriptors UP-TO-DATE [ ] Caching disabled for task ':gradle:pluginDescriptors' because: [ +1 ms] Build cache is disabled [ ] Skipping task ':gradle:pluginDescriptors' as it is up-to-date. [ ] Resolve mutations for :gradle:processResources (Thread[Execution worker Thread 6,5,main]) started. [ ] :gradle:processResources (Thread[Execution worker Thread 10,5,main]) started. [ ] > Task :gradle:processResources UP-TO-DATE [ ] Caching disabled for task ':gradle:processResources' because: [ ] Build cache is disabled [ ] Skipping task ':gradle:processResources' as it is up-to-date. [ ] Resolve mutations for :gradle:classes (Thread[Execution worker Thread 10,5,main]) started. [ ] :gradle:classes (Thread[Execution worker Thread 10,5,main]) started. [ ] > Task :gradle:classes UP-TO-DATE [ ] Skipping task ':gradle:classes' as it has no actions. [ ] Resolve mutations for :gradle:jar (Thread[Execution worker Thread 4,5,main]) started. [ ] :gradle:jar (Thread[Execution worker Thread 4,5,main]) started. [ ] > Task :gradle:jar UP-TO-DATE [ ] Caching disabled for task ':gradle:jar' because: [ ] Build cache is disabled [ ] Skipping task ':gradle:jar' as it is up-to-date. [ +85 ms] Settings evaluated using settings file 'B:\dev\GitHub\flutter_extension_type_repro\android\settings.gradle'. [ ] Projects loaded. Root project using build file 'B:\dev\GitHub\flutter_extension_type_repro\android\build.gradle'. [ ] Included projects: [root project 'android', project ':app'] [ ] > Configure project :app [ ] Evaluating project ':app' using build file 'B:\dev\GitHub\flutter_extension_type_repro\android\app\build.gradle'. [ ] Using Kotlin Gradle Plugin gradle70 variant [ ] Parsed shrinker version: 3.3.70 [ ] > Configure project : [ ] Evaluating root project 'android' using build file 'B:\dev\GitHub\flutter_extension_type_repro\android\build.gradle'. [ ] All projects evaluated. [ ] Task name matched 'assembleRelease' [ ] Selected primary task 'assembleRelease' from project : [ +106 ms] WARNING:We recommend using a newer Android Gradle plugin to use compileSdk = 34 [ ] This Android Gradle plugin (7.3.0) was tested up to compileSdk = 33 [ ] This warning can be suppressed by adding [ ] android.suppressUnsupportedCompileSdk=34 [ ] to this project's gradle.properties [ ] The build will continue, but you are strongly encouraged to update your project to [ ] use a newer Android Gradle Plugin that has been tested with compileSdk = 34 [ ] Tasks to be executed: [task ':app:buildKotlinToolingMetadata', task ':app:compileFlutterBuildRelease', task ':app:packLibsflutterBuildRelease', task ':app:preBuild', task ':app:preReleaseBuild', task ':app:compileReleaseAidl', task ':app:compileReleaseRenderscript', task ':app:generateReleaseBuildConfig', task ':app:checkReleaseAarMetadata', task ':app:cleanMergeReleaseAssets', task ':app:mergeReleaseShaders', task ':app:compileReleaseShaders', task ':app:generateReleaseAssets', task ':app:mergeReleaseAssets', task ':app:copyFlutterAssetsRelease', task ':app:generateReleaseResValues', task ':app:mapReleaseSourceSetPaths', task ':app:generateReleaseResources', task ':app:mergeReleaseResources', task ':app:createReleaseCompatibleScreenManifests', task ':app:extractDeepLinksRelease', task ':app:processReleaseMainManifest', task ':app:processReleaseManifest', task ':app:processReleaseManifestForPackage', task ':app:processReleaseResources', task ':app:compileReleaseKotlin', task ':app:javaPreCompileRelease', task ':app:compileReleaseJavaWithJavac', task ':app:extractProguardFiles', task ':app:lintVitalAnalyzeRelease', task ':app:lintVitalReportRelease', task ':app:lintVitalRelease', task ':app:mergeReleaseJniLibFolders', task ':app:mergeReleaseNativeLibs', task ':app:stripReleaseDebugSymbols', task ':app:extractReleaseNativeSymbolTables', task ':app:mergeReleaseNativeDebugMetadata', task ':app:mergeReleaseArtProfile', task ':app:checkReleaseDuplicateClasses', task ':app:mergeReleaseGeneratedProguardFiles', task ':app:processReleaseJavaRes', task ':app:mergeReleaseJavaResource', task ':app:minifyReleaseWithR8', task ':app:compileReleaseArtProfile', task ':app:compressReleaseAssets', task ':app:processApplicationManifestReleaseForBundle', task ':app:bundleReleaseResources', task ':app:shrinkReleaseRes', task ':app:optimizeReleaseResources', task ':app:collectReleaseDependencies', task ':app:sdkReleaseDependencyData', task ':app:validateSigningRelease', task ':app:writeReleaseAppMetadata', task ':app:writeReleaseSigningConfigVersions', task ':app:packageRelease', task ':app:createReleaseApkListingFileRedirect', task ':app:assembleRelease'] [ +2 ms] Tasks that were excluded: [] [ ] Resolve mutations for :app:buildKotlinToolingMetadata (Thread[Execution worker Thread 13,5,main]) started. [ ] :app:buildKotlinToolingMetadata (Thread[Execution worker Thread 8,5,main]) started. [ ] > Task :app:buildKotlinToolingMetadata UP-TO-DATE [ ] Caching disabled for task ':app:buildKotlinToolingMetadata' because: [ ] Build cache is disabled [ ] Skipping task ':app:buildKotlinToolingMetadata' as it is up-to-date. [ ] Resolve mutations for :app:compileFlutterBuildRelease (Thread[Execution worker Thread 8,5,main]) started. [ ] :app:compileFlutterBuildRelease (Thread[Execution worker Thread 8,5,main]) started. [+1991 ms] > Task :app:compileFlutterBuildRelease [ ] Caching disabled for task ':app:compileFlutterBuildRelease' because: [ ] Build cache is disabled [ ] Task ':app:compileFlutterBuildRelease' is not up-to-date because: [ ] Task has failed previously. [ ] Starting process 'command 'C:\Users\Boolean\.puro\envs\stable\flutter\bin\flutter.bat''. Working directory: B:\dev\GitHub\flutter_extension_type_repro Command: C:\Users\Boolean\.puro\envs\stable\flutter\bin\flutter.bat --verbose assemble --no-version-check --depfile B:\dev\GitHub\flutter_extension_type_repro\build\app\intermediates\flutter\release/flutter_build.d --output B:\dev\GitHub\flutter_extension_type_repro\build\app\intermediates\flutter\release -dTargetFile=lib\main.dart -dTargetPlatform=android -dBuildMode=release -dTrackWidgetCreation=true -dTreeShakeIcons=true -dFlavor= -dAndroidArchs=android-arm android-arm64 android-x64 -dMinSdkVersion=19 -dIsAndroidLibrary=false android_aot_bundle_release_android-arm android_aot_bundle_release_android-arm64 android_aot_bundle_release_android-x64 [ +1 ms] Successfully started process 'command 'C:\Users\Boolean\.puro\envs\stable\flutter\bin\flutter.bat'' [ ] [ +151 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update. [ ] [ +4 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update. [ ] [ ] Artifact Instance of 'LegacyCanvasKitRemover' is not required, skipping update. [ ] [ +4 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update. [ ] [ +104 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update. [ ] [ ] Artifact Instance of 'GradleWrapper' is not required, skipping update. [ ] [ +6 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update. [ ] [ ] Artifact Instance of 'LegacyCanvasKitRemover' is not required, skipping update. [ ] [ ] Artifact Instance of 'FlutterSdk' is not required, skipping update. [ ] [ ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update. [ ] [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update. [ +1 ms] [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update. [ ] [ ] Artifact Instance of 'PubDependencies' is not required, skipping update. [ ] [ +15 ms] Initializing file store [ ] [ +9 ms] Done initializing file store [ ] [ +80 ms] Skipping target: native_assets [ ] [ +1 ms] Skipping target: gen_localizations [ ] [ +2 ms] Skipping target: gen_dart_plugin_registrant [ ] [ +496 ms] Skipping target: kernel_snapshot [ ] [ +16 ms] Skipping target: android_aot_release_android-arm [ ] [ +28 ms] aot_android_asset_bundle: Starting due to {} [ ] [ +19 ms] Skipping target: android_aot_release_android-arm64 [ ] [ +13 ms] Skipping target: android_aot_release_android-x64 [ ] [ +86 ms] shaderc command: [C:\Users\Boolean\.puro\envs\stable\flutter\bin\cache\artifacts\engine\windows-x64\impellerc.exe, --runtime-stage-gles, --iplr, --sl=B:\dev\GitHub\flutter_extension_type_repro\build\app\intermediates\flutter\release\flutter_assets\shaders/ink_sparkle.frag, --spirv=B:\dev\GitHub\flutter_extension_type_repro\build\app\intermediates\flutter\release\flutter_assets\shaders/ink_sparkle.frag.spirv, --input=C:\Users\Boolean\.puro\envs\stable\flutter\packages\flutter\lib\src\material\shaders\ink_sparkle.frag, --input-type=frag, --include=C:\Users\Boolean\.puro\envs\stable\flutter\packages\flutter\lib\src\material\shaders, --include=C:\Users\Boolean\.puro\envs\stable\flutter\bin\cache\artifacts\engine\windows-x64\shader_lib] [ +1 ms] [ +44 ms] Running command: C:\Users\Boolean\.puro\envs\stable\flutter\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev C:\Users\Boolean\.puro\envs\stable\flutter\bin\cache\artifacts\engine\windows-x64\const_finder.dart.snapshot --kernel-file B:\dev\GitHub\flutter_extension_type_repro\.dart_tool\flutter_build\7858408b882699f0afedc621b813d0e3\app.dill --class-library-uri package:flutter/src/widgets/icon_data.dart --class-name IconData --annotation-class-name _StaticIconProvider --annotation-class-library-uri package:flutter/src/widgets/icon_data.dart [ +72 ms] [ +489 ms] Persisting file store [ ] [ +7 ms] Done persisting file store [ ] [ +4 ms] Target aot_android_asset_bundle failed: IconTreeShakerException: ConstFinder failure: Unhandled exception: [ +1 ms] Reference to package:flutter_extension_type_repro/age_rating.dart::AgeRating is not bound to an AST node. An extension type declaration was expected [ ] #0 Reference.asExtensionTypeDeclaration (package:kernel/canonical_name.dart:579:7) [ ] #1 ExtensionType.extensionTypeDeclaration (package:kernel/ast.dart:11971:41) [ ] #2 ExtensionType.visitChildren (package:kernel/ast.dart:12084:5) [ ] #3 RecursiveVisitor.defaultNode (package:kernel/visitor.dart:1727:10) [ ] #4 VisitorDefault.defaultDartType (package:kernel/visitor.dart:1524:39) [ ] #5 DartTypeVisitorDefaultMixin.visitExtensionType (package:kernel/visitor.dart:804:47) [ ] #6 ExtensionType.accept (package:kernel/ast.dart:12074:14) [ ] #7 Field.visitChildren (package:kernel/ast.dart:2526:10) [ ] #8 RecursiveVisitor.defaultNode (package:kernel/visitor.dart:1727:10) [ ] #9 VisitorDefault.defaultTreeNode (package:kernel/visitor.dart:1521:39) [ ] #10 TreeVisitorDefault.defaultMember (package:kernel/visitor.dart:626:35) [ ] #11 MemberVisitorDefaultMixin.visitField (package:kernel/visitor.dart:413:31) [ ] #12 Field.accept (package:kernel/ast.dart:2514:40) [ ] #13 visitList (package:kernel/ast.dart:14886:14) [ ] #14 Class.visitChildren (package:kernel/ast.dart:1500:5) [ ] #15 RecursiveVisitor.defaultNode (package:kernel/visitor.dart:1727:10) [ ] #16 VisitorDefault.defaultTreeNode (package:kernel/visitor.dart:1521:39) [ ] #17 TreeVisitorDefaultMixin.visitClass (package:kernel/visitor.dart:556:31) [ ] #18 _ConstVisitor.visitClass (package:kernel/const_finder.dart:132:11) [ ] #19 Class.accept (package:kernel/ast.dart:1461:38) [ ] #20 visitList (package:kernel/ast.dart:14886:14) [ ] #21 Library.visitChildren (package:kernel/ast.dart:596:5) [ ] #22 ConstFinder.findInstances (package:kernel/const_finder.dart:208:15) [ ] #23 main (file:///C:/b/s/w/ir/cache/builder/src/flutter/tools/const_finder/bin/main.dart:103:41) [ ] #24 _delayEntrypointInvocation.Reproduction
Minimal reproduction is located in this repository for easy cloning: https://github.com/getBoolean/flutter_extension_type_repro
Dart Info
Reproduced on
Dart 3.3.0/Flutter 3.19.2
. (Also is reproducible on Flutter master 3.20.0-17.0.pre.97/Dart 3.4.0-190.0.dev)Click to open
``` #### General info - Dart 3.3.0 (stable) (Tue Feb 13 10:25:19 2024 +0000) on "windows_x64" - on windows / "Windows 10 Pro" 10.0 (Build 22631) - locale is en-US #### Project info - sdk constraint: '>=3.3.0 <4.0.0' - dependencies: flutter - dev_dependencies: flutter_lints, flutter_test ``` ``` ╰─❯ flutter --version Flutter 3.19.2 • channel stable • unknown source Framework • revision 7482962148 (7 days ago) • 2024-02-27 16:51:22 -0500 Engine • revision 04817c99c9 Tools • Dart 3.3.0 • DevTools 2.31.1 ```