Copy disabled (too large)
Download .txt
Showing preview only (115,432K chars total). Download the full file to get everything.
Repository: LianjiaTech/Beike_AspectD
Branch: 3.10.5
Commit: 51735ff0a6cc
Files: 35088
Total size: 155.5 MB
Directory structure:
gitextract_7w221lob/
├── .gitignore
├── CHANGELOG.md
├── LICENSE
├── README-CN.md
├── README.md
├── doc/
│ └── 如何调试.md
├── example/
│ ├── .gitignore
│ ├── README.md
│ ├── android/
│ │ ├── app/
│ │ │ ├── build.gradle
│ │ │ └── src/
│ │ │ ├── debug/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java/
│ │ │ │ │ ├── com/
│ │ │ │ │ │ └── beike/
│ │ │ │ │ │ └── example_beike/
│ │ │ │ │ │ └── MainActivity.java
│ │ │ │ │ └── io/
│ │ │ │ │ └── flutter/
│ │ │ │ │ └── plugins/
│ │ │ │ │ └── GeneratedPluginRegistrant.java
│ │ │ │ └── res/
│ │ │ │ ├── drawable/
│ │ │ │ │ └── launch_background.xml
│ │ │ │ └── values/
│ │ │ │ └── styles.xml
│ │ │ └── profile/
│ │ │ └── AndroidManifest.xml
│ │ ├── build.gradle
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── local.properties
│ │ └── settings.gradle
│ ├── aop_config.yaml
│ ├── ios/
│ │ ├── Flutter/
│ │ │ ├── AppFrameworkInfo.plist
│ │ │ ├── Debug.xcconfig
│ │ │ └── Release.xcconfig
│ │ ├── Runner/
│ │ │ ├── AppDelegate.h
│ │ │ ├── AppDelegate.m
│ │ │ ├── Assets.xcassets/
│ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ └── LaunchImage.imageset/
│ │ │ │ ├── Contents.json
│ │ │ │ └── README.md
│ │ │ ├── Base.lproj/
│ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ └── Main.storyboard
│ │ │ ├── GeneratedPluginRegistrant.h
│ │ │ ├── GeneratedPluginRegistrant.m
│ │ │ ├── Info.plist
│ │ │ └── main.m
│ │ ├── Runner.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace/
│ │ │ │ └── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ └── xcschemes/
│ │ │ └── Runner.xcscheme
│ │ └── Runner.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ ├── xcshareddata/
│ │ │ └── IDEWorkspaceChecks.plist
│ │ └── xcuserdata/
│ │ ├── beike.xcuserdatad/
│ │ │ └── UserInterfaceState.xcuserstate
│ │ └── solo.xcuserdatad/
│ │ └── UserInterfaceState.xcuserstate
│ ├── lib/
│ │ ├── hook_example.dart
│ │ ├── main.dart
│ │ └── receiver_test.dart
│ ├── pubspec.yaml
│ └── test/
│ └── widget_test.dart
├── inner/
│ ├── .gitignore
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── analysis_options.yaml
│ ├── config.yaml
│ ├── flutter_frontend_server/
│ │ ├── frontend_server.dart.snapshot
│ │ ├── gen_frontend_server_snapshot.sh
│ │ ├── generate_plugins_entry.dart
│ │ ├── package_config.json
│ │ ├── server.dart
│ │ └── starter.dart
│ ├── flutter_tools.patch
│ ├── pkg/
│ │ ├── _fe_analyzer_shared/
│ │ │ ├── LICENSE
│ │ │ ├── OWNERS
│ │ │ ├── PRESUBMIT.py
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── analysis_options_no_lints.yaml
│ │ │ ├── benchmark/
│ │ │ │ ├── exhaustiveness/
│ │ │ │ │ ├── large_fields_call_counts.dart
│ │ │ │ │ ├── large_fields_timed.dart
│ │ │ │ │ └── large_subtype_count.dart
│ │ │ │ └── macros/
│ │ │ │ └── serialization_benchmark.dart
│ │ │ ├── lib/
│ │ │ │ └── src/
│ │ │ │ ├── base/
│ │ │ │ │ ├── customized_codes.dart
│ │ │ │ │ ├── errors.dart
│ │ │ │ │ └── syntactic_entity.dart
│ │ │ │ ├── deferred_function_literal_heuristic.dart
│ │ │ │ ├── exhaustiveness/
│ │ │ │ │ ├── exhaustive.dart
│ │ │ │ │ ├── key.dart
│ │ │ │ │ ├── path.dart
│ │ │ │ │ ├── profile.dart
│ │ │ │ │ ├── shared.dart
│ │ │ │ │ ├── space.dart
│ │ │ │ │ ├── static_type.dart
│ │ │ │ │ ├── test_helper.dart
│ │ │ │ │ ├── types/
│ │ │ │ │ │ ├── bool.dart
│ │ │ │ │ │ ├── enum.dart
│ │ │ │ │ │ ├── future_or.dart
│ │ │ │ │ │ ├── list.dart
│ │ │ │ │ │ ├── map.dart
│ │ │ │ │ │ ├── record.dart
│ │ │ │ │ │ └── sealed.dart
│ │ │ │ │ ├── types.dart
│ │ │ │ │ └── witness.dart
│ │ │ │ ├── experiments/
│ │ │ │ │ ├── errors.dart
│ │ │ │ │ └── flags.dart
│ │ │ │ ├── flow_analysis/
│ │ │ │ │ ├── factory_type_test_helper.dart
│ │ │ │ │ └── flow_analysis.dart
│ │ │ │ ├── macros/
│ │ │ │ │ ├── api/
│ │ │ │ │ │ ├── builders.dart
│ │ │ │ │ │ ├── code.dart
│ │ │ │ │ │ ├── introspection.dart
│ │ │ │ │ │ └── macros.dart
│ │ │ │ │ ├── api.dart
│ │ │ │ │ ├── bootstrap.dart
│ │ │ │ │ ├── compiler/
│ │ │ │ │ │ └── request_channel.dart
│ │ │ │ │ ├── executor/
│ │ │ │ │ │ ├── augmentation_library.dart
│ │ │ │ │ │ ├── builder_impls.dart
│ │ │ │ │ │ ├── execute_macro.dart
│ │ │ │ │ │ ├── executor_base.dart
│ │ │ │ │ │ ├── introspection_impls.dart
│ │ │ │ │ │ ├── isolated_executor.dart
│ │ │ │ │ │ ├── message_grouper.dart
│ │ │ │ │ │ ├── multi_executor.dart
│ │ │ │ │ │ ├── process_executor.dart
│ │ │ │ │ │ ├── protocol.dart
│ │ │ │ │ │ ├── remote_instance.dart
│ │ │ │ │ │ ├── response_impls.dart
│ │ │ │ │ │ ├── serialization.dart
│ │ │ │ │ │ └── serialization_extensions.dart
│ │ │ │ │ └── executor.dart
│ │ │ │ ├── messages/
│ │ │ │ │ ├── codes.dart
│ │ │ │ │ ├── codes_generated.dart
│ │ │ │ │ ├── diagnostic_message.dart
│ │ │ │ │ └── severity.dart
│ │ │ │ ├── parser/
│ │ │ │ │ ├── assert.dart
│ │ │ │ │ ├── async_modifier.dart
│ │ │ │ │ ├── block_kind.dart
│ │ │ │ │ ├── class_member_parser.dart
│ │ │ │ │ ├── constructor_reference_context.dart
│ │ │ │ │ ├── declaration_kind.dart
│ │ │ │ │ ├── directive_context.dart
│ │ │ │ │ ├── error_delegation_listener.dart
│ │ │ │ │ ├── formal_parameter_kind.dart
│ │ │ │ │ ├── forwarding_listener.dart
│ │ │ │ │ ├── identifier_context.dart
│ │ │ │ │ ├── identifier_context_impl.dart
│ │ │ │ │ ├── listener.dart
│ │ │ │ │ ├── literal_entry_info.dart
│ │ │ │ │ ├── literal_entry_info_impl.dart
│ │ │ │ │ ├── loop_state.dart
│ │ │ │ │ ├── member_kind.dart
│ │ │ │ │ ├── modifier_context.dart
│ │ │ │ │ ├── parser.dart
│ │ │ │ │ ├── parser.md
│ │ │ │ │ ├── parser_error.dart
│ │ │ │ │ ├── parser_impl.dart
│ │ │ │ │ ├── parser_main.dart
│ │ │ │ │ ├── quote.dart
│ │ │ │ │ ├── recovery_listeners.dart
│ │ │ │ │ ├── stack_listener.dart
│ │ │ │ │ ├── token_stream_rewriter.dart
│ │ │ │ │ ├── top_level_parser.dart
│ │ │ │ │ ├── type_info.dart
│ │ │ │ │ ├── type_info_impl.dart
│ │ │ │ │ └── util.dart
│ │ │ │ ├── scanner/
│ │ │ │ │ ├── abstract_scanner.dart
│ │ │ │ │ ├── characters.dart
│ │ │ │ │ ├── error_token.dart
│ │ │ │ │ ├── errors.dart
│ │ │ │ │ ├── interner.dart
│ │ │ │ │ ├── io.dart
│ │ │ │ │ ├── keyword_state.dart
│ │ │ │ │ ├── reader.dart
│ │ │ │ │ ├── recover.dart
│ │ │ │ │ ├── scanner.dart
│ │ │ │ │ ├── scanner_main.dart
│ │ │ │ │ ├── string_canonicalizer.dart
│ │ │ │ │ ├── string_scanner.dart
│ │ │ │ │ ├── string_utilities.dart
│ │ │ │ │ ├── token.dart
│ │ │ │ │ ├── token_constants.dart
│ │ │ │ │ ├── token_impl.dart
│ │ │ │ │ └── utf8_bytes_scanner.dart
│ │ │ │ ├── sdk/
│ │ │ │ │ └── allowed_experiments.dart
│ │ │ │ ├── testing/
│ │ │ │ │ ├── annotated_code_helper.dart
│ │ │ │ │ ├── features.dart
│ │ │ │ │ ├── id.dart
│ │ │ │ │ ├── id_generation.dart
│ │ │ │ │ └── id_testing.dart
│ │ │ │ ├── type_inference/
│ │ │ │ │ ├── assigned_variables.dart
│ │ │ │ │ ├── promotion_key_store.dart
│ │ │ │ │ ├── type_analysis_result.dart
│ │ │ │ │ ├── type_analyzer.dart
│ │ │ │ │ ├── type_operations.dart
│ │ │ │ │ └── variable_bindings.dart
│ │ │ │ └── util/
│ │ │ │ ├── colors.dart
│ │ │ │ ├── dependency_walker.dart
│ │ │ │ ├── filenames.dart
│ │ │ │ ├── libraries_specification.dart
│ │ │ │ ├── link.dart
│ │ │ │ ├── link_implementation.dart
│ │ │ │ ├── null_value.dart
│ │ │ │ ├── options.dart
│ │ │ │ ├── relativize.dart
│ │ │ │ ├── resolve_input_uri.dart
│ │ │ │ ├── resolve_relative_uri.dart
│ │ │ │ ├── stack_checker.dart
│ │ │ │ └── value_kind.dart
│ │ │ ├── pubspec.yaml
│ │ │ ├── test/
│ │ │ │ ├── annotated_code_helper_test.dart
│ │ │ │ ├── constants/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── basic.dart
│ │ │ │ │ │ ├── errors.dart
│ │ │ │ │ │ ├── function.dart
│ │ │ │ │ │ ├── list.dart
│ │ │ │ │ │ ├── map.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── set.dart
│ │ │ │ │ │ └── type_literals.dart
│ │ │ │ │ └── data_2/
│ │ │ │ │ ├── basic.dart
│ │ │ │ │ ├── errors.dart
│ │ │ │ │ ├── function.dart
│ │ │ │ │ ├── list.dart
│ │ │ │ │ ├── map.dart
│ │ │ │ │ ├── marker.options
│ │ │ │ │ ├── set.dart
│ │ │ │ │ └── type_literals.dart
│ │ │ │ ├── deferred_function_literal_heuristic_test.dart
│ │ │ │ ├── exhaustiveness/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── and_pattern.dart
│ │ │ │ │ │ ├── bool.dart
│ │ │ │ │ │ ├── bounded_generic_sealed_classes.dart
│ │ │ │ │ │ ├── cast.dart
│ │ │ │ │ │ ├── class_members.dart
│ │ │ │ │ │ ├── dynamic_members.dart
│ │ │ │ │ │ ├── empty.dart
│ │ │ │ │ │ ├── enum.dart
│ │ │ │ │ │ ├── enum_members.dart
│ │ │ │ │ │ ├── extension_members.dart
│ │ │ │ │ │ ├── f_bounded.dart
│ │ │ │ │ │ ├── function_bounded_sealed_classes.dart
│ │ │ │ │ │ ├── function_type_members.dart
│ │ │ │ │ │ ├── future_or.dart
│ │ │ │ │ │ ├── future_or_members.dart
│ │ │ │ │ │ ├── generic_class.dart
│ │ │ │ │ │ ├── generic_enum.dart
│ │ │ │ │ │ ├── generic_extension_members.dart
│ │ │ │ │ │ ├── generic_nested_sealed_classes.dart
│ │ │ │ │ │ ├── generic_sealed_class.dart
│ │ │ │ │ │ ├── intersect.dart
│ │ │ │ │ │ ├── issue2878_example0.dart
│ │ │ │ │ │ ├── issue2878_example1.dart
│ │ │ │ │ │ ├── issue2878_example2.dart
│ │ │ │ │ │ ├── issue2878_example3.dart
│ │ │ │ │ │ ├── issue2878_example4.dart
│ │ │ │ │ │ ├── issue51854.dart
│ │ │ │ │ │ ├── issue51873.dart
│ │ │ │ │ │ ├── issue51878.dart
│ │ │ │ │ │ ├── issue51897.dart
│ │ │ │ │ │ ├── list.dart
│ │ │ │ │ │ ├── map.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── nested_sealed_classes.dart
│ │ │ │ │ │ ├── never_members.dart
│ │ │ │ │ │ ├── null_assert.dart
│ │ │ │ │ │ ├── null_check.dart
│ │ │ │ │ │ ├── null_members.dart
│ │ │ │ │ │ ├── nullable_members.dart
│ │ │ │ │ │ ├── num.dart
│ │ │ │ │ │ ├── object_members.dart
│ │ │ │ │ │ ├── object_pattern.dart
│ │ │ │ │ │ ├── or_pattern.dart
│ │ │ │ │ │ ├── record.dart
│ │ │ │ │ │ ├── record_literal.dart
│ │ │ │ │ │ ├── record_literal_named.dart
│ │ │ │ │ │ ├── record_members.dart
│ │ │ │ │ │ ├── record_sealed.dart
│ │ │ │ │ │ ├── relational.dart
│ │ │ │ │ │ ├── sealed_class.dart
│ │ │ │ │ │ ├── type_variable_members.dart
│ │ │ │ │ │ ├── unknown.dart
│ │ │ │ │ │ ├── variable_pattern.dart
│ │ │ │ │ │ ├── void_members.dart
│ │ │ │ │ │ └── when.dart
│ │ │ │ │ ├── env.dart
│ │ │ │ │ ├── expand_subtypes_test.dart
│ │ │ │ │ ├── is_exhaustive_field_test.dart
│ │ │ │ │ ├── is_exhaustive_nested_test.dart
│ │ │ │ │ ├── is_exhaustive_type_test.dart
│ │ │ │ │ ├── report_errors_test.dart
│ │ │ │ │ ├── static_type_test.dart
│ │ │ │ │ └── utils.dart
│ │ │ │ ├── flow_analysis/
│ │ │ │ │ ├── assigned_variables/
│ │ │ │ │ │ └── data/
│ │ │ │ │ │ ├── and.dart
│ │ │ │ │ │ ├── assignment.dart
│ │ │ │ │ │ ├── closure.dart
│ │ │ │ │ │ ├── conditional.dart
│ │ │ │ │ │ ├── constructor.dart
│ │ │ │ │ │ ├── do.dart
│ │ │ │ │ │ ├── field.dart
│ │ │ │ │ │ ├── for.dart
│ │ │ │ │ │ ├── for_element.dart
│ │ │ │ │ │ ├── if.dart
│ │ │ │ │ │ ├── localFunction.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── method.dart
│ │ │ │ │ │ ├── postfix.dart
│ │ │ │ │ │ ├── prefix.dart
│ │ │ │ │ │ ├── switch.dart
│ │ │ │ │ │ ├── topLevelFunction.dart
│ │ │ │ │ │ ├── topLevelVariable.dart
│ │ │ │ │ │ ├── tryCatch.dart
│ │ │ │ │ │ ├── tryFinally.dart
│ │ │ │ │ │ └── while.dart
│ │ │ │ │ ├── assigned_variables_test.dart
│ │ │ │ │ ├── definite_assignment/
│ │ │ │ │ │ └── data/
│ │ │ │ │ │ ├── assert.dart
│ │ │ │ │ │ ├── assignment.dart
│ │ │ │ │ │ ├── binary_expression.dart
│ │ │ │ │ │ ├── conditional_expression.dart
│ │ │ │ │ │ ├── do.dart
│ │ │ │ │ │ ├── for.dart
│ │ │ │ │ │ ├── for_each.dart
│ │ │ │ │ │ ├── function_expression.dart
│ │ │ │ │ │ ├── if.dart
│ │ │ │ │ │ ├── initialization.dart
│ │ │ │ │ │ ├── issue41284.dart
│ │ │ │ │ │ ├── late_initializer.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── switch.dart
│ │ │ │ │ │ ├── try.dart
│ │ │ │ │ │ └── while.dart
│ │ │ │ │ ├── definite_unassignment/
│ │ │ │ │ │ └── data/
│ │ │ │ │ │ ├── assert.dart
│ │ │ │ │ │ ├── assignment.dart
│ │ │ │ │ │ ├── binary_expression.dart
│ │ │ │ │ │ ├── conditional_expression.dart
│ │ │ │ │ │ ├── do.dart
│ │ │ │ │ │ ├── for.dart
│ │ │ │ │ │ ├── for_each.dart
│ │ │ │ │ │ ├── function_expression.dart
│ │ │ │ │ │ ├── if.dart
│ │ │ │ │ │ ├── initialization.dart
│ │ │ │ │ │ ├── issue41284.dart
│ │ │ │ │ │ ├── issue43006.dart
│ │ │ │ │ │ ├── labeled_statement.dart
│ │ │ │ │ │ ├── late_initializer.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── switch.dart
│ │ │ │ │ │ ├── try.dart
│ │ │ │ │ │ └── while.dart
│ │ │ │ │ ├── flow_analysis_mini_ast.dart
│ │ │ │ │ ├── flow_analysis_test.dart
│ │ │ │ │ ├── nullability/
│ │ │ │ │ │ └── data/
│ │ │ │ │ │ ├── assert.dart
│ │ │ │ │ │ ├── assign.dart
│ │ │ │ │ │ ├── equality_operator.dart
│ │ │ │ │ │ ├── identical.dart
│ │ │ │ │ │ ├── identical_prefixed.dart
│ │ │ │ │ │ ├── identical_spoof.dart
│ │ │ │ │ │ ├── if.dart
│ │ │ │ │ │ ├── if_element.dart
│ │ │ │ │ │ ├── is.dart
│ │ │ │ │ │ ├── issue42504.dart
│ │ │ │ │ │ ├── issue44276.dart
│ │ │ │ │ │ ├── labeled_statement.dart
│ │ │ │ │ │ ├── local_boolean.dart
│ │ │ │ │ │ ├── local_boolean_new.dart
│ │ │ │ │ │ ├── logical.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── null_aware_access.dart
│ │ │ │ │ │ ├── null_aware_call.dart
│ │ │ │ │ │ ├── null_check.dart
│ │ │ │ │ │ ├── potentially_mutated_in_closure.dart
│ │ │ │ │ │ ├── try_finally.dart
│ │ │ │ │ │ └── while.dart
│ │ │ │ │ ├── reachability/
│ │ │ │ │ │ └── data/
│ │ │ │ │ │ ├── assert.dart
│ │ │ │ │ │ ├── conditional.dart
│ │ │ │ │ │ ├── do.dart
│ │ │ │ │ │ ├── early_exit.dart
│ │ │ │ │ │ ├── equality_operator.dart
│ │ │ │ │ │ ├── for.dart
│ │ │ │ │ │ ├── function_body.dart
│ │ │ │ │ │ ├── if_null.dart
│ │ │ │ │ │ ├── issue41284.dart
│ │ │ │ │ │ ├── issue41981.dart
│ │ │ │ │ │ ├── labeled_statement.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── never_return_type.dart
│ │ │ │ │ │ ├── null_aware_access.dart
│ │ │ │ │ │ ├── null_aware_access_static.dart
│ │ │ │ │ │ ├── switch.dart
│ │ │ │ │ │ ├── try_catch.dart
│ │ │ │ │ │ └── unreachable_via_never.dart
│ │ │ │ │ ├── type_promotion/
│ │ │ │ │ │ └── data/
│ │ │ │ │ │ ├── as.dart
│ │ │ │ │ │ ├── assert.dart
│ │ │ │ │ │ ├── assigned_anywhere.dart
│ │ │ │ │ │ ├── assignment.dart
│ │ │ │ │ │ ├── assignment_promoted.dart
│ │ │ │ │ │ ├── binary.dart
│ │ │ │ │ │ ├── bug39178.dart
│ │ │ │ │ │ ├── bug42066.dart
│ │ │ │ │ │ ├── bug42653.dart
│ │ │ │ │ │ ├── bug43136.dart
│ │ │ │ │ │ ├── conditional.dart
│ │ │ │ │ │ ├── constructor_initializer.dart
│ │ │ │ │ │ ├── declaration.dart
│ │ │ │ │ │ ├── do.dart
│ │ │ │ │ │ ├── final_initializer.dart
│ │ │ │ │ │ ├── for.dart
│ │ │ │ │ │ ├── function_expression.dart
│ │ │ │ │ │ ├── if.dart
│ │ │ │ │ │ ├── implicit_downcast.dart
│ │ │ │ │ │ ├── initialization.dart
│ │ │ │ │ │ ├── inside_closure.dart
│ │ │ │ │ │ ├── late_initializer.dart
│ │ │ │ │ │ ├── loop_type_of_interest.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── mixed_if_null_and_null_aware.dart
│ │ │ │ │ │ ├── not_promoted.dart
│ │ │ │ │ │ ├── null_aware_assignment.dart
│ │ │ │ │ │ ├── null_check.dart
│ │ │ │ │ │ ├── potentially_mutated.dart
│ │ │ │ │ │ ├── promotion_in_dead_code.dart
│ │ │ │ │ │ ├── switch.dart
│ │ │ │ │ │ ├── this.dart
│ │ │ │ │ │ ├── try_catch.dart
│ │ │ │ │ │ ├── try_catch_finally.dart
│ │ │ │ │ │ ├── try_finally.dart
│ │ │ │ │ │ ├── type_parameter.dart
│ │ │ │ │ │ ├── while.dart
│ │ │ │ │ │ └── write_capture.dart
│ │ │ │ │ └── why_not_promoted/
│ │ │ │ │ └── data/
│ │ │ │ │ ├── argument_type_not_assignable_nullability_error.dart
│ │ │ │ │ ├── assignment.dart
│ │ │ │ │ ├── extension_property.dart
│ │ │ │ │ ├── field.dart
│ │ │ │ │ ├── for_in_loop_type_not_iterable_nullability_error.dart
│ │ │ │ │ ├── invalid_assignment_error_nullability_error.dart
│ │ │ │ │ ├── marker.options
│ │ │ │ │ ├── nullable_expression_call_error.dart
│ │ │ │ │ ├── nullable_method_call_error.dart
│ │ │ │ │ ├── nullable_operator_call_error.dart
│ │ │ │ │ ├── nullable_spread_error.dart
│ │ │ │ │ ├── property.dart
│ │ │ │ │ └── this.dart
│ │ │ │ ├── id_generation_test.dart
│ │ │ │ ├── inference/
│ │ │ │ │ ├── inferred_type_arguments/
│ │ │ │ │ │ └── data/
│ │ │ │ │ │ ├── bounded.dart
│ │ │ │ │ │ ├── collections.dart
│ │ │ │ │ │ ├── constructor_invocation.dart
│ │ │ │ │ │ ├── function_invocation.dart
│ │ │ │ │ │ ├── instance_invocation.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ └── static_invocation.dart
│ │ │ │ │ └── inferred_variable_types/
│ │ │ │ │ └── data/
│ │ │ │ │ ├── from_initializer.dart
│ │ │ │ │ ├── local_functions.dart
│ │ │ │ │ ├── marker.options
│ │ │ │ │ └── promoted.dart
│ │ │ │ ├── inheritance/
│ │ │ │ │ └── data/
│ │ │ │ │ ├── covariant_opt_in.dart
│ │ │ │ │ ├── covariant_opt_out.dart
│ │ │ │ │ ├── from_opt_in/
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ └── opt_in.dart
│ │ │ │ │ ├── from_opt_out/
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ └── opt_out.dart
│ │ │ │ │ ├── function.dart
│ │ │ │ │ ├── generic_members_from_opt_in/
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ └── opt_in.dart
│ │ │ │ │ ├── generic_members_from_opt_out/
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ └── opt_out.dart
│ │ │ │ │ ├── in_out_in/
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ ├── opt_in.dart
│ │ │ │ │ │ └── opt_out.dart
│ │ │ │ │ ├── infer_from_opt_in/
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ └── opt_in.dart
│ │ │ │ │ ├── infer_opt_in_from_mixed/
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ └── opt_out.dart
│ │ │ │ │ ├── infer_opt_out_from_mixed/
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ └── opt_in.dart
│ │ │ │ │ ├── infer_parameter_opt_in.dart
│ │ │ │ │ ├── infer_parameter_opt_out.dart
│ │ │ │ │ ├── issue40414/
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ ├── opt_in.dart
│ │ │ │ │ │ └── opt_out.dart
│ │ │ │ │ ├── issue40481/
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ └── opt_out.dart
│ │ │ │ │ ├── issue40481.dart
│ │ │ │ │ ├── issue40524/
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ └── opt_out.dart
│ │ │ │ │ ├── issue40541.dart
│ │ │ │ │ ├── issue40553/
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ └── opt_out.dart
│ │ │ │ │ ├── marker.options
│ │ │ │ │ ├── member_from_opt_in/
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ └── opt_in.dart
│ │ │ │ │ ├── member_from_opt_out/
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ └── opt_out.dart
│ │ │ │ │ ├── members_from_opt_in/
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ └── opt_in.dart
│ │ │ │ │ ├── members_from_opt_out/
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ └── opt_out.dart
│ │ │ │ │ ├── members_opt_in.dart
│ │ │ │ │ ├── members_opt_out.dart
│ │ │ │ │ ├── norm_supertypes.dart
│ │ │ │ │ ├── nsm_from_opt_in/
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ └── opt_in.dart
│ │ │ │ │ ├── object_opt_in/
│ │ │ │ │ │ ├── _internal.dart
│ │ │ │ │ │ ├── async.dart
│ │ │ │ │ │ ├── collection.dart
│ │ │ │ │ │ ├── core.dart
│ │ │ │ │ │ ├── libraries.json
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ ├── opt_in.dart
│ │ │ │ │ │ └── opt_out.dart
│ │ │ │ │ ├── object_opt_out/
│ │ │ │ │ │ ├── _internal.dart
│ │ │ │ │ │ ├── async.dart
│ │ │ │ │ │ ├── collection.dart
│ │ │ │ │ │ ├── core.dart
│ │ │ │ │ │ ├── libraries.json
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ └── opt_out.dart
│ │ │ │ │ ├── sink.dart
│ │ │ │ │ ├── top_merge_direct.dart
│ │ │ │ │ ├── top_merge_mixin.dart
│ │ │ │ │ ├── top_merge_opt_in.dart
│ │ │ │ │ ├── top_merge_opt_out.dart
│ │ │ │ │ └── top_merge_typedef.dart
│ │ │ │ ├── macros/
│ │ │ │ │ ├── api/
│ │ │ │ │ │ ├── api_test_data.dart
│ │ │ │ │ │ ├── api_test_expectations.dart
│ │ │ │ │ │ ├── api_test_macro.dart
│ │ │ │ │ │ └── package_config.json
│ │ │ │ │ ├── compiler/
│ │ │ │ │ │ └── request_channel_test.dart
│ │ │ │ │ ├── executor/
│ │ │ │ │ │ ├── augmentation_library_test.dart
│ │ │ │ │ │ ├── executor_test.dart
│ │ │ │ │ │ ├── response_impls_test.dart
│ │ │ │ │ │ ├── serialization_test.dart
│ │ │ │ │ │ └── simple_macro.dart
│ │ │ │ │ └── util.dart
│ │ │ │ ├── mini_ast.dart
│ │ │ │ ├── mini_ir.dart
│ │ │ │ ├── mini_types.dart
│ │ │ │ ├── mini_types_test.dart
│ │ │ │ ├── resolve_input_uri_test.dart
│ │ │ │ ├── sdk/
│ │ │ │ │ └── allowed_experiments_test.dart
│ │ │ │ ├── template_replacement_test.dart
│ │ │ │ ├── type_inference/
│ │ │ │ │ ├── type_inference_test.dart
│ │ │ │ │ └── variable_bindings_test.dart
│ │ │ │ └── util/
│ │ │ │ ├── dependency_walker_test.dart
│ │ │ │ ├── libraries_specification_test.dart
│ │ │ │ └── stack_checker_test.dart
│ │ │ └── tool/
│ │ │ └── smoke_test_quick.dart
│ │ ├── _js_interop_checks/
│ │ │ ├── LICENSE
│ │ │ ├── OWNERS
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── lib/
│ │ │ │ ├── js_interop_checks.dart
│ │ │ │ └── src/
│ │ │ │ ├── js_interop.dart
│ │ │ │ └── transformations/
│ │ │ │ ├── export_checker.dart
│ │ │ │ ├── export_creator.dart
│ │ │ │ ├── js_util_optimizer.dart
│ │ │ │ ├── static_interop_class_eraser.dart
│ │ │ │ └── static_interop_mock_validator.dart
│ │ │ └── pubspec.yaml
│ │ ├── build_integration/
│ │ │ ├── LICENSE
│ │ │ ├── OWNERS
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── lib/
│ │ │ │ └── file_system/
│ │ │ │ ├── multi_root.dart
│ │ │ │ └── single_root.dart
│ │ │ ├── pubspec.yaml
│ │ │ └── test/
│ │ │ └── file_system/
│ │ │ ├── multi_root_test.dart
│ │ │ └── single_root_test.dart
│ │ ├── compiler/
│ │ │ ├── .gitignore
│ │ │ ├── OWNERS
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── bin/
│ │ │ │ └── dart2js.dart
│ │ │ ├── doc/
│ │ │ │ ├── interceptors.md
│ │ │ │ ├── pragmas.md
│ │ │ │ ├── resource_identifiers.md
│ │ │ │ └── sourcemap_extensions.md
│ │ │ ├── lib/
│ │ │ │ ├── compiler_api.dart
│ │ │ │ └── src/
│ │ │ │ ├── README.txt
│ │ │ │ ├── closure.dart
│ │ │ │ ├── code_organization.md
│ │ │ │ ├── colors.dart
│ │ │ │ ├── commandline_options.dart
│ │ │ │ ├── common/
│ │ │ │ │ ├── codegen.dart
│ │ │ │ │ ├── elements.dart
│ │ │ │ │ ├── metrics.dart
│ │ │ │ │ ├── names.dart
│ │ │ │ │ ├── ram_usage.dart
│ │ │ │ │ ├── tasks.dart
│ │ │ │ │ └── work.dart
│ │ │ │ ├── common.dart
│ │ │ │ ├── compiler.dart
│ │ │ │ ├── constants/
│ │ │ │ │ ├── constant_system.dart
│ │ │ │ │ └── values.dart
│ │ │ │ ├── dart2js.dart
│ │ │ │ ├── deferred_load/
│ │ │ │ │ ├── algorithm_state.dart
│ │ │ │ │ ├── deferred_load.dart
│ │ │ │ │ ├── entity_data.dart
│ │ │ │ │ ├── entity_data_info.dart
│ │ │ │ │ ├── import_set.dart
│ │ │ │ │ ├── output_unit.dart
│ │ │ │ │ ├── program_split_constraints/
│ │ │ │ │ │ ├── builder.dart
│ │ │ │ │ │ ├── nodes.dart
│ │ │ │ │ │ └── parser.dart
│ │ │ │ │ └── work_queue.dart
│ │ │ │ ├── diagnostics/
│ │ │ │ │ ├── diagnostic_listener.dart
│ │ │ │ │ ├── invariant.dart
│ │ │ │ │ ├── messages.dart
│ │ │ │ │ ├── source_span.dart
│ │ │ │ │ ├── spannable.dart
│ │ │ │ │ └── spannable_with_entity.dart
│ │ │ │ ├── dump_info.dart
│ │ │ │ ├── elements/
│ │ │ │ │ ├── entities.dart
│ │ │ │ │ ├── entity_utils.dart
│ │ │ │ │ ├── indexed.dart
│ │ │ │ │ ├── jumps.dart
│ │ │ │ │ ├── names.dart
│ │ │ │ │ ├── operators.dart
│ │ │ │ │ └── types.dart
│ │ │ │ ├── enqueue.dart
│ │ │ │ ├── environment.dart
│ │ │ │ ├── hash/
│ │ │ │ │ └── sha1.dart
│ │ │ │ ├── inferrer/
│ │ │ │ │ ├── abstract_value_domain.dart
│ │ │ │ │ ├── abstract_value_strategy.dart
│ │ │ │ │ ├── builder.dart
│ │ │ │ │ ├── closure_tracer.dart
│ │ │ │ │ ├── computable.dart
│ │ │ │ │ ├── debug.dart
│ │ │ │ │ ├── engine.dart
│ │ │ │ │ ├── list_tracer.dart
│ │ │ │ │ ├── locals_handler.dart
│ │ │ │ │ ├── map_tracer.dart
│ │ │ │ │ ├── node_tracer.dart
│ │ │ │ │ ├── powersets/
│ │ │ │ │ │ ├── powerset_bits.dart
│ │ │ │ │ │ └── powersets.dart
│ │ │ │ │ ├── record_tracer.dart
│ │ │ │ │ ├── set_tracer.dart
│ │ │ │ │ ├── trivial.dart
│ │ │ │ │ ├── type_graph_dump.dart
│ │ │ │ │ ├── type_graph_inferrer.dart
│ │ │ │ │ ├── type_graph_nodes.dart
│ │ │ │ │ ├── type_system.dart
│ │ │ │ │ ├── typemasks/
│ │ │ │ │ │ ├── constants.dart
│ │ │ │ │ │ ├── container_type_mask.dart
│ │ │ │ │ │ ├── dictionary_type_mask.dart
│ │ │ │ │ │ ├── flat_type_mask.dart
│ │ │ │ │ │ ├── forwarding_type_mask.dart
│ │ │ │ │ │ ├── map_type_mask.dart
│ │ │ │ │ │ ├── masks.dart
│ │ │ │ │ │ ├── record_type_mask.dart
│ │ │ │ │ │ ├── set_type_mask.dart
│ │ │ │ │ │ ├── type_mask.dart
│ │ │ │ │ │ ├── union_type_mask.dart
│ │ │ │ │ │ └── value_type_mask.dart
│ │ │ │ │ ├── types.dart
│ │ │ │ │ ├── work_queue.dart
│ │ │ │ │ └── wrapped.dart
│ │ │ │ ├── inferrer_experimental/
│ │ │ │ │ ├── builder.dart
│ │ │ │ │ ├── closure_tracer.dart
│ │ │ │ │ ├── debug.dart
│ │ │ │ │ ├── engine.dart
│ │ │ │ │ ├── list_tracer.dart
│ │ │ │ │ ├── locals_handler.dart
│ │ │ │ │ ├── map_tracer.dart
│ │ │ │ │ ├── node_tracer.dart
│ │ │ │ │ ├── powersets/
│ │ │ │ │ │ ├── powerset_bits.dart
│ │ │ │ │ │ └── powersets.dart
│ │ │ │ │ ├── record_tracer.dart
│ │ │ │ │ ├── set_tracer.dart
│ │ │ │ │ ├── trivial.dart
│ │ │ │ │ ├── type_graph_dump.dart
│ │ │ │ │ ├── type_graph_inferrer.dart
│ │ │ │ │ ├── type_graph_nodes.dart
│ │ │ │ │ ├── type_system.dart
│ │ │ │ │ ├── typemasks/
│ │ │ │ │ │ ├── constants.dart
│ │ │ │ │ │ ├── container_type_mask.dart
│ │ │ │ │ │ ├── dictionary_type_mask.dart
│ │ │ │ │ │ ├── flat_type_mask.dart
│ │ │ │ │ │ ├── forwarding_type_mask.dart
│ │ │ │ │ │ ├── map_type_mask.dart
│ │ │ │ │ │ ├── masks.dart
│ │ │ │ │ │ ├── record_type_mask.dart
│ │ │ │ │ │ ├── set_type_mask.dart
│ │ │ │ │ │ ├── type_mask.dart
│ │ │ │ │ │ ├── union_type_mask.dart
│ │ │ │ │ │ └── value_type_mask.dart
│ │ │ │ │ ├── types.dart
│ │ │ │ │ ├── work_queue.dart
│ │ │ │ │ └── wrapped.dart
│ │ │ │ ├── io/
│ │ │ │ │ ├── code_output.dart
│ │ │ │ │ ├── code_output_listener.dart
│ │ │ │ │ ├── kernel_source_information.dart
│ │ │ │ │ ├── location_provider.dart
│ │ │ │ │ ├── mapped_file.dart
│ │ │ │ │ ├── position_information.dart
│ │ │ │ │ ├── source_file.dart
│ │ │ │ │ ├── source_information.dart
│ │ │ │ │ └── source_map_builder.dart
│ │ │ │ ├── ir/
│ │ │ │ │ ├── annotations.dart
│ │ │ │ │ ├── cached_static_type.dart
│ │ │ │ │ ├── closure.dart
│ │ │ │ │ ├── constants.dart
│ │ │ │ │ ├── element_map.dart
│ │ │ │ │ ├── impact.dart
│ │ │ │ │ ├── impact_data.dart
│ │ │ │ │ ├── modular.dart
│ │ │ │ │ ├── runtime_type_analysis.dart
│ │ │ │ │ ├── scope.dart
│ │ │ │ │ ├── scope_visitor.dart
│ │ │ │ │ ├── static_type.dart
│ │ │ │ │ ├── static_type_base.dart
│ │ │ │ │ ├── static_type_cache.dart
│ │ │ │ │ ├── static_type_provider.dart
│ │ │ │ │ ├── types.dart
│ │ │ │ │ ├── util.dart
│ │ │ │ │ └── visitors.dart
│ │ │ │ ├── js/
│ │ │ │ │ ├── js.dart
│ │ │ │ │ ├── js_debug.dart
│ │ │ │ │ ├── js_source_mapping.dart
│ │ │ │ │ ├── placeholder_safety.dart
│ │ │ │ │ ├── rewrite_async.dart
│ │ │ │ │ └── size_estimator.dart
│ │ │ │ ├── js_backend/
│ │ │ │ │ ├── annotations.dart
│ │ │ │ │ ├── backend.dart
│ │ │ │ │ ├── backend_impact.dart
│ │ │ │ │ ├── backend_usage.dart
│ │ │ │ │ ├── checked_mode_helpers.dart
│ │ │ │ │ ├── codegen_inputs.dart
│ │ │ │ │ ├── codegen_listener.dart
│ │ │ │ │ ├── constant_emitter.dart
│ │ │ │ │ ├── custom_elements_analysis.dart
│ │ │ │ │ ├── deferred_holder_expression.dart
│ │ │ │ │ ├── enqueuer.dart
│ │ │ │ │ ├── field_analysis.dart
│ │ │ │ │ ├── field_naming_mixin.dart
│ │ │ │ │ ├── frequency_assignment.dart
│ │ │ │ │ ├── frequency_namer.dart
│ │ │ │ │ ├── impact_transformer.dart
│ │ │ │ │ ├── inferred_data.dart
│ │ │ │ │ ├── interceptor_data.dart
│ │ │ │ │ ├── js_backend.dart
│ │ │ │ │ ├── js_interop_analysis.dart
│ │ │ │ │ ├── minify_namer.dart
│ │ │ │ │ ├── name_sequence.dart
│ │ │ │ │ ├── namer.dart
│ │ │ │ │ ├── namer_names.dart
│ │ │ │ │ ├── native_data.dart
│ │ │ │ │ ├── no_such_method_registry.dart
│ │ │ │ │ ├── records_codegen.dart
│ │ │ │ │ ├── resolution_listener.dart
│ │ │ │ │ ├── runtime_types.dart
│ │ │ │ │ ├── runtime_types_codegen.dart
│ │ │ │ │ ├── runtime_types_new.dart
│ │ │ │ │ ├── runtime_types_resolution.dart
│ │ │ │ │ ├── specialized_checks.dart
│ │ │ │ │ ├── string_abbreviation.dart
│ │ │ │ │ ├── string_reference.dart
│ │ │ │ │ └── type_reference.dart
│ │ │ │ ├── js_emitter/
│ │ │ │ │ ├── class_stub_generator.dart
│ │ │ │ │ ├── code_emitter_task.dart
│ │ │ │ │ ├── constant_ordering.dart
│ │ │ │ │ ├── headers.dart
│ │ │ │ │ ├── instantiation_stub_generator.dart
│ │ │ │ │ ├── interceptor_stub_generator.dart
│ │ │ │ │ ├── js_emitter.dart
│ │ │ │ │ ├── main_call_stub_generator.dart
│ │ │ │ │ ├── metadata_collector.dart
│ │ │ │ │ ├── model.dart
│ │ │ │ │ ├── native_emitter.dart
│ │ │ │ │ ├── native_generator.dart
│ │ │ │ │ ├── parameter_stub_generator.dart
│ │ │ │ │ ├── program_builder/
│ │ │ │ │ │ ├── collector.dart
│ │ │ │ │ │ ├── field_visitor.dart
│ │ │ │ │ │ ├── program_builder.dart
│ │ │ │ │ │ └── registry.dart
│ │ │ │ │ ├── resource_info_emitter.dart
│ │ │ │ │ ├── runtime_type_generator.dart
│ │ │ │ │ ├── sorter.dart
│ │ │ │ │ └── startup_emitter/
│ │ │ │ │ ├── emitter.dart
│ │ │ │ │ ├── fragment_emitter.dart
│ │ │ │ │ ├── fragment_merger.dart
│ │ │ │ │ └── model_emitter.dart
│ │ │ │ ├── js_model/
│ │ │ │ │ ├── class_type_variable_access.dart
│ │ │ │ │ ├── closure.dart
│ │ │ │ │ ├── element_map.dart
│ │ │ │ │ ├── element_map_impl.dart
│ │ │ │ │ ├── elements.dart
│ │ │ │ │ ├── env.dart
│ │ │ │ │ ├── js_strategy.dart
│ │ │ │ │ ├── js_to_frontend_map.dart
│ │ │ │ │ ├── js_world.dart
│ │ │ │ │ ├── js_world_builder.dart
│ │ │ │ │ ├── locals.dart
│ │ │ │ │ ├── records.dart
│ │ │ │ │ └── type_recipe.dart
│ │ │ │ ├── kernel/
│ │ │ │ │ ├── dart2js_target.dart
│ │ │ │ │ ├── element_map.dart
│ │ │ │ │ ├── element_map_impl.dart
│ │ │ │ │ ├── env.dart
│ │ │ │ │ ├── front_end_adapter.dart
│ │ │ │ │ ├── invocation_mirror_constants.dart
│ │ │ │ │ ├── kelements.dart
│ │ │ │ │ ├── kernel_impact.dart
│ │ │ │ │ ├── kernel_strategy.dart
│ │ │ │ │ ├── kernel_world.dart
│ │ │ │ │ ├── native_basic_data.dart
│ │ │ │ │ ├── no_such_method_resolver.dart
│ │ │ │ │ └── transformations/
│ │ │ │ │ ├── async_lowering.dart
│ │ │ │ │ ├── clone_mixin_methods_with_super.dart
│ │ │ │ │ ├── factory_specializer.dart
│ │ │ │ │ ├── late_lowering.dart
│ │ │ │ │ ├── list_factory_specializer.dart
│ │ │ │ │ └── lowering.dart
│ │ │ │ ├── native/
│ │ │ │ │ ├── behavior.dart
│ │ │ │ │ ├── enqueue.dart
│ │ │ │ │ ├── js.dart
│ │ │ │ │ ├── native_throw_behavior.dart
│ │ │ │ │ └── resolver.dart
│ │ │ │ ├── null_compiler_output.dart
│ │ │ │ ├── options.dart
│ │ │ │ ├── ordered_typeset.dart
│ │ │ │ ├── phase/
│ │ │ │ │ ├── load_kernel.dart
│ │ │ │ │ └── modular_analysis.dart
│ │ │ │ ├── resolution/
│ │ │ │ │ └── enqueuer.dart
│ │ │ │ ├── serialization/
│ │ │ │ │ ├── binary_sink.dart
│ │ │ │ │ ├── binary_source.dart
│ │ │ │ │ ├── deferrable.dart
│ │ │ │ │ ├── helpers.dart
│ │ │ │ │ ├── indexed_sink_source.dart
│ │ │ │ │ ├── member_data.dart
│ │ │ │ │ ├── node_indexer.dart
│ │ │ │ │ ├── object_sink.dart
│ │ │ │ │ ├── object_source.dart
│ │ │ │ │ ├── serialization.dart
│ │ │ │ │ ├── sink.dart
│ │ │ │ │ ├── source.dart
│ │ │ │ │ ├── strategies.dart
│ │ │ │ │ ├── tags.dart
│ │ │ │ │ └── task.dart
│ │ │ │ ├── source_file_provider.dart
│ │ │ │ ├── ssa/
│ │ │ │ │ ├── branch_builder.dart
│ │ │ │ │ ├── builder.dart
│ │ │ │ │ ├── codegen.dart
│ │ │ │ │ ├── codegen_helpers.dart
│ │ │ │ │ ├── interceptor_finalizer.dart
│ │ │ │ │ ├── interceptor_simplifier.dart
│ │ │ │ │ ├── invoke_dynamic_specializers.dart
│ │ │ │ │ ├── jump_handler.dart
│ │ │ │ │ ├── late_field_optimizer.dart
│ │ │ │ │ ├── locals_handler.dart
│ │ │ │ │ ├── logging.dart
│ │ │ │ │ ├── loop_handler.dart
│ │ │ │ │ ├── metrics.dart
│ │ │ │ │ ├── nodes.dart
│ │ │ │ │ ├── optimize.dart
│ │ │ │ │ ├── ssa.dart
│ │ │ │ │ ├── string_builder.dart
│ │ │ │ │ ├── switch_continue_analysis.dart
│ │ │ │ │ ├── tracer.dart
│ │ │ │ │ ├── type_builder.dart
│ │ │ │ │ ├── types.dart
│ │ │ │ │ ├── types_propagation.dart
│ │ │ │ │ ├── validate.dart
│ │ │ │ │ ├── value_range_analyzer.dart
│ │ │ │ │ ├── value_set.dart
│ │ │ │ │ └── variable_allocator.dart
│ │ │ │ ├── tracer.dart
│ │ │ │ ├── universe/
│ │ │ │ │ ├── call_structure.dart
│ │ │ │ │ ├── class_hierarchy.dart
│ │ │ │ │ ├── class_set.dart
│ │ │ │ │ ├── codegen_world_builder.dart
│ │ │ │ │ ├── feature.dart
│ │ │ │ │ ├── function_set.dart
│ │ │ │ │ ├── member_hierarchy.dart
│ │ │ │ │ ├── member_usage.dart
│ │ │ │ │ ├── record_shape.dart
│ │ │ │ │ ├── resolution_world_builder.dart
│ │ │ │ │ ├── resource_identifier.dart
│ │ │ │ │ ├── selector.dart
│ │ │ │ │ ├── side_effects.dart
│ │ │ │ │ ├── target_checks.dart
│ │ │ │ │ ├── use.dart
│ │ │ │ │ ├── world_builder.dart
│ │ │ │ │ └── world_impact.dart
│ │ │ │ ├── util/
│ │ │ │ │ ├── command_line.dart
│ │ │ │ │ ├── diagnostic_helper.dart
│ │ │ │ │ ├── enumset.dart
│ │ │ │ │ ├── maplet.dart
│ │ │ │ │ ├── memory_compiler.dart
│ │ │ │ │ ├── memory_source_file_helper.dart
│ │ │ │ │ ├── output_collector.dart
│ │ │ │ │ ├── setlet.dart
│ │ │ │ │ ├── sink_adapter.dart
│ │ │ │ │ ├── testing.dart
│ │ │ │ │ └── util.dart
│ │ │ │ └── world.dart
│ │ │ ├── pubspec.yaml
│ │ │ ├── test/
│ │ │ │ ├── analyses/
│ │ │ │ │ ├── analysis_helper.dart
│ │ │ │ │ ├── analyze_test.dart
│ │ │ │ │ ├── api_allowed.json
│ │ │ │ │ ├── api_dynamic_test.dart
│ │ │ │ │ └── static_type_visitor_test.dart
│ │ │ │ ├── analysis_options.yaml
│ │ │ │ ├── annotations/
│ │ │ │ │ ├── annotations_test.dart
│ │ │ │ │ └── data/
│ │ │ │ │ ├── basic.dart
│ │ │ │ │ ├── deferred.dart
│ │ │ │ │ ├── directives.dart
│ │ │ │ │ ├── errors.dart
│ │ │ │ │ └── marker.options
│ │ │ │ ├── async_await/
│ │ │ │ │ └── async_await_js_transform_test.dart
│ │ │ │ ├── closure/
│ │ │ │ │ ├── closure_test.dart
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── captured_variable.dart
│ │ │ │ │ │ ├── generic.dart
│ │ │ │ │ │ ├── instantiation.dart
│ │ │ │ │ │ ├── instantiation1.dart
│ │ │ │ │ │ ├── instantiation2.dart
│ │ │ │ │ │ ├── instantiation3.dart
│ │ │ │ │ │ ├── instantiation4.dart
│ │ │ │ │ │ ├── list_literal_class.dart
│ │ │ │ │ │ ├── list_literal_method.dart
│ │ │ │ │ │ ├── list_literal_untested_class.dart
│ │ │ │ │ │ ├── list_literal_untested_method.dart
│ │ │ │ │ │ ├── map_literal_class.dart
│ │ │ │ │ │ ├── map_literal_method.dart
│ │ │ │ │ │ ├── map_literal_untested_class.dart
│ │ │ │ │ │ ├── map_literal_untested_method.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── mixed.dart
│ │ │ │ │ │ ├── mutations.dart
│ │ │ │ │ │ ├── nested_closures.dart
│ │ │ │ │ │ ├── parameter_in_try.dart
│ │ │ │ │ │ ├── test_type_class.dart
│ │ │ │ │ │ ├── test_type_method.dart
│ │ │ │ │ │ ├── two_local_functions.dart
│ │ │ │ │ │ ├── type_annotations_class.dart
│ │ │ │ │ │ ├── type_annotations_method.dart
│ │ │ │ │ │ ├── type_arguments_class.dart
│ │ │ │ │ │ ├── type_arguments_method.dart
│ │ │ │ │ │ └── type_variables.dart
│ │ │ │ │ └── show.dart
│ │ │ │ ├── codegen/
│ │ │ │ │ ├── arithmetic_simplification_test.dart
│ │ │ │ │ ├── array_static_intercept_test.dart
│ │ │ │ │ ├── bitops1_test.dart
│ │ │ │ │ ├── bitops2_test.dart
│ │ │ │ │ ├── builtin_equals_test.dart
│ │ │ │ │ ├── builtin_interceptor_test.dart
│ │ │ │ │ ├── class_codegen2_test.dart
│ │ │ │ │ ├── class_codegen_test.dart
│ │ │ │ │ ├── class_order_test.dart
│ │ │ │ │ ├── closure_call_of_static_reduction_test.dart
│ │ │ │ │ ├── closure_codegen_test.dart
│ │ │ │ │ ├── code_motion_test.dart
│ │ │ │ │ ├── codegen_2_shard0_test.dart
│ │ │ │ │ ├── codegen_2_shard1_test.dart
│ │ │ │ │ ├── codegen_shard0_test.dart
│ │ │ │ │ ├── codegen_shard1_test.dart
│ │ │ │ │ ├── codegen_test_helper.dart
│ │ │ │ │ ├── constant_folding_codeUnitAt_test.dart
│ │ │ │ │ ├── constant_folding_test.dart
│ │ │ │ │ ├── constant_namer_test.dart
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── array_add.dart
│ │ │ │ │ │ ├── codeUnitAt_folding.dart
│ │ │ │ │ │ ├── indexer_constant_folding.dart
│ │ │ │ │ │ ├── inlining_annotations.dart
│ │ │ │ │ │ ├── late_field_read_check_optimization.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── shift_right_unsigned.dart
│ │ │ │ │ │ ├── tdiv1.dart
│ │ │ │ │ │ └── unused_empty_map.dart
│ │ │ │ │ ├── data_2/
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── tdiv1.dart
│ │ │ │ │ │ └── unused_empty_map.dart
│ │ │ │ │ ├── dead_code_test.dart
│ │ │ │ │ ├── dead_phi_eliminator_test.dart
│ │ │ │ │ ├── declare_once_test.dart
│ │ │ │ │ ├── elide_callthrough_stub_test.dart
│ │ │ │ │ ├── emit_const_fields_test.dart
│ │ │ │ │ ├── equals_test.dart
│ │ │ │ │ ├── expect_annotations2_test.dart
│ │ │ │ │ ├── expect_annotations_test.dart
│ │ │ │ │ ├── field_codegen_test.dart
│ │ │ │ │ ├── field_update_test.dart
│ │ │ │ │ ├── for_in_test.dart
│ │ │ │ │ ├── forloop_box_test.dart
│ │ │ │ │ ├── generate_at_use_site_test.dart
│ │ │ │ │ ├── generic_method_test.dart
│ │ │ │ │ ├── gvn_test.dart
│ │ │ │ │ ├── identity_test.dart
│ │ │ │ │ ├── if_do_while_test.dart
│ │ │ │ │ ├── interceptor_almost_constant_test.dart
│ │ │ │ │ ├── interceptor_test.dart
│ │ │ │ │ ├── interpolation_folding_test.dart
│ │ │ │ │ ├── inverse_operator_test.dart
│ │ │ │ │ ├── is_function_test.dart
│ │ │ │ │ ├── is_inference2_test.dart
│ │ │ │ │ ├── is_inference_test.dart
│ │ │ │ │ ├── jsarray_indexof_test.dart
│ │ │ │ │ ├── late_field_redundancy_test.dart
│ │ │ │ │ ├── late_field_test.dart
│ │ │ │ │ ├── licm_test.dart
│ │ │ │ │ ├── list_tracer_length_test.dart
│ │ │ │ │ ├── list_tracer_node_type_test.dart
│ │ │ │ │ ├── literal_list_test.dart
│ │ │ │ │ ├── literal_map_test.dart
│ │ │ │ │ ├── load_elimination_test.dart
│ │ │ │ │ ├── logical_expression_test.dart
│ │ │ │ │ ├── loop_test.dart
│ │ │ │ │ ├── minify_many_locals_test.dart
│ │ │ │ │ ├── model_data/
│ │ │ │ │ │ ├── capture.dart
│ │ │ │ │ │ ├── constant_folding.dart
│ │ │ │ │ │ ├── constructors.dart
│ │ │ │ │ │ ├── dynamic_get.dart
│ │ │ │ │ │ ├── dynamic_set.dart
│ │ │ │ │ │ ├── dynamic_set_unread.dart
│ │ │ │ │ │ ├── effectively_constant_fields.dart
│ │ │ │ │ │ ├── effectively_constant_state.dart
│ │ │ │ │ │ ├── field_set.dart
│ │ │ │ │ │ ├── fields.dart
│ │ │ │ │ │ ├── instance_method_parameters.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── native.dart
│ │ │ │ │ │ ├── native_inlined.dart
│ │ │ │ │ │ ├── native_unused_parameters.dart
│ │ │ │ │ │ ├── regress_36222.dart
│ │ │ │ │ │ ├── static_method_parameters.dart
│ │ │ │ │ │ └── static_tearoff.dart
│ │ │ │ │ ├── model_test.dart
│ │ │ │ │ ├── modulo_remainder_test.dart
│ │ │ │ │ ├── negation_shift_regression_test.dart
│ │ │ │ │ ├── new_rti_is_test.dart
│ │ │ │ │ ├── no_constructor_body_test.dart
│ │ │ │ │ ├── no_duplicate_constructor_body2_test.dart
│ │ │ │ │ ├── no_duplicate_constructor_body_test.dart
│ │ │ │ │ ├── no_duplicate_stub_test.dart
│ │ │ │ │ ├── null_check_test.dart
│ │ │ │ │ ├── null_type_test.dart
│ │ │ │ │ ├── number_output_test.dart
│ │ │ │ │ ├── parameter_phi_elimination_test.dart
│ │ │ │ │ ├── pragma_annotations_test.dart
│ │ │ │ │ ├── pretty_parameter_test.dart
│ │ │ │ │ ├── redundant_phi_eliminator_test.dart
│ │ │ │ │ ├── regress_10231_test.dart
│ │ │ │ │ ├── shift_right_unsigned_test.dart
│ │ │ │ │ ├── side_effect_tdiv_regression_test.dart
│ │ │ │ │ ├── simple_inferrer_relations_test.dart
│ │ │ │ │ ├── ssa_phi_codegen_test.dart
│ │ │ │ │ ├── static_closure_test.dart
│ │ │ │ │ ├── strength_eq_test.dart
│ │ │ │ │ ├── string_abbreviation_test.dart
│ │ │ │ │ ├── string_add_test.dart
│ │ │ │ │ ├── string_escapes_test.dart
│ │ │ │ │ ├── string_interpolation_test.dart
│ │ │ │ │ ├── string_reference_test.dart
│ │ │ │ │ ├── switch_empty_default_test.dart
│ │ │ │ │ ├── tdiv_test.dart
│ │ │ │ │ ├── top_level_closure_tree_shake_test.dart
│ │ │ │ │ ├── tree_shaking_test.dart
│ │ │ │ │ ├── trust_type_annotations2_test.dart
│ │ │ │ │ ├── trust_type_annotations_test.dart
│ │ │ │ │ ├── type_guard_unuser_test.dart
│ │ │ │ │ ├── type_inference2_test.dart
│ │ │ │ │ ├── type_inference3_test.dart
│ │ │ │ │ ├── type_inference4_test.dart
│ │ │ │ │ ├── type_inference5_test.dart
│ │ │ │ │ ├── type_inference8_test.dart
│ │ │ │ │ ├── types_of_captured_variables_test.dart
│ │ │ │ │ ├── unused_empty_map_test.dart
│ │ │ │ │ ├── use_checks_test.dart
│ │ │ │ │ ├── use_strict_test.dart
│ │ │ │ │ ├── value_range2_test.dart
│ │ │ │ │ ├── value_range3_test.dart
│ │ │ │ │ ├── value_range_test.dart
│ │ │ │ │ └── variance_subtype_cast_test.dart
│ │ │ │ ├── codesize/
│ │ │ │ │ ├── OWNERS
│ │ │ │ │ └── swarm/
│ │ │ │ │ ├── App.dart
│ │ │ │ │ ├── BiIterator.dart
│ │ │ │ │ ├── CSS.dart
│ │ │ │ │ ├── CannedData.dart
│ │ │ │ │ ├── ConfigHintDialog.dart
│ │ │ │ │ ├── DataSource.dart
│ │ │ │ │ ├── Decoder.dart
│ │ │ │ │ ├── HelpDialog.dart
│ │ │ │ │ ├── README
│ │ │ │ │ ├── SwarmApp.dart
│ │ │ │ │ ├── SwarmState.dart
│ │ │ │ │ ├── SwarmViews.dart
│ │ │ │ │ ├── UIState.dart
│ │ │ │ │ ├── Views.dart
│ │ │ │ │ ├── analysis_options.yaml
│ │ │ │ │ ├── appengine/
│ │ │ │ │ │ ├── app.yaml
│ │ │ │ │ │ ├── cron.yaml
│ │ │ │ │ │ ├── dev.html
│ │ │ │ │ │ ├── encoder.py
│ │ │ │ │ │ ├── index.yaml
│ │ │ │ │ │ ├── login.html
│ │ │ │ │ │ ├── main.py
│ │ │ │ │ │ ├── queue.yaml
│ │ │ │ │ │ ├── top.html
│ │ │ │ │ │ └── upload.html
│ │ │ │ │ ├── buildapp.py
│ │ │ │ │ ├── cacheimages.py
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── Test0_0_0.html
│ │ │ │ │ │ ├── Test0_0_1.html
│ │ │ │ │ │ ├── Test0_0_2.html
│ │ │ │ │ │ ├── Test0_0_3.html
│ │ │ │ │ │ ├── Test0_0_4.html
│ │ │ │ │ │ ├── Test0_0_5.html
│ │ │ │ │ │ ├── Test0_0_6.html
│ │ │ │ │ │ ├── Test0_0_7.html
│ │ │ │ │ │ ├── Test0_1_0.html
│ │ │ │ │ │ ├── Test0_1_1.html
│ │ │ │ │ │ ├── Test0_1_2.html
│ │ │ │ │ │ ├── Test0_1_3.html
│ │ │ │ │ │ ├── Test0_1_4.html
│ │ │ │ │ │ ├── Test0_1_5.html
│ │ │ │ │ │ ├── Test0_1_6.html
│ │ │ │ │ │ ├── Test0_1_7.html
│ │ │ │ │ │ ├── Test0_2_0.html
│ │ │ │ │ │ ├── Test0_2_1.html
│ │ │ │ │ │ ├── Test0_2_2.html
│ │ │ │ │ │ ├── Test0_2_3.html
│ │ │ │ │ │ ├── Test0_2_4.html
│ │ │ │ │ │ ├── Test0_2_5.html
│ │ │ │ │ │ ├── Test0_2_6.html
│ │ │ │ │ │ ├── Test0_2_7.html
│ │ │ │ │ │ ├── Test0_3_0.html
│ │ │ │ │ │ ├── Test0_3_1.html
│ │ │ │ │ │ ├── Test0_3_2.html
│ │ │ │ │ │ ├── Test0_3_3.html
│ │ │ │ │ │ ├── Test0_3_4.html
│ │ │ │ │ │ ├── Test0_3_5.html
│ │ │ │ │ │ ├── Test0_3_6.html
│ │ │ │ │ │ ├── Test0_3_7.html
│ │ │ │ │ │ ├── Test1_0_0.html
│ │ │ │ │ │ ├── Test1_0_1.html
│ │ │ │ │ │ ├── Test1_0_2.html
│ │ │ │ │ │ ├── Test1_0_3.html
│ │ │ │ │ │ ├── Test1_0_4.html
│ │ │ │ │ │ ├── Test1_0_5.html
│ │ │ │ │ │ ├── Test1_0_6.html
│ │ │ │ │ │ ├── Test1_0_7.html
│ │ │ │ │ │ ├── Test1_1_0.html
│ │ │ │ │ │ ├── Test1_1_1.html
│ │ │ │ │ │ ├── Test1_1_2.html
│ │ │ │ │ │ ├── Test1_1_3.html
│ │ │ │ │ │ ├── Test1_1_4.html
│ │ │ │ │ │ ├── Test1_1_5.html
│ │ │ │ │ │ ├── Test1_1_6.html
│ │ │ │ │ │ ├── Test1_1_7.html
│ │ │ │ │ │ ├── Test1_2_0.html
│ │ │ │ │ │ ├── Test1_2_1.html
│ │ │ │ │ │ ├── Test1_2_2.html
│ │ │ │ │ │ ├── Test1_2_3.html
│ │ │ │ │ │ ├── Test1_2_4.html
│ │ │ │ │ │ ├── Test1_2_5.html
│ │ │ │ │ │ ├── Test1_2_6.html
│ │ │ │ │ │ ├── Test1_2_7.html
│ │ │ │ │ │ ├── Test1_3_0.html
│ │ │ │ │ │ ├── Test1_3_1.html
│ │ │ │ │ │ ├── Test1_3_2.html
│ │ │ │ │ │ ├── Test1_3_3.html
│ │ │ │ │ │ ├── Test1_3_4.html
│ │ │ │ │ │ ├── Test1_3_5.html
│ │ │ │ │ │ ├── Test1_3_6.html
│ │ │ │ │ │ ├── Test1_3_7.html
│ │ │ │ │ │ ├── Test2_0_0.html
│ │ │ │ │ │ ├── Test2_0_1.html
│ │ │ │ │ │ ├── Test2_0_2.html
│ │ │ │ │ │ ├── Test2_0_3.html
│ │ │ │ │ │ ├── Test2_0_4.html
│ │ │ │ │ │ ├── Test2_0_5.html
│ │ │ │ │ │ ├── Test2_0_6.html
│ │ │ │ │ │ ├── Test2_0_7.html
│ │ │ │ │ │ ├── Test2_1_0.html
│ │ │ │ │ │ ├── Test2_1_1.html
│ │ │ │ │ │ ├── Test2_1_2.html
│ │ │ │ │ │ ├── Test2_1_3.html
│ │ │ │ │ │ ├── Test2_1_4.html
│ │ │ │ │ │ ├── Test2_1_5.html
│ │ │ │ │ │ ├── Test2_1_6.html
│ │ │ │ │ │ ├── Test2_1_7.html
│ │ │ │ │ │ ├── Test2_2_0.html
│ │ │ │ │ │ ├── Test2_2_1.html
│ │ │ │ │ │ ├── Test2_2_2.html
│ │ │ │ │ │ ├── Test2_2_3.html
│ │ │ │ │ │ ├── Test2_2_4.html
│ │ │ │ │ │ ├── Test2_2_5.html
│ │ │ │ │ │ ├── Test2_2_6.html
│ │ │ │ │ │ ├── Test2_2_7.html
│ │ │ │ │ │ ├── Test2_3_0.html
│ │ │ │ │ │ ├── Test2_3_1.html
│ │ │ │ │ │ ├── Test2_3_2.html
│ │ │ │ │ │ ├── Test2_3_3.html
│ │ │ │ │ │ ├── Test2_3_4.html
│ │ │ │ │ │ ├── Test2_3_5.html
│ │ │ │ │ │ ├── Test2_3_6.html
│ │ │ │ │ │ ├── Test2_3_7.html
│ │ │ │ │ │ └── user.data
│ │ │ │ │ ├── gen_manifest.py
│ │ │ │ │ ├── manifest.json
│ │ │ │ │ ├── pubspec.yaml
│ │ │ │ │ ├── swarm-dev.pem
│ │ │ │ │ ├── swarm.css
│ │ │ │ │ ├── swarm.dart
│ │ │ │ │ ├── swarm.html
│ │ │ │ │ ├── swarm.scss
│ │ │ │ │ ├── swarm_ui_lib/
│ │ │ │ │ │ ├── base/
│ │ │ │ │ │ │ ├── AnimationScheduler.dart
│ │ │ │ │ │ │ ├── Device.dart
│ │ │ │ │ │ │ ├── DomWrapper.dart
│ │ │ │ │ │ │ ├── Env.dart
│ │ │ │ │ │ │ ├── Size.dart
│ │ │ │ │ │ │ └── base.dart
│ │ │ │ │ │ ├── layout/
│ │ │ │ │ │ │ ├── GridLayout.dart
│ │ │ │ │ │ │ ├── GridLayoutParams.dart
│ │ │ │ │ │ │ ├── GridLayoutParser.dart
│ │ │ │ │ │ │ ├── GridTracks.dart
│ │ │ │ │ │ │ ├── SizingFunctions.dart
│ │ │ │ │ │ │ ├── ViewLayout.dart
│ │ │ │ │ │ │ └── layout.dart
│ │ │ │ │ │ ├── observable/
│ │ │ │ │ │ │ ├── ChangeEvent.dart
│ │ │ │ │ │ │ ├── EventBatch.dart
│ │ │ │ │ │ │ └── observable.dart
│ │ │ │ │ │ ├── touch/
│ │ │ │ │ │ │ ├── BezierPhysics.dart
│ │ │ │ │ │ │ ├── ClickBuster.dart
│ │ │ │ │ │ │ ├── EventUtil.dart
│ │ │ │ │ │ │ ├── FxUtil.dart
│ │ │ │ │ │ │ ├── Geometry.dart
│ │ │ │ │ │ │ ├── InfiniteScroller.dart
│ │ │ │ │ │ │ ├── Math.dart
│ │ │ │ │ │ │ ├── Momentum.dart
│ │ │ │ │ │ │ ├── ScrollWatcher.dart
│ │ │ │ │ │ │ ├── Scrollbar.dart
│ │ │ │ │ │ │ ├── Scroller.dart
│ │ │ │ │ │ │ ├── TimeUtil.dart
│ │ │ │ │ │ │ ├── TouchHandler.dart
│ │ │ │ │ │ │ ├── TouchUtil.dart
│ │ │ │ │ │ │ ├── resources/
│ │ │ │ │ │ │ │ └── touch.css
│ │ │ │ │ │ │ └── touch.dart
│ │ │ │ │ │ ├── util/
│ │ │ │ │ │ │ ├── CollectionUtils.dart
│ │ │ │ │ │ │ ├── DateUtils.dart
│ │ │ │ │ │ │ ├── StringUtils.dart
│ │ │ │ │ │ │ ├── Uri.dart
│ │ │ │ │ │ │ └── utilslib.dart
│ │ │ │ │ │ └── view/
│ │ │ │ │ │ ├── CompositeView.dart
│ │ │ │ │ │ ├── ConveyorView.dart
│ │ │ │ │ │ ├── MeasureText.dart
│ │ │ │ │ │ ├── PagedViews.dart
│ │ │ │ │ │ ├── SliderMenu.dart
│ │ │ │ │ │ ├── resources/
│ │ │ │ │ │ │ └── view.css
│ │ │ │ │ │ └── view.dart
│ │ │ │ │ ├── swarmlib.dart
│ │ │ │ │ └── update.py
│ │ │ │ ├── custom_split/
│ │ │ │ │ ├── constraint_harness.dart
│ │ │ │ │ ├── custom_split_test.dart
│ │ │ │ │ └── data/
│ │ │ │ │ ├── diamond/
│ │ │ │ │ │ ├── constraints.dart
│ │ │ │ │ │ ├── constraints.json
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ ├── shared.dart
│ │ │ │ │ │ ├── step1.dart
│ │ │ │ │ │ ├── step2a.dart
│ │ │ │ │ │ ├── step2b.dart
│ │ │ │ │ │ └── step3.dart
│ │ │ │ │ ├── diamond_and/
│ │ │ │ │ │ ├── constraints.dart
│ │ │ │ │ │ ├── constraints.json
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ ├── shared.dart
│ │ │ │ │ │ ├── step1.dart
│ │ │ │ │ │ ├── step2a.dart
│ │ │ │ │ │ ├── step2b.dart
│ │ │ │ │ │ └── step3.dart
│ │ │ │ │ ├── diamond_fuse/
│ │ │ │ │ │ ├── constraints.dart
│ │ │ │ │ │ ├── constraints.json
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ ├── shared.dart
│ │ │ │ │ │ ├── step1.dart
│ │ │ │ │ │ ├── step2a.dart
│ │ │ │ │ │ ├── step2b.dart
│ │ │ │ │ │ └── step3.dart
│ │ │ │ │ ├── diamond_or/
│ │ │ │ │ │ ├── constraints.dart
│ │ │ │ │ │ ├── constraints.json
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ ├── shared.dart
│ │ │ │ │ │ ├── step1.dart
│ │ │ │ │ │ ├── step2a.dart
│ │ │ │ │ │ ├── step2b.dart
│ │ │ │ │ │ └── step3.dart
│ │ │ │ │ ├── fuse_with_and/
│ │ │ │ │ │ ├── constraints.dart
│ │ │ │ │ │ ├── constraints.json
│ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ ├── lib2.dart
│ │ │ │ │ │ ├── lib3.dart
│ │ │ │ │ │ ├── lib4.dart
│ │ │ │ │ │ ├── libImport.dart
│ │ │ │ │ │ ├── lib_000_1.dart
│ │ │ │ │ │ ├── lib_001_0.dart
│ │ │ │ │ │ ├── lib_010_0.dart
│ │ │ │ │ │ ├── lib_100_0.dart
│ │ │ │ │ │ └── main.dart
│ │ │ │ │ ├── fuse_with_or/
│ │ │ │ │ │ ├── constraints.dart
│ │ │ │ │ │ ├── constraints.json
│ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ ├── lib2.dart
│ │ │ │ │ │ ├── lib3.dart
│ │ │ │ │ │ ├── lib4.dart
│ │ │ │ │ │ ├── libImport.dart
│ │ │ │ │ │ ├── lib_000_1.dart
│ │ │ │ │ │ ├── lib_001_0.dart
│ │ │ │ │ │ ├── lib_010_0.dart
│ │ │ │ │ │ ├── lib_100_0.dart
│ │ │ │ │ │ └── main.dart
│ │ │ │ │ ├── just_fuse/
│ │ │ │ │ │ ├── constraints.dart
│ │ │ │ │ │ ├── constraints.json
│ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ ├── lib2.dart
│ │ │ │ │ │ ├── lib3.dart
│ │ │ │ │ │ ├── lib4.dart
│ │ │ │ │ │ ├── libImport.dart
│ │ │ │ │ │ ├── lib_000_1.dart
│ │ │ │ │ │ ├── lib_001_0.dart
│ │ │ │ │ │ ├── lib_010_0.dart
│ │ │ │ │ │ ├── lib_100_0.dart
│ │ │ │ │ │ └── main.dart
│ │ │ │ │ ├── marker.options
│ │ │ │ │ ├── two_branch/
│ │ │ │ │ │ ├── constraints.dart
│ │ │ │ │ │ ├── constraints.json
│ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ ├── shared.dart
│ │ │ │ │ │ ├── step1.dart
│ │ │ │ │ │ ├── step2a.dart
│ │ │ │ │ │ └── step2b.dart
│ │ │ │ │ └── two_step/
│ │ │ │ │ ├── constraints.dart
│ │ │ │ │ ├── constraints.json
│ │ │ │ │ ├── main.dart
│ │ │ │ │ ├── shared.dart
│ │ │ │ │ ├── step1.dart
│ │ │ │ │ ├── step2.dart
│ │ │ │ │ └── step3.dart
│ │ │ │ ├── deferred/
│ │ │ │ │ ├── closures_test.dart
│ │ │ │ │ ├── constant_emission_test_helper.dart
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── deferred_helper.dart
│ │ │ │ │ │ └── deferred_lib.dart
│ │ │ │ │ ├── deferred_constant3_test.dart
│ │ │ │ │ ├── dont_inline_deferred_constants_test.dart
│ │ │ │ │ ├── dont_inline_deferred_globals_test.dart
│ │ │ │ │ ├── emit_type_checks_test.dart
│ │ │ │ │ ├── follow_constant_dependencies_test.dart
│ │ │ │ │ ├── follow_implicit_super_regression_test.dart
│ │ │ │ │ ├── inline_restrictions_test.dart
│ │ │ │ │ ├── load_graph_segmentation2_test.dart
│ │ │ │ │ ├── load_graph_segmentation_test.dart
│ │ │ │ │ ├── load_mapping_test.dart
│ │ │ │ │ ├── not_in_main_test.dart
│ │ │ │ │ └── unneeded_part_js_test.dart
│ │ │ │ ├── deferred_loading/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── basic_deferred/
│ │ │ │ │ │ │ ├── lib.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── components/
│ │ │ │ │ │ │ ├── libA.dart
│ │ │ │ │ │ │ ├── libB.dart
│ │ │ │ │ │ │ ├── libBCDE.dart
│ │ │ │ │ │ │ ├── libC.dart
│ │ │ │ │ │ │ ├── libD.dart
│ │ │ │ │ │ │ ├── libE.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── deferred_class/
│ │ │ │ │ │ │ ├── lib.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── deferred_constant1/
│ │ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ │ ├── lib2.dart
│ │ │ │ │ │ │ ├── lib3.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── deferred_constant2/
│ │ │ │ │ │ │ ├── lib.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── deferred_constant3/
│ │ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ │ ├── lib2.dart
│ │ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ │ └── shared.dart
│ │ │ │ │ │ ├── deferred_fail_and_retry/
│ │ │ │ │ │ │ ├── lib.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── deferred_function/
│ │ │ │ │ │ │ ├── lib.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── deferred_overlapping/
│ │ │ │ │ │ │ ├── deferred_overlapping_lib3.dart
│ │ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ │ ├── lib2.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── deferred_typed_map/
│ │ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── deferred_typedef/
│ │ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── dont_inline_deferred_constants/
│ │ │ │ │ │ │ ├── exported_main.dart
│ │ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ │ ├── lib2.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── dont_inline_deferred_global/
│ │ │ │ │ │ │ ├── lib.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── follow_implicit_super_regression_test/
│ │ │ │ │ │ │ ├── lib.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── future_or/
│ │ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ │ ├── lib2.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── instantiation0/
│ │ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── instantiation1/
│ │ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ │ ├── lib2.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── instantiation2/
│ │ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ │ ├── lib2.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── instantiation3/
│ │ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── instantiation4/
│ │ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ │ ├── lib2.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── instantiation5/
│ │ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ │ ├── lib2.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── interface_type_variable/
│ │ │ │ │ │ │ ├── lib.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── lazy_types/
│ │ │ │ │ │ │ ├── lib.dart
│ │ │ │ │ │ │ ├── liba.dart
│ │ │ │ │ │ │ ├── libb.dart
│ │ │ │ │ │ │ ├── libc.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── many_parts/
│ │ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ │ ├── lib2.dart
│ │ │ │ │ │ │ ├── lib3.dart
│ │ │ │ │ │ │ ├── lib4.dart
│ │ │ │ │ │ │ ├── lib5.dart
│ │ │ │ │ │ │ ├── libB.dart
│ │ │ │ │ │ │ ├── lib_000_01.dart
│ │ │ │ │ │ │ ├── lib_000_10.dart
│ │ │ │ │ │ │ ├── lib_001_00.dart
│ │ │ │ │ │ │ ├── lib_010_00.dart
│ │ │ │ │ │ │ ├── lib_100_00.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── regress_35311/
│ │ │ │ │ │ │ ├── lib.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── regress_43055/
│ │ │ │ │ │ │ ├── libb.dart
│ │ │ │ │ │ │ ├── libc.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── regress_49851/
│ │ │ │ │ │ │ ├── lib.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── shadowed_types/
│ │ │ │ │ │ │ ├── lib_shared.dart
│ │ │ │ │ │ │ ├── liba.dart
│ │ │ │ │ │ │ ├── libb.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── shared_constant/
│ │ │ │ │ │ │ ├── lib_a.dart
│ │ │ │ │ │ │ ├── lib_b.dart
│ │ │ │ │ │ │ ├── lib_c.dart
│ │ │ │ │ │ │ ├── main.dart
│ │ │ │ │ │ │ └── shared.dart
│ │ │ │ │ │ ├── static_separate/
│ │ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ │ ├── lib2.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── type_argument_dependency/
│ │ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ │ ├── lib2.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── type_arguments/
│ │ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ │ ├── lib2.dart
│ │ │ │ │ │ │ ├── lib3.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ └── uninstantiated_type_variable/
│ │ │ │ │ │ ├── lib.dart
│ │ │ │ │ │ └── main.dart
│ │ │ │ │ ├── deferred_loading_test.dart
│ │ │ │ │ └── deferred_loading_test_helper.dart
│ │ │ │ ├── dump_info/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── closures.dart
│ │ │ │ │ │ ├── deferred/
│ │ │ │ │ │ │ ├── lib.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── deferred_future/
│ │ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ │ ├── lib2.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── js_members.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ └── members.dart
│ │ │ │ │ ├── data_new/
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ └── mixin_with_tearoff_test.dart
│ │ │ │ │ ├── dump_info_new_regression_test.dart
│ │ │ │ │ ├── dump_info_new_test.dart
│ │ │ │ │ └── dump_info_test.dart
│ │ │ │ ├── end_to_end/
│ │ │ │ │ ├── all_native_test.dart
│ │ │ │ │ ├── command_line_split_test.dart
│ │ │ │ │ ├── command_line_test.dart
│ │ │ │ │ ├── dart2js_batch2_test.dart
│ │ │ │ │ ├── dart2js_batch_test.dart
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── dart2js_batch2_run.dart
│ │ │ │ │ │ ├── exit_code_helper.dart
│ │ │ │ │ │ └── hello_world.dart
│ │ │ │ │ ├── dill_loader_test.dart
│ │ │ │ │ ├── dump_info2_test.dart
│ │ │ │ │ ├── dump_info_test.dart
│ │ │ │ │ ├── exit_code_test.dart
│ │ │ │ │ ├── feature_options_test.dart
│ │ │ │ │ ├── launch_helper.dart
│ │ │ │ │ ├── modular_loader_test.dart
│ │ │ │ │ ├── no_platform_test.dart
│ │ │ │ │ ├── output_type_test.dart
│ │ │ │ │ ├── trim_component_test.dart
│ │ │ │ │ └── user_crash_test.dart
│ │ │ │ ├── equivalence/
│ │ │ │ │ ├── check_functions.dart
│ │ │ │ │ ├── check_helpers.dart
│ │ │ │ │ ├── id_equivalence.dart
│ │ │ │ │ ├── id_equivalence_helper.dart
│ │ │ │ │ ├── id_testing_test.dart
│ │ │ │ │ └── show_helper.dart
│ │ │ │ ├── field_analysis/
│ │ │ │ │ ├── jdata/
│ │ │ │ │ │ ├── constant_fields.dart
│ │ │ │ │ │ ├── dynamic_set.dart
│ │ │ │ │ │ ├── effectively_constant_state.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── multi_initializers.dart
│ │ │ │ │ │ ├── optional_parameters.dart
│ │ │ │ │ │ ├── regress_36222.dart
│ │ │ │ │ │ ├── simple_initializers.dart
│ │ │ │ │ │ ├── static_initializers.dart
│ │ │ │ │ │ └── unused_constructors.dart
│ │ │ │ │ ├── jfield_analysis_test.dart
│ │ │ │ │ ├── kdata/
│ │ │ │ │ │ ├── constant_fields.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── multi_initializers.dart
│ │ │ │ │ │ ├── optional_parameters.dart
│ │ │ │ │ │ ├── regress_36222.dart
│ │ │ │ │ │ ├── side_effects.dart
│ │ │ │ │ │ ├── simple_initializers.dart
│ │ │ │ │ │ └── static_initializers.dart
│ │ │ │ │ └── kfield_analysis_test.dart
│ │ │ │ ├── generic_methods/
│ │ │ │ │ ├── function_type_variable_test.dart
│ │ │ │ │ ├── generic_method_test.dart
│ │ │ │ │ ├── generic_method_type_test.dart
│ │ │ │ │ ├── instantiation_stub_test.dart
│ │ │ │ │ └── world_test.dart
│ │ │ │ ├── helpers/
│ │ │ │ │ ├── args_helper.dart
│ │ │ │ │ ├── compiler_helper.dart
│ │ │ │ │ ├── d8_helper.dart
│ │ │ │ │ ├── element_lookup.dart
│ │ │ │ │ ├── ir_types.dart
│ │ │ │ │ ├── link_helper.dart
│ │ │ │ │ ├── program_lookup.dart
│ │ │ │ │ ├── shared_helper.dart
│ │ │ │ │ ├── text_helpers.dart
│ │ │ │ │ └── type_test_helper.dart
│ │ │ │ ├── impact/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── as.dart
│ │ │ │ │ │ ├── async.dart
│ │ │ │ │ │ ├── classes.dart
│ │ │ │ │ │ ├── constants/
│ │ │ │ │ │ │ ├── lib.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── constructors.dart
│ │ │ │ │ │ ├── effectively_final.dart
│ │ │ │ │ │ ├── exact.dart
│ │ │ │ │ │ ├── expressions.dart
│ │ │ │ │ │ ├── extract_type_arguments.dart
│ │ │ │ │ │ ├── future_or.dart
│ │ │ │ │ │ ├── initializers.dart
│ │ │ │ │ │ ├── injected_cast.dart
│ │ │ │ │ │ ├── invokes.dart
│ │ │ │ │ │ ├── issue230108748.dart
│ │ │ │ │ │ ├── issue48304.dart
│ │ │ │ │ │ ├── jsinterop.dart
│ │ │ │ │ │ ├── jsinterop_setter1.dart
│ │ │ │ │ │ ├── jsinterop_setter2.dart
│ │ │ │ │ │ ├── literals.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── native.dart
│ │ │ │ │ │ ├── promotion.dart
│ │ │ │ │ │ ├── runtime_type.dart
│ │ │ │ │ │ ├── statements.dart
│ │ │ │ │ │ └── this.dart
│ │ │ │ │ └── impact_test.dart
│ │ │ │ ├── inference/
│ │ │ │ │ ├── callers/
│ │ │ │ │ │ ├── field_access.dart
│ │ │ │ │ │ └── marker.options
│ │ │ │ │ ├── callers_test.dart
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── abstract_method.dart
│ │ │ │ │ │ ├── and_or.dart
│ │ │ │ │ │ ├── as.dart
│ │ │ │ │ │ ├── assert.dart
│ │ │ │ │ │ ├── assert_ea.dart
│ │ │ │ │ │ ├── assert_initializer.dart
│ │ │ │ │ │ ├── assert_initializer_ea.dart
│ │ │ │ │ │ ├── assert_message_throw.dart
│ │ │ │ │ │ ├── assert_message_throw_ea.dart
│ │ │ │ │ │ ├── assign_op.dart
│ │ │ │ │ │ ├── async_marker.dart
│ │ │ │ │ │ ├── await.dart
│ │ │ │ │ │ ├── break_continue.dart
│ │ │ │ │ │ ├── call_in_loop.dart
│ │ │ │ │ │ ├── call_method_function_typed_value.dart
│ │ │ │ │ │ ├── call_site.dart
│ │ │ │ │ │ ├── catch.dart
│ │ │ │ │ │ ├── closure.dart
│ │ │ │ │ │ ├── closure2.dart
│ │ │ │ │ │ ├── closure_tracer.dart
│ │ │ │ │ │ ├── closure_tracer_28919.dart
│ │ │ │ │ │ ├── closurization_instance.dart
│ │ │ │ │ │ ├── closurization_instance_call.dart
│ │ │ │ │ │ ├── closurization_local_call.dart
│ │ │ │ │ │ ├── closurization_static.dart
│ │ │ │ │ │ ├── closurization_static_call.dart
│ │ │ │ │ │ ├── conditional.dart
│ │ │ │ │ │ ├── const_closure.dart
│ │ │ │ │ │ ├── const_closure2.dart
│ │ │ │ │ │ ├── const_closure3.dart
│ │ │ │ │ │ ├── const_closure4.dart
│ │ │ │ │ │ ├── const_closure5.dart
│ │ │ │ │ │ ├── const_closure_default.dart
│ │ │ │ │ │ ├── container_mask_equal.dart
│ │ │ │ │ │ ├── default_value.dart
│ │ │ │ │ │ ├── deferred_load.dart
│ │ │ │ │ │ ├── deferred_load_get.dart
│ │ │ │ │ │ ├── dictionary_types.dart
│ │ │ │ │ │ ├── do.dart
│ │ │ │ │ │ ├── enum.dart
│ │ │ │ │ │ ├── expose_this.dart
│ │ │ │ │ │ ├── expose_this_closure.dart
│ │ │ │ │ │ ├── expose_this_field.dart
│ │ │ │ │ │ ├── expose_this_mask.dart
│ │ │ │ │ │ ├── expose_this_super.dart
│ │ │ │ │ │ ├── factory.dart
│ │ │ │ │ │ ├── field_type.dart
│ │ │ │ │ │ ├── fields.dart
│ │ │ │ │ │ ├── final_field.dart
│ │ │ │ │ │ ├── final_field2.dart
│ │ │ │ │ │ ├── final_field3.dart
│ │ │ │ │ │ ├── finalized_type_variable.dart
│ │ │ │ │ │ ├── for.dart
│ │ │ │ │ │ ├── for_in.dart
│ │ │ │ │ │ ├── foreign.dart
│ │ │ │ │ │ ├── general.dart
│ │ │ │ │ │ ├── general6.dart
│ │ │ │ │ │ ├── general7.dart
│ │ │ │ │ │ ├── general7_ea.dart
│ │ │ │ │ │ ├── general8a.dart
│ │ │ │ │ │ ├── general8b.dart
│ │ │ │ │ │ ├── global_field_closure.dart
│ │ │ │ │ │ ├── global_field_closure2.dart
│ │ │ │ │ │ ├── if.dart
│ │ │ │ │ │ ├── if_null.dart
│ │ │ │ │ │ ├── index.dart
│ │ │ │ │ │ ├── index_call.dart
│ │ │ │ │ │ ├── index_postfix.dart
│ │ │ │ │ │ ├── index_set.dart
│ │ │ │ │ │ ├── init_get.dart
│ │ │ │ │ │ ├── initializer.dart
│ │ │ │ │ │ ├── instance.dart
│ │ │ │ │ │ ├── issue13354.dart
│ │ │ │ │ │ ├── issue48304.dart
│ │ │ │ │ │ ├── issue_46770.dart
│ │ │ │ │ │ ├── issue_48571.dart
│ │ │ │ │ │ ├── js_interop.dart
│ │ │ │ │ │ ├── late_field.dart
│ │ │ │ │ │ ├── list.dart
│ │ │ │ │ │ ├── list2.dart
│ │ │ │ │ │ ├── list_huge.dart
│ │ │ │ │ │ ├── list_js.dart
│ │ │ │ │ │ ├── list_tracer2.dart
│ │ │ │ │ │ ├── list_tracer3.dart
│ │ │ │ │ │ ├── list_tracer_typed_data_length.dart
│ │ │ │ │ │ ├── local_functions.dart
│ │ │ │ │ │ ├── local_functions_call.dart
│ │ │ │ │ │ ├── locals.dart
│ │ │ │ │ │ ├── locals_trust.dart
│ │ │ │ │ │ ├── logical.dart
│ │ │ │ │ │ ├── logical_if.dart
│ │ │ │ │ │ ├── map.dart
│ │ │ │ │ │ ├── map_tracer_const.dart
│ │ │ │ │ │ ├── map_tracer_keys.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── mixin_constructor_default_parameter_values/
│ │ │ │ │ │ │ ├── lib.dart
│ │ │ │ │ │ │ └── main.dart
│ │ │ │ │ │ ├── narrowing.dart
│ │ │ │ │ │ ├── native.dart
│ │ │ │ │ │ ├── native2.dart
│ │ │ │ │ │ ├── native3.dart
│ │ │ │ │ │ ├── new.dart
│ │ │ │ │ │ ├── no_such_method.dart
│ │ │ │ │ │ ├── no_such_method1.dart
│ │ │ │ │ │ ├── no_such_method2.dart
│ │ │ │ │ │ ├── no_such_method3.dart
│ │ │ │ │ │ ├── no_such_method4.dart
│ │ │ │ │ │ ├── non_null.dart
│ │ │ │ │ │ ├── null.dart
│ │ │ │ │ │ ├── optimizer_hints.dart
│ │ │ │ │ │ ├── parameters_trust.dart
│ │ │ │ │ │ ├── postfix.dart
│ │ │ │ │ │ ├── postfix_prefix.dart
│ │ │ │ │ │ ├── prefix.dart
│ │ │ │ │ │ ├── record_1.dart
│ │ │ │ │ │ ├── record_2.dart
│ │ │ │ │ │ ├── record_3.dart
│ │ │ │ │ │ ├── record_4.dart
│ │ │ │ │ │ ├── refine_captured_locals.dart
│ │ │ │ │ │ ├── refine_locals.dart
│ │ │ │ │ │ ├── refine_order.dart
│ │ │ │ │ │ ├── return.dart
│ │ │ │ │ │ ├── shift_right_unsigned.dart
│ │ │ │ │ │ ├── simple.dart
│ │ │ │ │ │ ├── static.dart
│ │ │ │ │ │ ├── static_get.dart
│ │ │ │ │ │ ├── static_set.dart
│ │ │ │ │ │ ├── static_type.dart
│ │ │ │ │ │ ├── super_get.dart
│ │ │ │ │ │ ├── super_invoke.dart
│ │ │ │ │ │ ├── super_set.dart
│ │ │ │ │ │ ├── switch.dart
│ │ │ │ │ │ ├── switch1.dart
│ │ │ │ │ │ ├── switch2.dart
│ │ │ │ │ │ ├── switch5.dart
│ │ │ │ │ │ ├── switch6.dart
│ │ │ │ │ │ ├── throw.dart
│ │ │ │ │ │ ├── try.dart
│ │ │ │ │ │ ├── try_catch.dart
│ │ │ │ │ │ ├── type_literal.dart
│ │ │ │ │ │ ├── unregister_call.dart
│ │ │ │ │ │ ├── use_static_types.dart
│ │ │ │ │ │ ├── while.dart
│ │ │ │ │ │ └── yield.dart
│ │ │ │ │ ├── inference0_test.dart
│ │ │ │ │ ├── inference1_test.dart
│ │ │ │ │ ├── inference2_test.dart
│ │ │ │ │ ├── inference3_test.dart
│ │ │ │ │ ├── inference_data/
│ │ │ │ │ │ ├── called_in_loop.dart
│ │ │ │ │ │ ├── cannot_throw.dart
│ │ │ │ │ │ ├── function_apply.dart
│ │ │ │ │ │ ├── function_apply_record.dart
│ │ │ │ │ │ └── marker.options
│ │ │ │ │ ├── inference_data_test.dart
│ │ │ │ │ ├── inference_test_helper.dart
│ │ │ │ │ ├── list_tracer_test.dart
│ │ │ │ │ ├── load_deferred_library_test.dart
│ │ │ │ │ ├── map_tracer_test.dart
│ │ │ │ │ ├── null_flat_type_mask_test.dart
│ │ │ │ │ ├── powerset_bits2_test.dart
│ │ │ │ │ ├── powerset_bits3_test.dart
│ │ │ │ │ ├── powerset_bits_test.dart
│ │ │ │ │ ├── record_type_test.dart
│ │ │ │ │ ├── show.dart
│ │ │ │ │ ├── side_effects/
│ │ │ │ │ │ ├── annotations.dart
│ │ │ │ │ │ ├── foreign.dart
│ │ │ │ │ │ ├── local_functions.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── methods.dart
│ │ │ │ │ │ ├── out_of_order.dart
│ │ │ │ │ │ └── string_interpolation.dart
│ │ │ │ │ ├── side_effects_test.dart
│ │ │ │ │ ├── trivial_abstract_value_domain_test.dart
│ │ │ │ │ ├── type_combination_test.dart
│ │ │ │ │ ├── type_mask2_test.dart
│ │ │ │ │ ├── type_mask_disjoint_test.dart
│ │ │ │ │ ├── type_mask_test.dart
│ │ │ │ │ ├── type_mask_test_helper.dart
│ │ │ │ │ └── union_type_test.dart
│ │ │ │ ├── inlining/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── conditional.dart
│ │ │ │ │ │ ├── constructor.dart
│ │ │ │ │ │ ├── dynamic.dart
│ │ │ │ │ │ ├── external.dart
│ │ │ │ │ │ ├── force_inline.dart
│ │ │ │ │ │ ├── force_inline_loops.dart
│ │ │ │ │ │ ├── heuristics.dart
│ │ │ │ │ │ ├── map.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── meta.dart
│ │ │ │ │ │ ├── native.dart
│ │ │ │ │ │ ├── nested.dart
│ │ │ │ │ │ ├── setter.dart
│ │ │ │ │ │ ├── static_initializer.dart
│ │ │ │ │ │ ├── switch.dart
│ │ │ │ │ │ ├── too_difficult.dart
│ │ │ │ │ │ └── type_variables.dart
│ │ │ │ │ ├── inlining_test.dart
│ │ │ │ │ ├── inlining_viewer.dart
│ │ │ │ │ ├── meta_annotations2_test.dart
│ │ │ │ │ ├── meta_annotations3_test.dart
│ │ │ │ │ └── meta_annotations_test.dart
│ │ │ │ ├── js/
│ │ │ │ │ ├── debug_size_estimator.dart
│ │ │ │ │ ├── js_constant_test.dart
│ │ │ │ │ ├── js_parser_statements_test.dart
│ │ │ │ │ ├── js_parser_test.dart
│ │ │ │ │ ├── js_safety_test.dart
│ │ │ │ │ ├── js_size_estimator_test.dart
│ │ │ │ │ ├── js_spec_optimization_test.dart
│ │ │ │ │ ├── js_spec_string_test.dart
│ │ │ │ │ ├── js_throw_behavior_test.dart
│ │ │ │ │ └── size_estimator_expectations.json
│ │ │ │ ├── jsinterop/
│ │ │ │ │ ├── declaration_test.dart
│ │ │ │ │ ├── internal_annotations_test.dart
│ │ │ │ │ ├── interop_anonymous_unreachable_test.dart
│ │ │ │ │ └── world_test.dart
│ │ │ │ ├── jumps/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── complex_loops.dart
│ │ │ │ │ │ ├── labeled_statements.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── nested_loops.dart
│ │ │ │ │ │ ├── simple_loops.dart
│ │ │ │ │ │ └── switch.dart
│ │ │ │ │ └── jump_test.dart
│ │ │ │ ├── member_usage/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── constant_folding.dart
│ │ │ │ │ │ ├── constructors.dart
│ │ │ │ │ │ ├── fields.dart
│ │ │ │ │ │ ├── general.dart
│ │ │ │ │ │ ├── generic.dart
│ │ │ │ │ │ ├── instance_method_parameters.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── native.dart
│ │ │ │ │ │ ├── static_method_parameters.dart
│ │ │ │ │ │ └── super.dart
│ │ │ │ │ └── member_usage_test.dart
│ │ │ │ ├── model/
│ │ │ │ │ ├── call_structure_namer_test.dart
│ │ │ │ │ ├── cfe_annotations_test.dart
│ │ │ │ │ ├── cfe_constant_evaluation_test.dart
│ │ │ │ │ ├── cfe_constant_swarm_test.dart
│ │ │ │ │ ├── cfe_constant_test.dart
│ │ │ │ │ ├── class_set_test.dart
│ │ │ │ │ ├── constant_value_test.dart
│ │ │ │ │ ├── enqueuer_test.dart
│ │ │ │ │ ├── enumset_test.dart
│ │ │ │ │ ├── forwarding_stub_test.dart
│ │ │ │ │ ├── future_or_test.dart
│ │ │ │ │ ├── instantiated_classes_test.dart
│ │ │ │ │ ├── link_test.dart
│ │ │ │ │ ├── maplet_test.dart
│ │ │ │ │ ├── mixin_typevariable_test.dart
│ │ │ │ │ ├── native_test.dart
│ │ │ │ │ ├── needs_no_such_method_test.dart
│ │ │ │ │ ├── no_such_method_enabled_test.dart
│ │ │ │ │ ├── no_such_method_forwarders_test.dart
│ │ │ │ │ ├── open_world_test.dart
│ │ │ │ │ ├── setlet_test.dart
│ │ │ │ │ ├── strong_mode_closed_world_test.dart
│ │ │ │ │ ├── strong_mode_impact_test.dart
│ │ │ │ │ ├── subtype_test.dart
│ │ │ │ │ ├── subtypeset_test.dart
│ │ │ │ │ ├── supermixin_test.dart
│ │ │ │ │ ├── token_naming_test.dart
│ │ │ │ │ ├── type_substitution_test.dart
│ │ │ │ │ └── world_test.dart
│ │ │ │ ├── optimization/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── arithmetic.dart
│ │ │ │ │ │ ├── arithmetic_simplification.dart
│ │ │ │ │ │ ├── bit.dart
│ │ │ │ │ │ ├── condition_value.dart
│ │ │ │ │ │ ├── effectively_constant_fields.dart
│ │ │ │ │ │ ├── field_get.dart
│ │ │ │ │ │ ├── field_set.dart
│ │ │ │ │ │ ├── finalized_type_variable.dart
│ │ │ │ │ │ ├── index.dart
│ │ │ │ │ │ ├── index_assign.dart
│ │ │ │ │ │ ├── late_fields.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── modulo_remainder.dart
│ │ │ │ │ │ ├── remove_last.dart
│ │ │ │ │ │ ├── shift_right_unsigned.dart
│ │ │ │ │ │ └── string_methods.dart
│ │ │ │ │ └── optimization_test.dart
│ │ │ │ ├── rti/
│ │ │ │ │ ├── backend_type_helper_test.dart
│ │ │ │ │ ├── bound_check_test.dart
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── as.dart
│ │ │ │ │ │ ├── async_foreach.dart
│ │ │ │ │ │ ├── async_foreach_nonasync.dart
│ │ │ │ │ │ ├── async_local.dart
│ │ │ │ │ │ ├── async_local_nonasync.dart
│ │ │ │ │ │ ├── async_local_typed.dart
│ │ │ │ │ │ ├── call_typed.dart
│ │ │ │ │ │ ├── call_typed_generic.dart
│ │ │ │ │ │ ├── closure.dart
│ │ │ │ │ │ ├── closure_generic_unneeded.dart
│ │ │ │ │ │ ├── closure_unneeded.dart
│ │ │ │ │ │ ├── dependency.dart
│ │ │ │ │ │ ├── direct.dart
│ │ │ │ │ │ ├── dynamic_is.dart
│ │ │ │ │ │ ├── dynamic_is2.dart
│ │ │ │ │ │ ├── dynamic_is_closure.dart
│ │ │ │ │ │ ├── dynamic_is_closure2.dart
│ │ │ │ │ │ ├── dynamic_not.dart
│ │ │ │ │ │ ├── dynamic_not2.dart
│ │ │ │ │ │ ├── dynamic_not_closure.dart
│ │ │ │ │ │ ├── dynamic_not_closure2.dart
│ │ │ │ │ │ ├── dynamic_tear_off.dart
│ │ │ │ │ │ ├── dynamic_tear_off2.dart
│ │ │ │ │ │ ├── dynamic_tear_off3.dart
│ │ │ │ │ │ ├── dynamic_tear_off4.dart
│ │ │ │ │ │ ├── dynamic_type_literal.dart
│ │ │ │ │ │ ├── dynamic_type_literal2.dart
│ │ │ │ │ │ ├── explicit_as.dart
│ │ │ │ │ │ ├── function_subtype_local5.dart
│ │ │ │ │ │ ├── future_or.dart
│ │ │ │ │ │ ├── future_or_future_or.dart
│ │ │ │ │ │ ├── future_or_future_or_generic.dart
│ │ │ │ │ │ ├── future_or_generic.dart
│ │ │ │ │ │ ├── future_or_generic2.dart
│ │ │ │ │ │ ├── generic_bounds.dart
│ │ │ │ │ │ ├── generic_class_instantiate.dart
│ │ │ │ │ │ ├── generic_class_is.dart
│ │ │ │ │ │ ├── generic_class_is2.dart
│ │ │ │ │ │ ├── generic_closure_instantiate.dart
│ │ │ │ │ │ ├── generic_creation.dart
│ │ │ │ │ │ ├── generic_instanceof4.dart
│ │ │ │ │ │ ├── generic_instanceof4_unused.dart
│ │ │ │ │ │ ├── generic_method1.dart
│ │ │ │ │ │ ├── generic_method2.dart
│ │ │ │ │ │ ├── generic_method3.dart
│ │ │ │ │ │ ├── generic_method4.dart
│ │ │ │ │ │ ├── generic_method_instantiate.dart
│ │ │ │ │ │ ├── generic_method_is.dart
│ │ │ │ │ │ ├── generic_method_is2.dart
│ │ │ │ │ │ ├── generic_method_tearoff.dart
│ │ │ │ │ │ ├── generic_methods_dynamic_05.dart
│ │ │ │ │ │ ├── generic_methods_dynamic_05a.dart
│ │ │ │ │ │ ├── implicit_as.dart
│ │ │ │ │ │ ├── indirect_through_static.dart
│ │ │ │ │ │ ├── indirect_type_literal.dart
│ │ │ │ │ │ ├── instantiated_type_literal.dart
│ │ │ │ │ │ ├── instantiation1.dart
│ │ │ │ │ │ ├── instantiation2.dart
│ │ │ │ │ │ ├── instantiation3.dart
│ │ │ │ │ │ ├── instantiation4.dart
│ │ │ │ │ │ ├── instantiation5.dart
│ │ │ │ │ │ ├── instantiation6.dart
│ │ │ │ │ │ ├── instantiation7.dart
│ │ │ │ │ │ ├── instantiation8.dart
│ │ │ │ │ │ ├── is_type_variable.dart
│ │ │ │ │ │ ├── is_type_variable_super.dart
│ │ │ │ │ │ ├── is_type_variable_super_complex.dart
│ │ │ │ │ │ ├── issue48304.dart
│ │ │ │ │ │ ├── list_literal.dart
│ │ │ │ │ │ ├── list_to_set.dart
│ │ │ │ │ │ ├── local_function_generic.dart
│ │ │ │ │ │ ├── local_function_list_literal.dart
│ │ │ │ │ │ ├── local_function_map_literal.dart
│ │ │ │ │ │ ├── local_function_signature2.dart
│ │ │ │ │ │ ├── local_function_signatures.dart
│ │ │ │ │ │ ├── local_function_signatures_generic.dart
│ │ │ │ │ │ ├── map_literal.dart
│ │ │ │ │ │ ├── map_to_set.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── method_signatures.dart
│ │ │ │ │ │ ├── method_signatures_generic.dart
│ │ │ │ │ │ ├── no_such_method1.dart
│ │ │ │ │ │ ├── no_such_method2.dart
│ │ │ │ │ │ ├── no_such_method3.dart
│ │ │ │ │ │ ├── pragma_directives_instance.dart
│ │ │ │ │ │ ├── pragma_directives_static.dart
│ │ │ │ │ │ ├── private_dynamic.dart
│ │ │ │ │ │ ├── private_dynamic2.dart
│ │ │ │ │ │ ├── runtime_type_closure_equals1.dart
│ │ │ │ │ │ ├── runtime_type_closure_equals2.dart
│ │ │ │ │ │ ├── runtime_type_closure_equals3.dart
│ │ │ │ │ │ ├── runtime_type_closure_equals4.dart
│ │ │ │ │ │ ├── runtime_type_closure_equals5.dart
│ │ │ │ │ │ ├── runtime_type_closure_equals6.dart
│ │ │ │ │ │ ├── runtime_type_closure_equals7.dart
│ │ │ │ │ │ ├── runtime_type_closure_equals8.dart
│ │ │ │ │ │ ├── runtime_type_closure_to_string1.dart
│ │ │ │ │ │ ├── runtime_type_closure_to_string2.dart
│ │ │ │ │ │ ├── runtime_type_closure_to_string3.dart
│ │ │ │ │ │ ├── runtime_type_closure_to_string4.dart
│ │ │ │ │ │ ├── runtime_type_closure_to_string5.dart
│ │ │ │ │ │ ├── runtime_type_closure_to_string6.dart
│ │ │ │ │ │ ├── runtime_type_equals1.dart
│ │ │ │ │ │ ├── runtime_type_equals2.dart
│ │ │ │ │ │ ├── runtime_type_equals3.dart
│ │ │ │ │ │ ├── runtime_type_equals4.dart
│ │ │ │ │ │ ├── runtime_type_equals5.dart
│ │ │ │ │ │ ├── runtime_type_equals6.dart
│ │ │ │ │ │ ├── runtime_type_equals7.dart
│ │ │ │ │ │ ├── runtime_type_instantiate_to_string1.dart
│ │ │ │ │ │ ├── runtime_type_instantiate_to_string2.dart
│ │ │ │ │ │ ├── runtime_type_instantiate_to_string3.dart
│ │ │ │ │ │ ├── runtime_type_to_string1.dart
│ │ │ │ │ │ ├── runtime_type_to_string2.dart
│ │ │ │ │ │ ├── runtime_type_to_string3.dart
│ │ │ │ │ │ ├── runtime_type_to_string4.dart
│ │ │ │ │ │ ├── runtime_type_to_string5.dart
│ │ │ │ │ │ ├── runtime_type_to_string6.dart
│ │ │ │ │ │ ├── runtime_type_to_string7.dart
│ │ │ │ │ │ ├── subclass.dart
│ │ │ │ │ │ ├── subclass_fixed.dart
│ │ │ │ │ │ ├── subtype_named_args.dart
│ │ │ │ │ │ ├── subtype_named_args1.dart
│ │ │ │ │ │ ├── superclass.dart
│ │ │ │ │ │ ├── tear_off.dart
│ │ │ │ │ │ ├── tear_off_generic.dart
│ │ │ │ │ │ ├── type_argument_substitution.dart
│ │ │ │ │ │ ├── type_literal.dart
│ │ │ │ │ │ ├── type_literal2.dart
│ │ │ │ │ │ ├── type_literal_generic.dart
│ │ │ │ │ │ └── type_variable_function_type.dart
│ │ │ │ │ ├── disable_rti_test.dart
│ │ │ │ │ ├── emission/
│ │ │ │ │ │ ├── arguments.dart
│ │ │ │ │ │ ├── call.dart
│ │ │ │ │ │ ├── call_typed.dart
│ │ │ │ │ │ ├── call_typed_generic.dart
│ │ │ │ │ │ ├── closure_function.dart
│ │ │ │ │ │ ├── closure_function_type.dart
│ │ │ │ │ │ ├── closure_signature.dart
│ │ │ │ │ │ ├── closure_signature_unneeded.dart
│ │ │ │ │ │ ├── constructor_argument_static.dart
│ │ │ │ │ │ ├── dynamic_instance.dart
│ │ │ │ │ │ ├── dynamic_type_argument.dart
│ │ │ │ │ │ ├── dynamic_type_literal.dart
│ │ │ │ │ │ ├── event_callback.dart
│ │ │ │ │ │ ├── fixed_type_argument.dart
│ │ │ │ │ │ ├── fixed_type_argument_implements.dart
│ │ │ │ │ │ ├── function_type_argument.dart
│ │ │ │ │ │ ├── function_typed_arguments.dart
│ │ │ │ │ │ ├── future_or.dart
│ │ │ │ │ │ ├── future_or_as_type_argument.dart
│ │ │ │ │ │ ├── future_or_future_or.dart
│ │ │ │ │ │ ├── future_or_future_or_generic.dart
│ │ │ │ │ │ ├── future_or_generic.dart
│ │ │ │ │ │ ├── future_or_generic2.dart
│ │ │ │ │ │ ├── future_or_type_argument.dart
│ │ │ │ │ │ ├── generic_instanceof4.dart
│ │ │ │ │ │ ├── generic_methods_dynamic_02.dart
│ │ │ │ │ │ ├── indirect_through_static.dart
│ │ │ │ │ │ ├── inherited_is.dart
│ │ │ │ │ │ ├── inherited_is2.dart
│ │ │ │ │ │ ├── instantiated_type_literal.dart
│ │ │ │ │ │ ├── jsinterop.dart
│ │ │ │ │ │ ├── jsinterop_generic.dart
│ │ │ │ │ │ ├── jsinterop_generic_factory_args.dart
│ │ │ │ │ │ ├── list.dart
│ │ │ │ │ │ ├── local_function_list_literal.dart
│ │ │ │ │ │ ├── local_function_map_literal.dart
│ │ │ │ │ │ ├── map_literal.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── mixin_mixin2.dart
│ │ │ │ │ │ ├── mixin_mixin4.dart
│ │ │ │ │ │ ├── mixin_subtype.dart
│ │ │ │ │ │ ├── mixin_type_arguments.dart
│ │ │ │ │ │ ├── native.dart
│ │ │ │ │ │ ├── optimized_is_check.dart
│ │ │ │ │ │ ├── pragma_directives_instance.dart
│ │ │ │ │ │ ├── pragma_directives_static.dart
│ │ │ │ │ │ ├── regress_18713.dart
│ │ │ │ │ │ ├── replaced_type_variable.dart
│ │ │ │ │ │ ├── runtime_type.dart
│ │ │ │ │ │ ├── runtime_type_instantiate_to_string1.dart
│ │ │ │ │ │ ├── runtime_type_instantiate_to_string2.dart
│ │ │ │ │ │ ├── runtime_type_instantiate_to_string3.dart
│ │ │ │ │ │ ├── self.dart
│ │ │ │ │ │ ├── self_generic.dart
│ │ │ │ │ │ ├── static_argument.dart
│ │ │ │ │ │ ├── subtype_named_args.dart
│ │ │ │ │ │ ├── superclass.dart
│ │ │ │ │ │ ├── superclass_as.dart
│ │ │ │ │ │ ├── superclass_complex.dart
│ │ │ │ │ │ ├── superclass_fixed.dart
│ │ │ │ │ │ ├── superclass_supertype.dart
│ │ │ │ │ │ ├── superclass_supertype_complex.dart
│ │ │ │ │ │ ├── superclass_supertype_fixed.dart
│ │ │ │ │ │ ├── superclass_supertype_trivial.dart
│ │ │ │ │ │ ├── superclass_trivial.dart
│ │ │ │ │ │ ├── superclasses_non_trivial.dart
│ │ │ │ │ │ ├── superclasses_trivial.dart
│ │ │ │ │ │ ├── supertype.dart
│ │ │ │ │ │ ├── supertype_complex.dart
│ │ │ │ │ │ ├── supertype_fixed.dart
│ │ │ │ │ │ ├── supertype_trivial.dart
│ │ │ │ │ │ ├── supertypes_extends.dart
│ │ │ │ │ │ ├── supertypes_extends2.dart
│ │ │ │ │ │ ├── supertypes_extends3.dart
│ │ │ │ │ │ ├── supertypes_implements.dart
│ │ │ │ │ │ ├── supertypes_non_trivial.dart
│ │ │ │ │ │ ├── supertypes_trivial.dart
│ │ │ │ │ │ ├── tear_off_types.dart
│ │ │ │ │ │ ├── type_argument_dynamic.dart
│ │ │ │ │ │ ├── type_argument_static.dart
│ │ │ │ │ │ ├── type_literal.dart
│ │ │ │ │ │ └── type_variable_function_type.dart
│ │ │ │ │ ├── factory_call_test.dart
│ │ │ │ │ ├── instance_call_test.dart
│ │ │ │ │ ├── is_test_with_type_parameters_test.dart
│ │ │ │ │ ├── rti_emission0_test.dart
│ │ │ │ │ ├── rti_emission1_test.dart
│ │ │ │ │ ├── rti_emission2_test.dart
│ │ │ │ │ ├── rti_emission3_test.dart
│ │ │ │ │ ├── rti_emission_test_helper.dart
│ │ │ │ │ ├── rti_need0_test.dart
│ │ │ │ │ ├── rti_need1_test.dart
│ │ │ │ │ ├── rti_need2_test.dart
│ │ │ │ │ ├── rti_need3_test.dart
│ │ │ │ │ ├── rti_need_test_helper.dart
│ │ │ │ │ ├── runtime_type_hint_test.dart
│ │ │ │ │ └── show.dart
│ │ │ │ ├── serialization/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── const_literals.dart
│ │ │ │ │ │ ├── constructor_name.dart
│ │ │ │ │ │ ├── continue.dart
│ │ │ │ │ │ ├── custom_types.dart
│ │ │ │ │ │ ├── deferred.dart
│ │ │ │ │ │ ├── jsinterop.dart
│ │ │ │ │ │ ├── labels.dart
│ │ │ │ │ │ ├── maps.dart
│ │ │ │ │ │ ├── switch.dart
│ │ │ │ │ │ ├── typedef.dart
│ │ │ │ │ │ └── unordered_indices.dart
│ │ │ │ │ ├── in_memory_split_test.dart
│ │ │ │ │ ├── libs/
│ │ │ │ │ │ ├── deferred_lib1.dart
│ │ │ │ │ │ ├── deferred_lib2.dart
│ │ │ │ │ │ └── deferred_lib3.dart
│ │ │ │ │ ├── on_disk_split_test.dart
│ │ │ │ │ ├── serialization_test.dart
│ │ │ │ │ └── serialization_test_helper.dart
│ │ │ │ ├── sourcemaps/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── async.dart
│ │ │ │ │ │ ├── invokes.dart
│ │ │ │ │ │ ├── operators.dart
│ │ │ │ │ │ ├── others.dart
│ │ │ │ │ │ └── super.dart
│ │ │ │ │ ├── helpers/
│ │ │ │ │ │ ├── colors.dart
│ │ │ │ │ │ ├── diff.dart
│ │ │ │ │ │ ├── html_parts.dart
│ │ │ │ │ │ ├── js_tracer.dart
│ │ │ │ │ │ ├── lax_json.dart
│ │ │ │ │ │ ├── output_structure.dart
│ │ │ │ │ │ ├── sourcemap_helper.dart
│ │ │ │ │ │ ├── sourcemap_html_helper.dart
│ │ │ │ │ │ ├── sourcemap_html_templates.dart
│ │ │ │ │ │ └── trace_graph.dart
│ │ │ │ │ ├── lax_json_test.dart
│ │ │ │ │ ├── load_save_test.dart
│ │ │ │ │ ├── location_collector_test.dart
│ │ │ │ │ ├── mapping_test.dart
│ │ │ │ │ ├── minified/
│ │ │ │ │ │ ├── cannot_read_property.dart
│ │ │ │ │ │ ├── cannot_read_property2.dart
│ │ │ │ │ │ ├── instance.dart
│ │ │ │ │ │ ├── is_not_a_function.dart
│ │ │ │ │ │ ├── no_such_method.dart
│ │ │ │ │ │ ├── no_such_method2.dart
│ │ │ │ │ │ ├── no_such_method3.dart
│ │ │ │ │ │ └── no_such_method4.dart
│ │ │ │ │ ├── minified_names_test.dart
│ │ │ │ │ ├── name_test.dart
│ │ │ │ │ ├── nomapping_test.dart
│ │ │ │ │ ├── source_map_test.dart
│ │ │ │ │ ├── source_mapping_invokes_test.dart
│ │ │ │ │ ├── source_mapping_operators_test.dart
│ │ │ │ │ ├── source_mapping_test.dart
│ │ │ │ │ ├── stacktrace/
│ │ │ │ │ │ ├── deep_inlining.dart
│ │ │ │ │ │ ├── extension_method.dart
│ │ │ │ │ │ ├── getter_inlining.dart
│ │ │ │ │ │ ├── getter_inlining_1.dart
│ │ │ │ │ │ ├── getter_inlining_2.dart
│ │ │ │ │ │ ├── getter_inlining_3.dart
│ │ │ │ │ │ ├── getter_inlining_baseline_1.dart
│ │ │ │ │ │ ├── getter_inlining_baseline_2.dart
│ │ │ │ │ │ ├── null_instance_field.dart
│ │ │ │ │ │ ├── null_instance_field_elided.dart
│ │ │ │ │ │ ├── null_interceptor_field.dart
│ │ │ │ │ │ ├── null_receiver_inlining.dart
│ │ │ │ │ │ ├── parameters.dart
│ │ │ │ │ │ ├── parameters_elided.dart
│ │ │ │ │ │ ├── rethrow.dart
│ │ │ │ │ │ ├── setter_inlining.dart
│ │ │ │ │ │ ├── sync_throw_in_async.dart
│ │ │ │ │ │ ├── sync_throw_in_awaited_async.dart
│ │ │ │ │ │ ├── sync_throw_in_constructor_from_async.dart
│ │ │ │ │ │ ├── sync_throw_in_top_level_method_from_async.dart
│ │ │ │ │ │ ├── throw_in_async.dart
│ │ │ │ │ │ ├── throw_in_awaited_async.dart
│ │ │ │ │ │ ├── throw_in_constructor.dart
│ │ │ │ │ │ ├── throw_in_constructor_from_async.dart
│ │ │ │ │ │ ├── throw_in_instance_method.dart
│ │ │ │ │ │ ├── throw_in_lazy_field.dart
│ │ │ │ │ │ ├── throw_in_lazy_field_indirect.dart
│ │ │ │ │ │ ├── throw_in_lazy_final_field.dart
│ │ │ │ │ │ ├── throw_in_lazy_final_field_indirect.dart
│ │ │ │ │ │ ├── throw_in_main.dart
│ │ │ │ │ │ ├── throw_in_static_method.dart
│ │ │ │ │ │ ├── throw_in_top_level_method.dart
│ │ │ │ │ │ ├── throw_in_top_level_method_from_async.dart
│ │ │ │ │ │ ├── throw_in_try_catch.dart
│ │ │ │ │ │ └── throw_in_try_finally.dart
│ │ │ │ │ ├── stacktrace_test.dart
│ │ │ │ │ ├── stepping/
│ │ │ │ │ │ ├── print.dart
│ │ │ │ │ │ ├── print_class_fields.dart
│ │ │ │ │ │ ├── print_top_level_invoke.dart
│ │ │ │ │ │ └── top_level_invoke.dart
│ │ │ │ │ ├── stepping_test.dart
│ │ │ │ │ ├── test_files/
│ │ │ │ │ │ ├── deferred_validator_test_file.dart
│ │ │ │ │ │ ├── deferred_validator_test_lib.dart
│ │ │ │ │ │ └── validator_test_file.dart
│ │ │ │ │ └── tools/
│ │ │ │ │ ├── diff_view.dart
│ │ │ │ │ ├── load.dart
│ │ │ │ │ ├── save.dart
│ │ │ │ │ ├── source_mapping_test_viewer.dart
│ │ │ │ │ ├── source_mapping_tester.dart
│ │ │ │ │ ├── sourcemap_visualizer.dart
│ │ │ │ │ └── translate_dart2js_stacktrace.dart
│ │ │ │ ├── static_type/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── as.dart
│ │ │ │ │ │ ├── assert.dart
│ │ │ │ │ │ ├── assert_ea.dart
│ │ │ │ │ │ ├── cascade.dart
│ │ │ │ │ │ ├── closure.dart
│ │ │ │ │ │ ├── do.dart
│ │ │ │ │ │ ├── effectively_final.dart
│ │ │ │ │ │ ├── effectively_final_access.dart
│ │ │ │ │ │ ├── for.dart
│ │ │ │ │ │ ├── for_in.dart
│ │ │ │ │ │ ├── generic_method.dart
│ │ │ │ │ │ ├── if.dart
│ │ │ │ │ │ ├── if_method_call.dart
│ │ │ │ │ │ ├── issue42281.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── null.dart
│ │ │ │ │ │ ├── null_access.dart
│ │ │ │ │ │ ├── switch.dart
│ │ │ │ │ │ ├── try_catch.dart
│ │ │ │ │ │ ├── try_finally.dart
│ │ │ │ │ │ └── while.dart
│ │ │ │ │ ├── show.dart
│ │ │ │ │ ├── static_type_test.dart
│ │ │ │ │ ├── type_promotion_data/
│ │ │ │ │ │ ├── bottom.dart
│ │ │ │ │ │ ├── closure.dart
│ │ │ │ │ │ ├── equals.dart
│ │ │ │ │ │ ├── if.dart
│ │ │ │ │ │ ├── if_method_call.dart
│ │ │ │ │ │ ├── issue42281.dart
│ │ │ │ │ │ ├── marker.options
│ │ │ │ │ │ ├── null.dart
│ │ │ │ │ │ └── sequence.dart
│ │ │ │ │ └── type_promotion_test.dart
│ │ │ │ ├── testing.json
│ │ │ │ └── tool/
│ │ │ │ └── graph_isomorphizer/
│ │ │ │ ├── golden/
│ │ │ │ │ ├── less_simple/
│ │ │ │ │ │ ├── lib1.dart
│ │ │ │ │ │ ├── lib2.dart
│ │ │ │ │ │ ├── lib3.dart
│ │ │ │ │ │ ├── lib4.dart
│ │ │ │ │ │ ├── libImport.dart
│ │ │ │ │ │ ├── lib_000_1.dart
│ │ │ │ │ │ ├── lib_001_0.dart
│ │ │ │ │ │ ├── lib_010_0.dart
│ │ │ │ │ │ ├── lib_100_0.dart
│ │ │ │ │ │ └── main.dart
│ │ │ │ │ └── simple/
│ │ │ │ │ ├── lib1.dart
│ │ │ │ │ ├── lib2.dart
│ │ │ │ │ ├── lib3.dart
│ │ │ │ │ ├── libImport.dart
│ │ │ │ │ ├── lib_001.dart
│ │ │ │ │ ├── lib_010.dart
│ │ │ │ │ ├── lib_100.dart
│ │ │ │ │ └── main.dart
│ │ │ │ └── graph_isomorphizer_test.dart
│ │ │ ├── testing.json
│ │ │ └── tool/
│ │ │ ├── dart2js_profile_many.dart
│ │ │ ├── dart2js_stress.dart
│ │ │ ├── graph_isomorphizer.dart
│ │ │ ├── kernel_visitor/
│ │ │ │ ├── dart_html_metrics_visitor.dart
│ │ │ │ └── test/
│ │ │ │ ├── info_visitor_test.dart
│ │ │ │ └── test_classes.dart
│ │ │ ├── modular_dart2js.dart
│ │ │ ├── modular_test_suite.dart
│ │ │ ├── modular_test_suite_helper.dart
│ │ │ ├── modular_test_suite_legacy.dart
│ │ │ ├── null_safety/
│ │ │ │ ├── candidates.dart
│ │ │ │ └── tally.dart
│ │ │ ├── szcmp
│ │ │ ├── track_memory.dart
│ │ │ ├── update_id_tests.dart
│ │ │ └── used_names/
│ │ │ ├── README.md
│ │ │ ├── used_names.html
│ │ │ └── used_names.js
│ │ ├── dart2js_info/
│ │ │ ├── .gitignore
│ │ │ ├── AUTHORS
│ │ │ ├── CHANGELOG.md
│ │ │ ├── DEVELOPER.md
│ │ │ ├── LICENSE
│ │ │ ├── OWNERS
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── bin/
│ │ │ │ ├── src/
│ │ │ │ │ ├── code_deps.dart
│ │ │ │ │ ├── common_command.dart
│ │ │ │ │ ├── convert.dart
│ │ │ │ │ ├── coverage_log_server.dart
│ │ │ │ │ ├── debug_info.dart
│ │ │ │ │ ├── deferred_library_check.dart
│ │ │ │ │ ├── deferred_library_layout.dart
│ │ │ │ │ ├── deferred_library_size.dart
│ │ │ │ │ ├── diff.dart
│ │ │ │ │ ├── function_size_analysis.dart
│ │ │ │ │ ├── inject_text.dart
│ │ │ │ │ ├── library_size_split.dart
│ │ │ │ │ ├── live_code_size_analysis.dart
│ │ │ │ │ ├── runtime_coverage_analysis.dart
│ │ │ │ │ ├── show_inferred_types.dart
│ │ │ │ │ ├── text_print.dart
│ │ │ │ │ ├── to_binary.dart
│ │ │ │ │ ├── to_devtools_format.dart
│ │ │ │ │ ├── to_json.dart
│ │ │ │ │ ├── to_proto.dart
│ │ │ │ │ └── usage_exception.dart
│ │ │ │ └── tools.dart
│ │ │ ├── info.proto
│ │ │ ├── lib/
│ │ │ │ ├── binary_serialization.dart
│ │ │ │ ├── deferred_library_check.dart
│ │ │ │ ├── info.dart
│ │ │ │ ├── json_info_codec.dart
│ │ │ │ ├── proto_info_codec.dart
│ │ │ │ └── src/
│ │ │ │ ├── binary/
│ │ │ │ │ ├── sink.dart
│ │ │ │ │ └── source.dart
│ │ │ │ ├── common_element.dart
│ │ │ │ ├── diff.dart
│ │ │ │ ├── graph.dart
│ │ │ │ ├── io.dart
│ │ │ │ ├── proto/
│ │ │ │ │ ├── info.pb.dart
│ │ │ │ │ ├── info.pbenum.dart
│ │ │ │ │ ├── info.pbjson.dart
│ │ │ │ │ └── info.pbserver.dart
│ │ │ │ ├── runtime_coverage_utils.dart
│ │ │ │ ├── string_edit_buffer.dart
│ │ │ │ ├── table.dart
│ │ │ │ └── util.dart
│ │ │ ├── pubspec.yaml
│ │ │ ├── test/
│ │ │ │ ├── analysis_options.yaml
│ │ │ │ ├── binary_serialization_test.dart
│ │ │ │ ├── classes/
│ │ │ │ │ ├── class_filter.txt
│ │ │ │ │ ├── classes.dart
│ │ │ │ │ └── classes.js.info.data
│ │ │ │ ├── graph_test.dart
│ │ │ │ ├── hello_world/
│ │ │ │ │ ├── hello_world.dart
│ │ │ │ │ └── hello_world.js.info.json
│ │ │ │ ├── hello_world_deferred/
│ │ │ │ │ ├── deferred_import.dart
│ │ │ │ │ ├── hello_world_deferred.dart
│ │ │ │ │ └── hello_world_deferred.js.info.json
│ │ │ │ ├── json_to_proto_deferred_test.dart
│ │ │ │ ├── json_to_proto_test.dart
│ │ │ │ ├── parse_test.dart
│ │ │ │ ├── runtime_coverage_test.dart
│ │ │ │ └── test_shared.dart
│ │ │ └── tool/
│ │ │ └── update_proto.sh
│ │ ├── dev_compiler/
│ │ │ ├── .gitignore
│ │ │ ├── LICENSE
│ │ │ ├── OWNERS
│ │ │ ├── README.md
│ │ │ ├── STRONG_MODE.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── bin/
│ │ │ │ └── dartdevc.dart
│ │ │ ├── codereview.settings
│ │ │ ├── lib/
│ │ │ │ ├── ddc.dart
│ │ │ │ ├── dev_compiler.dart
│ │ │ │ ├── js/
│ │ │ │ │ ├── common/
│ │ │ │ │ │ └── run.js
│ │ │ │ │ └── legacy/
│ │ │ │ │ └── dart_library.js
│ │ │ │ └── src/
│ │ │ │ ├── compiler/
│ │ │ │ │ ├── js_metalet.dart
│ │ │ │ │ ├── js_names.dart
│ │ │ │ │ ├── js_typerep.dart
│ │ │ │ │ ├── js_utils.dart
│ │ │ │ │ ├── module_builder.dart
│ │ │ │ │ ├── module_containers.dart
│ │ │ │ │ ├── shared_command.dart
│ │ │ │ │ └── shared_compiler.dart
│ │ │ │ ├── js_ast/
│ │ │ │ │ ├── builder.dart
│ │ │ │ │ ├── characters.dart
│ │ │ │ │ ├── js_ast.dart
│ │ │ │ │ ├── nodes.dart
│ │ │ │ │ ├── precedence.dart
│ │ │ │ │ ├── printer.dart
│ │ │ │ │ ├── source_map_printer.dart
│ │ │ │ │ └── template.dart
│ │ │ │ └── kernel/
│ │ │ │ ├── asset_file_system.dart
│ │ │ │ ├── command.dart
│ │ │ │ ├── compiler.dart
│ │ │ │ ├── constants.dart
│ │ │ │ ├── expression_compiler.dart
│ │ │ │ ├── expression_compiler_worker.dart
│ │ │ │ ├── future_or_normalizer.dart
│ │ │ │ ├── js_interop.dart
│ │ │ │ ├── js_typerep.dart
│ │ │ │ ├── kernel_helpers.dart
│ │ │ │ ├── module_metadata.dart
│ │ │ │ ├── module_symbols.dart
│ │ │ │ ├── module_symbols_collector.dart
│ │ │ │ ├── native_types.dart
│ │ │ │ ├── nullable_inference.dart
│ │ │ │ ├── property_model.dart
│ │ │ │ ├── retry_timeout_client.dart
│ │ │ │ ├── target.dart
│ │ │ │ ├── type_environment.dart
│ │ │ │ ├── type_recipe_generator.dart
│ │ │ │ └── type_table.dart
│ │ │ ├── pubspec.yaml
│ │ │ ├── test/
│ │ │ │ ├── expression_compiler/
│ │ │ │ │ ├── assertions_enabled_test.dart
│ │ │ │ │ ├── asset_file_system_test.dart
│ │ │ │ │ ├── expression_compiler_e2e_amd_agnostic_sound_shard_1_test.dart
│ │ │ │ │ ├── expression_compiler_e2e_amd_agnostic_sound_shard_2_test.dart
│ │ │ │ │ ├── expression_compiler_e2e_amd_agnostic_unsound_shard_1_test.dart
│ │ │ │ │ ├── expression_compiler_e2e_amd_agnostic_unsound_shard_2_test.dart
│ │ │ │ │ ├── expression_compiler_e2e_amd_legacy_shard_1_test.dart
│ │ │ │ │ ├── expression_compiler_e2e_amd_legacy_shard_2_test.dart
│ │ │ │ │ ├── expression_compiler_e2e_amd_sound_test.dart
│ │ │ │ │ ├── expression_compiler_e2e_amd_unsound_test.dart
│ │ │ │ │ ├── expression_compiler_e2e_dart_2_17_test.dart
│ │ │ │ │ ├── expression_compiler_e2e_dart_3_0_test.dart
│ │ │ │ │ ├── expression_compiler_e2e_ddc_agnostic_sound_shard_1_test.dart
│ │ │ │ │ ├── expression_compiler_e2e_ddc_agnostic_sound_shard_2_test.dart
│ │ │ │ │ ├── expression_compiler_e2e_ddc_agnostic_unsound_shard_1_test.dart
│ │ │ │ │ ├── expression_compiler_e2e_ddc_agnostic_unsound_shard_2_test.dart
│ │ │ │ │ ├── expression_compiler_e2e_ddc_legacy_shard_1_test.dart
│ │ │ │ │ ├── expression_compiler_e2e_ddc_legacy_shard_2_test.dart
│ │ │ │ │ ├── expression_compiler_e2e_ddc_sound_test.dart
│ │ │ │ │ ├── expression_compiler_e2e_ddc_unsound_test.dart
│ │ │ │ │ ├── expression_compiler_e2e_shared.dart
│ │ │ │ │ ├── expression_compiler_e2e_suite.dart
│ │ │ │ │ ├── expression_compiler_test.dart
│ │ │ │ │ ├── expression_compiler_worker_amd_test.dart
│ │ │ │ │ ├── expression_compiler_worker_ddc_test.dart
│ │ │ │ │ ├── expression_compiler_worker_shared.dart
│ │ │ │ │ └── scope_offset_test.dart
│ │ │ │ ├── js/
│ │ │ │ │ └── builder_test.dart
│ │ │ │ ├── modular_helpers.dart
│ │ │ │ ├── modular_suite.dart
│ │ │ │ ├── modular_suite_canary_unsound.dart
│ │ │ │ ├── modular_suite_unsound.dart
│ │ │ │ ├── module_metadata_test.dart
│ │ │ │ ├── module_symbols/
│ │ │ │ │ ├── class_symbols_test.dart
│ │ │ │ │ ├── function_symbols_test.dart
│ │ │ │ │ ├── module_symbols_json_test.dart
│ │ │ │ │ ├── module_symbols_test_shared.dart
│ │ │ │ │ └── variable_symbols_test.dart
│ │ │ │ ├── nullable_inference_test.dart
│ │ │ │ ├── sdk_source_map_test.dart
│ │ │ │ ├── shared_test_options.dart
│ │ │ │ ├── sourcemap/
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── common.dart
│ │ │ │ │ ├── ddc_common.dart
│ │ │ │ │ ├── sourcemaps.status
│ │ │ │ │ ├── sourcemaps_suite.dart
│ │ │ │ │ ├── stacktrace.status
│ │ │ │ │ ├── stacktrace_suite.dart
│ │ │ │ │ ├── stacktrace_testfiles/
│ │ │ │ │ │ ├── null_instance_field.dart
│ │ │ │ │ │ ├── null_interceptor_field.dart
│ │ │ │ │ │ ├── rethrow.dart
│ │ │ │ │ │ ├── throw_in_async.dart
│ │ │ │ │ │ ├── throw_in_awaited_async.dart
│ │ │ │ │ │ ├── throw_in_constructor.dart
│ │ │ │ │ │ ├── throw_in_constructor_from_async.dart
│ │ │ │ │ │ ├── throw_in_instance_method.dart
│ │ │ │ │ │ ├── throw_in_main.dart
│ │ │ │ │ │ ├── throw_in_static_method.dart
│ │ │ │ │ │ ├── throw_in_top_level_method.dart
│ │ │ │ │ │ ├── throw_in_top_level_method_from_async.dart
│ │ │ │ │ │ ├── throw_in_try_catch.dart
│ │ │ │ │ │ └── throw_in_try_finally.dart
│ │ │ │ │ ├── testfiles/
│ │ │ │ │ │ ├── breakpoint_on_class_all_in_one_line.unformatteddart
│ │ │ │ │ │ ├── breakpoint_on_function_line_breaks_in_body.dart
│ │ │ │ │ │ ├── call_on_field_in_class.dart
│ │ │ │ │ │ ├── hello_async.dart
│ │ │ │ │ │ ├── hello_call.dart
│ │ │ │ │ │ ├── hello_class_call.dart
│ │ │ │ │ │ ├── hello_sane_column_on_print_return_value.dart
│ │ │ │ │ │ ├── hello_world.dart
│ │ │ │ │ │ ├── method_call_with_named_parameters.dart
│ │ │ │ │ │ ├── method_call_with_named_parameters_no_given.dart
│ │ │ │ │ │ ├── multiple_debugger_calls.dart
│ │ │ │ │ │ ├── next_through_assert.dart
│ │ │ │ │ │ ├── next_through_assign_call_test.dart
│ │ │ │ │ │ ├── next_through_assign_int_test.dart
│ │ │ │ │ │ ├── next_through_catch_test.dart
│ │ │ │ │ │ ├── next_through_for_each_loop_test.dart
│ │ │ │ │ │ ├── next_through_for_loop_with_break_and_continue_test.dart
│ │ │ │ │ │ ├── next_through_is_and_as_test.dart
│ │ │ │ │ │ ├── next_through_map_creation.dart
│ │ │ │ │ │ ├── next_through_multi_catch_test.dart
│ │ │ │ │ │ ├── next_through_operator_bracket_on_super_test.dart
│ │ │ │ │ │ ├── next_through_operator_bracket_on_this_test.dart
│ │ │ │ │ │ ├── next_through_operator_bracket_test.dart
│ │ │ │ │ │ ├── next_through_static_set.dart
│ │ │ │ │ │ ├── next_through_string_concatenation.dart
│ │ │ │ │ │ ├── next_through_string_plus.dart
│ │ │ │ │ │ ├── next_through_throw.dart
│ │ │ │ │ │ ├── next_through_variable_set.dart
│ │ │ │ │ │ ├── next_through_yield.dart
│ │ │ │ │ │ ├── no_mapping_on_class_constructor_line.dart
│ │ │ │ │ │ ├── no_mapping_on_class_function_line.dart
│ │ │ │ │ │ ├── no_mapping_on_class_line.dart
│ │ │ │ │ │ ├── no_mapping_on_class_named_constructor_line.dart
│ │ │ │ │ │ ├── no_mapping_on_function_line.dart
│ │ │ │ │ │ ├── printing_class_fields.dart
│ │ │ │ │ │ ├── printing_class_fields_step_into.dart
│ │ │ │ │ │ ├── step_through_async_star_yield.dart
│ │ │ │ │ │ ├── step_through_await_for.dart
│ │ │ │ │ │ ├── step_through_conditional_expression.dart
│ │ │ │ │ │ ├── step_through_if_and_identical.dart
│ │ │ │ │ │ ├── step_through_property_get_test.dart
│ │ │ │ │ │ ├── step_through_sync_star.dart
│ │ │ │ │ │ └── stops_at_ending_brace.dart
│ │ │ │ │ └── testing.json
│ │ │ │ ├── string_to_uri_test.dart
│ │ │ │ └── worker/
│ │ │ │ └── worker_test.dart
│ │ │ ├── tool/
│ │ │ │ ├── compile_dartdevc_sdk.dart
│ │ │ │ └── ddb
│ │ │ └── web/
│ │ │ ├── source_map_stack_trace.dart
│ │ │ └── stack_trace_mapper.dart
│ │ ├── front_end/
│ │ │ ├── LICENSE
│ │ │ ├── OWNERS
│ │ │ ├── PRESUBMIT.py
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── analysis_options_no_lints.yaml
│ │ │ ├── benchmarks/
│ │ │ │ ├── ikg/
│ │ │ │ │ ├── dart2js.dart
│ │ │ │ │ ├── dart2js.edits.json
│ │ │ │ │ ├── hello.dart
│ │ │ │ │ └── hello.edits.json
│ │ │ │ └── patterns/
│ │ │ │ ├── generate_datatypes.dart
│ │ │ │ ├── generated/
│ │ │ │ │ ├── datatype.dart
│ │ │ │ │ ├── datatype1.dart
│ │ │ │ │ ├── datatype12.dart
│ │ │ │ │ ├── datatype128.dart
│ │ │ │ │ ├── datatype16.dart
│ │ │ │ │ ├── datatype192.dart
│ │ │ │ │ ├── datatype2.dart
│ │ │ │ │ ├── datatype24.dart
│ │ │ │ │ ├── datatype256.dart
│ │ │ │ │ ├── datatype3.dart
│ │ │ │ │ ├── datatype32.dart
│ │ │ │ │ ├── datatype4.dart
│ │ │ │ │ ├── datatype48.dart
│ │ │ │ │ ├── datatype5.dart
│ │ │ │ │ ├── datatype6.dart
│ │ │ │ │ ├── datatype64.dart
│ │ │ │ │ ├── datatype7.dart
│ │ │ │ │ ├── datatype8.dart
│ │ │ │ │ └── datatype96.dart
│ │ │ │ ├── test_datatypes.dart
│ │ │ │ ├── test_lists.dart
│ │ │ │ ├── test_lists_from_vs_of.dart
│ │ │ │ ├── test_map_a_list.dart
│ │ │ │ ├── test_sets_from_list_mapping.dart
│ │ │ │ └── util.dart
│ │ │ ├── error_recovery.yaml
│ │ │ ├── lib/
│ │ │ │ ├── src/
│ │ │ │ │ ├── api_prototype/
│ │ │ │ │ │ ├── compiler_options.dart
│ │ │ │ │ │ ├── const_conditional_simplifier.dart
│ │ │ │ │ │ ├── constant_evaluator.dart
│ │ │ │ │ │ ├── experimental_flags.dart
│ │ │ │ │ │ ├── experimental_flags_generated.dart
│ │ │ │ │ │ ├── expression_compilation_tools.dart
│ │ │ │ │ │ ├── file_system.dart
│ │ │ │ │ │ ├── front_end.dart
│ │ │ │ │ │ ├── incremental_kernel_generator.dart
│ │ │ │ │ │ ├── kernel_generator.dart
│ │ │ │ │ │ ├── language_version.dart
│ │ │ │ │ │ ├── lowering_predicates.dart
│ │ │ │ │ │ ├── memory_file_system.dart
│ │ │ │ │ │ ├── standard_file_system.dart
│ │ │ │ │ │ ├── static_weak_references.dart
│ │ │ │ │ │ ├── summary_generator.dart
│ │ │ │ │ │ ├── terminal_color_support.dart
│ │ │ │ │ │ └── try_constant_evaluator.dart
│ │ │ │ │ ├── api_unstable/
│ │ │ │ │ │ ├── bazel_worker.dart
│ │ │ │ │ │ ├── build_integration.dart
│ │ │ │ │ │ ├── compiler_state.dart
│ │ │ │ │ │ ├── dart2js.dart
│ │ │ │ │ │ ├── ddc.dart
│ │ │ │ │ │ ├── modular_incremental_compilation.dart
│ │ │ │ │ │ ├── util.dart
│ │ │ │ │ │ └── vm.dart
│ │ │ │ │ ├── base/
│ │ │ │ │ │ ├── command_line_options.dart
│ │ │ │ │ │ ├── common.dart
│ │ │ │ │ │ ├── instrumentation.dart
│ │ │ │ │ │ ├── library_info.dart
│ │ │ │ │ │ ├── nnbd_mode.dart
│ │ │ │ │ │ └── processed_options.dart
│ │ │ │ │ ├── compute_platform_binaries_location.dart
│ │ │ │ │ ├── fasta/
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── TESTING.md
│ │ │ │ │ │ ├── builder/
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── builder.dart
│ │ │ │ │ │ │ ├── builder_mixins.dart
│ │ │ │ │ │ │ ├── builtin_type_declaration_builder.dart
│ │ │ │ │ │ │ ├── class_builder.dart
│ │ │ │ │ │ │ ├── constructor_builder.dart
│ │ │ │ │ │ │ ├── constructor_reference_builder.dart
│ │ │ │ │ │ │ ├── declaration_builder.dart
│ │ │ │ │ │ │ ├── dynamic_type_declaration_builder.dart
│ │ │ │ │ │ │ ├── extension_builder.dart
│ │ │ │ │ │ │ ├── field_builder.dart
│ │ │ │ │ │ │ ├── fixed_type_builder.dart
│ │ │ │ │ │ │ ├── formal_parameter_builder.dart
│ │ │ │ │ │ │ ├── function_builder.dart
│ │ │ │ │ │ │ ├── function_type_builder.dart
│ │ │ │ │ │ │ ├── future_or_type_declaration_builder.dart
│ │ │ │ │ │ │ ├── inline_class_builder.dart
│ │ │ │ │ │ │ ├── invalid_type_builder.dart
│ │ │ │ │ │ │ ├── invalid_type_declaration_builder.dart
│ │ │ │ │ │ │ ├── library_builder.dart
│ │ │ │ │ │ │ ├── member_builder.dart
│ │ │ │ │ │ │ ├── metadata_builder.dart
│ │ │ │ │ │ │ ├── mixin_application_builder.dart
│ │ │ │ │ │ │ ├── modifier_builder.dart
│ │ │ │ │ │ │ ├── name_iterator.dart
│ │ │ │ │ │ │ ├── named_type_builder.dart
│ │ │ │ │ │ │ ├── never_type_declaration_builder.dart
│ │ │ │ │ │ │ ├── null_type_declaration_builder.dart
│ │ │ │ │ │ │ ├── nullability_builder.dart
│ │ │ │ │ │ │ ├── omitted_type_builder.dart
│ │ │ │ │ │ │ ├── prefix_builder.dart
│ │ │ │ │ │ │ ├── procedure_builder.dart
│ │ │ │ │ │ │ ├── record_type_builder.dart
│ │ │ │ │ │ │ ├── type_alias_builder.dart
│ │ │ │ │ │ │ ├── type_builder.dart
│ │ │ │ │ │ │ ├── type_declaration_builder.dart
│ │ │ │ │ │ │ ├── type_variable_builder.dart
│ │ │ │ │ │ │ ├── variable_builder.dart
│ │ │ │ │ │ │ └── void_type_declaration_builder.dart
│ │ │ │ │ │ ├── builder_graph.dart
│ │ │ │ │ │ ├── combinator.dart
│ │ │ │ │ │ ├── command_line_reporting.dart
│ │ │ │ │ │ ├── compiler_context.dart
│ │ │ │ │ │ ├── configuration.dart
│ │ │ │ │ │ ├── constant_context.dart
│ │ │ │ │ │ ├── crash.dart
│ │ │ │ │ │ ├── denylisted_classes.dart
│ │ │ │ │ │ ├── diagnostics.md
│ │ │ │ │ │ ├── dill/
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── dill_class_builder.dart
│ │ │ │ │ │ │ ├── dill_extension_builder.dart
│ │ │ │ │ │ │ ├── dill_extension_member_builder.dart
│ │ │ │ │ │ │ ├── dill_library_builder.dart
│ │ │ │ │ │ │ ├── dill_loader.dart
│ │ │ │ │ │ │ ├── dill_member_builder.dart
│ │ │ │ │ │ │ ├── dill_target.dart
│ │ │ │ │ │ │ └── dill_type_alias_builder.dart
│ │ │ │ │ │ ├── export.dart
│ │ │ │ │ │ ├── fasta_codes.dart
│ │ │ │ │ │ ├── fasta_codes_cfe_generated.dart
│ │ │ │ │ │ ├── get_dependencies.dart
│ │ │ │ │ │ ├── hybrid_file_system.dart
│ │ │ │ │ │ ├── identifiers.dart
│ │ │ │ │ │ ├── ignored_parser_errors.dart
│ │ │ │ │ │ ├── import.dart
│ │ │ │ │ │ ├── import_chains.dart
│ │ │ │ │ │ ├── incremental_compiler.dart
│ │ │ │ │ │ ├── incremental_serializer.dart
│ │ │ │ │ │ ├── kernel/
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── augmentation_lowering.dart
│ │ │ │ │ │ │ ├── benchmarker.dart
│ │ │ │ │ │ │ ├── body_builder.dart
│ │ │ │ │ │ │ ├── collections.dart
│ │ │ │ │ │ │ ├── combined_member_signature.dart
│ │ │ │ │ │ │ ├── const_conditional_simplifier.dart
│ │ │ │ │ │ │ ├── constant_collection_builders.dart
│ │ │ │ │ │ │ ├── constant_evaluator.dart
│ │ │ │ │ │ │ ├── constant_int_folder.dart
│ │ │ │ │ │ │ ├── constness.dart
│ │ │ │ │ │ │ ├── constructor_tearoff_lowering.dart
│ │ │ │ │ │ │ ├── exhaustiveness.dart
│ │ │ │ │ │ │ ├── expression_generator.dart
│ │ │ │ │ │ │ ├── expression_generator_helper.dart
│ │ │ │ │ │ │ ├── forest.dart
│ │ │ │ │ │ │ ├── forwarding_node.dart
│ │ │ │ │ │ │ ├── hierarchy/
│ │ │ │ │ │ │ │ ├── class_member.dart
│ │ │ │ │ │ │ │ ├── delayed.dart
│ │ │ │ │ │ │ │ ├── hierarchy_builder.dart
│ │ │ │ │ │ │ │ ├── hierarchy_node.dart
│ │ │ │ │ │ │ │ ├── members_builder.dart
│ │ │ │ │ │ │ │ ├── members_node.dart
│ │ │ │ │ │ │ │ └── mixin_inferrer.dart
│ │ │ │ │ │ │ ├── implicit_field_type.dart
│ │ │ │ │ │ │ ├── implicit_type_argument.dart
│ │ │ │ │ │ │ ├── internal_ast.dart
│ │ │ │ │ │ │ ├── invalid_type.dart
│ │ │ │ │ │ │ ├── kernel_constants.dart
│ │ │ │ │ │ │ ├── kernel_helper.dart
│ │ │ │ │ │ │ ├── kernel_target.dart
│ │ │ │ │ │ │ ├── kernel_variable_builder.dart
│ │ │ │ │ │ │ ├── late_lowering.dart
│ │ │ │ │ │ │ ├── load_library_builder.dart
│ │ │ │ │ │ │ ├── macro/
│ │ │ │ │ │ │ │ ├── annotation_parser.dart
│ │ │ │ │ │ │ │ ├── identifiers.dart
│ │ │ │ │ │ │ │ └── macro.dart
│ │ │ │ │ │ │ ├── member_covariance.dart
│ │ │ │ │ │ │ ├── redirecting_factory_body.dart
│ │ │ │ │ │ │ ├── static_weak_references.dart
│ │ │ │ │ │ │ ├── try_constant_evaluator.dart
│ │ │ │ │ │ │ ├── type_algorithms.dart
│ │ │ │ │ │ │ ├── type_builder_computer.dart
│ │ │ │ │ │ │ ├── type_labeler.dart
│ │ │ │ │ │ │ ├── utils.dart
│ │ │ │ │ │ │ └── verifier.dart
│ │ │ │ │ │ ├── library_graph.dart
│ │ │ │ │ │ ├── loader.dart
│ │ │ │ │ │ ├── messages.dart
│ │ │ │ │ │ ├── modifier.dart
│ │ │ │ │ │ ├── names.dart
│ │ │ │ │ │ ├── operator.dart
│ │ │ │ │ │ ├── problems.dart
│ │ │ │ │ │ ├── scope.dart
│ │ │ │ │ │ ├── source/
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── class_declaration.dart
│ │ │ │ │ │ │ ├── constructor_declaration.dart
│ │ │ │ │ │ │ ├── diet_listener.dart
│ │ │ │ │ │ │ ├── diet_parser.dart
│ │ │ │ │ │ │ ├── directive_listener.dart
│ │ │ │ │ │ │ ├── name_scheme.dart
│ │ │ │ │ │ │ ├── outline_builder.dart
│ │ │ │ │ │ │ ├── source_builder_mixins.dart
│ │ │ │ │ │ │ ├── source_class_builder.dart
│ │ │ │ │ │ │ ├── source_constructor_builder.dart
│ │ │ │ │ │ │ ├── source_enum_builder.dart
│ │ │ │ │ │ │ ├── source_extension_builder.dart
│ │ │ │ │ │ │ ├── source_factory_builder.dart
│ │ │ │ │ │ │ ├── source_field_builder.dart
│ │ │ │ │ │ │ ├── source_function_builder.dart
│ │ │ │ │ │ │ ├── source_inline_class_builder.dart
│ │ │ │ │ │ │ ├── source_library_builder.dart
│ │ │ │ │ │ │ ├── source_loader.dart
│ │ │ │ │ │ │ ├── source_member_builder.dart
│ │ │ │ │ │ │ ├── source_procedure_builder.dart
│ │ │ │ │ │ │ ├── source_type_alias_builder.dart
│ │ │ │ │ │ │ ├── stack_listener_impl.dart
│ │ │ │ │ │ │ └── value_kinds.dart
│ │ │ │ │ │ ├── target_implementation.dart
│ │ │ │ │ │ ├── ticker.dart
│ │ │ │ │ │ ├── type_inference/
│ │ │ │ │ │ │ ├── closure_context.dart
│ │ │ │ │ │ │ ├── delayed_expressions.dart
│ │ │ │ │ │ │ ├── external_ast_helper.dart
│ │ │ │ │ │ │ ├── factor_type.dart
│ │ │ │ │ │ │ ├── for_in.dart
│ │ │ │ │ │ │ ├── inference_helper.dart
│ │ │ │ │ │ │ ├── inference_results.dart
│ │ │ │ │ │ │ ├── inference_visitor.dart
│ │ │ │ │ │ │ ├── inference_visitor_base.dart
│ │ │ │ │ │ │ ├── matching_cache.dart
│ │ │ │ │ │ │ ├── matching_expressions.dart
│ │ │ │ │ │ │ ├── mixin_inferrer.dart
│ │ │ │ │ │ │ ├── object_access_target.dart
│ │ │ │ │ │ │ ├── shared_type_analyzer.dart
│ │ │ │ │ │ │ ├── stack_values.dart
│ │ │ │ │ │ │ ├── standard_bounds.dart
│ │ │ │ │ │ │ ├── type_constraint_gatherer.dart
│ │ │ │ │ │ │ ├── type_demotion.dart
│ │ │ │ │ │ │ ├── type_inference_engine.dart
│ │ │ │ │ │ │ ├── type_inferrer.dart
│ │ │ │ │ │ │ ├── type_schema.dart
│ │ │ │ │ │ │ ├── type_schema_elimination.dart
│ │ │ │ │ │ │ └── type_schema_environment.dart
│ │ │ │ │ │ ├── uri_offset.dart
│ │ │ │ │ │ ├── uri_translator.dart
│ │ │ │ │ │ ├── uris.dart
│ │ │ │ │ │ └── util/
│ │ │ │ │ │ ├── abstracted_ast_nodes.dart
│ │ │ │ │ │ ├── bytes_sink.dart
│ │ │ │ │ │ ├── error_reporter_file_copier.dart
│ │ │ │ │ │ ├── experiment_environment_getter.dart
│ │ │ │ │ │ ├── helpers.dart
│ │ │ │ │ │ ├── outline_extractor.dart
│ │ │ │ │ │ ├── parser_ast.dart
│ │ │ │ │ │ ├── parser_ast_helper.dart
│ │ │ │ │ │ └── textual_outline.dart
│ │ │ │ │ ├── isolate_macro_serializer.dart
│ │ │ │ │ ├── kernel_generator_impl.dart
│ │ │ │ │ ├── macro_serializer.dart
│ │ │ │ │ ├── scheme_based_file_system.dart
│ │ │ │ │ ├── temp_dir_macro_serializer.dart
│ │ │ │ │ └── testing/
│ │ │ │ │ ├── analysis_helper.dart
│ │ │ │ │ ├── compiler_common.dart
│ │ │ │ │ ├── id_extractor.dart
│ │ │ │ │ ├── id_testing_helper.dart
│ │ │ │ │ └── id_testing_utils.dart
│ │ │ │ └── widget_cache.dart
│ │ │ ├── messages.status
│ │ │ ├── messages.yaml
│ │ │ ├── outline_extraction_testcases/
│ │ │ │ ├── conditional_imports_exports/
│ │ │ │ │ ├── a.dart
│ │ │ │ │ ├── a2.dart
│ │ │ │ │ ├── b.dart
│ │ │ │ │ ├── b2.dart
│ │ │ │ │ ├── c.dart
│ │ │ │ │ ├── c2.dart
│ │ │ │ │ ├── main.dart
│ │ │ │ │ └── main.dart.outline_extracted
│ │ │ │ ├── conditional_imports_exports_2/
│ │ │ │ │ ├── exists.dart
│ │ │ │ │ ├── exists2.dart
│ │ │ │ │ ├── main.dart
│ │ │ │ │ └── main.dart.outline_extracted
│ │ │ │ ├── exports_export_01/
│ │ │ │ │ ├── main.dart
│ │ │ │ │ ├── main.dart.outline_extracted
│ │ │ │ │ ├── test10.dart
│ │ │ │ │ ├── test8.dart
│ │ │ │ │ └── test9.dart
│ │ │ │ ├── exports_included/
│ │ │ │ │ ├── main.dart
│ │ │ │ │ ├── main.dart.outline_extracted
│ │ │ │ │ ├── test6.dart
│ │ │ │ │ └── test7.dart
│ │ │ │ ├── extends/
│ │ │ │ │ ├── foo.dart
│ │ │ │ │ ├── main.dart
│ │ │ │ │ └── main.dart.outline_extracted
│ │ │ │ ├── factories/
│ │ │ │ │ ├── main.dart
│ │ │ │ │ ├── main.dart.outline_extracted
│ │ │ │ │ └── test11.dart
│ │ │ │ ├── field_dotting_in/
│ │ │ │ │ ├── b.dart
│ │ │ │ │ ├── c.dart
│ │ │ │ │ ├── d.dart
│ │ │ │ │ ├── main.dart
│ │ │ │ │ └── main.dart.outline_extracted
│ │ │ │ ├── fields/
│ │ │ │ │ ├── bar.dart
│ │ │ │ │ ├── foo.dart
│ │ │ │ │ ├── main.dart
│ │ │ │ │ └── main.dart.outline_extracted
│ │ │ │ ├── import_prefix_overlap_with_field/
│ │ │ │ │ ├── main.dart
│ │ │ │ │ ├── main.dart.outline_extracted
│ │ │ │ │ └── test16.dart
│ │ │ │ ├── import_with_prefix/
│ │ │ │ │ ├── bar.dart
│ │ │ │ │ ├── foo.dart
│ │ │ │ │ ├── main.dart
│ │ │ │ │ └── main.dart.outline_extracted
│ │ │ │ ├── import_with_prefix_02/
│ │ │ │ │ ├── a.dart
│ │ │ │ │ ├── b.dart
│ │ │ │ │ ├── main.dart
│ │ │ │ │ └── main.dart.outline_extracted
│ │ │ │ ├── initial_various/
│ │ │ │ │ ├── main.dart
│ │ │ │ │ ├── main.dart.outline_extracted
│ │ │ │ │ ├── test3.dart
│ │ │ │ │ ├── test4.dart
│ │ │ │ │ └── test5.dart
│ │ │ │ ├── keeps_dart_version/
│ │ │ │ │ ├── bar.dart
│ │ │ │ │ ├── main.dart
│ │ │ │ │ └── main.dart.outline_extracted
│ │ │ │ ├── metadata_01/
│ │ │ │ │ ├── a.dart
│ │ │ │ │ ├── b.dart
│ │ │ │ │ ├── main.dart
│ │ │ │ │ └── main.dart.outline_extracted
│ │ │ │ ├── metadata_02/
│ │ │ │ │ ├── main.dart
│ │ │ │ │ ├── main.dart.outline_extracted
│ │ │ │ │ ├── nottest15.dart
│ │ │ │ │ └── test15.dart
│ │ │ │ ├── named_import_with_export_and_named_constructor_and_class_type_parameter/
│ │ │ │ │ ├── a.dart
│ │ │ │ │ ├── b.dart
│ │ │ │ │ ├── c.dart
│ │ │ │ │ ├── d.dart
│ │ │ │ │ ├── main.dart
│ │ │ │ │ └── main.dart.outline_extracted
│ │ │ │ ├── named_mixin/
│ │ │ │ │ ├── bar.dart
│ │ │ │ │ ├── baz.dart
│ │ │ │ │ ├── main.dart
│ │ │ │ │ └── main.dart.outline_extracted
│ │ │ │ ├── outline_extractor.status
│ │ │ │ ├── part_01/
│ │ │ │ │ ├── main.dart
│ │ │ │ │ ├── main.dart.outline_extracted
│ │ │ │ │ ├── test12.dart
│ │ │ │ │ ├── test12_part1.dart
│ │ │ │ │ ├── test12_part2.dart
│ │ │ │ │ ├── test13.dart
│ │ │ │ │ ├── test13andahalf.dart
│ │ │ │ │ └── test14.dart
│ │ │ │ ├── part_and_library_name/
│ │ │ │ │ ├── main.dart
│ │ │ │ │ ├── main.dart.outline_extracted
│ │ │ │ │ ├── test3.dart
│ │ │ │ │ └── test3_part.dart
│ │ │ │ ├── split_import_export_part/
│ │ │ │ │ ├── foo.dart
│ │ │ │ │ ├── main.dart
│ │ │ │ │ ├── main.dart.outline_extracted
│ │ │ │ │ └── part.dart
│ │ │ │ ├── type_parameter_extends/
│ │ │ │ │ ├── bar.dart
│ │ │ │ │ ├── foo.dart
│ │ │ │ │ ├── main.dart
│ │ │ │ │ └── main.dart.outline_extracted
│ │ │ │ ├── type_parameter_on_extension/
│ │ │ │ │ ├── main.dart
│ │ │ │ │ └── main.dart.outline_extracted
│ │ │ │ ├── unused_import/
│ │ │ │ │ ├── foo.dart
│ │ │ │ │ ├── main.dart
│ │ │ │ │ └── main.dart.outline_extracted
│ │ │ │ ├── unused_import_02/
│ │ │ │ │ ├── bar.dart
│ │ │ │ │ ├── baz.dart
│ │ │ │ │ ├── foo.dart
│ │ │ │ │ ├── main.dart
│ │ │ │ │ └── main.dart.outline_extracted
│ │ │ │ ├── use_of_imported_extension/
│ │ │ │ │ ├── foo.dart
│ │ │ │ │ ├── main.dart
│ │ │ │ │ └── main.dart.outline_extracted
│ │ │ │ ├── use_of_imported_extension_2/
│ │ │ │ │ ├── foo.dart
│ │ │ │ │ ├── main.dart
│ │ │ │ │ └── main.dart.outline_extracted
│ │ │ │ └── use_of_imported_extension_3/
│ │ │ │ ├── foo.dart
│ │ │ │ ├── main.dart
│ │ │ │ └── main.dart.outline_extracted
│ │ │ ├── parser_testcases/
│ │ │ │ ├── augmentation/
│ │ │ │ │ ├── augment_super.dart
│ │ │ │ │ ├── augment_super.dart.expect
│ │ │ │ │ ├── augment_super.dart.intertwined.expect
│ │ │ │ │ ├── augment_super.dart.parser.expect
│ │ │ │ │ ├── augment_super.dart.scanner.expect
│ │ │ │ │ ├── member_declarations.dart
│ │ │ │ │ ├── member_declarations.dart.expect
│ │ │ │ │ ├── member_declarations.dart.intertwined.expect
│ │ │ │ │ ├── member_declarations.dart.parser.expect
│ │ │ │ │ ├── member_declarations.dart.scanner.expect
│ │ │ │ │ ├── member_errors.dart
│ │ │ │ │ ├── member_errors.dart.expect
│ │ │ │ │ ├── member_errors.dart.intertwined.expect
│ │ │ │ │ ├── member_errors.dart.parser.expect
│ │ │ │ │ ├── member_errors.dart.scanner.expect
│ │ │ │ │ ├── top_level_declarations.dart
│ │ │ │ │ ├── top_level_declarations.dart.expect
│ │ │ │ │ ├── top_level_declarations.dart.intertwined.expect
│ │ │ │ │ ├── top_level_declarations.dart.parser.expect
│ │ │ │ │ ├── top_level_declarations.dart.scanner.expect
│ │ │ │ │ ├── top_level_errors.dart
│ │ │ │ │ ├── top_level_errors.dart.expect
│ │ │ │ │ ├── top_level_errors.dart.intertwined.expect
│ │ │ │ │ ├── top_level_errors.dart.parser.expect
│ │ │ │ │ └── top_level_errors.dart.scanner.expect
│ │ │ │ ├── class_modifiers/
│ │ │ │ │ ├── base/
│ │ │ │ │ │ ├── base_class_declaration.dart
│ │ │ │ │ │ ├── base_class_declaration.dart.expect
│ │ │ │ │ │ ├── base_class_declaration.dart.intertwined.expect
│ │ │ │ │ │ ├── base_class_declaration.dart.parser.expect
│ │ │ │ │ │ └── base_class_declaration.dart.scanner.expect
│ │ │ │ │ ├── final/
│ │ │ │ │ │ ├── final_class_declaration.dart
│ │ │ │ │ │ ├── final_class_declaration.dart.expect
│ │ │ │ │ │ ├── final_class_declaration.dart.intertwined.expect
│ │ │ │ │ │ ├── final_class_declaration.dart.parser.expect
│ │ │ │ │ │ └── final_class_declaration.dart.scanner.expect
│ │ │ │ │ ├── interface/
│ │ │ │ │ │ ├── interface_class_declaration.dart
│ │ │ │ │ │ ├── interface_class_declaration.dart.expect
│ │ │ │ │ │ ├── interface_class_declaration.dart.intertwined.expect
│ │ │ │ │ │ ├── interface_class_declaration.dart.parser.expect
│ │ │ │ │ │ └── interface_class_declaration.dart.scanner.expect
│ │ │ │ │ └── mixin/
│ │ │ │ │ ├── mixin_class.dart
│ │ │ │ │ ├── mixin_class.dart.expect
│ │ │ │ │ ├── mixin_class.dart.intertwined.expect
│ │ │ │ │ ├── mixin_class.dart.parser.expect
│ │ │ │ │ └── mixin_class.dart.scanner.expect
│ │ │ │ ├── enhanced_enums/
│ │ │ │ │ ├── entries_with_type_arguments.dart
│ │ │ │ │ ├── entries_with_type_arguments.dart.expect
│ │ │ │ │ ├── entries_with_type_arguments.dart.intertwined.expect
│ │ │ │ │ ├── entries_with_type_arguments.dart.parser.expect
│ │ │ │ │ └── entries_with_type_arguments.dart.scanner.expect
│ │ │ │ ├── error_recovery/
│ │ │ │ │ ├── await_not_in_async.dart
│ │ │ │ │ ├── await_not_in_async.dart.expect
│ │ │ │ │ ├── await_not_in_async.dart.intertwined.expect
│ │ │ │ │ ├── await_not_in_async.dart.parser.expect
│ │ │ │ │ ├── await_not_in_async.dart.scanner.expect
│ │ │ │ │ ├── bracket_mismatch_00.dart
│ │ │ │ │ ├── bracket_mismatch_00.dart.expect
│ │ │ │ │ ├── bracket_mismatch_00.dart.intertwined.expect
│ │ │ │ │ ├── bracket_mismatch_00.dart.parser.expect
│ │ │ │ │ ├── bracket_mismatch_00.dart.scanner.expect
│ │ │ │ │ ├── bracket_mismatch_01.dart
│ │ │ │ │ ├── bracket_mismatch_01.dart.expect
│ │ │ │ │ ├── bracket_mismatch_01.dart.intertwined.expect
│ │ │ │ │ ├── bracket_mismatch_01.dart.parser.expect
│ │ │ │ │ ├── bracket_mismatch_01.dart.scanner.expect
│ │ │ │ │ ├── bracket_mismatch_02.dart
│ │ │ │ │ ├── bracket_mismatch_02.dart.expect
│ │ │ │ │ ├── bracket_mismatch_02.dart.intertwined.expect
│ │ │ │ │ ├── bracket_mismatch_02.dart.parser.expect
│ │ │ │ │ ├── bracket_mismatch_02.dart.scanner.expect
│ │ │ │ │ ├── bracket_mismatch_03.dart
│ │ │ │ │ ├── bracket_mismatch_03.dart.expect
│ │ │ │ │ ├── bracket_mismatch_03.dart.intertwined.expect
│ │ │ │ │ ├── bracket_mismatch_03.dart.parser.expect
│ │ │ │ │ ├── bracket_mismatch_03.dart.scanner.expect
│ │ │ │ │ ├── bracket_mismatch_04.dart
│ │ │ │ │ ├── bracket_mismatch_04.dart.expect
│ │ │ │ │ ├── bracket_mismatch_04.dart.intertwined.expect
│ │ │ │ │ ├── bracket_mismatch_04.dart.parser.expect
│ │ │ │ │ ├── bracket_mismatch_04.dart.scanner.expect
│ │ │ │ │ ├── bracket_mismatch_05.dart
│ │ │ │ │ ├── bracket_mismatch_05.dart.expect
│ │ │ │ │ ├── bracket_mismatch_05.dart.intertwined.expect
│ │ │ │ │ ├── bracket_mismatch_05.dart.parser.expect
│ │ │ │ │ ├── bracket_mismatch_05.dart.scanner.expect
│ │ │ │ │ ├── bracket_mismatch_06.dart
│ │ │ │ │ ├── bracket_mismatch_06.dart.expect
│ │ │ │ │ ├── bracket_mismatch_06.dart.intertwined.expect
│ │ │ │ │ ├── bracket_mismatch_06.dart.parser.expect
│ │ │ │ │ ├── bracket_mismatch_06.dart.scanner.expect
│ │ │ │ │ ├── comment_on_non_ascii_identifier.dart
│ │ │ │ │ ├── comment_on_non_ascii_identifier.dart.expect
│ │ │ │ │ ├── comment_on_non_ascii_identifier.dart.intertwined.expect
│ │ │ │ │ ├── comment_on_non_ascii_identifier.dart.parser.expect
│ │ │ │ │ ├── comment_on_non_ascii_identifier.dart.scanner.expect
│ │ │ │ │ ├── constructor_recovery_bad_name_general.crash_dart
│ │ │ │ │ ├── constructor_recovery_bad_name_general.crash_dart.expect
│ │ │ │ │ ├── constructor_recovery_bad_name_general.crash_dart.intertwined.expect
│ │ │ │ │ ├── constructor_recovery_bad_name_general.crash_dart.parser.expect
│ │ │ │ │ ├── constructor_recovery_bad_name_general.crash_dart.scanner.expect
│ │ │ │ │ ├── constructor_recovery_bad_name_get.crash_dart
│ │ │ │ │ ├── constructor_recovery_bad_name_get.crash_dart.expect
│ │ │ │ │ ├── constructor_recovery_bad_name_get.crash_dart.intertwined.expect
│ │ │ │ │ ├── constructor_recovery_bad_name_get.crash_dart.parser.expect
│ │ │ │ │ ├── constructor_recovery_bad_name_get.crash_dart.scanner.expect
│ │ │ │ │ ├── constructor_recovery_bad_name_return_type.crash_dart
│ │ │ │ │ ├── constructor_recovery_bad_name_return_type.crash_dart.expect
│ │ │ │ │ ├── constructor_recovery_bad_name_return_type.crash_dart.intertwined.expect
│ │ │ │ │ ├── constructor_recovery_bad_name_return_type.crash_dart.parser.expect
│ │ │ │ │ ├── constructor_recovery_bad_name_return_type.crash_dart.scanner.expect
│ │ │ │ │ ├── constructor_recovery_bad_name_set.crash_dart
│ │ │ │ │ ├── constructor_recovery_bad_name_set.crash_dart.expect
│ │ │ │ │ ├── constructor_recovery_bad_name_set.crash_dart.intertwined.expect
│ │ │ │ │ ├── constructor_recovery_bad_name_set.crash_dart.parser.expect
│ │ │ │ │ ├── constructor_recovery_bad_name_set.crash_dart.scanner.expect
│ │ │ │ │ ├── constructor_recovery_get.dart
│ │ │ │ │ ├── constructor_recovery_get.dart.expect
│ │ │ │ │ ├── constructor_recovery_get.dart.intertwined.expect
│ │ │ │ │ ├── constructor_recovery_get.dart.parser.expect
│ │ │ │ │ ├── constructor_recovery_get.dart.scanner.expect
│ │ │ │ │ ├── constructor_recovery_ok.dart
│ │ │ │ │ ├── constructor_recovery_ok.dart.expect
│ │ │ │ │ ├── constructor_recovery_ok.dart.intertwined.expect
│ │ │ │ │ ├── constructor_recovery_ok.dart.parser.expect
│ │ │ │ │ ├── constructor_recovery_ok.dart.scanner.expect
│ │ │ │ │ ├── constructor_recovery_operator.crash_dart
│ │ │ │ │ ├── constructor_recovery_operator.crash_dart.expect
│ │ │ │ │ ├── constructor_recovery_operator.crash_dart.intertwined.expect
│ │ │ │ │ ├── constructor_recovery_operator.crash_dart.parser.expect
│ │ │ │ │ ├── constructor_recovery_operator.crash_dart.scanner.expect
│ │ │ │ │ ├── constructor_recovery_return_type.dart
│ │ │ │ │ ├── constructor_recovery_return_type.dart.expect
│ │ │ │ │ ├── constructor_recovery_return_type.dart.intertwined.expect
│ │ │ │ │ ├── constructor_recovery_return_type.dart.parser.expect
│ │ │ │ │ ├── constructor_recovery_return_type.dart.scanner.expect
│ │ │ │ │ ├── constructor_recovery_set.dart
│ │ │ │ │ ├── constructor_recovery_set.dart.expect
│ │ │ │ │ ├── constructor_recovery_set.dart.intertwined.expect
│ │ │ │ │ ├── constructor_recovery_set.dart.parser.expect
│ │ │ │ │ ├── constructor_recovery_set.dart.scanner.expect
│ │ │ │ │ ├── empty_await_for.dart
│ │ │ │ │ ├── empty_await_for.dart.expect
│ │ │ │ │ ├── empty_await_for.dart.intertwined.expect
│ │ │ │ │ ├── empty_await_for.dart.parser.expect
│ │ │ │ │ ├── empty_await_for.dart.scanner.expect
│ │ │ │ │ ├── empty_for.dart
│ │ │ │ │ ├── empty_for.dart.expect
│ │ │ │ │ ├── empty_for.dart.intertwined.expect
│ │ │ │ │ ├── empty_for.dart.parser.expect
│ │ │ │ │ ├── empty_for.dart.scanner.expect
│ │ │ │ │ ├── extension_member_contributor_test_completion.dart
│ │ │ │ │ ├── extension_member_contributor_test_completion.dart.expect
│ │ │ │ │ ├── extension_member_contributor_test_completion.dart.intertwined.expect
│ │ │ │ │ ├── extension_member_contributor_test_completion.dart.parser.expect
│ │ │ │ │ ├── extension_member_contributor_test_completion.dart.scanner.expect
│ │ │ │ │ ├── for_in_with_colon.dart
│ │ │ │ │ ├── for_in_with_colon.dart.expect
│ │ │ │ │ ├── for_in_with_colon.dart.intertwined.expect
│ │ │ │ │ ├── for_in_with_colon.dart.parser.expect
│ │ │ │ │ ├── for_in_with_colon.dart.scanner.expect
│ │ │ │ │ ├── issue_000032.dart
│ │ │ │ │ ├── issue_000032.dart.expect
│ │ │ │ │ ├── issue_000032.dart.intertwined.expect
│ │ │ │ │ ├── issue_000032.dart.parser.expect
│ │ │ │ │ ├── issue_000032.dart.scanner.expect
│ │ │ │ │ ├── issue_22313.dart
│ │ │ │ │ ├── issue_22313.dart.expect
│ │ │ │ │ ├── issue_22313.dart.intertwined.expect
│ │ │ │ │ ├── issue_22313.dart.parser.expect
│ │ │ │ │ ├── issue_22313.dart.scanner.expect
│ │ │ │ │ ├── issue_22314.dart
│ │ │ │ │ ├── issue_22314.dart.expect
│ │ │ │ │ ├── issue_22314.dart.intertwined.expect
│ │ │ │ │ ├── issue_22314.dart.parser.expect
│ │ │ │ │ ├── issue_22314.dart.scanner.expect
│ │ │ │ │ ├── issue_26073.dart
│ │ │ │ │ ├── issue_26073.dart.expect
│ │ │ │ │ ├── issue_26073.dart.intertwined.expect
│ │ │ │ │ ├── issue_26073.dart.parser.expect
│ │ │ │ │ ├── issue_26073.dart.scanner.expect
│ │ │ │ │ ├── issue_26810.dart
│ │ │ │ │ ├── issue_26810.dart.expect
│ │ │ │ │ ├── issue_26810.dart.intertwined.expect
│ │ │ │ │ ├── issue_26810.dart.parser.expect
│ │ │ │ │ ├── issue_26810.dart.scanner.expect
│ │ │ │ │ ├── issue_26810_and.dart
│ │ │ │ │ ├── issue_26810_and.dart.expect
│ │ │ │ │ ├── issue_26810_and.dart.intertwined.expect
│ │ │ │ │ ├── issue_26810_and.dart.parser.expect
│ │ │ │ │ ├── issue_26810_and.dart.scanner.expect
│ │ │ │ │ ├── issue_26810_or.dart
│ │ │ │ │ ├── issue_26810_or.dart.expect
│ │ │ │ │ ├── issue_26810_or.dart.intertwined.expect
│ │ │ │ │ ├── issue_26810_or.dart.parser.expect
│ │ │ │ │ ├── issue_26810_or.dart.scanner.expect
│ │ │ │ │ ├── issue_38415.crash_dart
│ │ │ │ │ ├── issue_38415.crash_dart.expect
│ │ │ │ │ ├── issue_38415.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_38415.crash_dart.parser.expect
│ │ │ │ │ ├── issue_38415.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_39024.crash_dart
│ │ │ │ │ ├── issue_39024.crash_dart.expect
│ │ │ │ │ ├── issue_39024.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_39024.crash_dart.parser.expect
│ │ │ │ │ ├── issue_39024.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_39026.crash_dart
│ │ │ │ │ ├── issue_39026.crash_dart.expect
│ │ │ │ │ ├── issue_39026.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_39026.crash_dart.parser.expect
│ │ │ │ │ ├── issue_39026.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_39026_prime.crash_dart
│ │ │ │ │ ├── issue_39026_prime.crash_dart.expect
│ │ │ │ │ ├── issue_39026_prime.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_39026_prime.crash_dart.parser.expect
│ │ │ │ │ ├── issue_39026_prime.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_39033.crash_dart
│ │ │ │ │ ├── issue_39033.crash_dart.expect
│ │ │ │ │ ├── issue_39033.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_39033.crash_dart.parser.expect
│ │ │ │ │ ├── issue_39033.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_39058.crash_dart
│ │ │ │ │ ├── issue_39058.crash_dart.expect
│ │ │ │ │ ├── issue_39058.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_39058.crash_dart.parser.expect
│ │ │ │ │ ├── issue_39058.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_39058_prime.crash_dart
│ │ │ │ │ ├── issue_39058_prime.crash_dart.expect
│ │ │ │ │ ├── issue_39058_prime.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_39058_prime.crash_dart.parser.expect
│ │ │ │ │ ├── issue_39058_prime.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_39060.dart
│ │ │ │ │ ├── issue_39060.dart.expect
│ │ │ │ │ ├── issue_39060.dart.intertwined.expect
│ │ │ │ │ ├── issue_39060.dart.parser.expect
│ │ │ │ │ ├── issue_39060.dart.scanner.expect
│ │ │ │ │ ├── issue_39202.crash_dart
│ │ │ │ │ ├── issue_39202.crash_dart.expect
│ │ │ │ │ ├── issue_39202.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_39202.crash_dart.parser.expect
│ │ │ │ │ ├── issue_39202.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_39230.crash_dart
│ │ │ │ │ ├── issue_39230.crash_dart.expect
│ │ │ │ │ ├── issue_39230.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_39230.crash_dart.parser.expect
│ │ │ │ │ ├── issue_39230.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_39958_01.dart
│ │ │ │ │ ├── issue_39958_01.dart.expect
│ │ │ │ │ ├── issue_39958_01.dart.intertwined.expect
│ │ │ │ │ ├── issue_39958_01.dart.parser.expect
│ │ │ │ │ ├── issue_39958_01.dart.scanner.expect
│ │ │ │ │ ├── issue_39958_02.dart
│ │ │ │ │ ├── issue_39958_02.dart.expect
│ │ │ │ │ ├── issue_39958_02.dart.intertwined.expect
│ │ │ │ │ ├── issue_39958_02.dart.parser.expect
│ │ │ │ │ ├── issue_39958_02.dart.scanner.expect
│ │ │ │ │ ├── issue_39958_03.dart
│ │ │ │ │ ├── issue_39958_03.dart.expect
│ │ │ │ │ ├── issue_39958_03.dart.intertwined.expect
│ │ │ │ │ ├── issue_39958_03.dart.parser.expect
│ │ │ │ │ ├── issue_39958_03.dart.scanner.expect
│ │ │ │ │ ├── issue_39958_04.dart
│ │ │ │ │ ├── issue_39958_04.dart.expect
│ │ │ │ │ ├── issue_39958_04.dart.intertwined.expect
│ │ │ │ │ ├── issue_39958_04.dart.parser.expect
│ │ │ │ │ ├── issue_39958_04.dart.scanner.expect
│ │ │ │ │ ├── issue_41265.crash_dart
│ │ │ │ │ ├── issue_41265.crash_dart.expect
│ │ │ │ │ ├── issue_41265.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_41265.crash_dart.parser.expect
│ │ │ │ │ ├── issue_41265.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_42229.crash_dart
│ │ │ │ │ ├── issue_42229.crash_dart.expect
│ │ │ │ │ ├── issue_42229.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_42229.crash_dart.parser.expect
│ │ │ │ │ ├── issue_42229.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_42229_prime.crash_dart
│ │ │ │ │ ├── issue_42229_prime.crash_dart.expect
│ │ │ │ │ ├── issue_42229_prime.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_42229_prime.crash_dart.parser.expect
│ │ │ │ │ ├── issue_42229_prime.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_42229_prime_2.crash_dart
│ │ │ │ │ ├── issue_42229_prime_2.crash_dart.expect
│ │ │ │ │ ├── issue_42229_prime_2.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_42229_prime_2.crash_dart.parser.expect
│ │ │ │ │ ├── issue_42229_prime_2.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_42229_prime_3.crash_dart
│ │ │ │ │ ├── issue_42229_prime_3.crash_dart.expect
│ │ │ │ │ ├── issue_42229_prime_3.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_42229_prime_3.crash_dart.parser.expect
│ │ │ │ │ ├── issue_42229_prime_3.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_42229_prime_4.crash_dart
│ │ │ │ │ ├── issue_42229_prime_4.crash_dart.expect
│ │ │ │ │ ├── issue_42229_prime_4.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_42229_prime_4.crash_dart.parser.expect
│ │ │ │ │ ├── issue_42229_prime_4.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_42229_prime_5.dart
│ │ │ │ │ ├── issue_42229_prime_5.dart.expect
│ │ │ │ │ ├── issue_42229_prime_5.dart.intertwined.expect
│ │ │ │ │ ├── issue_42229_prime_5.dart.parser.expect
│ │ │ │ │ ├── issue_42229_prime_5.dart.scanner.expect
│ │ │ │ │ ├── issue_42229_prime_6.dart
│ │ │ │ │ ├── issue_42229_prime_6.dart.expect
│ │ │ │ │ ├── issue_42229_prime_6.dart.intertwined.expect
│ │ │ │ │ ├── issue_42229_prime_6.dart.parser.expect
│ │ │ │ │ ├── issue_42229_prime_6.dart.scanner.expect
│ │ │ │ │ ├── issue_42267.dart
│ │ │ │ │ ├── issue_42267.dart.expect
│ │ │ │ │ ├── issue_42267.dart.intertwined.expect
│ │ │ │ │ ├── issue_42267.dart.parser.expect
│ │ │ │ │ ├── issue_42267.dart.scanner.expect
│ │ │ │ │ ├── issue_43090.crash_dart
│ │ │ │ │ ├── issue_43090.crash_dart.expect
│ │ │ │ │ ├── issue_43090.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_43090.crash_dart.parser.expect
│ │ │ │ │ ├── issue_43090.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_43090_prime_01.crash_dart
│ │ │ │ │ ├── issue_43090_prime_01.crash_dart.expect
│ │ │ │ │ ├── issue_43090_prime_01.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_43090_prime_01.crash_dart.parser.expect
│ │ │ │ │ ├── issue_43090_prime_01.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_43090_prime_02.crash_dart
│ │ │ │ │ ├── issue_43090_prime_02.crash_dart.expect
│ │ │ │ │ ├── issue_43090_prime_02.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_43090_prime_02.crash_dart.parser.expect
│ │ │ │ │ ├── issue_43090_prime_02.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_44785.crash_dart
│ │ │ │ │ ├── issue_44785.crash_dart.expect
│ │ │ │ │ ├── issue_44785.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_44785.crash_dart.parser.expect
│ │ │ │ │ ├── issue_44785.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_44785_prime_1.crash_dart
│ │ │ │ │ ├── issue_44785_prime_1.crash_dart.expect
│ │ │ │ │ ├── issue_44785_prime_1.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_44785_prime_1.crash_dart.parser.expect
│ │ │ │ │ ├── issue_44785_prime_1.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_44785_prime_2.crash_dart
│ │ │ │ │ ├── issue_44785_prime_2.crash_dart.expect
│ │ │ │ │ ├── issue_44785_prime_2.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_44785_prime_2.crash_dart.parser.expect
│ │ │ │ │ ├── issue_44785_prime_2.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_45251.dart
│ │ │ │ │ ├── issue_45251.dart.expect
│ │ │ │ │ ├── issue_45251.dart.intertwined.expect
│ │ │ │ │ ├── issue_45251.dart.parser.expect
│ │ │ │ │ ├── issue_45251.dart.scanner.expect
│ │ │ │ │ ├── issue_45251_const.dart
│ │ │ │ │ ├── issue_45251_const.dart.expect
│ │ │ │ │ ├── issue_45251_const.dart.intertwined.expect
│ │ │ │ │ ├── issue_45251_const.dart.parser.expect
│ │ │ │ │ ├── issue_45251_const.dart.scanner.expect
│ │ │ │ │ ├── issue_45251_list.dart
│ │ │ │ │ ├── issue_45251_list.dart.expect
│ │ │ │ │ ├── issue_45251_list.dart.intertwined.expect
│ │ │ │ │ ├── issue_45251_list.dart.parser.expect
│ │ │ │ │ ├── issue_45251_list.dart.scanner.expect
│ │ │ │ │ ├── issue_45251_list_const.dart
│ │ │ │ │ ├── issue_45251_list_const.dart.expect
│ │ │ │ │ ├── issue_45251_list_const.dart.intertwined.expect
│ │ │ │ │ ├── issue_45251_list_const.dart.parser.expect
│ │ │ │ │ ├── issue_45251_list_const.dart.scanner.expect
│ │ │ │ │ ├── issue_45251_list_new.dart
│ │ │ │ │ ├── issue_45251_list_new.dart.expect
│ │ │ │ │ ├── issue_45251_list_new.dart.intertwined.expect
│ │ │ │ │ ├── issue_45251_list_new.dart.parser.expect
│ │ │ │ │ ├── issue_45251_list_new.dart.scanner.expect
│ │ │ │ │ ├── issue_45251_new.dart
│ │ │ │ │ ├── issue_45251_new.dart.expect
│ │ │ │ │ ├── issue_45251_new.dart.intertwined.expect
│ │ │ │ │ ├── issue_45251_new.dart.parser.expect
│ │ │ │ │ ├── issue_45251_new.dart.scanner.expect
│ │ │ │ │ ├── issue_45251_set.dart
│ │ │ │ │ ├── issue_45251_set.dart.expect
│ │ │ │ │ ├── issue_45251_set.dart.intertwined.expect
│ │ │ │ │ ├── issue_45251_set.dart.parser.expect
│ │ │ │ │ ├── issue_45251_set.dart.scanner.expect
│ │ │ │ │ ├── issue_45251_set_const.dart
│ │ │ │ │ ├── issue_45251_set_const.dart.expect
│ │ │ │ │ ├── issue_45251_set_const.dart.intertwined.expect
│ │ │ │ │ ├── issue_45251_set_const.dart.parser.expect
│ │ │ │ │ ├── issue_45251_set_const.dart.scanner.expect
│ │ │ │ │ ├── issue_45251_set_new.dart
│ │ │ │ │ ├── issue_45251_set_new.dart.expect
│ │ │ │ │ ├── issue_45251_set_new.dart.intertwined.expect
│ │ │ │ │ ├── issue_45251_set_new.dart.parser.expect
│ │ │ │ │ ├── issue_45251_set_new.dart.scanner.expect
│ │ │ │ │ ├── issue_45327.crash_dart
│ │ │ │ │ ├── issue_45327.crash_dart.expect
│ │ │ │ │ ├── issue_45327.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_45327.crash_dart.parser.expect
│ │ │ │ │ ├── issue_45327.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_45327_prime_1.crash_dart
│ │ │ │ │ ├── issue_45327_prime_1.crash_dart.expect
│ │ │ │ │ ├── issue_45327_prime_1.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_45327_prime_1.crash_dart.parser.expect
│ │ │ │ │ ├── issue_45327_prime_1.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_45662.crash_dart
│ │ │ │ │ ├── issue_45662.crash_dart.expect
│ │ │ │ │ ├── issue_45662.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_45662.crash_dart.parser.expect
│ │ │ │ │ ├── issue_45662.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_45662.equivalence_info
│ │ │ │ │ ├── issue_45662_gt_gt.crash_dart
│ │ │ │ │ ├── issue_45662_gt_gt.crash_dart.expect
│ │ │ │ │ ├── issue_45662_gt_gt.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_45662_gt_gt.crash_dart.parser.expect
│ │ │ │ │ ├── issue_45662_gt_gt.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_45662_gt_gt.equivalence_info
│ │ │ │ │ ├── issue_45662_gt_gt_prime.crash_dart
│ │ │ │ │ ├── issue_45662_gt_gt_prime.crash_dart.expect
│ │ │ │ │ ├── issue_45662_gt_gt_prime.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_45662_gt_gt_prime.crash_dart.parser.expect
│ │ │ │ │ ├── issue_45662_gt_gt_prime.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_45662_prime.crash_dart
│ │ │ │ │ ├── issue_45662_prime.crash_dart.expect
│ │ │ │ │ ├── issue_45662_prime.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_45662_prime.crash_dart.parser.expect
│ │ │ │ │ ├── issue_45662_prime.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_46346.dart
│ │ │ │ │ ├── issue_46346.dart.expect
│ │ │ │ │ ├── issue_46346.dart.intertwined.expect
│ │ │ │ │ ├── issue_46346.dart.parser.expect
│ │ │ │ │ ├── issue_46346.dart.scanner.expect
│ │ │ │ │ ├── issue_46346_prime_1.dart
│ │ │ │ │ ├── issue_46346_prime_1.dart.expect
│ │ │ │ │ ├── issue_46346_prime_1.dart.intertwined.expect
│ │ │ │ │ ├── issue_46346_prime_1.dart.parser.expect
│ │ │ │ │ ├── issue_46346_prime_1.dart.scanner.expect
│ │ │ │ │ ├── issue_46346_prime_2.dart
│ │ │ │ │ ├── issue_46346_prime_2.dart.expect
│ │ │ │ │ ├── issue_46346_prime_2.dart.intertwined.expect
│ │ │ │ │ ├── issue_46346_prime_2.dart.parser.expect
│ │ │ │ │ ├── issue_46346_prime_2.dart.scanner.expect
│ │ │ │ │ ├── issue_46505.crash_dart
│ │ │ │ │ ├── issue_46505.crash_dart.expect
│ │ │ │ │ ├── issue_46505.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_46505.crash_dart.parser.expect
│ │ │ │ │ ├── issue_46505.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_46505_prime_1.crash_dart
│ │ │ │ │ ├── issue_46505_prime_1.crash_dart.expect
│ │ │ │ │ ├── issue_46505_prime_1.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_46505_prime_1.crash_dart.parser.expect
│ │ │ │ │ ├── issue_46505_prime_1.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_46505_prime_2.crash_dart
│ │ │ │ │ ├── issue_46505_prime_2.crash_dart.expect
│ │ │ │ │ ├── issue_46505_prime_2.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_46505_prime_2.crash_dart.parser.expect
│ │ │ │ │ ├── issue_46505_prime_2.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_46505_prime_3.crash_dart
│ │ │ │ │ ├── issue_46505_prime_3.crash_dart.expect
│ │ │ │ │ ├── issue_46505_prime_3.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_46505_prime_3.crash_dart.parser.expect
│ │ │ │ │ ├── issue_46505_prime_3.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_46505_prime_4.crash_dart
│ │ │ │ │ ├── issue_46505_prime_4.crash_dart.expect
│ │ │ │ │ ├── issue_46505_prime_4.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_46505_prime_4.crash_dart.parser.expect
│ │ │ │ │ ├── issue_46505_prime_4.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_46505_prime_5.crash_dart
│ │ │ │ │ ├── issue_46505_prime_5.crash_dart.expect
│ │ │ │ │ ├── issue_46505_prime_5.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_46505_prime_5.crash_dart.parser.expect
│ │ │ │ │ ├── issue_46505_prime_5.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_46505_prime_6.crash_dart
│ │ │ │ │ ├── issue_46505_prime_6.crash_dart.expect
│ │ │ │ │ ├── issue_46505_prime_6.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_46505_prime_6.crash_dart.parser.expect
│ │ │ │ │ ├── issue_46505_prime_6.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_46736.dart
│ │ │ │ │ ├── issue_46736.dart.expect
│ │ │ │ │ ├── issue_46736.dart.intertwined.expect
│ │ │ │ │ ├── issue_46736.dart.parser.expect
│ │ │ │ │ ├── issue_46736.dart.scanner.expect
│ │ │ │ │ ├── issue_46736.equivalence_info
│ │ │ │ │ ├── issue_46736_prime.dart
│ │ │ │ │ ├── issue_46736_prime.dart.expect
│ │ │ │ │ ├── issue_46736_prime.dart.intertwined.expect
│ │ │ │ │ ├── issue_46736_prime.dart.parser.expect
│ │ │ │ │ ├── issue_46736_prime.dart.scanner.expect
│ │ │ │ │ ├── issue_48288.dart
│ │ │ │ │ ├── issue_48288.dart.expect
│ │ │ │ │ ├── issue_48288.dart.intertwined.expect
│ │ │ │ │ ├── issue_48288.dart.parser.expect
│ │ │ │ │ ├── issue_48288.dart.scanner.expect
│ │ │ │ │ ├── issue_48288.equivalence_info
│ │ │ │ │ ├── issue_48288_prime.dart
│ │ │ │ │ ├── issue_48288_prime.dart.expect
│ │ │ │ │ ├── issue_48288_prime.dart.intertwined.expect
│ │ │ │ │ ├── issue_48288_prime.dart.parser.expect
│ │ │ │ │ ├── issue_48288_prime.dart.scanner.expect
│ │ │ │ │ ├── issue_48371.dart
│ │ │ │ │ ├── issue_48371.dart.expect
│ │ │ │ │ ├── issue_48371.dart.intertwined.expect
│ │ │ │ │ ├── issue_48371.dart.parser.expect
│ │ │ │ │ ├── issue_48371.dart.scanner.expect
│ │ │ │ │ ├── issue_48371_prime1.dart
│ │ │ │ │ ├── issue_48371_prime1.dart.expect
│ │ │ │ │ ├── issue_48371_prime1.dart.intertwined.expect
│ │ │ │ │ ├── issue_48371_prime1.dart.parser.expect
│ │ │ │ │ ├── issue_48371_prime1.dart.scanner.expect
│ │ │ │ │ ├── issue_48371_prime2.dart
│ │ │ │ │ ├── issue_48371_prime2.dart.expect
│ │ │ │ │ ├── issue_48371_prime2.dart.intertwined.expect
│ │ │ │ │ ├── issue_48371_prime2.dart.parser.expect
│ │ │ │ │ ├── issue_48371_prime2.dart.scanner.expect
│ │ │ │ │ ├── issue_48371_prime3.dart
│ │ │ │ │ ├── issue_48371_prime3.dart.expect
│ │ │ │ │ ├── issue_48371_prime3.dart.intertwined.expect
│ │ │ │ │ ├── issue_48371_prime3.dart.parser.expect
│ │ │ │ │ ├── issue_48371_prime3.dart.scanner.expect
│ │ │ │ │ ├── issue_48371_prime4.dart
│ │ │ │ │ ├── issue_48371_prime4.dart.expect
│ │ │ │ │ ├── issue_48371_prime4.dart.intertwined.expect
│ │ │ │ │ ├── issue_48371_prime4.dart.parser.expect
│ │ │ │ │ ├── issue_48371_prime4.dart.scanner.expect
│ │ │ │ │ ├── issue_48380_1.dart
│ │ │ │ │ ├── issue_48380_1.dart.expect
│ │ │ │ │ ├── issue_48380_1.dart.intertwined.expect
│ │ │ │ │ ├── issue_48380_1.dart.parser.expect
│ │ │ │ │ ├── issue_48380_1.dart.scanner.expect
│ │ │ │ │ ├── issue_48380_1.equivalence_info
│ │ │ │ │ ├── issue_48380_1_comma.dart
│ │ │ │ │ ├── issue_48380_1_comma.dart.expect
│ │ │ │ │ ├── issue_48380_1_comma.dart.intertwined.expect
│ │ │ │ │ ├── issue_48380_1_comma.dart.parser.expect
│ │ │ │ │ ├── issue_48380_1_comma.dart.scanner.expect
│ │ │ │ │ ├── issue_48380_1_comma.equivalence_info
│ │ │ │ │ ├── issue_48380_1_comma_ok.dart
│ │ │ │ │ ├── issue_48380_1_comma_ok.dart.expect
│ │ │ │ │ ├── issue_48380_1_comma_ok.dart.intertwined.expect
│ │ │ │ │ ├── issue_48380_1_comma_ok.dart.parser.expect
│ │ │ │ │ ├── issue_48380_1_comma_ok.dart.scanner.expect
│ │ │ │ │ ├── issue_48380_1_ok.dart
│ │ │ │ │ ├── issue_48380_1_ok.dart.expect
│ │ │ │ │ ├── issue_48380_1_ok.dart.intertwined.expect
│ │ │ │ │ ├── issue_48380_1_ok.dart.parser.expect
│ │ │ │ │ ├── issue_48380_1_ok.dart.scanner.expect
│ │ │ │ │ ├── issue_48380_2.dart
│ │ │ │ │ ├── issue_48380_2.dart.expect
│ │ │ │ │ ├── issue_48380_2.dart.intertwined.expect
│ │ │ │ │ ├── issue_48380_2.dart.parser.expect
│ │ │ │ │ ├── issue_48380_2.dart.scanner.expect
│ │ │ │ │ ├── issue_48380_2.equivalence_info
│ │ │ │ │ ├── issue_48380_2_comma.dart
│ │ │ │ │ ├── issue_48380_2_comma.dart.expect
│ │ │ │ │ ├── issue_48380_2_comma.dart.intertwined.expect
│ │ │ │ │ ├── issue_48380_2_comma.dart.parser.expect
│ │ │ │ │ ├── issue_48380_2_comma.dart.scanner.expect
│ │ │ │ │ ├── issue_48380_2_comma.equivalence_info
│ │ │ │ │ ├── issue_48380_2_comma_ok.dart
│ │ │ │ │ ├── issue_48380_2_comma_ok.dart.expect
│ │ │ │ │ ├── issue_48380_2_comma_ok.dart.intertwined.expect
│ │ │ │ │ ├── issue_48380_2_comma_ok.dart.parser.expect
│ │ │ │ │ ├── issue_48380_2_comma_ok.dart.scanner.expect
│ │ │ │ │ ├── issue_48380_2_ok.dart
│ │ │ │ │ ├── issue_48380_2_ok.dart.expect
│ │ │ │ │ ├── issue_48380_2_ok.dart.intertwined.expect
│ │ │ │ │ ├── issue_48380_2_ok.dart.parser.expect
│ │ │ │ │ ├── issue_48380_2_ok.dart.scanner.expect
│ │ │ │ │ ├── issue_48380_3.dart
│ │ │ │ │ ├── issue_48380_3.dart.expect
│ │ │ │ │ ├── issue_48380_3.dart.intertwined.expect
│ │ │ │ │ ├── issue_48380_3.dart.parser.expect
│ │ │ │ │ ├── issue_48380_3.dart.scanner.expect
│ │ │ │ │ ├── issue_48380_3.equivalence_info
│ │ │ │ │ ├── issue_48380_3_comma.dart
│ │ │ │ │ ├── issue_48380_3_comma.dart.expect
│ │ │ │ │ ├── issue_48380_3_comma.dart.intertwined.expect
│ │ │ │ │ ├── issue_48380_3_comma.dart.parser.expect
│ │ │ │ │ ├── issue_48380_3_comma.dart.scanner.expect
│ │ │ │ │ ├── issue_48380_3_comma.equivalence_info
│ │ │ │ │ ├── issue_48380_3_comma_ok.dart
│ │ │ │ │ ├── issue_48380_3_comma_ok.dart.expect
│ │ │ │ │ ├── issue_48380_3_comma_ok.dart.intertwined.expect
│ │ │ │ │ ├── issue_48380_3_comma_ok.dart.parser.expect
│ │ │ │ │ ├── issue_48380_3_comma_ok.dart.scanner.expect
│ │ │ │ │ ├── issue_48380_3_ok.dart
│ │ │ │ │ ├── issue_48380_3_ok.dart.expect
│ │ │ │ │ ├── issue_48380_3_ok.dart.intertwined.expect
│ │ │ │ │ ├── issue_48380_3_ok.dart.parser.expect
│ │ │ │ │ ├── issue_48380_3_ok.dart.scanner.expect
│ │ │ │ │ ├── issue_48380_4.dart
│ │ │ │ │ ├── issue_48380_4.dart.expect
│ │ │ │ │ ├── issue_48380_4.dart.intertwined.expect
│ │ │ │ │ ├── issue_48380_4.dart.parser.expect
│ │ │ │ │ ├── issue_48380_4.dart.scanner.expect
│ │ │ │ │ ├── issue_48411.dart
│ │ │ │ │ ├── issue_48411.dart.expect
│ │ │ │ │ ├── issue_48411.dart.intertwined.expect
│ │ │ │ │ ├── issue_48411.dart.parser.expect
│ │ │ │ │ ├── issue_48411.dart.scanner.expect
│ │ │ │ │ ├── issue_48411.equivalence_info
│ │ │ │ │ ├── issue_48411_prime.dart
│ │ │ │ │ ├── issue_48411_prime.dart.expect
│ │ │ │ │ ├── issue_48411_prime.dart.intertwined.expect
│ │ │ │ │ ├── issue_48411_prime.dart.parser.expect
│ │ │ │ │ ├── issue_48411_prime.dart.scanner.expect
│ │ │ │ │ ├── issue_48411_prime_1.dart
│ │ │ │ │ ├── issue_48411_prime_1.dart.expect
│ │ │ │ │ ├── issue_48411_prime_1.dart.intertwined.expect
│ │ │ │ │ ├── issue_48411_prime_1.dart.parser.expect
│ │ │ │ │ ├── issue_48411_prime_1.dart.scanner.expect
│ │ │ │ │ ├── issue_49116.dart
│ │ │ │ │ ├── issue_49116.dart.expect
│ │ │ │ │ ├── issue_49116.dart.intertwined.expect
│ │ │ │ │ ├── issue_49116.dart.parser.expect
│ │ │ │ │ ├── issue_49116.dart.scanner.expect
│ │ │ │ │ ├── issue_50908.dart
│ │ │ │ │ ├── issue_50908.dart.expect
│ │ │ │ │ ├── issue_50908.dart.intertwined.expect
│ │ │ │ │ ├── issue_50908.dart.parser.expect
│ │ │ │ │ ├── issue_50908.dart.scanner.expect
│ │ │ │ │ ├── issue_50908_ok.dart
│ │ │ │ │ ├── issue_50908_ok.dart.expect
│ │ │ │ │ ├── issue_50908_ok.dart.intertwined.expect
│ │ │ │ │ ├── issue_50908_ok.dart.parser.expect
│ │ │ │ │ ├── issue_50908_ok.dart.scanner.expect
│ │ │ │ │ ├── issue_50908_ok.equivalence_info
│ │ │ │ │ ├── issue_50908_ok_prime.dart
│ │ │ │ │ ├── issue_50908_ok_prime.dart.expect
│ │ │ │ │ ├── issue_50908_ok_prime.dart.intertwined.expect
│ │ │ │ │ ├── issue_50908_ok_prime.dart.parser.expect
│ │ │ │ │ ├── issue_50908_ok_prime.dart.scanner.expect
│ │ │ │ │ ├── issue_51759.crash_dart
│ │ │ │ │ ├── issue_51759.crash_dart.expect
│ │ │ │ │ ├── issue_51759.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_51759.crash_dart.parser.expect
│ │ │ │ │ ├── issue_51759.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_51759.equivalence_info
│ │ │ │ │ ├── issue_51759_as_reported.crash_dart
│ │ │ │ │ ├── issue_51759_as_reported.crash_dart.expect
│ │ │ │ │ ├── issue_51759_as_reported.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_51759_as_reported.crash_dart.parser.expect
│ │ │ │ │ ├── issue_51759_as_reported.crash_dart.scanner.expect
│ │ │ │ │ ├── issue_51759_prime.crash_dart
│ │ │ │ │ ├── issue_51759_prime.crash_dart.expect
│ │ │ │ │ ├── issue_51759_prime.crash_dart.intertwined.expect
│ │ │ │ │ ├── issue_51759_prime.crash_dart.parser.expect
│ │ │ │ │ ├── issue_51759_prime.crash_dart.scanner.expect
│ │ │ │ │ ├── keyword_named_class_fields.dart
│ │ │ │ │ ├── keyword_named_class_fields.dart.expect
│ │ │ │ │ ├── keyword_named_class_fields.dart.intertwined.expect
│ │ │ │ │ ├── keyword_named_class_fields.dart.parser.expect
│ │ │ │ │ ├── keyword_named_class_fields.dart.scanner.expect
│ │ │ │ │ ├── keyword_named_class_methods.dart
│ │ │ │ │ ├── keyword_named_class_methods.dart.expect
│ │ │ │ │ ├── keyword_named_class_methods.dart.intertwined.expect
│ │ │ │ │ ├── keyword_named_class_methods.dart.parser.expect
│ │ │ │ │ ├── keyword_named_class_methods.dart.scanner.expect
│ │ │ │ │ ├── keyword_named_formal_parameter.dart
│ │ │ │ │ ├── keyword_named_formal_parameter.dart.expect
│ │ │ │ │ ├── keyword_named_formal_parameter.dart.intertwined.expect
│ │ │ │ │ ├── keyword_named_formal_parameter.dart.parser.expect
│ │ │ │ │ ├── keyword_named_formal_parameter.dart.scanner.expect
│ │ │ │ │ ├── keyword_named_formal_parameter.equivalence_info
│ │ │ │ │ ├── keyword_named_formal_parameter_prime.dart
│ │ │ │ │ ├── keyword_named_formal_parameter_prime.dart.expect
│ │ │ │ │ ├── keyword_named_formal_parameter_prime.dart.intertwined.expect
│ │ │ │ │ ├── keyword_named_formal_parameter_prime.dart.parser.expect
│ │ │ │ │ ├── keyword_named_formal_parameter_prime.dart.scanner.expect
│ │ │ │ │ ├── keyword_named_formal_parameter_start_of_next_top_level.dart
│ │ │ │ │ ├── keyword_named_formal_parameter_start_of_next_top_level.dart.expect
│ │ │ │ │ ├── keyword_named_formal_parameter_start_of_next_top_level.dart.intertwined.expect
│ │ │ │ │ ├── keyword_named_formal_parameter_start_of_next_top_level.dart.parser.expect
│ │ │ │ │ ├── keyword_named_formal_parameter_start_of_next_top_level.dart.scanner.expect
│ │ │ │ │ ├── keyword_named_top_level_fields.dart
│ │ │ │ │ ├── keyword_named_top_level_fields.dart.expect
│ │ │ │ │ ├── keyword_named_top_level_fields.dart.intertwined.expect
│ │ │ │ │ ├── keyword_named_top_level_fields.dart.parser.expect
│ │ │ │ │ ├── keyword_named_top_level_fields.dart.scanner.expect
│ │ │ │ │ ├── keyword_named_top_level_methods.dart
│ │ │ │ │ ├── keyword_named_top_level_methods.dart.expect
│ │ │ │ │ ├── keyword_named_top_level_methods.dart.intertwined.expect
│ │ │ │ │ ├── keyword_named_top_level_methods.dart.parser.expect
│ │ │ │ │ ├── keyword_named_top_level_methods.dart.scanner.expect
│ │ │ │ │ ├── keyword_named_typedefs.dart
│ │ │ │ │ ├── keyword_named_typedefs.dart.expect
│ │ │ │ │ ├── keyword_named_typedefs.dart.intertwined.expect
│ │ │ │ │ ├── keyword_named_typedefs.dart.parser.expect
│ │ │ │ │ ├── keyword_named_typedefs.dart.scanner.expect
│ │ │ │ │ ├── method_called_with.dart
│ │ │ │ │ ├── method_called_with.dart.expect
│ │ │ │ │ ├── method_called_with.dart.intertwined.expect
│ │ │ │ │ ├── method_called_with.dart.parser.expect
│ │ │ │ │ ├── method_called_with.dart.scanner.expect
│ │ │ │ │ ├── method_called_with_prime.dart
│ │ │ │ │ ├── method_called_with_prime.dart.expect
│ │ │ │ │ ├── method_called_with_prime.dart.intertwined.expect
│ │ │ │ │ ├── method_called_with_prime.dart.parser.expect
│ │ │ │ │ ├── method_called_with_prime.dart.scanner.expect
│ │ │ │ │ ├── method_called_with_prime2.dart
│ │ │ │ │ ├── method_called_with_prime2.dart.expect
│ │ │ │ │ ├── method_called_with_prime2.dart.intertwined.expect
│ │ │ │ │ ├── method_called_with_prime2.dart.parser.expect
│ │ │ │ │ ├── method_called_with_prime2.dart.scanner.expect
│ │ │ │ │ ├── symbols.dart
│ │ │ │ │ ├── symbols.dart.expect
│ │ │ │ │ ├── symbols.dart.intertwined.expect
│ │ │ │ │ ├── symbols.dart.parser.expect
│ │ │ │ │ ├── symbols.dart.scanner.expect
│ │ │ │ │ ├── utf_16_le_content.crash_dart
│ │ │ │ │ ├── utf_16_le_content.crash_dart.expect
│ │ │ │ │ ├── utf_16_le_content.crash_dart.intertwined.expect
│ │ │ │ │ ├── utf_16_le_content.crash_dart.parser.expect
│ │ │ │ │ ├── utf_16_le_content.crash_dart.scanner.expect
│ │ │ │ │ ├── yield_not_in_generator.dart
│ │ │ │ │ ├── yield_not_in_generator.dart.expect
│ │ │ │ │ ├── yield_not_in_generator.dart.intertwined.expect
│ │ │ │ │ ├── yield_not_in_generator.dart.parser.expect
│ │ │ │ │ └── yield_not_in_generator.dart.scanner.expect
│ │ │ │ ├── extension_named_type.dart
│ │ │ │ ├── extension_named_type.dart.expect
│ │ │ │ ├── extension_named_type.dart.intertwined.expect
│ │ │ │ ├── extension_named_type.dart.parser.expect
│ │ │ │ ├── extension_named_type.dart.scanner.expect
│ │ │ │ ├── extension_type.dart
│ │ │ │ ├── extension_type.dart.expect
│ │ │ │ ├── extension_type.dart.intertwined.expect
│ │ │ │ ├── extension_type.dart.parser.expect
│ │ │ │ ├── extension_type.dart.scanner.expect
│ │ │ │ ├── extensions/
│ │ │ │ │ ├── covariant.dart
│ │ │ │ │ ├── covariant.dart.expect
│ │ │ │ │ ├── covariant.dart.intertwined.expect
│ │ │ │ │ ├── covariant.dart.parser.expect
│ │ │ │ │ ├── covariant.dart.scanner.expect
│ │ │ │ │ ├── not_covariant.dart
│ │ │ │ │ ├── not_covariant.dart.expect
│ │ │ │ │ ├── not_covariant.dart.intertwined.expect
│ │ │ │ │ ├── not_covariant.dart.parser.expect
│ │ │ │ │ ├── not_covariant.dart.scanner.expect
│ │ │ │ │ ├── static.dart
│ │ │ │ │ ├── static.dart.expect
│ │ │ │ │ ├── static.dart.intertwined.expect
│ │ │ │ │ ├── static.dart.parser.expect
│ │ │ │ │ ├── static.dart.scanner.expect
│ │ │ │ │ ├── static_covariant.dart
│ │ │ │ │ ├── static_covariant.dart.expect
│ │ │ │ │ ├── static_covariant.dart.intertwined.expect
│ │ │ │ │ ├── static_covariant.dart.parser.expect
│ │ │ │ │ └── static_covariant.dart.scanner.expect
│ │ │ │ ├── general/
│ │ │ │ │ ├── ambiguous_builder_01.dart
│ │ │ │ │ ├── ambiguous_builder_01.dart.expect
│ │ │ │ │ ├── ambiguous_builder_01.dart.intertwined.expect
│ │ │ │ │ ├── ambiguous_builder_01.dart.parser.expect
│ │ │ │ │ ├── ambiguous_builder_01.dart.scanner.expect
│ │ │ │ │ ├── assignment.dart
│ │ │ │ │ ├── assignment.dart.expect
│ │ │ │ │ ├── assignment.dart.intertwined.expect
│ │ │ │ │ ├── assignment.dart.parser.expect
│ │ │ │ │ ├── assignment.dart.scanner.expect
│ │ │ │ │ ├── augment_super.dart
│ │ │ │ │ ├── augment_super.dart.expect
│ │ │ │ │ ├── augment_super.dart.intertwined.expect
│ │ │ │ │ ├── augment_super.dart.parser.expect
│ │ │ │ │ ├── augment_super.dart.scanner.expect
│ │ │ │ │ ├── built_in_identifier_class_fields.dart
│ │ │ │ │ ├── built_in_identifier_class_fields.dart.expect
│ │ │ │ │ ├── built_in_identifier_class_fields.dart.intertwined.expect
│ │ │ │ │ ├── built_in_identifier_class_fields.dart.parser.expect
│ │ │ │ │ ├── built_in_identifier_class_fields.dart.scanner.expect
│ │ │ │ │ ├── built_in_identifier_class_methods.dart
│ │ │ │ │ ├── built_in_identifier_class_methods.dart.expect
│ │ │ │ │ ├── built_in_identifier_class_methods.dart.intertwined.expect
│ │ │ │ │ ├── built_in_identifier_class_methods.dart.parser.expect
│ │ │ │ │ ├── built_in_identifier_class_methods.dart.scanner.expect
│ │ │ │ │ ├── built_in_identifier_top_level_fields.dart
│ │ │ │ │ ├── built_in_identifier_top_level_fields.dart.expect
│ │ │ │ │ ├── built_in_identifier_top_level_fields.dart.intertwined.expect
│ │ │ │ │ ├── built_in_identifier_top_level_fields.dart.parser.expect
│ │ │ │ │ ├── built_in_identifier_top_level_fields.dart.scanner.expect
│ │ │ │ │ ├── built_in_identifier_top_level_methods.dart
│ │ │ │ │ ├── built_in_identifier_top_level_methods.dart.expect
│ │ │ │ │ ├── built_in_identifier_top_level_methods.dart.intertwined.expect
│ │ │ │ │ ├── built_in_identifier_top_level_methods.dart.parser.expect
│ │ │ │ │ ├── built_in_identifier_top_level_methods.dart.scanner.expect
│ │ │ │ │ ├── call_on_after_try_block.dart
│ │ │ │ │ ├── call_on_after_try_block.dart.expect
│ │ │ │ │ ├── call_on_after_try_block.dart.intertwined.expect
│ │ │ │ │ ├── call_on_after_try_block.dart.parser.expect
│ │ │ │ │ ├── call_on_after_try_block.dart.scanner.expect
│ │ │ │ │ ├── call_on_after_try_block2.dart
│ │ │ │ │ ├── call_on_after_try_block2.dart.expect
│ │ │ │ │ ├── call_on_after_try_block2.dart.intertwined.expect
│ │ │ │ │ ├── call_on_after_try_block2.dart.parser.expect
│ │ │ │ │ ├── call_on_after_try_block2.dart.scanner.expect
│ │ │ │ │ ├── call_on_after_try_block2_prime.dart
│ │ │ │ │ ├── call_on_after_try_block2_prime.dart.expect
│ │ │ │ │ ├── call_on_after_try_block2_prime.dart.intertwined.expect
│ │ │ │ │ ├── call_on_after_try_block2_prime.dart.parser.expect
│ │ │ │ │ ├── call_on_after_try_block2_prime.dart.scanner.expect
│ │ │ │ │ ├── call_on_after_try_block3.dart
│ │ │ │ │ ├── call_on_after_try_block3.dart.expect
│ │ │ │ │ ├── call_on_after_try_block3.dart.intertwined.expect
│ │ │ │ │ ├── call_on_after_try_block3.dart.parser.expect
│ │ │ │ │ ├── call_on_after_try_block3.dart.scanner.expect
│ │ │ │ │ ├── call_on_after_try_block3_prime.dart
│ │ │ │ │ ├── call_on_after_try_block3_prime.dart.expect
│ │ │ │ │ ├── call_on_after_try_block3_prime.dart.intertwined.expect
│ │ │ │ │ ├── call_on_after_try_block3_prime.dart.parser.expect
│ │ │ │ │ ├── call_on_after_try_block3_prime.dart.scanner.expect
│ │ │ │ │ ├── call_on_after_try_block4.dart
│ │ │ │ │ ├── call_on_after_try_block4.dart.expect
│ │ │ │ │ ├── call_on_after_try_block4.dart.intertwined.expect
│ │ │ │ │ ├── call_on_after_try_block4.dart.parser.expect
│ │ │ │ │ ├── call_on_after_try_block4.dart.scanner.expect
│ │ │ │ │ ├── call_on_after_try_block4_prime.dart
│ │ │ │ │ ├── call_on_after_try_block4_prime.dart.expect
│ │ │ │ │ ├── call_on_after_try_block4_prime.dart.intertwined.expect
│ │ │ │ │ ├── call_on_after_try_block4_prime.dart.parser.expect
│ │ │ │ │ ├── call_on_after_try_block4_prime.dart.scanner.expect
│ │ │ │ │ ├── call_on_after_try_block5.dart
│ │ │ │ │ ├── call_on_after_try_block5.dart.expect
│ │ │ │ │ ├── call_on_after_try_block5.dart.intertwined.expect
│ │ │ │ │ ├── call_on_after_try_block5.dart.parser.expect
│ │ │ │ │ ├── call_on_after_try_block5.dart.scanner.expect
│ │ │ │ │ ├── call_on_after_try_block5_prime.dart
│ │ │ │ │ ├── call_on_after_try_block5_prime.dart.expect
│ │ │ │ │ ├── call_on_after_try_block5_prime.dart.intertwined.expect
│ │ │ │ │ ├── call_on_after_try_block5_prime.dart.parser.expect
│ │ │ │ │ ├── call_on_after_try_block5_prime.dart.scanner.expect
│ │ │ │ │ ├── call_on_after_try_block_prime.dart
│ │ │ │ │ ├── call_on_after_try_block_prime.dart.expect
│ │ │ │ │ ├── call_on_after_try_block_prime.dart.intertwined.expect
│ │ │ │ │ ├── call_on_after_try_block_prime.dart.parser.expect
│ │ │ │ │ ├── call_on_after_try_block_prime.dart.scanner.expect
│ │ │ │ │ ├── chained_call_01.dart
│ │ │ │ │ ├── chained_call_01.dart.expect
│ │ │ │ │ ├── chained_call_01.dart.intertwined.expect
│ │ │ │ │ ├── chained_call_01.dart.parser.expect
│ │ │ │ │ ├── chained_call_01.dart.scanner.expect
│ │ │ │ │ ├── chained_call_02.dart
│ │ │ │ │ ├── chained_call_02.dart.expect
│ │ │ │ │ ├── chained_call_02.dart.intertwined.expect
│ │ │ │ │ ├── chained_call_02.dart.parser.expect
│ │ │ │ │ ├── chained_call_02.dart.scanner.expect
│ │ │ │ │ ├── chained_call_03.dart
│ │ │ │ │ ├── chained_call_03.dart.expect
│ │ │ │ │
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
.DS_Store
.dart_tool/
.packages
.pub/
build/
ios/*
.idea/
flutter_link_rent_package.iml
pubspec.lock
.metadata
./android/
.flutter-plugins
android/*
# flutterw忽略文件
flutter/wrapper/flutterw/__pycache__
.vscode/settings.json
flutter/wrapper/.idea/flutterw_sdk.path
================================================
FILE: CHANGELOG.md
================================================
## 1.1.0
* release
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2021 Ke Technologies
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README-CN.md
================================================
Language: 中文简体 | [English](README.md)
# Beike_AspectD
This is a fork of [AspectD](https://github.com/XianyuTech/aspectd).
Beike_AspectD是一个dart面向切面库。闲鱼的AspectD为开发者提供了call/execute/inject三种方式对代码进行操作。除此之外,Beike_AspectD还提供了:
- ✅ Add语法支持为class添加方法;
- ✅ FieldGet语法支持更换变量获取;
- ✅ 支持空安全。(null-safety下的分支)
- ✅ 支持Flutter for Web;
- ✅ 其他的一些问题修复.
# Beike_AspectD有哪些应用场景?
贝壳已经在一些库中使用Beike_AspectD.
- 埋点库
- Json模型转换
- 性能监控
- Flutter框架问题修复等
# 安装
## 1. Apply flutter_tools.patch.
```shell
cd ...path/to/flutter
git apply path-for-beike_aspectd-package/inner/flutter_tools.patch
rm bin/cache/flutter_tools.stamp
```
当下次编译你的Flutter工程时,flutter tools就会重新build。
## 2. 添加Beike_AspectD依赖.
```dart
dependencies:
beike_aspectd:
git:
url: https://github.com/LianjiaTech/Beike_AspectD.git
ref: 3.10.5
```
## 3. 将aop_config.yaml添加到你的工程.
在你的工程根目录下添加一个aop_config.yaml文件(和pubspec.yaml同一级).
你也可以复制Beike_AspectD工程中example目录下的这个文件.
aop_config.yaml的内容如下
```dart
flutter_tools_hook:
- project_name: 'beike_aspectd'
exec_path: 'bin/starter.snapshot'
```
我们修改过的Flutter_tools将会检查这个文件来判断Beike_AspectD是否生效。
## 4. 添加hook代码.
hook_example.dart(aop implementation)
```dart
import 'package:beike_aspectd/aspectd.dart';
@Aspect()
@pragma("vm:entry-point")
class CallDemo {
@pragma("vm:entry-point")
CallDemo();
//实例方法
@Call("package:example/main.dart", "_MyHomePageState",
"-_incrementCounter")
@pragma("vm:entry-point")
void _incrementCounter4(PointCut pointcut) {
print('call instance method2!');
pointcut.proceed();
}
}
```
由于hook_example.dart没有在项目中使用,我们应该在工程中引用这个文件,以免被编译器tree shake优化掉。
比如,我们可以在 main.dart引用.
```dart
// ignore: unused_import
import 'package:example/hook_example.dart';
```
# 使用
除了支持AspectD支持的call/execute/inject三种方式外,Beike_AspectD还提供了add/field get两种操作。
## add
为一个类添加方法,支持正则匹配,支持对父类进行筛选.
```dart
@Add("package:.+\\.dart", ".*", isRegex: true)
@pragma("vm:entry-point")
dynamic getBasicInfo(PointCut pointCut) {
return pointCut?.sourceInfos ?? {};
}
```
上面的代码为所有的类添加了getBasicInfo()这个方法,你也可以增加正则表达式或者父类参数来过滤需要添加方法的类。
可以通过以下代码调用添加的方法。
```dart
dynamic instance = someinstance;
Map info = instance.getBasicInfo(PointCut.pointCut());
```
## field get
Field get可以被用来替换对于某个属性的调用.
```dart
@pragma("vm:entry-point")
@FieldGet('package:example/main.dart', 'MyApp', 'field', false)
static String exchange(PointCut pointCut) {
return 'Beike_Aspect';
}
```
比如,MyApp有个属性field,通过上面代码,调用MyApp中field属性的地方都会返回字符串'Beike_AspectD'。
## 版本支持
目前Beike_AspectD已经支持Flutter 1.22.4,2.2.2,2.5.3, 2.10.4 和 3.0.0.
## 如何调试
见[调试](doc/如何调试.md)
## 常见问题
- 如何知道我的hook代码是否生效?
1. 首先需要下载Flutter对于的dart sdk。Dart sdk的revision可以在path_to_flutter/bin/cache/dart-sdk/revision文件中找到。
2. 执行下面脚本:
```dart
path_to_flutter/bin/cache/dart-sdk/bin/dart path_to_dart/pkg/vm/bin/dump_kernel.dart path_to_your_project/.dart_tool/flutter_build/***/app.dill output_path/out.dill.txt
```
3. 打开 output_path/out.dill.txt文件, 找到你hook的方法,确认是否被替换.
# 联系
如果你有任何问题,可以提一个issue。或者联系xiaopeng015@ke.com。
================================================
FILE: README.md
================================================
Language: English | [中文简体](README-CN.md)
# Beike_AspectD
This is a fork of [AspectD](https://github.com/XianyuTech/aspectd).
Beike_AspectD is an aop framework for dart. AspectD has provide developers call/execute/inject grammer to manipulate the dart code. Besides that, Beike_AspectD also provides
- ✅ Support add grammer to add function to classes.
- ✅ Support field get grammer to exchange the field get call.
- ✅ Support null-safety(null-safety/2.5.3 branch).
- ✅ Support flutter web.
# What can we use Beike_AspectD for?
Beike has used Beike_AspectD in many packages.
- Event tracking.
- Json to model.
- Performance monitoring.
- Flutter framework bug fixing.
# Installation
## 1. Apply flutter_tools.patch.
```shell
cd ...path/to/flutter
git apply path-for-beike_aspectd-package/inner/flutter_tools.patch
rm bin/cache/flutter_tools.stamp
```
Next time when you build your project, flutter tools will build automatically.
## 2. Add Beike_AspectD to your yaml.
```dart
dependencies:
beike_aspectd:
git:
url: https://github.com/LianjiaTech/Beike_AspectD.git
ref: 3.10.5
```
## 3. Add aop_config.yaml to your flutter project.
Add a file named aop_config.yaml to your flutter project's root directory(the same directory as pubspec.yaml).
You can copy the file from the example of Beike_AspectD.
The content of the file are as follow
```dart
flutter_tools_hook:
- project_name: 'beike_aspectd'
exec_path: 'bin/starter.snapshot'
```
Flutter_tools will check the file to find if Beike_AspectD is enabled. And it will get the starter.snapshot to process the dill file.
## 4. Write your hook file and import the file.
hook_example.dart(aop implementation)
```dart
import 'package:beike_aspectd/aspectd.dart';
@Aspect()
@pragma("vm:entry-point")
class CallDemo {
@pragma("vm:entry-point")
CallDemo();
//实例方法
@Call("package:example/main.dart", "_MyHomePageState",
"-_incrementCounter")
@pragma("vm:entry-point")
void _incrementCounter4(PointCut pointcut) {
print('call instance method2!');
pointcut.proceed();
}
}
```
As hook_example.dart is not used in your project, we should import it in the project, or it will be tree shaked while compiling.
For example, we can import the file in main.dart.
```dart
// ignore: unused_import
import 'package:example/hook_example.dart';
```
# Tutorial
In addition to the 3 ways(call/execute/inject) to do AOP programming AspectD provide us, Beike_AspectD also provide add/field get manipulation.
## add
Add a method to a class, support class name regex, support super class filter.
```dart
@Add("package:.+\\.dart", ".*", isRegex: true)
@pragma("vm:entry-point")
dynamic getBasicInfo(PointCut pointCut) {
return pointCut?.sourceInfos ?? {};
}
```
Code above add getBasicInfo() method to all the classes, you can use your own regex and superCls parameter to filter classes.
We can call the function using the following code.
```dart
dynamic self = someinstance;
Map info = self.getBasicInfo(PointCut.pointCut());
```
## field get
Every callsites of the a field will be manipulated.
```dart
@pragma("vm:entry-point")
@FieldGet('package:example/main.dart', 'MyApp', 'field', false)
static String exchange2(PointCut pointCut) {
return 'Beike_Aspectd';
}
```
Suppose MyApp class has a property called field, by using the the above code, when calling the property field, it will always return string 'Beike_Aspectd'.
# Compatibility
Currently Beike_Aspectd support flutter 1.22.4 ,2.2.2, 2.5.3, 2.10.4 and 3.0.0.
## Q&A
- How to know if my code is hooked successfully?
1. First you need to download the dart-sdk and checkout to the corresponding revision of flutter. The revision of dart can be found at path_to_flutter/bin/cache/dart-sdk/revision.
2. Run the following command.
```dart
path_to_flutter/bin/cache/dart-sdk/bin/dart path_to_dart/pkg/vm/bin/dump_kernel.dart path_to_your_project/.dart_tool/flutter_build/***/app.dill output_path/out.dill.txt
```
3. Open output_path/out.dill.txt file, check if your code is hook.
# Contact
If you have any question, please feel free to file a issue.
================================================
FILE: doc/如何调试.md
================================================
## 原理

如上图,Beike_AspectD主要对Flutter的两个流程进行了修改:
* flutter_tools
* frontend_server
所以我们的调试也是针对这两个流程。
## flutter_tools调试
Beike_AspectD针对flutter_tools的修改是为了让tools能够调到我们的frontend_server.dart.snapshot。所以调试flutter_tools是为了获取调用frontend_server.dart.snapshot的参数。
### 获取flutter_tools参数
首先,我们在flutter_tools入口输出调用flutter_tools的参数。

然后,我们需要删除flutter_tools缓存让这个修改生效。
```
cd path-to/flutter/bin.cache
rm flutter_tools.stamp
```
然后,我们在release模式下运行我们的Example工程,控制台会有如下输出:

```
--no-color run --machine --track-widget-creation --device-id=00008020-001105681E33002E --start-paused --release --dart-define=flutter.inspector.structuredErrors=true --devtools-server-address=http://127.0.0.1:9100 lib/main.dart
```
上面这行命令就是我们调试tools需要的参数。
### 调试flutter_tools
然后,我们我们用Android Studio打开flutter/packages/flutter_tools目录。
添加Dart Command Line App

其中,Dart file选择flutter_tools.dart; Program arguments是我们上一步获得的参数,另外我们需要添加*--verbose*参数来打印出详细的参数;Working directory是我们Example的目录。点击OK后保存。
然后我们选择我们刚添加的Dart Command Line App,点击debug开始调试.

在控制台通过frontend_server关键字获取到调用frontend_server的参数
```
/Users/solo/SDK/flutter/stable/2.5.4/bin/cache/dart-sdk/bin/dart --disable-dart-dev /Users/solo/SDK/flutter/stable/2.5.4/bin/cache/artifacts/engine/darwin-x64/frontend_server.dart.snapshot --sdk-root /Users/solo/SDK/flutter/stable/2.5.4/bin/cache/artifacts/engine/common/flutter_patched_sdk_product/ --target=flutter --no-print-incremental-dependencies -Dflutter.inspector.structuredErrors=true -DFLUTTER_WEB_AUTO_DETECT=true -Ddart.vm.profile=false -Ddart.vm.product=true --aot --tfa --packages /Users/solo/Project/beike_aspectd_opensource/example/.dart_tool/package_config.json --output-dill /Users/solo/Project/beike_aspectd_opensource/example/.dart_tool/flutter_build/f8e5d580cd9340cecaec5f0f81327274/app.dill --depfile /Users/solo/Project/beike_aspectd_opensource/example/.dart_tool/flutter_build/f8e5d580cd9340cecaec5f0f81327274/kernel_snapshot.d package:example/main.dart
```
有了这个参数,我们就可以开始对frontend_server进行调试了。
## 调试frontend_server
打开我们的Beike_AspectD工程,添加Dart Command Line App,配置如下:

其中,Dart file指定inner/flutter_frontend_server/starter.dart;Program arguments是我们上一步获取的参数,但是由于是源码调试,需要将frontend_server.dart.snapshot路径以及之前的参数去掉,示例如下:
```
--sdk-root /Users/solo/SDK/flutter/stable/2.5.4/bin/cache/artifacts/engine/common/flutter_patched_sdk_product/ --target=flutter --no-print-incremental-dependencies -Dflutter.inspector.structuredErrors=true -DFLUTTER_WEB_AUTO_DETECT=true -Ddart.vm.profile=false -Ddart.vm.product=true --aot --tfa --packages /Users/solo/Project/beike_aspectd_opensource/example/.dart_tool/package_config.json --output-dill /Users/solo/Project/beike_aspectd_opensource/example/.dart_tool/flutter_build/f8e5d580cd9340cecaec5f0f81327274/app.dill --depfile /Users/solo/Project/beike_aspectd_opensource/example/.dart_tool/flutter_build/f8e5d580cd9340cecaec5f0f81327274/kernel_snapshot.d package:example/main.dart
```
Working directory是我们Example的根路径。点击OK进行保存。
然后选择我们刚才配置好的Dart Command Line App就可以开始进行debug了。
================================================
FILE: example/.gitignore
================================================
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.buildlog/
.history
.svn/
# IntelliJ related
*.iml
*.ipr
*.iws
.idea/
# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/
# Flutter/Dart/Pub related
**/doc/api/
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
.packages
.pub-cache/
ios/Flutter
.pub/
/build/
android/.gradle/*
# Web related
lib/generated_plugin_registrant.dart
# Exceptions to above rules.
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
# flutterw忽略文件
flutter/wrapper/flutterw/__pycache__
.vscode/settings.json
flutter/wrapper/.idea/flutterw_sdk.path
================================================
FILE: example/README.md
================================================
# example_beike
A new Flutter application.
## Getting Started
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab)
- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook)
For help getting started with Flutter, view our
[online documentation](https://flutter.dev/docs), which offers tutorials,
samples, guidance on mobile development, and a full API reference.
================================================
FILE: example/android/app/build.gradle
================================================
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion 28
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.beike.example_beike"
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
}
}
}
flutter {
source '../..'
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
================================================
FILE: example/android/app/src/debug/AndroidManifest.xml
================================================
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.beike.example_beike">
<!-- Flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
================================================
FILE: example/android/app/src/main/AndroidManifest.xml
================================================
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.beike.example_beike">
<!-- io.flutter.app.FlutterApplication is an android.app.Application that
calls FlutterMain.startInitialization(this); in its onCreate method.
In most cases you can leave this as-is, but you if you want to provide
additional functionality it is fine to subclass or reimplement
FlutterApplication and put your custom class here. -->
<application
android:name="io.flutter.app.FlutterApplication"
android:label="example_beike"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
</manifest>
================================================
FILE: example/android/app/src/main/java/com/beike/example_beike/MainActivity.java
================================================
package com.beike.example_beike;
import android.support.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity;
import io.flutter.embedding.engine.FlutterEngine;
import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterActivity {
@Override
public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine);
}
}
================================================
FILE: example/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
================================================
package io.flutter.plugins;
import io.flutter.plugin.common.PluginRegistry;
/**
* Generated file. Do not edit.
*/
public final class GeneratedPluginRegistrant {
public static void registerWith(PluginRegistry registry) {
if (alreadyRegisteredWith(registry)) {
return;
}
}
private static boolean alreadyRegisteredWith(PluginRegistry registry) {
final String key = GeneratedPluginRegistrant.class.getCanonicalName();
if (registry.hasPlugin(key)) {
return true;
}
registry.registrarFor(key);
return false;
}
}
================================================
FILE: example/android/app/src/main/res/drawable/launch_background.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>
================================================
FILE: example/android/app/src/main/res/values/styles.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
Flutter draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
</resources>
================================================
FILE: example/android/app/src/profile/AndroidManifest.xml
================================================
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.beike.example_beike">
<!-- Flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
================================================
FILE: example/android/build.gradle
================================================
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
================================================
FILE: example/android/gradle/wrapper/gradle-wrapper.properties
================================================
#Fri Jun 23 08:50:38 CEST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
================================================
FILE: example/android/gradle.properties
================================================
org.gradle.jvmargs=-Xmx1536M
android.enableR8=true
================================================
FILE: example/android/gradlew
================================================
#!/usr/bin/env bash
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn ( ) {
echo "$*"
}
die ( ) {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
esac
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
function splitJvmOpts() {
JVM_OPTS=("$@")
}
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
================================================
FILE: example/android/gradlew.bat
================================================
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windowz variants
if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
goto execute
:4NT_args
@rem Get arguments from the 4NT Shell from JP Software
set CMD_LINE_ARGS=%$
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
================================================
FILE: example/android/local.properties
================================================
sdk.dir=/Users/solo/Library/Android/sdk
flutter.sdk=/Users/solo/SDK/flutter/stable/3.10.5
flutter.buildMode=release
=======
flutter.versionName=1.0.0
flutter.versionCode=1
flutter.upload=false
flutter.pluginRun=false
================================================
FILE: example/android/settings.gradle
================================================
include ':app'
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}
plugins.each { name, path ->
def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
include ":$name"
project(":$name").projectDir = pluginDirectory
}
================================================
FILE: example/aop_config.yaml
================================================
flutter_tools_hook:
- project_name: 'beike_aspectd'
exec_path: 'bin/starter.snapshot'
================================================
FILE: example/ios/Flutter/AppFrameworkInfo.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>App</string>
<key>CFBundleIdentifier</key>
<string>io.flutter.flutter.app</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>App</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>MinimumOSVersion</key>
<string>11.0</string>
</dict>
</plist>
================================================
FILE: example/ios/Flutter/Debug.xcconfig
================================================
#include "Generated.xcconfig"
================================================
FILE: example/ios/Flutter/Release.xcconfig
================================================
#include "Generated.xcconfig"
================================================
FILE: example/ios/Runner/AppDelegate.h
================================================
#import <Flutter/Flutter.h>
#import <UIKit/UIKit.h>
@interface AppDelegate : FlutterAppDelegate
@end
================================================
FILE: example/ios/Runner/AppDelegate.m
================================================
#import "AppDelegate.h"
#import "GeneratedPluginRegistrant.h"
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[GeneratedPluginRegistrant registerWithRegistry:self];
// Override point for customization after application launch.
return [super application:application didFinishLaunchingWithOptions:launchOptions];
}
@end
================================================
FILE: example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
================================================
{
"images" : [
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-App-20x20@2x.png",
"scale" : "2x"
},
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-App-20x20@3x.png",
"scale" : "3x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@1x.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@3x.png",
"scale" : "3x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@3x.png",
"scale" : "3x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@3x.png",
"scale" : "3x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@1x.png",
"scale" : "1x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@1x.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@1x.png",
"scale" : "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@2x.png",
"scale" : "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@1x.png",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@2x.png",
"scale" : "2x"
},
{
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "Icon-App-83.5x83.5@2x.png",
"scale" : "2x"
},
{
"size" : "1024x1024",
"idiom" : "ios-marketing",
"filename" : "Icon-App-1024x1024@1x.png",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "LaunchImage.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "LaunchImage@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "LaunchImage@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
================================================
# Launch Screen Assets
You can customize the launch screen with your own desired assets by replacing the image files in this directory.
You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
================================================
FILE: example/ios/Runner/Base.lproj/LaunchScreen.storyboard
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Ydg-fD-yQy"/>
<viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
</imageView>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/>
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/>
</constraints>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
<resources>
<image name="LaunchImage" width="168" height="185"/>
</resources>
</document>
================================================
FILE: example/ios/Runner/Base.lproj/Main.storyboard
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
</dependencies>
<scenes>
<!--Flutter View Controller-->
<scene sceneID="tne-QT-ifu">
<objects>
<viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects>
</scene>
</scenes>
</document>
================================================
FILE: example/ios/Runner/GeneratedPluginRegistrant.h
================================================
//
// Generated file. Do not edit.
//
// clang-format off
#ifndef GeneratedPluginRegistrant_h
#define GeneratedPluginRegistrant_h
#import <Flutter/Flutter.h>
NS_ASSUME_NONNULL_BEGIN
@interface GeneratedPluginRegistrant : NSObject
+ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry;
@end
NS_ASSUME_NONNULL_END
#endif /* GeneratedPluginRegistrant_h */
================================================
FILE: example/ios/Runner/GeneratedPluginRegistrant.m
================================================
//
// Generated file. Do not edit.
//
// clang-format off
#import "GeneratedPluginRegistrant.h"
@implementation GeneratedPluginRegistrant
+ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry {
}
@end
================================================
FILE: example/ios/Runner/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>example_beike</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
</dict>
</plist>
================================================
FILE: example/ios/Runner/main.m
================================================
#import <Flutter/Flutter.h>
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char* argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
================================================
FILE: example/ios/Runner.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 54;
objects = {
/* Begin PBXBuildFile section */
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
9705A1C41CF9048500538489 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
97C146EB1CF9000F007C117D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
9740EEB11CF90186004384FC /* Flutter */ = {
isa = PBXGroup;
children = (
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
9740EEB21CF90195004384FC /* Debug.xcconfig */,
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
9740EEB31CF90195004384FC /* Generated.xcconfig */,
);
name = Flutter;
sourceTree = "<group>";
};
97C146E51CF9000F007C117D = {
isa = PBXGroup;
children = (
9740EEB11CF90186004384FC /* Flutter */,
97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */,
);
sourceTree = "<group>";
};
97C146EF1CF9000F007C117D /* Products */ = {
isa = PBXGroup;
children = (
97C146EE1CF9000F007C117D /* Runner.app */,
);
name = Products;
sourceTree = "<group>";
};
97C146F01CF9000F007C117D /* Runner */ = {
isa = PBXGroup;
children = (
7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */,
7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */,
97C146FA1CF9000F007C117D /* Main.storyboard */,
97C146FD1CF9000F007C117D /* Assets.xcassets */,
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
97C147021CF9000F007C117D /* Info.plist */,
97C146F11CF9000F007C117D /* Supporting Files */,
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
);
path = Runner;
sourceTree = "<group>";
};
97C146F11CF9000F007C117D /* Supporting Files */ = {
isa = PBXGroup;
children = (
97C146F21CF9000F007C117D /* main.m */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
97C146ED1CF9000F007C117D /* Runner */ = {
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
);
buildRules = (
);
dependencies = (
);
name = Runner;
productName = Runner;
productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1300;
ORGANIZATIONNAME = "The Chromium Authors";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
CreatedOnToolsVersion = 7.3.1;
DevelopmentTeam = 3B8QD6CXHN;
};
};
};
buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 97C146E51CF9000F007C117D;
productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
97C146ED1CF9000F007C117D /* Runner */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
97C146EC1CF9000F007C117D /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
);
name = "Thin Binary";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
};
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Run Script";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
97C146EA1CF9000F007C117D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */,
97C146F31CF9000F007C117D /* main.m in Sources */,
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
97C146FA1CF9000F007C117D /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
97C146FB1CF9000F007C117D /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
97C147001CF9000F007C117D /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
249021D3217E4FDB00AE95B9 /* Profile */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Profile;
};
249021D4217E4FDB00AE95B9 /* Profile */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = 3B8QD6CXHN;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = com.beike.exampleBeike2129;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
};
name = Profile;
};
97C147031CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
97C147041CF9000F007C117D /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
97C147061CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = 3B8QD6CXHN;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = com.beike.exampleBeike2129;
PRODUCT_NAME = "$(TARGET_NAME)";
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
};
name = Debug;
};
97C147071CF9000F007C117D /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = 3B8QD6CXHN;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
ONLY_ACTIVE_ARCH = NO;
PRODUCT_BUNDLE_IDENTIFIER = com.beike.exampleBeike2129;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
97C147031CF9000F007C117D /* Debug */,
97C147041CF9000F007C117D /* Release */,
249021D3217E4FDB00AE95B9 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
97C147061CF9000F007C117D /* Debug */,
97C147071CF9000F007C117D /* Release */,
249021D4217E4FDB00AE95B9 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 97C146E61CF9000F007C117D /* Project object */;
}
================================================
FILE: example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>
================================================
FILE: example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1300"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Profile"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
================================================
FILE: example/ios/Runner.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:Runner.xcodeproj">
</FileRef>
</Workspace>
================================================
FILE: example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
================================================
FILE: example/lib/hook_example.dart
================================================
import 'package:beike_aspectd/aspectd.dart';
@Aspect()
@pragma("vm:entry-point")
class FieldGetDemo {
// @pragma("vm:entry-point")
// @FieldGet('dart:io', 'Platform', 'isAndroid', true)
// static bool exchange(PointCut pointCut) {
// //origin call
// return true;
// }
// @pragma("vm:entry-point")
// @FieldGet('package:example/main.dart', '_MyHomePageState', 's', false)
// static String exchange2(PointCut pointCut) {
// //origin call
// return '[beike_aspectd]:Exchanged field';
// }
}
@Aspect()
@pragma("vm:entry-point")
class FieldInitializerDemo {
// @FieldInitializer("package:flutter/src/widgets/image.dart", "Image", "+Image.network", "gaplessPlayback")
// @pragma("vm:entry-point")
// void hookNetworkImage()
// {
// true;
// }
//
// @FieldInitializer("package:flutter/src/widgets/image.dart", "Image", "+Image.network", "image")
// @pragma("vm:entry-point")
// void hookNetworkImage2()
// {
// int cacheWidth;
// int cacheHeight;
//
// double width;
// double height;
//
// String src;
// double scale;
// Map<String, String> headers;
//
// ResizeImage.resizeIfNeeded(cacheWidth!=null?cacheWidth:width.toInt(), cacheHeight!=null?cacheHeight:height.toInt(), NetworkImage(src, scale: scale, headers: headers));
//// ResizeImage.resizeIfNeeded(100, 50, NetworkImage(src, scale: scale, headers: headers));
//
// }
}
@Aspect()
@pragma("vm:entry-point")
class CallDemo {
@pragma("vm:entry-point")
CallDemo();
//实例方法
@Call("package:example/main.dart", "_MyHomePageState", "-_incrementCounter")
@pragma("vm:entry-point")
void _incrementCounter4(PointCut pointcut) {
print('[beike_aspectd]: call instance method2!');
pointcut.proceed();
}
// @Call('package:example/main.dart', 'TextRightImageModel', '-.*',
// isRegex: true)
// @pragma("vm:entry-point")
// dynamic _aop_Two(PointCut pointcut) {
// print('_aop_Two');
// return pointcut.proceed();
// }
// //类静态方法
// @Call("package:example/main.dart", "_MyHomePageState", "+testFunction")
// @pragma("vm:entry-point")
// static void appInit(PointCut pointcut) {
// print('[beike_aspectd]: call static method!');
// pointcut.proceed();
// }
// //构造方法
// @Call("package:example/receiver_test.dart", "Receiver", "+Receiver")
// @pragma("vm:entry-point")
// dynamic receiveTapped(PointCut pointcut) {
// dynamic obj = pointcut.proceed();
// print('[beike_aspectd]: call constructor method!');
// pointcut.proceed();
// return obj;
// }
// //库静态方法
// @Call("package:example/main.dart", "", "+injectDemo")
// @pragma("vm:entry-point")
// static void injectDemo(PointCut pointcut) {
// print('[beike_aspectd]: call library static method!');
// pointcut.proceed();
// }
}
@Aspect()
@pragma("vm:entry-point")
class RegexCallDemo {
@pragma("vm:entry-point")
RegexCallDemo();
// //实例方法
// @Call("package:example/main.dart", "_MyHomePageState",
// "-.*", isRegex: true)
// @pragma("vm:entry-point")
// dynamic _incrementCounter(PointCut pointcut) {
// print('[beike_aspectd]: regex call hook instance method!');
// return pointcut.proceed();
// }
// //类静态方法
// @Call("package:example/main.dart", "_MyHomePageState", "+.*", isRegex: true)
// @pragma("vm:entry-point")
// static dynamic appInit(PointCut pointcut) {
// print('[beike_aspectd]: regex call static method!');
// return pointcut.proceed();
// }
// //构造方法
// @Call("package:example/receiver_test.dart", "Receiver", "+.*", isRegex: true)
// @pragma("vm:entry-point")
// dynamic receiveTapped(PointCut pointcut) {
// dynamic obj = pointcut.proceed();
// print('[beike_aspectd]: regex call constructor method!');
// pointcut.proceed();
// return obj;
// }
// //库静态方法
// @Call("package:example/main.dart", "", "+.*", isRegex: true)
// @pragma("vm:entry-point")
// static dynamic injectDemo(PointCut pointcut) {
// print('[beike_aspectd]: regex call library static method!');
// return pointcut.proceed();
// }
}
@Aspect()
@pragma("vm:entry-point")
class ExecuteDemo {
@pragma("vm:entry-point")
ExecuteDemo();
//实例方法
// @Execute(
// "package:example/main.dart", "_MyHomePageState", "-_incrementCounter")
// @pragma("vm:entry-point")
// void _incrementCounter(PointCut pointcut) {
// print('[beike_aspectd]: Execute instance method!');
// pointcut.proceed();
// }
// //类静态方法
// @Execute("package:example/receiver_test.dart", "Receiver", "+tap")
// @pragma("vm:entry-point")
// static dynamic tap(PointCut pointcut) {
// print('[beike_aspectd]: Execute static method!');
// pointcut.proceed();
// }
// //构造方法
// @Execute("package:example/receiver_test.dart", "Receiver", "+Receiver")
// @pragma("vm:entry-point")
// dynamic receiveTapped(PointCut pointcut) {
// dynamic obj = pointcut.proceed();
// print('[beike_aspectd]: Execute constructor method!');
// pointcut.proceed();
// return obj;
// }
// //库静态方法
// @Execute("package:example/main.dart", "", "+injectDemo")
// @pragma("vm:entry-point")
// static void injectDemo(PointCut pointcut) {
// print('[beike_aspectd]: Execute library static method!');
// pointcut.proceed();
// }
}
@Aspect()
@pragma("vm:entry-point")
class RegularExecuteDemo {
RegularExecuteDemo();
// //实例方法
// @Execute("package:example/main.dart", "_MyHomePageState", "-.*",
// isRegex: true)
// @pragma("vm:entry-point")
// dynamic _incrementCounter(PointCut pointcut) {
// print('[beike_aspectd]: regex execute hook instance method!');
// return pointcut.proceed();
// }
// //类静态方法
// @Execute("package:example/main.dart", "_MyHomePageState", "+.*", isRegex: true)
// @pragma("vm:entry-point")
// dynamic appInit(PointCut pointcut) {
// print('[beike_aspectd]: regex execute static method!');
// return pointcut.proceed();
// }
// //构造方法
// @Execute("package:example/receiver_test.dart", "Receiver", "+.*", isRegex: true)
// @pragma("vm:entry-point")
// dynamic receiveTapped(PointCut pointcut) {
// dynamic obj = pointcut.proceed();
// print('[beike_aspectd]: regex execute constructor method!');
// pointcut.proceed();
// return obj;
// }
// //库静态方法
// @Execute("package:example/main.dart", "", "+.*", isRegex: true)
// @pragma("vm:entry-point")
// static dynamic injectDemo(PointCut pointcut) {
// print('[beike_aspectd]: regex execute library static method!');
// return pointcut.proceed();
// }
}
@Aspect()
@pragma("vm:entry-point")
class InjectDemo {
InjectDemo();
// //实例方法
// @Inject("package:example/main.dart", "_MyHomePageState", "-onPluginDemo",
// lineNum: 108)
// @pragma("vm:entry-point")
// void onPluginDemo(PointCut pointcut) {
// Object p; //Aspectd Ignore
//
// print('[beike_aspectd]:Inject instance method!');
// // Object bo; //Aspectd Ignore
// print(p);
// // print(bo);
// }
// //类静态方法
// @Inject("package:example/receiver_test.dart", "Receiver", "+tap",
// lineNum: 8)
// @pragma("vm:entry-point")
// static dynamic tap(PointCut pointcut) {
// print('Inject static method!');
// Object instance; //Aspectd Ignore
// Object context; //Aspectd Ignore
// print(instance);
// print(context);
// }
// //构造方法
// @Inject("package:example/receiver_test.dart", "Receiver", "+Receiver",
// lineNum: 5)
// @pragma("vm:entry-point")
// dynamic receiveTapped(PointCut pointcut) {
// dynamic obj = pointcut.proceed();
// print('Inject constructor method!');
// Object instance; //Aspectd Ignore
// Object context; //Aspectd Ignore
// print(instance);
// print(context);
// }
// //库静态方法
// @Inject("package:example/main.dart", "", "+injectDemo", lineNum: 23)
// @pragma("vm:entry-point")
// static void injectDemo(PointCut pointcut) {
// print('Inject library static method!');
// Object instance; //Aspectd Ignore
// Object context; //Aspectd Ignore
// print(instance);
// print(context);
// }
}
@Aspect()
@pragma("vm:entry-point")
class InjectSameLineDemo {
InjectSameLineDemo();
// @Inject("package:flutter/src/material/page.dart","MaterialPageRoute","-buildPage", lineNum:87)
// @pragma("vm:entry-point")
// void routeAfterPage() {
//
// {
//
// print("----Hook buildPage 87----");
// }
//
//
// }
//
// @Inject("package:flutter/src/material/page.dart","MaterialPageRoute","-buildPage", lineNum:87)
// @pragma("vm:entry-point")
// void routeBeforePage() {
//
// {
// dynamic self = this;
// print(self);
// print("----Hook buildPage 87----");
// }
// }
//
// @Inject("package:flutter/src/material/page.dart","MaterialPageRoute","-buildPage", lineNum:87)
// @pragma("vm:entry-point")
// void routeAfterPage2() {
//
// {
//
// print("----Hook buildPage 87----");
// }
//
//
// }
//
// @Inject("package:flutter/src/material/page.dart","MaterialPageRoute","-buildPage", lineNum:88)
// @pragma("vm:entry-point")
// void routeAfterPage3() {
// print("----Hook buildPage 88----");
// }
}
@Aspect()
@pragma("vm:entry-point")
class AddDemo {
@pragma("vm:entry-point")
AddDemo();
@Add("package:example/receiver_test.dart", "Receiver")
@pragma("vm:entry-point")
dynamic addTest(PointCut pointCut, int j, {String? s, int? i}) {
print('[beike_aspectd]: Add method');
}
// @Add("package:example\\/.+\\.dart", ".*", isRegex: true)
// @pragma("vm:entry-point")
// void addTestRegular(PointCut pointCut) {
// print('Regular add method');
// }
}
@Aspect()
@pragma("vm:entry-point")
class RegexFilterSuperAddDemo {
@pragma("vm:entry-point")
RegexFilterSuperAddDemo();
// @Add("package:example\\/.+\\.dart", ".*", isRegex: true, superCls: 'Widget')
// @pragma("vm:entry-point")
// void addTestRegularFilterSuper(PointCut pointCut) {
// print('[beike_aspectd]: Regular add method filter super');
// }
}
================================================
FILE: example/lib/main.dart
================================================
import 'dart:io';
import 'package:beike_aspectd/aspectd.dart';
// ignore: unused_import
import 'package:example/hook_example.dart';
import 'package:flutter/material.dart';
import 'receiver_test.dart';
void main() {
injectDemo([]);
print('1122');
print(Platform.isAndroid);
print('1122');
runApp(MyApp());
}
Future<void> appInit() async {
print('beike example in appInit().');
}
class Observer {
void onChanged() {}
}
void injectDemo(List<Observer> observers) {
// int a = 10;
// if (a > 5) {
// print('[KWLM]:if1');
// }
// print('[KWLM]:a');
// for (Observer o in observers) {
// print('[KWLM]:Observer1');
// o.onChanged();
// print('[KWLM]:Observer2');
// }
//
// print('[KWLM]:c');
}
class MyApp extends StatelessWidget {
static String localHostname = '111';
String field = '222';
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
print(localHostname);
print(field);
appInit();
return MaterialApp(
title: 'Flutter Demo1',
theme: ThemeData(
// This is the theme of your application.
//
// Try running your application with "flutter run". You'll see the
// application has a blue toolbar. Then, without quitting the app, try
// changing the primarySwatch below to Colors.green and then invoke
// "hot reload" (press "r" in the console where you ran "flutter run",
// or simply save your changes to "hot reload" in a Flutter IDE).
// Notice that the counter didn't reset back to zero; the application
// is not restarted.
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({this.title});
// This widget is the home page of your application. It is stateful, meaning
// that it has a State object (defined below) that contains fields that affect
// how it looks.
// This class is the configuration for the state. It holds the values (in this
// case the title) provided by the parent (in this case the App widget) and
// used by the build method of the State. Fields in a Widget subclass are
// always marked "final".
final String? title;
@override
_MyHomePageState createState() => _MyHomePageState(i: 19);
}
class _MyHomePageState extends State<MyHomePage> {
int i;
String s = 'fffff';
final Receiver receiver = Receiver();
final dynamic receiver2 = Receiver2();
final dynamic _receiver6 = Receiver2();
_MyHomePageState({this.i = 10});
void onPluginDemo(int i, _MyHomePageState p) {
print(i.toString());
print(s);
}
void _incrementCounter() {
setState(() {
// This call to setState tells the Flutter framework that something has
// changed in this State, which causes it to rerun the build method below
// so that the display can reflect the updated values. If we changed
// _counter without calling setState(), then the build method would not be
// called again, and so nothing would appear to happen.
i++;
});
}
static void testFunction() {}
void test() {
_incrementCounter();
_MyHomePageState.testFunction();
}
@override
Widget build(BuildContext context) {
// This method is rerun every time setState is called, for instance as done
// by the _incrementCounter method above.
//
// The Flutter framework has been optimized to make rerunning build methods
// fast, so that you can just rebuild anything that needs updating rather
// than having to individually change instances of widgets.
// Receiver rec
return Scaffold(
appBar: AppBar(
// Here we take the value from the MyHomePage object that was created by
// the App.build method, and use it to set our appbar title.
title: Text(widget.title??''),
),
body: Center(
// Center is a layout widget. It takes a single child and positions it
// in the middle of the parent.
child: Column(
// Column is also a layout widget. It takes a list of children and
// arranges them vertically. By default, it sizes itself to fit its
// children horizontally, and tries to be as tall as its parent.
//
// Invoke "debug painting" (press "p" in the console, choose the
// "Toggle Debug Paint" action from the Flutter Inspector in Android
// Studio, or the "Toggle Debug Paint" command in Visual Studio Code)
// to see the wireframe for each widget.
//
// Column has various properties to control how it sizes itself and
// how it positions its children. Here we use mainAxisAlignment to
// center the children vertically; the main axis here is the vertical
// axis because Columns are vertical (the cross axis would be
// horizontal).
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'You have pushed the button this many times:',
),
Text(
'$i',
style: Theme.of(context).textTheme.bodyText2,
),
// Image.network('https://preview.lianjia.com/yunpan/e606fce4-a9bf-4d3d-a413-5e2c2ebe9462!m_simple,f_000009.jpg', width: 50, height: 100),
// FadeInImage.memoryNetwork('https://preview.lianjia.com/yunpan/e606fce4-a9bf-4d3d-a413-5e2c2ebe9462!m_simple,f_000009.jpg', width: 50, height: 100),
GestureDetector(
child: const Text('onPluginDemo', style: TextStyle(fontSize: 30)),
onTap: () {
receiver.receiveTapped(5, j: 9);
onPluginDemo(4, this);
dynamic dynamicO = Receiver();
// dynamic dynamic2 = Receiver2();
// dynamic dynamic3 = Receiver3();
// dynamic dynamic4 = Receiver4();
// dynamic2.addTestRegularFilterSuper(null);
// dynamic3.addTestRegularFilterSuper(null);
// dynamic4.addTestRegularFilterSuper(null);
// dynamicO.addTest(null, '111', s:'666', i:5);
// PointCut p = PointCut.pointCut();
// dynamicO.addTest(p, 9);
// dynamicO.testFunc('ffff');
// dynamicO.addTestRegular(null);
// receiver2.addTest(null, '111', s:'777', i:8);
print(_receiver6);
// dynamic d2 = this;
// d2.addTest();
},
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
test();
// Receiver.tap();
_incrementCounter();
},
tooltip: 'Increment',
child: Icon(Icons.add),
), // This trailing comma makes auto-formatting nicer for build methods.
);
}
}
================================================
FILE: example/lib/receiver_test.dart
================================================
class Receiver {
final int j;
Receiver({this.j = 25});
static void tap() {
}
void receiveTapped(int i, {int? j}) {
print('[KWLM]:onPluginDemo111 Called!');
}
}
class Receiver2 extends Receiver {
}
class Receiver3 extends Receiver2 {
}
class Receiver4 {
}
================================================
FILE: example/pubspec.yaml
================================================
name: example
description: A new Flutter application.
# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.0+1
environment:
sdk: ">=2.12.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
beike_aspectd:
path: ../
dev_dependencies:
flutter_test:
sdk: flutter
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
# The following section is specific to Flutter.
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
# To add assets to your application, add an assets section, like this:
# assets:
# - images/a_dot_burr.jpeg
# - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware.
# For details regarding adding assets from package dependencies, see
# https://flutter.dev/assets-and-images/#from-packages
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages
================================================
FILE: example/test/widget_test.dart
================================================
// This is a basic Flutter widget test.
//
// To perform an interaction with a widget in your test, use the WidgetTester
// utility that Flutter provides. For example, you can send tap and scroll
// gestures. You can also use WidgetTester to find child widgets in the widget
// tree, read text, and verify that the values of widget properties are correct.
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:example/main.dart';
void main() {
testWidgets('Counter increments smoke test', (WidgetTester tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(MyApp());
// Verify that our counter starts at 0.
expect(find.text('0'), findsOneWidget);
expect(find.text('1'), findsNothing);
// Tap the '+' icon and trigger a frame.
await tester.tap(find.byIcon(Icons.add));
await tester.pump();
// Verify that our counter has incremented.
expect(find.text('0'), findsNothing);
expect(find.text('1'), findsOneWidget);
});
}
================================================
FILE: inner/.gitignore
================================================
.DS_Store
.dart_tool/
.packages
.pub/
build/
ios/*
.idea/
flutter_link_rent_package.iml
pubspec.lock
.metadata
./android/
.flutter-plugins
android/*
================================================
FILE: inner/CHANGELOG.md
================================================
## [0.9.0] - Pre release version.
* Support AOP programming for instance method、class method and library method.
* Provide call&execute&inject grammar.
## [0.9.1]
* Add example.
## [0.9.2]
* Make the aop process more easy by generating aspectd.dart.snapshot automatically.
## [0.9.3]
* Capatible with flutter v1.7.4 and above as the BundleBuilder api changed.
## [0.9.4]
* Remove the aspectd.dart.snapshot as it will be generated automatically.
* Better design diagram.
## [0.9.5]
* Design diagram in https.
## [0.9.6]
* Add MIT license
* Add better demo and README
* Keep compatible with latest dart-sdk as it has breaking changes in TypeParameterType.
## [0.9.7]
* Add regex support
* Add documentation
* Add linter
================================================
FILE: inner/LICENSE
================================================
The MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
================================================
FILE: inner/analysis_options.yaml
================================================
# Specify analysis options.
#
# Until there are meta linter rules, each desired lint must be explicitly enabled.
# See: https://github.com/dart-lang/linter/issues/288
#
# For a list of lints, see: http://dart-lang.github.io/linter/lints/
# See the configuration guide for more
# https://github.com/dart-lang/sdk/tree/master/pkg/analyzer#configuring-the-analyzer
#
# There are other similar analysis options files in the flutter repos,
# which should be kept in sync with this file:
#
# - analysis_options.yaml (this file)
# - packages/flutter/lib/analysis_options_user.yaml
# - https://github.com/flutter/plugins/blob/master/analysis_options.yaml
# - https://github.com/flutter/engine/blob/master/analysis_options.yaml
#
# This file contains the analysis options used by Flutter tools, such as IntelliJ,
# Android Studio, and the `flutter analyze` command.
analyzer:
strong-mode:
implicit-dynamic: false
errors:
# treat missing required parameters as a warning (not a hint)
missing_required_param: warning
# treat missing returns as a warning (not a hint)
missing_return: warning
# allow having TODOs in the code
todo: ignore
# Ignore analyzer hints for updating pubspecs when using Future or
# Stream and not importing dart:async
# Please see https://github.com/flutter/flutter/pull/24528 for details.
sdk_version_async_exported_from_core: ignore
linter:
rules:
# these rules are documented on and in the same order as
# the Dart Lint rules page to make maintenance easier
# https://github.com/dart-lang/linter/blob/master/example/all.yaml
- always_declare_return_types
- always_put_control_body_on_new_line
# - always_put_required_named_parameters_first # we prefer having parameters in the same order as fields https://github.com/flutter/flutter/issues/10219
- always_require_non_null_named_parameters
- always_specify_types
- annotate_overrides
# - avoid_annotating_with_dynamic # conflicts with always_specify_types
- avoid_as
- avoid_bool_literals_in_conditional_expressions
# - avoid_catches_without_on_clauses # we do this commonly
# - avoid_catching_errors # we do this commonly
- avoid_classes_with_only_static_members
# - avoid_double_and_int_checks # only useful when targeting JS runtime
- avoid_empty_else
- avoid_field_initializers_in_const_classes
- avoid_function_literals_in_foreach_calls
# - avoid_implementing_value_types # not yet tested
- avoid_init_to_null
# - avoid_js_rounded_ints # only useful when targeting JS runtime
- avoid_null_checks_in_equality_operators
# - avoid_positional_boolean_parameters # not yet tested
# - avoid_private_typedef_functions # we prefer having typedef (discussion in https://github.com/flutter/flutter/pull/16356)
- avoid_relative_lib_imports
- avoid_renaming_method_parameters
- avoid_return_types_on_setters
# - avoid_returning_null # there are plenty of valid reasons to return null
# - avoid_returning_null_for_future # not yet tested
- avoid_returning_null_for_void
# - avoid_returning_this # there are plenty of valid reasons to return this
# - avoid_setters_without_getters # not yet tested
# - avoid_shadowing_type_parameters # not yet tested
# - avoid_single_cascade_in_expression_statements # not yet tested
- avoid_slow_async_io
- avoid_types_as_parameter_names
# - avoid_types_on_closure_parameters # conflicts with always_specify_types
- avoid_unused_constructor_parameters
- avoid_void_async
- await_only_futures
- camel_case_types
- cancel_subscriptions
# - cascade_invocations # not yet tested
# - close_sinks # not reliable enough
# - comment_references # blocked on https://github.com/flutter/flutter/issues/20765
# - constant_identifier_names # needs an opt-out https://github.com/dart-lang/linter/issues/204
- control_flow_in_finally
# - curly_braces_in_flow_control_structures # not yet tested
# - diagnostic_describe_all_properties # not yet tested
- directives_ordering
- empty_catches
- empty_constructor_bodies
- empty_statements
# - file_names # not yet tested
- flutter_style_todos
- hash_and_equals
- implementation_imports
# - invariant_booleans # too many false positives: https://github.com/dart-lang/linter/issues/811
- iterable_contains_unrelated_type
# - join_return_with_assignment # not yet tested
- library_names
- library_prefixes
# - lines_longer_than_80_chars # not yet tested
- list_remove_unrelated_type
# - literal_only_boolean_expressions # too many false positives: https://github.com/dart-lang/sdk/issues/34181
- no_adjacent_strings_in_list
- no_duplicate_case_values
- non_constant_identifier_names
# - null_closures # not yet tested
# - omit_local_variable_types # opposite of always_specify_types
# - one_member_abstracts # too many false positives
# - only_throw_errors # https://github.com/flutter/flutter/issues/5792
- overridden_fields
- package_api_docs
- package_names
- package_prefixed_library_names
# - parameter_assignments # we do this commonly
- prefer_adjacent_string_concatenation
- prefer_asserts_in_initializer_lists
# - prefer_asserts_with_message # not yet tested
- prefer_collection_literals
- prefer_conditional_assignment
- prefer_const_constructors
- prefer_const_constructors_in_immutables
- prefer_const_declarations
- prefer_const_literals_to_create_immutables
# - prefer_constructors_over_static_methods # not yet tested
- prefer_contains
# - prefer_double_quotes # opposite of prefer_single_quotes
- prefer_equal_for_default_values
# - prefer_expression_function_bodies # conflicts with https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#consider-using--for-short-functions-and-methods
- prefer_final_fields
# - prefer_final_in_for_each # not yet tested
- prefer_final_locals
# - prefer_for_elements_to_map_fromIterable # not yet tested
- prefer_foreach
# - prefer_function_declarations_over_variables # not yet tested
- prefer_generic_function_type_aliases
- prefer_if_elements_to_conditional_expressions
- prefer_if_null_operators
- prefer_initializing_formals
- prefer_inlined_adds
# - prefer_int_literals # not yet tested
# - prefer_interpolation_to_compose_strings # not yet tested
- prefer_is_empty
- prefer_is_not_empty
- prefer_iterable_whereType
# - prefer_mixin # https://github.com/dart-lang/language/issues/32
# - prefer_null_aware_operators # disable until NNBD, see https://github.com/flutter/flutter/pull/32711#issuecomment-492930932
- prefer_single_quotes
- prefer_spread_collections
- prefer_typing_uninitialized_variables
- prefer_void_to_null
# - provide_deprecation_message # not yet tested
- public_member_api_docs # enabled on a case-by-case basis; see e.g. packages/analysis_options.yaml
- recursive_getters
- slash_for_doc_comments
# - sort_child_properties_last # not yet tested
- sort_constructors_first
- sort_pub_dependencies
- sort_unnamed_constructors_first
- test_types_in_equals
- throw_in_finally
# - type_annotate_public_apis # subset of always_specify_types
- type_init_formals
# - unawaited_futures # too many false positives
# - unnecessary_await_in_return # not yet tested
- unnecessary_brace_in_string_interps
- unnecessary_const
- unnecessary_getters_setters
# - unnecessary_lambdas # has false positives: https://github.com/dart-lang/linter/issues/498
- unnecessary_new
- unnecessary_null_aware_assignments
- unnecessary_null_in_if_null_operators
- unnecessary_overrides
- unnecessary_parenthesis
- unnecessary_statements
- unnecessary_this
- unrelated_type_equality_checks
# - unsafe_html # not yet tested
- use_full_hex_values_for_flutter_colors
# - use_function_type_syntax_for_parameters # not yet tested
- use_rethrow_when_possible
# - use_setters_to_change_properties # not yet tested
# - use_string_buffers # has false positives: https://github.com/dart-lang/sdk/issues/34182
# - use_to_and_as_if_applicable # has false positives, so we prefer to catch this by code-review
- valid_regexps
# - void_checks # not yet tested
================================================
FILE: inner/config.yaml
================================================
plugins:
- aop
- pluginDemo
================================================
FILE: inner/flutter_frontend_server/frontend_server.dart.snapshot
================================================
[File too large to display: 22.6 MB]
================================================
FILE: inner/flutter_frontend_server/gen_frontend_server_snapshot.sh
================================================
`dart --deterministic --snapshot=frontend_server.dart.snapshot starter.dart`
================================================
FILE: inner/flutter_frontend_server/generate_plugins_entry.dart
================================================
import 'dart:io';
import 'package:path/path.dart' as p;
import 'package:yaml/yaml.dart';
RegExp pluginNameExp = RegExp(r'^[a-zA-Z_][a-zA-Z0-9_]*$');
/// This function is used to generate plugins based on configurations specified
/// in lib/src/plugins/config.yaml.
int main(List<String> args) {
final Directory curDir = Directory(Platform.script.toFilePath());
final String pluginsFolder =
p.join(curDir.parent.parent.path, 'lib', 'src', 'plugins');
final String configYamlPath =
p.join(curDir.parent.parent.path, 'config.yaml');
final File configYamlFile = File(configYamlPath);
final List<String> pluginsList = <String>[];
if (configYamlFile.existsSync()) {
final dynamic pubspec = loadYaml(configYamlFile.readAsStringSync());
if (pubspec == null) {
return null;
}
final YamlList pluginsNode = pubspec['plugins'];
for (YamlNode yamlNode in pluginsNode.nodes) {
if (yamlNode.value == null) {
continue;
}
final String pluginName = yamlNode.value.toString();
if (!pluginNameExp.hasMatch(pluginName)) {
continue;
}
pluginsList.add(pluginName);
}
}
bool needRegenerate = false;
final int pluginCnt = pluginsList.length;
for (int i = 0; i < pluginCnt; i++) {
final bool itemRegenerate =
checkIfGeneratePlugin(pluginsFolder, pluginsList[i]);
needRegenerate = needRegenerate || itemRegenerate;
}
if (needRegenerate) {
// Generate aspectd.dart as an export file
String aspectdContent = '';
for (int i = 0; i < pluginCnt; i++) {
final String pluginItem = pluginsList[i];
aspectdContent =
'${aspectdContent}export \'package:beike_aspectd/src/plugins/$pluginItem/$pluginItem.dart\';\n';
}
// Generate transformer_wrapper.dart as an export file
String transformerWrapperImport = '';
String transformerWrapperCallTransform = '';
for (int i = 0; i < pluginCnt; i++) {
final String pluginItem = pluginsList[i];
final String firstUpPluginItem = pluginItem[0].toUpperCase() +
(pluginItem.length == 1 ? '' : pluginItem.substring(1));
transformerWrapperImport =
'${transformerWrapperImport}import \'package:beike_aspectd/src/plugins/$pluginItem/${pluginItem}_transformer_wrapper.dart\';\n';
transformerWrapperCallTransform =
'$transformerWrapperCallTransform${firstUpPluginItem}WrapperTransformer ${pluginItem}WrapperTransformer = ${firstUpPluginItem}WrapperTransformer(platformStrongComponent: this.platformStrongComponent);\n ${pluginItem}WrapperTransformer.transform(component);\n\n ';
}
final String transformerWrapperContent = '''
import 'package:kernel/ast.dart';
$transformerWrapperImport
class TransformerWrapper{
Component platformStrongComponent;
TransformerWrapper(this.platformStrongComponent);
bool transform(Component component) {
${transformerWrapperCallTransform}return true;
}
}''';
final File aspectdFile = File(
p.join(Directory(pluginsFolder).parent.parent.path, 'aspectd.dart'));
if (!aspectdFile.existsSync()) {
aspectdFile.createSync();
}
aspectdFile.writeAsStringSync(aspectdContent);
final File transformerWrapperFile = File(p.join(
Directory(pluginsFolder).parent.parent.path,
'transformer_wrapper.dart'));
if (!transformerWrapperFile.existsSync()) {
transformerWrapperFile.createSync();
}
transformerWrapperFile.writeAsStringSync(transformerWrapperContent);
}
return 0;
}
/// This function will check if a plugin is necessary to generate, if needed,
/// corresponding folders, files will be created.
/// When needed to generate a plugin, return true, false otherwise.
bool checkIfGeneratePlugin(String pluginsDir, String pluginName) {
final String firstUpPluginItem = pluginName[0].toUpperCase() +
(pluginName.length == 1 ? '' : pluginName.substring(1));
final String pluginFolder = p.join(pluginsDir, pluginName);
final File pluginExportFile = File(p.join(pluginFolder, '$pluginName.dart'));
final File pluginTransformerFile =
File(p.join(pluginFolder, '${pluginName}_transformer_wrapper.dart'));
if (pluginExportFile.existsSync() || pluginTransformerFile.existsSync()) {
return false;
}
if (!Directory(pluginFolder).existsSync()) {
Directory(pluginFolder).createSync();
}
pluginExportFile.createSync();
pluginTransformerFile.createSync();
// We don't generate content for export file as it's unknown.
// Generate content for transformer as it has a pattern.
final String pluginTransformerTemplate = '''
import 'package:kernel/ast.dart';
class ${firstUpPluginItem}WrapperTransformer {
Component platformStrongComponent;
${firstUpPluginItem}WrapperTransformer({this.platformStrongComponent});
void transform(Component program) {
}
}
''';
pluginTransformerFile.writeAsStringSync(pluginTransformerTemplate,
flush: true);
return true;
}
================================================
FILE: inner/flutter_frontend_server/package_config.json
================================================
{
"configVersion": 2,
"packages": [
{
"name": "flutter_frontend_server",
"rootUri": "../",
"packageUri": "lib",
"languageVersion": "2.2"
},
{
"name": "_fe_analyzer_shared",
"rootUri": "../../../third_party/dart/pkg/_fe_analyzer_shared",
"packageUri": "lib",
"languageVersion": "2.2"
},
{
"name": "_js_interop_checks",
"rootUri": "../../../third_party/dart/pkg/_js_interop_checks",
"packageUri": "lib",
"languageVersion": "2.7"
},
{
"name": "analysis_server",
"rootUri": "../../../third_party/dart/pkg/analysis_server",
"packageUri": "lib",
"languageVersion": "2.6"
},
{
"name": "analysis_server_client",
"rootUri": "../../../third_party/dart/pkg/analysis_server_client",
"packageUri": "lib",
"languageVersion": "2.8"
},
{
"name": "analysis_tool",
"rootUri": "../../../third_party/dart/pkg/analysis_tool",
"packageUri": "lib",
"languageVersion": "2.1"
},
{
"name": "analyzer",
"rootUri": "../../../third_party/dart/pkg/analyzer",
"packageUri": "lib",
"languageVersion": "2.7"
},
{
"name": "analyzer_cli",
"rootUri": "../../../third_party/dart/pkg/analyzer_cli",
"packageUri": "lib",
"languageVersion": "2.7"
},
{
"name": "analyzer_plugin",
"rootUri": "../../../third_party/dart/pkg/analyzer_plugin",
"packageUri": "lib",
"languageVersion": "2.3"
},
{
"name": "async_helper",
"rootUri": "../../../third_party/dart/pkg/async_helper",
"packageUri": "lib",
"languageVersion": "2.8"
},
{
"name": "build_integration",
"rootUri": "../../../third_party/dart/pkg/build_integration",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "compiler",
"rootUri": "../../../third_party/dart/pkg/compiler",
"packageUri": "lib",
"languageVersion": "2.6"
},
{
"name": "dart2js_tools",
"rootUri": "../../../third_party/dart/pkg/dart2js_tools",
"packageUri": "lib",
"languageVersion": "2.3"
},
{
"name": "dart2native",
"rootUri": "../../../third_party/dart/pkg/dart2native",
"packageUri": "lib",
"languageVersion": "2.7"
},
{
"name": "dart_internal",
"rootUri": "../../../third_party/dart/pkg/dart_internal",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "dartdev",
"rootUri": "../../../third_party/dart/pkg/dartdev",
"packageUri": "lib",
"languageVersion": "2.6"
},
{
"name": "dartfix",
"rootUri": "../../../third_party/dart/pkg/dartfix",
"packageUri": "lib",
"languageVersion": "2.8"
},
{
"name": "dds",
"rootUri": "../../../third_party/dart/pkg/dds",
"packageUri": "lib",
"languageVersion": "2.6"
},
{
"name": "dev_compiler",
"rootUri": "../../../third_party/dart/pkg/dev_compiler",
"packageUri": "lib",
"languageVersion": "2.3"
},
{
"name": "diagnostic",
"rootUri": "../../../third_party/dart/pkg/diagnostic",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "expect",
"rootUri": "../../../third_party/dart/pkg/expect",
"packageUri": "lib",
"languageVersion": "2.8"
},
{
"name": "front_end",
"rootUri": "../../../third_party/dart/pkg/front_end",
"packageUri": "lib",
"languageVersion": "2.2"
},
{
"name": "frontend_server",
"rootUri": "../../../third_party/dart/pkg/frontend_server",
"packageUri": "lib",
"languageVersion": "2.7"
},
{
"name": "js",
"rootUri": "../../../third_party/dart/pkg/js",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "js_ast",
"rootUri": "../../../third_party/dart/pkg/js_ast",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "kernel",
"rootUri": "../../../third_party/dart/pkg/kernel",
"packageUri": "lib",
"languageVersion": "2.2"
},
{
"name": "meta",
"rootUri": "../../../third_party/dart/pkg/meta",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "modular_test",
"rootUri": "../../../third_party/dart/pkg/modular_test",
"packageUri": "lib",
"languageVersion": "2.2"
},
{
"name": "native_stack_traces",
"rootUri": "../../../third_party/dart/pkg/native_stack_traces",
"packageUri": "lib",
"languageVersion": "2.8"
},
{
"name": "nnbd_migration",
"rootUri": "../../../third_party/dart/pkg/nnbd_migration",
"packageUri": "lib",
"languageVersion": "2.6"
},
{
"name": "smith",
"rootUri": "../../../third_party/dart/pkg/smith",
"packageUri": "lib",
"languageVersion": "2.3"
},
{
"name": "sourcemap_testing",
"rootUri": "../../../third_party/dart/pkg/sourcemap_testing",
"packageUri": "lib",
"languageVersion": "2.1"
},
{
"name": "status_file",
"rootUri": "../../../third_party/dart/pkg/status_file",
"packageUri": "lib",
"languageVersion": "2.3"
},
{
"name": "telemetry",
"rootUri": "../../../third_party/dart/pkg/telemetry",
"packageUri": "lib",
"languageVersion": "1.0"
},
{
"name": "test_runner",
"rootUri": "../../../third_party/dart/pkg/test_runner",
"packageUri": "lib",
"languageVersion": "2.3"
},
{
"name": "testing",
"rootUri": "../../../third_party/dart/pkg/testing",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "vm",
"rootUri": "../../../third_party/dart/pkg/vm",
"packageUri": "lib",
"languageVersion": "2.7"
},
{
"name": "vm_service",
"rootUri": "../../../third_party/dart/pkg/vm_service",
"packageUri": "lib",
"languageVersion": "2.6"
},
{
"name": "vm_snapshot_analysis",
"rootUri": "../../../third_party/dart/pkg/vm_snapshot_analysis",
"packageUri": "lib",
"languageVersion": "2.8"
},
{
"name": "wasm",
"rootUri": "../../../third_party/dart/pkg/wasm",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "observatory",
"rootUri": "../../../third_party/dart/runtime/observatory",
"packageUri": "lib",
"languageVersion": "2.2"
},
{
"name": "js_runtime",
"rootUri": "../../../third_party/dart/sdk/lib/_internal/js_runtime",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "sdk_library_metadata",
"rootUri": "../../../third_party/dart/sdk/lib/_internal/sdk_library_metadata",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "args",
"rootUri": "../../../third_party/dart/third_party/pkg/args",
"packageUri": "lib",
"languageVersion": "2.3"
},
{
"name": "async",
"rootUri": "../../../third_party/dart/third_party/pkg/async",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "bazel_worker",
"rootUri": "../../../third_party/dart/third_party/pkg/bazel_worker",
"packageUri": "lib",
"languageVersion": "2.3"
},
{
"name": "boolean_selector",
"rootUri": "../../../third_party/dart/third_party/pkg/boolean_selector",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "charcode",
"rootUri": "../../../third_party/dart/third_party/pkg/charcode",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "cli_util",
"rootUri": "../../../third_party/dart/third_party/pkg/cli_util",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "collection",
"rootUri": "../../../third_party/dart/third_party/pkg/collection",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "convert",
"rootUri": "../../../third_party/dart/third_party/pkg/convert",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "crypto",
"rootUri": "../../../third_party/dart/third_party/pkg/crypto",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "csslib",
"rootUri": "../../../third_party/dart/third_party/pkg/csslib",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "dart2js_info",
"rootUri": "../../../third_party/dart/third_party/pkg/dart2js_info",
"packageUri": "lib",
"languageVersion": "2.3"
},
{
"name": "dartdoc",
"rootUri": "../../../third_party/dart/third_party/pkg/dartdoc",
"packageUri": "lib",
"languageVersion": "2.7"
},
{
"name": "ffi",
"rootUri": "../../../third_party/dart/third_party/pkg/ffi",
"packageUri": "lib",
"languageVersion": "2.9"
},
{
"name": "fixnum",
"rootUri": "../../../third_party/dart/third_party/pkg/fixnum",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "glob",
"rootUri": "../../../third_party/dart/third_party/pkg/glob",
"packageUri": "lib",
"languageVersion": "2.2"
},
{
"name": "html",
"rootUri": "../../../third_party/dart/third_party/pkg/html",
"packageUri": "lib",
"languageVersion": "2.3"
},
{
"name": "http",
"rootUri": "../../../third_party/dart/third_party/pkg/http",
"packageUri": "lib",
"languageVersion": "2.4"
},
{
"name": "http_multi_server",
"rootUri": "../../../third_party/dart/third_party/pkg/http_multi_server",
"packageUri": "lib",
"languageVersion": "2.1"
},
{
"name": "http_parser",
"rootUri": "../../../third_party/dart/third_party/pkg/http_parser",
"packageUri": "lib",
"languageVersion": "2.3"
},
{
"name": "http_retry",
"rootUri": "../../../third_party/dart/third_party/pkg/http_retry",
"packageUri": "lib",
"languageVersion": "1.24"
},
{
"name": "http_throttle",
"rootUri": "../../../third_party/dart/third_party/pkg/http_throttle",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "intl",
"rootUri": "../../../third_party/dart/third_party/pkg/intl",
"packageUri": "lib",
"languageVersion": "2.5"
},
{
"name": "json_rpc_2",
"rootUri": "../../../third_party/dart/third_party/pkg/json_rpc_2",
"packageUri": "lib",
"languageVersion": "2.2"
},
{
"name": "linter",
"rootUri": "../../../third_party/dart/third_party/pkg/linter",
"packageUri": "lib",
"languageVersion": "2.6"
},
{
"name": "logging",
"rootUri": "../../../third_party/dart/third_party/pkg/logging",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "markdown",
"rootUri": "../../../third_party/dart/third_party/pkg/markdown",
"packageUri": "lib",
"languageVersion": "2.6"
},
{
"name": "matcher",
"rootUri": "../../../third_party/dart/third_party/pkg/matcher",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "mime",
"rootUri": "../../../third_party/dart/third_party/pkg/mime",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "mockito",
"rootUri": "../../../third_party/dart/third_party/pkg/mockito",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "mustache",
"rootUri": "../../../third_party/dart/third_party/pkg/mustache",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "oauth2",
"rootUri": "../../../third_party/dart/third_party/pkg/oauth2",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "path",
"rootUri": "../../../third_party/dart/third_party/pkg/path",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "pedantic",
"rootUri": "../../../third_party/dart/third_party/pkg/pedantic",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "pool",
"rootUri": "../../../third_party/dart/third_party/pkg/pool",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "protobuf",
"rootUri": "../../../third_party/dart/third_party/pkg/protobuf/protobuf",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "pub",
"rootUri": "../../../third_party/dart/third_party/pkg/pub",
"packageUri": "lib",
"languageVersion": "2.9"
},
{
"name": "pub_semver",
"rootUri": "../../../third_party/dart/third_party/pkg/pub_semver",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "quiver",
"rootUri": "../../../third_party/dart/third_party/pkg/quiver",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "resource",
"rootUri": "../../../third_party/dart/third_party/pkg/resource",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "shelf",
"rootUri": "../../../third_party/dart/third_party/pkg/shelf",
"packageUri": "lib",
"languageVersion": "2.1"
},
{
"name": "shelf_packages_handler",
"rootUri": "../../../third_party/dart/third_party/pkg/shelf_packages_handler",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "shelf_proxy",
"rootUri": "../../../third_party/dart/third_party/pkg/shelf_proxy",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "shelf_static",
"rootUri": "../../../third_party/dart/third_party/pkg/shelf_static",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "shelf_web_socket",
"rootUri": "../../../third_party/dart/third_party/pkg/shelf_web_socket",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "source_map_stack_trace",
"rootUri": "../../../third_party/dart/third_party/pkg/source_map_stack_trace",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "source_maps",
"rootUri": "../../../third_party/dart/third_party/pkg/source_maps",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "source_span",
"rootUri": "../../../third_party/dart/third_party/pkg/source_span",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "sse",
"rootUri": "../../../third_party/dart/third_party/pkg/sse",
"packageUri": "lib",
"languageVersion": "2.2"
},
{
"name": "stack_trace",
"rootUri": "../../../third_party/dart/third_party/pkg/stack_trace",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "stagehand",
"rootUri": "../../../third_party/dart/third_party/pkg/stagehand",
"packageUri": "lib",
"languageVersion": "2.8"
},
{
"name": "stream_channel",
"rootUri": "../../../third_party/dart/third_party/pkg/stream_channel",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "string_scanner",
"rootUri": "../../../third_party/dart/third_party/pkg/string_scanner",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "term_glyph",
"rootUri": "../../../third_party/dart/third_party/pkg/term_glyph",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "test",
"rootUri": "../../../third_party/dart/third_party/pkg/test/pkgs/test",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "test_api",
"rootUri": "../../../third_party/dart/third_party/pkg/test/pkgs/test_api",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "test_core",
"rootUri": "../../../third_party/dart/third_party/pkg/test/pkgs/test_core",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "test_reflective_loader",
"rootUri": "../../../third_party/dart/third_party/pkg/test_reflective_loader",
"packageUri": "lib",
"languageVersion": "1.8"
},
{
"name": "tflite_native",
"rootUri": "../../../third_party/dart/third_party/pkg/tflite_native",
"packageUri": "lib",
"languageVersion": "2.6"
},
{
"name": "typed_data",
"rootUri": "../../../third_party/dart/third_party/pkg/typed_data",
"packageUri": "lib",
"languageVersion": "2.10"
},
{
"name": "usage",
"rootUri": "../../../third_party/dart/third_party/pkg/usage",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "watcher",
"rootUri": "../../../third_party/dart/third_party/pkg/watcher",
"packageUri": "lib",
"languageVersion": "2.2"
},
{
"name": "web_socket_channel",
"rootUri": "../../../third_party/dart/third_party/pkg/web_socket_channel",
"packageUri": "lib",
"languageVersion": "2.0"
},
{
"name": "yaml",
"rootUri": "../../../third_party/dart/third_party/pkg/yaml",
"packageUri": "lib",
"languageVersion": "2.4"
},
{
"name": "dart_style",
"rootUri": "../../../third_party/dart/third_party/pkg_tested/dart_style",
"packageUri": "lib",
"languageVersion": "2.9"
},
{
"name": "package_config",
"rootUri": "../../../third_party/dart/third_party/pkg_tested/package_config",
"packageUri": "lib",
"languageVersion": "2.7"
}
]
}
================================================
FILE: inner/flutter_frontend_server/server.dart
================================================
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'dart:async';
import 'dart:io' hide FileSystemEntity;
import 'package:args/args.dart';
import 'package:frontend_server/frontend_server.dart' as frontend
show
FrontendCompiler,
CompilerInterface,
listenAndCompile,
argParser,
usage,
ProgramTransformer;
import 'package:kernel/ast.dart';
import 'package:path/path.dart' as path;
import 'package:vm/incremental_compiler.dart';
import 'package:vm/target/flutter.dart';
import '../transformer/plugins/aop/aop_transformer_wrapper.dart';
/// Wrapper around [FrontendCompiler] that adds [widgetCreatorTracker] kernel
/// transformation to the compilation.
class _FlutterFrontendCompiler implements frontend.CompilerInterface {
_FlutterFrontendCompiler(StringSink? output,
{bool? unsafePackageSerialization,
bool? useDebuggerModuleNames,
bool? emitDebugMetadata,
frontend.ProgramTransformer? transformer,
this.aopTransform = false})
: _compiler = frontend.FrontendCompiler(output,
transformer: transformer,
unsafePackageSerialization: unsafePackageSerialization);
final frontend.CompilerInterface _compiler;
final AopWrapperTransformer aspectdAopTransformer = AopWrapperTransformer();
final bool aopTransform;
@override
Future<bool> compile(String filename, ArgResults options,
{IncrementalCompiler? generator}) async {
print('aop: need perform ' + aopTransform.toString());
if (aopTransform == true &&
!FlutterTarget.flutterProgramTransformers
.contains(aspectdAopTransformer)) {
FlutterTarget.flutterProgramTransformers.add(aspectdAopTransformer);
}
return _compiler.compile(filename, options, generator: generator);
}
@override
Future<void> recompileDelta({String? entryPoint}) async {
final List<FlutterProgramTransformer> transformers =
FlutterTarget.flutterProgramTransformers;
transformers.clear();
return _compiler.recompileDelta(entryPoint: entryPoint);
}
@override
void acceptLastDelta() {
_compiler.acceptLastDelta();
}
@override
Future<void> rejectLastDelta() async {
return _compiler.rejectLastDelta();
}
@override
void invalidate(Uri uri) {
_compiler.invalidate(uri);
}
@override
Future<void> compileExpression(
String expression,
List<String> definitions,
List<String> definitionTypes,
List<String> typeDefinitions,
List<String> typeBounds,
List<String> typeDefaults,
String libraryUri,
String? klass,
String? method,
bool isStatic) {
return _compiler.compileExpression(
expression,
definitions,
definitionTypes,
typeDefinitions,
typeBounds,
typeDefaults,
libraryUri,
klass,
method,
isStatic);
}
@override
Future<void> compileExpressionToJs(
String libraryUri,
int line,
int column,
Map<String, String> jsModules,
Map<String, String> jsFrameValues,
String moduleName,
String expression) {
return _compiler.compileExpressionToJs(libraryUri, line, column, jsModules,
jsFrameValues, moduleName, expression);
}
@override
void reportError(String msg) {
_compiler.reportError(msg);
}
@override
void resetIncrementalCompiler() {
_compiler.resetIncrementalCompiler();
}
@override
Future<bool> setNativeAssets(String nativeAssets) {
return _compiler.setNativeAssets(nativeAssets);
}
}
/// Entry point for this module, that creates `_FrontendCompiler` instance and
/// processes user input.
/// `compiler` is an optional parameter so it can be replaced with mocked
/// version for testing.
Future<int> starter(
List<String> args, {
frontend.CompilerInterface? compiler,
Stream<List<int>>? input,
StringSink? output,
frontend.ProgramTransformer? transformer,
}) async {
ArgResults options;
try {
final ArgParser parser = frontend.argParser;
parser.addOption('aop', help: 'aop transform');
options = parser.parse(args);
} catch (error) {
print('ERROR: $error\n');
print(frontend.usage);
return 1;
}
final Set<String> deleteToStringPackageUris =
(options['delete-tostring-package-uri'] as List<String>).toSet();
if (options['train'] as bool) {
if (!options.rest.isNotEmpty) {
throw Exception('Must specify input.dart');
}
final String input = options.rest[0];
final String sdkRoot = options['sdk-root'] as String;
final Directory temp =
Directory.systemTemp.createTempSync('train_frontend_server');
try {
for (int i = 0; i < 3; i++) {
final String outputTrainingDill = path.join(temp.path, 'app.dill');
options = frontend.argParser.parse(<String>[
'--incremental',
'--sdk-root=$sdkRoot',
'--output-dill=$outputTrainingDill',
'--target=flutter',
'--track-widget-creation',
'--enable-asserts',
'--gen-bytecode',
'--bytecode-options=source-positions,local-var-info,debugger-stops,instance-field-initializers,keep-unreachable-code,avoid-closure-call-instructions',
]);
compiler ??= _FlutterFrontendCompiler(
output,
transformer: ToStringTransformer(transformer, deleteToStringPackageUris),
);
await compiler.compile(input, options);
compiler.acceptLastDelta();
await compiler.recompileDelta();
compiler.acceptLastDelta();
compiler.resetIncrementalCompiler();
await compiler.recompileDelta();
compiler.acceptLastDelta();
await compiler.recompileDelta();
compiler.acceptLastDelta();
}
return 0;
} finally {
temp.deleteSync(recursive: true);
}
}
compiler ??= _FlutterFrontendCompiler(output,
transformer: ToStringTransformer(transformer, deleteToStringPackageUris),
useDebuggerModuleNames: options['debugger-module-names'] as bool,
emitDebugMetadata: options['experimental-emit-debug-metadata'] as bool,
unsafePackageSerialization:
options['unsafe-package-serialization'] as bool,
aopTransform: options['aop'].toString() == '1' ? true : false);
if (options.rest.isNotEmpty) {
return await compiler.compile(options.rest[0], options) ? 0 : 254;
}
final Completer<int> completer = Completer<int>();
frontend.listenAndCompile(compiler, input ?? stdin, options, completer);
return completer.future;
}
// Transformer/visitor for toString
// If we add any more of these, they really should go into a separate library.
/// A [RecursiveVisitor] that replaces [Object.toString] overrides with
/// `super.toString()`.
class ToStringVisitor extends RecursiveVisitor<void> {
/// The [packageUris] must not be null.
ToStringVisitor(this._packageUris) : assert(_packageUris != null);
/// A set of package URIs to apply this transformer to, e.g. 'dart:ui' and
/// 'package:flutter/foundation.dart'.
final Set<String> _packageUris;
/// Turn 'dart:ui' into 'dart:ui', or
/// 'package:flutter/src/semantics_event.dart' into 'package:flutter'.
String _importUriToPackage(Uri importUri) =>
'${importUri.scheme}:${importUri.pathSegments.first}';
bool _isInTargetPackage(Procedure node) {
return _packageUris
.contains(_importUriToPackage(node.enclosingLibrary.importUri));
}
bool _hasKeepAnnotation(Procedure node) {
for (ConstantExpression expression
in node.annotations.whereType<ConstantExpression>()) {
if (expression.constant is! InstanceConstant) {
continue;
}
final InstanceConstant constant = expression.constant as InstanceConstant;
if (constant.classNode.name == '_KeepToString' &&
constant.classNode.enclosingLibrary.importUri.toString() ==
'dart:ui') {
return true;
}
}
return false;
}
@override
void visitProcedure(Procedure node) {
if (node.name.text == 'toString' &&
node.enclosingClass != null &&
node.enclosingLibrary != null &&
!node.isStatic &&
!node.isAbstract &&
!node.enclosingClass!.isEnum &&
_isInTargetPackage(node) &&
!_hasKeepAnnotation(node)) {
node.function.body?.replaceWith(
ReturnStatement(
SuperMethodInvocation(
node.name,
Arguments(<Expression>[]),node
),
),
);
}
}
@override
void defaultMember(Member node) {}
}
/// Replaces [Object.toString] overrides with calls to super for the specified
/// [packageUris].
class ToStringTransformer extends frontend.ProgramTransformer {
/// The [packageUris] parameter must not be null, but may be empty.
ToStringTransformer(this._child, this._packageUris)
: assert(_packageUris != null);
final frontend.ProgramTransformer? _child;
/// A set of package URIs to apply this transformer to, e.g. 'dart:ui' and
/// 'package:flutter/foundation.dart'.
final Set<String> _packageUris;
@override
void transform(Component component) {
assert(_child is! ToStringTransformer);
if (_packageUris.isNotEmpty) {
component.visitChildren(ToStringVisitor(_packageUris));
}
_child?.transform(component);
}
}
================================================
FILE: inner/flutter_frontend_server/starter.dart
================================================
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library frontend_server;
import 'dart:io';
import 'server.dart';
void main(List<String> args) async {
final int exitCode = await starter(args);
if (exitCode != 0) {
exit(exitCode);
}
}
================================================
FILE: inner/flutter_tools.patch
================================================
From 8cfcb6467f8a9631c6b0f82134ff1d9ad8b9a327 Mon Sep 17 00:00:00 2001
From: xiaopeng015 <xiaopeng015@ke.com>
Date: Tue, 4 Jul 2023 17:42:16 +0800
Subject: [PATCH] 1
---
.../lib/src/aop/aop_manager.dart | 196 ++++++++++++++++
.../flutter_tools/lib/src/aop/aspectd.dart | 221 ++++++++++++++++++
.../lib/src/aop/hook_factory.dart | 95 ++++++++
.../lib/src/build_system/targets/common.dart | 8 +
.../lib/src/build_system/targets/web.dart | 3 +
.../lib/src/commands/build_bundle.dart | 4 +
packages/flutter_tools/lib/src/compile.dart | 18 ++
7 files changed, 545 insertions(+)
create mode 100644 packages/flutter_tools/lib/src/aop/aop_manager.dart
create mode 100644 packages/flutter_tools/lib/src/aop/aspectd.dart
create mode 100644 packages/flutter_tools/lib/src/aop/hook_factory.dart
diff --git a/packages/flutter_tools/lib/src/aop/aop_manager.dart b/packages/flutter_tools/lib/src/aop/aop_manager.dart
new file mode 100644
index 0000000000..8cbab5e8b8
--- /dev/null
+++ b/packages/flutter_tools/lib/src/aop/aop_manager.dart
@@ -0,0 +1,196 @@
+import 'package:flutter_tools/src/aop/hook_factory.dart';
+import 'package:flutter_tools/src/dart/package_map.dart';
+import 'package:package_config/package_config.dart';
+import 'package:yaml/yaml.dart';
+import 'package:file/file.dart' as f;
+import '../globals.dart' as globals;
+import '../artifacts.dart';
+
+import '../build_info.dart';
+import '../globals.dart';
+
+// ignore: avoid_classes_with_only_static_members
+/// 创建时间:2020-03-28
+/// 作者:liujingguang
+/// 描述:AopManager管理类
+///
+/// aop_config.yaml文件配置需要处理app.dill文件的工程, 在根项目下进行配置.
+/// project_name为项目名称
+/// exec_path为生成的snapshot的路径
+///
+/// 配置样例如下:
+///
+/// flutter_tools_hook:
+/// - project_name: 'beike_aspectd'
+/// exec_path: 'bin/starter.snapshot'
+///
+/// - project_name: 'flutter_aop_data_parse'
+/// exec_path: 'bin/starter.snapshot'
+class AopManager {
+ static const String sYamlConfigName = 'aop_config.yaml';
+ static const String key_flutter_tools_hook = 'flutter_tools_hook';
+ static const String key_project_name = 'project_name';
+ static const String key_exec_path = 'exec_path';
+
+ static Future<void> hookBuildBundleCommand(
+ String productDirPath,
+ BuildMode buildMode,
+ ) async {
+ await _handleHook(productDirPath, buildMode, CommandType4Aop.Bundle);
+ }
+
+ static Future<void> hookBuildAotCommand(
+ String productDirPath,
+ BuildMode buildMode,
+ ) async {
+ await _handleHook(productDirPath, buildMode, CommandType4Aop.Aot);
+ }
+
+ static Future<void> hookSnapshotCommand(
+ String productDirPath,
+ BuildMode buildMode,
+ ) async {
+ await _handleHook(productDirPath, buildMode, CommandType4Aop.Snapshot);
+ }
+
+ static Future<List<String>> aopArgs(BuildMode buildMode) async {
+ final String? dart_path = globals.artifacts
+ ?.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk);
+
+ final List<String>? proceduresList = await _aopProcedures();
+
+ final List<String> args = [
+ '--build-mode',
+ buildMode.name,
+ '--dart-path',
+ dart_path??''
+ ];
+
+ if (proceduresList != null && proceduresList.isNotEmpty) {
+ final String produces = proceduresList.join(',');
+ args.add('--aop-packages');
+ args.add(produces);
+ }
+
+ return args;
+ }
+
+ static Future<List<String>?> _aopProcedures() async {
+ List<String> procedures = <String>[];
+
+ final String configYamlPath =
+ fs.path.join(fs.currentDirectory.path, sYamlConfigName);
+
+ if (fs.file(configYamlPath).existsSync()) {
+ final dynamic yamlInfo =
+ loadYaml(fs.file(configYamlPath).readAsStringSync());
+
+ if (yamlInfo == null) {
+ return null;
+ }
+
+ if (yamlInfo[key_flutter_tools_hook] is! YamlList) {
+ return null;
+ }
+
+ final YamlList yamlNodes = yamlInfo[key_flutter_tools_hook] as YamlList;
+ for (dynamic v in yamlNodes) {
+ if (v == null) {
+ continue;
+ }
+
+ final String projectName = v[key_project_name] as String;
+ final String execPath = v[key_exec_path] as String;
+
+ if (projectName == null || execPath == null) {
+ continue;
+ }
+
+ final String? packagePath = await _findAopPackagePath(projectName);
+ if (packagePath == null) {
+ continue;
+ }
+
+ procedures.add(fs.path.join(packagePath, execPath));
+ }
+ }
+
+ return procedures;
+ }
+
+ static Future<void> _handleHook(
+ String productDirPath, BuildMode buildMode, CommandType4Aop type) async {
+// return Future.value();
+ try {
+ final String configYamlPath =
+ fs.path.join(fs.currentDirectory.path, sYamlConfigName);
+
+ print(configYamlPath);
+
+ if (fs.file(configYamlPath).existsSync()) {
+ final dynamic yamlInfo =
+ loadYaml(fs.file(configYamlPath).readAsStringSync());
+
+ if (yamlInfo == null) {
+ return;
+ }
+
+ if (yamlInfo[key_flutter_tools_hook] is! YamlList) {
+ return;
+ }
+
+ final YamlList yamlNodes = yamlInfo[key_flutter_tools_hook] as YamlList;
+ for (dynamic v in yamlNodes) {
+ if (v == null) {
+ return;
+ }
+
+ final String projectName = v[key_project_name] as String;
+ final String execPath = v[key_exec_path] as String;
+
+ if (projectName == null || execPath == null) {
+ return;
+ }
+ final String? packagePath = await _findAopPackagePath(projectName);
+ if (packagePath == null) {
+ return;
+ }
+
+ await HookFactory.hook(productDirPath,
+ fs.path.join(packagePath, execPath), buildMode, type);
+ }
+ }
+ // ignore: avoid_catches_without_on_clauses
+ } catch (e) {
+ printTrace('error in _handleHook of $type : ${e.toString()}');
+ }
+ }
+
+ /// 获取项目中引用flutter_aop_data_parse的路径
+ static Future<String?> _findAopPackagePath(String projectName) async {
+ Map<String, dynamic> packages;
+ try {
+ final String packagesFilePath =
+ fs.path.join(fs.currentDirectory.path, '.packages');
+
+ final f.File packageFile = fs.file(packagesFilePath);
+ final PackageConfig packageConfig =
+ await loadPackageConfigWithLogging(packageFile, logger: globals.logger);
+ packages = PackageConfig.toJson(packageConfig);
+
+ for (Package package in packageConfig.packages) {
+ if (package.name == projectName) {
+ final Uri uri = package.packageUriRoot;
+ final String uriString = uri.path;
+ return uriString;
+ }
+ }
+ // ignore: avoid_catches_without_on_clauses
+ } catch (e) {
+ printTrace('Invalid .packages file: $e');
+ return null;
+ }
+
+ return null;
+ }
+}
diff --git a/packages/flutter_tools/lib/src/aop/aspectd.dart b/packages/flutter_tools/lib/src/aop/aspectd.dart
new file mode 100644
index 0000000000..380e51cd08
--- /dev/null
+++ b/packages/flutter_tools/lib/src/aop/aspectd.dart
@@ -0,0 +1,221 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import 'dart:io';
+
+import 'package:crypto/crypto.dart';
+import 'package:yaml/yaml.dart';
+import 'package:package_config/package_config.dart';
+
+import '../artifacts.dart';
+import '../base/common.dart';
+import '../build_info.dart';
+import '../base/file_system.dart';
+import '../build_system/build_system.dart';
+import '../build_system/targets/common.dart';
+import '../cache.dart';
+import '../compile.dart';
+import '../dart/package_map.dart';
+import '../globals.dart' as globals;
+
+const String aspectdImplPackageRelPath = '..';
+const String frontendServerDartSnapshot = 'frontend_server.dart.snapshot';
+const String sYamlConfigName = 'aop_config.yaml';
+const String key_flutter_tools_hook = 'flutter_tools_hook';
+const String key_project_name = 'project_name';
+const String key_exec_path = 'exec_path';
+const String beike_aspectd = 'beike_aspectd';
+const String inner_path = 'inner';
+const String globalPackagesPath = '.packages';
+
+class AspectdHook {
+ static Future<Directory?> getPackagePathFromConfig(
+ String packageConfigPath, String packageName) async {
+ final PackageConfig packageConfig = await loadPackageConfigWithLogging(
+ globals.fs.file(packageConfigPath),
+ logger: globals.logger,
+ );
+ if ((packageConfig?.packages?.length ?? 0) > 0) {
+ final Package aspectdPackage = packageConfig.packages.toList().firstWhere(
+ (Package element) => element.name == packageName);
+
+ if (aspectdPackage == null) {
+ return null;
+ }
+ return globals.fs.directory(aspectdPackage.root.toFilePath());
+ }
+ return null;
+ }
+
+ static Future<Directory?> getFlutterFrontendServerDirectory(
+ String packagesPath) async {
+ final Directory? directory =
+ await getPackagePathFromConfig(packagesPath, beike_aspectd);
+
+ if (directory == null) {
+ return null;
+ }
+
+ return globals.fs.directory(globals.fs.path
+ .join(directory.absolute.path, inner_path, 'flutter_frontend_server'));
+ }
+
+ static bool configFileExists() {
+ final String configYamlPath =
+ globals.fs.path.join(globals.fs.currentDirectory.path, sYamlConfigName);
+
+ if (globals.fs.file(configYamlPath).existsSync()) {
+ final dynamic yamlInfo =
+ loadYaml(globals.fs.file(configYamlPath).readAsStringSync());
+
+ if (yamlInfo == null) {
+ return false;
+ }
+
+ if (yamlInfo[key_flutter_tools_hook] is! YamlList) {
+ return false;
+ }
+
+ final YamlList yamlNodes = yamlInfo[key_flutter_tools_hook] as YamlList;
+
+ if (yamlNodes.nodes.isNotEmpty) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ static Directory getAspectdDirectory(Directory rootProjectDir) {
+ return globals.fs.directory(globals.fs.path.normalize(globals.fs.path
+ .join(rootProjectDir.path, aspectdImplPackageRelPath, beike_aspectd)));
+ }
+
+ static Future<void> enableAspectd() async {
+ final Directory currentDirectory = globals.fs.currentDirectory;
+
+ final String packagesPath = globals.fs.path
+ .join(currentDirectory.absolute.path, globalPackagesPath);
+
+ final Directory? beikeAspectdDirectory =
+ await getPackagePathFromConfig(packagesPath, beike_aspectd);
+
+ final Directory? flutterFrontendServerDirectory =
+ await getFlutterFrontendServerDirectory(packagesPath);
+
+ if (beikeAspectdDirectory == null ||
+ flutterFrontendServerDirectory == null) {
+ return;
+ }
+
+ final String aspectdPackagesPath = globals.fs.path.join(
+ beikeAspectdDirectory.absolute.path, inner_path, globalPackagesPath);
+
+ await checkAspectdFlutterFrontendServerSnapshot(
+ aspectdPackagesPath, flutterFrontendServerDirectory);
+ }
+
+ static Future<void> checkAspectdFlutterFrontendServerSnapshot(
+ String packagesPath, Directory flutterFrontendServerDirectory) async {
+ final String aspectdFlutterFrontendServerSnapshot = globals.fs.path.join(
+ flutterFrontendServerDirectory.absolute.path,
+ frontendServerDartSnapshot);
+ final String? defaultFlutterFrontendServerSnapshot = globals.artifacts
+ ?.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk);
+ final File defaultServerFile =
+ globals.fs.file(defaultFlutterFrontendServerSnapshot);
+ final File aspectdServerFile =
+ globals.fs.file(aspectdFlutterFrontendServerSnapshot);
+
+ if (defaultServerFile.existsSync()) {
+ if (md5.convert(defaultServerFile.readAsBytesSync()) ==
+ md5.convert(aspectdServerFile.readAsBytesSync())) {
+ return;
+ }
+
+ globals.fs.file(defaultFlutterFrontendServerSnapshot).deleteSync();
+ }
+
+ aspectdServerFile.copySync(defaultFlutterFrontendServerSnapshot!);
+
+ print('[aop]: New frontend server snapshot updated');
+ }
+
+ static Future<String?> getDartSdkDependency(String aspectdDir) async {
+ final ProcessResult processResult = await globals.processManager.run(
+ <String>[
+ globals.fs.path.join(
+ globals.artifacts?.getArtifactPath(
+ Artifact.frontendServerSnapshotForEngineDartSdk)??'',
+ 'bin',
+ 'pub'),
+ 'get',
+ '--verbosity=warning'
+ ],
+ workingDirectory: aspectdDir,
+ environment: <String, String>{'FLUTTER_ROOT': Cache.flutterRoot??''});
+ if (processResult.exitCode != 0) {
+ throwToolExit(
+ 'Aspectd unexpected error: ${processResult.stderr.toString()}');
+ }
+ final Directory? kernelDir = await getPackagePathFromConfig(
+ globals.fs.path.join(aspectdDir, globalPackagesPath), 'kernel');
+ return kernelDir?.parent.parent.path;
+ }
+
+ Future<void> runBuildDillCommand(Environment environment) async {
+ print('aop front end compiling');
+
+ final Directory mainDirectory = globals.fs.currentDirectory;
+
+ String? relativeDir = environment.outputDir.absolute.path
+ .substring(environment.projectDir.absolute.path.length + 1);
+ final String outputDir =
+ globals.fs.path.join(mainDirectory.path, relativeDir);
+
+ final String buildDir =
+ globals.fs.path.join(mainDirectory.path, '.dart_tool', 'flutter_build');
+
+ final Map<String, String> defines = environment.defines;
+ relativeDir = defines[kTargetFile]
+ ?.substring(environment.projectDir.absolute.path.length + 1);
+
+ String? targetFile = environment.defines[kTargetFile];
+ targetFile ??= globals.fs.path.join(mainDirectory.path, 'lib', 'main.dart');
+
+ defines[kTargetFile] = targetFile;
+
+ final Environment auxEnvironment = Environment(
+ projectDir: mainDirectory,
+ outputDir: globals.fs.directory(outputDir),
+ cacheDir: environment.cacheDir,
+ flutterRootDir: environment.flutterRootDir,
+ fileSystem: environment.fileSystem,
+ logger: environment.logger,
+ artifacts: environment.artifacts,
+ processManager: environment.processManager,
+ engineVersion: environment.engineVersion,
+ buildDir: globals.fs.directory(buildDir),
+ defines: defines,
+ inputs: environment.inputs,
+ platform: environment.platform,
+ usage: environment.usage,
+ generateDartPluginRegistry: environment.generateDartPluginRegistry);
+ const KernelSnapshot auxKernelSnapshot = KernelSnapshot();
+ final CompilerOutput compilerOutput =
+ await auxKernelSnapshot.buildImpl(auxEnvironment);
+
+ final String aspectdDill = compilerOutput.outputFilename;
+
+ print('Aspectdill path : ' + aspectdDill);
+ final File originalDillFile = globals.fs.file(
+ globals.fs.path.join(environment.buildDir.absolute.path, 'app.dill'));
+
+ print('originalDillFile path : ' + originalDillFile.path);
+ if (originalDillFile.existsSync()) {
+ await originalDillFile.copy(originalDillFile.absolute.path + '.bak');
+ }
+ globals.fs.file(aspectdDill).copySync(originalDillFile.absolute.path);
+ }
+}
diff --git a/packages/flutter_tools/lib/src/aop/hook_factory.dart b/packages/flutter_tools/lib/src/aop/hook_factory.dart
new file mode 100644
index 0000000000..f7f22ec88f
--- /dev/null
+++ b/packages/flutter_tools/lib/src/aop/hook_factory.dart
@@ -0,0 +1,95 @@
+import 'dart:io';
+
+import '../artifacts.dart';
+import '../base/common.dart';
+import '../base/file_system.dart';
+import '../build_info.dart';
+import '../globals.dart';
+
+/// 创建时间:2020-03-28
+/// 作者:liujingguang
+/// 描述:Hook处理工厂
+enum CommandType4Aop { Bundle, Aot, Snapshot }
+
+// ignore: avoid_classes_with_only_static_members
+class HookFactory {
+ static Future<void> hook(String productDirPath, String executorPath,
+ BuildMode buildMode, CommandType4Aop type) async {
+ if (productDirPath == null ||
+ executorPath == null ||
+ !fs.file(executorPath).existsSync()) {
+ return;
+ }
+
+ String inputPath;
+ switch (type) {
+ case CommandType4Aop.Bundle:
+ inputPath = _getBundleInputPath(productDirPath);
+ break;
+ case CommandType4Aop.Aot:
+ inputPath = _getAotInputPath(productDirPath);
+ break;
+ case CommandType4Aop.Snapshot:
+ inputPath = _getSnapShotInputPath(productDirPath);
+ break;
+ }
+ if (!inputPath.startsWith(fs.currentDirectory.path)) {
+ inputPath = fs.path.join(fs.currentDirectory.path, inputPath);
+ }
+ if (!fs.file(inputPath).existsSync()) {
+ return;
+ }
+
+ final String outputPath =
+ '$inputPath.${type.toString().toLowerCase()}.result.dill';
+
+ final String engineDartPath = artifacts!.getArtifactPath(Artifact.engineDartBinary);
+
+ /// 执行hook命令
+ final List<String> command = <String>[
+ engineDartPath,
+ executorPath,
+ '--input',
+ inputPath,
+ '--output',
+ outputPath,
+ if (buildMode != BuildMode.release) ...<String>[
+ '--sdk-root',
+ fs
+ .file(artifacts!.getArtifactPath(Artifact.platformKernelDill))
+ .parent
+ .path +
+ fs.path.separator
+ ],
+ ];
+
+ print(command.toString());
+ final ProcessResult result = await processManager.run(command);
+ if (result.exitCode != 0) {
+ print(result.stderr);
+ throwToolExit(
+ 'hook by aop terminated unexpectedly in ${type.toString()}.');
+ return;
+ }
+
+ print('aop hook succeed');
+
+ /// 删除input输入文件
+ final File inputFile = fs.file(inputPath);
+ if (inputFile.existsSync()) {
+// inputFile.copySync(inputPath + '.old'); //调试时可以打开查看信息
+ inputFile.deleteSync();
+ }
+
+ /// 将Aop处理生成后的output文件重命名为input文件名
+ fs.file(outputPath).renameSync(inputPath);
+ }
+
+ static String _getBundleInputPath(String assetsDir) =>
+ fs.path.join(assetsDir, 'kernel_blob.bin');
+
+ static String _getAotInputPath(String path) =>
+ fs.path.join(path ?? getAotBuildDirectory(), 'app.dill');
+
+ static String _getSnapShotInputPath(String path) => path;
+}
diff --git a/packages/flutter_tools/lib/src/build_system/targets/common.dart b/packages/flutter_tools/lib/src/build_system/targets/common.dart
index c3e6ea4d72..36c13f9e7b 100644
--- a/packages/flutter_tools/lib/src/build_system/targets/common.dart
+++ b/packages/flutter_tools/lib/src/build_system/targets/common.dart
@@ -20,6 +20,7 @@ import 'dart_plugin_registrant.dart';
import 'icon_tree_shaker.dart';
import 'localizations.dart';
import 'shader_compiler.dart';
+import '../../aop/aspectd.dart';
/// Copies the pre-built flutter bundle.
// This is a one-off rule for implementing build bundle in terms of assemble.
@@ -152,6 +153,11 @@ class KernelSnapshot extends Target {
@override
Future<void> build(Environment environment) async {
+ await AspectdHook.enableAspectd();
+ await buildImpl(environment);
+ }
+
+ Future<CompilerOutput> buildImpl(Environment environment) async {
final KernelCompiler compiler = KernelCompiler(
fileSystem: environment.fileSystem,
logger: environment.logger,
@@ -243,6 +249,8 @@ class KernelSnapshot extends Target {
if (output == null || output.errorCount != 0) {
throw Exception();
}
+
+ return output;
}
}
diff --git a/packages/flutter_tools/lib/src/build_system/targets/web.dart b/packages/flutter_tools/lib/src/build_system/targets/web.dart
index 49f4b11df0..302d627474 100644
--- a/packages/flutter_tools/lib/src/build_system/targets/web.dart
+++ b/packages/flutter_tools/lib/src/build_system/targets/web.dart
@@ -30,6 +30,7 @@ import '../exceptions.dart';
import 'assets.dart';
import 'localizations.dart';
import 'shader_compiler.dart';
+import '../../aop/aop_manager.dart';
/// Whether the application has web plugins.
const String kHasWebPlugins = 'HasWebPlugins';
@@ -212,6 +213,8 @@ class Dart2JSTarget extends Dart2WebTarget {
throw Exception(_collectOutput(kernelResult));
}
+ await AopManager.hookSnapshotCommand(environment.buildDir.childFile('app.dill').path, buildMode);
+
final File outputJSFile = environment.buildDir.childFile('main.dart.js');
final ProcessResult javaScriptResult = await environment.processManager.run(<String>[
diff --git a/packages/flutter_tools/lib/src/commands/build_bundle.dart b/packages/flutter_tools/lib/src/commands/build_bundle.dart
index 434ab77432..d75f7ceeec 100644
--- a/packages/flutter_tools/lib/src/commands/build_bundle.dart
+++ b/packages/flutter_tools/lib/src/commands/build_bundle.dart
@@ -12,6 +12,7 @@ import '../project.dart';
import '../reporting/reporting.dart';
import '../runner/flutter_command.dart';
import 'build.dart';
+import '../aop/aspectd.dart';
class BuildBundleCommand extends BuildSubCommand {
BuildBundleCommand({
@@ -93,6 +94,9 @@ class BuildBundleCommand extends BuildSubCommand {
@override
Future<FlutterCommandResult> runCommand() async {
+
+ await AspectdHook.enableAspectd();
+
final String targetPlatform = stringArg('target-platform')!;
final TargetPlatform platform = getTargetPlatformForName(targetPlatform);
// Check for target platforms that are only allowed via feature flags.
diff --git a/packages/flutter_tools/lib/src/compile.dart b/packages/flutter_tools/lib/src/compile.dart
index 5b1422b8ba..6826b47cf1 100644
--- a/packages/flutter_tools/lib/src/compile.dart
+++ b/packages/flutter_tools/lib/src/compile.dart
@@ -18,6 +18,7 @@ import 'base/logger.dart';
import 'base/platform.dart';
import 'build_info.dart';
import 'convert.dart';
+import 'aop/aspectd.dart';
/// Opt-in changes to the dart compilers.
const List<String> kDartCompilerExperiments = <String>[
@@ -244,6 +245,9 @@ class KernelCompiler {
required List<String> dartDefines,
required PackageConfig packageConfig,
}) async {
+
+ await AspectdHook.enableAspectd();
+
final TargetPlatform? platform = targetModel == TargetModel.dartdevc ? TargetPlatform.web_javascript : null;
final String frontendServer = _artifacts.getArtifactPath(
Artifact.frontendServerSnapshotForEngineDartSdk,
@@ -281,6 +285,8 @@ class KernelCompiler {
toMultiRootPath(dartPluginRegistrantFileUri, _fileSystemScheme, _fileSystemRoots, _fileSystem.path.separator == r'\');
}
+ bool aopConfig = AspectdHook.configFileExists();
+
final List<String> command = <String>[
engineDartPath,
'--disable-dart-dev',
@@ -324,6 +330,10 @@ class KernelCompiler {
'--initialize-from-dill',
initializeFromDill,
],
+ if (aopConfig) ...<String>[
+ '--aop',
+ '1',
+ ],
if (platformDill != null) ...<String>[
'--platform',
platformDill,
@@ -741,6 +751,10 @@ class DefaultResidentCompiler implements ResidentCompiler {
Artifact.frontendServerSnapshotForEngineDartSdk,
platform: platform,
);
+
+ await AspectdHook.enableAspectd();
+ bool aopConfig = AspectdHook.configFileExists();
+
final List<String> command = <String>[
_artifacts.getArtifactPath(Artifact.engineDartBinary, platform: platform),
'--disable-dart-dev',
@@ -797,6 +811,10 @@ class DefaultResidentCompiler implements ResidentCompiler {
'--platform',
platformDill!,
],
+ if (aopConfig) ...<String>[
+ '--aop',
+ '1',
+ ],
if (unsafePackageSerialization == true) '--unsafe-package-serialization',
// See: https://github.com/flutter/flutter/issues/103994
'--verbosity=error',
--
2.37.1 (Apple Git-137.1)
================================================
FILE: inner/pkg/_fe_analyzer_shared/LICENSE
================================================
Copyright 2019, the Dart project authors.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Google LLC nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
================================================
FILE: inner/pkg/_fe_analyzer_shared/OWNERS
================================================
file:/tools/OWNERS_ANALYZER
file:/tools/OWNERS_CFE
================================================
FILE: inner/pkg/_fe_analyzer_shared/PRESUBMIT.py
================================================
#!/usr/bin/env python3
# Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
"""Shared front-end analyzer specific presubmit script.
See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
for more details about the presubmit API built into gcl.
"""
import imp
import os.path
import subprocess
USE_PYTHON3 = True
def runSmokeTest(input_api, output_api):
hasChangedFiles = False
for git_file in input_api.AffectedTextFiles():
filename = git_file.AbsoluteLocalPath()
if filename.endswith(".dart"):
hasChangedFiles = True
break
if hasChangedFiles:
local_root = input_api.change.RepositoryRoot()
utils = imp.load_source('utils',
os.path.join(local_root, 'tools', 'utils.py'))
dart = os.path.join(utils.CheckedInSdkPath(), 'bin', 'dart')
smoke_test = os.path.join(local_root, 'pkg', '_fe_analyzer_shared',
'tool', 'smoke_test_quick.dart')
windows = utils.GuessOS() == 'win32'
if windows:
dart += '.exe'
if not os.path.isfile(dart):
print('WARNING: dart not found: %s' % dart)
return []
if not os.path.isfile(smoke_test):
print('WARNING: _fe_analyzer_shared smoke test not found: %s' %
smoke_test)
return []
args = [dart, smoke_test]
process = subprocess.Popen(
args, stdout=subprocess.PIPE, stdin=subprocess.PIPE)
outs, _ = process.communicate()
if process.returncode != 0:
return [
output_api.PresubmitError(
'_fe_analyzer_shared smoke test failure(s):',
long_text=outs)
]
return []
def CheckChangeOnCommit(input_api, output_api):
return runSmokeTest(input_api, output_api)
def CheckChangeOnUpload(input_api, output_api):
return runSmokeTest(input_api, output_api)
================================================
FILE: inner/pkg/_fe_analyzer_shared/README.md
================================================
# FE/analyzer shared code
This package contains logic that is shared between the front_end and
analyzer packages. It is intended solely to facilitate development of
the Dart SDK, and is not intended for use by end users. In
particular, this package has no public API, so no guarantee is made of
compatibility between one version of the package and the next.
End users should consider using the analyzer package to analyze Dart
source code.
================================================
FILE: inner/pkg/_fe_analyzer_shared/analysis_options.yaml
================================================
# Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
include: analysis_options_no_lints.yaml
linter:
rules:
- annotate_overrides
- curly_braces_in_flow_control_structures
- prefer_adjacent_string_concatenation
- unawaited_futures
- recursive_getters
- avoid_empty_else
- empty_statements
- list_remove_unrelated_type
- iterable_contains_unrelated_type
- valid_regexps
- package_api_docs
- lines_longer_than_80_chars
# - always_specify_types
- use_super_parameters
================================================
FILE: inner/pkg/_fe_analyzer_shared/analysis_options_no_lints.yaml
================================================
# Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
analyzer:
errors:
# Allow having TODOs in the code
todo: ignore
exclude:
- test/constants/data/**
- test/constants/data_2/**
- test/exhaustiveness/data/**
- test/flow_analysis/assigned_variables/data/**
- test/flow_analysis/definite_assignment/data/**
- test/flow_analysis/definite_unassignment/data/**
- test/flow_analysis/nullability/data/**
- test/flow_analysis/reachability/data/**
- test/flow_analysis/type_promotion/data/**
- test/flow_analysis/why_not_promoted/data/**
- test/inference/inferred_type_arguments/data/**
- test/inference/inferred_variable_types/data/**
- test/inheritance/data/**
- test/macros/api/**
================================================
FILE: inner/pkg/_fe_analyzer_shared/benchmark/exhaustiveness/large_fields_call_counts.dart
================================================
// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:_fe_analyzer_shared/src/exhaustiveness/exhaustive.dart';
import 'package:_fe_analyzer_shared/src/exhaustiveness/path.dart';
import 'package:_fe_analyzer_shared/src/exhaustiveness/profile.dart' as profile;
import 'package:_fe_analyzer_shared/src/exhaustiveness/static_type.dart';
import 'package:_fe_analyzer_shared/src/exhaustiveness/space.dart';
import '../../test/exhaustiveness/env.dart';
import '../../test/exhaustiveness/utils.dart';
void main() {
profile.enabled = true;
// (A)
// /|\
// B C D
var env = TestEnvironment();
var a = env.createClass('A', isSealed: true);
var b = env.createClass('B', inherits: [a]);
var c = env.createClass('C', inherits: [a]);
var d = env.createClass('D', inherits: [a]);
var t = env.createRecordType({'w': a, 'x': a, 'y': a, 'z': a});
expectExhaustiveOnlyAll(env, t, [
{'w': b, 'x': b, 'y': b, 'z': b},
{'w': b, 'x': b, 'y': b, 'z': c},
{'w': b, 'x': b, 'y': b, 'z': d},
{'w': b, 'x': b, 'y': c, 'z': b},
{'w': b, 'x': b, 'y': c, 'z': c},
{'w': b, 'x': b, 'y': c, 'z': d},
{'w': b, 'x': b, 'y': d, 'z': b},
{'w': b, 'x': b, 'y': d, 'z': c},
{'w': b, 'x': b, 'y': d, 'z': d},
{'w': b, 'x': c, 'y': b, 'z': b},
{'w': b, 'x': c, 'y': b, 'z': c},
{'w': b, 'x': c, 'y': b, 'z': d},
{'w': b, 'x': c, 'y': c, 'z': b},
{'w': b, 'x': c, 'y': c, 'z': c},
{'w': b, 'x': c, 'y': c, 'z': d},
{'w': b, 'x': c, 'y': d, 'z': b},
{'w': b, 'x': c, 'y': d, 'z': c},
{'w': b, 'x': c, 'y': d, 'z': d},
{'w': b, 'x': d, 'y': b, 'z': b},
{'w': b, 'x': d, 'y': b, 'z': c},
{'w': b, 'x': d, 'y': b, 'z': d},
{'w': b, 'x': d, 'y': c, 'z': b},
{'w': b, 'x': d, 'y': c, 'z': c},
{'w': b, 'x': d, 'y': c, 'z': d},
{'w': b, 'x': d, 'y': d, 'z': b},
{'w': b, 'x': d, 'y': d, 'z': c},
{'w': b, 'x': d, 'y': d, 'z': d},
{'w': c, 'x': b, 'y': b, 'z': b},
{'w': c, 'x': b, 'y': b, 'z': c},
{'w': c, 'x': b, 'y': b, 'z': d},
{'w': c, 'x': b, 'y': c, 'z': b},
{'w': c, 'x': b, 'y': c, 'z': c},
{'w': c, 'x': b, 'y': c, 'z': d},
{'w': c, 'x': b, 'y': d, 'z': b},
{'w': c, 'x': b, 'y': d, 'z': c},
{'w': c, 'x': b, 'y': d, 'z': d},
{'w': c, 'x': c, 'y': b, 'z': b},
{'w': c, 'x': c, 'y': b, 'z': c},
{'w': c, 'x': c, 'y': b, 'z': d},
{'w': c, 'x': c, 'y': c, 'z': b},
{'w': c, 'x': c, 'y': c, 'z': c},
{'w': c, 'x': c, 'y': c, 'z': d},
{'w': c, 'x': c, 'y': d, 'z': b},
{'w': c, 'x': c, 'y': d, 'z': c},
{'w': c, 'x': c, 'y': d, 'z': d},
{'w': c, 'x': d, 'y': b, 'z': b},
{'w': c, 'x': d, 'y': b, 'z': c},
{'w': c, 'x': d, 'y': b, 'z': d},
{'w': c, 'x': d, 'y': c, 'z': b},
{'w': c, 'x': d, 'y': c, 'z': c},
{'w': c, 'x': d, 'y': c, 'z': d},
{'w': c, 'x': d, 'y': d, 'z': b},
{'w': c, 'x': d, 'y': d, 'z': c},
{'w': c, 'x': d, 'y': d, 'z': d},
{'w': d, 'x': b, 'y': b, 'z': b},
{'w': d, 'x': b, 'y': b, 'z': c},
{'w': d, 'x': b, 'y': b, 'z': d},
{'w': d, 'x': b, 'y': c, 'z': b},
{'w': d, 'x': b, 'y': c, 'z': c},
{'w': d, 'x': b, 'y': c, 'z': d},
{'w': d, 'x': b, 'y': d, 'z': b},
{'w': d, 'x': b, 'y': d, 'z': c},
{'w': d, 'x': b, 'y': d, 'z': d},
{'w': d, 'x': c, 'y': b, 'z': b},
{'w': d, 'x': c, 'y': b, 'z': c},
{'w': d, 'x': c, 'y': b, 'z': d},
{'w': d, 'x': c, 'y': c, 'z': b},
{'w': d, 'x': c, 'y': c, 'z': c},
{'w': d, 'x': c, 'y': c, 'z': d},
{'w': d, 'x': c, 'y': d, 'z': b},
{'w': d, 'x': c, 'y': d, 'z': c},
{'w': d, 'x': c, 'y': d, 'z': d},
{'w': d, 'x': d, 'y': b, 'z': b},
{'w': d, 'x': d, 'y': b, 'z': c},
{'w': d, 'x': d, 'y': b, 'z': d},
{'w': d, 'x': d, 'y': c, 'z': b},
{'w': d, 'x': d, 'y': c, 'z': c},
{'w': d, 'x': d, 'y': c, 'z': d},
{'w': d, 'x': d, 'y': d, 'z': b},
{'w': d, 'x': d, 'y': d, 'z': c},
{'w': d, 'x': d, 'y': d, 'z': d},
]);
}
/// Test that [cases] are exhaustive over [type] if and only if all cases are
/// included and that all subsets of the cases are not exhaustive.
void expectExhaustiveOnlyAll(ObjectPropertyLookup objectFieldLookup,
StaticType type, List<Map<String, Object>> cases) {
var spaces = cases.map((c) => ty(type, c)).toList();
profile.reset();
print(
isExhaustive(objectFieldLookup, Space(const Path.root(), type), spaces));
profile.log();
}
================================================
FILE: inner/pkg/_fe_analyzer_shared/benchmark/exhaustiveness/large_fields_timed.dart
================================================
// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:math';
import 'package:_fe_analyzer_shared/src/exhaustiveness/exhaustive.dart';
import 'package:_fe_analyzer_shared/src/exhaustiveness/path.dart';
import 'package:_fe_analyzer_shared/src/exhaustiveness/space.dart';
import 'package:_fe_analyzer_shared/src/exhaustiveness/static_type.dart';
import '../../test/exhaustiveness/env.dart';
import '../../test/exhaustiveness/utils.dart';
void main() {
// (A)
// /|\
// B C D
var env = TestEnvironment();
var a = env.createClass('A', isSealed: true);
var b = env.createClass('B', inherits: [a]);
var c = env.createClass('C', inherits: [a]);
var d = env.createClass('D', inherits: [a]);
var t = env.createRecordType({'w': a, 'x': a, 'y': a, 'z': a});
expectExhaustiveOnlyAll(env, t, [
{'w': b, 'x': b, 'y': b, 'z': b},
{'w': b, 'x': b, 'y': b, 'z': c},
{'w': b, 'x': b, 'y': b, 'z': d},
{'w': b, 'x': b, 'y': c, 'z': b},
{'w': b, 'x': b, 'y': c, 'z': c},
{'w': b, 'x': b, 'y': c, 'z': d},
{'w': b, 'x': b, 'y': d, 'z': b},
{'w': b, 'x': b, 'y': d, 'z': c},
{'w': b, 'x': b, 'y': d, 'z': d},
{'w': b, 'x': c, 'y': b, 'z': b},
{'w': b, 'x': c, 'y': b, 'z': c},
{'w': b, 'x': c, 'y': b, 'z': d},
{'w': b, 'x': c, 'y': c, 'z': b},
{'w': b, 'x': c, 'y': c, 'z': c},
{'w': b, 'x': c, 'y': c, 'z': d},
{'w': b, 'x': c, 'y': d, 'z': b},
{'w': b, 'x': c, 'y': d, 'z': c},
{'w': b, 'x': c, 'y': d, 'z': d},
{'w': b, 'x': d, 'y': b, 'z': b},
{'w': b, 'x': d, 'y': b, 'z': c},
{'w': b, 'x': d, 'y': b, 'z': d},
{'w': b, 'x': d, 'y': c, 'z': b},
{'w': b, 'x': d, 'y': c, 'z': c},
{'w': b, 'x': d, 'y': c, 'z': d},
{'w': b, 'x': d, 'y': d, 'z': b},
{'w': b, 'x': d, 'y': d, 'z': c},
{'w': b, 'x': d, 'y': d, 'z': d},
{'w': c, 'x': b, 'y': b, 'z': b},
{'w': c, 'x': b, 'y': b, 'z': c},
{'w': c, 'x': b, 'y': b, 'z': d},
{'w': c, 'x': b, 'y': c, 'z': b},
{'w': c, 'x': b, 'y': c, 'z': c},
{'w': c, 'x': b, 'y': c, 'z': d},
{'w': c, 'x': b, 'y': d, 'z': b},
{'w': c, 'x': b, 'y': d, 'z': c},
{'w': c, 'x': b, 'y': d, 'z': d},
{'w': c, 'x': c, 'y': b, 'z': b},
{'w': c, 'x': c, 'y': b, 'z': c},
{'w': c, 'x': c, 'y': b, 'z': d},
{'w': c, 'x': c, 'y': c, 'z': b},
{'w': c, 'x': c, 'y': c, 'z': c},
{'w': c, 'x': c, 'y': c, 'z': d},
{'w': c, 'x': c, 'y': d, 'z': b},
{'w': c, 'x': c, 'y': d, 'z': c},
{'w': c, 'x': c, 'y': d, 'z': d},
{'w': c, 'x': d, 'y': b, 'z': b},
{'w': c, 'x': d, 'y': b, 'z': c},
{'w': c, 'x': d, 'y': b, 'z': d},
{'w': c, 'x': d, 'y': c, 'z': b},
{'w': c, 'x': d, 'y': c, 'z': c},
{'w': c, 'x': d, 'y': c, 'z': d},
{'w': c, 'x': d, 'y': d, 'z': b},
{'w': c, 'x': d, 'y': d, 'z': c},
{'w': c, 'x': d, 'y': d, 'z': d},
{'w': d, 'x': b, 'y': b, 'z': b},
{'w': d, 'x': b, 'y': b, 'z': c},
{'w': d, 'x': b, 'y': b, 'z': d},
{'w': d, 'x': b, 'y': c, 'z': b},
{'w': d, 'x': b, 'y': c, 'z': c},
{'w': d, 'x': b, 'y': c, 'z': d},
{'w': d, 'x': b, 'y': d, 'z': b},
{'w': d, 'x': b, 'y': d, 'z': c},
{'w': d, 'x': b, 'y': d, 'z': d},
{'w': d, 'x': c, 'y': b, 'z': b},
{'w': d, 'x': c, 'y': b, 'z': c},
{'w': d, 'x': c, 'y': b, 'z': d},
{'w': d, 'x': c, 'y': c, 'z': b},
{'w': d, 'x': c, 'y': c, 'z': c},
{'w': d, 'x': c, 'y': c, 'z': d},
{'w': d, 'x': c, 'y': d, 'z': b},
{'w': d, 'x': c, 'y': d, 'z': c},
{'w': d, 'x': c, 'y': d, 'z': d},
{'w': d, 'x': d, 'y': b, 'z': b},
{'w': d, 'x': d, 'y': b, 'z': c},
{'w': d, 'x': d, 'y': b, 'z': d},
{'w': d, 'x': d, 'y': c, 'z': b},
{'w': d, 'x': d, 'y': c, 'z': c},
{'w': d, 'x': d, 'y': c, 'z': d},
{'w': d, 'x': d, 'y': d, 'z': b},
{'w': d, 'x': d, 'y': d, 'z': c},
{'w': d, 'x': d, 'y': d, 'z': d},
]);
}
/// Test that [cases] are exhaustive over [type] if and only if all cases are
/// included and that all subsets of the cases are not exhaustive.
void expectExhaustiveOnlyAll(ObjectPropertyLookup objectFieldLookup,
StaticType type, List<Map<String, Object>> cases) {
var valueSpace = Space(const Path.root(), type);
var caseSpaces = cases.map((c) => ty(type, c)).toList();
const trials = 100;
var best = 9999999;
for (var j = 0; j < 100000; j++) {
var watch = Stopwatch()..start();
for (var i = 0; i < trials; i++) {
var actual = isExhaustive(objectFieldLookup, valueSpace, caseSpaces);
if (!actual) {
throw 'Expected exhaustive';
}
}
var elapsed = watch.elapsedMilliseconds;
best = min(elapsed, best);
print('${elapsed / trials}ms (best ${best / trials}ms)');
}
}
================================================
FILE: inner/pkg/_fe_analyzer_shared/benchmark/exhaustiveness/large_subtype_count.dart
================================================
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:_fe_analyzer_shared/src/exhaustiveness/exhaustive.dart';
import 'package:_fe_analyzer_shared/src/exhaustiveness/path.dart';
import 'package:_fe_analyzer_shared/src/exhaustiveness/profile.dart' as profile;
import 'package:_fe_analyzer_shared/src/exhaustiveness/static_type.dart';
import 'package:_fe_analyzer_shared/src/exhaustiveness/space.dart';
import '../../test/exhaustiveness/env.dart';
import '../../test/exhaustiveness/utils.dart';
/// These tests show some pitfalls of the exhaustiveness checking algorithm
/// where the witness candidate count is exponential in the size of the user
/// code.
void main() {
profile.enabled = true;
for (int i = 1; i <= 30; i++) {
testSubtypeCount(i);
}
for (int i = 1; i <= 10; i++) {
testFieldCount(i);
}
}
/// Tests the how the number of subtypes affect the number of tested witness
/// candidates.
///
/// We create the sealed class A with n subtypes B1 to Bn:
///
/// (A)
/// / | \
/// B1 B2 ... Bn
///
/// with the trivial matching by a record type:
///
/// method(({A x, A y, A z, A w} r) => switch (r) {
/// (x: _, y: _, z: _, w: _) => 0,
/// };
///
/// which has the worst case `case count/subtype count` ratio for a fixed
/// pattern size.
void testSubtypeCount(int n) {
var env = TestEnvironment();
var a = env.createClass('A', isSealed: true);
for (int i = 1; i <= n; i++) {
env.createClass('B$i', inherits: [a]);
}
var t = env.createRecordType({'w': a, 'x': a, 'y': a, 'z': a});
expectExhaustive('Subtype count $n', env, t, [
{'w': a, 'x': a, 'y': a, 'z': a},
]);
}
/// Tests the how the number of pattern fields affect the number of tested
/// witness candidates.
///
/// We create the sealed class A with 5 subtypes B1 to B5:
///
/// (A)
/// / | \
/// B1 B2 ... B5
///
/// with the trivial matching by a record type with n fields:
///
/// method(({A a1, A a2, ..., A an} r) => switch (r) {
/// (a1: _, a2: _, ..., an: _) => 0,
/// };
///
/// which has the worst case `case count/runtime value count` ratio for a fixed
/// subtype count.
void testFieldCount(int n) {
var env = TestEnvironment();
var a = env.createClass('A', isSealed: true);
for (int i = 1; i <= 5; i++) {
env.createClass('B$i', inherits: [a]);
}
Map<String, StaticType> fields = {};
for (int i = 1; i <= n; i++) {
fields['a$i'] = a;
}
var t = env.createRecordType(fields);
expectExhaustive('Field count $n', env, t, [fields]);
}
void expectExhaustive(String title, ObjectPropertyLookup objectFieldLookup,
StaticType type, List<Map<String, Object>> cases) {
var spaces = cases.map((c) => ty(type, c)).toList();
profile.reset();
print(
isExhaustive(objectFieldLookup, Space(const Path.root(), type), spaces));
print('--------------------------------------------------------------------');
print(title);
profile.log();
}
================================================
FILE: inner/pkg/_fe_analyzer_shared/benchmark/macros/serialization_benchmark.dart
================================================
// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:async';
import 'dart:convert';
import 'dart:io';
import 'dart:isolate';
import 'dart:typed_data';
import 'package:_fe_analyzer_shared/src/macros/executor/serialization.dart';
void main() async {
for (var serializationMode in [
SerializationMode.jsonClient,
SerializationMode.byteDataClient
]) {
await withSerializationMode(serializationMode, () async {
await _isolateSpawnBenchmarks();
await _isolateSpawnUriBenchmarks();
await _separateProcessBenchmarks();
});
}
}
Future<void> _isolateSpawnBenchmarks() async {
void Function(SendPort) childIsolateFn(SerializationMode mode) =>
(SendPort sendPort) => withSerializationMode(mode, () {
var isolateReceivePort = ReceivePort();
isolateReceivePort.listen((data) {
deserialize(data);
var result = serialize();
result = result is Uint8List
? TransferableTypedData.fromList([result])
: result;
sendPort.send(result);
});
sendPort.send(isolateReceivePort.sendPort);
});
Completer? responseCompleter;
late SendPort sendPort;
var receivePort = ReceivePort();
var isolate = await Isolate.spawn(
childIsolateFn(serializationMode), receivePort.sendPort);
final sendPortCompleter = Completer<SendPort>();
receivePort.listen((data) {
if (!sendPortCompleter.isCompleted) {
sendPortCompleter.complete(data);
} else {
responseCompleter!.complete(data);
}
});
sendPort = await sendPortCompleter.future;
// warmup
for (var i = 0; i < 100; i++) {
responseCompleter = Completer();
var result = serialize();
result =
result is Uint8List ? TransferableTypedData.fromList([result]) : result;
sendPort.send(result);
deserialize(await responseCompleter.future);
}
// measure
var watch = Stopwatch()..start();
for (var i = 0; i < 100; i++) {
responseCompleter = Completer();
var result = serialize();
result =
result is Uint8List ? TransferableTypedData.fromList([result]) : result;
sendPort.send(result);
deserialize(await responseCompleter.future);
}
print('Isolate.spawn + $serializationMode: ${watch.elapsed}');
receivePort.close();
isolate.kill();
}
Future<void> _isolateSpawnUriBenchmarks() async {
Completer? responseCompleter;
late SendPort sendPort;
var receivePort = ReceivePort();
var isolate = await Isolate.spawnUri(
Uri.dataFromString(childProgram(serializationMode)),
[],
receivePort.sendPort);
final sendPortCompleter = Completer<SendPort>();
receivePort.listen((data) {
if (!sendPortCompleter.isCompleted) {
sendPortCompleter.complete(data);
} else {
responseCompleter!.complete(data);
}
});
sendPort = await sendPortCompleter.future;
// warmup
for (var i = 0; i < 100; i++) {
responseCompleter = Completer();
var result = serialize();
result =
result is Uint8List ? TransferableTypedData.fromList([result]) : result;
sendPort.send(result);
deserialize(await responseCompleter.future);
}
// measure
var watch = Stopwatch()..start();
for (var i = 0; i < 100; i++) {
responseCompleter = Completer();
var result = serialize();
result =
result is Uint8List ? TransferableTypedData.fromList([result]) : result;
sendPort.send(result);
deserialize(await responseCompleter.future);
}
print('Isolate.spawnUri + $serializationMode: ${watch.elapsed}');
receivePort.close();
isolate.kill();
}
Future<void> _separateProcessBenchmarks() async {
Completer? responseCompleter;
var tmpDir = Directory.systemTemp.createTempSync('serialize_bench');
try {
var file = File(tmpDir.uri.resolve('main.dart').toFilePath());
file.writeAsStringSync(childProgram(serializationMode));
var process = await Process.start(Platform.resolvedExecutable, [
'--packages=' + (await Isolate.packageConfig)!.toFilePath(),
file.path,
]);
var listeners = <StreamSubscription>[
process.stderr.listen((event) {
print('stderr: ${utf8.decode(event)}');
}),
process.stdout.listen((data) {
responseCompleter!.complete(data);
}),
];
// warmup
for (var i = 0; i < 100; i++) {
responseCompleter = Completer();
var result = serialize();
if (result is List<int>) {
process.stdin.add(result);
} else {
process.stdin.writeln(jsonEncode(result));
}
deserialize(await responseCompleter.future);
}
// measure
var watch = Stopwatch()..start();
for (var i = 0; i < 100; i++) {
responseCompleter = Completer();
var result = serialize();
if (result is List<int>) {
process.stdin.add(result);
} else {
process.stdin.writeln(jsonEncode(result));
}
deserialize(await responseCompleter.future);
}
print('Separate process + $serializationMode: ${watch.elapsed}');
listeners.forEach((l) => l.cancel());
process.kill();
} catch (e, s) {
print('Error running benchmark \n$e\n\n$s');
} finally {
tmpDir.deleteSync(recursive: true);
}
}
String childProgram(SerializationMode mode) => '''
import 'dart:convert';
import 'dart:io';
import 'dart:isolate';
import 'dart:typed_data';
import 'package:_fe_analyzer_shared/src/macros/executor/serialization.dart';
void main(_, [SendPort? sendPort]) {
var mode = $mode;
withSerializationMode(mode, () {
if (sendPort != null) {
var isolateReceivePort = ReceivePort();
isolateReceivePort.listen((data) {
deserialize(data);
var result = serialize();
result = result is Uint8List
? TransferableTypedData.fromList([result])
: result;
sendPort.send(result);
});
sendPort.send(isolateReceivePort.sendPort);
} else {
// We allow one empty line to work around some weird data.
var allowEmpty = true;
stdin.listen((data) {
if (mode == SerializationMode.jsonClient || mode == SerializationMode.jsonServer) {
var json = utf8.decode(data).trimRight();
// On exit we tend to get extra empty lines sometimes?
if (json.isEmpty && allowEmpty) {
allowEmpty = false;
return;
}
deserialize(jsonDecode(json));
stdout.write(jsonEncode(serialize()));
} else {
deserialize(data);
stdout.add(serialize() as List<int>);
}
});
}
});
}
Object? serialize() {
var serializer = serializerFactory();
for (var i = 0; i < 100; i++) {
serializer.addInt(i * 100);
serializer.addString('foo' * i);
serializer.addBool(i % 2 == 0);
serializer.startList();
for (var j = 0; j < 10; j++) {
serializer.addDouble(i * 5);
}
serializer.endList();
serializer.addNull();
}
return serializer.result;
}
void deserialize(Object? result) {
result = result is TransferableTypedData
? result.materialize().asUint8List()
: result;
var deserializer = deserializerFactory(result);
while (deserializer.moveNext()) {
deserializer
..expectInt()
..moveNext()
..expectString()
..moveNext()
..expectBool()
..moveNext()
..expectList();
while (deserializer.moveNext()) {
deserializer.expectDouble();
}
deserializer
..moveNext()
..checkNull();
}
}''';
Object? serialize() {
var serializer = serializerFactory();
for (var i = -50; i < 50; i++) {
serializer.addInt(i % 2 * 100);
serializer.addString('foo' * i);
serializer.addBool(i < 0);
serializer.startList();
for (var j = 0.0; j < 10; j++) {
serializer.addDouble(i * j);
}
serializer.endList();
serializer.addNull();
}
return serializer.result;
}
void deserialize(Object? result) {
result = result is TransferableTypedData
? result.materialize().asUint8List()
: result;
if (serializationMode == SerializationMode.jsonClient ||
serializationMode == SerializationMode.jsonServer) {
if (result is List<int>) {
result = jsonDecode(utf8.decode(result));
}
}
var deserializer = deserializerFactory(result);
while (deserializer.moveNext()) {
deserializer
..expectInt()
..moveNext()
..expectString()
..moveNext()
..expectBool()
..moveNext()
..expectList();
while (deserializer.moveNext()) {
deserializer.expectDouble();
}
deserializer
..moveNext()
..checkNull();
}
}
================================================
FILE: inner/pkg/_fe_analyzer_shared/lib/src/base/customized_codes.dart
================================================
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/// Map of error code unique name to custom correction.
const Map<String, String> customizedCorrections = {};
/// Map of error code unique name to custom message.
const Map<String, String> customizedMessages = {};
================================================
FILE: inner/pkg/_fe_analyzer_shared/lib/src/base/errors.dart
================================================
// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:math';
import 'customized_codes.dart';
/// An error code associated with an [AnalysisError].
///
/// Generally, messages should follow the [Guide for Writing
/// Diagnostics](../fasta/diagnostics.md).
abstract class ErrorCode {
/// Regular expression for identifying positional arguments in error messages.
static final RegExp _positionalArgumentRegExp = new RegExp(r'{(\d+)\}');
/**
* The name of the error code.
*/
final String name;
/**
* The unique name of this error code.
*/
final String uniqueName;
final String _problemMessage;
final String? _correctionMessage;
/**
* Return `true` if diagnostics with this code have documentation for them
* that has been published.
*/
final bool hasPublishedDocs;
/**
* Whether this error is caused by an unresolved identifier.
*/
final bool isUnresolvedIdentifier;
/**
* Initialize a newly created error code to have the given [name]. The message
* associated with the error will be created from the given [problemMessage]
* template. The correction associated with the error will be created from the
* given [correctionMessage] template.
*/
const ErrorCode({
String? correctionMessage,
this.hasPublishedDocs = false,
this.isUnresolvedIdentifier = false,
required this.name,
required String problemMessage,
required this.uniqueName,
}) : _correctionMessage = correctionMessage,
_problemMessage = problemMessage,
// ignore: unnecessary_null_comparison
assert(hasPublishedDocs != null),
// ignore: unnecessary_null_comparison
assert(isUnresolvedIdentifier != null);
/**
* The template used to create the correction to be displayed for this error,
* or `null` if there is no correction information for this error. The
* correction should indicate how the user can fix the error.
*/
String? get correctionMessage =>
customizedCorrections[uniqueName] ?? _correctionMessage;
/**
* The severity of the error.
*/
ErrorSeverity get errorSeverity;
/// Whether a finding of this error is ignorable via comments such as
/// `// ignore:` or `// ignore_for_file:`.
bool get isIgnorable => errorSeverity != ErrorSeverity.ERROR;
/**
* The template used to create the problem message to be displayed for this
* error. The problem message should indicate what is wrong and why it is
* wrong.
*/
String get problemMessage =>
customizedMessages[uniqueName] ?? _problemMessage;
int get numParameters {
int result = 0;
String? correctionMessage = _correctionMessage;
for (String s in [
_problemMessage,
if (correctionMessage != null) correctionMessage
]) {
for (RegExpMatch match in _positionalArgumentRegExp.allMatches(s)) {
result = max(result, int.parse(match.group(1)!) + 1);
}
}
return result;
}
/**
* The type of the error.
*/
ErrorType get type;
/**
* Return a URL that can be used to access documentation for diagnostics with
* this code, or `null` if there is no published documentation.
*/
String? get url {
if (hasPublishedDocs) {
return 'https://dart.dev/diagnostics/${name.toLowerCase()}';
}
return null;
}
@override
String toString() => uniqueName;
}
/**
* The severity of an [ErrorCode].
*/
class ErrorSeverity implements Comparable<ErrorSeverity> {
/**
* The severity representing a non-error. This is never used for any error
* code, but is useful for clients.
*/
static const ErrorSeverity NONE = const ErrorSeverity('NONE', 0, " ", "none");
/**
* The severity representing an informational level analysis issue.
*/
static const ErrorSeverity INFO = const ErrorSeverity('INFO', 1, "I", "info");
/**
* The severity representing a warning. Warnings can become errors if the
* `-Werror` command line flag is specified.
*/
static const ErrorSeverity WARNING =
const ErrorSeverity('WARNING', 2, "W", "warning");
/**
* The severity representing an error.
*/
static const ErrorSeverity ERROR =
const ErrorSeverity('ERROR', 3, "E", "error");
static const List<ErrorSeverity> values = const [NONE, INFO, WARNING, ERROR];
/**
* The name of this error code.
*/
final String name;
/**
* The ordinal value of the error code.
*/
final int ordinal;
/**
* The name of the severity used when producing machine output.
*/
final String machineCode;
/**
* The name of the severity used when producing readable output.
*/
final String displayName;
/**
* Initialize a newly created severity with the given names.
*/
const ErrorSeverity(
this.name, this.ordinal, this.machineCode, this.displayName);
@override
int get hashCode => ordinal;
@override
int compareTo(ErrorSeverity other) => ordinal - other.ordinal;
/**
* Return the severity constant that represents the greatest severity.
*/
ErrorSeverity max(ErrorSeverity severity) =>
this.ordinal >= severity.ordinal ? this : severity;
@override
String toString() => name;
}
/**
* The type of an [ErrorCode].
*/
class ErrorType implements Comparable<ErrorType> {
/**
* Task (todo) comments in user code.
*/
static const ErrorType TODO = const ErrorType('TODO', 0, ErrorSeverity.INFO);
/**
* Extra analysis run over the code to follow best practices, which are not in
* the Dart Language Specification.
*/
static const ErrorType HINT = const ErrorType('HINT', 1, ErrorSeverity.INFO);
/**
* Compile-time errors are errors that preclude execution. A compile time
* error must be reported by a Dart compiler before the erroneous code is
* executed.
*/
static const ErrorType COMPILE_TIME_ERROR =
const ErrorType('COMPILE_TIME_ERROR', 2, ErrorSeverity.ERROR);
/**
* Checked mode compile-time errors are errors that preclude execution in
* checked mode.
*/
static const ErrorType CHECKED_MODE_COMPILE_TIME_ERROR = const ErrorType(
'CHECKED_MODE_COMPILE_TIME_ERROR', 3, ErrorSeverity.ERROR);
/**
* Static warnings are those warnings reported by the static checker. They
* have no effect on execution. Static warnings must be provided by Dart
* compilers used during development.
*/
static const ErrorType STATIC_WARNING =
const ErrorType('STATIC_WARNING', 4, ErrorSeverity.WARNING);
/**
* Many, but not all, static warnings relate to types, in which case they are
* known as static type warnings.
*/
static const ErrorType STATIC_TYPE_WARNING =
const ErrorType('STATIC_TYPE_WARNING', 5, ErrorSeverity.WARNING);
/**
* Syntactic errors are errors produced as a result of input that does not
* conform to the grammar.
*/
static const ErrorType SYNTACTIC_ERROR =
const ErrorType('SYNTACTIC_ERROR', 6, ErrorSeverity.ERROR);
/**
* Lint warnings describe style and best practice recommendations that can be
* used to formalize a project's style guidelines.
*/
static const ErrorType LINT = const ErrorType('LINT', 7, ErrorSeverity.INFO);
static const List<ErrorType> values = const [
TODO,
HINT,
COMPILE_TIME_ERROR,
CHECKED_MODE_COMPILE_TIME_ERROR,
STATIC_WARNING,
STATIC_TYPE_WARNING,
SYNTACTIC_ERROR,
LINT,
];
/**
* The name of this error type.
*/
final String name;
/**
* The ordinal value of the error type.
*/
final int ordinal;
/**
* The severity of this type of error.
*/
final ErrorSeverity severity;
/**
* Initialize a newly created error type to have the given [name] and
* [severity].
*/
const ErrorType(this.name, this.ordinal, this.severity);
String get displayName => name.toLowerCase().replaceAll('_', ' ');
@override
int get hashCode => ordinal;
@override
int compareTo(ErrorType other) => ordinal - other.ordinal;
@override
String toString() => name;
}
================================================
FILE: inner/pkg/_fe_analyzer_shared/lib/src/base/syntactic_entity.dart
================================================
// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/**
* Interface representing a syntactic entity (either a token or an AST node)
* which has a location and extent in the source file.
*/
abstract class SyntacticEntity {
/**
* Return the offset from the beginning of the file to the character after the
* last character of the syntactic entity.
*/
int get end;
/**
* Return the number of characters in the syntactic entity's source range.
*/
int get length;
/**
* Return the offset from the beginning of the file to the first character in
* the syntactic entity.
*/
int get offset;
}
================================================
FILE: inner/pkg/_fe_analyzer_shared/lib/src/deferred_function_literal_heuristic.dart
================================================
// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:_fe_analyzer_shared/src/util/dependency_walker.dart';
/// Data structure tracking the type inference dependencies between generic
/// invocation parameters.
///
/// [planReconciliationStages] is used as part of support for
/// https://github.com/dart-lang/language/issues/731 (improved inference for
/// fold etc.) to choose the proper order in which to recursively analyze
/// function literals passed as invocation arguments.
abstract class FunctionLiteralDependencies<TypeVariable, ParamInfo,
DeferredParamInfo extends ParamInfo> {
final List<_Node<ParamInfo>> _paramNodes = [];
/// Construct a [FunctionLiteralDependencies] object that's prepared to
/// determine the order to resolve [deferredParams] for a generic invocation
/// involving the given [typeVariables].
///
/// [unDeferredParams] should contain information about any parameters
/// corresponding to arguments that have already been type inferred.
FunctionLiteralDependencies(
Iterable<DeferredParamInfo> deferredParams,
Iterable<TypeVariable> typeVariables,
Iterable<ParamInfo> unDeferredParams) {
Map<TypeVariable, Set<_Node<ParamInfo>>> paramsDependingOnTypeVar = {};
Map<TypeVariable, Set<_Node<ParamInfo>>> paramsConstrainingTypeVar = {};
int deferredParamIndex = 0;
for (DeferredParamInfo param in deferredParams) {
_Node<ParamInfo> paramNode =
new _Node<ParamInfo>(param, deferredParamIndex: deferredParamIndex++);
_paramNodes.add(paramN
Showing preview only (3,007K chars total). Download the full file or copy to clipboard to get everything.
gitextract_7w221lob/ ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README-CN.md ├── README.md ├── doc/ │ └── 如何调试.md ├── example/ │ ├── .gitignore │ ├── README.md │ ├── android/ │ │ ├── app/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ ├── debug/ │ │ │ │ └── AndroidManifest.xml │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java/ │ │ │ │ │ ├── com/ │ │ │ │ │ │ └── beike/ │ │ │ │ │ │ └── example_beike/ │ │ │ │ │ │ └── MainActivity.java │ │ │ │ │ └── io/ │ │ │ │ │ └── flutter/ │ │ │ │ │ └── plugins/ │ │ │ │ │ └── GeneratedPluginRegistrant.java │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ └── launch_background.xml │ │ │ │ └── values/ │ │ │ │ └── styles.xml │ │ │ └── profile/ │ │ │ └── AndroidManifest.xml │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── local.properties │ │ └── settings.gradle │ ├── aop_config.yaml │ ├── ios/ │ │ ├── Flutter/ │ │ │ ├── AppFrameworkInfo.plist │ │ │ ├── Debug.xcconfig │ │ │ └── Release.xcconfig │ │ ├── Runner/ │ │ │ ├── AppDelegate.h │ │ │ ├── AppDelegate.m │ │ │ ├── Assets.xcassets/ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── LaunchImage.imageset/ │ │ │ │ ├── Contents.json │ │ │ │ └── README.md │ │ │ ├── Base.lproj/ │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ └── Main.storyboard │ │ │ ├── GeneratedPluginRegistrant.h │ │ │ ├── GeneratedPluginRegistrant.m │ │ │ ├── Info.plist │ │ │ └── main.m │ │ ├── Runner.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace/ │ │ │ │ └── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── xcschemes/ │ │ │ └── Runner.xcscheme │ │ └── Runner.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata/ │ │ ├── beike.xcuserdatad/ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── solo.xcuserdatad/ │ │ └── UserInterfaceState.xcuserstate │ ├── lib/ │ │ ├── hook_example.dart │ │ ├── main.dart │ │ └── receiver_test.dart │ ├── pubspec.yaml │ └── test/ │ └── widget_test.dart ├── inner/ │ ├── .gitignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── analysis_options.yaml │ ├── config.yaml │ ├── flutter_frontend_server/ │ │ ├── frontend_server.dart.snapshot │ │ ├── gen_frontend_server_snapshot.sh │ │ ├── generate_plugins_entry.dart │ │ ├── package_config.json │ │ ├── server.dart │ │ └── starter.dart │ ├── flutter_tools.patch │ ├── pkg/ │ │ ├── _fe_analyzer_shared/ │ │ │ ├── LICENSE │ │ │ ├── OWNERS │ │ │ ├── PRESUBMIT.py │ │ │ ├── README.md │ │ │ ├── analysis_options.yaml │ │ │ ├── analysis_options_no_lints.yaml │ │ │ ├── benchmark/ │ │ │ │ ├── exhaustiveness/ │ │ │ │ │ ├── large_fields_call_counts.dart │ │ │ │ │ ├── large_fields_timed.dart │ │ │ │ │ └── large_subtype_count.dart │ │ │ │ └── macros/ │ │ │ │ └── serialization_benchmark.dart │ │ │ ├── lib/ │ │ │ │ └── src/ │ │ │ │ ├── base/ │ │ │ │ │ ├── customized_codes.dart │ │ │ │ │ ├── errors.dart │ │ │ │ │ └── syntactic_entity.dart │ │ │ │ ├── deferred_function_literal_heuristic.dart │ │ │ │ ├── exhaustiveness/ │ │ │ │ │ ├── exhaustive.dart │ │ │ │ │ ├── key.dart │ │ │ │ │ ├── path.dart │ │ │ │ │ ├── profile.dart │ │ │ │ │ ├── shared.dart │ │ │ │ │ ├── space.dart │ │ │ │ │ ├── static_type.dart │ │ │ │ │ ├── test_helper.dart │ │ │ │ │ ├── types/ │ │ │ │ │ │ ├── bool.dart │ │ │ │ │ │ ├── enum.dart │ │ │ │ │ │ ├── future_or.dart │ │ │ │ │ │ ├── list.dart │ │ │ │ │ │ ├── map.dart │ │ │ │ │ │ ├── record.dart │ │ │ │ │ │ └── sealed.dart │ │ │ │ │ ├── types.dart │ │ │ │ │ └── witness.dart │ │ │ │ ├── experiments/ │ │ │ │ │ ├── errors.dart │ │ │ │ │ └── flags.dart │ │ │ │ ├── flow_analysis/ │ │ │ │ │ ├── factory_type_test_helper.dart │ │ │ │ │ └── flow_analysis.dart │ │ │ │ ├── macros/ │ │ │ │ │ ├── api/ │ │ │ │ │ │ ├── builders.dart │ │ │ │ │ │ ├── code.dart │ │ │ │ │ │ ├── introspection.dart │ │ │ │ │ │ └── macros.dart │ │ │ │ │ ├── api.dart │ │ │ │ │ ├── bootstrap.dart │ │ │ │ │ ├── compiler/ │ │ │ │ │ │ └── request_channel.dart │ │ │ │ │ ├── executor/ │ │ │ │ │ │ ├── augmentation_library.dart │ │ │ │ │ │ ├── builder_impls.dart │ │ │ │ │ │ ├── execute_macro.dart │ │ │ │ │ │ ├── executor_base.dart │ │ │ │ │ │ ├── introspection_impls.dart │ │ │ │ │ │ ├── isolated_executor.dart │ │ │ │ │ │ ├── message_grouper.dart │ │ │ │ │ │ ├── multi_executor.dart │ │ │ │ │ │ ├── process_executor.dart │ │ │ │ │ │ ├── protocol.dart │ │ │ │ │ │ ├── remote_instance.dart │ │ │ │ │ │ ├── response_impls.dart │ │ │ │ │ │ ├── serialization.dart │ │ │ │ │ │ └── serialization_extensions.dart │ │ │ │ │ └── executor.dart │ │ │ │ ├── messages/ │ │ │ │ │ ├── codes.dart │ │ │ │ │ ├── codes_generated.dart │ │ │ │ │ ├── diagnostic_message.dart │ │ │ │ │ └── severity.dart │ │ │ │ ├── parser/ │ │ │ │ │ ├── assert.dart │ │ │ │ │ ├── async_modifier.dart │ │ │ │ │ ├── block_kind.dart │ │ │ │ │ ├── class_member_parser.dart │ │ │ │ │ ├── constructor_reference_context.dart │ │ │ │ │ ├── declaration_kind.dart │ │ │ │ │ ├── directive_context.dart │ │ │ │ │ ├── error_delegation_listener.dart │ │ │ │ │ ├── formal_parameter_kind.dart │ │ │ │ │ ├── forwarding_listener.dart │ │ │ │ │ ├── identifier_context.dart │ │ │ │ │ ├── identifier_context_impl.dart │ │ │ │ │ ├── listener.dart │ │ │ │ │ ├── literal_entry_info.dart │ │ │ │ │ ├── literal_entry_info_impl.dart │ │ │ │ │ ├── loop_state.dart │ │ │ │ │ ├── member_kind.dart │ │ │ │ │ ├── modifier_context.dart │ │ │ │ │ ├── parser.dart │ │ │ │ │ ├── parser.md │ │ │ │ │ ├── parser_error.dart │ │ │ │ │ ├── parser_impl.dart │ │ │ │ │ ├── parser_main.dart │ │ │ │ │ ├── quote.dart │ │ │ │ │ ├── recovery_listeners.dart │ │ │ │ │ ├── stack_listener.dart │ │ │ │ │ ├── token_stream_rewriter.dart │ │ │ │ │ ├── top_level_parser.dart │ │ │ │ │ ├── type_info.dart │ │ │ │ │ ├── type_info_impl.dart │ │ │ │ │ └── util.dart │ │ │ │ ├── scanner/ │ │ │ │ │ ├── abstract_scanner.dart │ │ │ │ │ ├── characters.dart │ │ │ │ │ ├── error_token.dart │ │ │ │ │ ├── errors.dart │ │ │ │ │ ├── interner.dart │ │ │ │ │ ├── io.dart │ │ │ │ │ ├── keyword_state.dart │ │ │ │ │ ├── reader.dart │ │ │ │ │ ├── recover.dart │ │ │ │ │ ├── scanner.dart │ │ │ │ │ ├── scanner_main.dart │ │ │ │ │ ├── string_canonicalizer.dart │ │ │ │ │ ├── string_scanner.dart │ │ │ │ │ ├── string_utilities.dart │ │ │ │ │ ├── token.dart │ │ │ │ │ ├── token_constants.dart │ │ │ │ │ ├── token_impl.dart │ │ │ │ │ └── utf8_bytes_scanner.dart │ │ │ │ ├── sdk/ │ │ │ │ │ └── allowed_experiments.dart │ │ │ │ ├── testing/ │ │ │ │ │ ├── annotated_code_helper.dart │ │ │ │ │ ├── features.dart │ │ │ │ │ ├── id.dart │ │ │ │ │ ├── id_generation.dart │ │ │ │ │ └── id_testing.dart │ │ │ │ ├── type_inference/ │ │ │ │ │ ├── assigned_variables.dart │ │ │ │ │ ├── promotion_key_store.dart │ │ │ │ │ ├── type_analysis_result.dart │ │ │ │ │ ├── type_analyzer.dart │ │ │ │ │ ├── type_operations.dart │ │ │ │ │ └── variable_bindings.dart │ │ │ │ └── util/ │ │ │ │ ├── colors.dart │ │ │ │ ├── dependency_walker.dart │ │ │ │ ├── filenames.dart │ │ │ │ ├── libraries_specification.dart │ │ │ │ ├── link.dart │ │ │ │ ├── link_implementation.dart │ │ │ │ ├── null_value.dart │ │ │ │ ├── options.dart │ │ │ │ ├── relativize.dart │ │ │ │ ├── resolve_input_uri.dart │ │ │ │ ├── resolve_relative_uri.dart │ │ │ │ ├── stack_checker.dart │ │ │ │ └── value_kind.dart │ │ │ ├── pubspec.yaml │ │ │ ├── test/ │ │ │ │ ├── annotated_code_helper_test.dart │ │ │ │ ├── constants/ │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── basic.dart │ │ │ │ │ │ ├── errors.dart │ │ │ │ │ │ ├── function.dart │ │ │ │ │ │ ├── list.dart │ │ │ │ │ │ ├── map.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── set.dart │ │ │ │ │ │ └── type_literals.dart │ │ │ │ │ └── data_2/ │ │ │ │ │ ├── basic.dart │ │ │ │ │ ├── errors.dart │ │ │ │ │ ├── function.dart │ │ │ │ │ ├── list.dart │ │ │ │ │ ├── map.dart │ │ │ │ │ ├── marker.options │ │ │ │ │ ├── set.dart │ │ │ │ │ └── type_literals.dart │ │ │ │ ├── deferred_function_literal_heuristic_test.dart │ │ │ │ ├── exhaustiveness/ │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── and_pattern.dart │ │ │ │ │ │ ├── bool.dart │ │ │ │ │ │ ├── bounded_generic_sealed_classes.dart │ │ │ │ │ │ ├── cast.dart │ │ │ │ │ │ ├── class_members.dart │ │ │ │ │ │ ├── dynamic_members.dart │ │ │ │ │ │ ├── empty.dart │ │ │ │ │ │ ├── enum.dart │ │ │ │ │ │ ├── enum_members.dart │ │ │ │ │ │ ├── extension_members.dart │ │ │ │ │ │ ├── f_bounded.dart │ │ │ │ │ │ ├── function_bounded_sealed_classes.dart │ │ │ │ │ │ ├── function_type_members.dart │ │ │ │ │ │ ├── future_or.dart │ │ │ │ │ │ ├── future_or_members.dart │ │ │ │ │ │ ├── generic_class.dart │ │ │ │ │ │ ├── generic_enum.dart │ │ │ │ │ │ ├── generic_extension_members.dart │ │ │ │ │ │ ├── generic_nested_sealed_classes.dart │ │ │ │ │ │ ├── generic_sealed_class.dart │ │ │ │ │ │ ├── intersect.dart │ │ │ │ │ │ ├── issue2878_example0.dart │ │ │ │ │ │ ├── issue2878_example1.dart │ │ │ │ │ │ ├── issue2878_example2.dart │ │ │ │ │ │ ├── issue2878_example3.dart │ │ │ │ │ │ ├── issue2878_example4.dart │ │ │ │ │ │ ├── issue51854.dart │ │ │ │ │ │ ├── issue51873.dart │ │ │ │ │ │ ├── issue51878.dart │ │ │ │ │ │ ├── issue51897.dart │ │ │ │ │ │ ├── list.dart │ │ │ │ │ │ ├── map.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── nested_sealed_classes.dart │ │ │ │ │ │ ├── never_members.dart │ │ │ │ │ │ ├── null_assert.dart │ │ │ │ │ │ ├── null_check.dart │ │ │ │ │ │ ├── null_members.dart │ │ │ │ │ │ ├── nullable_members.dart │ │ │ │ │ │ ├── num.dart │ │ │ │ │ │ ├── object_members.dart │ │ │ │ │ │ ├── object_pattern.dart │ │ │ │ │ │ ├── or_pattern.dart │ │ │ │ │ │ ├── record.dart │ │ │ │ │ │ ├── record_literal.dart │ │ │ │ │ │ ├── record_literal_named.dart │ │ │ │ │ │ ├── record_members.dart │ │ │ │ │ │ ├── record_sealed.dart │ │ │ │ │ │ ├── relational.dart │ │ │ │ │ │ ├── sealed_class.dart │ │ │ │ │ │ ├── type_variable_members.dart │ │ │ │ │ │ ├── unknown.dart │ │ │ │ │ │ ├── variable_pattern.dart │ │ │ │ │ │ ├── void_members.dart │ │ │ │ │ │ └── when.dart │ │ │ │ │ ├── env.dart │ │ │ │ │ ├── expand_subtypes_test.dart │ │ │ │ │ ├── is_exhaustive_field_test.dart │ │ │ │ │ ├── is_exhaustive_nested_test.dart │ │ │ │ │ ├── is_exhaustive_type_test.dart │ │ │ │ │ ├── report_errors_test.dart │ │ │ │ │ ├── static_type_test.dart │ │ │ │ │ └── utils.dart │ │ │ │ ├── flow_analysis/ │ │ │ │ │ ├── assigned_variables/ │ │ │ │ │ │ └── data/ │ │ │ │ │ │ ├── and.dart │ │ │ │ │ │ ├── assignment.dart │ │ │ │ │ │ ├── closure.dart │ │ │ │ │ │ ├── conditional.dart │ │ │ │ │ │ ├── constructor.dart │ │ │ │ │ │ ├── do.dart │ │ │ │ │ │ ├── field.dart │ │ │ │ │ │ ├── for.dart │ │ │ │ │ │ ├── for_element.dart │ │ │ │ │ │ ├── if.dart │ │ │ │ │ │ ├── localFunction.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── method.dart │ │ │ │ │ │ ├── postfix.dart │ │ │ │ │ │ ├── prefix.dart │ │ │ │ │ │ ├── switch.dart │ │ │ │ │ │ ├── topLevelFunction.dart │ │ │ │ │ │ ├── topLevelVariable.dart │ │ │ │ │ │ ├── tryCatch.dart │ │ │ │ │ │ ├── tryFinally.dart │ │ │ │ │ │ └── while.dart │ │ │ │ │ ├── assigned_variables_test.dart │ │ │ │ │ ├── definite_assignment/ │ │ │ │ │ │ └── data/ │ │ │ │ │ │ ├── assert.dart │ │ │ │ │ │ ├── assignment.dart │ │ │ │ │ │ ├── binary_expression.dart │ │ │ │ │ │ ├── conditional_expression.dart │ │ │ │ │ │ ├── do.dart │ │ │ │ │ │ ├── for.dart │ │ │ │ │ │ ├── for_each.dart │ │ │ │ │ │ ├── function_expression.dart │ │ │ │ │ │ ├── if.dart │ │ │ │ │ │ ├── initialization.dart │ │ │ │ │ │ ├── issue41284.dart │ │ │ │ │ │ ├── late_initializer.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── switch.dart │ │ │ │ │ │ ├── try.dart │ │ │ │ │ │ └── while.dart │ │ │ │ │ ├── definite_unassignment/ │ │ │ │ │ │ └── data/ │ │ │ │ │ │ ├── assert.dart │ │ │ │ │ │ ├── assignment.dart │ │ │ │ │ │ ├── binary_expression.dart │ │ │ │ │ │ ├── conditional_expression.dart │ │ │ │ │ │ ├── do.dart │ │ │ │ │ │ ├── for.dart │ │ │ │ │ │ ├── for_each.dart │ │ │ │ │ │ ├── function_expression.dart │ │ │ │ │ │ ├── if.dart │ │ │ │ │ │ ├── initialization.dart │ │ │ │ │ │ ├── issue41284.dart │ │ │ │ │ │ ├── issue43006.dart │ │ │ │ │ │ ├── labeled_statement.dart │ │ │ │ │ │ ├── late_initializer.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── switch.dart │ │ │ │ │ │ ├── try.dart │ │ │ │ │ │ └── while.dart │ │ │ │ │ ├── flow_analysis_mini_ast.dart │ │ │ │ │ ├── flow_analysis_test.dart │ │ │ │ │ ├── nullability/ │ │ │ │ │ │ └── data/ │ │ │ │ │ │ ├── assert.dart │ │ │ │ │ │ ├── assign.dart │ │ │ │ │ │ ├── equality_operator.dart │ │ │ │ │ │ ├── identical.dart │ │ │ │ │ │ ├── identical_prefixed.dart │ │ │ │ │ │ ├── identical_spoof.dart │ │ │ │ │ │ ├── if.dart │ │ │ │ │ │ ├── if_element.dart │ │ │ │ │ │ ├── is.dart │ │ │ │ │ │ ├── issue42504.dart │ │ │ │ │ │ ├── issue44276.dart │ │ │ │ │ │ ├── labeled_statement.dart │ │ │ │ │ │ ├── local_boolean.dart │ │ │ │ │ │ ├── local_boolean_new.dart │ │ │ │ │ │ ├── logical.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── null_aware_access.dart │ │ │ │ │ │ ├── null_aware_call.dart │ │ │ │ │ │ ├── null_check.dart │ │ │ │ │ │ ├── potentially_mutated_in_closure.dart │ │ │ │ │ │ ├── try_finally.dart │ │ │ │ │ │ └── while.dart │ │ │ │ │ ├── reachability/ │ │ │ │ │ │ └── data/ │ │ │ │ │ │ ├── assert.dart │ │ │ │ │ │ ├── conditional.dart │ │ │ │ │ │ ├── do.dart │ │ │ │ │ │ ├── early_exit.dart │ │ │ │ │ │ ├── equality_operator.dart │ │ │ │ │ │ ├── for.dart │ │ │ │ │ │ ├── function_body.dart │ │ │ │ │ │ ├── if_null.dart │ │ │ │ │ │ ├── issue41284.dart │ │ │ │ │ │ ├── issue41981.dart │ │ │ │ │ │ ├── labeled_statement.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── never_return_type.dart │ │ │ │ │ │ ├── null_aware_access.dart │ │ │ │ │ │ ├── null_aware_access_static.dart │ │ │ │ │ │ ├── switch.dart │ │ │ │ │ │ ├── try_catch.dart │ │ │ │ │ │ └── unreachable_via_never.dart │ │ │ │ │ ├── type_promotion/ │ │ │ │ │ │ └── data/ │ │ │ │ │ │ ├── as.dart │ │ │ │ │ │ ├── assert.dart │ │ │ │ │ │ ├── assigned_anywhere.dart │ │ │ │ │ │ ├── assignment.dart │ │ │ │ │ │ ├── assignment_promoted.dart │ │ │ │ │ │ ├── binary.dart │ │ │ │ │ │ ├── bug39178.dart │ │ │ │ │ │ ├── bug42066.dart │ │ │ │ │ │ ├── bug42653.dart │ │ │ │ │ │ ├── bug43136.dart │ │ │ │ │ │ ├── conditional.dart │ │ │ │ │ │ ├── constructor_initializer.dart │ │ │ │ │ │ ├── declaration.dart │ │ │ │ │ │ ├── do.dart │ │ │ │ │ │ ├── final_initializer.dart │ │ │ │ │ │ ├── for.dart │ │ │ │ │ │ ├── function_expression.dart │ │ │ │ │ │ ├── if.dart │ │ │ │ │ │ ├── implicit_downcast.dart │ │ │ │ │ │ ├── initialization.dart │ │ │ │ │ │ ├── inside_closure.dart │ │ │ │ │ │ ├── late_initializer.dart │ │ │ │ │ │ ├── loop_type_of_interest.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── mixed_if_null_and_null_aware.dart │ │ │ │ │ │ ├── not_promoted.dart │ │ │ │ │ │ ├── null_aware_assignment.dart │ │ │ │ │ │ ├── null_check.dart │ │ │ │ │ │ ├── potentially_mutated.dart │ │ │ │ │ │ ├── promotion_in_dead_code.dart │ │ │ │ │ │ ├── switch.dart │ │ │ │ │ │ ├── this.dart │ │ │ │ │ │ ├── try_catch.dart │ │ │ │ │ │ ├── try_catch_finally.dart │ │ │ │ │ │ ├── try_finally.dart │ │ │ │ │ │ ├── type_parameter.dart │ │ │ │ │ │ ├── while.dart │ │ │ │ │ │ └── write_capture.dart │ │ │ │ │ └── why_not_promoted/ │ │ │ │ │ └── data/ │ │ │ │ │ ├── argument_type_not_assignable_nullability_error.dart │ │ │ │ │ ├── assignment.dart │ │ │ │ │ ├── extension_property.dart │ │ │ │ │ ├── field.dart │ │ │ │ │ ├── for_in_loop_type_not_iterable_nullability_error.dart │ │ │ │ │ ├── invalid_assignment_error_nullability_error.dart │ │ │ │ │ ├── marker.options │ │ │ │ │ ├── nullable_expression_call_error.dart │ │ │ │ │ ├── nullable_method_call_error.dart │ │ │ │ │ ├── nullable_operator_call_error.dart │ │ │ │ │ ├── nullable_spread_error.dart │ │ │ │ │ ├── property.dart │ │ │ │ │ └── this.dart │ │ │ │ ├── id_generation_test.dart │ │ │ │ ├── inference/ │ │ │ │ │ ├── inferred_type_arguments/ │ │ │ │ │ │ └── data/ │ │ │ │ │ │ ├── bounded.dart │ │ │ │ │ │ ├── collections.dart │ │ │ │ │ │ ├── constructor_invocation.dart │ │ │ │ │ │ ├── function_invocation.dart │ │ │ │ │ │ ├── instance_invocation.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ └── static_invocation.dart │ │ │ │ │ └── inferred_variable_types/ │ │ │ │ │ └── data/ │ │ │ │ │ ├── from_initializer.dart │ │ │ │ │ ├── local_functions.dart │ │ │ │ │ ├── marker.options │ │ │ │ │ └── promoted.dart │ │ │ │ ├── inheritance/ │ │ │ │ │ └── data/ │ │ │ │ │ ├── covariant_opt_in.dart │ │ │ │ │ ├── covariant_opt_out.dart │ │ │ │ │ ├── from_opt_in/ │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ └── opt_in.dart │ │ │ │ │ ├── from_opt_out/ │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ └── opt_out.dart │ │ │ │ │ ├── function.dart │ │ │ │ │ ├── generic_members_from_opt_in/ │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ └── opt_in.dart │ │ │ │ │ ├── generic_members_from_opt_out/ │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ └── opt_out.dart │ │ │ │ │ ├── in_out_in/ │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ ├── opt_in.dart │ │ │ │ │ │ └── opt_out.dart │ │ │ │ │ ├── infer_from_opt_in/ │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ └── opt_in.dart │ │ │ │ │ ├── infer_opt_in_from_mixed/ │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ └── opt_out.dart │ │ │ │ │ ├── infer_opt_out_from_mixed/ │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ └── opt_in.dart │ │ │ │ │ ├── infer_parameter_opt_in.dart │ │ │ │ │ ├── infer_parameter_opt_out.dart │ │ │ │ │ ├── issue40414/ │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ ├── opt_in.dart │ │ │ │ │ │ └── opt_out.dart │ │ │ │ │ ├── issue40481/ │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ └── opt_out.dart │ │ │ │ │ ├── issue40481.dart │ │ │ │ │ ├── issue40524/ │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ └── opt_out.dart │ │ │ │ │ ├── issue40541.dart │ │ │ │ │ ├── issue40553/ │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ └── opt_out.dart │ │ │ │ │ ├── marker.options │ │ │ │ │ ├── member_from_opt_in/ │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ └── opt_in.dart │ │ │ │ │ ├── member_from_opt_out/ │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ └── opt_out.dart │ │ │ │ │ ├── members_from_opt_in/ │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ └── opt_in.dart │ │ │ │ │ ├── members_from_opt_out/ │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ └── opt_out.dart │ │ │ │ │ ├── members_opt_in.dart │ │ │ │ │ ├── members_opt_out.dart │ │ │ │ │ ├── norm_supertypes.dart │ │ │ │ │ ├── nsm_from_opt_in/ │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ └── opt_in.dart │ │ │ │ │ ├── object_opt_in/ │ │ │ │ │ │ ├── _internal.dart │ │ │ │ │ │ ├── async.dart │ │ │ │ │ │ ├── collection.dart │ │ │ │ │ │ ├── core.dart │ │ │ │ │ │ ├── libraries.json │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ ├── opt_in.dart │ │ │ │ │ │ └── opt_out.dart │ │ │ │ │ ├── object_opt_out/ │ │ │ │ │ │ ├── _internal.dart │ │ │ │ │ │ ├── async.dart │ │ │ │ │ │ ├── collection.dart │ │ │ │ │ │ ├── core.dart │ │ │ │ │ │ ├── libraries.json │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ └── opt_out.dart │ │ │ │ │ ├── sink.dart │ │ │ │ │ ├── top_merge_direct.dart │ │ │ │ │ ├── top_merge_mixin.dart │ │ │ │ │ ├── top_merge_opt_in.dart │ │ │ │ │ ├── top_merge_opt_out.dart │ │ │ │ │ └── top_merge_typedef.dart │ │ │ │ ├── macros/ │ │ │ │ │ ├── api/ │ │ │ │ │ │ ├── api_test_data.dart │ │ │ │ │ │ ├── api_test_expectations.dart │ │ │ │ │ │ ├── api_test_macro.dart │ │ │ │ │ │ └── package_config.json │ │ │ │ │ ├── compiler/ │ │ │ │ │ │ └── request_channel_test.dart │ │ │ │ │ ├── executor/ │ │ │ │ │ │ ├── augmentation_library_test.dart │ │ │ │ │ │ ├── executor_test.dart │ │ │ │ │ │ ├── response_impls_test.dart │ │ │ │ │ │ ├── serialization_test.dart │ │ │ │ │ │ └── simple_macro.dart │ │ │ │ │ └── util.dart │ │ │ │ ├── mini_ast.dart │ │ │ │ ├── mini_ir.dart │ │ │ │ ├── mini_types.dart │ │ │ │ ├── mini_types_test.dart │ │ │ │ ├── resolve_input_uri_test.dart │ │ │ │ ├── sdk/ │ │ │ │ │ └── allowed_experiments_test.dart │ │ │ │ ├── template_replacement_test.dart │ │ │ │ ├── type_inference/ │ │ │ │ │ ├── type_inference_test.dart │ │ │ │ │ └── variable_bindings_test.dart │ │ │ │ └── util/ │ │ │ │ ├── dependency_walker_test.dart │ │ │ │ ├── libraries_specification_test.dart │ │ │ │ └── stack_checker_test.dart │ │ │ └── tool/ │ │ │ └── smoke_test_quick.dart │ │ ├── _js_interop_checks/ │ │ │ ├── LICENSE │ │ │ ├── OWNERS │ │ │ ├── README.md │ │ │ ├── analysis_options.yaml │ │ │ ├── lib/ │ │ │ │ ├── js_interop_checks.dart │ │ │ │ └── src/ │ │ │ │ ├── js_interop.dart │ │ │ │ └── transformations/ │ │ │ │ ├── export_checker.dart │ │ │ │ ├── export_creator.dart │ │ │ │ ├── js_util_optimizer.dart │ │ │ │ ├── static_interop_class_eraser.dart │ │ │ │ └── static_interop_mock_validator.dart │ │ │ └── pubspec.yaml │ │ ├── build_integration/ │ │ │ ├── LICENSE │ │ │ ├── OWNERS │ │ │ ├── README.md │ │ │ ├── analysis_options.yaml │ │ │ ├── lib/ │ │ │ │ └── file_system/ │ │ │ │ ├── multi_root.dart │ │ │ │ └── single_root.dart │ │ │ ├── pubspec.yaml │ │ │ └── test/ │ │ │ └── file_system/ │ │ │ ├── multi_root_test.dart │ │ │ └── single_root_test.dart │ │ ├── compiler/ │ │ │ ├── .gitignore │ │ │ ├── OWNERS │ │ │ ├── README.md │ │ │ ├── analysis_options.yaml │ │ │ ├── bin/ │ │ │ │ └── dart2js.dart │ │ │ ├── doc/ │ │ │ │ ├── interceptors.md │ │ │ │ ├── pragmas.md │ │ │ │ ├── resource_identifiers.md │ │ │ │ └── sourcemap_extensions.md │ │ │ ├── lib/ │ │ │ │ ├── compiler_api.dart │ │ │ │ └── src/ │ │ │ │ ├── README.txt │ │ │ │ ├── closure.dart │ │ │ │ ├── code_organization.md │ │ │ │ ├── colors.dart │ │ │ │ ├── commandline_options.dart │ │ │ │ ├── common/ │ │ │ │ │ ├── codegen.dart │ │ │ │ │ ├── elements.dart │ │ │ │ │ ├── metrics.dart │ │ │ │ │ ├── names.dart │ │ │ │ │ ├── ram_usage.dart │ │ │ │ │ ├── tasks.dart │ │ │ │ │ └── work.dart │ │ │ │ ├── common.dart │ │ │ │ ├── compiler.dart │ │ │ │ ├── constants/ │ │ │ │ │ ├── constant_system.dart │ │ │ │ │ └── values.dart │ │ │ │ ├── dart2js.dart │ │ │ │ ├── deferred_load/ │ │ │ │ │ ├── algorithm_state.dart │ │ │ │ │ ├── deferred_load.dart │ │ │ │ │ ├── entity_data.dart │ │ │ │ │ ├── entity_data_info.dart │ │ │ │ │ ├── import_set.dart │ │ │ │ │ ├── output_unit.dart │ │ │ │ │ ├── program_split_constraints/ │ │ │ │ │ │ ├── builder.dart │ │ │ │ │ │ ├── nodes.dart │ │ │ │ │ │ └── parser.dart │ │ │ │ │ └── work_queue.dart │ │ │ │ ├── diagnostics/ │ │ │ │ │ ├── diagnostic_listener.dart │ │ │ │ │ ├── invariant.dart │ │ │ │ │ ├── messages.dart │ │ │ │ │ ├── source_span.dart │ │ │ │ │ ├── spannable.dart │ │ │ │ │ └── spannable_with_entity.dart │ │ │ │ ├── dump_info.dart │ │ │ │ ├── elements/ │ │ │ │ │ ├── entities.dart │ │ │ │ │ ├── entity_utils.dart │ │ │ │ │ ├── indexed.dart │ │ │ │ │ ├── jumps.dart │ │ │ │ │ ├── names.dart │ │ │ │ │ ├── operators.dart │ │ │ │ │ └── types.dart │ │ │ │ ├── enqueue.dart │ │ │ │ ├── environment.dart │ │ │ │ ├── hash/ │ │ │ │ │ └── sha1.dart │ │ │ │ ├── inferrer/ │ │ │ │ │ ├── abstract_value_domain.dart │ │ │ │ │ ├── abstract_value_strategy.dart │ │ │ │ │ ├── builder.dart │ │ │ │ │ ├── closure_tracer.dart │ │ │ │ │ ├── computable.dart │ │ │ │ │ ├── debug.dart │ │ │ │ │ ├── engine.dart │ │ │ │ │ ├── list_tracer.dart │ │ │ │ │ ├── locals_handler.dart │ │ │ │ │ ├── map_tracer.dart │ │ │ │ │ ├── node_tracer.dart │ │ │ │ │ ├── powersets/ │ │ │ │ │ │ ├── powerset_bits.dart │ │ │ │ │ │ └── powersets.dart │ │ │ │ │ ├── record_tracer.dart │ │ │ │ │ ├── set_tracer.dart │ │ │ │ │ ├── trivial.dart │ │ │ │ │ ├── type_graph_dump.dart │ │ │ │ │ ├── type_graph_inferrer.dart │ │ │ │ │ ├── type_graph_nodes.dart │ │ │ │ │ ├── type_system.dart │ │ │ │ │ ├── typemasks/ │ │ │ │ │ │ ├── constants.dart │ │ │ │ │ │ ├── container_type_mask.dart │ │ │ │ │ │ ├── dictionary_type_mask.dart │ │ │ │ │ │ ├── flat_type_mask.dart │ │ │ │ │ │ ├── forwarding_type_mask.dart │ │ │ │ │ │ ├── map_type_mask.dart │ │ │ │ │ │ ├── masks.dart │ │ │ │ │ │ ├── record_type_mask.dart │ │ │ │ │ │ ├── set_type_mask.dart │ │ │ │ │ │ ├── type_mask.dart │ │ │ │ │ │ ├── union_type_mask.dart │ │ │ │ │ │ └── value_type_mask.dart │ │ │ │ │ ├── types.dart │ │ │ │ │ ├── work_queue.dart │ │ │ │ │ └── wrapped.dart │ │ │ │ ├── inferrer_experimental/ │ │ │ │ │ ├── builder.dart │ │ │ │ │ ├── closure_tracer.dart │ │ │ │ │ ├── debug.dart │ │ │ │ │ ├── engine.dart │ │ │ │ │ ├── list_tracer.dart │ │ │ │ │ ├── locals_handler.dart │ │ │ │ │ ├── map_tracer.dart │ │ │ │ │ ├── node_tracer.dart │ │ │ │ │ ├── powersets/ │ │ │ │ │ │ ├── powerset_bits.dart │ │ │ │ │ │ └── powersets.dart │ │ │ │ │ ├── record_tracer.dart │ │ │ │ │ ├── set_tracer.dart │ │ │ │ │ ├── trivial.dart │ │ │ │ │ ├── type_graph_dump.dart │ │ │ │ │ ├── type_graph_inferrer.dart │ │ │ │ │ ├── type_graph_nodes.dart │ │ │ │ │ ├── type_system.dart │ │ │ │ │ ├── typemasks/ │ │ │ │ │ │ ├── constants.dart │ │ │ │ │ │ ├── container_type_mask.dart │ │ │ │ │ │ ├── dictionary_type_mask.dart │ │ │ │ │ │ ├── flat_type_mask.dart │ │ │ │ │ │ ├── forwarding_type_mask.dart │ │ │ │ │ │ ├── map_type_mask.dart │ │ │ │ │ │ ├── masks.dart │ │ │ │ │ │ ├── record_type_mask.dart │ │ │ │ │ │ ├── set_type_mask.dart │ │ │ │ │ │ ├── type_mask.dart │ │ │ │ │ │ ├── union_type_mask.dart │ │ │ │ │ │ └── value_type_mask.dart │ │ │ │ │ ├── types.dart │ │ │ │ │ ├── work_queue.dart │ │ │ │ │ └── wrapped.dart │ │ │ │ ├── io/ │ │ │ │ │ ├── code_output.dart │ │ │ │ │ ├── code_output_listener.dart │ │ │ │ │ ├── kernel_source_information.dart │ │ │ │ │ ├── location_provider.dart │ │ │ │ │ ├── mapped_file.dart │ │ │ │ │ ├── position_information.dart │ │ │ │ │ ├── source_file.dart │ │ │ │ │ ├── source_information.dart │ │ │ │ │ └── source_map_builder.dart │ │ │ │ ├── ir/ │ │ │ │ │ ├── annotations.dart │ │ │ │ │ ├── cached_static_type.dart │ │ │ │ │ ├── closure.dart │ │ │ │ │ ├── constants.dart │ │ │ │ │ ├── element_map.dart │ │ │ │ │ ├── impact.dart │ │ │ │ │ ├── impact_data.dart │ │ │ │ │ ├── modular.dart │ │ │ │ │ ├── runtime_type_analysis.dart │ │ │ │ │ ├── scope.dart │ │ │ │ │ ├── scope_visitor.dart │ │ │ │ │ ├── static_type.dart │ │ │ │ │ ├── static_type_base.dart │ │ │ │ │ ├── static_type_cache.dart │ │ │ │ │ ├── static_type_provider.dart │ │ │ │ │ ├── types.dart │ │ │ │ │ ├── util.dart │ │ │ │ │ └── visitors.dart │ │ │ │ ├── js/ │ │ │ │ │ ├── js.dart │ │ │ │ │ ├── js_debug.dart │ │ │ │ │ ├── js_source_mapping.dart │ │ │ │ │ ├── placeholder_safety.dart │ │ │ │ │ ├── rewrite_async.dart │ │ │ │ │ └── size_estimator.dart │ │ │ │ ├── js_backend/ │ │ │ │ │ ├── annotations.dart │ │ │ │ │ ├── backend.dart │ │ │ │ │ ├── backend_impact.dart │ │ │ │ │ ├── backend_usage.dart │ │ │ │ │ ├── checked_mode_helpers.dart │ │ │ │ │ ├── codegen_inputs.dart │ │ │ │ │ ├── codegen_listener.dart │ │ │ │ │ ├── constant_emitter.dart │ │ │ │ │ ├── custom_elements_analysis.dart │ │ │ │ │ ├── deferred_holder_expression.dart │ │ │ │ │ ├── enqueuer.dart │ │ │ │ │ ├── field_analysis.dart │ │ │ │ │ ├── field_naming_mixin.dart │ │ │ │ │ ├── frequency_assignment.dart │ │ │ │ │ ├── frequency_namer.dart │ │ │ │ │ ├── impact_transformer.dart │ │ │ │ │ ├── inferred_data.dart │ │ │ │ │ ├── interceptor_data.dart │ │ │ │ │ ├── js_backend.dart │ │ │ │ │ ├── js_interop_analysis.dart │ │ │ │ │ ├── minify_namer.dart │ │ │ │ │ ├── name_sequence.dart │ │ │ │ │ ├── namer.dart │ │ │ │ │ ├── namer_names.dart │ │ │ │ │ ├── native_data.dart │ │ │ │ │ ├── no_such_method_registry.dart │ │ │ │ │ ├── records_codegen.dart │ │ │ │ │ ├── resolution_listener.dart │ │ │ │ │ ├── runtime_types.dart │ │ │ │ │ ├── runtime_types_codegen.dart │ │ │ │ │ ├── runtime_types_new.dart │ │ │ │ │ ├── runtime_types_resolution.dart │ │ │ │ │ ├── specialized_checks.dart │ │ │ │ │ ├── string_abbreviation.dart │ │ │ │ │ ├── string_reference.dart │ │ │ │ │ └── type_reference.dart │ │ │ │ ├── js_emitter/ │ │ │ │ │ ├── class_stub_generator.dart │ │ │ │ │ ├── code_emitter_task.dart │ │ │ │ │ ├── constant_ordering.dart │ │ │ │ │ ├── headers.dart │ │ │ │ │ ├── instantiation_stub_generator.dart │ │ │ │ │ ├── interceptor_stub_generator.dart │ │ │ │ │ ├── js_emitter.dart │ │ │ │ │ ├── main_call_stub_generator.dart │ │ │ │ │ ├── metadata_collector.dart │ │ │ │ │ ├── model.dart │ │ │ │ │ ├── native_emitter.dart │ │ │ │ │ ├── native_generator.dart │ │ │ │ │ ├── parameter_stub_generator.dart │ │ │ │ │ ├── program_builder/ │ │ │ │ │ │ ├── collector.dart │ │ │ │ │ │ ├── field_visitor.dart │ │ │ │ │ │ ├── program_builder.dart │ │ │ │ │ │ └── registry.dart │ │ │ │ │ ├── resource_info_emitter.dart │ │ │ │ │ ├── runtime_type_generator.dart │ │ │ │ │ ├── sorter.dart │ │ │ │ │ └── startup_emitter/ │ │ │ │ │ ├── emitter.dart │ │ │ │ │ ├── fragment_emitter.dart │ │ │ │ │ ├── fragment_merger.dart │ │ │ │ │ └── model_emitter.dart │ │ │ │ ├── js_model/ │ │ │ │ │ ├── class_type_variable_access.dart │ │ │ │ │ ├── closure.dart │ │ │ │ │ ├── element_map.dart │ │ │ │ │ ├── element_map_impl.dart │ │ │ │ │ ├── elements.dart │ │ │ │ │ ├── env.dart │ │ │ │ │ ├── js_strategy.dart │ │ │ │ │ ├── js_to_frontend_map.dart │ │ │ │ │ ├── js_world.dart │ │ │ │ │ ├── js_world_builder.dart │ │ │ │ │ ├── locals.dart │ │ │ │ │ ├── records.dart │ │ │ │ │ └── type_recipe.dart │ │ │ │ ├── kernel/ │ │ │ │ │ ├── dart2js_target.dart │ │ │ │ │ ├── element_map.dart │ │ │ │ │ ├── element_map_impl.dart │ │ │ │ │ ├── env.dart │ │ │ │ │ ├── front_end_adapter.dart │ │ │ │ │ ├── invocation_mirror_constants.dart │ │ │ │ │ ├── kelements.dart │ │ │ │ │ ├── kernel_impact.dart │ │ │ │ │ ├── kernel_strategy.dart │ │ │ │ │ ├── kernel_world.dart │ │ │ │ │ ├── native_basic_data.dart │ │ │ │ │ ├── no_such_method_resolver.dart │ │ │ │ │ └── transformations/ │ │ │ │ │ ├── async_lowering.dart │ │ │ │ │ ├── clone_mixin_methods_with_super.dart │ │ │ │ │ ├── factory_specializer.dart │ │ │ │ │ ├── late_lowering.dart │ │ │ │ │ ├── list_factory_specializer.dart │ │ │ │ │ └── lowering.dart │ │ │ │ ├── native/ │ │ │ │ │ ├── behavior.dart │ │ │ │ │ ├── enqueue.dart │ │ │ │ │ ├── js.dart │ │ │ │ │ ├── native_throw_behavior.dart │ │ │ │ │ └── resolver.dart │ │ │ │ ├── null_compiler_output.dart │ │ │ │ ├── options.dart │ │ │ │ ├── ordered_typeset.dart │ │ │ │ ├── phase/ │ │ │ │ │ ├── load_kernel.dart │ │ │ │ │ └── modular_analysis.dart │ │ │ │ ├── resolution/ │ │ │ │ │ └── enqueuer.dart │ │ │ │ ├── serialization/ │ │ │ │ │ ├── binary_sink.dart │ │ │ │ │ ├── binary_source.dart │ │ │ │ │ ├── deferrable.dart │ │ │ │ │ ├── helpers.dart │ │ │ │ │ ├── indexed_sink_source.dart │ │ │ │ │ ├── member_data.dart │ │ │ │ │ ├── node_indexer.dart │ │ │ │ │ ├── object_sink.dart │ │ │ │ │ ├── object_source.dart │ │ │ │ │ ├── serialization.dart │ │ │ │ │ ├── sink.dart │ │ │ │ │ ├── source.dart │ │ │ │ │ ├── strategies.dart │ │ │ │ │ ├── tags.dart │ │ │ │ │ └── task.dart │ │ │ │ ├── source_file_provider.dart │ │ │ │ ├── ssa/ │ │ │ │ │ ├── branch_builder.dart │ │ │ │ │ ├── builder.dart │ │ │ │ │ ├── codegen.dart │ │ │ │ │ ├── codegen_helpers.dart │ │ │ │ │ ├── interceptor_finalizer.dart │ │ │ │ │ ├── interceptor_simplifier.dart │ │ │ │ │ ├── invoke_dynamic_specializers.dart │ │ │ │ │ ├── jump_handler.dart │ │ │ │ │ ├── late_field_optimizer.dart │ │ │ │ │ ├── locals_handler.dart │ │ │ │ │ ├── logging.dart │ │ │ │ │ ├── loop_handler.dart │ │ │ │ │ ├── metrics.dart │ │ │ │ │ ├── nodes.dart │ │ │ │ │ ├── optimize.dart │ │ │ │ │ ├── ssa.dart │ │ │ │ │ ├── string_builder.dart │ │ │ │ │ ├── switch_continue_analysis.dart │ │ │ │ │ ├── tracer.dart │ │ │ │ │ ├── type_builder.dart │ │ │ │ │ ├── types.dart │ │ │ │ │ ├── types_propagation.dart │ │ │ │ │ ├── validate.dart │ │ │ │ │ ├── value_range_analyzer.dart │ │ │ │ │ ├── value_set.dart │ │ │ │ │ └── variable_allocator.dart │ │ │ │ ├── tracer.dart │ │ │ │ ├── universe/ │ │ │ │ │ ├── call_structure.dart │ │ │ │ │ ├── class_hierarchy.dart │ │ │ │ │ ├── class_set.dart │ │ │ │ │ ├── codegen_world_builder.dart │ │ │ │ │ ├── feature.dart │ │ │ │ │ ├── function_set.dart │ │ │ │ │ ├── member_hierarchy.dart │ │ │ │ │ ├── member_usage.dart │ │ │ │ │ ├── record_shape.dart │ │ │ │ │ ├── resolution_world_builder.dart │ │ │ │ │ ├── resource_identifier.dart │ │ │ │ │ ├── selector.dart │ │ │ │ │ ├── side_effects.dart │ │ │ │ │ ├── target_checks.dart │ │ │ │ │ ├── use.dart │ │ │ │ │ ├── world_builder.dart │ │ │ │ │ └── world_impact.dart │ │ │ │ ├── util/ │ │ │ │ │ ├── command_line.dart │ │ │ │ │ ├── diagnostic_helper.dart │ │ │ │ │ ├── enumset.dart │ │ │ │ │ ├── maplet.dart │ │ │ │ │ ├── memory_compiler.dart │ │ │ │ │ ├── memory_source_file_helper.dart │ │ │ │ │ ├── output_collector.dart │ │ │ │ │ ├── setlet.dart │ │ │ │ │ ├── sink_adapter.dart │ │ │ │ │ ├── testing.dart │ │ │ │ │ └── util.dart │ │ │ │ └── world.dart │ │ │ ├── pubspec.yaml │ │ │ ├── test/ │ │ │ │ ├── analyses/ │ │ │ │ │ ├── analysis_helper.dart │ │ │ │ │ ├── analyze_test.dart │ │ │ │ │ ├── api_allowed.json │ │ │ │ │ ├── api_dynamic_test.dart │ │ │ │ │ └── static_type_visitor_test.dart │ │ │ │ ├── analysis_options.yaml │ │ │ │ ├── annotations/ │ │ │ │ │ ├── annotations_test.dart │ │ │ │ │ └── data/ │ │ │ │ │ ├── basic.dart │ │ │ │ │ ├── deferred.dart │ │ │ │ │ ├── directives.dart │ │ │ │ │ ├── errors.dart │ │ │ │ │ └── marker.options │ │ │ │ ├── async_await/ │ │ │ │ │ └── async_await_js_transform_test.dart │ │ │ │ ├── closure/ │ │ │ │ │ ├── closure_test.dart │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── captured_variable.dart │ │ │ │ │ │ ├── generic.dart │ │ │ │ │ │ ├── instantiation.dart │ │ │ │ │ │ ├── instantiation1.dart │ │ │ │ │ │ ├── instantiation2.dart │ │ │ │ │ │ ├── instantiation3.dart │ │ │ │ │ │ ├── instantiation4.dart │ │ │ │ │ │ ├── list_literal_class.dart │ │ │ │ │ │ ├── list_literal_method.dart │ │ │ │ │ │ ├── list_literal_untested_class.dart │ │ │ │ │ │ ├── list_literal_untested_method.dart │ │ │ │ │ │ ├── map_literal_class.dart │ │ │ │ │ │ ├── map_literal_method.dart │ │ │ │ │ │ ├── map_literal_untested_class.dart │ │ │ │ │ │ ├── map_literal_untested_method.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── mixed.dart │ │ │ │ │ │ ├── mutations.dart │ │ │ │ │ │ ├── nested_closures.dart │ │ │ │ │ │ ├── parameter_in_try.dart │ │ │ │ │ │ ├── test_type_class.dart │ │ │ │ │ │ ├── test_type_method.dart │ │ │ │ │ │ ├── two_local_functions.dart │ │ │ │ │ │ ├── type_annotations_class.dart │ │ │ │ │ │ ├── type_annotations_method.dart │ │ │ │ │ │ ├── type_arguments_class.dart │ │ │ │ │ │ ├── type_arguments_method.dart │ │ │ │ │ │ └── type_variables.dart │ │ │ │ │ └── show.dart │ │ │ │ ├── codegen/ │ │ │ │ │ ├── arithmetic_simplification_test.dart │ │ │ │ │ ├── array_static_intercept_test.dart │ │ │ │ │ ├── bitops1_test.dart │ │ │ │ │ ├── bitops2_test.dart │ │ │ │ │ ├── builtin_equals_test.dart │ │ │ │ │ ├── builtin_interceptor_test.dart │ │ │ │ │ ├── class_codegen2_test.dart │ │ │ │ │ ├── class_codegen_test.dart │ │ │ │ │ ├── class_order_test.dart │ │ │ │ │ ├── closure_call_of_static_reduction_test.dart │ │ │ │ │ ├── closure_codegen_test.dart │ │ │ │ │ ├── code_motion_test.dart │ │ │ │ │ ├── codegen_2_shard0_test.dart │ │ │ │ │ ├── codegen_2_shard1_test.dart │ │ │ │ │ ├── codegen_shard0_test.dart │ │ │ │ │ ├── codegen_shard1_test.dart │ │ │ │ │ ├── codegen_test_helper.dart │ │ │ │ │ ├── constant_folding_codeUnitAt_test.dart │ │ │ │ │ ├── constant_folding_test.dart │ │ │ │ │ ├── constant_namer_test.dart │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── array_add.dart │ │ │ │ │ │ ├── codeUnitAt_folding.dart │ │ │ │ │ │ ├── indexer_constant_folding.dart │ │ │ │ │ │ ├── inlining_annotations.dart │ │ │ │ │ │ ├── late_field_read_check_optimization.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── shift_right_unsigned.dart │ │ │ │ │ │ ├── tdiv1.dart │ │ │ │ │ │ └── unused_empty_map.dart │ │ │ │ │ ├── data_2/ │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── tdiv1.dart │ │ │ │ │ │ └── unused_empty_map.dart │ │ │ │ │ ├── dead_code_test.dart │ │ │ │ │ ├── dead_phi_eliminator_test.dart │ │ │ │ │ ├── declare_once_test.dart │ │ │ │ │ ├── elide_callthrough_stub_test.dart │ │ │ │ │ ├── emit_const_fields_test.dart │ │ │ │ │ ├── equals_test.dart │ │ │ │ │ ├── expect_annotations2_test.dart │ │ │ │ │ ├── expect_annotations_test.dart │ │ │ │ │ ├── field_codegen_test.dart │ │ │ │ │ ├── field_update_test.dart │ │ │ │ │ ├── for_in_test.dart │ │ │ │ │ ├── forloop_box_test.dart │ │ │ │ │ ├── generate_at_use_site_test.dart │ │ │ │ │ ├── generic_method_test.dart │ │ │ │ │ ├── gvn_test.dart │ │ │ │ │ ├── identity_test.dart │ │ │ │ │ ├── if_do_while_test.dart │ │ │ │ │ ├── interceptor_almost_constant_test.dart │ │ │ │ │ ├── interceptor_test.dart │ │ │ │ │ ├── interpolation_folding_test.dart │ │ │ │ │ ├── inverse_operator_test.dart │ │ │ │ │ ├── is_function_test.dart │ │ │ │ │ ├── is_inference2_test.dart │ │ │ │ │ ├── is_inference_test.dart │ │ │ │ │ ├── jsarray_indexof_test.dart │ │ │ │ │ ├── late_field_redundancy_test.dart │ │ │ │ │ ├── late_field_test.dart │ │ │ │ │ ├── licm_test.dart │ │ │ │ │ ├── list_tracer_length_test.dart │ │ │ │ │ ├── list_tracer_node_type_test.dart │ │ │ │ │ ├── literal_list_test.dart │ │ │ │ │ ├── literal_map_test.dart │ │ │ │ │ ├── load_elimination_test.dart │ │ │ │ │ ├── logical_expression_test.dart │ │ │ │ │ ├── loop_test.dart │ │ │ │ │ ├── minify_many_locals_test.dart │ │ │ │ │ ├── model_data/ │ │ │ │ │ │ ├── capture.dart │ │ │ │ │ │ ├── constant_folding.dart │ │ │ │ │ │ ├── constructors.dart │ │ │ │ │ │ ├── dynamic_get.dart │ │ │ │ │ │ ├── dynamic_set.dart │ │ │ │ │ │ ├── dynamic_set_unread.dart │ │ │ │ │ │ ├── effectively_constant_fields.dart │ │ │ │ │ │ ├── effectively_constant_state.dart │ │ │ │ │ │ ├── field_set.dart │ │ │ │ │ │ ├── fields.dart │ │ │ │ │ │ ├── instance_method_parameters.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── native.dart │ │ │ │ │ │ ├── native_inlined.dart │ │ │ │ │ │ ├── native_unused_parameters.dart │ │ │ │ │ │ ├── regress_36222.dart │ │ │ │ │ │ ├── static_method_parameters.dart │ │ │ │ │ │ └── static_tearoff.dart │ │ │ │ │ ├── model_test.dart │ │ │ │ │ ├── modulo_remainder_test.dart │ │ │ │ │ ├── negation_shift_regression_test.dart │ │ │ │ │ ├── new_rti_is_test.dart │ │ │ │ │ ├── no_constructor_body_test.dart │ │ │ │ │ ├── no_duplicate_constructor_body2_test.dart │ │ │ │ │ ├── no_duplicate_constructor_body_test.dart │ │ │ │ │ ├── no_duplicate_stub_test.dart │ │ │ │ │ ├── null_check_test.dart │ │ │ │ │ ├── null_type_test.dart │ │ │ │ │ ├── number_output_test.dart │ │ │ │ │ ├── parameter_phi_elimination_test.dart │ │ │ │ │ ├── pragma_annotations_test.dart │ │ │ │ │ ├── pretty_parameter_test.dart │ │ │ │ │ ├── redundant_phi_eliminator_test.dart │ │ │ │ │ ├── regress_10231_test.dart │ │ │ │ │ ├── shift_right_unsigned_test.dart │ │ │ │ │ ├── side_effect_tdiv_regression_test.dart │ │ │ │ │ ├── simple_inferrer_relations_test.dart │ │ │ │ │ ├── ssa_phi_codegen_test.dart │ │ │ │ │ ├── static_closure_test.dart │ │ │ │ │ ├── strength_eq_test.dart │ │ │ │ │ ├── string_abbreviation_test.dart │ │ │ │ │ ├── string_add_test.dart │ │ │ │ │ ├── string_escapes_test.dart │ │ │ │ │ ├── string_interpolation_test.dart │ │ │ │ │ ├── string_reference_test.dart │ │ │ │ │ ├── switch_empty_default_test.dart │ │ │ │ │ ├── tdiv_test.dart │ │ │ │ │ ├── top_level_closure_tree_shake_test.dart │ │ │ │ │ ├── tree_shaking_test.dart │ │ │ │ │ ├── trust_type_annotations2_test.dart │ │ │ │ │ ├── trust_type_annotations_test.dart │ │ │ │ │ ├── type_guard_unuser_test.dart │ │ │ │ │ ├── type_inference2_test.dart │ │ │ │ │ ├── type_inference3_test.dart │ │ │ │ │ ├── type_inference4_test.dart │ │ │ │ │ ├── type_inference5_test.dart │ │ │ │ │ ├── type_inference8_test.dart │ │ │ │ │ ├── types_of_captured_variables_test.dart │ │ │ │ │ ├── unused_empty_map_test.dart │ │ │ │ │ ├── use_checks_test.dart │ │ │ │ │ ├── use_strict_test.dart │ │ │ │ │ ├── value_range2_test.dart │ │ │ │ │ ├── value_range3_test.dart │ │ │ │ │ ├── value_range_test.dart │ │ │ │ │ └── variance_subtype_cast_test.dart │ │ │ │ ├── codesize/ │ │ │ │ │ ├── OWNERS │ │ │ │ │ └── swarm/ │ │ │ │ │ ├── App.dart │ │ │ │ │ ├── BiIterator.dart │ │ │ │ │ ├── CSS.dart │ │ │ │ │ ├── CannedData.dart │ │ │ │ │ ├── ConfigHintDialog.dart │ │ │ │ │ ├── DataSource.dart │ │ │ │ │ ├── Decoder.dart │ │ │ │ │ ├── HelpDialog.dart │ │ │ │ │ ├── README │ │ │ │ │ ├── SwarmApp.dart │ │ │ │ │ ├── SwarmState.dart │ │ │ │ │ ├── SwarmViews.dart │ │ │ │ │ ├── UIState.dart │ │ │ │ │ ├── Views.dart │ │ │ │ │ ├── analysis_options.yaml │ │ │ │ │ ├── appengine/ │ │ │ │ │ │ ├── app.yaml │ │ │ │ │ │ ├── cron.yaml │ │ │ │ │ │ ├── dev.html │ │ │ │ │ │ ├── encoder.py │ │ │ │ │ │ ├── index.yaml │ │ │ │ │ │ ├── login.html │ │ │ │ │ │ ├── main.py │ │ │ │ │ │ ├── queue.yaml │ │ │ │ │ │ ├── top.html │ │ │ │ │ │ └── upload.html │ │ │ │ │ ├── buildapp.py │ │ │ │ │ ├── cacheimages.py │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── Test0_0_0.html │ │ │ │ │ │ ├── Test0_0_1.html │ │ │ │ │ │ ├── Test0_0_2.html │ │ │ │ │ │ ├── Test0_0_3.html │ │ │ │ │ │ ├── Test0_0_4.html │ │ │ │ │ │ ├── Test0_0_5.html │ │ │ │ │ │ ├── Test0_0_6.html │ │ │ │ │ │ ├── Test0_0_7.html │ │ │ │ │ │ ├── Test0_1_0.html │ │ │ │ │ │ ├── Test0_1_1.html │ │ │ │ │ │ ├── Test0_1_2.html │ │ │ │ │ │ ├── Test0_1_3.html │ │ │ │ │ │ ├── Test0_1_4.html │ │ │ │ │ │ ├── Test0_1_5.html │ │ │ │ │ │ ├── Test0_1_6.html │ │ │ │ │ │ ├── Test0_1_7.html │ │ │ │ │ │ ├── Test0_2_0.html │ │ │ │ │ │ ├── Test0_2_1.html │ │ │ │ │ │ ├── Test0_2_2.html │ │ │ │ │ │ ├── Test0_2_3.html │ │ │ │ │ │ ├── Test0_2_4.html │ │ │ │ │ │ ├── Test0_2_5.html │ │ │ │ │ │ ├── Test0_2_6.html │ │ │ │ │ │ ├── Test0_2_7.html │ │ │ │ │ │ ├── Test0_3_0.html │ │ │ │ │ │ ├── Test0_3_1.html │ │ │ │ │ │ ├── Test0_3_2.html │ │ │ │ │ │ ├── Test0_3_3.html │ │ │ │ │ │ ├── Test0_3_4.html │ │ │ │ │ │ ├── Test0_3_5.html │ │ │ │ │ │ ├── Test0_3_6.html │ │ │ │ │ │ ├── Test0_3_7.html │ │ │ │ │ │ ├── Test1_0_0.html │ │ │ │ │ │ ├── Test1_0_1.html │ │ │ │ │ │ ├── Test1_0_2.html │ │ │ │ │ │ ├── Test1_0_3.html │ │ │ │ │ │ ├── Test1_0_4.html │ │ │ │ │ │ ├── Test1_0_5.html │ │ │ │ │ │ ├── Test1_0_6.html │ │ │ │ │ │ ├── Test1_0_7.html │ │ │ │ │ │ ├── Test1_1_0.html │ │ │ │ │ │ ├── Test1_1_1.html │ │ │ │ │ │ ├── Test1_1_2.html │ │ │ │ │ │ ├── Test1_1_3.html │ │ │ │ │ │ ├── Test1_1_4.html │ │ │ │ │ │ ├── Test1_1_5.html │ │ │ │ │ │ ├── Test1_1_6.html │ │ │ │ │ │ ├── Test1_1_7.html │ │ │ │ │ │ ├── Test1_2_0.html │ │ │ │ │ │ ├── Test1_2_1.html │ │ │ │ │ │ ├── Test1_2_2.html │ │ │ │ │ │ ├── Test1_2_3.html │ │ │ │ │ │ ├── Test1_2_4.html │ │ │ │ │ │ ├── Test1_2_5.html │ │ │ │ │ │ ├── Test1_2_6.html │ │ │ │ │ │ ├── Test1_2_7.html │ │ │ │ │ │ ├── Test1_3_0.html │ │ │ │ │ │ ├── Test1_3_1.html │ │ │ │ │ │ ├── Test1_3_2.html │ │ │ │ │ │ ├── Test1_3_3.html │ │ │ │ │ │ ├── Test1_3_4.html │ │ │ │ │ │ ├── Test1_3_5.html │ │ │ │ │ │ ├── Test1_3_6.html │ │ │ │ │ │ ├── Test1_3_7.html │ │ │ │ │ │ ├── Test2_0_0.html │ │ │ │ │ │ ├── Test2_0_1.html │ │ │ │ │ │ ├── Test2_0_2.html │ │ │ │ │ │ ├── Test2_0_3.html │ │ │ │ │ │ ├── Test2_0_4.html │ │ │ │ │ │ ├── Test2_0_5.html │ │ │ │ │ │ ├── Test2_0_6.html │ │ │ │ │ │ ├── Test2_0_7.html │ │ │ │ │ │ ├── Test2_1_0.html │ │ │ │ │ │ ├── Test2_1_1.html │ │ │ │ │ │ ├── Test2_1_2.html │ │ │ │ │ │ ├── Test2_1_3.html │ │ │ │ │ │ ├── Test2_1_4.html │ │ │ │ │ │ ├── Test2_1_5.html │ │ │ │ │ │ ├── Test2_1_6.html │ │ │ │ │ │ ├── Test2_1_7.html │ │ │ │ │ │ ├── Test2_2_0.html │ │ │ │ │ │ ├── Test2_2_1.html │ │ │ │ │ │ ├── Test2_2_2.html │ │ │ │ │ │ ├── Test2_2_3.html │ │ │ │ │ │ ├── Test2_2_4.html │ │ │ │ │ │ ├── Test2_2_5.html │ │ │ │ │ │ ├── Test2_2_6.html │ │ │ │ │ │ ├── Test2_2_7.html │ │ │ │ │ │ ├── Test2_3_0.html │ │ │ │ │ │ ├── Test2_3_1.html │ │ │ │ │ │ ├── Test2_3_2.html │ │ │ │ │ │ ├── Test2_3_3.html │ │ │ │ │ │ ├── Test2_3_4.html │ │ │ │ │ │ ├── Test2_3_5.html │ │ │ │ │ │ ├── Test2_3_6.html │ │ │ │ │ │ ├── Test2_3_7.html │ │ │ │ │ │ └── user.data │ │ │ │ │ ├── gen_manifest.py │ │ │ │ │ ├── manifest.json │ │ │ │ │ ├── pubspec.yaml │ │ │ │ │ ├── swarm-dev.pem │ │ │ │ │ ├── swarm.css │ │ │ │ │ ├── swarm.dart │ │ │ │ │ ├── swarm.html │ │ │ │ │ ├── swarm.scss │ │ │ │ │ ├── swarm_ui_lib/ │ │ │ │ │ │ ├── base/ │ │ │ │ │ │ │ ├── AnimationScheduler.dart │ │ │ │ │ │ │ ├── Device.dart │ │ │ │ │ │ │ ├── DomWrapper.dart │ │ │ │ │ │ │ ├── Env.dart │ │ │ │ │ │ │ ├── Size.dart │ │ │ │ │ │ │ └── base.dart │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ ├── GridLayout.dart │ │ │ │ │ │ │ ├── GridLayoutParams.dart │ │ │ │ │ │ │ ├── GridLayoutParser.dart │ │ │ │ │ │ │ ├── GridTracks.dart │ │ │ │ │ │ │ ├── SizingFunctions.dart │ │ │ │ │ │ │ ├── ViewLayout.dart │ │ │ │ │ │ │ └── layout.dart │ │ │ │ │ │ ├── observable/ │ │ │ │ │ │ │ ├── ChangeEvent.dart │ │ │ │ │ │ │ ├── EventBatch.dart │ │ │ │ │ │ │ └── observable.dart │ │ │ │ │ │ ├── touch/ │ │ │ │ │ │ │ ├── BezierPhysics.dart │ │ │ │ │ │ │ ├── ClickBuster.dart │ │ │ │ │ │ │ ├── EventUtil.dart │ │ │ │ │ │ │ ├── FxUtil.dart │ │ │ │ │ │ │ ├── Geometry.dart │ │ │ │ │ │ │ ├── InfiniteScroller.dart │ │ │ │ │ │ │ ├── Math.dart │ │ │ │ │ │ │ ├── Momentum.dart │ │ │ │ │ │ │ ├── ScrollWatcher.dart │ │ │ │ │ │ │ ├── Scrollbar.dart │ │ │ │ │ │ │ ├── Scroller.dart │ │ │ │ │ │ │ ├── TimeUtil.dart │ │ │ │ │ │ │ ├── TouchHandler.dart │ │ │ │ │ │ │ ├── TouchUtil.dart │ │ │ │ │ │ │ ├── resources/ │ │ │ │ │ │ │ │ └── touch.css │ │ │ │ │ │ │ └── touch.dart │ │ │ │ │ │ ├── util/ │ │ │ │ │ │ │ ├── CollectionUtils.dart │ │ │ │ │ │ │ ├── DateUtils.dart │ │ │ │ │ │ │ ├── StringUtils.dart │ │ │ │ │ │ │ ├── Uri.dart │ │ │ │ │ │ │ └── utilslib.dart │ │ │ │ │ │ └── view/ │ │ │ │ │ │ ├── CompositeView.dart │ │ │ │ │ │ ├── ConveyorView.dart │ │ │ │ │ │ ├── MeasureText.dart │ │ │ │ │ │ ├── PagedViews.dart │ │ │ │ │ │ ├── SliderMenu.dart │ │ │ │ │ │ ├── resources/ │ │ │ │ │ │ │ └── view.css │ │ │ │ │ │ └── view.dart │ │ │ │ │ ├── swarmlib.dart │ │ │ │ │ └── update.py │ │ │ │ ├── custom_split/ │ │ │ │ │ ├── constraint_harness.dart │ │ │ │ │ ├── custom_split_test.dart │ │ │ │ │ └── data/ │ │ │ │ │ ├── diamond/ │ │ │ │ │ │ ├── constraints.dart │ │ │ │ │ │ ├── constraints.json │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ ├── shared.dart │ │ │ │ │ │ ├── step1.dart │ │ │ │ │ │ ├── step2a.dart │ │ │ │ │ │ ├── step2b.dart │ │ │ │ │ │ └── step3.dart │ │ │ │ │ ├── diamond_and/ │ │ │ │ │ │ ├── constraints.dart │ │ │ │ │ │ ├── constraints.json │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ ├── shared.dart │ │ │ │ │ │ ├── step1.dart │ │ │ │ │ │ ├── step2a.dart │ │ │ │ │ │ ├── step2b.dart │ │ │ │ │ │ └── step3.dart │ │ │ │ │ ├── diamond_fuse/ │ │ │ │ │ │ ├── constraints.dart │ │ │ │ │ │ ├── constraints.json │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ ├── shared.dart │ │ │ │ │ │ ├── step1.dart │ │ │ │ │ │ ├── step2a.dart │ │ │ │ │ │ ├── step2b.dart │ │ │ │ │ │ └── step3.dart │ │ │ │ │ ├── diamond_or/ │ │ │ │ │ │ ├── constraints.dart │ │ │ │ │ │ ├── constraints.json │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ ├── shared.dart │ │ │ │ │ │ ├── step1.dart │ │ │ │ │ │ ├── step2a.dart │ │ │ │ │ │ ├── step2b.dart │ │ │ │ │ │ └── step3.dart │ │ │ │ │ ├── fuse_with_and/ │ │ │ │ │ │ ├── constraints.dart │ │ │ │ │ │ ├── constraints.json │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ ├── lib2.dart │ │ │ │ │ │ ├── lib3.dart │ │ │ │ │ │ ├── lib4.dart │ │ │ │ │ │ ├── libImport.dart │ │ │ │ │ │ ├── lib_000_1.dart │ │ │ │ │ │ ├── lib_001_0.dart │ │ │ │ │ │ ├── lib_010_0.dart │ │ │ │ │ │ ├── lib_100_0.dart │ │ │ │ │ │ └── main.dart │ │ │ │ │ ├── fuse_with_or/ │ │ │ │ │ │ ├── constraints.dart │ │ │ │ │ │ ├── constraints.json │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ ├── lib2.dart │ │ │ │ │ │ ├── lib3.dart │ │ │ │ │ │ ├── lib4.dart │ │ │ │ │ │ ├── libImport.dart │ │ │ │ │ │ ├── lib_000_1.dart │ │ │ │ │ │ ├── lib_001_0.dart │ │ │ │ │ │ ├── lib_010_0.dart │ │ │ │ │ │ ├── lib_100_0.dart │ │ │ │ │ │ └── main.dart │ │ │ │ │ ├── just_fuse/ │ │ │ │ │ │ ├── constraints.dart │ │ │ │ │ │ ├── constraints.json │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ ├── lib2.dart │ │ │ │ │ │ ├── lib3.dart │ │ │ │ │ │ ├── lib4.dart │ │ │ │ │ │ ├── libImport.dart │ │ │ │ │ │ ├── lib_000_1.dart │ │ │ │ │ │ ├── lib_001_0.dart │ │ │ │ │ │ ├── lib_010_0.dart │ │ │ │ │ │ ├── lib_100_0.dart │ │ │ │ │ │ └── main.dart │ │ │ │ │ ├── marker.options │ │ │ │ │ ├── two_branch/ │ │ │ │ │ │ ├── constraints.dart │ │ │ │ │ │ ├── constraints.json │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ ├── shared.dart │ │ │ │ │ │ ├── step1.dart │ │ │ │ │ │ ├── step2a.dart │ │ │ │ │ │ └── step2b.dart │ │ │ │ │ └── two_step/ │ │ │ │ │ ├── constraints.dart │ │ │ │ │ ├── constraints.json │ │ │ │ │ ├── main.dart │ │ │ │ │ ├── shared.dart │ │ │ │ │ ├── step1.dart │ │ │ │ │ ├── step2.dart │ │ │ │ │ └── step3.dart │ │ │ │ ├── deferred/ │ │ │ │ │ ├── closures_test.dart │ │ │ │ │ ├── constant_emission_test_helper.dart │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── deferred_helper.dart │ │ │ │ │ │ └── deferred_lib.dart │ │ │ │ │ ├── deferred_constant3_test.dart │ │ │ │ │ ├── dont_inline_deferred_constants_test.dart │ │ │ │ │ ├── dont_inline_deferred_globals_test.dart │ │ │ │ │ ├── emit_type_checks_test.dart │ │ │ │ │ ├── follow_constant_dependencies_test.dart │ │ │ │ │ ├── follow_implicit_super_regression_test.dart │ │ │ │ │ ├── inline_restrictions_test.dart │ │ │ │ │ ├── load_graph_segmentation2_test.dart │ │ │ │ │ ├── load_graph_segmentation_test.dart │ │ │ │ │ ├── load_mapping_test.dart │ │ │ │ │ ├── not_in_main_test.dart │ │ │ │ │ └── unneeded_part_js_test.dart │ │ │ │ ├── deferred_loading/ │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── basic_deferred/ │ │ │ │ │ │ │ ├── lib.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── libA.dart │ │ │ │ │ │ │ ├── libB.dart │ │ │ │ │ │ │ ├── libBCDE.dart │ │ │ │ │ │ │ ├── libC.dart │ │ │ │ │ │ │ ├── libD.dart │ │ │ │ │ │ │ ├── libE.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── deferred_class/ │ │ │ │ │ │ │ ├── lib.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── deferred_constant1/ │ │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ │ ├── lib2.dart │ │ │ │ │ │ │ ├── lib3.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── deferred_constant2/ │ │ │ │ │ │ │ ├── lib.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── deferred_constant3/ │ │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ │ ├── lib2.dart │ │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ │ └── shared.dart │ │ │ │ │ │ ├── deferred_fail_and_retry/ │ │ │ │ │ │ │ ├── lib.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── deferred_function/ │ │ │ │ │ │ │ ├── lib.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── deferred_overlapping/ │ │ │ │ │ │ │ ├── deferred_overlapping_lib3.dart │ │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ │ ├── lib2.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── deferred_typed_map/ │ │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── deferred_typedef/ │ │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── dont_inline_deferred_constants/ │ │ │ │ │ │ │ ├── exported_main.dart │ │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ │ ├── lib2.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── dont_inline_deferred_global/ │ │ │ │ │ │ │ ├── lib.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── follow_implicit_super_regression_test/ │ │ │ │ │ │ │ ├── lib.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── future_or/ │ │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ │ ├── lib2.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── instantiation0/ │ │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── instantiation1/ │ │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ │ ├── lib2.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── instantiation2/ │ │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ │ ├── lib2.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── instantiation3/ │ │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── instantiation4/ │ │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ │ ├── lib2.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── instantiation5/ │ │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ │ ├── lib2.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── interface_type_variable/ │ │ │ │ │ │ │ ├── lib.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── lazy_types/ │ │ │ │ │ │ │ ├── lib.dart │ │ │ │ │ │ │ ├── liba.dart │ │ │ │ │ │ │ ├── libb.dart │ │ │ │ │ │ │ ├── libc.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── many_parts/ │ │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ │ ├── lib2.dart │ │ │ │ │ │ │ ├── lib3.dart │ │ │ │ │ │ │ ├── lib4.dart │ │ │ │ │ │ │ ├── lib5.dart │ │ │ │ │ │ │ ├── libB.dart │ │ │ │ │ │ │ ├── lib_000_01.dart │ │ │ │ │ │ │ ├── lib_000_10.dart │ │ │ │ │ │ │ ├── lib_001_00.dart │ │ │ │ │ │ │ ├── lib_010_00.dart │ │ │ │ │ │ │ ├── lib_100_00.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── regress_35311/ │ │ │ │ │ │ │ ├── lib.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── regress_43055/ │ │ │ │ │ │ │ ├── libb.dart │ │ │ │ │ │ │ ├── libc.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── regress_49851/ │ │ │ │ │ │ │ ├── lib.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── shadowed_types/ │ │ │ │ │ │ │ ├── lib_shared.dart │ │ │ │ │ │ │ ├── liba.dart │ │ │ │ │ │ │ ├── libb.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── shared_constant/ │ │ │ │ │ │ │ ├── lib_a.dart │ │ │ │ │ │ │ ├── lib_b.dart │ │ │ │ │ │ │ ├── lib_c.dart │ │ │ │ │ │ │ ├── main.dart │ │ │ │ │ │ │ └── shared.dart │ │ │ │ │ │ ├── static_separate/ │ │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ │ ├── lib2.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── type_argument_dependency/ │ │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ │ ├── lib2.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── type_arguments/ │ │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ │ ├── lib2.dart │ │ │ │ │ │ │ ├── lib3.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ └── uninstantiated_type_variable/ │ │ │ │ │ │ ├── lib.dart │ │ │ │ │ │ └── main.dart │ │ │ │ │ ├── deferred_loading_test.dart │ │ │ │ │ └── deferred_loading_test_helper.dart │ │ │ │ ├── dump_info/ │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── closures.dart │ │ │ │ │ │ ├── deferred/ │ │ │ │ │ │ │ ├── lib.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── deferred_future/ │ │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ │ ├── lib2.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── js_members.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ └── members.dart │ │ │ │ │ ├── data_new/ │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ └── mixin_with_tearoff_test.dart │ │ │ │ │ ├── dump_info_new_regression_test.dart │ │ │ │ │ ├── dump_info_new_test.dart │ │ │ │ │ └── dump_info_test.dart │ │ │ │ ├── end_to_end/ │ │ │ │ │ ├── all_native_test.dart │ │ │ │ │ ├── command_line_split_test.dart │ │ │ │ │ ├── command_line_test.dart │ │ │ │ │ ├── dart2js_batch2_test.dart │ │ │ │ │ ├── dart2js_batch_test.dart │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── dart2js_batch2_run.dart │ │ │ │ │ │ ├── exit_code_helper.dart │ │ │ │ │ │ └── hello_world.dart │ │ │ │ │ ├── dill_loader_test.dart │ │ │ │ │ ├── dump_info2_test.dart │ │ │ │ │ ├── dump_info_test.dart │ │ │ │ │ ├── exit_code_test.dart │ │ │ │ │ ├── feature_options_test.dart │ │ │ │ │ ├── launch_helper.dart │ │ │ │ │ ├── modular_loader_test.dart │ │ │ │ │ ├── no_platform_test.dart │ │ │ │ │ ├── output_type_test.dart │ │ │ │ │ ├── trim_component_test.dart │ │ │ │ │ └── user_crash_test.dart │ │ │ │ ├── equivalence/ │ │ │ │ │ ├── check_functions.dart │ │ │ │ │ ├── check_helpers.dart │ │ │ │ │ ├── id_equivalence.dart │ │ │ │ │ ├── id_equivalence_helper.dart │ │ │ │ │ ├── id_testing_test.dart │ │ │ │ │ └── show_helper.dart │ │ │ │ ├── field_analysis/ │ │ │ │ │ ├── jdata/ │ │ │ │ │ │ ├── constant_fields.dart │ │ │ │ │ │ ├── dynamic_set.dart │ │ │ │ │ │ ├── effectively_constant_state.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── multi_initializers.dart │ │ │ │ │ │ ├── optional_parameters.dart │ │ │ │ │ │ ├── regress_36222.dart │ │ │ │ │ │ ├── simple_initializers.dart │ │ │ │ │ │ ├── static_initializers.dart │ │ │ │ │ │ └── unused_constructors.dart │ │ │ │ │ ├── jfield_analysis_test.dart │ │ │ │ │ ├── kdata/ │ │ │ │ │ │ ├── constant_fields.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── multi_initializers.dart │ │ │ │ │ │ ├── optional_parameters.dart │ │ │ │ │ │ ├── regress_36222.dart │ │ │ │ │ │ ├── side_effects.dart │ │ │ │ │ │ ├── simple_initializers.dart │ │ │ │ │ │ └── static_initializers.dart │ │ │ │ │ └── kfield_analysis_test.dart │ │ │ │ ├── generic_methods/ │ │ │ │ │ ├── function_type_variable_test.dart │ │ │ │ │ ├── generic_method_test.dart │ │ │ │ │ ├── generic_method_type_test.dart │ │ │ │ │ ├── instantiation_stub_test.dart │ │ │ │ │ └── world_test.dart │ │ │ │ ├── helpers/ │ │ │ │ │ ├── args_helper.dart │ │ │ │ │ ├── compiler_helper.dart │ │ │ │ │ ├── d8_helper.dart │ │ │ │ │ ├── element_lookup.dart │ │ │ │ │ ├── ir_types.dart │ │ │ │ │ ├── link_helper.dart │ │ │ │ │ ├── program_lookup.dart │ │ │ │ │ ├── shared_helper.dart │ │ │ │ │ ├── text_helpers.dart │ │ │ │ │ └── type_test_helper.dart │ │ │ │ ├── impact/ │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── as.dart │ │ │ │ │ │ ├── async.dart │ │ │ │ │ │ ├── classes.dart │ │ │ │ │ │ ├── constants/ │ │ │ │ │ │ │ ├── lib.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── constructors.dart │ │ │ │ │ │ ├── effectively_final.dart │ │ │ │ │ │ ├── exact.dart │ │ │ │ │ │ ├── expressions.dart │ │ │ │ │ │ ├── extract_type_arguments.dart │ │ │ │ │ │ ├── future_or.dart │ │ │ │ │ │ ├── initializers.dart │ │ │ │ │ │ ├── injected_cast.dart │ │ │ │ │ │ ├── invokes.dart │ │ │ │ │ │ ├── issue230108748.dart │ │ │ │ │ │ ├── issue48304.dart │ │ │ │ │ │ ├── jsinterop.dart │ │ │ │ │ │ ├── jsinterop_setter1.dart │ │ │ │ │ │ ├── jsinterop_setter2.dart │ │ │ │ │ │ ├── literals.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── native.dart │ │ │ │ │ │ ├── promotion.dart │ │ │ │ │ │ ├── runtime_type.dart │ │ │ │ │ │ ├── statements.dart │ │ │ │ │ │ └── this.dart │ │ │ │ │ └── impact_test.dart │ │ │ │ ├── inference/ │ │ │ │ │ ├── callers/ │ │ │ │ │ │ ├── field_access.dart │ │ │ │ │ │ └── marker.options │ │ │ │ │ ├── callers_test.dart │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── abstract_method.dart │ │ │ │ │ │ ├── and_or.dart │ │ │ │ │ │ ├── as.dart │ │ │ │ │ │ ├── assert.dart │ │ │ │ │ │ ├── assert_ea.dart │ │ │ │ │ │ ├── assert_initializer.dart │ │ │ │ │ │ ├── assert_initializer_ea.dart │ │ │ │ │ │ ├── assert_message_throw.dart │ │ │ │ │ │ ├── assert_message_throw_ea.dart │ │ │ │ │ │ ├── assign_op.dart │ │ │ │ │ │ ├── async_marker.dart │ │ │ │ │ │ ├── await.dart │ │ │ │ │ │ ├── break_continue.dart │ │ │ │ │ │ ├── call_in_loop.dart │ │ │ │ │ │ ├── call_method_function_typed_value.dart │ │ │ │ │ │ ├── call_site.dart │ │ │ │ │ │ ├── catch.dart │ │ │ │ │ │ ├── closure.dart │ │ │ │ │ │ ├── closure2.dart │ │ │ │ │ │ ├── closure_tracer.dart │ │ │ │ │ │ ├── closure_tracer_28919.dart │ │ │ │ │ │ ├── closurization_instance.dart │ │ │ │ │ │ ├── closurization_instance_call.dart │ │ │ │ │ │ ├── closurization_local_call.dart │ │ │ │ │ │ ├── closurization_static.dart │ │ │ │ │ │ ├── closurization_static_call.dart │ │ │ │ │ │ ├── conditional.dart │ │ │ │ │ │ ├── const_closure.dart │ │ │ │ │ │ ├── const_closure2.dart │ │ │ │ │ │ ├── const_closure3.dart │ │ │ │ │ │ ├── const_closure4.dart │ │ │ │ │ │ ├── const_closure5.dart │ │ │ │ │ │ ├── const_closure_default.dart │ │ │ │ │ │ ├── container_mask_equal.dart │ │ │ │ │ │ ├── default_value.dart │ │ │ │ │ │ ├── deferred_load.dart │ │ │ │ │ │ ├── deferred_load_get.dart │ │ │ │ │ │ ├── dictionary_types.dart │ │ │ │ │ │ ├── do.dart │ │ │ │ │ │ ├── enum.dart │ │ │ │ │ │ ├── expose_this.dart │ │ │ │ │ │ ├── expose_this_closure.dart │ │ │ │ │ │ ├── expose_this_field.dart │ │ │ │ │ │ ├── expose_this_mask.dart │ │ │ │ │ │ ├── expose_this_super.dart │ │ │ │ │ │ ├── factory.dart │ │ │ │ │ │ ├── field_type.dart │ │ │ │ │ │ ├── fields.dart │ │ │ │ │ │ ├── final_field.dart │ │ │ │ │ │ ├── final_field2.dart │ │ │ │ │ │ ├── final_field3.dart │ │ │ │ │ │ ├── finalized_type_variable.dart │ │ │ │ │ │ ├── for.dart │ │ │ │ │ │ ├── for_in.dart │ │ │ │ │ │ ├── foreign.dart │ │ │ │ │ │ ├── general.dart │ │ │ │ │ │ ├── general6.dart │ │ │ │ │ │ ├── general7.dart │ │ │ │ │ │ ├── general7_ea.dart │ │ │ │ │ │ ├── general8a.dart │ │ │ │ │ │ ├── general8b.dart │ │ │ │ │ │ ├── global_field_closure.dart │ │ │ │ │ │ ├── global_field_closure2.dart │ │ │ │ │ │ ├── if.dart │ │ │ │ │ │ ├── if_null.dart │ │ │ │ │ │ ├── index.dart │ │ │ │ │ │ ├── index_call.dart │ │ │ │ │ │ ├── index_postfix.dart │ │ │ │ │ │ ├── index_set.dart │ │ │ │ │ │ ├── init_get.dart │ │ │ │ │ │ ├── initializer.dart │ │ │ │ │ │ ├── instance.dart │ │ │ │ │ │ ├── issue13354.dart │ │ │ │ │ │ ├── issue48304.dart │ │ │ │ │ │ ├── issue_46770.dart │ │ │ │ │ │ ├── issue_48571.dart │ │ │ │ │ │ ├── js_interop.dart │ │ │ │ │ │ ├── late_field.dart │ │ │ │ │ │ ├── list.dart │ │ │ │ │ │ ├── list2.dart │ │ │ │ │ │ ├── list_huge.dart │ │ │ │ │ │ ├── list_js.dart │ │ │ │ │ │ ├── list_tracer2.dart │ │ │ │ │ │ ├── list_tracer3.dart │ │ │ │ │ │ ├── list_tracer_typed_data_length.dart │ │ │ │ │ │ ├── local_functions.dart │ │ │ │ │ │ ├── local_functions_call.dart │ │ │ │ │ │ ├── locals.dart │ │ │ │ │ │ ├── locals_trust.dart │ │ │ │ │ │ ├── logical.dart │ │ │ │ │ │ ├── logical_if.dart │ │ │ │ │ │ ├── map.dart │ │ │ │ │ │ ├── map_tracer_const.dart │ │ │ │ │ │ ├── map_tracer_keys.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── mixin_constructor_default_parameter_values/ │ │ │ │ │ │ │ ├── lib.dart │ │ │ │ │ │ │ └── main.dart │ │ │ │ │ │ ├── narrowing.dart │ │ │ │ │ │ ├── native.dart │ │ │ │ │ │ ├── native2.dart │ │ │ │ │ │ ├── native3.dart │ │ │ │ │ │ ├── new.dart │ │ │ │ │ │ ├── no_such_method.dart │ │ │ │ │ │ ├── no_such_method1.dart │ │ │ │ │ │ ├── no_such_method2.dart │ │ │ │ │ │ ├── no_such_method3.dart │ │ │ │ │ │ ├── no_such_method4.dart │ │ │ │ │ │ ├── non_null.dart │ │ │ │ │ │ ├── null.dart │ │ │ │ │ │ ├── optimizer_hints.dart │ │ │ │ │ │ ├── parameters_trust.dart │ │ │ │ │ │ ├── postfix.dart │ │ │ │ │ │ ├── postfix_prefix.dart │ │ │ │ │ │ ├── prefix.dart │ │ │ │ │ │ ├── record_1.dart │ │ │ │ │ │ ├── record_2.dart │ │ │ │ │ │ ├── record_3.dart │ │ │ │ │ │ ├── record_4.dart │ │ │ │ │ │ ├── refine_captured_locals.dart │ │ │ │ │ │ ├── refine_locals.dart │ │ │ │ │ │ ├── refine_order.dart │ │ │ │ │ │ ├── return.dart │ │ │ │ │ │ ├── shift_right_unsigned.dart │ │ │ │ │ │ ├── simple.dart │ │ │ │ │ │ ├── static.dart │ │ │ │ │ │ ├── static_get.dart │ │ │ │ │ │ ├── static_set.dart │ │ │ │ │ │ ├── static_type.dart │ │ │ │ │ │ ├── super_get.dart │ │ │ │ │ │ ├── super_invoke.dart │ │ │ │ │ │ ├── super_set.dart │ │ │ │ │ │ ├── switch.dart │ │ │ │ │ │ ├── switch1.dart │ │ │ │ │ │ ├── switch2.dart │ │ │ │ │ │ ├── switch5.dart │ │ │ │ │ │ ├── switch6.dart │ │ │ │ │ │ ├── throw.dart │ │ │ │ │ │ ├── try.dart │ │ │ │ │ │ ├── try_catch.dart │ │ │ │ │ │ ├── type_literal.dart │ │ │ │ │ │ ├── unregister_call.dart │ │ │ │ │ │ ├── use_static_types.dart │ │ │ │ │ │ ├── while.dart │ │ │ │ │ │ └── yield.dart │ │ │ │ │ ├── inference0_test.dart │ │ │ │ │ ├── inference1_test.dart │ │ │ │ │ ├── inference2_test.dart │ │ │ │ │ ├── inference3_test.dart │ │ │ │ │ ├── inference_data/ │ │ │ │ │ │ ├── called_in_loop.dart │ │ │ │ │ │ ├── cannot_throw.dart │ │ │ │ │ │ ├── function_apply.dart │ │ │ │ │ │ ├── function_apply_record.dart │ │ │ │ │ │ └── marker.options │ │ │ │ │ ├── inference_data_test.dart │ │ │ │ │ ├── inference_test_helper.dart │ │ │ │ │ ├── list_tracer_test.dart │ │ │ │ │ ├── load_deferred_library_test.dart │ │ │ │ │ ├── map_tracer_test.dart │ │ │ │ │ ├── null_flat_type_mask_test.dart │ │ │ │ │ ├── powerset_bits2_test.dart │ │ │ │ │ ├── powerset_bits3_test.dart │ │ │ │ │ ├── powerset_bits_test.dart │ │ │ │ │ ├── record_type_test.dart │ │ │ │ │ ├── show.dart │ │ │ │ │ ├── side_effects/ │ │ │ │ │ │ ├── annotations.dart │ │ │ │ │ │ ├── foreign.dart │ │ │ │ │ │ ├── local_functions.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── methods.dart │ │ │ │ │ │ ├── out_of_order.dart │ │ │ │ │ │ └── string_interpolation.dart │ │ │ │ │ ├── side_effects_test.dart │ │ │ │ │ ├── trivial_abstract_value_domain_test.dart │ │ │ │ │ ├── type_combination_test.dart │ │ │ │ │ ├── type_mask2_test.dart │ │ │ │ │ ├── type_mask_disjoint_test.dart │ │ │ │ │ ├── type_mask_test.dart │ │ │ │ │ ├── type_mask_test_helper.dart │ │ │ │ │ └── union_type_test.dart │ │ │ │ ├── inlining/ │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── conditional.dart │ │ │ │ │ │ ├── constructor.dart │ │ │ │ │ │ ├── dynamic.dart │ │ │ │ │ │ ├── external.dart │ │ │ │ │ │ ├── force_inline.dart │ │ │ │ │ │ ├── force_inline_loops.dart │ │ │ │ │ │ ├── heuristics.dart │ │ │ │ │ │ ├── map.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── meta.dart │ │ │ │ │ │ ├── native.dart │ │ │ │ │ │ ├── nested.dart │ │ │ │ │ │ ├── setter.dart │ │ │ │ │ │ ├── static_initializer.dart │ │ │ │ │ │ ├── switch.dart │ │ │ │ │ │ ├── too_difficult.dart │ │ │ │ │ │ └── type_variables.dart │ │ │ │ │ ├── inlining_test.dart │ │ │ │ │ ├── inlining_viewer.dart │ │ │ │ │ ├── meta_annotations2_test.dart │ │ │ │ │ ├── meta_annotations3_test.dart │ │ │ │ │ └── meta_annotations_test.dart │ │ │ │ ├── js/ │ │ │ │ │ ├── debug_size_estimator.dart │ │ │ │ │ ├── js_constant_test.dart │ │ │ │ │ ├── js_parser_statements_test.dart │ │ │ │ │ ├── js_parser_test.dart │ │ │ │ │ ├── js_safety_test.dart │ │ │ │ │ ├── js_size_estimator_test.dart │ │ │ │ │ ├── js_spec_optimization_test.dart │ │ │ │ │ ├── js_spec_string_test.dart │ │ │ │ │ ├── js_throw_behavior_test.dart │ │ │ │ │ └── size_estimator_expectations.json │ │ │ │ ├── jsinterop/ │ │ │ │ │ ├── declaration_test.dart │ │ │ │ │ ├── internal_annotations_test.dart │ │ │ │ │ ├── interop_anonymous_unreachable_test.dart │ │ │ │ │ └── world_test.dart │ │ │ │ ├── jumps/ │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── complex_loops.dart │ │ │ │ │ │ ├── labeled_statements.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── nested_loops.dart │ │ │ │ │ │ ├── simple_loops.dart │ │ │ │ │ │ └── switch.dart │ │ │ │ │ └── jump_test.dart │ │ │ │ ├── member_usage/ │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── constant_folding.dart │ │ │ │ │ │ ├── constructors.dart │ │ │ │ │ │ ├── fields.dart │ │ │ │ │ │ ├── general.dart │ │ │ │ │ │ ├── generic.dart │ │ │ │ │ │ ├── instance_method_parameters.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── native.dart │ │ │ │ │ │ ├── static_method_parameters.dart │ │ │ │ │ │ └── super.dart │ │ │ │ │ └── member_usage_test.dart │ │ │ │ ├── model/ │ │ │ │ │ ├── call_structure_namer_test.dart │ │ │ │ │ ├── cfe_annotations_test.dart │ │ │ │ │ ├── cfe_constant_evaluation_test.dart │ │ │ │ │ ├── cfe_constant_swarm_test.dart │ │ │ │ │ ├── cfe_constant_test.dart │ │ │ │ │ ├── class_set_test.dart │ │ │ │ │ ├── constant_value_test.dart │ │ │ │ │ ├── enqueuer_test.dart │ │ │ │ │ ├── enumset_test.dart │ │ │ │ │ ├── forwarding_stub_test.dart │ │ │ │ │ ├── future_or_test.dart │ │ │ │ │ ├── instantiated_classes_test.dart │ │ │ │ │ ├── link_test.dart │ │ │ │ │ ├── maplet_test.dart │ │ │ │ │ ├── mixin_typevariable_test.dart │ │ │ │ │ ├── native_test.dart │ │ │ │ │ ├── needs_no_such_method_test.dart │ │ │ │ │ ├── no_such_method_enabled_test.dart │ │ │ │ │ ├── no_such_method_forwarders_test.dart │ │ │ │ │ ├── open_world_test.dart │ │ │ │ │ ├── setlet_test.dart │ │ │ │ │ ├── strong_mode_closed_world_test.dart │ │ │ │ │ ├── strong_mode_impact_test.dart │ │ │ │ │ ├── subtype_test.dart │ │ │ │ │ ├── subtypeset_test.dart │ │ │ │ │ ├── supermixin_test.dart │ │ │ │ │ ├── token_naming_test.dart │ │ │ │ │ ├── type_substitution_test.dart │ │ │ │ │ └── world_test.dart │ │ │ │ ├── optimization/ │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── arithmetic.dart │ │ │ │ │ │ ├── arithmetic_simplification.dart │ │ │ │ │ │ ├── bit.dart │ │ │ │ │ │ ├── condition_value.dart │ │ │ │ │ │ ├── effectively_constant_fields.dart │ │ │ │ │ │ ├── field_get.dart │ │ │ │ │ │ ├── field_set.dart │ │ │ │ │ │ ├── finalized_type_variable.dart │ │ │ │ │ │ ├── index.dart │ │ │ │ │ │ ├── index_assign.dart │ │ │ │ │ │ ├── late_fields.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── modulo_remainder.dart │ │ │ │ │ │ ├── remove_last.dart │ │ │ │ │ │ ├── shift_right_unsigned.dart │ │ │ │ │ │ └── string_methods.dart │ │ │ │ │ └── optimization_test.dart │ │ │ │ ├── rti/ │ │ │ │ │ ├── backend_type_helper_test.dart │ │ │ │ │ ├── bound_check_test.dart │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── as.dart │ │ │ │ │ │ ├── async_foreach.dart │ │ │ │ │ │ ├── async_foreach_nonasync.dart │ │ │ │ │ │ ├── async_local.dart │ │ │ │ │ │ ├── async_local_nonasync.dart │ │ │ │ │ │ ├── async_local_typed.dart │ │ │ │ │ │ ├── call_typed.dart │ │ │ │ │ │ ├── call_typed_generic.dart │ │ │ │ │ │ ├── closure.dart │ │ │ │ │ │ ├── closure_generic_unneeded.dart │ │ │ │ │ │ ├── closure_unneeded.dart │ │ │ │ │ │ ├── dependency.dart │ │ │ │ │ │ ├── direct.dart │ │ │ │ │ │ ├── dynamic_is.dart │ │ │ │ │ │ ├── dynamic_is2.dart │ │ │ │ │ │ ├── dynamic_is_closure.dart │ │ │ │ │ │ ├── dynamic_is_closure2.dart │ │ │ │ │ │ ├── dynamic_not.dart │ │ │ │ │ │ ├── dynamic_not2.dart │ │ │ │ │ │ ├── dynamic_not_closure.dart │ │ │ │ │ │ ├── dynamic_not_closure2.dart │ │ │ │ │ │ ├── dynamic_tear_off.dart │ │ │ │ │ │ ├── dynamic_tear_off2.dart │ │ │ │ │ │ ├── dynamic_tear_off3.dart │ │ │ │ │ │ ├── dynamic_tear_off4.dart │ │ │ │ │ │ ├── dynamic_type_literal.dart │ │ │ │ │ │ ├── dynamic_type_literal2.dart │ │ │ │ │ │ ├── explicit_as.dart │ │ │ │ │ │ ├── function_subtype_local5.dart │ │ │ │ │ │ ├── future_or.dart │ │ │ │ │ │ ├── future_or_future_or.dart │ │ │ │ │ │ ├── future_or_future_or_generic.dart │ │ │ │ │ │ ├── future_or_generic.dart │ │ │ │ │ │ ├── future_or_generic2.dart │ │ │ │ │ │ ├── generic_bounds.dart │ │ │ │ │ │ ├── generic_class_instantiate.dart │ │ │ │ │ │ ├── generic_class_is.dart │ │ │ │ │ │ ├── generic_class_is2.dart │ │ │ │ │ │ ├── generic_closure_instantiate.dart │ │ │ │ │ │ ├── generic_creation.dart │ │ │ │ │ │ ├── generic_instanceof4.dart │ │ │ │ │ │ ├── generic_instanceof4_unused.dart │ │ │ │ │ │ ├── generic_method1.dart │ │ │ │ │ │ ├── generic_method2.dart │ │ │ │ │ │ ├── generic_method3.dart │ │ │ │ │ │ ├── generic_method4.dart │ │ │ │ │ │ ├── generic_method_instantiate.dart │ │ │ │ │ │ ├── generic_method_is.dart │ │ │ │ │ │ ├── generic_method_is2.dart │ │ │ │ │ │ ├── generic_method_tearoff.dart │ │ │ │ │ │ ├── generic_methods_dynamic_05.dart │ │ │ │ │ │ ├── generic_methods_dynamic_05a.dart │ │ │ │ │ │ ├── implicit_as.dart │ │ │ │ │ │ ├── indirect_through_static.dart │ │ │ │ │ │ ├── indirect_type_literal.dart │ │ │ │ │ │ ├── instantiated_type_literal.dart │ │ │ │ │ │ ├── instantiation1.dart │ │ │ │ │ │ ├── instantiation2.dart │ │ │ │ │ │ ├── instantiation3.dart │ │ │ │ │ │ ├── instantiation4.dart │ │ │ │ │ │ ├── instantiation5.dart │ │ │ │ │ │ ├── instantiation6.dart │ │ │ │ │ │ ├── instantiation7.dart │ │ │ │ │ │ ├── instantiation8.dart │ │ │ │ │ │ ├── is_type_variable.dart │ │ │ │ │ │ ├── is_type_variable_super.dart │ │ │ │ │ │ ├── is_type_variable_super_complex.dart │ │ │ │ │ │ ├── issue48304.dart │ │ │ │ │ │ ├── list_literal.dart │ │ │ │ │ │ ├── list_to_set.dart │ │ │ │ │ │ ├── local_function_generic.dart │ │ │ │ │ │ ├── local_function_list_literal.dart │ │ │ │ │ │ ├── local_function_map_literal.dart │ │ │ │ │ │ ├── local_function_signature2.dart │ │ │ │ │ │ ├── local_function_signatures.dart │ │ │ │ │ │ ├── local_function_signatures_generic.dart │ │ │ │ │ │ ├── map_literal.dart │ │ │ │ │ │ ├── map_to_set.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── method_signatures.dart │ │ │ │ │ │ ├── method_signatures_generic.dart │ │ │ │ │ │ ├── no_such_method1.dart │ │ │ │ │ │ ├── no_such_method2.dart │ │ │ │ │ │ ├── no_such_method3.dart │ │ │ │ │ │ ├── pragma_directives_instance.dart │ │ │ │ │ │ ├── pragma_directives_static.dart │ │ │ │ │ │ ├── private_dynamic.dart │ │ │ │ │ │ ├── private_dynamic2.dart │ │ │ │ │ │ ├── runtime_type_closure_equals1.dart │ │ │ │ │ │ ├── runtime_type_closure_equals2.dart │ │ │ │ │ │ ├── runtime_type_closure_equals3.dart │ │ │ │ │ │ ├── runtime_type_closure_equals4.dart │ │ │ │ │ │ ├── runtime_type_closure_equals5.dart │ │ │ │ │ │ ├── runtime_type_closure_equals6.dart │ │ │ │ │ │ ├── runtime_type_closure_equals7.dart │ │ │ │ │ │ ├── runtime_type_closure_equals8.dart │ │ │ │ │ │ ├── runtime_type_closure_to_string1.dart │ │ │ │ │ │ ├── runtime_type_closure_to_string2.dart │ │ │ │ │ │ ├── runtime_type_closure_to_string3.dart │ │ │ │ │ │ ├── runtime_type_closure_to_string4.dart │ │ │ │ │ │ ├── runtime_type_closure_to_string5.dart │ │ │ │ │ │ ├── runtime_type_closure_to_string6.dart │ │ │ │ │ │ ├── runtime_type_equals1.dart │ │ │ │ │ │ ├── runtime_type_equals2.dart │ │ │ │ │ │ ├── runtime_type_equals3.dart │ │ │ │ │ │ ├── runtime_type_equals4.dart │ │ │ │ │ │ ├── runtime_type_equals5.dart │ │ │ │ │ │ ├── runtime_type_equals6.dart │ │ │ │ │ │ ├── runtime_type_equals7.dart │ │ │ │ │ │ ├── runtime_type_instantiate_to_string1.dart │ │ │ │ │ │ ├── runtime_type_instantiate_to_string2.dart │ │ │ │ │ │ ├── runtime_type_instantiate_to_string3.dart │ │ │ │ │ │ ├── runtime_type_to_string1.dart │ │ │ │ │ │ ├── runtime_type_to_string2.dart │ │ │ │ │ │ ├── runtime_type_to_string3.dart │ │ │ │ │ │ ├── runtime_type_to_string4.dart │ │ │ │ │ │ ├── runtime_type_to_string5.dart │ │ │ │ │ │ ├── runtime_type_to_string6.dart │ │ │ │ │ │ ├── runtime_type_to_string7.dart │ │ │ │ │ │ ├── subclass.dart │ │ │ │ │ │ ├── subclass_fixed.dart │ │ │ │ │ │ ├── subtype_named_args.dart │ │ │ │ │ │ ├── subtype_named_args1.dart │ │ │ │ │ │ ├── superclass.dart │ │ │ │ │ │ ├── tear_off.dart │ │ │ │ │ │ ├── tear_off_generic.dart │ │ │ │ │ │ ├── type_argument_substitution.dart │ │ │ │ │ │ ├── type_literal.dart │ │ │ │ │ │ ├── type_literal2.dart │ │ │ │ │ │ ├── type_literal_generic.dart │ │ │ │ │ │ └── type_variable_function_type.dart │ │ │ │ │ ├── disable_rti_test.dart │ │ │ │ │ ├── emission/ │ │ │ │ │ │ ├── arguments.dart │ │ │ │ │ │ ├── call.dart │ │ │ │ │ │ ├── call_typed.dart │ │ │ │ │ │ ├── call_typed_generic.dart │ │ │ │ │ │ ├── closure_function.dart │ │ │ │ │ │ ├── closure_function_type.dart │ │ │ │ │ │ ├── closure_signature.dart │ │ │ │ │ │ ├── closure_signature_unneeded.dart │ │ │ │ │ │ ├── constructor_argument_static.dart │ │ │ │ │ │ ├── dynamic_instance.dart │ │ │ │ │ │ ├── dynamic_type_argument.dart │ │ │ │ │ │ ├── dynamic_type_literal.dart │ │ │ │ │ │ ├── event_callback.dart │ │ │ │ │ │ ├── fixed_type_argument.dart │ │ │ │ │ │ ├── fixed_type_argument_implements.dart │ │ │ │ │ │ ├── function_type_argument.dart │ │ │ │ │ │ ├── function_typed_arguments.dart │ │ │ │ │ │ ├── future_or.dart │ │ │ │ │ │ ├── future_or_as_type_argument.dart │ │ │ │ │ │ ├── future_or_future_or.dart │ │ │ │ │ │ ├── future_or_future_or_generic.dart │ │ │ │ │ │ ├── future_or_generic.dart │ │ │ │ │ │ ├── future_or_generic2.dart │ │ │ │ │ │ ├── future_or_type_argument.dart │ │ │ │ │ │ ├── generic_instanceof4.dart │ │ │ │ │ │ ├── generic_methods_dynamic_02.dart │ │ │ │ │ │ ├── indirect_through_static.dart │ │ │ │ │ │ ├── inherited_is.dart │ │ │ │ │ │ ├── inherited_is2.dart │ │ │ │ │ │ ├── instantiated_type_literal.dart │ │ │ │ │ │ ├── jsinterop.dart │ │ │ │ │ │ ├── jsinterop_generic.dart │ │ │ │ │ │ ├── jsinterop_generic_factory_args.dart │ │ │ │ │ │ ├── list.dart │ │ │ │ │ │ ├── local_function_list_literal.dart │ │ │ │ │ │ ├── local_function_map_literal.dart │ │ │ │ │ │ ├── map_literal.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── mixin_mixin2.dart │ │ │ │ │ │ ├── mixin_mixin4.dart │ │ │ │ │ │ ├── mixin_subtype.dart │ │ │ │ │ │ ├── mixin_type_arguments.dart │ │ │ │ │ │ ├── native.dart │ │ │ │ │ │ ├── optimized_is_check.dart │ │ │ │ │ │ ├── pragma_directives_instance.dart │ │ │ │ │ │ ├── pragma_directives_static.dart │ │ │ │ │ │ ├── regress_18713.dart │ │ │ │ │ │ ├── replaced_type_variable.dart │ │ │ │ │ │ ├── runtime_type.dart │ │ │ │ │ │ ├── runtime_type_instantiate_to_string1.dart │ │ │ │ │ │ ├── runtime_type_instantiate_to_string2.dart │ │ │ │ │ │ ├── runtime_type_instantiate_to_string3.dart │ │ │ │ │ │ ├── self.dart │ │ │ │ │ │ ├── self_generic.dart │ │ │ │ │ │ ├── static_argument.dart │ │ │ │ │ │ ├── subtype_named_args.dart │ │ │ │ │ │ ├── superclass.dart │ │ │ │ │ │ ├── superclass_as.dart │ │ │ │ │ │ ├── superclass_complex.dart │ │ │ │ │ │ ├── superclass_fixed.dart │ │ │ │ │ │ ├── superclass_supertype.dart │ │ │ │ │ │ ├── superclass_supertype_complex.dart │ │ │ │ │ │ ├── superclass_supertype_fixed.dart │ │ │ │ │ │ ├── superclass_supertype_trivial.dart │ │ │ │ │ │ ├── superclass_trivial.dart │ │ │ │ │ │ ├── superclasses_non_trivial.dart │ │ │ │ │ │ ├── superclasses_trivial.dart │ │ │ │ │ │ ├── supertype.dart │ │ │ │ │ │ ├── supertype_complex.dart │ │ │ │ │ │ ├── supertype_fixed.dart │ │ │ │ │ │ ├── supertype_trivial.dart │ │ │ │ │ │ ├── supertypes_extends.dart │ │ │ │ │ │ ├── supertypes_extends2.dart │ │ │ │ │ │ ├── supertypes_extends3.dart │ │ │ │ │ │ ├── supertypes_implements.dart │ │ │ │ │ │ ├── supertypes_non_trivial.dart │ │ │ │ │ │ ├── supertypes_trivial.dart │ │ │ │ │ │ ├── tear_off_types.dart │ │ │ │ │ │ ├── type_argument_dynamic.dart │ │ │ │ │ │ ├── type_argument_static.dart │ │ │ │ │ │ ├── type_literal.dart │ │ │ │ │ │ └── type_variable_function_type.dart │ │ │ │ │ ├── factory_call_test.dart │ │ │ │ │ ├── instance_call_test.dart │ │ │ │ │ ├── is_test_with_type_parameters_test.dart │ │ │ │ │ ├── rti_emission0_test.dart │ │ │ │ │ ├── rti_emission1_test.dart │ │ │ │ │ ├── rti_emission2_test.dart │ │ │ │ │ ├── rti_emission3_test.dart │ │ │ │ │ ├── rti_emission_test_helper.dart │ │ │ │ │ ├── rti_need0_test.dart │ │ │ │ │ ├── rti_need1_test.dart │ │ │ │ │ ├── rti_need2_test.dart │ │ │ │ │ ├── rti_need3_test.dart │ │ │ │ │ ├── rti_need_test_helper.dart │ │ │ │ │ ├── runtime_type_hint_test.dart │ │ │ │ │ └── show.dart │ │ │ │ ├── serialization/ │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── const_literals.dart │ │ │ │ │ │ ├── constructor_name.dart │ │ │ │ │ │ ├── continue.dart │ │ │ │ │ │ ├── custom_types.dart │ │ │ │ │ │ ├── deferred.dart │ │ │ │ │ │ ├── jsinterop.dart │ │ │ │ │ │ ├── labels.dart │ │ │ │ │ │ ├── maps.dart │ │ │ │ │ │ ├── switch.dart │ │ │ │ │ │ ├── typedef.dart │ │ │ │ │ │ └── unordered_indices.dart │ │ │ │ │ ├── in_memory_split_test.dart │ │ │ │ │ ├── libs/ │ │ │ │ │ │ ├── deferred_lib1.dart │ │ │ │ │ │ ├── deferred_lib2.dart │ │ │ │ │ │ └── deferred_lib3.dart │ │ │ │ │ ├── on_disk_split_test.dart │ │ │ │ │ ├── serialization_test.dart │ │ │ │ │ └── serialization_test_helper.dart │ │ │ │ ├── sourcemaps/ │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── async.dart │ │ │ │ │ │ ├── invokes.dart │ │ │ │ │ │ ├── operators.dart │ │ │ │ │ │ ├── others.dart │ │ │ │ │ │ └── super.dart │ │ │ │ │ ├── helpers/ │ │ │ │ │ │ ├── colors.dart │ │ │ │ │ │ ├── diff.dart │ │ │ │ │ │ ├── html_parts.dart │ │ │ │ │ │ ├── js_tracer.dart │ │ │ │ │ │ ├── lax_json.dart │ │ │ │ │ │ ├── output_structure.dart │ │ │ │ │ │ ├── sourcemap_helper.dart │ │ │ │ │ │ ├── sourcemap_html_helper.dart │ │ │ │ │ │ ├── sourcemap_html_templates.dart │ │ │ │ │ │ └── trace_graph.dart │ │ │ │ │ ├── lax_json_test.dart │ │ │ │ │ ├── load_save_test.dart │ │ │ │ │ ├── location_collector_test.dart │ │ │ │ │ ├── mapping_test.dart │ │ │ │ │ ├── minified/ │ │ │ │ │ │ ├── cannot_read_property.dart │ │ │ │ │ │ ├── cannot_read_property2.dart │ │ │ │ │ │ ├── instance.dart │ │ │ │ │ │ ├── is_not_a_function.dart │ │ │ │ │ │ ├── no_such_method.dart │ │ │ │ │ │ ├── no_such_method2.dart │ │ │ │ │ │ ├── no_such_method3.dart │ │ │ │ │ │ └── no_such_method4.dart │ │ │ │ │ ├── minified_names_test.dart │ │ │ │ │ ├── name_test.dart │ │ │ │ │ ├── nomapping_test.dart │ │ │ │ │ ├── source_map_test.dart │ │ │ │ │ ├── source_mapping_invokes_test.dart │ │ │ │ │ ├── source_mapping_operators_test.dart │ │ │ │ │ ├── source_mapping_test.dart │ │ │ │ │ ├── stacktrace/ │ │ │ │ │ │ ├── deep_inlining.dart │ │ │ │ │ │ ├── extension_method.dart │ │ │ │ │ │ ├── getter_inlining.dart │ │ │ │ │ │ ├── getter_inlining_1.dart │ │ │ │ │ │ ├── getter_inlining_2.dart │ │ │ │ │ │ ├── getter_inlining_3.dart │ │ │ │ │ │ ├── getter_inlining_baseline_1.dart │ │ │ │ │ │ ├── getter_inlining_baseline_2.dart │ │ │ │ │ │ ├── null_instance_field.dart │ │ │ │ │ │ ├── null_instance_field_elided.dart │ │ │ │ │ │ ├── null_interceptor_field.dart │ │ │ │ │ │ ├── null_receiver_inlining.dart │ │ │ │ │ │ ├── parameters.dart │ │ │ │ │ │ ├── parameters_elided.dart │ │ │ │ │ │ ├── rethrow.dart │ │ │ │ │ │ ├── setter_inlining.dart │ │ │ │ │ │ ├── sync_throw_in_async.dart │ │ │ │ │ │ ├── sync_throw_in_awaited_async.dart │ │ │ │ │ │ ├── sync_throw_in_constructor_from_async.dart │ │ │ │ │ │ ├── sync_throw_in_top_level_method_from_async.dart │ │ │ │ │ │ ├── throw_in_async.dart │ │ │ │ │ │ ├── throw_in_awaited_async.dart │ │ │ │ │ │ ├── throw_in_constructor.dart │ │ │ │ │ │ ├── throw_in_constructor_from_async.dart │ │ │ │ │ │ ├── throw_in_instance_method.dart │ │ │ │ │ │ ├── throw_in_lazy_field.dart │ │ │ │ │ │ ├── throw_in_lazy_field_indirect.dart │ │ │ │ │ │ ├── throw_in_lazy_final_field.dart │ │ │ │ │ │ ├── throw_in_lazy_final_field_indirect.dart │ │ │ │ │ │ ├── throw_in_main.dart │ │ │ │ │ │ ├── throw_in_static_method.dart │ │ │ │ │ │ ├── throw_in_top_level_method.dart │ │ │ │ │ │ ├── throw_in_top_level_method_from_async.dart │ │ │ │ │ │ ├── throw_in_try_catch.dart │ │ │ │ │ │ └── throw_in_try_finally.dart │ │ │ │ │ ├── stacktrace_test.dart │ │ │ │ │ ├── stepping/ │ │ │ │ │ │ ├── print.dart │ │ │ │ │ │ ├── print_class_fields.dart │ │ │ │ │ │ ├── print_top_level_invoke.dart │ │ │ │ │ │ └── top_level_invoke.dart │ │ │ │ │ ├── stepping_test.dart │ │ │ │ │ ├── test_files/ │ │ │ │ │ │ ├── deferred_validator_test_file.dart │ │ │ │ │ │ ├── deferred_validator_test_lib.dart │ │ │ │ │ │ └── validator_test_file.dart │ │ │ │ │ └── tools/ │ │ │ │ │ ├── diff_view.dart │ │ │ │ │ ├── load.dart │ │ │ │ │ ├── save.dart │ │ │ │ │ ├── source_mapping_test_viewer.dart │ │ │ │ │ ├── source_mapping_tester.dart │ │ │ │ │ ├── sourcemap_visualizer.dart │ │ │ │ │ └── translate_dart2js_stacktrace.dart │ │ │ │ ├── static_type/ │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── as.dart │ │ │ │ │ │ ├── assert.dart │ │ │ │ │ │ ├── assert_ea.dart │ │ │ │ │ │ ├── cascade.dart │ │ │ │ │ │ ├── closure.dart │ │ │ │ │ │ ├── do.dart │ │ │ │ │ │ ├── effectively_final.dart │ │ │ │ │ │ ├── effectively_final_access.dart │ │ │ │ │ │ ├── for.dart │ │ │ │ │ │ ├── for_in.dart │ │ │ │ │ │ ├── generic_method.dart │ │ │ │ │ │ ├── if.dart │ │ │ │ │ │ ├── if_method_call.dart │ │ │ │ │ │ ├── issue42281.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── null.dart │ │ │ │ │ │ ├── null_access.dart │ │ │ │ │ │ ├── switch.dart │ │ │ │ │ │ ├── try_catch.dart │ │ │ │ │ │ ├── try_finally.dart │ │ │ │ │ │ └── while.dart │ │ │ │ │ ├── show.dart │ │ │ │ │ ├── static_type_test.dart │ │ │ │ │ ├── type_promotion_data/ │ │ │ │ │ │ ├── bottom.dart │ │ │ │ │ │ ├── closure.dart │ │ │ │ │ │ ├── equals.dart │ │ │ │ │ │ ├── if.dart │ │ │ │ │ │ ├── if_method_call.dart │ │ │ │ │ │ ├── issue42281.dart │ │ │ │ │ │ ├── marker.options │ │ │ │ │ │ ├── null.dart │ │ │ │ │ │ └── sequence.dart │ │ │ │ │ └── type_promotion_test.dart │ │ │ │ ├── testing.json │ │ │ │ └── tool/ │ │ │ │ └── graph_isomorphizer/ │ │ │ │ ├── golden/ │ │ │ │ │ ├── less_simple/ │ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ │ ├── lib2.dart │ │ │ │ │ │ ├── lib3.dart │ │ │ │ │ │ ├── lib4.dart │ │ │ │ │ │ ├── libImport.dart │ │ │ │ │ │ ├── lib_000_1.dart │ │ │ │ │ │ ├── lib_001_0.dart │ │ │ │ │ │ ├── lib_010_0.dart │ │ │ │ │ │ ├── lib_100_0.dart │ │ │ │ │ │ └── main.dart │ │ │ │ │ └── simple/ │ │ │ │ │ ├── lib1.dart │ │ │ │ │ ├── lib2.dart │ │ │ │ │ ├── lib3.dart │ │ │ │ │ ├── libImport.dart │ │ │ │ │ ├── lib_001.dart │ │ │ │ │ ├── lib_010.dart │ │ │ │ │ ├── lib_100.dart │ │ │ │ │ └── main.dart │ │ │ │ └── graph_isomorphizer_test.dart │ │ │ ├── testing.json │ │ │ └── tool/ │ │ │ ├── dart2js_profile_many.dart │ │ │ ├── dart2js_stress.dart │ │ │ ├── graph_isomorphizer.dart │ │ │ ├── kernel_visitor/ │ │ │ │ ├── dart_html_metrics_visitor.dart │ │ │ │ └── test/ │ │ │ │ ├── info_visitor_test.dart │ │ │ │ └── test_classes.dart │ │ │ ├── modular_dart2js.dart │ │ │ ├── modular_test_suite.dart │ │ │ ├── modular_test_suite_helper.dart │ │ │ ├── modular_test_suite_legacy.dart │ │ │ ├── null_safety/ │ │ │ │ ├── candidates.dart │ │ │ │ └── tally.dart │ │ │ ├── szcmp │ │ │ ├── track_memory.dart │ │ │ ├── update_id_tests.dart │ │ │ └── used_names/ │ │ │ ├── README.md │ │ │ ├── used_names.html │ │ │ └── used_names.js │ │ ├── dart2js_info/ │ │ │ ├── .gitignore │ │ │ ├── AUTHORS │ │ │ ├── CHANGELOG.md │ │ │ ├── DEVELOPER.md │ │ │ ├── LICENSE │ │ │ ├── OWNERS │ │ │ ├── README.md │ │ │ ├── analysis_options.yaml │ │ │ ├── bin/ │ │ │ │ ├── src/ │ │ │ │ │ ├── code_deps.dart │ │ │ │ │ ├── common_command.dart │ │ │ │ │ ├── convert.dart │ │ │ │ │ ├── coverage_log_server.dart │ │ │ │ │ ├── debug_info.dart │ │ │ │ │ ├── deferred_library_check.dart │ │ │ │ │ ├── deferred_library_layout.dart │ │ │ │ │ ├── deferred_library_size.dart │ │ │ │ │ ├── diff.dart │ │ │ │ │ ├── function_size_analysis.dart │ │ │ │ │ ├── inject_text.dart │ │ │ │ │ ├── library_size_split.dart │ │ │ │ │ ├── live_code_size_analysis.dart │ │ │ │ │ ├── runtime_coverage_analysis.dart │ │ │ │ │ ├── show_inferred_types.dart │ │ │ │ │ ├── text_print.dart │ │ │ │ │ ├── to_binary.dart │ │ │ │ │ ├── to_devtools_format.dart │ │ │ │ │ ├── to_json.dart │ │ │ │ │ ├── to_proto.dart │ │ │ │ │ └── usage_exception.dart │ │ │ │ └── tools.dart │ │ │ ├── info.proto │ │ │ ├── lib/ │ │ │ │ ├── binary_serialization.dart │ │ │ │ ├── deferred_library_check.dart │ │ │ │ ├── info.dart │ │ │ │ ├── json_info_codec.dart │ │ │ │ ├── proto_info_codec.dart │ │ │ │ └── src/ │ │ │ │ ├── binary/ │ │ │ │ │ ├── sink.dart │ │ │ │ │ └── source.dart │ │ │ │ ├── common_element.dart │ │ │ │ ├── diff.dart │ │ │ │ ├── graph.dart │ │ │ │ ├── io.dart │ │ │ │ ├── proto/ │ │ │ │ │ ├── info.pb.dart │ │ │ │ │ ├── info.pbenum.dart │ │ │ │ │ ├── info.pbjson.dart │ │ │ │ │ └── info.pbserver.dart │ │ │ │ ├── runtime_coverage_utils.dart │ │ │ │ ├── string_edit_buffer.dart │ │ │ │ ├── table.dart │ │ │ │ └── util.dart │ │ │ ├── pubspec.yaml │ │ │ ├── test/ │ │ │ │ ├── analysis_options.yaml │ │ │ │ ├── binary_serialization_test.dart │ │ │ │ ├── classes/ │ │ │ │ │ ├── class_filter.txt │ │ │ │ │ ├── classes.dart │ │ │ │ │ └── classes.js.info.data │ │ │ │ ├── graph_test.dart │ │ │ │ ├── hello_world/ │ │ │ │ │ ├── hello_world.dart │ │ │ │ │ └── hello_world.js.info.json │ │ │ │ ├── hello_world_deferred/ │ │ │ │ │ ├── deferred_import.dart │ │ │ │ │ ├── hello_world_deferred.dart │ │ │ │ │ └── hello_world_deferred.js.info.json │ │ │ │ ├── json_to_proto_deferred_test.dart │ │ │ │ ├── json_to_proto_test.dart │ │ │ │ ├── parse_test.dart │ │ │ │ ├── runtime_coverage_test.dart │ │ │ │ └── test_shared.dart │ │ │ └── tool/ │ │ │ └── update_proto.sh │ │ ├── dev_compiler/ │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── OWNERS │ │ │ ├── README.md │ │ │ ├── STRONG_MODE.md │ │ │ ├── analysis_options.yaml │ │ │ ├── bin/ │ │ │ │ └── dartdevc.dart │ │ │ ├── codereview.settings │ │ │ ├── lib/ │ │ │ │ ├── ddc.dart │ │ │ │ ├── dev_compiler.dart │ │ │ │ ├── js/ │ │ │ │ │ ├── common/ │ │ │ │ │ │ └── run.js │ │ │ │ │ └── legacy/ │ │ │ │ │ └── dart_library.js │ │ │ │ └── src/ │ │ │ │ ├── compiler/ │ │ │ │ │ ├── js_metalet.dart │ │ │ │ │ ├── js_names.dart │ │ │ │ │ ├── js_typerep.dart │ │ │ │ │ ├── js_utils.dart │ │ │ │ │ ├── module_builder.dart │ │ │ │ │ ├── module_containers.dart │ │ │ │ │ ├── shared_command.dart │ │ │ │ │ └── shared_compiler.dart │ │ │ │ ├── js_ast/ │ │ │ │ │ ├── builder.dart │ │ │ │ │ ├── characters.dart │ │ │ │ │ ├── js_ast.dart │ │ │ │ │ ├── nodes.dart │ │ │ │ │ ├── precedence.dart │ │ │ │ │ ├── printer.dart │ │ │ │ │ ├── source_map_printer.dart │ │ │ │ │ └── template.dart │ │ │ │ └── kernel/ │ │ │ │ ├── asset_file_system.dart │ │ │ │ ├── command.dart │ │ │ │ ├── compiler.dart │ │ │ │ ├── constants.dart │ │ │ │ ├── expression_compiler.dart │ │ │ │ ├── expression_compiler_worker.dart │ │ │ │ ├── future_or_normalizer.dart │ │ │ │ ├── js_interop.dart │ │ │ │ ├── js_typerep.dart │ │ │ │ ├── kernel_helpers.dart │ │ │ │ ├── module_metadata.dart │ │ │ │ ├── module_symbols.dart │ │ │ │ ├── module_symbols_collector.dart │ │ │ │ ├── native_types.dart │ │ │ │ ├── nullable_inference.dart │ │ │ │ ├── property_model.dart │ │ │ │ ├── retry_timeout_client.dart │ │ │ │ ├── target.dart │ │ │ │ ├── type_environment.dart │ │ │ │ ├── type_recipe_generator.dart │ │ │ │ └── type_table.dart │ │ │ ├── pubspec.yaml │ │ │ ├── test/ │ │ │ │ ├── expression_compiler/ │ │ │ │ │ ├── assertions_enabled_test.dart │ │ │ │ │ ├── asset_file_system_test.dart │ │ │ │ │ ├── expression_compiler_e2e_amd_agnostic_sound_shard_1_test.dart │ │ │ │ │ ├── expression_compiler_e2e_amd_agnostic_sound_shard_2_test.dart │ │ │ │ │ ├── expression_compiler_e2e_amd_agnostic_unsound_shard_1_test.dart │ │ │ │ │ ├── expression_compiler_e2e_amd_agnostic_unsound_shard_2_test.dart │ │ │ │ │ ├── expression_compiler_e2e_amd_legacy_shard_1_test.dart │ │ │ │ │ ├── expression_compiler_e2e_amd_legacy_shard_2_test.dart │ │ │ │ │ ├── expression_compiler_e2e_amd_sound_test.dart │ │ │ │ │ ├── expression_compiler_e2e_amd_unsound_test.dart │ │ │ │ │ ├── expression_compiler_e2e_dart_2_17_test.dart │ │ │ │ │ ├── expression_compiler_e2e_dart_3_0_test.dart │ │ │ │ │ ├── expression_compiler_e2e_ddc_agnostic_sound_shard_1_test.dart │ │ │ │ │ ├── expression_compiler_e2e_ddc_agnostic_sound_shard_2_test.dart │ │ │ │ │ ├── expression_compiler_e2e_ddc_agnostic_unsound_shard_1_test.dart │ │ │ │ │ ├── expression_compiler_e2e_ddc_agnostic_unsound_shard_2_test.dart │ │ │ │ │ ├── expression_compiler_e2e_ddc_legacy_shard_1_test.dart │ │ │ │ │ ├── expression_compiler_e2e_ddc_legacy_shard_2_test.dart │ │ │ │ │ ├── expression_compiler_e2e_ddc_sound_test.dart │ │ │ │ │ ├── expression_compiler_e2e_ddc_unsound_test.dart │ │ │ │ │ ├── expression_compiler_e2e_shared.dart │ │ │ │ │ ├── expression_compiler_e2e_suite.dart │ │ │ │ │ ├── expression_compiler_test.dart │ │ │ │ │ ├── expression_compiler_worker_amd_test.dart │ │ │ │ │ ├── expression_compiler_worker_ddc_test.dart │ │ │ │ │ ├── expression_compiler_worker_shared.dart │ │ │ │ │ └── scope_offset_test.dart │ │ │ │ ├── js/ │ │ │ │ │ └── builder_test.dart │ │ │ │ ├── modular_helpers.dart │ │ │ │ ├── modular_suite.dart │ │ │ │ ├── modular_suite_canary_unsound.dart │ │ │ │ ├── modular_suite_unsound.dart │ │ │ │ ├── module_metadata_test.dart │ │ │ │ ├── module_symbols/ │ │ │ │ │ ├── class_symbols_test.dart │ │ │ │ │ ├── function_symbols_test.dart │ │ │ │ │ ├── module_symbols_json_test.dart │ │ │ │ │ ├── module_symbols_test_shared.dart │ │ │ │ │ └── variable_symbols_test.dart │ │ │ │ ├── nullable_inference_test.dart │ │ │ │ ├── sdk_source_map_test.dart │ │ │ │ ├── shared_test_options.dart │ │ │ │ ├── sourcemap/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── common.dart │ │ │ │ │ ├── ddc_common.dart │ │ │ │ │ ├── sourcemaps.status │ │ │ │ │ ├── sourcemaps_suite.dart │ │ │ │ │ ├── stacktrace.status │ │ │ │ │ ├── stacktrace_suite.dart │ │ │ │ │ ├── stacktrace_testfiles/ │ │ │ │ │ │ ├── null_instance_field.dart │ │ │ │ │ │ ├── null_interceptor_field.dart │ │ │ │ │ │ ├── rethrow.dart │ │ │ │ │ │ ├── throw_in_async.dart │ │ │ │ │ │ ├── throw_in_awaited_async.dart │ │ │ │ │ │ ├── throw_in_constructor.dart │ │ │ │ │ │ ├── throw_in_constructor_from_async.dart │ │ │ │ │ │ ├── throw_in_instance_method.dart │ │ │ │ │ │ ├── throw_in_main.dart │ │ │ │ │ │ ├── throw_in_static_method.dart │ │ │ │ │ │ ├── throw_in_top_level_method.dart │ │ │ │ │ │ ├── throw_in_top_level_method_from_async.dart │ │ │ │ │ │ ├── throw_in_try_catch.dart │ │ │ │ │ │ └── throw_in_try_finally.dart │ │ │ │ │ ├── testfiles/ │ │ │ │ │ │ ├── breakpoint_on_class_all_in_one_line.unformatteddart │ │ │ │ │ │ ├── breakpoint_on_function_line_breaks_in_body.dart │ │ │ │ │ │ ├── call_on_field_in_class.dart │ │ │ │ │ │ ├── hello_async.dart │ │ │ │ │ │ ├── hello_call.dart │ │ │ │ │ │ ├── hello_class_call.dart │ │ │ │ │ │ ├── hello_sane_column_on_print_return_value.dart │ │ │ │ │ │ ├── hello_world.dart │ │ │ │ │ │ ├── method_call_with_named_parameters.dart │ │ │ │ │ │ ├── method_call_with_named_parameters_no_given.dart │ │ │ │ │ │ ├── multiple_debugger_calls.dart │ │ │ │ │ │ ├── next_through_assert.dart │ │ │ │ │ │ ├── next_through_assign_call_test.dart │ │ │ │ │ │ ├── next_through_assign_int_test.dart │ │ │ │ │ │ ├── next_through_catch_test.dart │ │ │ │ │ │ ├── next_through_for_each_loop_test.dart │ │ │ │ │ │ ├── next_through_for_loop_with_break_and_continue_test.dart │ │ │ │ │ │ ├── next_through_is_and_as_test.dart │ │ │ │ │ │ ├── next_through_map_creation.dart │ │ │ │ │ │ ├── next_through_multi_catch_test.dart │ │ │ │ │ │ ├── next_through_operator_bracket_on_super_test.dart │ │ │ │ │ │ ├── next_through_operator_bracket_on_this_test.dart │ │ │ │ │ │ ├── next_through_operator_bracket_test.dart │ │ │ │ │ │ ├── next_through_static_set.dart │ │ │ │ │ │ ├── next_through_string_concatenation.dart │ │ │ │ │ │ ├── next_through_string_plus.dart │ │ │ │ │ │ ├── next_through_throw.dart │ │ │ │ │ │ ├── next_through_variable_set.dart │ │ │ │ │ │ ├── next_through_yield.dart │ │ │ │ │ │ ├── no_mapping_on_class_constructor_line.dart │ │ │ │ │ │ ├── no_mapping_on_class_function_line.dart │ │ │ │ │ │ ├── no_mapping_on_class_line.dart │ │ │ │ │ │ ├── no_mapping_on_class_named_constructor_line.dart │ │ │ │ │ │ ├── no_mapping_on_function_line.dart │ │ │ │ │ │ ├── printing_class_fields.dart │ │ │ │ │ │ ├── printing_class_fields_step_into.dart │ │ │ │ │ │ ├── step_through_async_star_yield.dart │ │ │ │ │ │ ├── step_through_await_for.dart │ │ │ │ │ │ ├── step_through_conditional_expression.dart │ │ │ │ │ │ ├── step_through_if_and_identical.dart │ │ │ │ │ │ ├── step_through_property_get_test.dart │ │ │ │ │ │ ├── step_through_sync_star.dart │ │ │ │ │ │ └── stops_at_ending_brace.dart │ │ │ │ │ └── testing.json │ │ │ │ ├── string_to_uri_test.dart │ │ │ │ └── worker/ │ │ │ │ └── worker_test.dart │ │ │ ├── tool/ │ │ │ │ ├── compile_dartdevc_sdk.dart │ │ │ │ └── ddb │ │ │ └── web/ │ │ │ ├── source_map_stack_trace.dart │ │ │ └── stack_trace_mapper.dart │ │ ├── front_end/ │ │ │ ├── LICENSE │ │ │ ├── OWNERS │ │ │ ├── PRESUBMIT.py │ │ │ ├── README.md │ │ │ ├── analysis_options.yaml │ │ │ ├── analysis_options_no_lints.yaml │ │ │ ├── benchmarks/ │ │ │ │ ├── ikg/ │ │ │ │ │ ├── dart2js.dart │ │ │ │ │ ├── dart2js.edits.json │ │ │ │ │ ├── hello.dart │ │ │ │ │ └── hello.edits.json │ │ │ │ └── patterns/ │ │ │ │ ├── generate_datatypes.dart │ │ │ │ ├── generated/ │ │ │ │ │ ├── datatype.dart │ │ │ │ │ ├── datatype1.dart │ │ │ │ │ ├── datatype12.dart │ │ │ │ │ ├── datatype128.dart │ │ │ │ │ ├── datatype16.dart │ │ │ │ │ ├── datatype192.dart │ │ │ │ │ ├── datatype2.dart │ │ │ │ │ ├── datatype24.dart │ │ │ │ │ ├── datatype256.dart │ │ │ │ │ ├── datatype3.dart │ │ │ │ │ ├── datatype32.dart │ │ │ │ │ ├── datatype4.dart │ │ │ │ │ ├── datatype48.dart │ │ │ │ │ ├── datatype5.dart │ │ │ │ │ ├── datatype6.dart │ │ │ │ │ ├── datatype64.dart │ │ │ │ │ ├── datatype7.dart │ │ │ │ │ ├── datatype8.dart │ │ │ │ │ └── datatype96.dart │ │ │ │ ├── test_datatypes.dart │ │ │ │ ├── test_lists.dart │ │ │ │ ├── test_lists_from_vs_of.dart │ │ │ │ ├── test_map_a_list.dart │ │ │ │ ├── test_sets_from_list_mapping.dart │ │ │ │ └── util.dart │ │ │ ├── error_recovery.yaml │ │ │ ├── lib/ │ │ │ │ ├── src/ │ │ │ │ │ ├── api_prototype/ │ │ │ │ │ │ ├── compiler_options.dart │ │ │ │ │ │ ├── const_conditional_simplifier.dart │ │ │ │ │ │ ├── constant_evaluator.dart │ │ │ │ │ │ ├── experimental_flags.dart │ │ │ │ │ │ ├── experimental_flags_generated.dart │ │ │ │ │ │ ├── expression_compilation_tools.dart │ │ │ │ │ │ ├── file_system.dart │ │ │ │ │ │ ├── front_end.dart │ │ │ │ │ │ ├── incremental_kernel_generator.dart │ │ │ │ │ │ ├── kernel_generator.dart │ │ │ │ │ │ ├── language_version.dart │ │ │ │ │ │ ├── lowering_predicates.dart │ │ │ │ │ │ ├── memory_file_system.dart │ │ │ │ │ │ ├── standard_file_system.dart │ │ │ │ │ │ ├── static_weak_references.dart │ │ │ │ │ │ ├── summary_generator.dart │ │ │ │ │ │ ├── terminal_color_support.dart │ │ │ │ │ │ └── try_constant_evaluator.dart │ │ │ │ │ ├── api_unstable/ │ │ │ │ │ │ ├── bazel_worker.dart │ │ │ │ │ │ ├── build_integration.dart │ │ │ │ │ │ ├── compiler_state.dart │ │ │ │ │ │ ├── dart2js.dart │ │ │ │ │ │ ├── ddc.dart │ │ │ │ │ │ ├── modular_incremental_compilation.dart │ │ │ │ │ │ ├── util.dart │ │ │ │ │ │ └── vm.dart │ │ │ │ │ ├── base/ │ │ │ │ │ │ ├── command_line_options.dart │ │ │ │ │ │ ├── common.dart │ │ │ │ │ │ ├── instrumentation.dart │ │ │ │ │ │ ├── library_info.dart │ │ │ │ │ │ ├── nnbd_mode.dart │ │ │ │ │ │ └── processed_options.dart │ │ │ │ │ ├── compute_platform_binaries_location.dart │ │ │ │ │ ├── fasta/ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── TESTING.md │ │ │ │ │ │ ├── builder/ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── builder.dart │ │ │ │ │ │ │ ├── builder_mixins.dart │ │ │ │ │ │ │ ├── builtin_type_declaration_builder.dart │ │ │ │ │ │ │ ├── class_builder.dart │ │ │ │ │ │ │ ├── constructor_builder.dart │ │ │ │ │ │ │ ├── constructor_reference_builder.dart │ │ │ │ │ │ │ ├── declaration_builder.dart │ │ │ │ │ │ │ ├── dynamic_type_declaration_builder.dart │ │ │ │ │ │ │ ├── extension_builder.dart │ │ │ │ │ │ │ ├── field_builder.dart │ │ │ │ │ │ │ ├── fixed_type_builder.dart │ │ │ │ │ │ │ ├── formal_parameter_builder.dart │ │ │ │ │ │ │ ├── function_builder.dart │ │ │ │ │ │ │ ├── function_type_builder.dart │ │ │ │ │ │ │ ├── future_or_type_declaration_builder.dart │ │ │ │ │ │ │ ├── inline_class_builder.dart │ │ │ │ │ │ │ ├── invalid_type_builder.dart │ │ │ │ │ │ │ ├── invalid_type_declaration_builder.dart │ │ │ │ │ │ │ ├── library_builder.dart │ │ │ │ │ │ │ ├── member_builder.dart │ │ │ │ │ │ │ ├── metadata_builder.dart │ │ │ │ │ │ │ ├── mixin_application_builder.dart │ │ │ │ │ │ │ ├── modifier_builder.dart │ │ │ │ │ │ │ ├── name_iterator.dart │ │ │ │ │ │ │ ├── named_type_builder.dart │ │ │ │ │ │ │ ├── never_type_declaration_builder.dart │ │ │ │ │ │ │ ├── null_type_declaration_builder.dart │ │ │ │ │ │ │ ├── nullability_builder.dart │ │ │ │ │ │ │ ├── omitted_type_builder.dart │ │ │ │ │ │ │ ├── prefix_builder.dart │ │ │ │ │ │ │ ├── procedure_builder.dart │ │ │ │ │ │ │ ├── record_type_builder.dart │ │ │ │ │ │ │ ├── type_alias_builder.dart │ │ │ │ │ │ │ ├── type_builder.dart │ │ │ │ │ │ │ ├── type_declaration_builder.dart │ │ │ │ │ │ │ ├── type_variable_builder.dart │ │ │ │ │ │ │ ├── variable_builder.dart │ │ │ │ │ │ │ └── void_type_declaration_builder.dart │ │ │ │ │ │ ├── builder_graph.dart │ │ │ │ │ │ ├── combinator.dart │ │ │ │ │ │ ├── command_line_reporting.dart │ │ │ │ │ │ ├── compiler_context.dart │ │ │ │ │ │ ├── configuration.dart │ │ │ │ │ │ ├── constant_context.dart │ │ │ │ │ │ ├── crash.dart │ │ │ │ │ │ ├── denylisted_classes.dart │ │ │ │ │ │ ├── diagnostics.md │ │ │ │ │ │ ├── dill/ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── dill_class_builder.dart │ │ │ │ │ │ │ ├── dill_extension_builder.dart │ │ │ │ │ │ │ ├── dill_extension_member_builder.dart │ │ │ │ │ │ │ ├── dill_library_builder.dart │ │ │ │ │ │ │ ├── dill_loader.dart │ │ │ │ │ │ │ ├── dill_member_builder.dart │ │ │ │ │ │ │ ├── dill_target.dart │ │ │ │ │ │ │ └── dill_type_alias_builder.dart │ │ │ │ │ │ ├── export.dart │ │ │ │ │ │ ├── fasta_codes.dart │ │ │ │ │ │ ├── fasta_codes_cfe_generated.dart │ │ │ │ │ │ ├── get_dependencies.dart │ │ │ │ │ │ ├── hybrid_file_system.dart │ │ │ │ │ │ ├── identifiers.dart │ │ │ │ │ │ ├── ignored_parser_errors.dart │ │ │ │ │ │ ├── import.dart │ │ │ │ │ │ ├── import_chains.dart │ │ │ │ │ │ ├── incremental_compiler.dart │ │ │ │ │ │ ├── incremental_serializer.dart │ │ │ │ │ │ ├── kernel/ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── augmentation_lowering.dart │ │ │ │ │ │ │ ├── benchmarker.dart │ │ │ │ │ │ │ ├── body_builder.dart │ │ │ │ │ │ │ ├── collections.dart │ │ │ │ │ │ │ ├── combined_member_signature.dart │ │ │ │ │ │ │ ├── const_conditional_simplifier.dart │ │ │ │ │ │ │ ├── constant_collection_builders.dart │ │ │ │ │ │ │ ├── constant_evaluator.dart │ │ │ │ │ │ │ ├── constant_int_folder.dart │ │ │ │ │ │ │ ├── constness.dart │ │ │ │ │ │ │ ├── constructor_tearoff_lowering.dart │ │ │ │ │ │ │ ├── exhaustiveness.dart │ │ │ │ │ │ │ ├── expression_generator.dart │ │ │ │ │ │ │ ├── expression_generator_helper.dart │ │ │ │ │ │ │ ├── forest.dart │ │ │ │ │ │ │ ├── forwarding_node.dart │ │ │ │ │ │ │ ├── hierarchy/ │ │ │ │ │ │ │ │ ├── class_member.dart │ │ │ │ │ │ │ │ ├── delayed.dart │ │ │ │ │ │ │ │ ├── hierarchy_builder.dart │ │ │ │ │ │ │ │ ├── hierarchy_node.dart │ │ │ │ │ │ │ │ ├── members_builder.dart │ │ │ │ │ │ │ │ ├── members_node.dart │ │ │ │ │ │ │ │ └── mixin_inferrer.dart │ │ │ │ │ │ │ ├── implicit_field_type.dart │ │ │ │ │ │ │ ├── implicit_type_argument.dart │ │ │ │ │ │ │ ├── internal_ast.dart │ │ │ │ │ │ │ ├── invalid_type.dart │ │ │ │ │ │ │ ├── kernel_constants.dart │ │ │ │ │ │ │ ├── kernel_helper.dart │ │ │ │ │ │ │ ├── kernel_target.dart │ │ │ │ │ │ │ ├── kernel_variable_builder.dart │ │ │ │ │ │ │ ├── late_lowering.dart │ │ │ │ │ │ │ ├── load_library_builder.dart │ │ │ │ │ │ │ ├── macro/ │ │ │ │ │ │ │ │ ├── annotation_parser.dart │ │ │ │ │ │ │ │ ├── identifiers.dart │ │ │ │ │ │ │ │ └── macro.dart │ │ │ │ │ │ │ ├── member_covariance.dart │ │ │ │ │ │ │ ├── redirecting_factory_body.dart │ │ │ │ │ │ │ ├── static_weak_references.dart │ │ │ │ │ │ │ ├── try_constant_evaluator.dart │ │ │ │ │ │ │ ├── type_algorithms.dart │ │ │ │ │ │ │ ├── type_builder_computer.dart │ │ │ │ │ │ │ ├── type_labeler.dart │ │ │ │ │ │ │ ├── utils.dart │ │ │ │ │ │ │ └── verifier.dart │ │ │ │ │ │ ├── library_graph.dart │ │ │ │ │ │ ├── loader.dart │ │ │ │ │ │ ├── messages.dart │ │ │ │ │ │ ├── modifier.dart │ │ │ │ │ │ ├── names.dart │ │ │ │ │ │ ├── operator.dart │ │ │ │ │ │ ├── problems.dart │ │ │ │ │ │ ├── scope.dart │ │ │ │ │ │ ├── source/ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── class_declaration.dart │ │ │ │ │ │ │ ├── constructor_declaration.dart │ │ │ │ │ │ │ ├── diet_listener.dart │ │ │ │ │ │ │ ├── diet_parser.dart │ │ │ │ │ │ │ ├── directive_listener.dart │ │ │ │ │ │ │ ├── name_scheme.dart │ │ │ │ │ │ │ ├── outline_builder.dart │ │ │ │ │ │ │ ├── source_builder_mixins.dart │ │ │ │ │ │ │ ├── source_class_builder.dart │ │ │ │ │ │ │ ├── source_constructor_builder.dart │ │ │ │ │ │ │ ├── source_enum_builder.dart │ │ │ │ │ │ │ ├── source_extension_builder.dart │ │ │ │ │ │ │ ├── source_factory_builder.dart │ │ │ │ │ │ │ ├── source_field_builder.dart │ │ │ │ │ │ │ ├── source_function_builder.dart │ │ │ │ │ │ │ ├── source_inline_class_builder.dart │ │ │ │ │ │ │ ├── source_library_builder.dart │ │ │ │ │ │ │ ├── source_loader.dart │ │ │ │ │ │ │ ├── source_member_builder.dart │ │ │ │ │ │ │ ├── source_procedure_builder.dart │ │ │ │ │ │ │ ├── source_type_alias_builder.dart │ │ │ │ │ │ │ ├── stack_listener_impl.dart │ │ │ │ │ │ │ └── value_kinds.dart │ │ │ │ │ │ ├── target_implementation.dart │ │ │ │ │ │ ├── ticker.dart │ │ │ │ │ │ ├── type_inference/ │ │ │ │ │ │ │ ├── closure_context.dart │ │ │ │ │ │ │ ├── delayed_expressions.dart │ │ │ │ │ │ │ ├── external_ast_helper.dart │ │ │ │ │ │ │ ├── factor_type.dart │ │ │ │ │ │ │ ├── for_in.dart │ │ │ │ │ │ │ ├── inference_helper.dart │ │ │ │ │ │ │ ├── inference_results.dart │ │ │ │ │ │ │ ├── inference_visitor.dart │ │ │ │ │ │ │ ├── inference_visitor_base.dart │ │ │ │ │ │ │ ├── matching_cache.dart │ │ │ │ │ │ │ ├── matching_expressions.dart │ │ │ │ │ │ │ ├── mixin_inferrer.dart │ │ │ │ │ │ │ ├── object_access_target.dart │ │ │ │ │ │ │ ├── shared_type_analyzer.dart │ │ │ │ │ │ │ ├── stack_values.dart │ │ │ │ │ │ │ ├── standard_bounds.dart │ │ │ │ │ │ │ ├── type_constraint_gatherer.dart │ │ │ │ │ │ │ ├── type_demotion.dart │ │ │ │ │ │ │ ├── type_inference_engine.dart │ │ │ │ │ │ │ ├── type_inferrer.dart │ │ │ │ │ │ │ ├── type_schema.dart │ │ │ │ │ │ │ ├── type_schema_elimination.dart │ │ │ │ │ │ │ └── type_schema_environment.dart │ │ │ │ │ │ ├── uri_offset.dart │ │ │ │ │ │ ├── uri_translator.dart │ │ │ │ │ │ ├── uris.dart │ │ │ │ │ │ └── util/ │ │ │ │ │ │ ├── abstracted_ast_nodes.dart │ │ │ │ │ │ ├── bytes_sink.dart │ │ │ │ │ │ ├── error_reporter_file_copier.dart │ │ │ │ │ │ ├── experiment_environment_getter.dart │ │ │ │ │ │ ├── helpers.dart │ │ │ │ │ │ ├── outline_extractor.dart │ │ │ │ │ │ ├── parser_ast.dart │ │ │ │ │ │ ├── parser_ast_helper.dart │ │ │ │ │ │ └── textual_outline.dart │ │ │ │ │ ├── isolate_macro_serializer.dart │ │ │ │ │ ├── kernel_generator_impl.dart │ │ │ │ │ ├── macro_serializer.dart │ │ │ │ │ ├── scheme_based_file_system.dart │ │ │ │ │ ├── temp_dir_macro_serializer.dart │ │ │ │ │ └── testing/ │ │ │ │ │ ├── analysis_helper.dart │ │ │ │ │ ├── compiler_common.dart │ │ │ │ │ ├── id_extractor.dart │ │ │ │ │ ├── id_testing_helper.dart │ │ │ │ │ └── id_testing_utils.dart │ │ │ │ └── widget_cache.dart │ │ │ ├── messages.status │ │ │ ├── messages.yaml │ │ │ ├── outline_extraction_testcases/ │ │ │ │ ├── conditional_imports_exports/ │ │ │ │ │ ├── a.dart │ │ │ │ │ ├── a2.dart │ │ │ │ │ ├── b.dart │ │ │ │ │ ├── b2.dart │ │ │ │ │ ├── c.dart │ │ │ │ │ ├── c2.dart │ │ │ │ │ ├── main.dart │ │ │ │ │ └── main.dart.outline_extracted │ │ │ │ ├── conditional_imports_exports_2/ │ │ │ │ │ ├── exists.dart │ │ │ │ │ ├── exists2.dart │ │ │ │ │ ├── main.dart │ │ │ │ │ └── main.dart.outline_extracted │ │ │ │ ├── exports_export_01/ │ │ │ │ │ ├── main.dart │ │ │ │ │ ├── main.dart.outline_extracted │ │ │ │ │ ├── test10.dart │ │ │ │ │ ├── test8.dart │ │ │ │ │ └── test9.dart │ │ │ │ ├── exports_included/ │ │ │ │ │ ├── main.dart │ │ │ │ │ ├── main.dart.outline_extracted │ │ │ │ │ ├── test6.dart │ │ │ │ │ └── test7.dart │ │ │ │ ├── extends/ │ │ │ │ │ ├── foo.dart │ │ │ │ │ ├── main.dart │ │ │ │ │ └── main.dart.outline_extracted │ │ │ │ ├── factories/ │ │ │ │ │ ├── main.dart │ │ │ │ │ ├── main.dart.outline_extracted │ │ │ │ │ └── test11.dart │ │ │ │ ├── field_dotting_in/ │ │ │ │ │ ├── b.dart │ │ │ │ │ ├── c.dart │ │ │ │ │ ├── d.dart │ │ │ │ │ ├── main.dart │ │ │ │ │ └── main.dart.outline_extracted │ │ │ │ ├── fields/ │ │ │ │ │ ├── bar.dart │ │ │ │ │ ├── foo.dart │ │ │ │ │ ├── main.dart │ │ │ │ │ └── main.dart.outline_extracted │ │ │ │ ├── import_prefix_overlap_with_field/ │ │ │ │ │ ├── main.dart │ │ │ │ │ ├── main.dart.outline_extracted │ │ │ │ │ └── test16.dart │ │ │ │ ├── import_with_prefix/ │ │ │ │ │ ├── bar.dart │ │ │ │ │ ├── foo.dart │ │ │ │ │ ├── main.dart │ │ │ │ │ └── main.dart.outline_extracted │ │ │ │ ├── import_with_prefix_02/ │ │ │ │ │ ├── a.dart │ │ │ │ │ ├── b.dart │ │ │ │ │ ├── main.dart │ │ │ │ │ └── main.dart.outline_extracted │ │ │ │ ├── initial_various/ │ │ │ │ │ ├── main.dart │ │ │ │ │ ├── main.dart.outline_extracted │ │ │ │ │ ├── test3.dart │ │ │ │ │ ├── test4.dart │ │ │ │ │ └── test5.dart │ │ │ │ ├── keeps_dart_version/ │ │ │ │ │ ├── bar.dart │ │ │ │ │ ├── main.dart │ │ │ │ │ └── main.dart.outline_extracted │ │ │ │ ├── metadata_01/ │ │ │ │ │ ├── a.dart │ │ │ │ │ ├── b.dart │ │ │ │ │ ├── main.dart │ │ │ │ │ └── main.dart.outline_extracted │ │ │ │ ├── metadata_02/ │ │ │ │ │ ├── main.dart │ │ │ │ │ ├── main.dart.outline_extracted │ │ │ │ │ ├── nottest15.dart │ │ │ │ │ └── test15.dart │ │ │ │ ├── named_import_with_export_and_named_constructor_and_class_type_parameter/ │ │ │ │ │ ├── a.dart │ │ │ │ │ ├── b.dart │ │ │ │ │ ├── c.dart │ │ │ │ │ ├── d.dart │ │ │ │ │ ├── main.dart │ │ │ │ │ └── main.dart.outline_extracted │ │ │ │ ├── named_mixin/ │ │ │ │ │ ├── bar.dart │ │ │ │ │ ├── baz.dart │ │ │ │ │ ├── main.dart │ │ │ │ │ └── main.dart.outline_extracted │ │ │ │ ├── outline_extractor.status │ │ │ │ ├── part_01/ │ │ │ │ │ ├── main.dart │ │ │ │ │ ├── main.dart.outline_extracted │ │ │ │ │ ├── test12.dart │ │ │ │ │ ├── test12_part1.dart │ │ │ │ │ ├── test12_part2.dart │ │ │ │ │ ├── test13.dart │ │ │ │ │ ├── test13andahalf.dart │ │ │ │ │ └── test14.dart │ │ │ │ ├── part_and_library_name/ │ │ │ │ │ ├── main.dart │ │ │ │ │ ├── main.dart.outline_extracted │ │ │ │ │ ├── test3.dart │ │ │ │ │ └── test3_part.dart │ │ │ │ ├── split_import_export_part/ │ │ │ │ │ ├── foo.dart │ │ │ │ │ ├── main.dart │ │ │ │ │ ├── main.dart.outline_extracted │ │ │ │ │ └── part.dart │ │ │ │ ├── type_parameter_extends/ │ │ │ │ │ ├── bar.dart │ │ │ │ │ ├── foo.dart │ │ │ │ │ ├── main.dart │ │ │ │ │ └── main.dart.outline_extracted │ │ │ │ ├── type_parameter_on_extension/ │ │ │ │ │ ├── main.dart │ │ │ │ │ └── main.dart.outline_extracted │ │ │ │ ├── unused_import/ │ │ │ │ │ ├── foo.dart │ │ │ │ │ ├── main.dart │ │ │ │ │ └── main.dart.outline_extracted │ │ │ │ ├── unused_import_02/ │ │ │ │ │ ├── bar.dart │ │ │ │ │ ├── baz.dart │ │ │ │ │ ├── foo.dart │ │ │ │ │ ├── main.dart │ │ │ │ │ └── main.dart.outline_extracted │ │ │ │ ├── use_of_imported_extension/ │ │ │ │ │ ├── foo.dart │ │ │ │ │ ├── main.dart │ │ │ │ │ └── main.dart.outline_extracted │ │ │ │ ├── use_of_imported_extension_2/ │ │ │ │ │ ├── foo.dart │ │ │ │ │ ├── main.dart │ │ │ │ │ └── main.dart.outline_extracted │ │ │ │ └── use_of_imported_extension_3/ │ │ │ │ ├── foo.dart │ │ │ │ ├── main.dart │ │ │ │ └── main.dart.outline_extracted │ │ │ ├── parser_testcases/ │ │ │ │ ├── augmentation/ │ │ │ │ │ ├── augment_super.dart │ │ │ │ │ ├── augment_super.dart.expect │ │ │ │ │ ├── augment_super.dart.intertwined.expect │ │ │ │ │ ├── augment_super.dart.parser.expect │ │ │ │ │ ├── augment_super.dart.scanner.expect │ │ │ │ │ ├── member_declarations.dart │ │ │ │ │ ├── member_declarations.dart.expect │ │ │ │ │ ├── member_declarations.dart.intertwined.expect │ │ │ │ │ ├── member_declarations.dart.parser.expect │ │ │ │ │ ├── member_declarations.dart.scanner.expect │ │ │ │ │ ├── member_errors.dart │ │ │ │ │ ├── member_errors.dart.expect │ │ │ │ │ ├── member_errors.dart.intertwined.expect │ │ │ │ │ ├── member_errors.dart.parser.expect │ │ │ │ │ ├── member_errors.dart.scanner.expect │ │ │ │ │ ├── top_level_declarations.dart │ │ │ │ │ ├── top_level_declarations.dart.expect │ │ │ │ │ ├── top_level_declarations.dart.intertwined.expect │ │ │ │ │ ├── top_level_declarations.dart.parser.expect │ │ │ │ │ ├── top_level_declarations.dart.scanner.expect │ │ │ │ │ ├── top_level_errors.dart │ │ │ │ │ ├── top_level_errors.dart.expect │ │ │ │ │ ├── top_level_errors.dart.intertwined.expect │ │ │ │ │ ├── top_level_errors.dart.parser.expect │ │ │ │ │ └── top_level_errors.dart.scanner.expect │ │ │ │ ├── class_modifiers/ │ │ │ │ │ ├── base/ │ │ │ │ │ │ ├── base_class_declaration.dart │ │ │ │ │ │ ├── base_class_declaration.dart.expect │ │ │ │ │ │ ├── base_class_declaration.dart.intertwined.expect │ │ │ │ │ │ ├── base_class_declaration.dart.parser.expect │ │ │ │ │ │ └── base_class_declaration.dart.scanner.expect │ │ │ │ │ ├── final/ │ │ │ │ │ │ ├── final_class_declaration.dart │ │ │ │ │ │ ├── final_class_declaration.dart.expect │ │ │ │ │ │ ├── final_class_declaration.dart.intertwined.expect │ │ │ │ │ │ ├── final_class_declaration.dart.parser.expect │ │ │ │ │ │ └── final_class_declaration.dart.scanner.expect │ │ │ │ │ ├── interface/ │ │ │ │ │ │ ├── interface_class_declaration.dart │ │ │ │ │ │ ├── interface_class_declaration.dart.expect │ │ │ │ │ │ ├── interface_class_declaration.dart.intertwined.expect │ │ │ │ │ │ ├── interface_class_declaration.dart.parser.expect │ │ │ │ │ │ └── interface_class_declaration.dart.scanner.expect │ │ │ │ │ └── mixin/ │ │ │ │ │ ├── mixin_class.dart │ │ │ │ │ ├── mixin_class.dart.expect │ │ │ │ │ ├── mixin_class.dart.intertwined.expect │ │ │ │ │ ├── mixin_class.dart.parser.expect │ │ │ │ │ └── mixin_class.dart.scanner.expect │ │ │ │ ├── enhanced_enums/ │ │ │ │ │ ├── entries_with_type_arguments.dart │ │ │ │ │ ├── entries_with_type_arguments.dart.expect │ │ │ │ │ ├── entries_with_type_arguments.dart.intertwined.expect │ │ │ │ │ ├── entries_with_type_arguments.dart.parser.expect │ │ │ │ │ └── entries_with_type_arguments.dart.scanner.expect │ │ │ │ ├── error_recovery/ │ │ │ │ │ ├── await_not_in_async.dart │ │ │ │ │ ├── await_not_in_async.dart.expect │ │ │ │ │ ├── await_not_in_async.dart.intertwined.expect │ │ │ │ │ ├── await_not_in_async.dart.parser.expect │ │ │ │ │ ├── await_not_in_async.dart.scanner.expect │ │ │ │ │ ├── bracket_mismatch_00.dart │ │ │ │ │ ├── bracket_mismatch_00.dart.expect │ │ │ │ │ ├── bracket_mismatch_00.dart.intertwined.expect │ │ │ │ │ ├── bracket_mismatch_00.dart.parser.expect │ │ │ │ │ ├── bracket_mismatch_00.dart.scanner.expect │ │ │ │ │ ├── bracket_mismatch_01.dart │ │ │ │ │ ├── bracket_mismatch_01.dart.expect │ │ │ │ │ ├── bracket_mismatch_01.dart.intertwined.expect │ │ │ │ │ ├── bracket_mismatch_01.dart.parser.expect │ │ │ │ │ ├── bracket_mismatch_01.dart.scanner.expect │ │ │ │ │ ├── bracket_mismatch_02.dart │ │ │ │ │ ├── bracket_mismatch_02.dart.expect │ │ │ │ │ ├── bracket_mismatch_02.dart.intertwined.expect │ │ │ │ │ ├── bracket_mismatch_02.dart.parser.expect │ │ │ │ │ ├── bracket_mismatch_02.dart.scanner.expect │ │ │ │ │ ├── bracket_mismatch_03.dart │ │ │ │ │ ├── bracket_mismatch_03.dart.expect │ │ │ │ │ ├── bracket_mismatch_03.dart.intertwined.expect │ │ │ │ │ ├── bracket_mismatch_03.dart.parser.expect │ │ │ │ │ ├── bracket_mismatch_03.dart.scanner.expect │ │ │ │ │ ├── bracket_mismatch_04.dart │ │ │ │ │ ├── bracket_mismatch_04.dart.expect │ │ │ │ │ ├── bracket_mismatch_04.dart.intertwined.expect │ │ │ │ │ ├── bracket_mismatch_04.dart.parser.expect │ │ │ │ │ ├── bracket_mismatch_04.dart.scanner.expect │ │ │ │ │ ├── bracket_mismatch_05.dart │ │ │ │ │ ├── bracket_mismatch_05.dart.expect │ │ │ │ │ ├── bracket_mismatch_05.dart.intertwined.expect │ │ │ │ │ ├── bracket_mismatch_05.dart.parser.expect │ │ │ │ │ ├── bracket_mismatch_05.dart.scanner.expect │ │ │ │ │ ├── bracket_mismatch_06.dart │ │ │ │ │ ├── bracket_mismatch_06.dart.expect │ │ │ │ │ ├── bracket_mismatch_06.dart.intertwined.expect │ │ │ │ │ ├── bracket_mismatch_06.dart.parser.expect │ │ │ │ │ ├── bracket_mismatch_06.dart.scanner.expect │ │ │ │ │ ├── comment_on_non_ascii_identifier.dart │ │ │ │ │ ├── comment_on_non_ascii_identifier.dart.expect │ │ │ │ │ ├── comment_on_non_ascii_identifier.dart.intertwined.expect │ │ │ │ │ ├── comment_on_non_ascii_identifier.dart.parser.expect │ │ │ │ │ ├── comment_on_non_ascii_identifier.dart.scanner.expect │ │ │ │ │ ├── constructor_recovery_bad_name_general.crash_dart │ │ │ │ │ ├── constructor_recovery_bad_name_general.crash_dart.expect │ │ │ │ │ ├── constructor_recovery_bad_name_general.crash_dart.intertwined.expect │ │ │ │ │ ├── constructor_recovery_bad_name_general.crash_dart.parser.expect │ │ │ │ │ ├── constructor_recovery_bad_name_general.crash_dart.scanner.expect │ │ │ │ │ ├── constructor_recovery_bad_name_get.crash_dart │ │ │ │ │ ├── constructor_recovery_bad_name_get.crash_dart.expect │ │ │ │ │ ├── constructor_recovery_bad_name_get.crash_dart.intertwined.expect │ │ │ │ │ ├── constructor_recovery_bad_name_get.crash_dart.parser.expect │ │ │ │ │ ├── constructor_recovery_bad_name_get.crash_dart.scanner.expect │ │ │ │ │ ├── constructor_recovery_bad_name_return_type.crash_dart │ │ │ │ │ ├── constructor_recovery_bad_name_return_type.crash_dart.expect │ │ │ │ │ ├── constructor_recovery_bad_name_return_type.crash_dart.intertwined.expect │ │ │ │ │ ├── constructor_recovery_bad_name_return_type.crash_dart.parser.expect │ │ │ │ │ ├── constructor_recovery_bad_name_return_type.crash_dart.scanner.expect │ │ │ │ │ ├── constructor_recovery_bad_name_set.crash_dart │ │ │ │ │ ├── constructor_recovery_bad_name_set.crash_dart.expect │ │ │ │ │ ├── constructor_recovery_bad_name_set.crash_dart.intertwined.expect │ │ │ │ │ ├── constructor_recovery_bad_name_set.crash_dart.parser.expect │ │ │ │ │ ├── constructor_recovery_bad_name_set.crash_dart.scanner.expect │ │ │ │ │ ├── constructor_recovery_get.dart │ │ │ │ │ ├── constructor_recovery_get.dart.expect │ │ │ │ │ ├── constructor_recovery_get.dart.intertwined.expect │ │ │ │ │ ├── constructor_recovery_get.dart.parser.expect │ │ │ │ │ ├── constructor_recovery_get.dart.scanner.expect │ │ │ │ │ ├── constructor_recovery_ok.dart │ │ │ │ │ ├── constructor_recovery_ok.dart.expect │ │ │ │ │ ├── constructor_recovery_ok.dart.intertwined.expect │ │ │ │ │ ├── constructor_recovery_ok.dart.parser.expect │ │ │ │ │ ├── constructor_recovery_ok.dart.scanner.expect │ │ │ │ │ ├── constructor_recovery_operator.crash_dart │ │ │ │ │ ├── constructor_recovery_operator.crash_dart.expect │ │ │ │ │ ├── constructor_recovery_operator.crash_dart.intertwined.expect │ │ │ │ │ ├── constructor_recovery_operator.crash_dart.parser.expect │ │ │ │ │ ├── constructor_recovery_operator.crash_dart.scanner.expect │ │ │ │ │ ├── constructor_recovery_return_type.dart │ │ │ │ │ ├── constructor_recovery_return_type.dart.expect │ │ │ │ │ ├── constructor_recovery_return_type.dart.intertwined.expect │ │ │ │ │ ├── constructor_recovery_return_type.dart.parser.expect │ │ │ │ │ ├── constructor_recovery_return_type.dart.scanner.expect │ │ │ │ │ ├── constructor_recovery_set.dart │ │ │ │ │ ├── constructor_recovery_set.dart.expect │ │ │ │ │ ├── constructor_recovery_set.dart.intertwined.expect │ │ │ │ │ ├── constructor_recovery_set.dart.parser.expect │ │ │ │ │ ├── constructor_recovery_set.dart.scanner.expect │ │ │ │ │ ├── empty_await_for.dart │ │ │ │ │ ├── empty_await_for.dart.expect │ │ │ │ │ ├── empty_await_for.dart.intertwined.expect │ │ │ │ │ ├── empty_await_for.dart.parser.expect │ │ │ │ │ ├── empty_await_for.dart.scanner.expect │ │ │ │ │ ├── empty_for.dart │ │ │ │ │ ├── empty_for.dart.expect │ │ │ │ │ ├── empty_for.dart.intertwined.expect │ │ │ │ │ ├── empty_for.dart.parser.expect │ │ │ │ │ ├── empty_for.dart.scanner.expect │ │ │ │ │ ├── extension_member_contributor_test_completion.dart │ │ │ │ │ ├── extension_member_contributor_test_completion.dart.expect │ │ │ │ │ ├── extension_member_contributor_test_completion.dart.intertwined.expect │ │ │ │ │ ├── extension_member_contributor_test_completion.dart.parser.expect │ │ │ │ │ ├── extension_member_contributor_test_completion.dart.scanner.expect │ │ │ │ │ ├── for_in_with_colon.dart │ │ │ │ │ ├── for_in_with_colon.dart.expect │ │ │ │ │ ├── for_in_with_colon.dart.intertwined.expect │ │ │ │ │ ├── for_in_with_colon.dart.parser.expect │ │ │ │ │ ├── for_in_with_colon.dart.scanner.expect │ │ │ │ │ ├── issue_000032.dart │ │ │ │ │ ├── issue_000032.dart.expect │ │ │ │ │ ├── issue_000032.dart.intertwined.expect │ │ │ │ │ ├── issue_000032.dart.parser.expect │ │ │ │ │ ├── issue_000032.dart.scanner.expect │ │ │ │ │ ├── issue_22313.dart │ │ │ │ │ ├── issue_22313.dart.expect │ │ │ │ │ ├── issue_22313.dart.intertwined.expect │ │ │ │ │ ├── issue_22313.dart.parser.expect │ │ │ │ │ ├── issue_22313.dart.scanner.expect │ │ │ │ │ ├── issue_22314.dart │ │ │ │ │ ├── issue_22314.dart.expect │ │ │ │ │ ├── issue_22314.dart.intertwined.expect │ │ │ │ │ ├── issue_22314.dart.parser.expect │ │ │ │ │ ├── issue_22314.dart.scanner.expect │ │ │ │ │ ├── issue_26073.dart │ │ │ │ │ ├── issue_26073.dart.expect │ │ │ │ │ ├── issue_26073.dart.intertwined.expect │ │ │ │ │ ├── issue_26073.dart.parser.expect │ │ │ │ │ ├── issue_26073.dart.scanner.expect │ │ │ │ │ ├── issue_26810.dart │ │ │ │ │ ├── issue_26810.dart.expect │ │ │ │ │ ├── issue_26810.dart.intertwined.expect │ │ │ │ │ ├── issue_26810.dart.parser.expect │ │ │ │ │ ├── issue_26810.dart.scanner.expect │ │ │ │ │ ├── issue_26810_and.dart │ │ │ │ │ ├── issue_26810_and.dart.expect │ │ │ │ │ ├── issue_26810_and.dart.intertwined.expect │ │ │ │ │ ├── issue_26810_and.dart.parser.expect │ │ │ │ │ ├── issue_26810_and.dart.scanner.expect │ │ │ │ │ ├── issue_26810_or.dart │ │ │ │ │ ├── issue_26810_or.dart.expect │ │ │ │ │ ├── issue_26810_or.dart.intertwined.expect │ │ │ │ │ ├── issue_26810_or.dart.parser.expect │ │ │ │ │ ├── issue_26810_or.dart.scanner.expect │ │ │ │ │ ├── issue_38415.crash_dart │ │ │ │ │ ├── issue_38415.crash_dart.expect │ │ │ │ │ ├── issue_38415.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_38415.crash_dart.parser.expect │ │ │ │ │ ├── issue_38415.crash_dart.scanner.expect │ │ │ │ │ ├── issue_39024.crash_dart │ │ │ │ │ ├── issue_39024.crash_dart.expect │ │ │ │ │ ├── issue_39024.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_39024.crash_dart.parser.expect │ │ │ │ │ ├── issue_39024.crash_dart.scanner.expect │ │ │ │ │ ├── issue_39026.crash_dart │ │ │ │ │ ├── issue_39026.crash_dart.expect │ │ │ │ │ ├── issue_39026.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_39026.crash_dart.parser.expect │ │ │ │ │ ├── issue_39026.crash_dart.scanner.expect │ │ │ │ │ ├── issue_39026_prime.crash_dart │ │ │ │ │ ├── issue_39026_prime.crash_dart.expect │ │ │ │ │ ├── issue_39026_prime.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_39026_prime.crash_dart.parser.expect │ │ │ │ │ ├── issue_39026_prime.crash_dart.scanner.expect │ │ │ │ │ ├── issue_39033.crash_dart │ │ │ │ │ ├── issue_39033.crash_dart.expect │ │ │ │ │ ├── issue_39033.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_39033.crash_dart.parser.expect │ │ │ │ │ ├── issue_39033.crash_dart.scanner.expect │ │ │ │ │ ├── issue_39058.crash_dart │ │ │ │ │ ├── issue_39058.crash_dart.expect │ │ │ │ │ ├── issue_39058.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_39058.crash_dart.parser.expect │ │ │ │ │ ├── issue_39058.crash_dart.scanner.expect │ │ │ │ │ ├── issue_39058_prime.crash_dart │ │ │ │ │ ├── issue_39058_prime.crash_dart.expect │ │ │ │ │ ├── issue_39058_prime.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_39058_prime.crash_dart.parser.expect │ │ │ │ │ ├── issue_39058_prime.crash_dart.scanner.expect │ │ │ │ │ ├── issue_39060.dart │ │ │ │ │ ├── issue_39060.dart.expect │ │ │ │ │ ├── issue_39060.dart.intertwined.expect │ │ │ │ │ ├── issue_39060.dart.parser.expect │ │ │ │ │ ├── issue_39060.dart.scanner.expect │ │ │ │ │ ├── issue_39202.crash_dart │ │ │ │ │ ├── issue_39202.crash_dart.expect │ │ │ │ │ ├── issue_39202.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_39202.crash_dart.parser.expect │ │ │ │ │ ├── issue_39202.crash_dart.scanner.expect │ │ │ │ │ ├── issue_39230.crash_dart │ │ │ │ │ ├── issue_39230.crash_dart.expect │ │ │ │ │ ├── issue_39230.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_39230.crash_dart.parser.expect │ │ │ │ │ ├── issue_39230.crash_dart.scanner.expect │ │ │ │ │ ├── issue_39958_01.dart │ │ │ │ │ ├── issue_39958_01.dart.expect │ │ │ │ │ ├── issue_39958_01.dart.intertwined.expect │ │ │ │ │ ├── issue_39958_01.dart.parser.expect │ │ │ │ │ ├── issue_39958_01.dart.scanner.expect │ │ │ │ │ ├── issue_39958_02.dart │ │ │ │ │ ├── issue_39958_02.dart.expect │ │ │ │ │ ├── issue_39958_02.dart.intertwined.expect │ │ │ │ │ ├── issue_39958_02.dart.parser.expect │ │ │ │ │ ├── issue_39958_02.dart.scanner.expect │ │ │ │ │ ├── issue_39958_03.dart │ │ │ │ │ ├── issue_39958_03.dart.expect │ │ │ │ │ ├── issue_39958_03.dart.intertwined.expect │ │ │ │ │ ├── issue_39958_03.dart.parser.expect │ │ │ │ │ ├── issue_39958_03.dart.scanner.expect │ │ │ │ │ ├── issue_39958_04.dart │ │ │ │ │ ├── issue_39958_04.dart.expect │ │ │ │ │ ├── issue_39958_04.dart.intertwined.expect │ │ │ │ │ ├── issue_39958_04.dart.parser.expect │ │ │ │ │ ├── issue_39958_04.dart.scanner.expect │ │ │ │ │ ├── issue_41265.crash_dart │ │ │ │ │ ├── issue_41265.crash_dart.expect │ │ │ │ │ ├── issue_41265.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_41265.crash_dart.parser.expect │ │ │ │ │ ├── issue_41265.crash_dart.scanner.expect │ │ │ │ │ ├── issue_42229.crash_dart │ │ │ │ │ ├── issue_42229.crash_dart.expect │ │ │ │ │ ├── issue_42229.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_42229.crash_dart.parser.expect │ │ │ │ │ ├── issue_42229.crash_dart.scanner.expect │ │ │ │ │ ├── issue_42229_prime.crash_dart │ │ │ │ │ ├── issue_42229_prime.crash_dart.expect │ │ │ │ │ ├── issue_42229_prime.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_42229_prime.crash_dart.parser.expect │ │ │ │ │ ├── issue_42229_prime.crash_dart.scanner.expect │ │ │ │ │ ├── issue_42229_prime_2.crash_dart │ │ │ │ │ ├── issue_42229_prime_2.crash_dart.expect │ │ │ │ │ ├── issue_42229_prime_2.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_42229_prime_2.crash_dart.parser.expect │ │ │ │ │ ├── issue_42229_prime_2.crash_dart.scanner.expect │ │ │ │ │ ├── issue_42229_prime_3.crash_dart │ │ │ │ │ ├── issue_42229_prime_3.crash_dart.expect │ │ │ │ │ ├── issue_42229_prime_3.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_42229_prime_3.crash_dart.parser.expect │ │ │ │ │ ├── issue_42229_prime_3.crash_dart.scanner.expect │ │ │ │ │ ├── issue_42229_prime_4.crash_dart │ │ │ │ │ ├── issue_42229_prime_4.crash_dart.expect │ │ │ │ │ ├── issue_42229_prime_4.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_42229_prime_4.crash_dart.parser.expect │ │ │ │ │ ├── issue_42229_prime_4.crash_dart.scanner.expect │ │ │ │ │ ├── issue_42229_prime_5.dart │ │ │ │ │ ├── issue_42229_prime_5.dart.expect │ │ │ │ │ ├── issue_42229_prime_5.dart.intertwined.expect │ │ │ │ │ ├── issue_42229_prime_5.dart.parser.expect │ │ │ │ │ ├── issue_42229_prime_5.dart.scanner.expect │ │ │ │ │ ├── issue_42229_prime_6.dart │ │ │ │ │ ├── issue_42229_prime_6.dart.expect │ │ │ │ │ ├── issue_42229_prime_6.dart.intertwined.expect │ │ │ │ │ ├── issue_42229_prime_6.dart.parser.expect │ │ │ │ │ ├── issue_42229_prime_6.dart.scanner.expect │ │ │ │ │ ├── issue_42267.dart │ │ │ │ │ ├── issue_42267.dart.expect │ │ │ │ │ ├── issue_42267.dart.intertwined.expect │ │ │ │ │ ├── issue_42267.dart.parser.expect │ │ │ │ │ ├── issue_42267.dart.scanner.expect │ │ │ │ │ ├── issue_43090.crash_dart │ │ │ │ │ ├── issue_43090.crash_dart.expect │ │ │ │ │ ├── issue_43090.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_43090.crash_dart.parser.expect │ │ │ │ │ ├── issue_43090.crash_dart.scanner.expect │ │ │ │ │ ├── issue_43090_prime_01.crash_dart │ │ │ │ │ ├── issue_43090_prime_01.crash_dart.expect │ │ │ │ │ ├── issue_43090_prime_01.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_43090_prime_01.crash_dart.parser.expect │ │ │ │ │ ├── issue_43090_prime_01.crash_dart.scanner.expect │ │ │ │ │ ├── issue_43090_prime_02.crash_dart │ │ │ │ │ ├── issue_43090_prime_02.crash_dart.expect │ │ │ │ │ ├── issue_43090_prime_02.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_43090_prime_02.crash_dart.parser.expect │ │ │ │ │ ├── issue_43090_prime_02.crash_dart.scanner.expect │ │ │ │ │ ├── issue_44785.crash_dart │ │ │ │ │ ├── issue_44785.crash_dart.expect │ │ │ │ │ ├── issue_44785.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_44785.crash_dart.parser.expect │ │ │ │ │ ├── issue_44785.crash_dart.scanner.expect │ │ │ │ │ ├── issue_44785_prime_1.crash_dart │ │ │ │ │ ├── issue_44785_prime_1.crash_dart.expect │ │ │ │ │ ├── issue_44785_prime_1.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_44785_prime_1.crash_dart.parser.expect │ │ │ │ │ ├── issue_44785_prime_1.crash_dart.scanner.expect │ │ │ │ │ ├── issue_44785_prime_2.crash_dart │ │ │ │ │ ├── issue_44785_prime_2.crash_dart.expect │ │ │ │ │ ├── issue_44785_prime_2.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_44785_prime_2.crash_dart.parser.expect │ │ │ │ │ ├── issue_44785_prime_2.crash_dart.scanner.expect │ │ │ │ │ ├── issue_45251.dart │ │ │ │ │ ├── issue_45251.dart.expect │ │ │ │ │ ├── issue_45251.dart.intertwined.expect │ │ │ │ │ ├── issue_45251.dart.parser.expect │ │ │ │ │ ├── issue_45251.dart.scanner.expect │ │ │ │ │ ├── issue_45251_const.dart │ │ │ │ │ ├── issue_45251_const.dart.expect │ │ │ │ │ ├── issue_45251_const.dart.intertwined.expect │ │ │ │ │ ├── issue_45251_const.dart.parser.expect │ │ │ │ │ ├── issue_45251_const.dart.scanner.expect │ │ │ │ │ ├── issue_45251_list.dart │ │ │ │ │ ├── issue_45251_list.dart.expect │ │ │ │ │ ├── issue_45251_list.dart.intertwined.expect │ │ │ │ │ ├── issue_45251_list.dart.parser.expect │ │ │ │ │ ├── issue_45251_list.dart.scanner.expect │ │ │ │ │ ├── issue_45251_list_const.dart │ │ │ │ │ ├── issue_45251_list_const.dart.expect │ │ │ │ │ ├── issue_45251_list_const.dart.intertwined.expect │ │ │ │ │ ├── issue_45251_list_const.dart.parser.expect │ │ │ │ │ ├── issue_45251_list_const.dart.scanner.expect │ │ │ │ │ ├── issue_45251_list_new.dart │ │ │ │ │ ├── issue_45251_list_new.dart.expect │ │ │ │ │ ├── issue_45251_list_new.dart.intertwined.expect │ │ │ │ │ ├── issue_45251_list_new.dart.parser.expect │ │ │ │ │ ├── issue_45251_list_new.dart.scanner.expect │ │ │ │ │ ├── issue_45251_new.dart │ │ │ │ │ ├── issue_45251_new.dart.expect │ │ │ │ │ ├── issue_45251_new.dart.intertwined.expect │ │ │ │ │ ├── issue_45251_new.dart.parser.expect │ │ │ │ │ ├── issue_45251_new.dart.scanner.expect │ │ │ │ │ ├── issue_45251_set.dart │ │ │ │ │ ├── issue_45251_set.dart.expect │ │ │ │ │ ├── issue_45251_set.dart.intertwined.expect │ │ │ │ │ ├── issue_45251_set.dart.parser.expect │ │ │ │ │ ├── issue_45251_set.dart.scanner.expect │ │ │ │ │ ├── issue_45251_set_const.dart │ │ │ │ │ ├── issue_45251_set_const.dart.expect │ │ │ │ │ ├── issue_45251_set_const.dart.intertwined.expect │ │ │ │ │ ├── issue_45251_set_const.dart.parser.expect │ │ │ │ │ ├── issue_45251_set_const.dart.scanner.expect │ │ │ │ │ ├── issue_45251_set_new.dart │ │ │ │ │ ├── issue_45251_set_new.dart.expect │ │ │ │ │ ├── issue_45251_set_new.dart.intertwined.expect │ │ │ │ │ ├── issue_45251_set_new.dart.parser.expect │ │ │ │ │ ├── issue_45251_set_new.dart.scanner.expect │ │ │ │ │ ├── issue_45327.crash_dart │ │ │ │ │ ├── issue_45327.crash_dart.expect │ │ │ │ │ ├── issue_45327.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_45327.crash_dart.parser.expect │ │ │ │ │ ├── issue_45327.crash_dart.scanner.expect │ │ │ │ │ ├── issue_45327_prime_1.crash_dart │ │ │ │ │ ├── issue_45327_prime_1.crash_dart.expect │ │ │ │ │ ├── issue_45327_prime_1.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_45327_prime_1.crash_dart.parser.expect │ │ │ │ │ ├── issue_45327_prime_1.crash_dart.scanner.expect │ │ │ │ │ ├── issue_45662.crash_dart │ │ │ │ │ ├── issue_45662.crash_dart.expect │ │ │ │ │ ├── issue_45662.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_45662.crash_dart.parser.expect │ │ │ │ │ ├── issue_45662.crash_dart.scanner.expect │ │ │ │ │ ├── issue_45662.equivalence_info │ │ │ │ │ ├── issue_45662_gt_gt.crash_dart │ │ │ │ │ ├── issue_45662_gt_gt.crash_dart.expect │ │ │ │ │ ├── issue_45662_gt_gt.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_45662_gt_gt.crash_dart.parser.expect │ │ │ │ │ ├── issue_45662_gt_gt.crash_dart.scanner.expect │ │ │ │ │ ├── issue_45662_gt_gt.equivalence_info │ │ │ │ │ ├── issue_45662_gt_gt_prime.crash_dart │ │ │ │ │ ├── issue_45662_gt_gt_prime.crash_dart.expect │ │ │ │ │ ├── issue_45662_gt_gt_prime.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_45662_gt_gt_prime.crash_dart.parser.expect │ │ │ │ │ ├── issue_45662_gt_gt_prime.crash_dart.scanner.expect │ │ │ │ │ ├── issue_45662_prime.crash_dart │ │ │ │ │ ├── issue_45662_prime.crash_dart.expect │ │ │ │ │ ├── issue_45662_prime.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_45662_prime.crash_dart.parser.expect │ │ │ │ │ ├── issue_45662_prime.crash_dart.scanner.expect │ │ │ │ │ ├── issue_46346.dart │ │ │ │ │ ├── issue_46346.dart.expect │ │ │ │ │ ├── issue_46346.dart.intertwined.expect │ │ │ │ │ ├── issue_46346.dart.parser.expect │ │ │ │ │ ├── issue_46346.dart.scanner.expect │ │ │ │ │ ├── issue_46346_prime_1.dart │ │ │ │ │ ├── issue_46346_prime_1.dart.expect │ │ │ │ │ ├── issue_46346_prime_1.dart.intertwined.expect │ │ │ │ │ ├── issue_46346_prime_1.dart.parser.expect │ │ │ │ │ ├── issue_46346_prime_1.dart.scanner.expect │ │ │ │ │ ├── issue_46346_prime_2.dart │ │ │ │ │ ├── issue_46346_prime_2.dart.expect │ │ │ │ │ ├── issue_46346_prime_2.dart.intertwined.expect │ │ │ │ │ ├── issue_46346_prime_2.dart.parser.expect │ │ │ │ │ ├── issue_46346_prime_2.dart.scanner.expect │ │ │ │ │ ├── issue_46505.crash_dart │ │ │ │ │ ├── issue_46505.crash_dart.expect │ │ │ │ │ ├── issue_46505.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_46505.crash_dart.parser.expect │ │ │ │ │ ├── issue_46505.crash_dart.scanner.expect │ │ │ │ │ ├── issue_46505_prime_1.crash_dart │ │ │ │ │ ├── issue_46505_prime_1.crash_dart.expect │ │ │ │ │ ├── issue_46505_prime_1.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_46505_prime_1.crash_dart.parser.expect │ │ │ │ │ ├── issue_46505_prime_1.crash_dart.scanner.expect │ │ │ │ │ ├── issue_46505_prime_2.crash_dart │ │ │ │ │ ├── issue_46505_prime_2.crash_dart.expect │ │ │ │ │ ├── issue_46505_prime_2.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_46505_prime_2.crash_dart.parser.expect │ │ │ │ │ ├── issue_46505_prime_2.crash_dart.scanner.expect │ │ │ │ │ ├── issue_46505_prime_3.crash_dart │ │ │ │ │ ├── issue_46505_prime_3.crash_dart.expect │ │ │ │ │ ├── issue_46505_prime_3.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_46505_prime_3.crash_dart.parser.expect │ │ │ │ │ ├── issue_46505_prime_3.crash_dart.scanner.expect │ │ │ │ │ ├── issue_46505_prime_4.crash_dart │ │ │ │ │ ├── issue_46505_prime_4.crash_dart.expect │ │ │ │ │ ├── issue_46505_prime_4.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_46505_prime_4.crash_dart.parser.expect │ │ │ │ │ ├── issue_46505_prime_4.crash_dart.scanner.expect │ │ │ │ │ ├── issue_46505_prime_5.crash_dart │ │ │ │ │ ├── issue_46505_prime_5.crash_dart.expect │ │ │ │ │ ├── issue_46505_prime_5.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_46505_prime_5.crash_dart.parser.expect │ │ │ │ │ ├── issue_46505_prime_5.crash_dart.scanner.expect │ │ │ │ │ ├── issue_46505_prime_6.crash_dart │ │ │ │ │ ├── issue_46505_prime_6.crash_dart.expect │ │ │ │ │ ├── issue_46505_prime_6.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_46505_prime_6.crash_dart.parser.expect │ │ │ │ │ ├── issue_46505_prime_6.crash_dart.scanner.expect │ │ │ │ │ ├── issue_46736.dart │ │ │ │ │ ├── issue_46736.dart.expect │ │ │ │ │ ├── issue_46736.dart.intertwined.expect │ │ │ │ │ ├── issue_46736.dart.parser.expect │ │ │ │ │ ├── issue_46736.dart.scanner.expect │ │ │ │ │ ├── issue_46736.equivalence_info │ │ │ │ │ ├── issue_46736_prime.dart │ │ │ │ │ ├── issue_46736_prime.dart.expect │ │ │ │ │ ├── issue_46736_prime.dart.intertwined.expect │ │ │ │ │ ├── issue_46736_prime.dart.parser.expect │ │ │ │ │ ├── issue_46736_prime.dart.scanner.expect │ │ │ │ │ ├── issue_48288.dart │ │ │ │ │ ├── issue_48288.dart.expect │ │ │ │ │ ├── issue_48288.dart.intertwined.expect │ │ │ │ │ ├── issue_48288.dart.parser.expect │ │ │ │ │ ├── issue_48288.dart.scanner.expect │ │ │ │ │ ├── issue_48288.equivalence_info │ │ │ │ │ ├── issue_48288_prime.dart │ │ │ │ │ ├── issue_48288_prime.dart.expect │ │ │ │ │ ├── issue_48288_prime.dart.intertwined.expect │ │ │ │ │ ├── issue_48288_prime.dart.parser.expect │ │ │ │ │ ├── issue_48288_prime.dart.scanner.expect │ │ │ │ │ ├── issue_48371.dart │ │ │ │ │ ├── issue_48371.dart.expect │ │ │ │ │ ├── issue_48371.dart.intertwined.expect │ │ │ │ │ ├── issue_48371.dart.parser.expect │ │ │ │ │ ├── issue_48371.dart.scanner.expect │ │ │ │ │ ├── issue_48371_prime1.dart │ │ │ │ │ ├── issue_48371_prime1.dart.expect │ │ │ │ │ ├── issue_48371_prime1.dart.intertwined.expect │ │ │ │ │ ├── issue_48371_prime1.dart.parser.expect │ │ │ │ │ ├── issue_48371_prime1.dart.scanner.expect │ │ │ │ │ ├── issue_48371_prime2.dart │ │ │ │ │ ├── issue_48371_prime2.dart.expect │ │ │ │ │ ├── issue_48371_prime2.dart.intertwined.expect │ │ │ │ │ ├── issue_48371_prime2.dart.parser.expect │ │ │ │ │ ├── issue_48371_prime2.dart.scanner.expect │ │ │ │ │ ├── issue_48371_prime3.dart │ │ │ │ │ ├── issue_48371_prime3.dart.expect │ │ │ │ │ ├── issue_48371_prime3.dart.intertwined.expect │ │ │ │ │ ├── issue_48371_prime3.dart.parser.expect │ │ │ │ │ ├── issue_48371_prime3.dart.scanner.expect │ │ │ │ │ ├── issue_48371_prime4.dart │ │ │ │ │ ├── issue_48371_prime4.dart.expect │ │ │ │ │ ├── issue_48371_prime4.dart.intertwined.expect │ │ │ │ │ ├── issue_48371_prime4.dart.parser.expect │ │ │ │ │ ├── issue_48371_prime4.dart.scanner.expect │ │ │ │ │ ├── issue_48380_1.dart │ │ │ │ │ ├── issue_48380_1.dart.expect │ │ │ │ │ ├── issue_48380_1.dart.intertwined.expect │ │ │ │ │ ├── issue_48380_1.dart.parser.expect │ │ │ │ │ ├── issue_48380_1.dart.scanner.expect │ │ │ │ │ ├── issue_48380_1.equivalence_info │ │ │ │ │ ├── issue_48380_1_comma.dart │ │ │ │ │ ├── issue_48380_1_comma.dart.expect │ │ │ │ │ ├── issue_48380_1_comma.dart.intertwined.expect │ │ │ │ │ ├── issue_48380_1_comma.dart.parser.expect │ │ │ │ │ ├── issue_48380_1_comma.dart.scanner.expect │ │ │ │ │ ├── issue_48380_1_comma.equivalence_info │ │ │ │ │ ├── issue_48380_1_comma_ok.dart │ │ │ │ │ ├── issue_48380_1_comma_ok.dart.expect │ │ │ │ │ ├── issue_48380_1_comma_ok.dart.intertwined.expect │ │ │ │ │ ├── issue_48380_1_comma_ok.dart.parser.expect │ │ │ │ │ ├── issue_48380_1_comma_ok.dart.scanner.expect │ │ │ │ │ ├── issue_48380_1_ok.dart │ │ │ │ │ ├── issue_48380_1_ok.dart.expect │ │ │ │ │ ├── issue_48380_1_ok.dart.intertwined.expect │ │ │ │ │ ├── issue_48380_1_ok.dart.parser.expect │ │ │ │ │ ├── issue_48380_1_ok.dart.scanner.expect │ │ │ │ │ ├── issue_48380_2.dart │ │ │ │ │ ├── issue_48380_2.dart.expect │ │ │ │ │ ├── issue_48380_2.dart.intertwined.expect │ │ │ │ │ ├── issue_48380_2.dart.parser.expect │ │ │ │ │ ├── issue_48380_2.dart.scanner.expect │ │ │ │ │ ├── issue_48380_2.equivalence_info │ │ │ │ │ ├── issue_48380_2_comma.dart │ │ │ │ │ ├── issue_48380_2_comma.dart.expect │ │ │ │ │ ├── issue_48380_2_comma.dart.intertwined.expect │ │ │ │ │ ├── issue_48380_2_comma.dart.parser.expect │ │ │ │ │ ├── issue_48380_2_comma.dart.scanner.expect │ │ │ │ │ ├── issue_48380_2_comma.equivalence_info │ │ │ │ │ ├── issue_48380_2_comma_ok.dart │ │ │ │ │ ├── issue_48380_2_comma_ok.dart.expect │ │ │ │ │ ├── issue_48380_2_comma_ok.dart.intertwined.expect │ │ │ │ │ ├── issue_48380_2_comma_ok.dart.parser.expect │ │ │ │ │ ├── issue_48380_2_comma_ok.dart.scanner.expect │ │ │ │ │ ├── issue_48380_2_ok.dart │ │ │ │ │ ├── issue_48380_2_ok.dart.expect │ │ │ │ │ ├── issue_48380_2_ok.dart.intertwined.expect │ │ │ │ │ ├── issue_48380_2_ok.dart.parser.expect │ │ │ │ │ ├── issue_48380_2_ok.dart.scanner.expect │ │ │ │ │ ├── issue_48380_3.dart │ │ │ │ │ ├── issue_48380_3.dart.expect │ │ │ │ │ ├── issue_48380_3.dart.intertwined.expect │ │ │ │ │ ├── issue_48380_3.dart.parser.expect │ │ │ │ │ ├── issue_48380_3.dart.scanner.expect │ │ │ │ │ ├── issue_48380_3.equivalence_info │ │ │ │ │ ├── issue_48380_3_comma.dart │ │ │ │ │ ├── issue_48380_3_comma.dart.expect │ │ │ │ │ ├── issue_48380_3_comma.dart.intertwined.expect │ │ │ │ │ ├── issue_48380_3_comma.dart.parser.expect │ │ │ │ │ ├── issue_48380_3_comma.dart.scanner.expect │ │ │ │ │ ├── issue_48380_3_comma.equivalence_info │ │ │ │ │ ├── issue_48380_3_comma_ok.dart │ │ │ │ │ ├── issue_48380_3_comma_ok.dart.expect │ │ │ │ │ ├── issue_48380_3_comma_ok.dart.intertwined.expect │ │ │ │ │ ├── issue_48380_3_comma_ok.dart.parser.expect │ │ │ │ │ ├── issue_48380_3_comma_ok.dart.scanner.expect │ │ │ │ │ ├── issue_48380_3_ok.dart │ │ │ │ │ ├── issue_48380_3_ok.dart.expect │ │ │ │ │ ├── issue_48380_3_ok.dart.intertwined.expect │ │ │ │ │ ├── issue_48380_3_ok.dart.parser.expect │ │ │ │ │ ├── issue_48380_3_ok.dart.scanner.expect │ │ │ │ │ ├── issue_48380_4.dart │ │ │ │ │ ├── issue_48380_4.dart.expect │ │ │ │ │ ├── issue_48380_4.dart.intertwined.expect │ │ │ │ │ ├── issue_48380_4.dart.parser.expect │ │ │ │ │ ├── issue_48380_4.dart.scanner.expect │ │ │ │ │ ├── issue_48411.dart │ │ │ │ │ ├── issue_48411.dart.expect │ │ │ │ │ ├── issue_48411.dart.intertwined.expect │ │ │ │ │ ├── issue_48411.dart.parser.expect │ │ │ │ │ ├── issue_48411.dart.scanner.expect │ │ │ │ │ ├── issue_48411.equivalence_info │ │ │ │ │ ├── issue_48411_prime.dart │ │ │ │ │ ├── issue_48411_prime.dart.expect │ │ │ │ │ ├── issue_48411_prime.dart.intertwined.expect │ │ │ │ │ ├── issue_48411_prime.dart.parser.expect │ │ │ │ │ ├── issue_48411_prime.dart.scanner.expect │ │ │ │ │ ├── issue_48411_prime_1.dart │ │ │ │ │ ├── issue_48411_prime_1.dart.expect │ │ │ │ │ ├── issue_48411_prime_1.dart.intertwined.expect │ │ │ │ │ ├── issue_48411_prime_1.dart.parser.expect │ │ │ │ │ ├── issue_48411_prime_1.dart.scanner.expect │ │ │ │ │ ├── issue_49116.dart │ │ │ │ │ ├── issue_49116.dart.expect │ │ │ │ │ ├── issue_49116.dart.intertwined.expect │ │ │ │ │ ├── issue_49116.dart.parser.expect │ │ │ │ │ ├── issue_49116.dart.scanner.expect │ │ │ │ │ ├── issue_50908.dart │ │ │ │ │ ├── issue_50908.dart.expect │ │ │ │ │ ├── issue_50908.dart.intertwined.expect │ │ │ │ │ ├── issue_50908.dart.parser.expect │ │ │ │ │ ├── issue_50908.dart.scanner.expect │ │ │ │ │ ├── issue_50908_ok.dart │ │ │ │ │ ├── issue_50908_ok.dart.expect │ │ │ │ │ ├── issue_50908_ok.dart.intertwined.expect │ │ │ │ │ ├── issue_50908_ok.dart.parser.expect │ │ │ │ │ ├── issue_50908_ok.dart.scanner.expect │ │ │ │ │ ├── issue_50908_ok.equivalence_info │ │ │ │ │ ├── issue_50908_ok_prime.dart │ │ │ │ │ ├── issue_50908_ok_prime.dart.expect │ │ │ │ │ ├── issue_50908_ok_prime.dart.intertwined.expect │ │ │ │ │ ├── issue_50908_ok_prime.dart.parser.expect │ │ │ │ │ ├── issue_50908_ok_prime.dart.scanner.expect │ │ │ │ │ ├── issue_51759.crash_dart │ │ │ │ │ ├── issue_51759.crash_dart.expect │ │ │ │ │ ├── issue_51759.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_51759.crash_dart.parser.expect │ │ │ │ │ ├── issue_51759.crash_dart.scanner.expect │ │ │ │ │ ├── issue_51759.equivalence_info │ │ │ │ │ ├── issue_51759_as_reported.crash_dart │ │ │ │ │ ├── issue_51759_as_reported.crash_dart.expect │ │ │ │ │ ├── issue_51759_as_reported.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_51759_as_reported.crash_dart.parser.expect │ │ │ │ │ ├── issue_51759_as_reported.crash_dart.scanner.expect │ │ │ │ │ ├── issue_51759_prime.crash_dart │ │ │ │ │ ├── issue_51759_prime.crash_dart.expect │ │ │ │ │ ├── issue_51759_prime.crash_dart.intertwined.expect │ │ │ │ │ ├── issue_51759_prime.crash_dart.parser.expect │ │ │ │ │ ├── issue_51759_prime.crash_dart.scanner.expect │ │ │ │ │ ├── keyword_named_class_fields.dart │ │ │ │ │ ├── keyword_named_class_fields.dart.expect │ │ │ │ │ ├── keyword_named_class_fields.dart.intertwined.expect │ │ │ │ │ ├── keyword_named_class_fields.dart.parser.expect │ │ │ │ │ ├── keyword_named_class_fields.dart.scanner.expect │ │ │ │ │ ├── keyword_named_class_methods.dart │ │ │ │ │ ├── keyword_named_class_methods.dart.expect │ │ │ │ │ ├── keyword_named_class_methods.dart.intertwined.expect │ │ │ │ │ ├── keyword_named_class_methods.dart.parser.expect │ │ │ │ │ ├── keyword_named_class_methods.dart.scanner.expect │ │ │ │ │ ├── keyword_named_formal_parameter.dart │ │ │ │ │ ├── keyword_named_formal_parameter.dart.expect │ │ │ │ │ ├── keyword_named_formal_parameter.dart.intertwined.expect │ │ │ │ │ ├── keyword_named_formal_parameter.dart.parser.expect │ │ │ │ │ ├── keyword_named_formal_parameter.dart.scanner.expect │ │ │ │ │ ├── keyword_named_formal_parameter.equivalence_info │ │ │ │ │ ├── keyword_named_formal_parameter_prime.dart │ │ │ │ │ ├── keyword_named_formal_parameter_prime.dart.expect │ │ │ │ │ ├── keyword_named_formal_parameter_prime.dart.intertwined.expect │ │ │ │ │ ├── keyword_named_formal_parameter_prime.dart.parser.expect │ │ │ │ │ ├── keyword_named_formal_parameter_prime.dart.scanner.expect │ │ │ │ │ ├── keyword_named_formal_parameter_start_of_next_top_level.dart │ │ │ │ │ ├── keyword_named_formal_parameter_start_of_next_top_level.dart.expect │ │ │ │ │ ├── keyword_named_formal_parameter_start_of_next_top_level.dart.intertwined.expect │ │ │ │ │ ├── keyword_named_formal_parameter_start_of_next_top_level.dart.parser.expect │ │ │ │ │ ├── keyword_named_formal_parameter_start_of_next_top_level.dart.scanner.expect │ │ │ │ │ ├── keyword_named_top_level_fields.dart │ │ │ │ │ ├── keyword_named_top_level_fields.dart.expect │ │ │ │ │ ├── keyword_named_top_level_fields.dart.intertwined.expect │ │ │ │ │ ├── keyword_named_top_level_fields.dart.parser.expect │ │ │ │ │ ├── keyword_named_top_level_fields.dart.scanner.expect │ │ │ │ │ ├── keyword_named_top_level_methods.dart │ │ │ │ │ ├── keyword_named_top_level_methods.dart.expect │ │ │ │ │ ├── keyword_named_top_level_methods.dart.intertwined.expect │ │ │ │ │ ├── keyword_named_top_level_methods.dart.parser.expect │ │ │ │ │ ├── keyword_named_top_level_methods.dart.scanner.expect │ │ │ │ │ ├── keyword_named_typedefs.dart │ │ │ │ │ ├── keyword_named_typedefs.dart.expect │ │ │ │ │ ├── keyword_named_typedefs.dart.intertwined.expect │ │ │ │ │ ├── keyword_named_typedefs.dart.parser.expect │ │ │ │ │ ├── keyword_named_typedefs.dart.scanner.expect │ │ │ │ │ ├── method_called_with.dart │ │ │ │ │ ├── method_called_with.dart.expect │ │ │ │ │ ├── method_called_with.dart.intertwined.expect │ │ │ │ │ ├── method_called_with.dart.parser.expect │ │ │ │ │ ├── method_called_with.dart.scanner.expect │ │ │ │ │ ├── method_called_with_prime.dart │ │ │ │ │ ├── method_called_with_prime.dart.expect │ │ │ │ │ ├── method_called_with_prime.dart.intertwined.expect │ │ │ │ │ ├── method_called_with_prime.dart.parser.expect │ │ │ │ │ ├── method_called_with_prime.dart.scanner.expect │ │ │ │ │ ├── method_called_with_prime2.dart │ │ │ │ │ ├── method_called_with_prime2.dart.expect │ │ │ │ │ ├── method_called_with_prime2.dart.intertwined.expect │ │ │ │ │ ├── method_called_with_prime2.dart.parser.expect │ │ │ │ │ ├── method_called_with_prime2.dart.scanner.expect │ │ │ │ │ ├── symbols.dart │ │ │ │ │ ├── symbols.dart.expect │ │ │ │ │ ├── symbols.dart.intertwined.expect │ │ │ │ │ ├── symbols.dart.parser.expect │ │ │ │ │ ├── symbols.dart.scanner.expect │ │ │ │ │ ├── utf_16_le_content.crash_dart │ │ │ │ │ ├── utf_16_le_content.crash_dart.expect │ │ │ │ │ ├── utf_16_le_content.crash_dart.intertwined.expect │ │ │ │ │ ├── utf_16_le_content.crash_dart.parser.expect │ │ │ │ │ ├── utf_16_le_content.crash_dart.scanner.expect │ │ │ │ │ ├── yield_not_in_generator.dart │ │ │ │ │ ├── yield_not_in_generator.dart.expect │ │ │ │ │ ├── yield_not_in_generator.dart.intertwined.expect │ │ │ │ │ ├── yield_not_in_generator.dart.parser.expect │ │ │ │ │ └── yield_not_in_generator.dart.scanner.expect │ │ │ │ ├── extension_named_type.dart │ │ │ │ ├── extension_named_type.dart.expect │ │ │ │ ├── extension_named_type.dart.intertwined.expect │ │ │ │ ├── extension_named_type.dart.parser.expect │ │ │ │ ├── extension_named_type.dart.scanner.expect │ │ │ │ ├── extension_type.dart │ │ │ │ ├── extension_type.dart.expect │ │ │ │ ├── extension_type.dart.intertwined.expect │ │ │ │ ├── extension_type.dart.parser.expect │ │ │ │ ├── extension_type.dart.scanner.expect │ │ │ │ ├── extensions/ │ │ │ │ │ ├── covariant.dart │ │ │ │ │ ├── covariant.dart.expect │ │ │ │ │ ├── covariant.dart.intertwined.expect │ │ │ │ │ ├── covariant.dart.parser.expect │ │ │ │ │ ├── covariant.dart.scanner.expect │ │ │ │ │ ├── not_covariant.dart │ │ │ │ │ ├── not_covariant.dart.expect │ │ │ │ │ ├── not_covariant.dart.intertwined.expect │ │ │ │ │ ├── not_covariant.dart.parser.expect │ │ │ │ │ ├── not_covariant.dart.scanner.expect │ │ │ │ │ ├── static.dart │ │ │ │ │ ├── static.dart.expect │ │ │ │ │ ├── static.dart.intertwined.expect │ │ │ │ │ ├── static.dart.parser.expect │ │ │ │ │ ├── static.dart.scanner.expect │ │ │ │ │ ├── static_covariant.dart │ │ │ │ │ ├── static_covariant.dart.expect │ │ │ │ │ ├── static_covariant.dart.intertwined.expect │ │ │ │ │ ├── static_covariant.dart.parser.expect │ │ │ │ │ └── static_covariant.dart.scanner.expect │ │ │ │ ├── general/ │ │ │ │ │ ├── ambiguous_builder_01.dart │ │ │ │ │ ├── ambiguous_builder_01.dart.expect │ │ │ │ │ ├── ambiguous_builder_01.dart.intertwined.expect │ │ │ │ │ ├── ambiguous_builder_01.dart.parser.expect │ │ │ │ │ ├── ambiguous_builder_01.dart.scanner.expect │ │ │ │ │ ├── assignment.dart │ │ │ │ │ ├── assignment.dart.expect │ │ │ │ │ ├── assignment.dart.intertwined.expect │ │ │ │ │ ├── assignment.dart.parser.expect │ │ │ │ │ ├── assignment.dart.scanner.expect │ │ │ │ │ ├── augment_super.dart │ │ │ │ │ ├── augment_super.dart.expect │ │ │ │ │ ├── augment_super.dart.intertwined.expect │ │ │ │ │ ├── augment_super.dart.parser.expect │ │ │ │ │ ├── augment_super.dart.scanner.expect │ │ │ │ │ ├── built_in_identifier_class_fields.dart │ │ │ │ │ ├── built_in_identifier_class_fields.dart.expect │ │ │ │ │ ├── built_in_identifier_class_fields.dart.intertwined.expect │ │ │ │ │ ├── built_in_identifier_class_fields.dart.parser.expect │ │ │ │ │ ├── built_in_identifier_class_fields.dart.scanner.expect │ │ │ │ │ ├── built_in_identifier_class_methods.dart │ │ │ │ │ ├── built_in_identifier_class_methods.dart.expect │ │ │ │ │ ├── built_in_identifier_class_methods.dart.intertwined.expect │ │ │ │ │ ├── built_in_identifier_class_methods.dart.parser.expect │ │ │ │ │ ├── built_in_identifier_class_methods.dart.scanner.expect │ │ │ │ │ ├── built_in_identifier_top_level_fields.dart │ │ │ │ │ ├── built_in_identifier_top_level_fields.dart.expect │ │ │ │ │ ├── built_in_identifier_top_level_fields.dart.intertwined.expect │ │ │ │ │ ├── built_in_identifier_top_level_fields.dart.parser.expect │ │ │ │ │ ├── built_in_identifier_top_level_fields.dart.scanner.expect │ │ │ │ │ ├── built_in_identifier_top_level_methods.dart │ │ │ │ │ ├── built_in_identifier_top_level_methods.dart.expect │ │ │ │ │ ├── built_in_identifier_top_level_methods.dart.intertwined.expect │ │ │ │ │ ├── built_in_identifier_top_level_methods.dart.parser.expect │ │ │ │ │ ├── built_in_identifier_top_level_methods.dart.scanner.expect │ │ │ │ │ ├── call_on_after_try_block.dart │ │ │ │ │ ├── call_on_after_try_block.dart.expect │ │ │ │ │ ├── call_on_after_try_block.dart.intertwined.expect │ │ │ │ │ ├── call_on_after_try_block.dart.parser.expect │ │ │ │ │ ├── call_on_after_try_block.dart.scanner.expect │ │ │ │ │ ├── call_on_after_try_block2.dart │ │ │ │ │ ├── call_on_after_try_block2.dart.expect │ │ │ │ │ ├── call_on_after_try_block2.dart.intertwined.expect │ │ │ │ │ ├── call_on_after_try_block2.dart.parser.expect │ │ │ │ │ ├── call_on_after_try_block2.dart.scanner.expect │ │ │ │ │ ├── call_on_after_try_block2_prime.dart │ │ │ │ │ ├── call_on_after_try_block2_prime.dart.expect │ │ │ │ │ ├── call_on_after_try_block2_prime.dart.intertwined.expect │ │ │ │ │ ├── call_on_after_try_block2_prime.dart.parser.expect │ │ │ │ │ ├── call_on_after_try_block2_prime.dart.scanner.expect │ │ │ │ │ ├── call_on_after_try_block3.dart │ │ │ │ │ ├── call_on_after_try_block3.dart.expect │ │ │ │ │ ├── call_on_after_try_block3.dart.intertwined.expect │ │ │ │ │ ├── call_on_after_try_block3.dart.parser.expect │ │ │ │ │ ├── call_on_after_try_block3.dart.scanner.expect │ │ │ │ │ ├── call_on_after_try_block3_prime.dart │ │ │ │ │ ├── call_on_after_try_block3_prime.dart.expect │ │ │ │ │ ├── call_on_after_try_block3_prime.dart.intertwined.expect │ │ │ │ │ ├── call_on_after_try_block3_prime.dart.parser.expect │ │ │ │ │ ├── call_on_after_try_block3_prime.dart.scanner.expect │ │ │ │ │ ├── call_on_after_try_block4.dart │ │ │ │ │ ├── call_on_after_try_block4.dart.expect │ │ │ │ │ ├── call_on_after_try_block4.dart.intertwined.expect │ │ │ │ │ ├── call_on_after_try_block4.dart.parser.expect │ │ │ │ │ ├── call_on_after_try_block4.dart.scanner.expect │ │ │ │ │ ├── call_on_after_try_block4_prime.dart │ │ │ │ │ ├── call_on_after_try_block4_prime.dart.expect │ │ │ │ │ ├── call_on_after_try_block4_prime.dart.intertwined.expect │ │ │ │ │ ├── call_on_after_try_block4_prime.dart.parser.expect │ │ │ │ │ ├── call_on_after_try_block4_prime.dart.scanner.expect │ │ │ │ │ ├── call_on_after_try_block5.dart │ │ │ │ │ ├── call_on_after_try_block5.dart.expect │ │ │ │ │ ├── call_on_after_try_block5.dart.intertwined.expect │ │ │ │ │ ├── call_on_after_try_block5.dart.parser.expect │ │ │ │ │ ├── call_on_after_try_block5.dart.scanner.expect │ │ │ │ │ ├── call_on_after_try_block5_prime.dart │ │ │ │ │ ├── call_on_after_try_block5_prime.dart.expect │ │ │ │ │ ├── call_on_after_try_block5_prime.dart.intertwined.expect │ │ │ │ │ ├── call_on_after_try_block5_prime.dart.parser.expect │ │ │ │ │ ├── call_on_after_try_block5_prime.dart.scanner.expect │ │ │ │ │ ├── call_on_after_try_block_prime.dart │ │ │ │ │ ├── call_on_after_try_block_prime.dart.expect │ │ │ │ │ ├── call_on_after_try_block_prime.dart.intertwined.expect │ │ │ │ │ ├── call_on_after_try_block_prime.dart.parser.expect │ │ │ │ │ ├── call_on_after_try_block_prime.dart.scanner.expect │ │ │ │ │ ├── chained_call_01.dart │ │ │ │ │ ├── chained_call_01.dart.expect │ │ │ │ │ ├── chained_call_01.dart.intertwined.expect │ │ │ │ │ ├── chained_call_01.dart.parser.expect │ │ │ │ │ ├── chained_call_01.dart.scanner.expect │ │ │ │ │ ├── chained_call_02.dart │ │ │ │ │ ├── chained_call_02.dart.expect │ │ │ │ │ ├── chained_call_02.dart.intertwined.expect │ │ │ │ │ ├── chained_call_02.dart.parser.expect │ │ │ │ │ ├── chained_call_02.dart.scanner.expect │ │ │ │ │ ├── chained_call_03.dart │ │ │ │ │ ├── chained_call_03.dart.expect │ │ │ │ │ ├── chained_call_03.dart.intertwined.expect │ │ │ │ │ ├── chained_call_03.dart.parser.expect │ │ │ │ │ ├──
Showing preview only (5,150K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (64297 symbols across 6175 files)
FILE: example/android/app/src/main/java/com/beike/example_beike/MainActivity.java
class MainActivity (line 8) | public class MainActivity extends FlutterActivity {
method configureFlutterEngine (line 9) | @Override
FILE: example/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
class GeneratedPluginRegistrant (line 8) | public final class GeneratedPluginRegistrant {
method registerWith (line 9) | public static void registerWith(PluginRegistry registry) {
method alreadyRegisteredWith (line 15) | private static boolean alreadyRegisteredWith(PluginRegistry registry) {
FILE: example/lib/hook_example.dart
class FieldGetDemo (line 3) | @Aspect()
class FieldInitializerDemo (line 21) | @Aspect()
class CallDemo (line 52) | @Aspect()
method _incrementCounter4 (line 61) | void _incrementCounter4(PointCut pointcut)
class RegexCallDemo (line 101) | @Aspect()
class ExecuteDemo (line 143) | @Aspect()
class RegularExecuteDemo (line 185) | @Aspect()
class InjectDemo (line 226) | @Aspect()
class InjectSameLineDemo (line 281) | @Aspect()
class AddDemo (line 328) | @Aspect()
method addTest (line 336) | dynamic addTest(PointCut pointCut, int j, {String? s, int? i})
class RegexFilterSuperAddDemo (line 348) | @Aspect()
FILE: example/lib/main.dart
function main (line 10) | void main()
function appInit (line 18) | Future<void> appInit()
class Observer (line 22) | class Observer {
method onChanged (line 23) | void onChanged()
function injectDemo (line 26) | void injectDemo(List<Observer> observers)
class MyApp (line 41) | class MyApp extends StatelessWidget {
method build (line 47) | Widget build(BuildContext context)
class MyHomePage (line 71) | class MyHomePage extends StatefulWidget {
method createState (line 86) | _MyHomePageState createState()
class _MyHomePageState (line 88) | class _MyHomePageState extends State<MyHomePage> {
method onPluginDemo (line 98) | void onPluginDemo(int i, _MyHomePageState p)
method _incrementCounter (line 103) | void _incrementCounter()
method testFunction (line 114) | void testFunction()
method test (line 116) | void test()
method build (line 122) | Widget build(BuildContext context)
FILE: example/lib/receiver_test.dart
class Receiver (line 1) | class Receiver {
method tap (line 7) | void tap()
method receiveTapped (line 11) | void receiveTapped(int i, {int? j})
class Receiver2 (line 17) | class Receiver2 extends Receiver {
class Receiver3 (line 21) | class Receiver3 extends Receiver2 {
class Receiver4 (line 25) | class Receiver4 {
FILE: example/test/widget_test.dart
function main (line 13) | void main()
FILE: inner/flutter_frontend_server/generate_plugins_entry.dart
function main (line 10) | int main(List<String> args)
function checkIfGeneratePlugin (line 98) | bool checkIfGeneratePlugin(String pluginsDir, String pluginName)
FILE: inner/flutter_frontend_server/server.dart
class _FlutterFrontendCompiler (line 26) | class _FlutterFrontendCompiler implements frontend.CompilerInterface {
method compile (line 43) | Future<bool> compile(String filename, ArgResults options,
method recompileDelta (line 57) | Future<void> recompileDelta({String? entryPoint})
method acceptLastDelta (line 66) | void acceptLastDelta()
method rejectLastDelta (line 71) | Future<void> rejectLastDelta()
method invalidate (line 76) | void invalidate(Uri uri)
method compileExpression (line 81) | Future<void> compileExpression(
method compileExpressionToJs (line 106) | Future<void> compileExpressionToJs(
method reportError (line 119) | void reportError(String msg)
method resetIncrementalCompiler (line 124) | void resetIncrementalCompiler()
method setNativeAssets (line 129) | Future<bool> setNativeAssets(String nativeAssets)
function starter (line 138) | Future<int> starter(
class ToStringVisitor (line 225) | class ToStringVisitor extends RecursiveVisitor<void> {
method _importUriToPackage (line 235) | String _importUriToPackage(Uri importUri)
method _isInTargetPackage (line 238) | bool _isInTargetPackage(Procedure node)
method _hasKeepAnnotation (line 243) | bool _hasKeepAnnotation(Procedure node)
method visitProcedure (line 260) | void visitProcedure(Procedure node)
method defaultMember (line 281) | void defaultMember(Member node)
class ToStringTransformer (line 286) | class ToStringTransformer extends frontend.ProgramTransformer {
method transform (line 298) | void transform(Component component)
FILE: inner/flutter_frontend_server/starter.dart
function main (line 10) | void main(List<String> args)
FILE: inner/pkg/_fe_analyzer_shared/PRESUBMIT.py
function runSmokeTest (line 18) | def runSmokeTest(input_api, output_api):
function CheckChangeOnCommit (line 62) | def CheckChangeOnCommit(input_api, output_api):
function CheckChangeOnUpload (line 66) | def CheckChangeOnUpload(input_api, output_api):
FILE: inner/pkg/_fe_analyzer_shared/benchmark/exhaustiveness/large_fields_call_counts.dart
function main (line 14) | void main()
function expectExhaustiveOnlyAll (line 114) | void expectExhaustiveOnlyAll(ObjectPropertyLookup objectFieldLookup,
FILE: inner/pkg/_fe_analyzer_shared/benchmark/exhaustiveness/large_fields_timed.dart
function main (line 15) | void main()
function expectExhaustiveOnlyAll (line 113) | void expectExhaustiveOnlyAll(ObjectPropertyLookup objectFieldLookup,
FILE: inner/pkg/_fe_analyzer_shared/benchmark/exhaustiveness/large_subtype_count.dart
function main (line 17) | void main()
function testSubtypeCount (line 46) | void testSubtypeCount(int n)
function testFieldCount (line 76) | void testFieldCount(int n)
function expectExhaustive (line 91) | void expectExhaustive(String title, ObjectPropertyLookup objectFieldLookup,
FILE: inner/pkg/_fe_analyzer_shared/benchmark/macros/serialization_benchmark.dart
function main (line 13) | void main()
function _isolateSpawnBenchmarks (line 26) | Future<void> _isolateSpawnBenchmarks()
function childIsolateFn (line 27) | void Function(SendPort) childIsolateFn(SerializationMode mode)
function _isolateSpawnUriBenchmarks (line 84) | Future<void> _isolateSpawnUriBenchmarks()
function _separateProcessBenchmarks (line 130) | Future<void> _separateProcessBenchmarks()
function childProgram (line 185) | String childProgram(SerializationMode mode)
function serialize (line 268) | Object? serialize()
function deserialize (line 284) | void deserialize(Object? result)
FILE: inner/pkg/_fe_analyzer_shared/lib/src/base/errors.dart
class ErrorCode (line 13) | abstract class ErrorCode {
method toString (line 118) | String toString()
class ErrorSeverity (line 124) | class ErrorSeverity implements Comparable<ErrorSeverity> {
method compareTo (line 181) | int compareTo(ErrorSeverity other)
method max (line 186) | ErrorSeverity max(ErrorSeverity severity)
method toString (line 190) | String toString()
class ErrorType (line 196) | class ErrorType implements Comparable<ErrorType> {
method compareTo (line 289) | int compareTo(ErrorType other)
method toString (line 292) | String toString()
FILE: inner/pkg/_fe_analyzer_shared/lib/src/base/syntactic_entity.dart
class SyntacticEntity (line 9) | abstract class SyntacticEntity {
FILE: inner/pkg/_fe_analyzer_shared/lib/src/deferred_function_literal_heuristic.dart
class FunctionLiteralDependencies (line 14) | abstract class FunctionLiteralDependencies<TypeVariable, ParamInfo,
method planReconciliationStages (line 81) | List<List<DeferredParamInfo>> planReconciliationStages()
method _sortStage (line 87) | List<_Node<ParamInfo>> _sortStage(List<_Node<ParamInfo>> stage)
method typeVarsFreeInParamParams (line 107) | Iterable<TypeVariable> typeVarsFreeInParamParams(DeferredParamInfo param)
method typeVarsFreeInParamReturns (line 116) | Iterable<TypeVariable> typeVarsFreeInParamReturns(ParamInfo param)
class _DependencyWalker (line 121) | class _DependencyWalker<ParamInfo, DeferredParamInfo extends ParamInfo>
method evaluate (line 127) | void evaluate(_Node<ParamInfo> v)
method evaluateScc (line 130) | void evaluateScc(List<_Node<ParamInfo>> nodes)
class _Node (line 159) | class _Node<ParamInfo> extends Node<_Node<ParamInfo>> {
method computeDependencies (line 180) | List<_Node<ParamInfo>> computeDependencies()
FILE: inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/exhaustive.dart
function isExhaustive (line 14) | bool isExhaustive(ObjectPropertyLookup fieldLookup, Space valueSpace,
function reportErrors (line 27) | List<ExhaustivenessError> reportErrors(
function checkExhaustiveness (line 54) | Witness? checkExhaustiveness(
class _Checker (line 69) | class _Checker {
method _unmatched (line 80) | Witness? _unmatched(List<List<Space>> caseRows, List<Space> valuePatte...
method _filterByType (line 155) | Witness? _filterByType(
method _expandProperties (line 251) | List<Space> _expandProperties(
function expandSealedSubtypes (line 300) | List<StaticType> expandSealedSubtypes(
function checkingOrder (line 313) | List<StaticType> checkingOrder(StaticType type, Set<Key> keysOfInterest)
class ExhaustivenessError (line 326) | class ExhaustivenessError {}
class NonExhaustiveError (line 328) | class NonExhaustiveError implements ExhaustivenessError {
method toString (line 338) | String toString()
class UnreachableCaseError (line 342) | class UnreachableCaseError implements ExhaustivenessError {
method toString (line 350) | String toString()
FILE: inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/key.dart
class Key (line 10) | abstract class Key implements Comparable<Key> {
class MapKey (line 15) | class MapKey extends Key {
method toString (line 34) | String toString()
method compareTo (line 37) | int compareTo(Key other)
class ListKey (line 52) | abstract class ListKey implements Key {}
class HeadKey (line 55) | class HeadKey extends Key implements ListKey {
method toString (line 73) | String toString()
method compareTo (line 76) | int compareTo(Key other)
class TailKey (line 88) | class TailKey extends Key implements ListKey {
method toString (line 106) | String toString()
method compareTo (line 109) | int compareTo(Key other)
class RestKey (line 124) | class RestKey extends Key implements ListKey {
method toString (line 145) | String toString()
method compareTo (line 148) | int compareTo(Key other)
class NameKey (line 166) | class NameKey extends Key {
method toString (line 182) | String toString()
method compareTo (line 185) | int compareTo(Key other)
class RecordKey (line 203) | abstract class RecordKey implements Key {}
class RecordIndexKey (line 206) | class RecordIndexKey extends NameKey implements RecordKey {
method compareTo (line 212) | int compareTo(Key other)
class RecordNameKey (line 229) | class RecordNameKey extends NameKey implements RecordKey {
class ExtensionKey (line 233) | class ExtensionKey implements Key {
method compareTo (line 242) | int compareTo(Key other)
method toString (line 269) | String toString()
FILE: inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/path.dart
class Path (line 9) | abstract class Path {
method add (line 16) | Path add(Key key)
method _toList (line 18) | void _toList(List<Key> list)
method toList (line 21) | List<Key> toList()
class _Root (line 25) | class _Root extends Path {
method _toList (line 29) | void _toList(List<Key> list)
method toList (line 32) | List<Key> toList()
method toString (line 43) | String toString()
class _Step (line 48) | class _Step extends Path {
method toList (line 55) | List<Key> toList()
method _toList (line 62) | void _toList(List<Key> list)
method toString (line 77) | String toString()
FILE: inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/profile.dart
function count (line 11) | void count(String name, [String? subname])
function log (line 21) | void log()
function reset (line 35) | void reset()
function run (line 39) | void run(void Function() callback)
FILE: inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/shared.dart
class TypeOperations (line 14) | abstract class TypeOperations<Type extends Object> {
method isSubtypeOf (line 22) | bool isSubtypeOf(Type s, Type t)
method overapproximate (line 26) | Type overapproximate(Type type)
method isNullable (line 29) | bool isNullable(Type type)
method getNonNullable (line 34) | Type getNonNullable(Type type)
method isNullType (line 37) | bool isNullType(Type type)
method isNeverType (line 40) | bool isNeverType(Type type)
method isNullableObject (line 43) | bool isNullableObject(Type type)
method isNonNullableObject (line 46) | bool isNonNullableObject(Type type)
method isDynamic (line 49) | bool isDynamic(Type type)
method isBoolType (line 52) | bool isBoolType(Type type)
method isRecordType (line 58) | bool isRecordType(Type type)
method isGeneric (line 61) | bool isGeneric(Type type)
method getFutureOrTypeArgument (line 64) | Type? getFutureOrTypeArgument(Type type)
method instantiateFuture (line 67) | Type instantiateFuture(Type type)
method getFieldTypes (line 72) | Map<Key, Type> getFieldTypes(Type type)
method getMapValueType (line 76) | Type? getMapValueType(Type type)
method getListElementType (line 80) | Type? getListElementType(Type type)
method getListType (line 84) | Type? getListType(Type type)
method typeToString (line 87) | String typeToString(Type type)
method hasSimpleName (line 91) | bool hasSimpleName(Type type)
method getTypeVariableBound (line 95) | Type? getTypeVariableBound(Type type)
class FieldLookup (line 100) | abstract class FieldLookup<Type extends Object> {
method getFieldTypes (line 104) | Map<Key, StaticType> getFieldTypes(Type type)
method getAdditionalFieldType (line 106) | StaticType? getAdditionalFieldType(Type type, Key key)
class ExhaustivenessCache (line 114) | class ExhaustivenessCache<
method _getEnumInfo (line 147) | EnumInfo<Type, EnumClass, EnumElement, EnumElementValue> _getEnumInfo(
method _getSealedClassInfo (line 154) | SealedClassInfo<Type, Class> _getSealedClassInfo(Class sealedClass)
method getBoolValueStaticType (line 160) | StaticType getBoolValueStaticType(bool value)
method getStaticType (line 165) | StaticType getStaticType(Type type)
method getEnumElementStaticType (line 240) | StaticType getEnumElementStaticType(
method getUnknownStaticType (line 246) | StaticType getUnknownStaticType()
method getUniqueStaticType (line 259) | StaticType getUniqueStaticType<Identity extends Object>(
method getListStaticType (line 276) | StaticType getListStaticType(
method getMapStaticType (line 288) | StaticType getMapStaticType(Type type, MapTypeRestriction<Type> restri...
method getFieldTypes (line 299) | Map<Key, StaticType> getFieldTypes(Type type)
method getAdditionalFieldType (line 312) | StaticType? getAdditionalFieldType(Type type, Key key)
method getObjectFieldType (line 335) | StaticType? getObjectFieldType(Key key)
function createUnknownStaticType (line 351) | StaticType createUnknownStaticType()
function createStaticType (line 354) | StaticType createStaticType(Type type)
function _createStaticTypeWithContext (line 358) | StaticType _createStaticTypeWithContext(StaticType contextType, Type type,
function createListType (line 371) | StaticType createListType(Type type, ListTypeRestriction<Type> restriction)
function createMapType (line 374) | StaticType createMapType(Type type, MapTypeRestriction<Type> restriction)
function dispatchPattern (line 387) | Space dispatchPattern(Path path, StaticType contextType, Pattern pattern,
function createRootSpace (line 391) | Space createRootSpace(StaticType contextType, Pattern pattern,
function createVariableSpace (line 405) | Space createVariableSpace(Path path, StaticType contextType, Type type,
function createObjectSpace (line 416) | Space createObjectSpace(
function createRecordSpace (line 448) | Space createRecordSpace(Path path, StaticType contextType, Type recordType,
function createWildcardSpace (line 478) | Space createWildcardSpace(Path path, StaticType contextType, Type? type,
function createRelationalSpace (line 494) | Space createRelationalSpace(Path path)
function createCastSpace (line 503) | Space createCastSpace(
function createNullCheckSpace (line 545) | Space createNullCheckSpace(
function createNullAssertSpace (line 552) | Space createNullAssertSpace(
function createLogicalOrSpace (line 562) | Space createLogicalOrSpace(
function createLogicalAndSpace (line 574) | Space createLogicalAndSpace(
function createListSpace (line 583) | Space createListSpace(Path path,
function createMapSpace (line 645) | Space createMapSpace(Path path,
function createUnknownSpace (line 687) | Space createUnknownSpace(Path path)
function _createSingleSpaceIntersection (line 693) | SingleSpace? _createSingleSpaceIntersection(
function _createSpaceIntersection (line 724) | Space _createSpaceIntersection(Path path, Space a, Space b)
FILE: inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/space.dart
class SingleSpace (line 17) | class SingleSpace {
method toString (line 55) | String toString()
class Space (line 64) | class Space {
method union (line 114) | Space union(Space other)
method toString (line 120) | String toString()
FILE: inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/static_type.dart
class StaticType (line 10) | abstract class StaticType {
method getPropertyType (line 34) | StaticType? getPropertyType(ObjectPropertyLookup fieldLookup, Key key)
method getAdditionalPropertyType (line 41) | StaticType? getAdditionalPropertyType(Key key)
method isSubtypeOf (line 45) | bool isSubtypeOf(StaticType other)
method getSubtypes (line 93) | Iterable<StaticType> getSubtypes(Set<Key> keysOfInterest)
method spaceToText (line 97) | String spaceToText(Map<Key, Space> spaceProperties,
method witnessToText (line 105) | void witnessToText(StringBuffer buffer, PropertyWitness witness,
function getPropertyType (line 112) | StaticType? getPropertyType(ObjectPropertyLookup fieldLookup, Key key)
class _BaseStaticType (line 117) | abstract class _BaseStaticType implements StaticType {
method getPropertyType (line 127) | StaticType? getPropertyType(ObjectPropertyLookup fieldLookup, Key key)
method getAdditionalPropertyType (line 132) | StaticType? getAdditionalPropertyType(Key key)
method getSubtypes (line 135) | Iterable<StaticType> getSubtypes(Set<Key> keysOfInterest)
method isSubtypeOf (line 138) | bool isSubtypeOf(StaticType other)
method spaceToText (line 152) | String spaceToText(Map<Key, Space> spaceProperties,
method witnessToText (line 185) | void witnessToText(StringBuffer buffer, PropertyWitness witness,
method toString (line 210) | String toString()
class _NonNullableObject (line 213) | class _NonNullableObject extends _BaseStaticType with _ObjectFieldMixin {
method isSubtypeOf (line 220) | bool isSubtypeOf(StaticType other)
class _NeverType (line 238) | class _NeverType extends _BaseStaticType with _ObjectFieldMixin {
method isSubtypeOf (line 245) | bool isSubtypeOf(StaticType other)
class _NullType (line 263) | class _NullType extends NullableStaticType with _ObjectFieldMixin {
method getSubtypes (line 273) | Iterable<StaticType> getSubtypes(Set<Key> keysOfInterest)
class NullableStaticType (line 285) | class NullableStaticType extends _BaseStaticType with _ObjectFieldMixin {
method getSubtypes (line 294) | Iterable<StaticType> getSubtypes(Set<Key> keysOfInterest)
method isSubtypeOf (line 298) | bool isSubtypeOf(StaticType other)
class NonNullableStaticType (line 330) | abstract class NonNullableStaticType extends _BaseStaticType {
method isSubtypeOf (line 338) | bool isSubtypeOf(StaticType other)
method isSubtypeOfInternal (line 353) | bool isSubtypeOfInternal(StaticType other)
method toString (line 356) | String toString()
class WrappedStaticType (line 361) | class WrappedStaticType extends _BaseStaticType {
method getPropertyType (line 371) | StaticType? getPropertyType(ObjectPropertyLookup fieldLookup, Key key)
method getSubtypes (line 388) | Iterable<StaticType> getSubtypes(Set<Key> keysOfInterest)
method isSubtypeOf (line 393) | bool isSubtypeOf(StaticType other)
method witnessToText (line 411) | void witnessToText(StringBuffer buffer, PropertyWitness witness,
class ObjectPropertyLookup (line 432) | abstract class ObjectPropertyLookup {
method getObjectFieldType (line 435) | StaticType? getObjectFieldType(Key key)
FILE: inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/test_helper.dart
class Tags (line 11) | class Tags {
function spacesToText (line 22) | String spacesToText(Space space)
function fieldsToText (line 32) | String fieldsToText(StaticType type, ObjectPropertyLookup objectFieldLoo...
function staticTypeToText (line 63) | String staticTypeToText(StaticType type)
function typesToText (line 66) | String? typesToText(Iterable<StaticType> types)
function errorToText (line 81) | String errorToText(ExhaustivenessError error)
FILE: inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/types.dart
class TypeBasedStaticType (line 25) | class TypeBasedStaticType<Type extends Object> extends NonNullableStatic...
method getAdditionalPropertyType (line 39) | StaticType? getAdditionalPropertyType(Key key)
method isSubtypeOfInternal (line 47) | bool isSubtypeOfInternal(StaticType other)
method witnessToText (line 73) | void witnessToText(StringBuffer buffer, PropertyWitness witness,
class RestrictedStaticType (line 108) | abstract class RestrictedStaticType<Type extends Object,
class ValueStaticType (line 122) | class ValueStaticType<Type extends Object, T extends Object>
method witnessToText (line 128) | void witnessToText(StringBuffer buffer, PropertyWitness witness,
class Restriction (line 160) | abstract class Restriction<Type extends Object> {
method isSubtypeOf (line 165) | bool isSubtypeOf(TypeOperations<Type> typeOperations, Restriction other)
class Unrestricted (line 169) | class Unrestricted implements Restriction<Object> {
method isSubtypeOf (line 176) | bool isSubtypeOf(TypeOperations<Object> typeOperations, Restriction ot...
class IdentityRestriction (line 181) | class IdentityRestriction<Identity extends Object>
method isSubtypeOf (line 191) | bool isSubtypeOf(TypeOperations<Object> typeOperations, Restriction ot...
FILE: inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/types/bool.dart
class BoolStaticType (line 8) | class BoolStaticType<Type extends Object> extends TypeBasedStaticType<Ty...
method getSubtypes (line 22) | Iterable<StaticType> getSubtypes(Set<Key> keysOfInterest)
FILE: inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/types/enum.dart
class EnumOperations (line 8) | abstract class EnumOperations<Type extends Object, EnumClass extends Obj...
method getEnumClass (line 12) | EnumClass? getEnumClass(Type type)
method getEnumElements (line 15) | Iterable<EnumElement> getEnumElements(EnumClass enumClass)
method getEnumElementValue (line 20) | EnumElementValue getEnumElementValue(EnumElement enumElement)
method getEnumElementName (line 23) | String getEnumElementName(EnumElement enumElement)
method getEnumElementType (line 26) | Type getEnumElementType(EnumElement enumElement)
class EnumInfo (line 31) | class EnumInfo<Type extends Object, EnumClass extends Object,
method getEnumElement (line 50) | EnumElementStaticType<Type, EnumElement> getEnumElement(
method _createEnumElements (line 55) | Map<EnumElementValue, EnumElementStaticType<Type, EnumElement>>
class EnumStaticType (line 74) | class EnumStaticType<Type extends Object, EnumElement extends Object>
method getSubtypes (line 87) | Iterable<StaticType> getSubtypes(Set<Key> keysOfInterest)
method _createEnumElements (line 91) | List<StaticType> _createEnumElements()
class EnumElementStaticType (line 135) | class EnumElementStaticType<Type extends Object, EnumElement extends Obj...
FILE: inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/types/future_or.dart
class FutureOrStaticType (line 10) | class FutureOrStaticType<Type extends Object>
method getSubtypes (line 26) | Iterable<StaticType> getSubtypes(Set<Key> keysOfInterest)
FILE: inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/types/list.dart
class ListTypeStaticType (line 56) | class ListTypeStaticType<Type extends Object>
method getSubtypes (line 65) | Iterable<StaticType> getSubtypes(Set<Key> keysOfInterest)
class ListPatternStaticType (line 106) | class ListPatternStaticType<Type extends Object>
method spaceToText (line 112) | String spaceToText(Map<Key, Space> spaceProperties,
method witnessToText (line 133) | void witnessToText(StringBuffer buffer, PropertyWitness witness,
class ListTypeRestriction (line 217) | class ListTypeRestriction<Type extends Object> implements Restriction<Ty...
method isSubtypeOf (line 245) | bool isSubtypeOf(TypeOperations<Type> typeOperations, Restriction other)
method toString (line 261) | String toString()
FILE: inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/types/map.dart
class MapPatternStaticType (line 9) | class MapPatternStaticType<Type extends Object>
method spaceToText (line 15) | String spaceToText(Map<Key, Space> spaceProperties,
method witnessToText (line 33) | void witnessToText(StringBuffer buffer, PropertyWitness witness,
class MapTypeRestriction (line 83) | class MapTypeRestriction<Type extends Object> implements Restriction<Typ...
method isSubtypeOf (line 114) | bool isSubtypeOf(TypeOperations<Type> typeOperations, Restriction other)
method toString (line 123) | String toString()
FILE: inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/types/record.dart
class RecordStaticType (line 25) | class RecordStaticType<Type extends Object> extends TypeBasedStaticType<...
method isSubtypeOfInternal (line 33) | bool isSubtypeOfInternal(StaticType other)
method spaceToText (line 50) | String spaceToText(Map<Key, Space> spaceProperties,
method witnessToText (line 95) | void witnessToText(StringBuffer buffer, PropertyWitness witness,
FILE: inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/types/sealed.dart
class SealedClassOperations (line 9) | abstract class SealedClassOperations<Type extends Object,
method getSealedClass (line 13) | Class? getSealedClass(Type type)
method getDirectSubclasses (line 17) | List<Class> getDirectSubclasses(Class sealedClass)
method getSubclassAsInstanceOf (line 33) | Type? getSubclassAsInstanceOf(Class subClass, Type sealedClassType)
class SealedClassInfo (line 38) | class SealedClassInfo<Type extends Object, Class extends Object> {
class SealedClassStaticType (line 52) | class SealedClassStaticType<Type extends Object, Class extends Object>
method getSubtypes (line 67) | Iterable<StaticType> getSubtypes(Set<Key> keysOfInterest)
method _createSubtypes (line 70) | List<StaticType> _createSubtypes()
FILE: inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/witness.dart
class Predicate (line 12) | class Predicate {
method toString (line 29) | String toString()
class Witness (line 50) | class Witness {
method _buildWitness (line 56) | PropertyWitness _buildWitness()
method toString (line 75) | String toString()
class PropertyWitness (line 79) | class PropertyWitness {
method witnessToText (line 84) | void witnessToText(StringBuffer buffer, {required bool forCorrection})
method toString (line 146) | String toString()
FILE: inner/pkg/_fe_analyzer_shared/lib/src/experiments/errors.dart
function getExperimentNotEnabledMessage (line 10) | Message getExperimentNotEnabledMessage(ExperimentalFlag experimentalFlag)
FILE: inner/pkg/_fe_analyzer_shared/lib/src/experiments/flags.dart
type ExperimentalFlag (line 11) | enum ExperimentalFlag {
class Version (line 216) | class Version {
method toText (line 222) | String toText()
method toString (line 225) | String toString()
FILE: inner/pkg/_fe_analyzer_shared/lib/src/flow_analysis/factory_type_test_helper.dart
class FactorTypeTestMixin (line 5) | abstract class FactorTypeTestMixin<Type> {
method futureNone (line 6) | Type futureNone(Type type)
method futureOrNone (line 7) | Type futureOrNone(Type type)
method test_dynamic (line 25) | void test_dynamic()
method test_futureOr (line 29) | void test_futureOr()
method test_object (line 44) | void test_object()
method test_void (line 104) | void test_void()
method factor (line 108) | Type factor(Type T, Type S)
method expect (line 110) | void expect(Type T, Type S, String actualResult, String expectedResult)
method check (line 112) | void check(Type T, Type S, String expectedStr)
method typeString (line 119) | String typeString(Type type)
FILE: inner/pkg/_fe_analyzer_shared/lib/src/flow_analysis/flow_analysis.dart
class DemoteViaExplicitWrite (line 14) | class DemoteViaExplicitWrite<Variable extends Object>
method accept (line 32) | R accept<R, Node extends Object, Variable extends Object,
method toString (line 39) | String toString()
class EqualityInfo (line 44) | class EqualityInfo<Type extends Object> {
method toString (line 59) | String toString()
class ExpressionInfo (line 66) | class ExpressionInfo<Type extends Object> {
method invert (line 82) | ExpressionInfo<Type> invert()
method rebaseForward (line 85) | ExpressionInfo<Type>? rebaseForward(
method toString (line 93) | String toString()
class FlowAnalysis (line 103) | abstract class FlowAnalysis<Node extends Object, Statement extends Node,
method asExpression_end (line 126) | void asExpression_end(Expression subExpression, Type type)
method assert_afterCondition (line 134) | void assert_afterCondition(Expression condition)
method assert_begin (line 152) | void assert_begin()
method assert_end (line 158) | void assert_end()
method assignedVariablePattern (line 164) | void assignedVariablePattern(Node node, Variable variable, Type writte...
method assignMatchedPatternVariable (line 180) | void assignMatchedPatternVariable(Variable variable, int promotionKey)
method booleanLiteral (line 183) | void booleanLiteral(Expression expression, bool value)
method conditional_conditionBegin (line 186) | void conditional_conditionBegin()
method conditional_elseBegin (line 190) | void conditional_elseBegin(Expression thenExpression)
method conditional_end (line 195) | void conditional_end(
method conditional_thenBegin (line 201) | void conditional_thenBegin(Expression condition, Node conditionalExpre...
method constantPattern_end (line 211) | void constantPattern_end(Expression expression, Type type,
method copyPromotionData (line 220) | void copyPromotionData({required int sourceKey, required int destinati...
method declare (line 236) | void declare(Variable variable, Type staticType,
method declaredVariablePattern (line 255) | int declaredVariablePattern(
method doStatement_bodyBegin (line 265) | void doStatement_bodyBegin(Statement doStatement)
method doStatement_conditionBegin (line 269) | void doStatement_conditionBegin()
method doStatement_end (line 273) | void doStatement_end(Expression condition)
method equalityOperand_end (line 283) | EqualityInfo<Type>? equalityOperand_end(Expression operand, Type type)
method equalityOperation_end (line 290) | void equalityOperation_end(Expression wholeExpression,
method equalityRelationalPattern_end (line 298) | void equalityRelationalPattern_end(Expression operand, Type operandType,
method expressionInfoForTesting (line 305) | ExpressionInfo<Type>? expressionInfoForTesting(Expression target)
method finish (line 309) | void finish()
method for_bodyBegin (line 324) | void for_bodyBegin(Statement? node, Expression? condition)
method for_conditionBegin (line 346) | void for_conditionBegin(Node node)
method for_end (line 350) | void for_end()
method for_updaterBegin (line 354) | void for_updaterBegin()
method forEach_bodyBegin (line 368) | void forEach_bodyBegin(Node node)
method forEach_end (line 372) | void forEach_end()
method forwardExpression (line 392) | void forwardExpression(Expression newExpression, Expression oldExpress...
method functionExpression_begin (line 399) | void functionExpression_begin(Node node)
method functionExpression_end (line 403) | void functionExpression_end()
method getMatchedValueType (line 409) | Type getMatchedValueType()
method handleBreak (line 417) | void handleBreak(Statement? target)
method handleContinue (line 425) | void handleContinue(Statement? target)
method handleExit (line 431) | void handleExit()
method ifCaseStatement_afterExpression (line 438) | void ifCaseStatement_afterExpression(
method ifCaseStatement_begin (line 464) | void ifCaseStatement_begin()
method ifCaseStatement_thenBegin (line 470) | void ifCaseStatement_thenBegin(Expression? guard)
method ifNullExpression_end (line 478) | void ifNullExpression_end()
method ifNullExpression_rightBegin (line 482) | void ifNullExpression_rightBegin(
method ifStatement_conditionBegin (line 502) | void ifStatement_conditionBegin()
method ifStatement_elseBegin (line 506) | void ifStatement_elseBegin()
method ifStatement_end (line 509) | void ifStatement_end(bool hasElse)
method ifStatement_thenBegin (line 516) | void ifStatement_thenBegin(Expression? condition, Node ifNode)
method initialize (line 524) | void initialize(
method isAssigned (line 531) | bool isAssigned(Variable variable)
method isExpression_end (line 539) | void isExpression_end(
method isUnassigned (line 544) | bool isUnassigned(Variable variable)
method labeledStatement_begin (line 548) | void labeledStatement_begin(Statement node)
method labeledStatement_end (line 551) | void labeledStatement_end()
method lateInitializer_begin (line 554) | void lateInitializer_begin(Node node)
method lateInitializer_end (line 557) | void lateInitializer_end()
method logicalBinaryOp_begin (line 561) | void logicalBinaryOp_begin()
method logicalBinaryOp_end (line 568) | void logicalBinaryOp_end(Expression wholeExpression, Expression rightO...
method logicalBinaryOp_rightBegin (line 576) | void logicalBinaryOp_rightBegin(Expression leftOperand, Node wholeExpr...
method logicalNot_end (line 582) | void logicalNot_end(Expression notExpression, Expression operand)
method logicalOrPattern_afterLhs (line 586) | void logicalOrPattern_afterLhs()
method logicalOrPattern_begin (line 589) | void logicalOrPattern_begin()
method logicalOrPattern_end (line 592) | void logicalOrPattern_end()
method nonEqualityRelationalPattern_end (line 596) | void nonEqualityRelationalPattern_end()
method nonNullAssert_end (line 600) | void nonNullAssert_end(Expression operand)
method nullAwareAccess_end (line 603) | void nullAwareAccess_end()
method nullAwareAccess_rightBegin (line 620) | void nullAwareAccess_rightBegin(Expression? target, Type targetType)
method nullCheckOrAssertPattern_begin (line 625) | bool nullCheckOrAssertPattern_begin({required bool isAssert})
method nullCheckOrAssertPattern_end (line 629) | void nullCheckOrAssertPattern_end()
method nullLiteral (line 632) | void nullLiteral(Expression expression)
method parenthesizedExpression (line 638) | void parenthesizedExpression(
method patternAssignment_afterRhs (line 645) | void patternAssignment_afterRhs(Expression rhs, Type rhsType)
method patternAssignment_end (line 648) | void patternAssignment_end()
method patternForIn_afterExpression (line 655) | void patternForIn_afterExpression(Type elementType)
method patternForIn_end (line 658) | void patternForIn_end()
method patternVariableDeclaration_afterInitializer (line 665) | void patternVariableDeclaration_afterInitializer(
method patternVariableDeclaration_end (line 670) | void patternVariableDeclaration_end()
method popSubpattern (line 674) | void popSubpattern()
method promotedPropertyType (line 695) | Type? promotedPropertyType(Expression? target, String propertyName,
method promotedType (line 700) | Type? promotedType(Variable variable)
method promoteForPattern (line 723) | bool promoteForPattern(
method propertyGet (line 751) | Type? propertyGet(Expression? wholeExpression, Expression target,
method pushSubpattern (line 761) | void pushSubpattern(Type matchedType)
method ssaNodeForTesting (line 767) | SsaNode<Type>? ssaNodeForTesting(Variable variable)
method switchStatement_afterCase (line 774) | bool switchStatement_afterCase()
method switchStatement_beginAlternative (line 778) | void switchStatement_beginAlternative()
method switchStatement_beginAlternatives (line 783) | void switchStatement_beginAlternatives()
method switchStatement_end (line 795) | bool switchStatement_end(bool isExhaustive)
method switchStatement_endAlternative (line 806) | void switchStatement_endAlternative(
method switchStatement_endAlternatives (line 820) | PatternVariableInfo<Variable> switchStatement_endAlternatives(Statemen...
method switchStatement_expressionEnd (line 844) | void switchStatement_expressionEnd(
method thisOrSuper (line 852) | void thisOrSuper(Expression expression, Type staticType)
method thisOrSuperPropertyGet (line 871) | Type? thisOrSuperPropertyGet(Expression expression, String propertyName,
method tryCatchStatement_bodyBegin (line 901) | void tryCatchStatement_bodyBegin()
method tryCatchStatement_bodyEnd (line 908) | void tryCatchStatement_bodyEnd(Node body)
method tryCatchStatement_catchBegin (line 916) | void tryCatchStatement_catchBegin(
method tryCatchStatement_catchEnd (line 921) | void tryCatchStatement_catchEnd()
method tryCatchStatement_end (line 925) | void tryCatchStatement_end()
method tryFinallyStatement_bodyBegin (line 939) | void tryFinallyStatement_bodyBegin()
method tryFinallyStatement_end (line 943) | void tryFinallyStatement_end()
method tryFinallyStatement_finallyBegin (line 951) | void tryFinallyStatement_finallyBegin(Node body)
method variableRead (line 958) | Type? variableRead(Expression expression, Variable variable)
method whileStatement_bodyBegin (line 963) | void whileStatement_bodyBegin(Statement whileStatement, Expression con...
method whileStatement_conditionBegin (line 970) | void whileStatement_conditionBegin(Node node)
method whileStatement_end (line 973) | void whileStatement_end()
method whyNotPromoted (line 999) | Map<Type, NonPromotionReason> Function() whyNotPromoted(Expression tar...
method whyNotPromotedImplicitThis (line 1025) | Map<Type, NonPromotionReason> Function() whyNotPromotedImplicitThis(
method write (line 1039) | void write(Node node, Variable variable, Type writtenType,
method _dumpState (line 1044) | void _dumpState()
class FlowAnalysisDebug (line 1049) | class FlowAnalysisDebug<Node extends Object, Statement extends Node,
method asExpression_end (line 1087) | void asExpression_end(Expression subExpression, Type type)
method assert_afterCondition (line 1093) | void assert_afterCondition(Expression condition)
method assert_begin (line 1099) | void assert_begin()
method assert_end (line 1104) | void assert_end()
method assignedVariablePattern (line 1109) | void assignedVariablePattern(Node node, Variable variable, Type writte...
method assignMatchedPatternVariable (line 1115) | void assignMatchedPatternVariable(Variable variable, int promotionKey)
method booleanLiteral (line 1121) | void booleanLiteral(Expression expression, bool value)
method conditional_conditionBegin (line 1127) | void conditional_conditionBegin()
method conditional_elseBegin (line 1133) | void conditional_elseBegin(Expression thenExpression)
method conditional_end (line 1139) | void conditional_end(
method conditional_thenBegin (line 1146) | void conditional_thenBegin(Expression condition, Node conditionalExpre...
method constantPattern_end (line 1152) | void constantPattern_end(Expression expression, Type type,
method copyPromotionData (line 1162) | void copyPromotionData(
method declare (line 1172) | void declare(Variable variable, Type staticType,
method declaredVariablePattern (line 1182) | int declaredVariablePattern(
method doStatement_bodyBegin (line 1203) | void doStatement_bodyBegin(Statement doStatement)
method doStatement_conditionBegin (line 1209) | void doStatement_conditionBegin()
method doStatement_end (line 1215) | void doStatement_end(Expression condition)
method equalityOperand_end (line 1221) | EqualityInfo<Type>? equalityOperand_end(Expression operand, Type type)
method equalityOperation_end (line 1227) | void equalityOperation_end(Expression wholeExpression,
method equalityRelationalPattern_end (line 1239) | void equalityRelationalPattern_end(Expression operand, Type operandType,
method expressionInfoForTesting (line 1249) | ExpressionInfo<Type>? expressionInfoForTesting(Expression target)
method finish (line 1256) | void finish()
method for_bodyBegin (line 1265) | void for_bodyBegin(Statement? node, Expression? condition)
method for_conditionBegin (line 1271) | void for_conditionBegin(Node node)
method for_end (line 1276) | void for_end()
method for_updaterBegin (line 1281) | void for_updaterBegin()
method forEach_bodyBegin (line 1286) | void forEach_bodyBegin(Node node)
method forEach_end (line 1292) | void forEach_end()
method forwardExpression (line 1297) | void forwardExpression(Expression newExpression, Expression oldExpress...
method functionExpression_begin (line 1303) | void functionExpression_begin(Node node)
method functionExpression_end (line 1309) | void functionExpression_end()
method getMatchedValueType (line 1314) | Type getMatchedValueType()
method handleBreak (line 1320) | void handleBreak(Statement? target)
method handleContinue (line 1325) | void handleContinue(Statement? target)
method handleExit (line 1330) | void handleExit()
method ifCaseStatement_afterExpression (line 1335) | void ifCaseStatement_afterExpression(
method ifCaseStatement_begin (line 1344) | void ifCaseStatement_begin()
method ifCaseStatement_thenBegin (line 1349) | void ifCaseStatement_thenBegin(Expression? guard)
method ifNullExpression_end (line 1355) | void ifNullExpression_end()
method ifNullExpression_rightBegin (line 1361) | void ifNullExpression_rightBegin(
method ifStatement_conditionBegin (line 1370) | void ifStatement_conditionBegin()
method ifStatement_elseBegin (line 1376) | void ifStatement_elseBegin()
method ifStatement_end (line 1382) | void ifStatement_end(bool hasElse)
method ifStatement_thenBegin (line 1387) | void ifStatement_thenBegin(Expression? condition, Node ifNode)
method initialize (line 1393) | void initialize(
method isAssigned (line 1409) | bool isAssigned(Variable variable)
method isExpression_end (line 1415) | void isExpression_end(Expression isExpression, Expression subExpression,
method isUnassigned (line 1424) | bool isUnassigned(Variable variable)
method labeledStatement_begin (line 1431) | void labeledStatement_begin(Statement node)
method labeledStatement_end (line 1437) | void labeledStatement_end()
method lateInitializer_begin (line 1443) | void lateInitializer_begin(Node node)
method lateInitializer_end (line 1449) | void lateInitializer_end()
method logicalBinaryOp_begin (line 1454) | void logicalBinaryOp_begin()
method logicalBinaryOp_end (line 1459) | void logicalBinaryOp_end(Expression wholeExpression, Expression rightO...
method logicalBinaryOp_rightBegin (line 1468) | void logicalBinaryOp_rightBegin(Expression leftOperand, Node wholeExpr...
method logicalNot_end (line 1478) | void logicalNot_end(Expression notExpression, Expression operand)
method logicalOrPattern_afterLhs (line 1484) | void logicalOrPattern_afterLhs()
method logicalOrPattern_begin (line 1490) | void logicalOrPattern_begin()
method logicalOrPattern_end (line 1495) | void logicalOrPattern_end()
method nonEqualityRelationalPattern_end (line 1500) | void nonEqualityRelationalPattern_end()
method nonNullAssert_end (line 1506) | void nonNullAssert_end(Expression operand)
method nullAwareAccess_end (line 1512) | void nullAwareAccess_end()
method nullAwareAccess_rightBegin (line 1517) | void nullAwareAccess_rightBegin(Expression? target, Type targetType)
method nullCheckOrAssertPattern_begin (line 1523) | bool nullCheckOrAssertPattern_begin({required bool isAssert})
method nullCheckOrAssertPattern_end (line 1530) | void nullCheckOrAssertPattern_end()
method nullLiteral (line 1536) | void nullLiteral(Expression expression)
method parenthesizedExpression (line 1541) | void parenthesizedExpression(
method patternAssignment_afterRhs (line 1550) | void patternAssignment_afterRhs(Expression rhs, Type rhsType)
method patternAssignment_end (line 1556) | void patternAssignment_end()
method patternForIn_afterExpression (line 1561) | void patternForIn_afterExpression(Type elementType)
method patternForIn_end (line 1569) | void patternForIn_end()
method patternVariableDeclaration_afterInitializer (line 1574) | void patternVariableDeclaration_afterInitializer(
method patternVariableDeclaration_end (line 1584) | void patternVariableDeclaration_end()
method popSubpattern (line 1590) | void popSubpattern()
method promotedPropertyType (line 1595) | Type? promotedPropertyType(Expression? target, String propertyName,
method promotedType (line 1606) | Type? promotedType(Variable variable)
method promoteForPattern (line 1613) | bool promoteForPattern(
method propertyGet (line 1633) | Type? propertyGet(Expression? wholeExpression, Expression target,
method pushSubpattern (line 1645) | void pushSubpattern(Type matchedType)
method ssaNodeForTesting (line 1651) | SsaNode<Type>? ssaNodeForTesting(Variable variable)
method switchStatement_afterCase (line 1658) | bool switchStatement_afterCase()
method switchStatement_beginAlternative (line 1665) | void switchStatement_beginAlternative()
method switchStatement_beginAlternatives (line 1671) | void switchStatement_beginAlternatives()
method switchStatement_end (line 1677) | bool switchStatement_end(bool isExhaustive)
method switchStatement_endAlternative (line 1684) | void switchStatement_endAlternative(
method switchStatement_endAlternatives (line 1691) | PatternVariableInfo<Variable> switchStatement_endAlternatives(Statemen...
method switchStatement_expressionEnd (line 1702) | void switchStatement_expressionEnd(
method thisOrSuper (line 1712) | void thisOrSuper(Expression expression, Type staticType)
method thisOrSuperPropertyGet (line 1718) | Type? thisOrSuperPropertyGet(Expression expression, String propertyName,
method tryCatchStatement_bodyBegin (line 1730) | void tryCatchStatement_bodyBegin()
method tryCatchStatement_bodyEnd (line 1736) | void tryCatchStatement_bodyEnd(Node body)
method tryCatchStatement_catchBegin (line 1742) | void tryCatchStatement_catchBegin(
method tryCatchStatement_catchEnd (line 1751) | void tryCatchStatement_catchEnd()
method tryCatchStatement_end (line 1757) | void tryCatchStatement_end()
method tryFinallyStatement_bodyBegin (line 1763) | void tryFinallyStatement_bodyBegin()
method tryFinallyStatement_end (line 1769) | void tryFinallyStatement_end()
method tryFinallyStatement_finallyBegin (line 1775) | void tryFinallyStatement_finallyBegin(Node body)
method variableRead (line 1781) | Type? variableRead(Expression expression, Variable variable)
method whileStatement_bodyBegin (line 1788) | void whileStatement_bodyBegin(
method whileStatement_conditionBegin (line 1795) | void whileStatement_conditionBegin(Node node)
method whileStatement_end (line 1801) | void whileStatement_end()
method whyNotPromoted (line 1806) | Map<Type, NonPromotionReason> Function() whyNotPromoted(Expression tar...
method whyNotPromotedImplicitThis (line 1813) | Map<Type, NonPromotionReason> Function() whyNotPromotedImplicitThis(
method write (line 1823) | void write(Node node, Variable variable, Type writtenType,
method _dumpState (line 1830) | void _dumpState()
method _trackWhyNotPromoted (line 1836) | Map<Type, NonPromotionReason> Function() _trackWhyNotPromoted(
method _wrap (line 1845) | T _wrap<T>(String description, T callback(),
method _describe (line 1867) | String _describe(Object? value)
class FlowModel (line 1882) | @visibleForTesting
method attachFinally (line 1944) | FlowModel<Type> attachFinally(TypeOperations<Type> typeOperations,
method conservativeJoin (line 2059) | FlowModel<Type> conservativeJoin(FlowModelHelper<Type> helper,
method declare (line 2095) | FlowModel<Type> declare(int variableKey, bool initialized)
method infoFor (line 2104) | VariableModel<Type> infoFor(int promotionKey)
method inheritTested (line 2113) | FlowModel<Type> inheritTested(
method rebaseForward (line 2147) | FlowModel<Type> rebaseForward(
method setUnreachable (line 2237) | FlowModel<Type> setUnreachable()
method split (line 2246) | FlowModel<Type> split()
method toString (line 2250) | String toString()
method tryMarkNonNullable (line 2257) | ExpressionInfo<Type> tryMarkNonNullable(
method tryPromoteForTypeCast (line 2286) | FlowModel<Type> tryPromoteForTypeCast(FlowModelHelper<Type> helper,
method tryPromoteForTypeCheck (line 2314) | ExpressionInfo<Type> tryPromoteForTypeCheck(FlowModelHelper<Type> helper,
method unsplit (line 2354) | FlowModel<Type> unsplit()
method unsplitTo (line 2359) | FlowModel<Type> unsplitTo(Reachability parent)
method write (line 2375) | FlowModel<Type> write<Variable extends Object>(
method _clone (line 2403) | FlowModel<Type> _clone({Reachability? reachable})
method _discardDependentPropertyPromotions (line 2410) | FlowModel<Type>? _discardDependentPropertyPromotions(
method _finishTypeTest (line 2437) | FlowModel<Type> _finishTypeTest(
method _getInfo (line 2472) | VariableModel<Type> _getInfo(int promotionKey)
method _updateVariableInfo (line 2477) | FlowModel<Type> _updateVariableInfo(
method join (line 2492) | FlowModel<Type> join<Type extends Object>(
method joinVariableInfo (line 2525) | Map<int, VariableModel<Type>> joinVariableInfo<Type extends Object>(
method merge (line 2561) | FlowModel<Type> merge<Type extends Object>(
method _identicalOrNew (line 2594) | FlowModel<Type> _identicalOrNew<Type extends Object>(
method _variableInfosEqual (line 2615) | bool _variableInfosEqual<Type extends Object>(
class FlowModelHelper (line 2632) | @visibleForTesting
class NonPromotionHistory (line 2650) | class NonPromotionHistory<Type> {
method toString (line 2663) | String toString()
class NonPromotionReason (line 2675) | abstract class NonPromotionReason {
method accept (line 2686) | R accept<R, Node extends Object, Variable extends Object,
class NonPromotionReasonVisitor (line 2692) | abstract class NonPromotionReasonVisitor<R, Node extends Object,
method visitDemoteViaExplicitWrite (line 2696) | R visitDemoteViaExplicitWrite(DemoteViaExplicitWrite<Variable> reason)
method visitPropertyNotPromoted (line 2698) | R visitPropertyNotPromoted(PropertyNotPromoted<Type> reason)
method visitThisNotPromoted (line 2700) | R visitThisNotPromoted(ThisNotPromoted reason)
class Operations (line 2704) | abstract class Operations<Variable extends Object, Type extends Object>
method isPropertyPromotable (line 2710) | bool isPropertyPromotable(Object property)
class PatternVariableInfo (line 2716) | class PatternVariableInfo<Variable> {
class PropertyNotPromoted (line 2728) | class PropertyNotPromoted<Type extends Object> extends NonPromotionReason {
method accept (line 2751) | R accept<R, Node extends Object, Variable extends Object,
class Reachability (line 2763) | @visibleForTesting
method rebaseForward (line 2801) | Reachability rebaseForward(Reachability base)
method setUnreachable (line 2821) | Reachability setUnreachable()
method split (line 2829) | Reachability split()
method toString (line 2832) | String toString()
method unsplit (line 2842) | Reachability unsplit()
method commonAncestor (line 2853) | Reachability? commonAncestor(Reachability? r1, Reachability? r2)
method join (line 2873) | Reachability join(Reachability r1, Reachability r2)
method restrict (line 2887) | Reachability restrict(Reachability r1, Reachability r2)
class ReferenceWithType (line 2898) | @visibleForTesting
method toString (line 2912) | String toString()
class SsaNode (line 2923) | @visibleForTesting
method toString (line 2944) | String toString()
class ThisNotPromoted (line 2952) | class ThisNotPromoted extends NonPromotionReason {
method accept (line 2960) | R accept<R, Node extends Object, Variable extends Object,
class VariableModel (line 2972) | @visibleForTesting
method discardPromotionsAndMarkNotUnassigned (line 3036) | VariableModel<Type> discardPromotionsAndMarkNotUnassigned()
method toString (line 3046) | String toString()
method write (line 3075) | VariableModel<Type> write<Variable extends Object>(
method writeCapture (line 3129) | VariableModel<Type> writeCapture()
method _demoteViaAssignment (line 3144) | _DemotionResult<Type> _demoteViaAssignment(
method _setAssigned (line 3181) | VariableModel<Type> _setAssigned()
method _tryPromoteToTypeOfInterest (line 3198) | List<Type>? _tryPromoteToTypeOfInterest(TypeOperations<Type> typeOpera...
method handleTypeOfInterest (line 3215) | void handleTypeOfInterest(Type type)
method inheritTested (line 3310) | VariableModel<Type> inheritTested<Type extends Object>(
method join (line 3325) | VariableModel<Type> join<Type extends Object>(
method joinPromotedTypes (line 3352) | List<Type>? joinPromotedTypes<Type extends Object>(List<Type>? chain1,
method joinTested (line 3396) | List<Type> joinTested<Type extends Object>(List<Type> types1,
method rebasePromotedTypes (line 3434) | List<Type>? rebasePromotedTypes<Type extends Object>(
method _addToPromotedTypes (line 3465) | List<Type> _addToPromotedTypes<Type extends Object>(
method _addTypeToUniqueList (line 3471) | List<Type> _addTypeToUniqueList<Type extends Object>(
method _identicalOrNew (line 3479) | VariableModel<Type> _identicalOrNew<Type extends Object>(
method _typeListContains (line 3509) | bool _typeListContains<Type extends Object>(
class VariableOperations (line 3519) | abstract class VariableOperations<Variable extends Object,
method variableType (line 3522) | Type variableType(Variable variable)
class WhyNotPromotedInfo (line 3525) | class WhyNotPromotedInfo {}
class _AssertContext (line 3528) | class _AssertContext<Type extends Object> extends _SimpleContext<Type> {
class _BranchContext (line 3545) | class _BranchContext<Type extends Object> extends _FlowContext {
class _BranchTargetContext (line 3561) | class _BranchTargetContext<Type extends Object> extends _FlowContext {
class _ConditionalContext (line 3589) | class _ConditionalContext<Type extends Object> extends _BranchContext<Ty...
class _DemotionResult (line 3606) | class _DemotionResult<Type extends Object> {
class _EqualityCheckIsNullCheck (line 3624) | class _EqualityCheckIsNullCheck<Type extends Object>
class _EqualityCheckResult (line 3643) | abstract class _EqualityCheckResult {
class _FlowAnalysisImpl (line 3647) | class _FlowAnalysisImpl<Node extends Object, Statement extends Node,
method asExpression_end (line 3733) | void asExpression_end(Expression subExpression, Type type)
method assert_afterCondition (line 3741) | void assert_afterCondition(Expression condition)
method assert_begin (line 3749) | void assert_begin()
method assert_end (line 3755) | void assert_end()
method assignedVariablePattern (line 3761) | void assignedVariablePattern(Node node, Variable variable, Type writte...
method assignMatchedPatternVariable (line 3767) | void assignMatchedPatternVariable(Variable variable, int promotionKey)
method booleanLiteral (line 3781) | void booleanLiteral(Expression expression, bool value)
method conditional_conditionBegin (line 3793) | void conditional_conditionBegin()
method conditional_elseBegin (line 3798) | void conditional_elseBegin(Expression thenExpression)
method conditional_end (line 3806) | void conditional_end(
method conditional_thenBegin (line 3821) | void conditional_thenBegin(Expression condition, Node conditionalExpre...
method constantPattern_end (line 3828) | void constantPattern_end(Expression expression, Type type,
method copyPromotionData (line 3846) | void copyPromotionData(
method declare (line 3853) | void declare(Variable variable, Type staticType,
method declaredVariablePattern (line 3864) | int declaredVariablePattern(
method doStatement_bodyBegin (line 3884) | void doStatement_bodyBegin(Statement doStatement)
method doStatement_conditionBegin (line 3896) | void doStatement_conditionBegin()
method doStatement_end (line 3903) | void doStatement_end(Expression condition)
method equalityOperand_end (line 3910) | EqualityInfo<Type> equalityOperand_end(Expression operand, Type type)
method equalityOperation_end (line 3914) | void equalityOperation_end(Expression wholeExpression,
method equalityRelationalPattern_end (line 3957) | void equalityRelationalPattern_end(Expression operand, Type operandType,
method expressionInfoForTesting (line 3963) | ExpressionInfo<Type>? expressionInfoForTesting(Expression target)
method finish (line 3967) | void finish()
method for_bodyBegin (line 3975) | void for_bodyBegin(Statement? node, Expression? condition)
method for_conditionBegin (line 3992) | void for_conditionBegin(Node node)
method for_end (line 3999) | void for_end()
method for_updaterBegin (line 4010) | void for_updaterBegin()
method forEach_bodyBegin (line 4016) | void forEach_bodyBegin(Node node)
method forEach_end (line 4026) | void forEach_end()
method forwardExpression (line 4033) | void forwardExpression(Expression newExpression, Expression oldExpress...
method functionExpression_begin (line 4043) | void functionExpression_begin(Node node)
method functionExpression_end (line 4054) | void functionExpression_end()
method getMatchedValueType (line 4061) | Type getMatchedValueType()
method handleBreak (line 4071) | void handleBreak(Statement? target)
method handleContinue (line 4081) | void handleContinue(Statement? target)
method handleExit (line 4091) | void handleExit()
method ifCaseStatement_afterExpression (line 4096) | void ifCaseStatement_afterExpression(
method ifCaseStatement_begin (line 4109) | void ifCaseStatement_begin()
method ifCaseStatement_thenBegin (line 4116) | void ifCaseStatement_thenBegin(Expression? guard)
method ifNullExpression_end (line 4125) | void ifNullExpression_end()
method ifNullExpression_rightBegin (line 4132) | void ifNullExpression_rightBegin(
method ifStatement_conditionBegin (line 4165) | void ifStatement_conditionBegin()
method ifStatement_elseBegin (line 4170) | void ifStatement_elseBegin()
method ifStatement_end (line 4177) | void ifStatement_end(bool hasElse)
method ifStatement_thenBegin (line 4192) | void ifStatement_thenBegin(Expression? condition, Node ifNode)
method initialize (line 4199) | void initialize(
method isAssigned (line 4215) | bool isAssigned(Variable variable)
method isExpression_end (line 4222) | void isExpression_end(Expression isExpression, Expression subExpression,
method isUnassigned (line 4239) | bool isUnassigned(Variable variable)
method labeledStatement_begin (line 4246) | void labeledStatement_begin(Statement node)
method labeledStatement_end (line 4255) | void labeledStatement_end()
method lateInitializer_begin (line 4262) | void lateInitializer_begin(Node node)
method lateInitializer_end (line 4272) | void lateInitializer_end()
method logicalBinaryOp_begin (line 4282) | void logicalBinaryOp_begin()
method logicalBinaryOp_end (line 4287) | void logicalBinaryOp_end(Expression wholeExpression, Expression rightO...
method logicalBinaryOp_rightBegin (line 4310) | void logicalBinaryOp_rightBegin(Expression leftOperand, Node wholeExpr...
method logicalNot_end (line 4319) | void logicalNot_end(Expression notExpression, Expression operand)
method logicalOrPattern_afterLhs (line 4325) | void logicalOrPattern_afterLhs()
method logicalOrPattern_begin (line 4342) | void logicalOrPattern_begin()
method logicalOrPattern_end (line 4357) | void logicalOrPattern_end()
method nonEqualityRelationalPattern_end (line 4366) | void nonEqualityRelationalPattern_end()
method nonNullAssert_end (line 4374) | void nonNullAssert_end(Expression operand)
method nullAwareAccess_end (line 4383) | void nullAwareAccess_end()
method nullAwareAccess_rightBegin (line 4390) | void nullAwareAccess_rightBegin(Expression? target, Type targetType)
method nullCheckOrAssertPattern_begin (line 4404) | bool nullCheckOrAssertPattern_begin({required bool isAssert})
method nullCheckOrAssertPattern_end (line 4427) | void nullCheckOrAssertPattern_end()
method nullLiteral (line 4430) | void nullLiteral(Expression expression)
method parenthesizedExpression (line 4435) | void parenthesizedExpression(
method patternAssignment_afterRhs (line 4441) | void patternAssignment_afterRhs(Expression rhs, Type rhsType)
method patternAssignment_end (line 4446) | void patternAssignment_end()
method patternForIn_afterExpression (line 4452) | void patternForIn_afterExpression(Type elementType)
method patternForIn_end (line 4458) | void patternForIn_end()
method patternVariableDeclaration_afterInitializer (line 4464) | void patternVariableDeclaration_afterInitializer(
method patternVariableDeclaration_end (line 4471) | void patternVariableDeclaration_end()
method popSubpattern (line 4477) | void popSubpattern()
method promotedPropertyType (line 4483) | Type? promotedPropertyType(Expression? target, String propertyName,
method promotedType (line 4490) | Type? promotedType(Variable variable)
method promoteForPattern (line 4498) | bool promoteForPattern(
method propertyGet (line 4542) | Type? propertyGet(Expression? wholeExpression, Expression target,
method pushSubpattern (line 4549) | void pushSubpattern(Type matchedType)
method ssaNodeForTesting (line 4557) | SsaNode<Type>? ssaNodeForTesting(Variable variable)
method switchStatement_afterCase (line 4561) | bool switchStatement_afterCase()
method switchStatement_beginAlternative (line 4573) | void switchStatement_beginAlternative()
method switchStatement_beginAlternatives (line 4581) | void switchStatement_beginAlternatives()
method switchStatement_end (line 4588) | bool switchStatement_end(bool isExhaustive)
method switchStatement_endAlternative (line 4614) | void switchStatement_endAlternative(
method switchStatement_endAlternatives (line 4654) | PatternVariableInfo<Variable> switchStatement_endAlternatives(Statemen...
method switchStatement_expressionEnd (line 4675) | void switchStatement_expressionEnd(
method thisOrSuper (line 4689) | void thisOrSuper(Expression expression, Type staticType)
method thisOrSuperPropertyGet (line 4694) | Type? thisOrSuperPropertyGet(Expression expression, String propertyName,
method tryCatchStatement_bodyBegin (line 4701) | void tryCatchStatement_bodyBegin()
method tryCatchStatement_bodyEnd (line 4707) | void tryCatchStatement_bodyEnd(Node body)
method tryCatchStatement_catchBegin (line 4722) | void tryCatchStatement_catchBegin(
method tryCatchStatement_catchEnd (line 4739) | void tryCatchStatement_catchEnd()
method tryCatchStatement_end (line 4746) | void tryCatchStatement_end()
method tryFinallyStatement_bodyBegin (line 4752) | void tryFinallyStatement_bodyBegin()
method tryFinallyStatement_end (line 4757) | void tryFinallyStatement_end()
method tryFinallyStatement_finallyBegin (line 4765) | void tryFinallyStatement_finallyBegin(Node body)
method variableRead (line 4775) | Type? variableRead(Expression expression, Variable variable)
method whileStatement_bodyBegin (line 4791) | void whileStatement_bodyBegin(
method whileStatement_conditionBegin (line 4802) | void whileStatement_conditionBegin(Node node)
method whileStatement_end (line 4809) | void whileStatement_end()
method whyNotPromoted (line 4816) | Map<Type, NonPromotionReason> Function() whyNotPromoted(Expression tar...
method whyNotPromotedImplicitThis (line 4832) | Map<Type, NonPromotionReason> Function() whyNotPromotedImplicitThis(
method write (line 4844) | void write(Node node, Variable variable, Type writtenType,
method _computeEqualityInfo (line 4851) | EqualityInfo<Type> _computeEqualityInfo(Expression expression, Type type)
method _dumpState (line 4856) | void _dumpState()
method _equalityCheck (line 4886) | _EqualityCheckResult _equalityCheck(
method _expressionEnd (line 4923) | ExpressionInfo<Type> _expressionEnd(Expression? expression)
method _getExpressionInfo (line 4930) | ExpressionInfo<Type>? _getExpressionInfo(Expression? expression)
method _getExpressionReference (line 4943) | ReferenceWithType<Type>? _getExpressionReference(Expression? expression)
method _getNonPromotionReasons (line 4953) | Map<Type, NonPromotionReason> Function() _getNonPromotionReasons(
method _handleEqualityCheckPattern (line 5011) | void _handleEqualityCheckPattern(Expression operand, Type operandType,
method _handleProperty (line 5082) | Type? _handleProperty(Expression? wholeExpression, Expression? target,
method _initialize (line 5124) | void _initialize(
method _join (line 5155) | FlowModel<Type> _join(FlowModel<Type>? first, FlowModel<Type>? second)
method _makeTemporaryReference (line 5163) | int _makeTemporaryReference(SsaNode<Type>? ssaNode)
method _merge (line 5176) | FlowModel<Type> _merge(FlowModel<Type> first, FlowModel<Type>? second)
method _nullCheckPattern (line 5185) | FlowModel<Type>? _nullCheckPattern()
method _popPattern (line 5214) | FlowModel<Type> _popPattern(Expression? guard)
method _popScrutinee (line 5227) | void _popScrutinee()
method _pushPattern (line 5236) | void _pushPattern(EqualityInfo<Type> matchedValueInfo)
method _pushScrutinee (line 5256) | EqualityInfo<Type> _pushScrutinee(Expression? scrutinee, Type scrutine...
method _storeExpressionInfo (line 5283) | void _storeExpressionInfo(
method _storeExpressionReference (line 5292) | void _storeExpressionReference(
method _thisOrSuperReference (line 5298) | ReferenceWithType<Type> _thisOrSuperReference(Type staticType)
method _variableReference (line 5303) | ReferenceWithType<Type> _variableReference(
method _write (line 5311) | void _write(Node node, Variable variable, Type writtenType,
class _FlowContext (line 5330) | abstract class _FlowContext {
method toString (line 5359) | String toString()
class _FunctionExpressionContext (line 5369) | class _FunctionExpressionContext<Type extends Object>
class _GuaranteedEqual (line 5382) | class _GuaranteedEqual extends _EqualityCheckResult {
class _IfContext (line 5387) | class _IfContext<Type extends Object> extends _BranchContext<Type> {
class _IfNullExpressionContext (line 5403) | class _IfNullExpressionContext<Type extends Object> extends _FlowContext {
class _LegacyBinaryAndContext (line 5420) | class _LegacyBinaryAndContext<Type extends Object>
class _LegacyContext (line 5435) | class _LegacyContext<Type> {
class _LegacyExpressionInfo (line 5444) | class _LegacyExpressionInfo<Type> {
method toString (line 5455) | String toString()
class _LegacyTypePromotion (line 5460) | class _LegacyTypePromotion<Node extends Object, Statement extends Node,
method asExpression_end (line 5511) | void asExpression_end(Expression subExpression, Type type)
method assert_afterCondition (line 5514) | void assert_afterCondition(Expression condition)
method assert_begin (line 5517) | void assert_begin()
method assert_end (line 5520) | void assert_end()
method assignMatchedPatternVariable (line 5526) | void assignMatchedPatternVariable(Variable variable, int promotionKey)
method booleanLiteral (line 5529) | void booleanLiteral(Expression expression, bool value)
method conditional_conditionBegin (line 5532) | void conditional_conditionBegin()
method conditional_elseBegin (line 5535) | void conditional_elseBegin(Expression thenExpression)
method conditional_end (line 5540) | void conditional_end(
method conditional_thenBegin (line 5544) | void conditional_thenBegin(Expression condition, Node conditionalExpre...
method constantPattern_end (line 5549) | void constantPattern_end(Expression expression, Type type,
method copyPromotionData (line 5553) | void copyPromotionData(
method declare (line 5557) | void declare(Variable variable, Type staticType,
method declaredVariablePattern (line 5561) | int declaredVariablePattern(
method doStatement_bodyBegin (line 5570) | void doStatement_bodyBegin(Statement doStatement)
method doStatement_conditionBegin (line 5573) | void doStatement_conditionBegin()
method doStatement_end (line 5576) | void doStatement_end(Expression condition)
method equalityOperand_end (line 5579) | EqualityInfo<Type>? equalityOperand_end(Expression operand, Type type)
method equalityOperation_end (line 5583) | void equalityOperation_end(Expression wholeExpression,
method equalityRelationalPattern_end (line 5588) | void equalityRelationalPattern_end(Expression operand, Type operandType,
method expressionInfoForTesting (line 5592) | ExpressionInfo<Type>? expressionInfoForTesting(Expression target)
method finish (line 5598) | void finish()
method for_bodyBegin (line 5604) | void for_bodyBegin(Statement? node, Expression? condition)
method for_conditionBegin (line 5607) | void for_conditionBegin(Node node)
method for_end (line 5610) | void for_end()
method for_updaterBegin (line 5613) | void for_updaterBegin()
method forEach_bodyBegin (line 5616) | void forEach_bodyBegin(Node node)
method forEach_end (line 5619) | void forEach_end()
method forwardExpression (line 5622) | void forwardExpression(Expression newExpression, Expression oldExpress...
method functionExpression_begin (line 5629) | void functionExpression_begin(Node node)
method functionExpression_end (line 5632) | void functionExpression_end()
method getMatchedValueType (line 5635) | Type getMatchedValueType()
method handleBreak (line 5644) | void handleBreak(Statement? target)
method handleContinue (line 5647) | void handleContinue(Statement? target)
method handleExit (line 5650) | void handleExit()
method ifCaseStatement_afterExpression (line 5653) | void ifCaseStatement_afterExpression(
method ifCaseStatement_begin (line 5657) | void ifCaseStatement_begin()
method ifCaseStatement_thenBegin (line 5660) | void ifCaseStatement_thenBegin(Expression? guard)
method ifNullExpression_end (line 5663) | void ifNullExpression_end()
method ifNullExpression_rightBegin (line 5666) | void ifNullExpression_rightBegin(
method ifStatement_conditionBegin (line 5670) | void ifStatement_conditionBegin()
method ifStatement_elseBegin (line 5673) | void ifStatement_elseBegin()
method ifStatement_end (line 5678) | void ifStatement_end(bool hasElse)
method ifStatement_thenBegin (line 5685) | void ifStatement_thenBegin(Expression? condition, Node ifNode)
method initialize (line 5690) | void initialize(
method isAssigned (line 5697) | bool isAssigned(Variable variable)
method isExpression_end (line 5702) | void isExpression_end(Expression isExpression, Expression subExpression,
method isUnassigned (line 5721) | bool isUnassigned(Variable variable)
method labeledStatement_begin (line 5726) | void labeledStatement_begin(Node node)
method labeledStatement_end (line 5729) | void labeledStatement_end()
method lateInitializer_begin (line 5732) | void lateInitializer_begin(Node node)
method lateInitializer_end (line 5735) | void lateInitializer_end()
method logicalBinaryOp_begin (line 5738) | void logicalBinaryOp_begin()
method logicalBinaryOp_end (line 5743) | void logicalBinaryOp_end(Expression wholeExpression, Expression rightO...
method logicalBinaryOp_rightBegin (line 5794) | void logicalBinaryOp_rightBegin(Expression leftOperand, Node wholeExpr...
method logicalNot_end (line 5832) | void logicalNot_end(Expression notExpression, Expression operand)
method logicalOrPattern_afterLhs (line 5835) | void logicalOrPattern_afterLhs()
method logicalOrPattern_begin (line 5838) | void logicalOrPattern_begin()
method logicalOrPattern_end (line 5841) | void logicalOrPattern_end()
method nonEqualityRelationalPattern_end (line 5844) | void nonEqualityRelationalPattern_end()
method nonNullAssert_end (line 5847) | void nonNullAssert_end(Expression operand)
method nullAwareAccess_end (line 5850) | void nullAwareAccess_end()
method nullAwareAccess_rightBegin (line 5853) | void nullAwareAccess_rightBegin(Expression? target, Type targetType)
method nullCheckOrAssertPattern_begin (line 5856) | bool nullCheckOrAssertPattern_begin({required bool isAssert})
method nullCheckOrAssertPattern_end (line 5859) | void nullCheckOrAssertPattern_end()
method nullLiteral (line 5862) | void nullLiteral(Expression expression)
method parenthesizedExpression (line 5865) | void parenthesizedExpression(
method patternAssignment_afterRhs (line 5871) | void patternAssignment_afterRhs(Expression rhs, Type rhsType)
method patternAssignment_end (line 5874) | void patternAssignment_end()
method patternForIn_afterExpression (line 5877) | void patternForIn_afterExpression(Type elementType)
method patternForIn_end (line 5880) | void patternForIn_end()
method patternVariableDeclaration_afterInitializer (line 5883) | void patternVariableDeclaration_afterInitializer(
method patternVariableDeclaration_end (line 5887) | void patternVariableDeclaration_end()
method popSubpattern (line 5890) | void popSubpattern()
method promotedPropertyType (line 5893) | Type? promotedPropertyType(Expression? target, String propertyName,
method promotedType (line 5898) | Type? promotedType(Variable variable)
method promoteForPattern (line 5904) | bool promoteForPattern(
method propertyGet (line 5912) | Type? propertyGet(Expression? wholeExpression, Expression target,
method pushSubpattern (line 5917) | void pushSubpattern(Type matchedType)
method ssaNodeForTesting (line 5920) | SsaNode<Type>? ssaNodeForTesting(Variable variable)
method switchStatement_afterCase (line 5925) | bool switchStatement_afterCase()
method switchStatement_beginAlternative (line 5928) | void switchStatement_beginAlternative()
method switchStatement_beginAlternatives (line 5931) | void switchStatement_beginAlternatives()
method switchStatement_end (line 5934) | bool switchStatement_end(bool isExhaustive)
method switchStatement_endAlternative (line 5940) | void switchStatement_endAlternative(
method switchStatement_endAlternatives (line 5944) | PatternVariableInfo<Variable> switchStatement_endAlternatives(Statemen...
method switchStatement_expressionEnd (line 5949) | void switchStatement_expressionEnd(
method thisOrSuper (line 5955) | void thisOrSuper(Expression expression, Type staticType)
method thisOrSuperPropertyGet (line 5958) | Type? thisOrSuperPropertyGet(Expression expression, String propertyName,
method tryCatchStatement_bodyBegin (line 5963) | void tryCatchStatement_bodyBegin()
method tryCatchStatement_bodyEnd (line 5966) | void tryCatchStatement_bodyEnd(Node body)
method tryCatchStatement_catchBegin (line 5969) | void tryCatchStatement_catchBegin(
method tryCatchStatement_catchEnd (line 5973) | void tryCatchStatement_catchEnd()
method tryCatchStatement_end (line 5976) | void tryCatchStatement_end()
method tryFinallyStatement_bodyBegin (line 5979) | void tryFinallyStatement_bodyBegin()
method tryFinallyStatement_end (line 5982) | void tryFinallyStatement_end()
method tryFinallyStatement_finallyBegin (line 5985) | void tryFinallyStatement_finallyBegin(Node body)
method variableRead (line 5988) | Type? variableRead(Expression expression, Variable variable)
method whileStatement_bodyBegin (line 5996) | void whileStatement_bodyBegin(
method whileStatement_conditionBegin (line 6000) | void whileStatement_conditionBegin(Node node)
method whileStatement_end (line 6003) | void whileStatement_end()
method whyNotPromoted (line 6006) | Map<Type, NonPromotionReason> Function() whyNotPromoted(Expression tar...
method whyNotPromotedImplicitThis (line 6011) | Map<Type, NonPromotionReason> Function() whyNotPromotedImplicitThis(
method write (line 6017) | void write(Node node, Variable variable, Type writtenType,
method _conditionalOrIf_thenBegin (line 6023) | void _conditionalOrIf_thenBegin(Expression? condition, Node node)
method _dumpState (line 6055) | void _dumpState()
method _getExpressionInfo (line 6071) | _LegacyExpressionInfo<Type>? _getExpressionInfo(Expression? expression)
method _storeExpressionInfo (line 6083) | void _storeExpressionInfo(
class _LegacyVariableReadInfo (line 6092) | class _LegacyVariableReadInfo<Variable, Type>
method toString (line 6106) | String toString()
class _NoEqualityInformation (line 6114) | class _NoEqualityInformation extends _EqualityCheckResult {
class _NullAwareAccessContext (line 6119) | class _NullAwareAccessContext<Type extends Object>
class _NullInfo (line 6128) | class _NullInfo<Type extends Object> implements ExpressionInfo<Type> {
method invert (line 6141) | ExpressionInfo<Type> invert()
method rebaseForward (line 6149) | ExpressionInfo<Type>? rebaseForward(
class _OrPatternContext (line 6155) | class _OrPatternContext<Type extends Object> extends _PatternContext<Typ...
class _PatternContext (line 6179) | class _PatternContext<Type extends Object> extends _FlowContext {
method createReference (line 6202) | ReferenceWithType<Type> createReference(Type matchedType)
class _PropertyReferenceWithType (line 6208) | class _PropertyReferenceWithType<Type extends Object>
method toString (line 6224) | String toString()
class _ScrutineeContext (line 6231) | class _ScrutineeContext<Type extends Object> extends _FlowContext {
class _SimpleContext (line 6247) | abstract class _SimpleContext<Type extends Object> extends _FlowContext {
class _SimpleStatementContext (line 6264) | class _SimpleStatementContext<Type extends Object>
class _SwitchAlternativesContext (line 6281) | class _SwitchAlternativesContext<Variable extends Object, Type extends O...
class _SwitchStatementContext (line 6304) | class _SwitchStatementContext<Type extends Object>
class _TopPatternContext (line 6328) | class _TopPatternContext<Type extends Object> extends _PatternContext<Ty...
class _TrivialExpressionInfo (line 6345) | class _TrivialExpressionInfo<Type extends Object>
method invert (line 6359) | ExpressionInfo<Type> invert()
method rebaseForward (line 6362) | ExpressionInfo<Type> rebaseForward(
class _TryContext (line 6368) | class _TryContext<Type extends Object> extends _SimpleContext<Type> {
class _TryFinallyContext (line 6391) | class _TryFinallyContext<Type extends Object> extends _TryContext<Type> {
class _WhileContext (line 6408) | class _WhileContext<Type extends Object> extends _BranchTargetContext<Ty...
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/api/builders.dart
class Builder (line 9) | abstract class Builder {}
class IdentifierResolver (line 15) | abstract class IdentifierResolver {
method resolveIdentifier (line 22) | Future<Identifier> resolveIdentifier(Uri library, String name)
class TypeBuilder (line 27) | abstract class TypeBuilder implements Builder, IdentifierResolver {
method declareType (line 32) | void declareType(String name, DeclarationCode typeDeclaration)
class TypeResolver (line 40) | abstract class TypeResolver {
method resolve (line 48) | Future<StaticType> resolve(TypeAnnotationCode type)
class TypeIntrospector (line 55) | abstract class TypeIntrospector {
method fieldsOf (line 60) | Future<List<FieldDeclaration>> fieldsOf(covariant IntrospectableType t...
method methodsOf (line 66) | Future<List<MethodDeclaration>> methodsOf(covariant IntrospectableType...
method constructorsOf (line 72) | Future<List<ConstructorDeclaration>> constructorsOf(
class TypeDeclarationResolver (line 80) | abstract class TypeDeclarationResolver {
method declarationOf (line 93) | Future<TypeDeclaration> declarationOf(covariant Identifier identifier)
class DeclarationBuilder (line 100) | abstract class DeclarationBuilder
method declareInLibrary (line 110) | void declareInLibrary(DeclarationCode declaration)
class ClassMemberDeclarationBuilder (line 114) | abstract class ClassMemberDeclarationBuilder implements DeclarationBuild...
method declareInClass (line 116) | void declareInClass(DeclarationCode declaration)
class TypeInferrer (line 123) | abstract class TypeInferrer {
method inferType (line 128) | Future<TypeAnnotation> inferType(covariant OmittedTypeAnnotation omitt...
class DefinitionBuilder (line 134) | abstract class DefinitionBuilder
class ClassDefinitionBuilder (line 145) | abstract class ClassDefinitionBuilder implements DefinitionBuilder {
method buildField (line 150) | Future<VariableDefinitionBuilder> buildField(Identifier identifier)
method buildMethod (line 156) | Future<FunctionDefinitionBuilder> buildMethod(Identifier identifier)
method buildConstructor (line 163) | Future<ConstructorDefinitionBuilder> buildConstructor(Identifier ident...
class ConstructorDefinitionBuilder (line 168) | abstract class ConstructorDefinitionBuilder implements DefinitionBuilder {
method augment (line 174) | void augment({FunctionBodyCode? body, List<Code>? initializers})
class FunctionDefinitionBuilder (line 178) | abstract class FunctionDefinitionBuilder implements DefinitionBuilder {
method augment (line 182) | void augment(FunctionBodyCode body)
class VariableDefinitionBuilder (line 186) | abstract class VariableDefinitionBuilder implements DefinitionBuilder {
method augment (line 193) | void augment({
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/api/code.dart
class Code (line 9) | class Code {
class DeclarationCode (line 26) | class DeclarationCode extends Code {
class ExpressionCode (line 36) | class ExpressionCode extends Code {
class FunctionBodyCode (line 51) | class FunctionBodyCode extends Code {
class ParameterCode (line 71) | class ParameterCode implements Code {
class TypeAnnotationCode (line 106) | abstract class TypeAnnotationCode implements Code, TypeAnnotation {
class NullableTypeAnnotationCode (line 129) | class NullableTypeAnnotationCode implements TypeAnnotationCode {
class NamedTypeAnnotationCode (line 159) | class NamedTypeAnnotationCode extends TypeAnnotationCode {
class FunctionTypeAnnotationCode (line 181) | class FunctionTypeAnnotationCode extends TypeAnnotationCode {
class RecordFieldCode (line 235) | class RecordFieldCode implements Code {
class RecordTypeAnnotationCode (line 255) | class RecordTypeAnnotationCode extends TypeAnnotationCode {
class OmittedTypeAnnotationCode (line 289) | class OmittedTypeAnnotationCode extends TypeAnnotationCode {
class TypeParameterCode (line 302) | class TypeParameterCode implements Code {
function joinAsCode (line 324) | List<Object> joinAsCode(String separator)
type CodeKind (line 333) | enum CodeKind {
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/api/introspection.dart
class Identifier (line 15) | abstract class Identifier {
class TypeAnnotation (line 22) | abstract class TypeAnnotation {
class FunctionTypeAnnotation (line 33) | abstract class FunctionTypeAnnotation implements TypeAnnotation {
class NamedTypeAnnotation (line 51) | abstract class NamedTypeAnnotation implements TypeAnnotation {
class RecordTypeAnnotation (line 60) | abstract class RecordTypeAnnotation implements TypeAnnotation {
class OmittedTypeAnnotation (line 79) | abstract class OmittedTypeAnnotation implements TypeAnnotation {}
class StaticType (line 85) | abstract class StaticType {
method isSubtypeOf (line 87) | Future<bool> isSubtypeOf(covariant StaticType other)
method isExactly (line 90) | Future<bool> isExactly(covariant StaticType other)
class NamedStaticType (line 95) | abstract class NamedStaticType implements StaticType {}
class Declaration (line 98) | abstract class Declaration {
class ClassMemberDeclaration (line 104) | abstract class ClassMemberDeclaration implements Declaration {
class TypeDeclaration (line 115) | abstract class TypeDeclaration implements Declaration {}
class ParameterizedTypeDeclaration (line 120) | abstract class ParameterizedTypeDeclaration implements TypeDeclaration {
class IntrospectableType (line 129) | abstract class IntrospectableType implements TypeDeclaration {}
class ClassDeclaration (line 135) | abstract class ClassDeclaration implements ParameterizedTypeDeclaration {
class IntrospectableClassDeclaration (line 168) | abstract class IntrospectableClassDeclaration
class TypeAliasDeclaration (line 172) | abstract class TypeAliasDeclaration implements ParameterizedTypeDeclarat...
class FunctionDeclaration (line 178) | abstract class FunctionDeclaration implements Declaration {
class MethodDeclaration (line 208) | abstract class MethodDeclaration
class ConstructorDeclaration (line 212) | abstract class ConstructorDeclaration implements MethodDeclaration {
class VariableDeclaration (line 218) | abstract class VariableDeclaration implements Declaration {
class FieldDeclaration (line 233) | abstract class FieldDeclaration
class Parameter (line 238) | abstract class Parameter {
class ParameterDeclaration (line 257) | abstract class ParameterDeclaration implements Parameter, Declaration {}
class FunctionTypeParameter (line 262) | abstract class FunctionTypeParameter implements Parameter {
class TypeParameterDeclaration (line 267) | abstract class TypeParameterDeclaration implements TypeDeclaration {
class RecordFieldDeclaration (line 280) | abstract class RecordFieldDeclaration implements Declaration {
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/api/macros.dart
class Macro (line 8) | abstract class Macro {}
class FunctionTypesMacro (line 13) | abstract class FunctionTypesMacro implements Macro {
method buildTypesForFunction (line 14) | FutureOr<void> buildTypesForFunction(
class FunctionDeclarationsMacro (line 21) | abstract class FunctionDeclarationsMacro implements Macro {
method buildDeclarationsForFunction (line 22) | FutureOr<void> buildDeclarationsForFunction(
class FunctionDefinitionMacro (line 29) | abstract class FunctionDefinitionMacro implements Macro {
method buildDefinitionForFunction (line 30) | FutureOr<void> buildDefinitionForFunction(
class VariableTypesMacro (line 37) | abstract class VariableTypesMacro implements Macro {
method buildTypesForVariable (line 38) | FutureOr<void> buildTypesForVariable(
class VariableDeclarationsMacro (line 45) | abstract class VariableDeclarationsMacro implements Macro {
method buildDeclarationsForVariable (line 46) | FutureOr<void> buildDeclarationsForVariable(
class VariableDefinitionMacro (line 52) | abstract class VariableDefinitionMacro implements Macro {
method buildDefinitionForVariable (line 53) | FutureOr<void> buildDefinitionForVariable(
class ClassTypesMacro (line 59) | abstract class ClassTypesMacro implements Macro {
method buildTypesForClass (line 60) | FutureOr<void> buildTypesForClass(
class ClassDeclarationsMacro (line 66) | abstract class ClassDeclarationsMacro implements Macro {
method buildDeclarationsForClass (line 67) | FutureOr<void> buildDeclarationsForClass(IntrospectableClassDeclaratio...
class ClassDefinitionMacro (line 73) | abstract class ClassDefinitionMacro implements Macro {
method buildDefinitionForClass (line 74) | FutureOr<void> buildDefinitionForClass(
class FieldTypesMacro (line 80) | abstract class FieldTypesMacro implements Macro {
method buildTypesForField (line 81) | FutureOr<void> buildTypesForField(
class FieldDeclarationsMacro (line 87) | abstract class FieldDeclarationsMacro implements Macro {
method buildDeclarationsForField (line 88) | FutureOr<void> buildDeclarationsForField(
class FieldDefinitionMacro (line 94) | abstract class FieldDefinitionMacro implements Macro {
method buildDefinitionForField (line 95) | FutureOr<void> buildDefinitionForField(
class MethodTypesMacro (line 101) | abstract class MethodTypesMacro implements Macro {
method buildTypesForMethod (line 102) | FutureOr<void> buildTypesForMethod(
class MethodDeclarationsMacro (line 108) | abstract class MethodDeclarationsMacro implements Macro {
method buildDeclarationsForMethod (line 109) | FutureOr<void> buildDeclarationsForMethod(
class MethodDefinitionMacro (line 115) | abstract class MethodDefinitionMacro implements Macro {
method buildDefinitionForMethod (line 116) | FutureOr<void> buildDefinitionForMethod(
class ConstructorTypesMacro (line 122) | abstract class ConstructorTypesMacro implements Macro {
method buildTypesForConstructor (line 123) | FutureOr<void> buildTypesForConstructor(
class ConstructorDeclarationsMacro (line 129) | abstract class ConstructorDeclarationsMacro implements Macro {
method buildDeclarationsForConstructor (line 130) | FutureOr<void> buildDeclarationsForConstructor(
class ConstructorDefinitionMacro (line 137) | abstract class ConstructorDefinitionMacro implements Macro {
method buildDefinitionForConstructor (line 138) | FutureOr<void> buildDefinitionForConstructor(
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/bootstrap.dart
function bootstrapMacroIsolate (line 16) | String bootstrapMacroIsolate(
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/compiler/request_channel.dart
class RemoteException (line 14) | class RemoteException {
class RequestChannel (line 25) | class RequestChannel {
method add (line 45) | void add(String method, Future<Object?> Function(Object?) handler)
method sendRequest (line 57) | Future<T> sendRequest<T>(String method, Object? argument)
method _processMessage (line 70) | void _processMessage(Object? message)
method _writeBytes (line 135) | void _writeBytes(List<int> bytes)
method _writeObject (line 143) | void _writeObject(Object object)
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/executor.dart
class MacroExecutor (line 17) | abstract class MacroExecutor {
method instantiateMacro (line 25) | Future<MacroInstanceIdentifier> instantiateMacro(
method executeTypesPhase (line 31) | Future<MacroExecutionResult> executeTypesPhase(MacroInstanceIdentifier...
method executeDeclarationsPhase (line 37) | Future<MacroExecutionResult> executeDeclarationsPhase(
method executeDefinitionsPhase (line 48) | Future<MacroExecutionResult> executeDefinitionsPhase(
method buildAugmentationLibrary (line 73) | String buildAugmentationLibrary(
method close (line 81) | Future<void> close()
class Arguments (line 88) | class Arguments implements Serializable {
method _deserializeArg (line 117) | Object? _deserializeArg(Deserializer deserializer,
method serialize (line 168) | void serialize(Serializer serializer)
method _serializeArg (line 183) | void _serializeArg(Object? arg, Serializer serializer)
class ResolvedIdentifier (line 235) | class ResolvedIdentifier extends Identifier {
type IdentifierKind (line 265) | enum IdentifierKind {
class MacroInstanceIdentifier (line 276) | abstract class MacroInstanceIdentifier implements Serializable {
method shouldExecute (line 281) | bool shouldExecute(DeclarationKind declarationKind, Phase phase)
method supportsDeclarationKind (line 284) | bool supportsDeclarationKind(DeclarationKind declarationKind)
class MacroExecutionResult (line 291) | abstract class MacroExecutionResult implements Serializable {
type DeclarationKind (line 305) | enum DeclarationKind {
type Phase (line 315) | enum Phase {
type _ArgumentKind (line 327) | enum _ArgumentKind {
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/augmentation_library.dart
function buildAugmentationLibrary (line 12) | String buildAugmentationLibrary(
function flushStringParts (line 24) | void flushStringParts()
function writeDirectiveStringPart (line 36) | void writeDirectiveStringPart(String part)
function writeDirectiveSynthesizedNamePart (line 41) | void writeDirectiveSynthesizedNamePart(_SynthesizedNamePart part)
function buildCode (line 47) | void buildCode(Code code)
class _Part (line 154) | abstract class _Part {
class _SynthesizedNamePart (line 158) | class _SynthesizedNamePart implements _Part {
class _StringPart (line 163) | class _StringPart implements _Part {
function _computeFreshPrefix (line 176) | String _computeFreshPrefix(List<_StringPart> stringParts, String name)
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/builder_impls.dart
class TypeBuilderBase (line 13) | class TypeBuilderBase implements IdentifierResolver {
method resolveIdentifier (line 40) | Future<Identifier> resolveIdentifier(Uri library, String identifier)
class TypeBuilderImpl (line 45) | class TypeBuilderImpl extends TypeBuilderBase implements TypeBuilder {
method declareType (line 49) | void declareType(String name, DeclarationCode typeDeclaration)
class DeclarationBuilderBase (line 56) | class DeclarationBuilderBase extends TypeBuilderBase
method declarationOf (line 67) | Future<TypeDeclaration> declarationOf(IdentifierImpl identifier)
method constructorsOf (line 71) | Future<List<ConstructorDeclaration>> constructorsOf(
method fieldsOf (line 76) | Future<List<FieldDeclaration>> fieldsOf(
method methodsOf (line 81) | Future<List<MethodDeclaration>> methodsOf(
method resolve (line 86) | Future<StaticType> resolve(TypeAnnotationCode code)
class DeclarationBuilderImpl (line 90) | class DeclarationBuilderImpl extends DeclarationBuilderBase
method declareInLibrary (line 96) | void declareInLibrary(DeclarationCode declaration)
class ClassMemberDeclarationBuilderImpl (line 101) | class ClassMemberDeclarationBuilderImpl extends DeclarationBuilderImpl
method declareInClass (line 115) | void declareInClass(DeclarationCode declaration)
class DefinitionBuilderBase (line 123) | class DefinitionBuilderBase extends DeclarationBuilderBase
method inferType (line 132) | Future<TypeAnnotation> inferType(OmittedTypeAnnotationImpl omittedType)
class ClassDefinitionBuilderImpl (line 136) | class ClassDefinitionBuilderImpl extends DefinitionBuilderBase
method buildConstructor (line 156) | Future<ConstructorDefinitionBuilder> buildConstructor(
method buildField (line 168) | Future<VariableDefinitionBuilder> buildField(Identifier identifier)
method buildMethod (line 178) | Future<FunctionDefinitionBuilder> buildMethod(Identifier identifier)
class FunctionDefinitionBuilderImpl (line 189) | class FunctionDefinitionBuilderImpl extends DefinitionBuilderBase
method augment (line 208) | void augment(FunctionBodyCode body)
class ConstructorDefinitionBuilderImpl (line 222) | class ConstructorDefinitionBuilderImpl extends DefinitionBuilderBase
method augment (line 241) | void augment({FunctionBodyCode? body, List<Code>? initializers})
class VariableDefinitionBuilderImpl (line 253) | class VariableDefinitionBuilderImpl extends DefinitionBuilderBase
method augment (line 272) | void augment(
function _buildVariableAugmentations (line 293) | List<DeclarationCode> _buildVariableAugmentations(
function _buildFunctionAugmentation (line 335) | DeclarationCode _buildFunctionAugmentation(
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/execute_macro.dart
function executeTypesMacro (line 10) | Future<MacroExecutionResult> executeTypesMacro(Macro macro,
function executeDeclarationsMacro (line 42) | Future<MacroExecutionResult> executeDeclarationsMacro(
function executeDefinitionMacro (line 122) | Future<MacroExecutionResult> executeDefinitionMacro(
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/executor_base.dart
class ExternalMacroExecutorBase (line 21) | abstract class ExternalMacroExecutorBase extends MacroExecutor {
method buildAugmentationLibrary (line 262) | String buildAugmentationLibrary(
method executeDeclarationsPhase (line 270) | Future<MacroExecutionResult> executeDeclarationsPhase(
method executeDefinitionsPhase (line 299) | Future<MacroExecutionResult> executeDefinitionsPhase(
method executeTypesPhase (line 333) | Future<MacroExecutionResult> executeTypesPhase(MacroInstanceIdentifier...
method instantiateMacro (line 345) | Future<MacroInstanceIdentifier> instantiateMacro(
method sendResult (line 353) | void sendResult(Serializer serializer)
method _sendRequest (line 357) | Future<T> _sendRequest<T>(Request Function(int) requestFactory)
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/introspection_impls.dart
class IdentifierImpl (line 10) | class IdentifierImpl extends RemoteInstance implements Identifier {
method serialize (line 20) | void serialize(Serializer serializer)
class TypeAnnotationImpl (line 29) | abstract class TypeAnnotationImpl extends RemoteInstance
method serialize (line 37) | void serialize(Serializer serializer)
class NamedTypeAnnotationImpl (line 46) | class NamedTypeAnnotationImpl extends TypeAnnotationImpl
method serialize (line 74) | void serialize(Serializer serializer)
class RecordTypeAnnotationImpl (line 88) | class RecordTypeAnnotationImpl extends TypeAnnotationImpl
method serialize (line 120) | void serialize(Serializer serializer)
class RecordFieldDeclarationImpl (line 143) | class RecordFieldDeclarationImpl extends DeclarationImpl
method serialize (line 167) | void serialize(Serializer serializer)
class FunctionTypeAnnotationImpl (line 177) | class FunctionTypeAnnotationImpl extends TypeAnnotationImpl
method serialize (line 223) | void serialize(Serializer serializer)
class OmittedTypeAnnotationImpl (line 250) | class OmittedTypeAnnotationImpl extends TypeAnnotationImpl
class DeclarationImpl (line 261) | abstract class DeclarationImpl extends RemoteInstance implements Declara...
method serialize (line 268) | void serialize(Serializer serializer)
class ParameterDeclarationImpl (line 277) | class ParameterDeclarationImpl extends DeclarationImpl
method serialize (line 300) | void serialize(Serializer serializer)
class FunctionTypeParameterImpl (line 317) | class FunctionTypeParameterImpl extends RemoteInstance
method serialize (line 343) | void serialize(Serializer serializer)
class TypeParameterDeclarationImpl (line 361) | class TypeParameterDeclarationImpl extends DeclarationImpl
method serialize (line 376) | void serialize(Serializer serializer)
class FunctionDeclarationImpl (line 394) | class FunctionDeclarationImpl extends DeclarationImpl
method serialize (line 441) | void serialize(Serializer serializer)
class MethodDeclarationImpl (line 472) | class MethodDeclarationImpl extends FunctionDeclarationImpl
method serialize (line 503) | void serialize(Serializer serializer)
class ConstructorDeclarationImpl (line 513) | class ConstructorDeclarationImpl extends MethodDeclarationImpl
method serialize (line 544) | void serialize(Serializer serializer)
class VariableDeclarationImpl (line 553) | class VariableDeclarationImpl extends DeclarationImpl
method serialize (line 580) | void serialize(Serializer serializer)
class FieldDeclarationImpl (line 593) | class FieldDeclarationImpl extends VariableDeclarationImpl
method serialize (line 619) | void serialize(Serializer serializer)
class ParameterizedTypeDeclarationImpl (line 629) | abstract class ParameterizedTypeDeclarationImpl extends DeclarationImpl
method serialize (line 641) | void serialize(Serializer serializer)
class ClassDeclarationImpl (line 658) | class ClassDeclarationImpl extends ParameterizedTypeDeclarationImpl
method serialize (line 715) | void serialize(Serializer serializer)
class TypeAliasDeclarationImpl (line 742) | class TypeAliasDeclarationImpl extends ParameterizedTypeDeclarationImpl
method serialize (line 762) | void serialize(Serializer serializer)
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/isolated_executor.dart
function start (line 25) | Future<MacroExecutor> start(SerializationMode serializationMode, Uri uri...
class _SingleIsolatedMacroExecutor (line 31) | class _SingleIsolatedMacroExecutor extends ExternalMacroExecutorBase {
method start (line 45) | Future<_SingleIsolatedMacroExecutor> start(
method close (line 80) | Future<void> close()
method sendResult (line 85) | void sendResult(Serializer serializer)
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/message_grouper.dart
class MessageGrouper (line 13) | class MessageGrouper {
method cancel (line 36) | void cancel()
method _handleBytes (line 41) | void _handleBytes(List<int> bytes, [int offset = 0])
class _FixedBuffer (line 77) | class _FixedBuffer {
method addByte (line 90) | void addByte(int byte)
method addBytes (line 96) | int addBytes(List<int> source, int offset)
method reset (line 104) | void reset()
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/multi_executor.dart
class MultiMacroExecutor (line 14) | class MultiMacroExecutor extends MacroExecutor with AugmentationLibraryB...
method libraryIsRegistered (line 28) | bool libraryIsRegistered(Uri library)
method registerExecutorFactory (line 39) | ExecutorFactoryToken registerExecutorFactory(
method unregisterExecutorFactory (line 65) | Future<void> unregisterExecutorFactory(ExecutorFactoryToken token,
method close (line 90) | Future<void> close()
method executeDeclarationsPhase (line 98) | Future<MacroExecutionResult> executeDeclarationsPhase(
method executeDefinitionsPhase (line 115) | Future<MacroExecutionResult> executeDefinitionsPhase(
method executeTypesPhase (line 134) | Future<MacroExecutionResult> executeTypesPhase(MacroInstanceIdentifier...
method instantiateMacro (line 140) | Future<MacroInstanceIdentifier> instantiateMacro(
class ExecutorFactoryToken (line 160) | class ExecutorFactoryToken {
method _withInstance (line 170) | Future<T> _withInstance<T>(Future<T> Function(MacroExecutor) callback)
method _close (line 183) | Future<void> _close()
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/process_executor.dart
function start (line 24) | Future<MacroExecutor> start(SerializationMode serializationMode,
class _SingleProcessMacroExecutor (line 38) | class _SingleProcessMacroExecutor extends ExternalMacroExecutorBase {
method startWithSocket (line 52) | Future<_SingleProcessMacroExecutor> startWithSocket(
method startWithStdio (line 106) | Future<_SingleProcessMacroExecutor> startWithStdio(
method close (line 140) | Future<void> close()
method sendResult (line 146) | void sendResult(Serializer serializer)
type CommunicationChannel (line 170) | enum CommunicationChannel {
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/protocol.dart
class Request (line 20) | abstract class Request implements Serializable {
method serialize (line 38) | void serialize(Serializer serializer)
class Response (line 45) | class Response {
class SerializableResponse (line 63) | class SerializableResponse implements Response, Serializable {
method serialize (line 141) | void serialize(Serializer serializer)
class BooleanValue (line 161) | class BooleanValue implements Serializable {
method serialize (line 170) | void serialize(Serializer serializer)
class DeclarationList (line 174) | class DeclarationList<T extends DeclarationImpl> implements Serializable {
method serialize (line 191) | void serialize(Serializer serializer)
class LoadMacroRequest (line 201) | class LoadMacroRequest extends Request {
method serialize (line 214) | void serialize(Serializer serializer)
class InstantiateMacroRequest (line 224) | class InstantiateMacroRequest extends Request {
method serialize (line 248) | void serialize(Serializer serializer)
class ExecuteTypesPhaseRequest (line 261) | class ExecuteTypesPhaseRequest extends Request {
method serialize (line 280) | void serialize(Serializer serializer)
class ExecuteDeclarationsPhaseRequest (line 292) | class ExecuteDeclarationsPhaseRequest extends Request {
method serialize (line 323) | void serialize(Serializer serializer)
class ExecuteDefinitionsPhaseRequest (line 338) | class ExecuteDefinitionsPhaseRequest extends Request {
method serialize (line 372) | void serialize(Serializer serializer)
class ResolveIdentifierRequest (line 387) | class ResolveIdentifierRequest extends Request {
method serialize (line 406) | void serialize(Serializer serializer)
class ResolveTypeRequest (line 418) | class ResolveTypeRequest extends Request {
method serialize (line 433) | void serialize(Serializer serializer)
class IsExactlyTypeRequest (line 442) | class IsExactlyTypeRequest extends Request {
method serialize (line 458) | void serialize(Serializer serializer)
class IsSubtypeOfRequest (line 467) | class IsSubtypeOfRequest extends Request {
method serialize (line 482) | void serialize(Serializer serializer)
class InterfaceIntrospectionRequest (line 492) | class InterfaceIntrospectionRequest extends Request {
method serialize (line 510) | void serialize(Serializer serializer)
class DeclarationOfRequest (line 519) | class DeclarationOfRequest extends Request {
method serialize (line 535) | void serialize(Serializer serializer)
class InferTypeRequest (line 545) | class InferTypeRequest extends Request {
method serialize (line 560) | void serialize(Serializer serializer)
class ClientIdentifierResolver (line 571) | class ClientIdentifierResolver implements IdentifierResolver {
method resolveIdentifier (line 586) | Future<Identifier> resolveIdentifier(Uri library, String name)
class ClientTypeResolver (line 597) | class ClientTypeResolver implements TypeResolver {
method resolve (line 612) | Future<StaticType> resolve(TypeAnnotationCode typeAnnotation)
class ClientStaticTypeImpl (line 635) | class ClientStaticTypeImpl implements StaticType {
method isExactly (line 649) | Future<bool> isExactly(ClientStaticTypeImpl other)
method isSubtypeOf (line 657) | Future<bool> isSubtypeOf(ClientStaticTypeImpl other)
class ClientNamedStaticTypeImpl (line 666) | class ClientNamedStaticTypeImpl extends ClientStaticTypeImpl
class ClientTypeIntrospector (line 674) | class ClientTypeIntrospector implements TypeIntrospector {
method constructorsOf (line 689) | Future<List<ConstructorDeclaration>> constructorsOf(
method fieldsOf (line 701) | Future<List<FieldDeclaration>> fieldsOf(IntrospectableType type)
method methodsOf (line 712) | Future<List<MethodDeclaration>> methodsOf(IntrospectableType type)
class ClientTypeDeclarationResolver (line 725) | class ClientTypeDeclarationResolver implements TypeDeclarationResolver {
method declarationOf (line 740) | Future<TypeDeclaration> declarationOf(IdentifierImpl identifier)
class ClientTypeInferrer (line 750) | class ClientTypeInferrer implements TypeInferrer {
method inferType (line 765) | Future<TypeAnnotation> inferType(
class RemoteException (line 775) | class RemoteException implements Exception {
method toString (line 782) | String toString()
function _handleResponse (line 788) | T _handleResponse<T>(Response response)
type MessageType (line 798) | enum MessageType {
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/remote_instance.dart
class RemoteInstance (line 28) | abstract class RemoteInstance implements Serializable {
method cached (line 47) | T cached<T>(int id)
method deserialize (line 50) | T deserialize<T>(Deserializer deserializer)
method serialize (line 60) | void serialize(Serializer serializer)
class RemoteInstanceImpl (line 77) | class RemoteInstanceImpl extends RemoteInstance {
type RemoteInstanceKind (line 92) | enum RemoteInstanceKind {
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/response_impls.dart
class MacroInstanceIdentifierImpl (line 11) | class MacroInstanceIdentifierImpl implements MacroInstanceIdentifier {
method serialize (line 155) | void serialize(Serializer serializer)
method shouldExecute (line 166) | bool shouldExecute(DeclarationKind declarationKind, Phase phase)
method supportsDeclarationKind (line 179) | bool supportsDeclarationKind(DeclarationKind declarationKind)
method _interfaceMask (line 190) | int _interfaceMask(DeclarationKind declarationKind, Phase phase)
class MacroExecutionResultImpl (line 195) | class MacroExecutionResultImpl implements MacroExecutionResult {
method serialize (line 254) | void serialize(Serializer serializer)
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/serialization.dart
function withSerializationMode (line 15) | T withSerializationMode<T>(
class Serializable (line 27) | abstract class Serializable {
method serialize (line 29) | void serialize(Serializer serializer)
class Serializer (line 33) | abstract class Serializer {
method addString (line 35) | void addString(String value)
method addNullableString (line 38) | void addNullableString(String? value)
method addDouble (line 42) | void addDouble(double value)
method addNullableDouble (line 45) | void addNullableDouble(double? value)
method addInt (line 49) | void addInt(int value)
method addNullableInt (line 52) | void addNullableInt(int? value)
method addBool (line 55) | void addBool(bool value)
method addNullableBool (line 58) | void addNullableBool(bool? value)
method addNull (line 62) | void addNull()
method startList (line 65) | void startList()
method endList (line 68) | void endList()
class Deserializer (line 78) | abstract class Deserializer {
method checkNull (line 81) | bool checkNull()
method expectBool (line 84) | bool expectBool()
method expectNullableBool (line 87) | bool? expectNullableBool()
method expectDouble (line 90) | double expectDouble()
method expectNullableDouble (line 93) | double? expectNullableDouble()
method expectInt (line 96) | int expectInt()
method expectNullableInt (line 99) | int? expectNullableInt()
method expectString (line 102) | String expectString()
method expectNullableString (line 105) | String? expectNullableString()
method expectList (line 126) | void expectList()
method moveNext (line 134) | bool moveNext()
class JsonSerializer (line 137) | class JsonSerializer implements Serializer {
method addBool (line 154) | void addBool(bool value)
method addNullableBool (line 156) | void addNullableBool(bool? value)
method addDouble (line 159) | void addDouble(double value)
method addNullableDouble (line 161) | void addNullableDouble(double? value)
method addInt (line 164) | void addInt(int value)
method addNullableInt (line 166) | void addNullableInt(int? value)
method addString (line 169) | void addString(String value)
method addNullableString (line 171) | void addNullableString(String? value)
method addNull (line 174) | void addNull()
method startList (line 177) | void startList()
method endList (line 184) | void endList()
class JsonDeserializer (line 189) | class JsonDeserializer implements Deserializer {
method checkNull (line 203) | bool checkNull()
method expectList (line 206) | void expectList()
method expectBool (line 209) | bool expectBool()
method expectNullableBool (line 211) | bool? expectNullableBool()
method expectDouble (line 214) | double expectDouble()
method expectNullableDouble (line 216) | double? expectNullableDouble()
method expectInt (line 219) | int expectInt()
method expectNullableInt (line 221) | int? expectNullableInt()
method expectString (line 224) | String expectString()
method expectNullableString (line 226) | String? expectNullableString()
method _expectValue (line 229) | T _expectValue<T>()
method moveNext (line 238) | bool moveNext()
class ByteDataSerializer (line 255) | class ByteDataSerializer extends Serializer {
method addBool (line 264) | void addBool(bool value)
method addDouble (line 268) | void addDouble(double value)
method addNull (line 276) | void addNull()
method addInt (line 279) | void addInt(int value)
method addString (line 345) | void addString(String value)
method _addOneByteString (line 355) | void _addOneByteString(String value)
method _addTwoByteString (line 363) | void _addTwoByteString(String value)
method startList (line 384) | void startList()
method endList (line 387) | void endList()
method startMap (line 390) | void startMap()
method endMap (line 393) | void endMap()
method addUint8List (line 396) | void addUint8List(Uint8List value)
method addAny (line 404) | void addAny(Object? value)
class ByteDataDeserializer (line 435) | class ByteDataDeserializer extends Deserializer {
method _readKind (line 443) | DataKind _readKind([int offset = 0])
method checkNull (line 453) | bool checkNull()
method expectBool (line 459) | bool expectBool()
method expectDouble (line 472) | double expectDouble()
method expectInt (line 482) | int expectInt()
method _expectInt (line 484) | int _expectInt(int offset)
method expectList (line 532) | void expectList()
method expectMap (line 558) | void expectMap()
method expectString (line 567) | String expectString()
method expectUint8List (line 587) | Uint8List expectUint8List()
method expectAny (line 597) | Object? expectAny()
method moveNext (line 656) | bool moveNext()
type DataKind (line 676) | enum DataKind {
type SerializationMode (line 739) | enum SerializationMode {
FILE: inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/serialization_extensions.dart
function expectRemoteInstance (line 8) | T expectRemoteInstance<T>()
function expectUri (line 82) | Uri expectUri()
function _expectRemoteInstanceList (line 85) | List<T> _expectRemoteInstanceList<T extends RemoteInstance>()
function _expectNamedTypeAnnotation (line 93) | NamedTypeAnnotation _expectNamedTypeAnnotation(int id)
function _expectOmittedTypeAnnotation (line 101) | OmittedTypeAnnotation _expectOmittedTypeAnnotation(int id)
function _expectFunctionTypeAnnotation (line 108) | FunctionTypeAnnotation _expectFunctionTypeAnnotation(int id)
function _expectFunctionTypeParameter (line 118) | FunctionTypeParameter _expectFunctionTypeParameter(int id)
function _expectIdentifier (line 127) | Identifier _expectIdentifier(int id)
function _expectParameterDeclaration (line 132) | ParameterDeclaration _expectParameterDeclaration(int id)
function _expectRecordFieldDeclaration (line 141) | RecordFieldDeclaration _expectRecordFieldDeclaration(int id)
function _expectRecordTypeAnnotation (line 148) | RecordTypeAnnotation _expectRecordTypeAnnotation(int id)
function _expectTypeParameterDeclaration (line 156) | TypeParameterDeclaration _expectTypeParameterDeclaration(int id)
function _expectFunctionDeclaration (line 163) | FunctionDeclaration _expectFunctionDeclaration(int id)
function _expectMethodDeclaration (line 178) | MethodDeclaration _expectMethodDeclaration(int id)
function _expectConstructorDeclaration (line 195) | ConstructorDeclaration _expectConstructorDeclaration(int id)
function _expectVariableDeclaration (line 218) | VariableDeclaration _expectVariableDeclaration(int id)
function _expectFieldDeclaration (line 228) | FieldDeclaration _expectFieldDeclaration(int id)
function _expectClassDeclaration (line 239) | ClassDeclaration _expectClassDeclaration(int id)
function _expectIntrospectableClassDeclaration (line 256) | IntrospectableClassDeclaration _expectIntrospectableClassDeclaration(
function _expectTypeAliasDeclaration (line 275) | TypeAliasDeclaration _expectTypeAliasDeclaration(int id)
function _readStringList (line 283) | List<String> _readStringList()
function _readCodeList (line 293) | List<T> _readCodeList<T extends Code>()
function _readParts (line 303) | List<Object> _readParts()
function expectCode (line 325) | T expectCode<T extends Code>()
function expectNullableCode (line 374) | T? expectNullableCode<T extends Code>()
function serializeNullable (line 382) | void serializeNullable(Serializer serializer)
function serializeNullable (line 394) | void serializeNullable(Serializer serializer)
function serialize (line 405) | void serialize(Serializer serializer)
function addUri (line 509) | void addUri(Uri uri)
function addSerializable (line 511) | void addSerializable(Serializable serializable)
type _CodePartKind (line 515) | enum _CodePartKind {
FILE: inner/pkg/_fe_analyzer_shared/lib/src/messages/codes.dart
class Code (line 21) | class Code<T> {
method toString (line 37) | String toString()
class Message (line 40) | class Message {
method withLocation (line 54) | LocatedMessage withLocation(Uri uri, int charOffset, int length)
method withoutLocation (line 58) | LocatedMessage withoutLocation()
method toString (line 63) | String toString()
class MessageCode (line 68) | class MessageCode extends Code<Null> implements Message {
method withLocation (line 89) | LocatedMessage withLocation(Uri uri, int charOffset, int length)
method withoutLocation (line 94) | LocatedMessage withoutLocation()
class Template (line 99) | class Template<T> {
class LocatedMessage (line 112) | class LocatedMessage implements Comparable<LocatedMessage> {
method compareTo (line 133) | int compareTo(LocatedMessage other)
method withFormatting (line 141) | FormattedMessage withFormatting(PlainAndColorizedString formatted, int...
method toString (line 167) | String toString()
class PlainAndColorizedString (line 172) | class PlainAndColorizedString {
method toString (line 177) | String toString()
class FormattedMessage (line 187) | class FormattedMessage implements DiagnosticMessage {
method toJson (line 253) | Map<String, Object?> toJson()
method toJsonString (line 265) | String toJsonString()
class DiagnosticMessageFromJson (line 271) | class DiagnosticMessageFromJson implements DiagnosticMessage {
method toJson (line 312) | Map<String, Object?> toJson()
method toJsonString (line 324) | String toJsonString()
method _asListOfString (line 329) | List<String> _asListOfString(Object? value)
function relativizeUri (line 334) | String? relativizeUri(Uri? uri)
type SummaryTemplate (line 344) | typedef SummaryTemplate = Message Function(int, int, num, num, num);
function itemizeNames (line 346) | String itemizeNames(List<String> names)
function demangleMixinApplicationName (line 366) | String demangleMixinApplicationName(String name)
function applyArgumentsToTemplate (line 380) | String applyArgumentsToTemplate(
FILE: inner/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart
function _withArgumentsAbstractClassInstantiation (line 37) | Message _withArgumentsAbstractClassInstantiation(String name)
function _withArgumentsAbstractRedirectedClassInstantiation (line 137) | Message _withArgumentsAbstractRedirectedClassInstantiation(String name)
function _withArgumentsAccessError (line 180) | Message _withArgumentsAccessError(String name)
function _withArgumentsAsciiControlCharacter (line 277) | Message _withArgumentsAsciiControlCharacter(int codePoint)
function _withArgumentsBaseClassImplementedOutsideOfLibrary (line 361) | Message _withArgumentsBaseClassImplementedOutsideOfLibrary(String name)
function _withArgumentsBaseClassImplementedOutsideOfLibraryCause (line 386) | Message _withArgumentsBaseClassImplementedOutsideOfLibraryCause(
function _withArgumentsBaseMixinImplementedOutsideOfLibrary (line 416) | Message _withArgumentsBaseMixinImplementedOutsideOfLibrary(String name)
function _withArgumentsBinaryOperatorWrittenOut (line 445) | Message _withArgumentsBinaryOperatorWrittenOut(String string, String str...
function _withArgumentsBoundIssueViaCycleNonSimplicity (line 476) | Message _withArgumentsBoundIssueViaCycleNonSimplicity(
function _withArgumentsBoundIssueViaLoopNonSimplicity (line 508) | Message _withArgumentsBoundIssueViaLoopNonSimplicity(String name)
function _withArgumentsBoundIssueViaRawTypeWithNonSimpleBounds (line 536) | Message _withArgumentsBoundIssueViaRawTypeWithNonSimpleBounds(String name)
function _withArgumentsBreakTargetOutsideFunction (line 571) | Message _withArgumentsBreakTargetOutsideFunction(String name)
function _withArgumentsBuiltInIdentifierAsType (line 592) | Message _withArgumentsBuiltInIdentifierAsType(Token token)
function _withArgumentsBuiltInIdentifierInDeclaration (line 613) | Message _withArgumentsBuiltInIdentifierInDeclaration(Token token)
function _withArgumentsCandidateFoundIsDefaultConstructor (line 645) | Message _withArgumentsCandidateFoundIsDefaultConstructor(String name)
function _withArgumentsCannotAssignToConstVariable (line 669) | Message _withArgumentsCannotAssignToConstVariable(String name)
function _withArgumentsCannotAssignToFinalVariable (line 701) | Message _withArgumentsCannotAssignToFinalVariable(String name)
function _withArgumentsCannotReadSdkSpecification (line 753) | Message _withArgumentsCannotReadSdkSpecification(String string)
function _withArgumentsCantHaveNamedParameters (line 796) | Message _withArgumentsCantHaveNamedParameters(String name)
function _withArgumentsCantHaveOptionalParameters (line 819) | Message _withArgumentsCantHaveOptionalParameters(String name)
function _withArgumentsCantInferReturnTypeDueToNoCombinedSignature (line 872) | Message _withArgumentsCantInferReturnTypeDueToNoCombinedSignature(String...
function _withArgumentsCantInferTypeDueToCircularity (line 899) | Message _withArgumentsCantInferTypeDueToCircularity(String string)
function _withArgumentsCantInferTypeDueToNoCombinedSignature (line 929) | Message _withArgumentsCantInferTypeDueToNoCombinedSignature(String name)
function _withArgumentsCantInferTypesDueToNoCombinedSignature (line 960) | Message _withArgumentsCantInferTypesDueToNoCombinedSignature(String name)
function _withArgumentsCantReadFile (line 982) | Message _withArgumentsCantReadFile(Uri uri_, String string)
function _withArgumentsCantUseClassAsMixin (line 1004) | Message _withArgumentsCantUseClassAsMixin(String name)
function _withArgumentsCantUseControlFlowOrSpreadAsConstant (line 1029) | Message _withArgumentsCantUseControlFlowOrSpreadAsConstant(Token token)
function _withArgumentsCantUseDeferredPrefixAsConstant (line 1056) | Message _withArgumentsCantUseDeferredPrefixAsConstant(Token token)
function _withArgumentsClassInNullAwareReceiver (line 1133) | Message _withArgumentsClassInNullAwareReceiver(String name)
function _withArgumentsCombinedMemberSignatureFailed (line 1173) | Message _withArgumentsCombinedMemberSignatureFailed(String name, String ...
function _withArgumentsConflictingModifiers (line 1226) | Message _withArgumentsConflictingModifiers(String string, String string2)
function _withArgumentsConflictsWithConstructor (line 1248) | Message _withArgumentsConflictsWithConstructor(String name)
function _withArgumentsConflictsWithFactory (line 1269) | Message _withArgumentsConflictsWithFactory(String name)
function _withArgumentsConflictsWithImplicitSetter (line 1291) | Message _withArgumentsConflictsWithImplicitSetter(String name)
function _withArgumentsConflictsWithMember (line 1312) | Message _withArgumentsConflictsWithMember(String name)
function _withArgumentsConflictsWithSetter (line 1332) | Message _withArgumentsConflictsWithSetter(String name)
function _withArgumentsConflictsWithTypeVariable (line 1353) | Message _withArgumentsConflictsWithTypeVariable(String name)
function _withArgumentsConstEvalDeferredLibrary (line 1503) | Message _withArgumentsConstEvalDeferredLibrary(String nameOKEmpty)
function _withArgumentsConstEvalError (line 1528) | Message _withArgumentsConstEvalError(String string)
function _withArgumentsConstEvalFailedAssertionWithMessage (line 1589) | Message _withArgumentsConstEvalFailedAssertionWithMessage(
function _withArgumentsConstEvalGetterNotFound (line 1624) | Message _withArgumentsConstEvalGetterNotFound(String nameOKEmpty)
function _withArgumentsConstEvalInvalidStaticInvocation (line 1648) | Message _withArgumentsConstEvalInvalidStaticInvocation(String nameOKEmpty)
function _withArgumentsConstEvalNegativeShift (line 1677) | Message _withArgumentsConstEvalNegativeShift(
function _withArgumentsConstEvalNonConstantVariableGet (line 1706) | Message _withArgumentsConstEvalNonConstantVariableGet(String nameOKEmpty)
function _withArgumentsConstEvalTruncateError (line 1779) | Message _withArgumentsConstEvalTruncateError(String string, String string2)
function _withArgumentsConstEvalUnhandledCoreException (line 1811) | Message _withArgumentsConstEvalUnhandledCoreException(String stringOKEmpty)
function _withArgumentsConstEvalZeroDivisor (line 1838) | Message _withArgumentsConstEvalZeroDivisor(String string, String string2)
function _withArgumentsConstFieldWithoutInitializer (line 1889) | Message _withArgumentsConstFieldWithoutInitializer(String name)
function _withArgumentsConstructorInitializeSameInstanceVariableSeveralTimes (line 1948) | Message _withArgumentsConstructorInitializeSameInstanceVariableSeveralTi...
function _withArgumentsConstructorNotFound (line 1970) | Message _withArgumentsConstructorNotFound(String name)
function _withArgumentsConstructorWithWrongNameContext (line 2059) | Message _withArgumentsConstructorWithWrongNameContext(String name)
function _withArgumentsContinueTargetOutsideFunction (line 2102) | Message _withArgumentsContinueTargetOutsideFunction(String name)
function _withArgumentsCouldNotParseUri (line 2139) | Message _withArgumentsCouldNotParseUri(String string, String string2)
function _withArgumentsCycleInTypeVariables (line 2187) | Message _withArgumentsCycleInTypeVariables(String name, String string)
function _withArgumentsCyclicClassHierarchy (line 2211) | Message _withArgumentsCyclicClassHierarchy(String name)
function _withArgumentsCyclicRedirectingFactoryConstructors (line 2234) | Message _withArgumentsCyclicRedirectingFactoryConstructors(String name)
function _withArgumentsCyclicTypedef (line 2255) | Message _withArgumentsCyclicTypedef(String name)
function _withArgumentsDebugTrace (line 2276) | Message _withArgumentsDebugTrace(String name, String string)
function _withArgumentsDefaultValueInRedirectingFactoryConstructor (line 2347) | Message _withArgumentsDefaultValueInRedirectingFactoryConstructor(String...
function _withArgumentsDeferredExtensionImport (line 2388) | Message _withArgumentsDeferredExtensionImport(String name)
function _withArgumentsDeferredPrefixDuplicated (line 2414) | Message _withArgumentsDeferredPrefixDuplicated(String name)
function _withArgumentsDeferredPrefixDuplicatedCause (line 2436) | Message _withArgumentsDeferredPrefixDuplicatedCause(String name)
function _withArgumentsDillOutlineSummary (line 2465) | Message _withArgumentsDillOutlineSummary(
function _withArgumentsDirectCycleInTypeVariables (line 2511) | Message _withArgumentsDirectCycleInTypeVariables(String name)
function _withArgumentsDuplicateLabelInSwitchStatement (line 2560) | Message _withArgumentsDuplicateLabelInSwitchStatement(String name)
function _withArgumentsDuplicatePatternAssignmentVariable (line 2587) | Message _withArgumentsDuplicatePatternAssignmentVariable(String name)
function _withArgumentsDuplicateRecordPatternField (line 2632) | Message _withArgumentsDuplicateRecordPatternField(String name)
function _withArgumentsDuplicatedDeclaration (line 2687) | Message _withArgumentsDuplicatedDeclaration(String name)
function _withArgumentsDuplicatedDeclarationCause (line 2708) | Message _withArgumentsDuplicatedDeclarationCause(String name)
function _withArgumentsDuplicatedDeclarationSyntheticCause (line 2734) | Message _withArgumentsDuplicatedDeclarationSyntheticCause(String name)
function _withArgumentsDuplicatedDeclarationUse (line 2757) | Message _withArgumentsDuplicatedDeclarationUse(String name)
function _withArgumentsDuplicatedExport (line 2782) | Message _withArgumentsDuplicatedExport(String name, Uri uri_, Uri uri2_)
function _withArgumentsDuplicatedExportInType (line 2809) | Message _withArgumentsDuplicatedExportInType(String name, Uri uri_, Uri ...
function _withArgumentsDuplicatedImportInType (line 2836) | Message _withArgumentsDuplicatedImportInType(String name, Uri uri_, Uri ...
function _withArgumentsDuplicatedModifier (line 2861) | Message _withArgumentsDuplicatedModifier(Token token)
function _withArgumentsDuplicatedNamePreviouslyUsed (line 2886) | Message _withArgumentsDuplicatedNamePreviouslyUsed(String name)
function _withArgumentsDuplicatedNamePreviouslyUsedCause (line 2910) | Message _withArgumentsDuplicatedNamePreviouslyUsedCause(String name)
function _withArgumentsDuplicatedNamedArgument (line 2930) | Message _withArgumentsDuplicatedNamedArgument(String name)
function _withArgumentsDuplicatedParameterName (line 2950) | Message _withArgumentsDuplicatedParameterName(String name)
function _withArgumentsDuplicatedParameterNameCause (line 2971) | Message _withArgumentsDuplicatedParameterNameCause(String name)
function _withArgumentsDuplicatedRecordLiteralFieldName (line 2998) | Message _withArgumentsDuplicatedRecordLiteralFieldName(String name)
function _withArgumentsDuplicatedRecordLiteralFieldNameContext (line 3024) | Message _withArgumentsDuplicatedRecordLiteralFieldNameContext(String name)
function _withArgumentsDuplicatedRecordTypeFieldName (line 3051) | Message _withArgumentsDuplicatedRecordTypeFieldName(String name)
function _withArgumentsDuplicatedRecordTypeFieldNameContext (line 3077) | Message _withArgumentsDuplicatedRecordTypeFieldNameContext(String name)
function _withArgumentsEnumConstantSameNameAsEnclosing (line 3159) | Message _withArgumentsEnumConstantSameNameAsEnclosing(String name)
function _withArgumentsEnumContainsRestrictedInstanceDeclaration (line 3201) | Message _withArgumentsEnumContainsRestrictedInstanceDeclaration(String n...
function _withArgumentsEnumImplementerContainsRestrictedInstanceDeclaration (line 3265) | Message _withArgumentsEnumImplementerContainsRestrictedInstanceDeclaration(
function _withArgumentsEnumImplementerContainsValuesDeclaration (line 3293) | Message _withArgumentsEnumImplementerContainsValuesDeclaration(String name)
function _withArgumentsEnumInheritsRestricted (line 3325) | Message _withArgumentsEnumInheritsRestricted(String name)
function _withArgumentsEnumSupertypeOfNonAbstractClass (line 3376) | Message _withArgumentsEnumSupertypeOfNonAbstractClass(String name)
function _withArgumentsExceptionReadingFile (line 3442) | Message _withArgumentsExceptionReadingFile(Uri uri_, String string)
function _withArgumentsExpectedAfterButGot (line 3462) | Message _withArgumentsExpectedAfterButGot(String string)
function _withArgumentsExpectedButGot (line 3518) | Message _withArgumentsExpectedButGot(String string)
function _withArgumentsExpectedClassMember (line 3538) | Message _withArgumentsExpectedClassMember(Token token)
function _withArgumentsExpectedClassOrMixinBody (line 3560) | Message _withArgumentsExpectedClassOrMixinBody(String string)
function _withArgumentsExpectedDeclaration (line 3581) | Message _withArgumentsExpectedDeclaration(Token token)
function _withArgumentsExpectedEnumBody (line 3612) | Message _withArgumentsExpectedEnumBody(Token token)
function _withArgumentsExpectedFunctionBody (line 3634) | Message _withArgumentsExpectedFunctionBody(Token token)
function _withArgumentsExpectedIdentifier (line 3665) | Message _withArgumentsExpectedIdentifier(Token token)
function _withArgumentsExpectedIdentifierButGotKeyword (line 3691) | Message _withArgumentsExpectedIdentifierButGotKeyword(Token token)
function _withArgumentsExpectedInstead (line 3711) | Message _withArgumentsExpectedInstead(String string)
function _withArgumentsExpectedString (line 3765) | Message _withArgumentsExpectedString(Token token)
function _withArgumentsExpectedToken (line 3784) | Message _withArgumentsExpectedToken(String string)
function _withArgumentsExpectedType (line 3803) | Message _withArgumentsExpectedType(Token token)
function _withArgumentsExperimentDisabled (line 3835) | Message _withArgumentsExperimentDisabled(String string)
function _withArgumentsExperimentDisabledInvalidLanguageVersion (line 3861) | Message _withArgumentsExperimentDisabledInvalidLanguageVersion(
function _withArgumentsExperimentNotEnabled (line 3892) | Message _withArgumentsExperimentNotEnabled(String string, String string2)
function _withArgumentsExperimentNotEnabledOffByDefault (line 3923) | Message _withArgumentsExperimentNotEnabledOffByDefault(String string)
function _withArgumentsExperimentOptOutComment (line 3948) | Message _withArgumentsExperimentOptOutComment(String string)
function _withArgumentsExperimentOptOutExplicit (line 3977) | Message _withArgumentsExperimentOptOutExplicit(String string, String str...
function _withArgumentsExperimentOptOutImplicit (line 4009) | Message _withArgumentsExperimentOptOutImplicit(String string, String str...
function _withArgumentsExplicitExtensionTypeArgumentMismatch (line 4069) | Message _withArgumentsExplicitExtensionTypeArgumentMismatch(
function _withArgumentsExtendingEnum (line 4130) | Message _withArgumentsExtendingEnum(String name)
function _withArgumentsExtendingRestricted (line 4152) | Message _withArgumentsExtendingRestricted(String name)
function _withArgumentsExtensionInNullAwareReceiver (line 4233) | Message _withArgumentsExtensionInNullAwareReceiver(String name)
function _withArgumentsExtensionMemberConflictsWithObjectMember (line 4258) | Message _withArgumentsExtensionMemberConflictsWithObjectMember(String name)
function _withArgumentsExtraneousModifier (line 4413) | Message _withArgumentsExtraneousModifier(Token token)
function _withArgumentsExtraneousModifierInExtension (line 4436) | Message _withArgumentsExtraneousModifierInExtension(Token token)
function _withArgumentsFastaCLIArgumentRequired (line 4478) | Message _withArgumentsFastaCLIArgumentRequired(String name)
function _withArgumentsFfiCompoundImplementsFinalizable (line 4625) | Message _withArgumentsFfiCompoundImplementsFinalizable(
function _withArgumentsFfiEmptyStruct (line 4655) | Message _withArgumentsFfiEmptyStruct(String string, String name)
function _withArgumentsFfiExpectedConstantArg (line 4694) | Message _withArgumentsFfiExpectedConstantArg(String name)
function _withArgumentsFfiExtendsOrImplementsSealedClass (line 4718) | Message _withArgumentsFfiExtendsOrImplementsSealedClass(String name)
function _withArgumentsFfiFieldAnnotation (line 4741) | Message _withArgumentsFfiFieldAnnotation(String name)
function _withArgumentsFfiFieldCyclic (line 4768) | Message _withArgumentsFfiFieldCyclic(
function _withArgumentsFfiFieldInitializer (line 4797) | Message _withArgumentsFfiFieldInitializer(String name)
function _withArgumentsFfiFieldNoAnnotation (line 4824) | Message _withArgumentsFfiFieldNoAnnotation(String name)
function _withArgumentsFfiFieldNull (line 4848) | Message _withArgumentsFfiFieldNull(String name)
function _withArgumentsFfiNativeUnexpectedNumberOfParameters (line 4909) | Message _withArgumentsFfiNativeUnexpectedNumberOfParameters(
function _withArgumentsFfiNativeUnexpectedNumberOfParametersWithReceiver (line 4938) | Message _withArgumentsFfiNativeUnexpectedNumberOfParametersWithReceiver(
function _withArgumentsFfiNotStatic (line 4965) | Message _withArgumentsFfiNotStatic(String name)
function _withArgumentsFfiPackedAnnotation (line 4988) | Message _withArgumentsFfiPackedAnnotation(String name)
function _withArgumentsFfiSizeAnnotation (line 5021) | Message _withArgumentsFfiSizeAnnotation(String name)
function _withArgumentsFfiSizeAnnotationDimensions (line 5047) | Message _withArgumentsFfiSizeAnnotationDimensions(String name)
function _withArgumentsFfiStructGeneric (line 5070) | Message _withArgumentsFfiStructGeneric(String string, String name)
function _withArgumentsFieldAlreadyInitializedAtDeclaration (line 5099) | Message _withArgumentsFieldAlreadyInitializedAtDeclaration(String name)
function _withArgumentsFieldAlreadyInitializedAtDeclarationCause (line 5123) | Message _withArgumentsFieldAlreadyInitializedAtDeclarationCause(String n...
function _withArgumentsFieldNotPromoted (line 5172) | Message _withArgumentsFieldNotPromoted(String name, String string)
function _withArgumentsFinalClassExtendedOutsideOfLibrary (line 5236) | Message _withArgumentsFinalClassExtendedOutsideOfLibrary(String name)
function _withArgumentsFinalClassImplementedOutsideOfLibrary (line 5263) | Message _withArgumentsFinalClassImplementedOutsideOfLibrary(String name)
function _withArgumentsFinalClassUsedAsMixinConstraintOutsideOfLibrary (line 5291) | Message _withArgumentsFinalClassUsedAsMixinConstraintOutsideOfLibrary(
function _withArgumentsFinalFieldNotInitialized (line 5318) | Message _withArgumentsFinalFieldNotInitialized(String name)
function _withArgumentsFinalFieldNotInitializedByConstructor (line 5348) | Message _withArgumentsFinalFieldNotInitializedByConstructor(String name)
function _withArgumentsFinalFieldWithoutInitializer (line 5377) | Message _withArgumentsFinalFieldWithoutInitializer(String name)
function _withArgumentsFinalNotAssignedError (line 5421) | Message _withArgumentsFinalNotAssignedError(String name)
function _withArgumentsFinalPossiblyAssignedError (line 5446) | Message _withArgumentsFinalPossiblyAssignedError(String name)
function _withArgumentsGetterNotFound (line 5560) | Message _withArgumentsGetterNotFound(String name)
function _withArgumentsIllegalMixin (line 5631) | Message _withArgumentsIllegalMixin(String name)
function _withArgumentsIllegalMixinDueToConstructors (line 5653) | Message _withArgumentsIllegalMixinDueToConstructors(String name)
function _withArgumentsIllegalMixinDueToConstructorsCause (line 5678) | Message _withArgumentsIllegalMixinDueToConstructorsCause(String name)
function _withArgumentsImplementsRepeated (line 5775) | Message _withArgumentsImplementsRepeated(String name, int count)
function _withArgumentsImplementsSuperClass (line 5803) | Message _withArgumentsImplementsSuperClass(String name)
function _withArgumentsImplicitMixinOverride (line 5841) | Message _withArgumentsImplicitMixinOverride(
function _withArgumentsImportChainContext (line 5903) | Message _withArgumentsImportChainContext(
function _withArgumentsImportChainContextSimple (line 5937) | Message _withArgumentsImportChainContextSimple(Uri uri_, String string)
function _withArgumentsIncrementalCompilerIllegalParameter (line 5977) | Message _withArgumentsIncrementalCompilerIllegalParameter(String string)
function _withArgumentsIncrementalCompilerIllegalTypeParameter (line 6001) | Message _withArgumentsIncrementalCompilerIllegalTypeParameter(String str...
function _withArgumentsInheritedRestrictedMemberOfEnumImplementer (line 6056) | Message _withArgumentsInheritedRestrictedMemberOfEnumImplementer(
function _withArgumentsInitializeFromDillNotSelfContained (line 6091) | Message _withArgumentsInitializeFromDillNotSelfContained(
function _withArgumentsInitializeFromDillNotSelfContainedNoDump (line 6123) | Message _withArgumentsInitializeFromDillNotSelfContainedNoDump(String st...
function _withArgumentsInitializeFromDillUnknownProblem (line 6165) | Message _withArgumentsInitializeFromDillUnknownProblem(
function _withArgumentsInitializeFromDillUnknownProblemNoDump (line 6210) | Message _withArgumentsInitializeFromDillUnknownProblemNoDump(
function _withArgumentsInitializerForStaticField (line 6253) | Message _withArgumentsInitializerForStaticField(String name)
function _withArgumentsInputFileNotFound (line 6284) | Message _withArgumentsInputFileNotFound(Uri uri_)
function _withArgumentsInstanceAndSynthesizedStaticConflict (line 6309) | Message _withArgumentsInstanceAndSynthesizedStaticConflict(String name)
function _withArgumentsInstantiationTooFewArguments (line 6336) | Message _withArgumentsInstantiationTooFewArguments(int count, int count2)
function _withArgumentsInstantiationTooManyArguments (line 6366) | Message _withArgumentsInstantiationTooManyArguments(int count, int count2)
function _withArgumentsIntegerLiteralIsOutOfRange (line 6396) | Message _withArgumentsIntegerLiteralIsOutOfRange(String string)
function _withArgumentsInterfaceCheck (line 6424) | Message _withArgumentsInterfaceCheck(String name, String name2)
function _withArgumentsInterfaceClassExtendedOutsideOfLibrary (line 6453) | Message _withArgumentsInterfaceClassExtendedOutsideOfLibrary(String name)
function _withArgumentsInternalProblemConstructorNotFound (line 6517) | Message _withArgumentsInternalProblemConstructorNotFound(
function _withArgumentsInternalProblemContextSeverity (line 6542) | Message _withArgumentsInternalProblemContextSeverity(String string)
function _withArgumentsInternalProblemDebugAbort (line 6564) | Message _withArgumentsInternalProblemDebugAbort(String name, String string)
function _withArgumentsInternalProblemNotFound (line 6618) | Message _withArgumentsInternalProblemNotFound(String name)
function _withArgumentsInternalProblemNotFoundIn (line 6641) | Message _withArgumentsInternalProblemNotFoundIn(String name, String name2)
function _withArgumentsInternalProblemPrivateConstructorAccess (line 6688) | Message _withArgumentsInternalProblemPrivateConstructorAccess(String name)
function _withArgumentsInternalProblemStackNotEmpty (line 6722) | Message _withArgumentsInternalProblemStackNotEmpty(String name, String s...
function _withArgumentsInternalProblemUnexpected (line 6746) | Message _withArgumentsInternalProblemUnexpected(String string, String st...
function _withArgumentsInternalProblemUnfinishedTypeVariable (line 6773) | Message _withArgumentsInternalProblemUnfinishedTypeVariable(
function _withArgumentsInternalProblemUnhandled (line 6799) | Message _withArgumentsInternalProblemUnhandled(String string, String str...
function _withArgumentsInternalProblemUnimplemented (line 6820) | Message _withArgumentsInternalProblemUnimplemented(String string)
function _withArgumentsInternalProblemUnsupported (line 6840) | Message _withArgumentsInternalProblemUnsupported(String name)
function _withArgumentsInternalProblemUriMissingScheme (line 6861) | Message _withArgumentsInternalProblemUriMissingScheme(Uri uri_)
function _withArgumentsInternalProblemVerificationError (line 6885) | Message _withArgumentsInternalProblemVerificationError(String string)
function _withArgumentsInvalidBreakTarget (line 6934) | Message _withArgumentsInvalidBreakTarget(String name)
function _withArgumentsInvalidConstantPatternBinary (line 6979) | Message _withArgumentsInvalidConstantPatternBinary(String name)
function _withArgumentsInvalidConstantPatternUnary (line 7067) | Message _withArgumentsInvalidConstantPatternUnary(String name)
function _withArgumentsInvalidContinueTarget (line 7090) | Message _withArgumentsInvalidContinueTarget(String name)
function _withArgumentsInvalidGetterSetterTypeFieldContext (line 7125) | Message _withArgumentsInvalidGetterSetterTypeFieldContext(String name)
function _withArgumentsInvalidGetterSetterTypeGetterContext (line 7149) | Message _withArgumentsInvalidGetterSetterTypeGetterContext(String name)
function _withArgumentsInvalidGetterSetterTypeSetterContext (line 7173) | Message _withArgumentsInvalidGetterSetterTypeSetterContext(String name)
function _withArgumentsInvalidOperator (line 7248) | Message _withArgumentsInvalidOperator(Token token)
function _withArgumentsInvalidPackageUri (line 7270) | Message _withArgumentsInvalidPackageUri(Uri uri_, String string)
function _withArgumentsInvalidTypeVariableInSupertype (line 7330) | Message _withArgumentsInvalidTypeVariableInSupertype(
function _withArgumentsInvalidTypeVariableInSupertypeWithVariance (line 7366) | Message _withArgumentsInvalidTypeVariableInSupertypeWithVariance(
function _withArgumentsInvalidTypeVariableVariancePosition (line 7405) | Message _withArgumentsInvalidTypeVariableVariancePosition(
function _withArgumentsInvalidTypeVariableVariancePositionInReturnType (line 7434) | Message _withArgumentsInvalidTypeVariableVariancePositionInReturnType(
function _withArgumentsInvokeNonFunction (line 7513) | Message _withArgumentsInvokeNonFunction(String name)
function _withArgumentsJointPatternVariableNotInAll (line 7540) | Message _withArgumentsJointPatternVariableNotInAll(String name)
function _withArgumentsJointPatternVariableWithLabelDefault (line 7569) | Message _withArgumentsJointPatternVariableWithLabelDefault(String name)
function _withArgumentsJointPatternVariablesMismatch (line 7595) | Message _withArgumentsJointPatternVariablesMismatch(String name)
function _withArgumentsJsInteropDartClassExtendsJSClass (line 7637) | Message _withArgumentsJsInteropDartClassExtendsJSClass(
function _withArgumentsJsInteropExportClassNotMarkedExportable (line 7691) | Message _withArgumentsJsInteropExportClassNotMarkedExportable(String name)
function _withArgumentsJsInteropExportDartInterfaceHasNonEmptyJSExportValue (line 7719) | Message _withArgumentsJsInteropExportDartInterfaceHasNonEmptyJSExportValue(
function _withArgumentsJsInteropExportDisallowedMember (line 7749) | Message _withArgumentsJsInteropExportDisallowedMember(String name)
function _withArgumentsJsInteropExportMemberCollision (line 7780) | Message _withArgumentsJsInteropExportMemberCollision(
function _withArgumentsJsInteropExportNoExportableMembers (line 7812) | Message _withArgumentsJsInteropExportNoExportableMembers(String name)
function _withArgumentsJsInteropJSClassExtendsDartClass (line 7876) | Message _withArgumentsJsInteropJSClassExtendsDartClass(
function _withArgumentsJsInteropNativeClassInAnnotation (line 7924) | Message _withArgumentsJsInteropNativeClassInAnnotation(
function _withArgumentsJsInteropNonStaticWithStaticInteropSupertype (line 7979) | Message _withArgumentsJsInteropNonStaticWithStaticInteropSupertype(
function _withArgumentsJsInteropStaticInteropMockMissingGetterOrSetter (line 8070) | Message _withArgumentsJsInteropStaticInteropMockMissingGetterOrSetter(
function _withArgumentsJsInteropStaticInteropMockMissingImplements (line 8112) | Message _withArgumentsJsInteropStaticInteropMockMissingImplements(
function _withArgumentsJsInteropStaticInteropNoJSAnnotation (line 8145) | Message _withArgumentsJsInteropStaticInteropNoJSAnnotation(String name)
function _withArgumentsJsInteropStaticInteropTrustTypesUsageNotAllowed (line 8186) | Message _withArgumentsJsInteropStaticInteropTrustTypesUsageNotAllowed(
function _withArgumentsJsInteropStaticInteropTrustTypesUsedWithoutStaticInterop (line 8216) | Message _withArgumentsJsInteropStaticInteropTrustTypesUsedWithoutStaticI...
function _withArgumentsJsInteropStaticInteropWithInstanceMembers (line 8246) | Message _withArgumentsJsInteropStaticInteropWithInstanceMembers(String n...
function _withArgumentsJsInteropStaticInteropWithNonStaticSupertype (line 8275) | Message _withArgumentsJsInteropStaticInteropWithNonStaticSupertype(
function _withArgumentsLabelNotFound (line 8303) | Message _withArgumentsLabelNotFound(String name)
function _withArgumentsLanguageVersionTooHigh (line 8391) | Message _withArgumentsLanguageVersionTooHigh(int count, int count2)
function _withArgumentsLateDefinitelyAssignedError (line 8417) | Message _withArgumentsLateDefinitelyAssignedError(String name)
function _withArgumentsLateDefinitelyUnassignedError (line 8442) | Message _withArgumentsLateDefinitelyUnassignedError(String name)
function _withArgumentsLiteralWithClass (line 8510) | Message _withArgumentsLiteralWithClass(String string, Token token)
function _withArgumentsLiteralWithClassAndNew (line 8538) | Message _withArgumentsLiteralWithClassAndNew(String string, Token token)
function _withArgumentsMacroClassNotDeclaredMacro (line 8585) | Message _withArgumentsMacroClassNotDeclaredMacro(String name)
function _withArgumentsMemberNotFound (line 8687) | Message _withArgumentsMemberNotFound(String name)
function _withArgumentsMethodNotFound (line 8752) | Message _withArgumentsMethodNotFound(String name)
function _withArgumentsMissingImplementationCause (line 8862) | Message _withArgumentsMissingImplementationCause(String name)
function _withArgumentsMissingImplementationNotAbstract (line 8896) | Message _withArgumentsMissingImplementationNotAbstract(
function _withArgumentsMissingPartOf (line 8968) | Message _withArgumentsMissingPartOf(Uri uri_)
function _withArgumentsMissingVariablePattern (line 9016) | Message _withArgumentsMissingVariablePattern(String name)
function _withArgumentsMixinApplicationNoConcreteGetter (line 9045) | Message _withArgumentsMixinApplicationNoConcreteGetter(String name)
function _withArgumentsMixinApplicationNoConcreteMethod (line 9084) | Message _withArgumentsMixinApplicationNoConcreteMethod(String name)
function _withArgumentsMixinApplicationNoConcreteSetter (line 9112) | Message _withArgumentsMixinApplicationNoConcreteSetter(String name)
function _withArgumentsMixinInheritsFromNotObject (line 9146) | Message _withArgumentsMixinInheritsFromNotObject(String name)
function _withArgumentsModifierOutOfOrder (line 9175) | Message _withArgumentsModifierOutOfOrder(String string, String string2)
function _withArgumentsMultipleClauses (line 9216) | Message _withArgumentsMultipleClauses(String string, String string2)
function _withArgumentsNameNotFound (line 9310) | Message _withArgumentsNameNotFound(String name)
function _withArgumentsNamedMixinOverride (line 9356) | Message _withArgumentsNamedMixinOverride(String name, String name2)
function _withArgumentsNoFormals (line 9486) | Message _withArgumentsNoFormals(Token token)
function _withArgumentsNoSuchNamedParameter (line 9508) | Message _withArgumentsNoSuchNamedParameter(String name)
function _withArgumentsNonAsciiIdentifier (line 9554) | Message _withArgumentsNonAsciiIdentifier(String character, int codePoint)
function _withArgumentsNonAsciiWhitespace (line 9581) | Message _withArgumentsNonAsciiWhitespace(int codePoint)
function _withArgumentsNonAugmentationClassConflict (line 9609) | Message _withArgumentsNonAugmentationClassConflict(String name)
function _withArgumentsNonAugmentationClassMemberConflict (line 9649) | Message _withArgumentsNonAugmentationClassMemberConflict(String name)
function _withArgumentsNonAugmentationConstructorConflict (line 9679) | Message _withArgumentsNonAugmentationConstructorConflict(String name)
function _withArgumentsNonAugmentationLibraryConflict (line 9727) | Message _withArgumentsNonAugmentationLibraryConflict(String name)
function _withArgumentsNonAugmentationLibraryMemberConflict (line 9757) | Message _withArgumentsNonAugmentationLibraryMemberConflict(String name)
function _withArgumentsNonNullableNotAssignedError (line 9827) | Message _withArgumentsNonNullableNotAssignedError(String name)
function _withArgumentsNonSimpleBoundViaReference (line 9871) | Message _withArgumentsNonSimpleBoundViaReference(String name)
function _withArgumentsNonSimpleBoundViaVariable (line 9896) | Message _withArgumentsNonSimpleBoundViaVariable(String name)
function _withArgumentsNotAPrefixInTypeAnnotation (line 9955) | Message _withArgumentsNotAPrefixInTypeAnnotation(String name, String name2)
function _withArgumentsNotAType (line 9978) | Message _withArgumentsNotAType(String name)
function _withArgumentsNotBinaryOperator (line 10013) | Message _withArgumentsNotBinaryOperator(Token token)
function _withArgumentsNotConstantExpression (line 10032) | Message _withArgumentsNotConstantExpression(String string)
function _withArgumentsNullSafetyDisabledInvalidLanguageVersion (line 10068) | Message _withArgumentsNullSafetyDisabledInvalidLanguageVersion(String st...
function _withArgumentsNullSafetyOptOutExplicit (line 10104) | Message _withArgumentsNullSafetyOptOutExplicit(String string)
function _withArgumentsNullSafetyOptOutImplicit (line 10131) | Message _withArgumentsNullSafetyOptOutImplicit(String string)
function _withArgumentsNullableInterfaceError (line 10154) | Message _withArgumentsNullableInterfaceError(String name)
function _withArgumentsNullableMixinError (line 10177) | Message _withArgumentsNullableMixinError(String name)
function _withArgumentsNullableSuperclassError (line 10209) | Message _withArgumentsNullableSuperclassError(String name)
function _withArgumentsNullableTearoffError (line 10232) | Message _withArgumentsNullableTearoffError(String name)
function _withArgumentsOperatorMinusParameterMismatch (line 10315) | Message _withArgumentsOperatorMinusParameterMismatch(String name)
function _withArgumentsOperatorParameterMismatch0 (line 10341) | Message _withArgumentsOperatorParameterMismatch0(String name)
function _withArgumentsOperatorParameterMismatch1 (line 10363) | Message _withArgumentsOperatorParameterMismatch1(String name)
function _withArgumentsOperatorParameterMismatch2 (line 10386) | Message _withArgumentsOperatorParameterMismatch2(String name)
function _withArgumentsOutOfOrderClauses (line 10437) | Message _withArgumentsOutOfOrderClauses(String string, String string2)
function _withArgumentsOverriddenMethodCause (line 10459) | Message _withArgumentsOverriddenMethodCause(String name)
function _withArgumentsOverrideFewerNamedArguments (line 10486) | Message _withArgumentsOverrideFewerNamedArguments(String name, String na...
function _withArgumentsOverrideFewerPositionalArguments (line 10516) | Message _withArgumentsOverrideFewerPositionalArguments(
function _withArgumentsOverrideMismatchNamedParameter (line 10548) | Message _withArgumentsOverrideMismatchNamedParameter(
function _withArgumentsOverrideMismatchRequiredNamedParameter (line 10578) | Message _withArgumentsOverrideMismatchRequiredNamedParameter(
function _withArgumentsOverrideMoreRequiredArguments (line 10611) | Message _withArgumentsOverrideMoreRequiredArguments(String name, String ...
function _withArgumentsOverrideTypeVariablesMismatch (line 10641) | Message _withArgumentsOverrideTypeVariablesMismatch(String name, String ...
function _withArgumentsPackageNotFound (line 10667) | Message _withArgumentsPackageNotFound(String name, Uri uri_)
function _withArgumentsPackagesFileFormat (line 10690) | Message _withArgumentsPackagesFileFormat(String string)
function _withArgumentsPartOfInLibrary (line 10751) | Message _withArgumentsPartOfInLibrary(Uri uri_)
function _withArgumentsPartOfLibraryNameMismatch (line 10781) | Message _withArgumentsPartOfLibraryNameMismatch(
function _withArgumentsPartOfUriMismatch (line 10854) | Message _withArgumentsPartOfUriMismatch(Uri uri_, Uri uri2_, Uri uri3_)
function _withArgumentsPartOfUseUri (line 10886) | Message _withArgumentsPartOfUseUri(Uri uri_, Uri uri2_, String name)
function _withArgumentsPartTwice (line 10919) | Message _withArgumentsPartTwice(Uri uri_)
function _withArgumentsPatchInjectionFailed (line 10981) | Message _withArgumentsPatchInjectionFailed(String name, Uri uri_)
function _withArgumentsPatternAssignmentDeclaresVariable (line 11022) | Message _withArgumentsPatternAssignmentDeclaresVariable(String name)
function _withArgumentsRedirectionTargetNotFound (line 11272) | Message _withArgumentsRedirectionTargetNotFound(String name)
function _withArgumentsRequiredNamedParameterHasDefaultValueError (line 11310) | Message _withArgumentsRequiredNamedParameterHasDefaultValueError(String ...
function _withArgumentsSdkRootNotFound (line 11409) | Message _withArgumentsSdkRootNotFound(Uri uri_)
function _withArgumentsSdkSpecificationNotFound (line 11434) | Message _withArgumentsSdkSpecificationNotFound(Uri uri_)
function _withArgumentsSdkSummaryNotFound (line 11456) | Message _withArgumentsSdkSummaryNotFound(Uri uri_)
function _withArgumentsSealedClassSubtypeOutsideOfLibrary (line 11481) | Message _withArgumentsSealedClassSubtypeOutsideOfLibrary(String name)
function _withArgumentsSetterNotFound (line 11550) | Message _withArgumentsSetterNotFound(String name)
function _withArgumentsSourceBodySummary (line 11602) | Message _withArgumentsSourceBodySummary(
function _withArgumentsSourceOutlineSummary (line 11657) | Message _withArgumentsSourceOutlineSummary(
function _withArgumentsStrongModeNNBDPackageOptOut (line 11792) | Message _withArgumentsStrongModeNNBDPackageOptOut(List<String> _names)
function _withArgumentsSubtypeOfBaseIsNotBaseFinalOrSealed (line 11835) | Message _withArgumentsSubtypeOfBaseIsNotBaseFinalOrSealed(
function _withArgumentsSubtypeOfFinalIsNotBaseFinalOrSealed (line 11871) | Message _withArgumentsSubtypeOfFinalIsNotBaseFinalOrSealed(
function _withArgumentsSuperclassHasNoConstructor (line 11961) | Message _withArgumentsSuperclassHasNoConstructor(String name)
function _withArgumentsSuperclassHasNoDefaultConstructor (line 11987) | Message _withArgumentsSuperclassHasNoDefaultConstructor(String name)
function _withArgumentsSuperclassHasNoGetter (line 12008) | Message _withArgumentsSuperclassHasNoGetter(String name)
function _withArgumentsSuperclassHasNoMember (line 12028) | Message _withArgumentsSuperclassHasNoMember(String name)
function _withArgumentsSuperclassHasNoMethod (line 12048) | Message _withArgumentsSuperclassHasNoMethod(String name)
function _withArgumentsSuperclassHasNoSetter (line 12068) | Message _withArgumentsSuperclassHasNoSetter(String name)
function _withArgumentsSuperclassMethodArgumentMismatch (line 12093) | Message _withArgumentsSuperclassMethodArgumentMismatch(String name)
function _withArgumentsSupertypeIsIllegal (line 12123) | Message _withArgumentsSupertypeIsIllegal(String name)
function _withArgumentsSupertypeIsTypeVariable (line 12144) | Message _withArgumentsSupertypeIsTypeVariable(String name)
function _withArgumentsThisAccessInFieldInitializer (line 12217) | Message _withArgumentsThisAccessInFieldInitializer(String name)
function _withArgumentsThisNotPromoted (line 12259) | Message _withArgumentsThisNotPromoted(String string)
function _withArgumentsThisOrSuperAccessInFieldInitializer (line 12283) | Message _withArgumentsThisOrSuperAccessInFieldInitializer(String string)
function _withArgumentsTooFewArguments (line 12307) | Message _withArgumentsTooFewArguments(int count, int count2)
function _withArgumentsTooManyArguments (line 12337) | Message _withArgumentsTooManyArguments(int count, int count2)
function _withArgumentsTypeArgumentMismatch (line 12382) | Message _withArgumentsTypeArgumentMismatch(int count)
function _withArgumentsTypeArgumentsOnTypeVariable (line 12405) | Message _withArgumentsTypeArgumentsOnTypeVariable(String name)
function _withArgumentsTypeNotFound (line 12438) | Message _withArgumentsTypeNotFound(String name)
function _withArgumentsTypeOrigin (line 12459) | Message _withArgumentsTypeOrigin(String name, Uri uri_)
function _withArgumentsTypeOriginWithFileUri (line 12483) | Message _withArgumentsTypeOriginWithFileUri(String name, Uri uri_, Uri u...
function _withArgumentsTypeVariableDuplicatedNameCause (line 12517) | Message _withArgumentsTypeVariableDuplicatedNameCause(String name)
function _withArgumentsUnavailableDartLibrary (line 12641) | Message _withArgumentsUnavailableDartLibrary(Uri uri_)
function _withArgumentsUnexpectedModifierInNonNnbd (line 12676) | Message _withArgumentsUnexpectedModifierInNonNnbd(Token token)
function _withArgumentsUnexpectedToken (line 12696) | Message _withArgumentsUnexpectedToken(Token token)
function _withArgumentsUnmatchedAugmentationClass (line 12731) | Message _withArgumentsUnmatchedAugmentationClass(String name)
function _withArgumentsUnmatchedAugmentationClassMember (line 12760) | Message _withArgumentsUnmatchedAugmentationClassMember(String name)
function _withArgumentsUnmatchedAugmentationConstructor (line 12789) | Message _withArgumentsUnmatchedAugmentationConstructor(String name)
function _withArgumentsUnmatchedAugmentationDeclaration (line 12818) | Message _withArgumentsUnmatchedAugmentationDeclaration(String name)
function _withArgumentsUnmatchedAugmentationLibraryMember (line 12848) | Message _withArgumentsUnmatchedAugmentationLibraryMember(String name)
function _withArgumentsUnmatchedToken (line 12871) | Message _withArgumentsUnmatchedToken(String string, Token token)
function _withArgumentsUnresolvedPrefixInTypeAnnotation (line 12947) | Message _withArgumentsUnresolvedPrefixInTypeAnnotation(
function _withArgumentsUnspecified (line 12972) | Message _withArgumentsUnspecified(String string)
function _withArgumentsUnsupportedOperator (line 13011) | Message _withArgumentsUnsupportedOperator(Token token)
function _withArgumentsUnterminatedString (line 13054) | Message _withArgumentsUnterminatedString(String string, String string2)
function _withArgumentsUntranslatableUri (line 13083) | Message _withArgumentsUntranslatableUri(Uri uri_)
function _withArgumentsValueForRequiredParameterNotProvidedError (line 13105) | Message _withArgumentsValueForRequiredParameterNotProvidedError(String n...
function _withArgumentsVariableCouldBeNullDueToWrite (line 13153) | Message _withArgumentsVariableCouldBeNullDueToWrite(
function _withArgumentsWebLiteralCannotBeRepresentedExactly (line 13296) | Message _withArgumentsWebLiteralCannotBeRepresentedExactly(
FILE: inner/pkg/_fe_analyzer_shared/lib/src/messages/diagnostic_message.dart
type DiagnosticMessageHandler (line 20) | typedef DiagnosticMessageHandler = void Function(DiagnosticMessage);
class DiagnosticMessage (line 29) | abstract class DiagnosticMessage {
function getMessageUri (line 44) | Uri? getMessageUri(DiagnosticMessage message)
function getMessageCharOffset (line 53) | int? getMessageCharOffset(DiagnosticMessage message)
function getMessageLength (line 58) | int? getMessageLength(DiagnosticMessage message)
function getMessageCodeObject (line 63) | Code? getMessageCodeObject(DiagnosticMessage message)
function getMessageHeaderText (line 68) | String? getMessageHeaderText(DiagnosticMessage message)
function getMessageCode (line 73) | int getMessageCode(DiagnosticMessage message)
function getMessageArguments (line 78) | Map<String, dynamic>? getMessageArguments(DiagnosticMessage message)
function getMessageRelatedInformation (line 83) | Iterable<DiagnosticMessage>? getMessageRelatedInformation(
FILE: inner/pkg/_fe_analyzer_shared/lib/src/messages/severity.dart
type Severity (line 7) | enum Severity {
FILE: inner/pkg/_fe_analyzer_shared/lib/src/parser/assert.dart
type Assert (line 12) | enum Assert {
FILE: inner/pkg/_fe_analyzer_shared/lib/src/parser/async_modifier.dart
type AsyncModifier (line 7) | enum AsyncModifier {
FILE: inner/pkg/_fe_analyzer_shared/lib/src/parser/block_kind.dart
class BlockKind (line 5) | class BlockKind {
method toString (line 19) | String toString()
FILE: inner/pkg/_fe_analyzer_shared/lib/src/parser/class_member_parser.dart
class ClassMemberParser (line 15) | class ClassMemberParser extends Parser {
method parseExpression (line 22) | Token parseExpression(Token token)
method parseIdentifierExpression (line 27) | Token parseIdentifierExpression(Token token)
method skipExpression (line 31) | Token skipExpression(Token token)
method parseArgumentsOpt (line 51) | Token parseArgumentsOpt(Token token, {bool forPattern = false})
method parseFunctionBody (line 55) | Token parseFunctionBody(Token token, bool isExpression, bool allowAbst...
method parseInvalidBlock (line 60) | Token parseInvalidBlock(Token token)
FILE: inner/pkg/_fe_analyzer_shared/lib/src/parser/constructor_reference_context.dart
type ConstructorReferenceContext (line 6) | enum ConstructorReferenceContext {
FILE: inner/pkg/_fe_analyzer_shared/lib/src/parser/declaration_kind.dart
type DeclarationKind (line 5) | enum DeclarationKind {
FILE: inner/pkg/_fe_analyzer_shared/lib/src/parser/directive_context.dart
class DirectiveContext (line 9) | class DirectiveContext {
method checkScriptTag (line 12) | void checkScriptTag(Parser parser, Token token)
method checkDeclaration (line 22) | void checkDeclaration()
method checkExport (line 28) | void checkExport(Parser parser, Token token)
method checkImport (line 43) | void checkImport(Parser parser, Token token)
method checkLibrary (line 58) | void checkLibrary(Parser parser, Token token)
method checkPart (line 73) | void checkPart(Parser parser, Token token)
method checkPartOf (line 86) | void checkPartOf(Parser parser, Token token)
type DirectiveState (line 100) | enum DirectiveState {
FILE: inner/pkg/_fe_analyzer_shared/lib/src/parser/error_delegation_listener.dart
class ErrorDelegationListener (line 13) | class ErrorDelegationListener extends Listener {
method handleRecoverableError (line 19) | void handleRecoverableError(
FILE: inner/pkg/_fe_analyzer_shared/lib/src/parser/formal_parameter_kind.dart
type FormalParameterKind (line 7) | enum FormalParameterKind {
FILE: inner/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart
class ForwardingListener (line 10) | class ForwardingListener implements Listener {
method beginArguments (line 20) | void beginArguments(Token token)
method beginAssert (line 25) | void beginAssert(Token assertKeyword, Assert kind)
method beginAwaitExpression (line 30) | void beginAwaitExpression(Token token)
method beginBinaryExpression (line 35) | void beginBinaryExpression(Token token)
method beginBinaryPattern (line 40) | void beginBinaryPattern(Token token)
method beginBlock (line 45) | void beginBlock(Token token, BlockKind blockKind)
method beginBlockFunctionBody (line 50) | void beginBlockFunctionBody(Token token)
method beginCascade (line 55) | void beginCascade(Token token)
method beginCaseExpression (line 60) | void beginCaseExpression(Token caseKeyword)
method beginCatchClause (line 65) | void beginCatchClause(Token token)
method beginClassDeclaration (line 70) | void beginClassDeclaration(
method beginClassOrMixinOrExtensionBody (line 97) | void beginClassOrMixinOrExtensionBody(DeclarationKind kind, Token token)
method beginClassOrMixinOrNamedMixinApplicationPrelude (line 102) | void beginClassOrMixinOrNamedMixinApplicationPrelude(Token token)
method beginCombinators (line 107) | void beginCombinators(Token token)
method beginCompilationUnit (line 112) | void beginCompilationUnit(Token token)
method beginConditionalExpression (line 117) | void beginConditionalExpression(Token question)
method beginConditionalUri (line 122) | void beginConditionalUri(Token ifKeyword)
method beginConditionalUris (line 127) | void beginConditionalUris(Token token)
method beginConstExpression (line 132) | void beginConstExpression(Token constKeyword)
method beginConstLiteral (line 137) | void beginConstLiteral(Token token)
method beginConstructorReference (line 142) | void beginConstructorReference(Token start)
method beginDoWhileStatement (line 147) | void beginDoWhileStatement(Token token)
method beginDoWhileStatementBody (line 152) | void beginDoWhileStatementBody(Token token)
method beginElseStatement (line 157) | void beginElseStatement(Token token)
method beginEnum (line 162) | void beginEnum(Token enumKeyword)
method beginExport (line 167) | void beginExport(Token token)
method beginUncategorizedTopLevelDeclaration (line 172) | void beginUncategorizedTopLevelDeclaration(Token token)
method beginExtensionDeclarationPrelude (line 177) | void beginExtensionDeclarationPrelude(Token extensionKeyword)
method beginExtensionDeclaration (line 182) | void beginExtensionDeclaration(Token extensionKeyword, Token? name)
method beginFactoryMethod (line 187) | void beginFactoryMethod(DeclarationKind declarationKind, Token lastCon...
method beginFieldInitializer (line 194) | void beginFieldInitializer(Token token)
method beginForControlFlow (line 199) | void beginForControlFlow(Token? awaitToken, Token forToken)
method beginForInBody (line 204) | void beginForInBody(Token token)
method beginForInExpression (line 209) | void beginForInExpression(Token token)
method beginFormalParameter (line 214) | void beginFormalParameter(Token token, MemberKind kind, Token? require...
method beginFormalParameterDefaultValueExpression (line 221) | void beginFormalParameterDefaultValueExpression()
method beginFormalParameters (line 226) | void beginFormalParameters(Token token, MemberKind kind)
method beginForStatement (line 231) | void beginForStatement(Token token)
method beginForStatementBody (line 236) | void beginForStatementBody(Token token)
method beginFunctionExpression (line 241) | void beginFunctionExpression(Token token)
method beginFunctionName (line 246) | void beginFunctionName(Token token)
method beginRecordType (line 251) | void beginRecordType(Token leftBracket)
method endRecordType (line 256) | void endRecordType(
method beginRecordTypeEntry (line 262) | void beginRecordTypeEntry()
method endRecordTypeEntry (line 267) | void endRecordTypeEntry()
method beginRecordTypeNamedFields (line 272) | void beginRecordTypeNamedFields(Token leftBracket)
method endRecordTypeNamedFields (line 277) | void endRecordTypeNamedFields(int count, Token leftBracket)
method beginFunctionType (line 282) | void beginFunctionType(Token beginToken)
method beginTypedef (line 287) | void beginTypedef(Token token)
method beginFunctionTypedFormalParameter (line 292) | void beginFunctionTypedFormalParameter(Token token)
method beginHide (line 297) | void beginHide(Token hideKeyword)
method beginIfControlFlow (line 302) | void beginIfControlFlow(Token ifToken)
method beginIfStatement (line 307) | void beginIfStatement(Token token)
method beginImplicitCreationExpression (line 312) | void beginImplicitCreationExpression(Token token)
method beginImport (line 317) | void beginImport(Token importKeyword)
method beginInitializedIdentifier (line 322) | void beginInitializedIdentifier(Token token)
method beginInitializer (line 327) | void beginInitializer(Token token)
method beginInitializers (line 332) | void beginInitializers(Token token)
method beginLabeledStatement (line 337) | void beginLabeledStatement(Token token, int labelCount)
method beginLibraryAugmentation (line 342) | void beginLibraryAugmentation(Token libraryKeyword, Token augmentKeyword)
method endLibraryAugmentation (line 347) | void endLibraryAugmentation(
method beginLibraryName (line 353) | void beginLibraryName(Token token)
method beginLiteralString (line 358) | void beginLiteralString(Token token)
method beginLiteralSymbol (line 363) | void beginLiteralSymbol(Token token)
method beginLocalFunctionDeclaration (line 368) | void beginLocalFunctionDeclaration(Token token)
method beginMember (line 373) | void beginMember()
method beginMetadata (line 378) | void beginMetadata(Token token)
method beginMetadataStar (line 383) | void beginMetadataStar(Token token)
method beginMethod (line 388) | void beginMethod(
method beginMixinDeclaration (line 402) | void beginMixinDeclaration(
method beginNamedFunctionExpression (line 409) | void beginNamedFunctionExpression(Token token)
method beginNamedMixinApplication (line 414) | void beginNamedMixinApplication(
method beginNewExpression (line 441) | void beginNewExpression(Token token)
method beginOptionalFormalParameters (line 446) | void beginOptionalFormalParameters(Token token)
method beginPart (line 451) | void beginPart(Token token)
method beginPartOf (line 456) | void beginPartOf(Token token)
method beginRedirectingFactoryBody (line 461) | void beginRedirectingFactoryBody(Token token)
method beginRethrowStatement (line 466) | void beginRethrowStatement(Token token)
method beginReturnStatement (line 471) | void beginReturnStatement(Token token)
method beginShow (line 476) | void beginShow(Token showKeyword)
method beginSwitchBlock (line 481) | void beginSwitchBlock(Token token)
method beginSwitchExpressionBlock (line 486) | void beginSwitchExpressionBlock(Token token)
method beginSwitchCase (line 491) | void beginSwitchCase(int labelCount, int expressionCount, Token firstT...
method beginSwitchExpressionCase (line 496) | void beginSwitchExpressionCase()
method beginSwitchStatement (line 501) | void beginSwitchStatement(Token token)
method beginSwitchExpression (line 506) | void beginSwitchExpression(Token token)
method handleThenControlFlow (line 511) | void handleThenControlFlow(Token token)
method beginThenStatement (line 516) | void beginThenStatement(Token token)
method beginTopLevelMember (line 521) | void beginTopLevelMember(Token token)
method beginTopLevelMethod (line 526) | void beginTopLevelMethod(
method beginTryStatement (line 532) | void beginTryStatement(Token token)
method beginTypeArguments (line 537) | void beginTypeArguments(Token token)
method beginTypeList (line 542) | void beginTypeList(Token token)
method beginTypeVariable (line 547) | void beginTypeVariable(Token token)
method beginTypeVariables (line 552) | void beginTypeVariables(Token token)
method beginVariableInitializer (line 557) | void beginVariableInitializer(Token token)
method beginVariablesDeclaration (line 562) | void beginVariablesDeclaration(
method beginWhileStatement (line 568) | void beginWhileStatement(Token token)
method beginWhileStatementBody (line 573) | void beginWhileStatementBody(Token token)
method beginYieldStatement (line 578) | void beginYieldStatement(Token token)
method endArguments (line 583) | void endArguments(int count, Token beginToken, Token endToken)
method handleObjectPatternFields (line 588) | void handleObjectPatternFields(int count, Token beginToken, Token endT...
method endAssert (line 593) | void endAssert(Token assertKeyword, Assert kind, Token leftParenthesis,
method endAwaitExpression (line 600) | void endAwaitExpression(Token beginToken, Token endToken)
method endBinaryExpression (line 605) | void endBinaryExpression(Token token)
method endBinaryPattern (line 610) | void endBinaryPattern(Token token)
method handleEndingBinaryExpression (line 615) | void handleEndingBinaryExpression(Token token)
method endBlock (line 620) | void endBlock(
method endBlockFunctionBody (line 626) | void endBlockFunctionBody(int count, Token beginToken, Token endToken)
method endCascade (line 631) | void endCascade()
method endCaseExpression (line 636) | void endCaseExpression(Token caseKeyword, Token? when, Token colon)
method endCatchClause (line 641) | void endCatchClause(Token token)
method endClassConstructor (line 646) | void endClassConstructor(Token? getOrSet, Token beginToken, Token begi...
method endClassDeclaration (line 653) | void endClassDeclaration(Token beginToken, Token endToken)
method endClassFactoryMethod (line 658) | void endClassFactoryMethod(
method endClassFields (line 664) | void endClassFields(
method endClassMethod (line 689) | void endClassMethod(Token? getOrSet, Token beginToken, Token beginParam,
method endClassOrMixinOrExtensionBody (line 696) | void endClassOrMixinOrExtensionBody(
method endCombinators (line 703) | void endCombinators(int count)
method endCompilationUnit (line 708) | void endCompilationUnit(int count, Token token)
method endConditionalExpression (line 713) | void endConditionalExpression(Token question, Token colon)
method endConditionalUri (line 718) | void endConditionalUri(Token ifKeyword, Token leftParen, Token? equalS...
method endConditionalUris (line 723) | void endConditionalUris(int count)
method endConstExpression (line 728) | void endConstExpression(Token token)
method endConstLiteral (line 733) | void endConstLiteral(Token token)
method endConstructorReference (line 738) | void endConstructorReference(Token start, Token? periodBeforeName,
method endDoWhileStatement (line 745) | void endDoWhileStatement(
method endDoWhileStatementBody (line 751) | void endDoWhileStatementBody(Token token)
method endElseStatement (line 756) | void endElseStatement(Token token)
method endEnum (line 761) | void endEnum(Token enumKeyword, Token leftBrace, int memberCount)
method endEnumConstructor (line 766) | void endEnumConstructor(Token? getOrSet, Token beginToken, Token begin...
method handleEnumElement (line 773) | void handleEnumElement(Token beginToken)
method handleEnumElements (line 778) | void handleEnumElements(Token elementsEndToken, int elementsCount)
method handleEnumHeader (line 783) | void handleEnumHeader(Token enumKeyword, Token leftBrace)
method endEnumFactoryMethod (line 788) | void endEnumFactoryMethod(
method endEnumFields (line 794) | void endEnumFields(
method endEnumMethod (line 819) | void endEnumMethod(Token? getOrSet, Token beginToken, Token beginParam,
method endExport (line 826) | void endExport(Token exportKeyword, Token semicolon)
method endExtensionConstructor (line 831) | void endExtensionConstructor(Token? getOrSet, Token beginToken,
method endExtensionDeclaration (line 838) | void endExtensionDeclaration(Token extensionKeyword, Token? typeKeyword,
method endExtensionFactoryMethod (line 845) | void endExtensionFactoryMethod(
method endExtensionFields (line 851) | void endExtensionFields(
method endExtensionMethod (line 876) | void endExtensionMethod(Token? getOrSet, Token beginToken, Token begin...
method endFieldInitializer (line 883) | void endFieldInitializer(Token assignment, Token token)
method endForControlFlow (line 888) | void endForControlFlow(Token token)
method endForIn (line 893) | void endForIn(Token endToken)
method endForInBody (line 898) | void endForInBody(Token token)
method endForInControlFlow (line 903) | void endForInControlFlow(Token token)
method endForInExpression (line 908) | void endForInExpression(Token token)
method endFormalParameter (line 913) | void endFormalParameter(
method endFormalParameterDefaultValueExpression (line 934) | void endFormalParameterDefaultValueExpression()
method endFormalParameters (line 939) | void endFormalParameters(
method endForStatement (line 945) | void endForStatement(Token endToken)
method endForStatementBody (line 950) | void endForStatementBody(Token token)
method endFunctionExpression (line 955) | void endFunctionExpression(Token beginToken, Token token)
method endFunctionName (line 960) | void endFunctionName(Token beginToken, Token token)
method endFunctionType (line 965) | void endFunctionType(Token functionToken, Token? questionMark)
method endTypedef (line 970) | void endTypedef(Token typedefKeyword, Token? equals, Token endToken)
method endFunctionTypedFormalParameter (line 975) | void endFunctionTypedFormalParameter(Token nameToken, Token? question)
method handleTypeArgumentApplication (line 980) | void handleTypeArgumentApplication(Token openAngleBracket)
method endHide (line 985) | void endHide(Token hideKeyword)
method endIfControlFlow (line 990) | void endIfControlFlow(Token token)
method endIfElseControlFlow (line 995) | void endIfElseControlFlow(Token token)
method endIfStatement (line 1000) | void endIfStatement(Token ifToken, Token? elseToken)
method endImplicitCreationExpression (line 1005) | void endImplicitCreationExpression(Token token, Token openAngleBracket)
method endImport (line 1010) | void endImport(Token importKeyword, Token? augmentToken, Token? semico...
method endInitializedIdentifier (line 1015) | void endInitializedIdentifier(Token nameToken)
method endInitializer (line 1020) | void endInitializer(Token token)
method endInitializers (line 1025) | void endInitializers(int count, Token beginToken, Token endToken)
method endInvalidAwaitExpression (line 1030) | void endInvalidAwaitExpression(
method endInvalidYieldStatement (line 1036) | void endInvalidYieldStatement(Token beginToken, Token? starToken,
method endLabeledStatement (line 1043) | void endLabeledStatement(int labelCount)
method endLibraryName (line 1048) | void endLibraryName(Token libraryKeyword, Token semicolon, bool hasName)
method endLiteralString (line 1053) | void endLiteralString(int interpolationCount, Token endToken)
method endLiteralSymbol (line 1058) | void endLiteralSymbol(Token hashToken, int identifierCount)
method endLocalFunctionDeclaration (line 1063) | void endLocalFunctionDeclaration(Token endToken)
method endMember (line 1068) | void endMember()
method endMetadata (line 1073) | void endMetadata(Token beginToken, Token? periodBeforeName, Token endT...
method endMetadataStar (line 1078) | void endMetadataStar(int count)
method endMixinConstructor (line 1083) | void endMixinConstructor(Token? getOrSet, Token beginToken, Token begi...
method endMixinDeclaration (line 1090) | void endMixinDeclaration(Token mixinKeyword, Token endToken)
method endMixinFactoryMethod (line 1095) | void endMixinFactoryMethod(
method endMixinFields (line 1101) | void endMixinFields(
method endMixinMethod (line 1126) | void endMixinMethod(Token? getOrSet, Token beginToken, Token beginParam,
method endNamedFunctionExpression (line 1133) | void endNamedFunctionExpression(Token endToken)
method endNamedMixinApplication (line 1138) | void endNamedMixinApplication(Token begin, Token classKeyword, Token e...
method endNewExpression (line 1145) | void endNewExpression(Token token)
method endOptionalFormalParameters (line 1150) | void endOptionalFormalParameters(
method endPart (line 1156) | void endPart(Token partKeyword, Token semicolon)
method endPartOf (line 1161) | void endPartOf(
method endRedirectingFactoryBody (line 1167) | void endRedirectingFactoryBody(Token beginToken, Token endToken)
method endRethrowStatement (line 1172) | void endRethrowStatement(Token rethrowToken, Token endToken)
method endReturnStatement (line 1177) | void endReturnStatement(
method endShow (line 1183) | void endShow(Token showKeyword)
method endSwitchBlock (line 1188) | void endSwitchBlock(int caseCount, Token beginToken, Token endToken)
method endSwitchExpressionBlock (line 1193) | void endSwitchExpressionBlock(
method endSwitchCase (line 1199) | void endSwitchCase(
method endSwitchExpressionCase (line 1212) | void endSwitchExpressionCase(Token? when, Token arrow, Token endToken)
method endSwitchStatement (line 1217) | void endSwitchStatement(Token switchKeyword, Token endToken)
method endSwitchExpression (line 1222) | void endSwitchExpression(Token switchKeyword, Token endToken)
method endThenStatement (line 1227) | void endThenStatement(Token token)
method endTopLevelDeclaration (line 1232) | void endTopLevelDeclaration(Token nextToken)
method beginFields (line 1237) | void beginFields(
method endTopLevelFields (line 1260) | void endTopLevelFields(
method endTopLevelMethod (line 1274) | void endTopLevelMethod(Token beginToken, Token? getOrSet, Token endToken)
method endTryStatement (line 1279) | void endTryStatement(
method endTypeArguments (line 1285) | void endTypeArguments(int count, Token beginToken, Token endToken)
method endTypeList (line 1290) | void endTypeList(int count)
method endTypeVariable (line 1295) | void endTypeVariable(
method endTypeVariables (line 1301) | void endTypeVariables(Token beginToken, Token endToken)
method endVariableInitializer (line 1306) | void endVariableInitializer(Token assignmentOperator)
method endVariablesDeclaration (line 1311) | void endVariablesDeclaration(int count, Token? endToken)
method endWhileStatement (line 1316) | void endWhileStatement(Token whileKeyword, Token endToken)
method endWhileStatementBody (line 1321) | void endWhileStatementBody(Token token)
method endYieldStatement (line 1326) | void endYieldStatement(Token yieldToken, Token? starToken, Token endTo...
method beginAsOperatorType (line 1331) | void beginAsOperatorType(Token operator)
method endAsOperatorType (line 1336) | void endAsOperatorType(Token operator)
method handleAsOperator (line 1341) | void handleAsOperator(Token operator)
method handleCastPattern (line 1346) | void handleCastPattern(Token operator)
method handleAssignmentExpression (line 1351) | void handleAssignmentExpression(Token token)
method handleAsyncModifier (line 1356) | void handleAsyncModifier(Token? asyncToken, Token? starToken)
method handleBreakStatement (line 1361) | void handleBreakStatement(
method handleCatchBlock (line 1367) | void handleCatchBlock(Token? onKeyword, Token? catchKeyword, Token? co...
method handleClassExtends (line 1372) | void handleClassExtends(Token? extendsKeyword, int typeCount)
method handleClassHeader (line 1377) | void handleClassHeader(Token begin, Token classKeyword, Token? nativeT...
method handleClassNoWithClause (line 1382) | void handleClassNoWithClause()
method handleEnumNoWithClause (line 1387) | void handleEnumNoWithClause()
method handleImplements (line 1392) | void handleImplements(Token? implementsKeyword, int interfacesCount)
method handleExtensionShowHide (line 1397) | void handleExtensionShowHide(Token? showKeyword, int showElementCount,
method handleClassWithClause (line 1404) | void handleClassWithClause(Token withKeyword)
method handleEnumWithClause (line 1409) | void handleEnumWithClause(Token withKeyword)
method handleCommentReference (line 1414) | void handleCommentReference(
method handleCommentReferenceText (line 1426) | void handleCommentReferenceText(String referenceSource, int referenceO...
method handleConditionalExpressionColon (line 1431) | void handleConditionalExpressionColon()
method handleConstFactory (line 1436) | void handleConstFactory(Token constKeyword)
method handleContinueStatement (line 1441) | void handleContinueStatement(
method handleDirectivesOnly (line 1447) | void handleDirectivesOnly()
method handleDottedName (line 1452) | void handleDottedName(int count, Token firstIdentifier)
method handleElseControlFlow (line 1457) | void handleElseControlFlow(Token elseToken)
method handleEmptyFunctionBody (line 1462) | void handleEmptyFunctionBody(Token semicolon)
method handleEmptyStatement (line 1467) | void handleEmptyStatement(Token token)
method handleErrorToken (line 1472) | void handleErrorToken(ErrorToken token)
method handleExpressionFunctionBody (line 1477) | void handleExpressionFunctionBody(Token arrowToken, Token? endToken)
method handleExpressionStatement (line 1482) | void handleExpressionStatement(Token token)
method handleExtraneousExpression (line 1487) | void handleExtraneousExpression(Token token, Message message)
method handleFinallyBlock (line 1492) | void handleFinallyBlock(Token finallyKeyword)
method handleForInitializerEmptyStatement (line 1497) | void handleForInitializerEmptyStatement(Token token)
method handleForInitializerExpressionStatement (line 1502) | void handleForInitializerExpressionStatement(Token token, bool forIn)
method handleForInitializerLocalVariableDeclaration (line 1507) | void handleForInitializerLocalVariableDeclaration(Token token, bool fo...
method handleForInitializerPatternVariableAssignment (line 1512) | void handleForInitializerPatternVariableAssignment(
method handleForInLoopParts (line 1518) | void handleForInLoopParts(Token? awaitToken, Token forToken,
method handleForLoopParts (line 1525) | void handleForLoopParts(Token forKeyword, Token leftParen,
method handleFormalParameterWithoutValue (line 1532) | void handleFormalParameterWithoutValue(Token token)
method handleFunctionBodySkipped (line 1537) | void handleFunctionBodySkipped(Token token, bool isExpressionBody)
method handleShowHideIdentifier (line 1542) | void handleShowHideIdentifier(Token? modifier, Token identifier)
method handleIdentifier (line 1547) | void handleIdentifier(Token token, IdentifierContext context)
method handleIdentifierList (line 1552) | void handleIdentifierList(int count)
method handleImportPrefix (line 1557) | void handleImportPrefix(Token? deferredKeyword, Token? asKeyword)
method handleIndexedExpression (line 1562) | void handleIndexedExpression(
method handleInterpolationExpression (line 1569) | void handleInterpolationExpression(Token leftBracket, Token? rightBrac...
method handleInvalidExpression (line 1574) | void handleInvalidExpression(Token token)
method handleInvalidFunctionBody (line 1579) | void handleInvalidFunctionBody(Token token)
method handleInvalidMember (line 1584) | void handleInvalidMember(Token endToken)
method handleInvalidOperatorName (line 1589) | void handleInvalidOperatorName(Token operatorKeyword, Token token)
method handleInvalidStatement (line 1594) | void handleInvalidStatement(Token token, Message message)
method handleInvalidTopLevelBlock (line 1599) | void handleInvalidTopLevelBlock(Token token)
method handleInvalidTopLevelDeclaration (line 1604) | void handleInvalidTopLevelDeclaration(Token endToken)
method handleInvalidTypeArguments (line 1609) | void handleInvalidTypeArguments(Token token)
method handleInvalidTypeReference (line 1614) | void handleInvalidTypeReference(Token token)
method beginIsOperatorType (line 1619) | void beginIsOperatorType(Token operator)
method endIsOperatorType (line 1624) | void endIsOperatorType(Token operator)
method handleIsOperator (line 1629) | void handleIsOperator(Token isOperator, Token? not)
method handleLabel (line 1634) | void handleLabel(Token token)
method handleLiteralBool (line 1639) | void handleLiteralBool(Token token)
method handleLiteralDouble (line 1644) | void handleLiteralDouble(Token token)
method handleLiteralInt (line 1649) | void handleLiteralInt(Token token)
method handleLiteralList (line 1654) | void handleLiteralList(
method handleListPattern (line 1660) | void handleListPattern(int count, Token beginToken, Token endToken)
method handleLiteralMapEntry (line 1665) | void handleLiteralMapEntry(Token colon, Token endToken)
method handleMapPatternEntry (line 1670) | void handleMapPatternEntry(Token colon, Token endToken)
method handleLiteralNull (line 1675) | void handleLiteralNull(Token token)
method handleLiteralSetOrMap (line 1680) | void handleLiteralSetOrMap(
method handleMapPattern (line 1694) | void handleMapPattern(int count, Token leftBrace, Token rightBrace)
method handleMixinHeader (line 1699) | void handleMixinHeader(Token mixinKeyword)
method handleMixinOn (line 1704) | void handleMixinOn(Token? onKeyword, int typeCount)
method handleNamedArgument (line 1709) | void handleNamedArgument(Token colon)
method handlePatternField (line 1714) | void handlePatternField(Token? colon)
method handleNamedRecordField (line 1719) | void handleNamedRecordField(Token colon)
method handleNamedMixinApplicationWithClause (line 1724) | void handleNamedMixinApplicationWithClause(Token withKeyword)
method handleNativeClause (line 1729) | void handleNativeClause(Token nativeToken, bool hasName)
method handleNativeFunctionBody (line 1734) | void handleNativeFunctionBody(Token nativeToken, Token semicolon)
method handleNativeFunctionBodyIgnored (line 1739) | void handleNativeFunctionBodyIgnored(Token nativeToken, Token semicolon)
method handleNativeFunctionBodySkipped (line 1744) | void handleNativeFunctionBodySkipped(Token nativeToken, Token semicolon)
method handleNewAsIdentifier (line 1749) | void handleNewAsIdentifier(Token token)
method handleNoArguments (line 1754) | void handleNoArguments(Token token)
method handleNoCommentReference (line 1759) | void handleNoCommentReference()
method handleNoConstructorReferenceContinuationAfterTypeArguments (line 1764) | void handleNoConstructorReferenceContinuationAfterTypeArguments(Token ...
method handleNoFieldInitializer (line 1769) | void handleNoFieldInitializer(Token token)
method handleNoFormalParameters (line 1774) | void handleNoFormalParameters(Token token, MemberKind kind)
method handleNoFunctionBody (line 1779) | void handleNoFunctionBody(Token token)
method handleNoInitializers (line 1784) | void handleNoInitializers()
method handleNoName (line 1789) | void handleNoName(Token token)
method handleNonNullAssertExpression (line 1794) | void handleNonNullAssertExpression(Token bang)
method handleNullAssertPattern (line 1799) | void handleNullAssertPattern(Token bang)
method handleNullCheckPattern (line 1804) | void handleNullCheckPattern(Token question)
method handleAssignedVariablePattern (line 1809) | void handleAssignedVariablePattern(Token variable)
method handleDeclaredVariablePattern (line 1814) | void handleDeclaredVariablePattern(Token? keyword, Token variable,
method handleWildcardPattern (line 1821) | void handleWildcardPattern(Token? keyword, Token wildcard)
method handleNoType (line 1826) | void handleNoType(Token lastConsumed)
method handleNoTypeArguments (line 1831) | void handleNoTypeArguments(Token token)
method handleNoTypeNameInConstructorReference (line 1836) | void handleNoTypeNameInConstructorReference(Token token)
method handleNoTypeVariables (line 1841) | void handleNoTypeVariables(Token token)
method handleNoVariableInitializer (line 1846) | void handleNoVariableInitializer(Token token)
method handleOperator (line 1851) | void handleOperator(Token token)
method handleOperatorName (line 1856) | void handleOperatorName(Token operatorKeyword, Token token)
method handleParenthesizedCondition (line 1861) | void handleParenthesizedCondition(Token token, Token? case_, Token? when)
method beginPatternGuard (line 1866) | void beginPatternGuard(Token when)
method beginParenthesizedExpressionOrRecordLiteral (line 1871) | void beginParenthesizedExpressionOrRecordLiteral(Token token)
method beginSwitchCaseWhenClause (line 1876) | void beginSwitchCaseWhenClause(Token when)
method endRecordLiteral (line 1881) | void endRecordLiteral(Token token, int count, Token? constKeyword)
method handleRecordPattern (line 1886) | void handleRecordPattern(Token token, int count)
method endPatternGuard (line 1891) | void endPatternGuard(Token token)
method endParenthesizedExpression (line 1896) | void endParenthesizedExpression(Token token)
method endSwitchCaseWhenClause (line 1901) | void endSwitchCaseWhenClause(Token token)
method handleParenthesizedPattern (line 1906) | void handleParenthesizedPattern(Token token)
method beginConstantPattern (line 1911) | void beginConstantPattern(Token? constKeyword)
method endConstantPattern (line 1916) | void endConstantPattern(Token? constKeyword)
method handleObjectPattern (line 1921) | void handleObjectPattern(
method handleQualified (line 1927) | void handleQualified(Token period)
method handleRecoverableError (line 1932) | void handleRecoverableError(
method handleRecoverClassHeader (line 1940) | void handleRecoverClassHeader()
method handleRecoverImport (line 1945) | void handleRecoverImport(Token? semicolon)
method handleRecoverMixinHeader (line 1950) | void handleRecoverMixinHeader()
method handleScript (line 1955) | void handleScript(Token token)
method handleSend (line 1960) | void handleSend(Token beginToken, Token endToken)
method handleSpreadExpression (line 1965) | void handleSpreadExpression(Token spreadToken)
method handleRestPattern (line 1970) | void handleRestPattern(Token dots, {required bool hasSubPattern})
method handleStringJuxtaposition (line 1975) | void handleStringJuxtaposition(Token startToken, int literalCount)
method handleStringPart (line 1980) | void handleStringPart(Token token)
method handleSuperExpression (line 1985) | void handleSuperExpression(Token token, IdentifierContext context)
method handleAugmentSuperExpression (line 1990) | void handleAugmentSuperExpression(
method handleSwitchCaseNoWhenClause (line 1996) | void handleSwitchCaseNoWhenClause(Token token)
method handleSwitchExpressionCasePattern (line 2001) | void handleSwitchExpressionCasePattern(Token token)
method handleSymbolVoid (line 2006) | void handleSymbolVoid(Token token)
method handleThisExpression (line 2011) | void handleThisExpression(Token token, IdentifierContext context)
method handleThrowExpression (line 2016) | void handleThrowExpression(Token throwToken, Token endToken)
method handleType (line 2021) | void handleType(Token beginToken, Token? questionMark)
method handleTypeVariablesDefined (line 2026) | void handleTypeVariablesDefined(Token token, int count)
method handleUnaryPostfixAssignmentExpression (line 2031) | void handleUnaryPostfixAssignmentExpression(Token token)
method handleUnaryPrefixAssignmentExpression (line 2036) | void handleUnaryPrefixAssignmentExpression(Token token)
method handleUnaryPre
Copy disabled (too large)
Download .json
Condensed preview — 35088 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (111,547K chars).
[
{
"path": ".gitignore",
"chars": 266,
"preview": ".DS_Store\n.dart_tool/\n\n.packages\n.pub/\n\nbuild/\nios/*\n\n\n.idea/\nflutter_link_rent_package.iml\npubspec.lock\n.metadata\n./and"
},
{
"path": "CHANGELOG.md",
"chars": 19,
"preview": "## 1.1.0\n* release\n"
},
{
"path": "LICENSE",
"chars": 1072,
"preview": "MIT License\n\nCopyright (c) 2021 Ke Technologies\n\nPermission is hereby granted, free of charge, to any person obtaining a"
},
{
"path": "README-CN.md",
"chars": 3026,
"preview": "Language: 中文简体 | [English](README.md)\n\n# Beike_AspectD\nThis is a fork of [AspectD](https://github.com/XianyuTech/aspect"
},
{
"path": "README.md",
"chars": 4149,
"preview": "Language: English | [中文简体](README-CN.md)\n\n# Beike_AspectD\nThis is a fork of [AspectD](https://github.com/XianyuTech/aspe"
},
{
"path": "doc/如何调试.md",
"chars": 3125,
"preview": "## 原理\n\n如上图,Beike_AspectD主要对Flutter的两个流程进行了修改:\n\n* flutter_tools\n* frontend_server\n\n所以我们的调试也是针对这两个流程。\n\n## f"
},
{
"path": "example/.gitignore",
"chars": 758,
"preview": "# Miscellaneous\n*.class\n*.log\n*.pyc\n*.swp\n.DS_Store\n.atom/\n.buildlog/\n.history\n.svn/\n\n# IntelliJ related\n*.iml\n*.ipr\n*.i"
},
{
"path": "example/README.md",
"chars": 547,
"preview": "# example_beike\n\nA new Flutter application.\n\n## Getting Started\n\nThis project is a starting point for a Flutter applicat"
},
{
"path": "example/android/app/build.gradle",
"chars": 1872,
"preview": "def localProperties = new Properties()\ndef localPropertiesFile = rootProject.file('local.properties')\nif (localPropertie"
},
{
"path": "example/android/app/src/debug/AndroidManifest.xml",
"chars": 331,
"preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"com.beike.example_beike\">\n <!-- Flu"
},
{
"path": "example/android/app/src/main/AndroidManifest.xml",
"chars": 1539,
"preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"com.beike.example_beike\">\n <!-- io."
},
{
"path": "example/android/app/src/main/java/com/beike/example_beike/MainActivity.java",
"chars": 440,
"preview": "package com.beike.example_beike;\n\nimport android.support.annotation.NonNull;\nimport io.flutter.embedding.android.Flutter"
},
{
"path": "example/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java",
"chars": 559,
"preview": "package io.flutter.plugins;\n\nimport io.flutter.plugin.common.PluginRegistry;\n\n/**\n * Generated file. Do not edit.\n */\npu"
},
{
"path": "example/android/app/src/main/res/drawable/launch_background.xml",
"chars": 434,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Modify this file to customize your launch splash screen -->\n<layer-list xmln"
},
{
"path": "example/android/app/src/main/res/values/styles.xml",
"chars": 361,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n <style name=\"LaunchTheme\" parent=\"@android:style/Theme.Black.NoTi"
},
{
"path": "example/android/app/src/profile/AndroidManifest.xml",
"chars": 331,
"preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"com.beike.example_beike\">\n <!-- Flu"
},
{
"path": "example/android/build.gradle",
"chars": 470,
"preview": "buildscript {\n repositories {\n google()\n jcenter()\n }\n\n dependencies {\n classpath 'com.and"
},
{
"path": "example/android/gradle/wrapper/gradle-wrapper.properties",
"chars": 233,
"preview": "#Fri Jun 23 08:50:38 CEST 2017\ndistributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\nzipStoreBase=GRADLE_USER"
},
{
"path": "example/android/gradle.properties",
"chars": 51,
"preview": "org.gradle.jvmargs=-Xmx1536M\nandroid.enableR8=true\n"
},
{
"path": "example/android/gradlew",
"chars": 4971,
"preview": "#!/usr/bin/env bash\n\n##############################################################################\n##\n## Gradle start "
},
{
"path": "example/android/gradlew.bat",
"chars": 2314,
"preview": "@if \"%DEBUG%\" == \"\" @echo off\n@rem ##########################################################################\n@rem\n@rem "
},
{
"path": "example/android/local.properties",
"chars": 216,
"preview": "sdk.dir=/Users/solo/Library/Android/sdk\nflutter.sdk=/Users/solo/SDK/flutter/stable/3.10.5\nflutter.buildMode=release\n===="
},
{
"path": "example/android/settings.gradle",
"chars": 484,
"preview": "include ':app'\n\ndef flutterProjectRoot = rootProject.projectDir.parentFile.toPath()\n\ndef plugins = new Properties()\ndef "
},
{
"path": "example/aop_config.yaml",
"chars": 91,
"preview": "flutter_tools_hook:\n - project_name: 'beike_aspectd'\n exec_path: 'bin/starter.snapshot'"
},
{
"path": "example/ios/Flutter/AppFrameworkInfo.plist",
"chars": 795,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "example/ios/Flutter/Debug.xcconfig",
"chars": 30,
"preview": "#include \"Generated.xcconfig\"\n"
},
{
"path": "example/ios/Flutter/Release.xcconfig",
"chars": 30,
"preview": "#include \"Generated.xcconfig\"\n"
},
{
"path": "example/ios/Runner/AppDelegate.h",
"chars": 103,
"preview": "#import <Flutter/Flutter.h>\n#import <UIKit/UIKit.h>\n\n@interface AppDelegate : FlutterAppDelegate\n\n@end\n"
},
{
"path": "example/ios/Runner/AppDelegate.m",
"chars": 422,
"preview": "#import \"AppDelegate.h\"\n#import \"GeneratedPluginRegistrant.h\"\n\n@implementation AppDelegate\n\n- (BOOL)application:(UIAppli"
},
{
"path": "example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json",
"chars": 2519,
"preview": "{\n \"images\" : [\n {\n \"size\" : \"20x20\",\n \"idiom\" : \"iphone\",\n \"filename\" : \"Icon-App-20x20@2x.png\",\n "
},
{
"path": "example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json",
"chars": 391,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"LaunchImage.png\",\n \"scale\" : \"1x\"\n },\n "
},
{
"path": "example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md",
"chars": 336,
"preview": "# Launch Screen Assets\n\nYou can customize the launch screen with your own desired assets by replacing the image files in"
},
{
"path": "example/ios/Runner/Base.lproj/LaunchScreen.storyboard",
"chars": 2377,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
},
{
"path": "example/ios/Runner/Base.lproj/Main.storyboard",
"chars": 1605,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
},
{
"path": "example/ios/Runner/GeneratedPluginRegistrant.h",
"chars": 378,
"preview": "//\n// Generated file. Do not edit.\n//\n\n// clang-format off\n\n#ifndef GeneratedPluginRegistrant_h\n#define GeneratedPlugin"
},
{
"path": "example/ios/Runner/GeneratedPluginRegistrant.m",
"chars": 225,
"preview": "//\n// Generated file. Do not edit.\n//\n\n// clang-format off\n\n#import \"GeneratedPluginRegistrant.h\"\n\n@implementation Gene"
},
{
"path": "example/ios/Runner/Info.plist",
"chars": 1652,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "example/ios/Runner/main.m",
"chars": 226,
"preview": "#import <Flutter/Flutter.h>\n#import <UIKit/UIKit.h>\n#import \"AppDelegate.h\"\n\nint main(int argc, char* argv[]) {\n @autor"
},
{
"path": "example/ios/Runner.xcodeproj/project.pbxproj",
"chars": 19530,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 54;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
"chars": 135,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"self:\">\n </FileRef"
},
{
"path": "example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme",
"chars": 3187,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"1300\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "example/ios/Runner.xcworkspace/contents.xcworkspacedata",
"chars": 152,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"group:Runner.xcodepr"
},
{
"path": "example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
"chars": 238,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "example/lib/hook_example.dart",
"chars": 9759,
"preview": "import 'package:beike_aspectd/aspectd.dart';\n\n@Aspect()\n@pragma(\"vm:entry-point\")\nclass FieldGetDemo {\n // @pragma(\"vm:"
},
{
"path": "example/lib/main.dart",
"chars": 6992,
"preview": "import 'dart:io';\n\nimport 'package:beike_aspectd/aspectd.dart';\n// ignore: unused_import\nimport 'package:example/hook_ex"
},
{
"path": "example/lib/receiver_test.dart",
"chars": 287,
"preview": "class Receiver {\n\n final int j;\n\n Receiver({this.j = 25});\n\n static void tap() {\n \n }\n\n void receiveTapped(int "
},
{
"path": "example/pubspec.yaml",
"chars": 2540,
"preview": "name: example\ndescription: A new Flutter application.\n\n# The following defines the version and build number for your app"
},
{
"path": "example/test/widget_test.dart",
"chars": 1046,
"preview": "// This is a basic Flutter widget test.\n//\n// To perform an interaction with a widget in your test, use the WidgetTester"
},
{
"path": "inner/.gitignore",
"chars": 152,
"preview": ".DS_Store\n.dart_tool/\n\n.packages\n.pub/\n\nbuild/\nios/*\n\n\n.idea/\nflutter_link_rent_package.iml\npubspec.lock\n.metadata\n./and"
},
{
"path": "inner/CHANGELOG.md",
"chars": 734,
"preview": "## [0.9.0] - Pre release version.\n\n* Support AOP programming for instance method、class method and library method.\n* Prov"
},
{
"path": "inner/LICENSE",
"chars": 1039,
"preview": "The MIT License\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and assoc"
},
{
"path": "inner/analysis_options.yaml",
"chars": 8476,
"preview": "# Specify analysis options.\n#\n# Until there are meta linter rules, each desired lint must be explicitly enabled.\n# See: "
},
{
"path": "inner/config.yaml",
"chars": 31,
"preview": "plugins:\n - aop\n - pluginDemo"
},
{
"path": "inner/flutter_frontend_server/gen_frontend_server_snapshot.sh",
"chars": 77,
"preview": "`dart --deterministic --snapshot=frontend_server.dart.snapshot starter.dart`\n"
},
{
"path": "inner/flutter_frontend_server/generate_plugins_entry.dart",
"chars": 4968,
"preview": "import 'dart:io';\n\nimport 'package:path/path.dart' as p;\nimport 'package:yaml/yaml.dart';\n\nRegExp pluginNameExp = RegExp"
},
{
"path": "inner/flutter_frontend_server/package_config.json",
"chars": 18157,
"preview": "{\n \"configVersion\": 2,\n \"packages\": [\n {\n \"name\": \"flutter_frontend_server\",\n \"rootUri\": \"../\",\n \"pa"
},
{
"path": "inner/flutter_frontend_server/server.dart",
"chars": 9479,
"preview": "// Copyright 2013 The Flutter Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style licens"
},
{
"path": "inner/flutter_frontend_server/starter.dart",
"chars": 363,
"preview": "// Copyright 2013 The Flutter Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style licens"
},
{
"path": "inner/flutter_tools.patch",
"chars": 23982,
"preview": "From 8cfcb6467f8a9631c6b0f82134ff1d9ad8b9a327 Mon Sep 17 00:00:00 2001\nFrom: xiaopeng015 <xiaopeng015@ke.com>\nDate: Tue,"
},
{
"path": "inner/pkg/_fe_analyzer_shared/LICENSE",
"chars": 1503,
"preview": "Copyright 2019, the Dart project authors.\n\nRedistribution and use in source and binary forms, with or without\nmodificati"
},
{
"path": "inner/pkg/_fe_analyzer_shared/OWNERS",
"chars": 51,
"preview": "file:/tools/OWNERS_ANALYZER\nfile:/tools/OWNERS_CFE\n"
},
{
"path": "inner/pkg/_fe_analyzer_shared/PRESUBMIT.py",
"chars": 2152,
"preview": "#!/usr/bin/env python3\n# Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file\n# for details. All r"
},
{
"path": "inner/pkg/_fe_analyzer_shared/README.md",
"chars": 444,
"preview": "# FE/analyzer shared code\n\nThis package contains logic that is shared between the front_end and\nanalyzer packages. It i"
},
{
"path": "inner/pkg/_fe_analyzer_shared/analysis_options.yaml",
"chars": 684,
"preview": "# Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file\n# for details. All rights reserved. Use of "
},
{
"path": "inner/pkg/_fe_analyzer_shared/analysis_options_no_lints.yaml",
"chars": 904,
"preview": "# Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n# for details. All rights reserved. Use of "
},
{
"path": "inner/pkg/_fe_analyzer_shared/benchmark/exhaustiveness/large_fields_call_counts.dart",
"chars": 4611,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/benchmark/exhaustiveness/large_fields_timed.dart",
"chars": 4905,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/benchmark/exhaustiveness/large_subtype_count.dart",
"chars": 3131,
"preview": "// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/benchmark/macros/serialization_benchmark.dart",
"chars": 9342,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/base/customized_codes.dart",
"chars": 431,
"preview": "// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/base/errors.dart",
"chars": 8182,
"preview": "// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/base/syntactic_entity.dart",
"chars": 791,
"preview": "// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/deferred_function_literal_heuristic.dart",
"chars": 7668,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/exhaustive.dart",
"chars": 12896,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/key.dart",
"chars": 6641,
"preview": "// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/path.dart",
"chars": 1766,
"preview": "// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/profile.dart",
"chars": 1076,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/shared.dart",
"chars": 27923,
"preview": "// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/space.dart",
"chars": 4017,
"preview": "// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/static_type.dart",
"chars": 12771,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/test_helper.dart",
"chars": 2915,
"preview": "// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/types/bool.dart",
"chars": 933,
"preview": "// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/types/enum.dart",
"chars": 5701,
"preview": "// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/types/future_or.dart",
"chars": 912,
"preview": "// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/types/list.dart",
"chars": 9409,
"preview": "// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/types/map.dart",
"chars": 4271,
"preview": "// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/types/record.dart",
"chars": 4598,
"preview": "// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/types/sealed.dart",
"chars": 4259,
"preview": "// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/types.dart",
"chars": 6163,
"preview": "// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/exhaustiveness/witness.dart",
"chars": 4573,
"preview": "// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/experiments/errors.dart",
"chars": 738,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/experiments/flags.dart",
"chars": 6869,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/flow_analysis/factory_type_test_helper.dart",
"chars": 3646,
"preview": "// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/flow_analysis/flow_analysis.dart",
"chars": 244959,
"preview": "// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/api/builders.dart",
"chars": 7949,
"preview": "// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/api/code.dart",
"chars": 9328,
"preview": "// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/api/introspection.dart",
"chars": 9686,
"preview": "// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/api/macros.dart",
"chars": 5946,
"preview": "// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/api.dart",
"chars": 341,
"preview": "// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/bootstrap.dart",
"chars": 15601,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/compiler/request_channel.dart",
"chars": 4681,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/augmentation_library.dart",
"chars": 6603,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/builder_impls.dart",
"chars": 14322,
"preview": "// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/execute_macro.dart",
"chars": 8087,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/executor_base.dart",
"chars": 17847,
"preview": "// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/introspection_impls.dart",
"chars": 19636,
"preview": "// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/isolated_executor.dart",
"chars": 3412,
"preview": "// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/message_grouper.dart",
"chars": 3356,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/multi_executor.dart",
"chars": 7025,
"preview": "// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/process_executor.dart",
"chars": 5985,
"preview": "// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/protocol.dart",
"chars": 28875,
"preview": "// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/remote_instance.dart",
"chars": 3507,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/response_impls.dart",
"chars": 9020,
"preview": "// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/serialization.dart",
"chars": 21743,
"preview": "// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/executor/serialization_extensions.dart",
"chars": 19107,
"preview": "import 'package:_fe_analyzer_shared/src/macros/executor/introspection_impls.dart';\n\nimport 'remote_instance.dart';\nimpor"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/macros/executor.dart",
"chars": 11298,
"preview": "// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/messages/codes.dart",
"chars": 11027,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart",
"chars": 594685,
"preview": "// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/messages/diagnostic_message.dart",
"chars": 2848,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/messages/severity.dart",
"chars": 1324,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/assert.dart",
"chars": 562,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/async_modifier.dart",
"chars": 334,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/block_kind.dart",
"chars": 2019,
"preview": "// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/class_member_parser.dart",
"chars": 2194,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/constructor_reference_context.dart",
"chars": 768,
"preview": "// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/declaration_kind.dart",
"chars": 510,
"preview": "// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/directive_context.dart",
"chars": 3273,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/error_delegation_listener.dart",
"chars": 742,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/formal_parameter_kind.dart",
"chars": 1088,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart",
"chars": 52922,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/identifier_context.dart",
"chars": 18254,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/identifier_context_impl.dart",
"chars": 52537,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart",
"chars": 71951,
"preview": "// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/literal_entry_info.dart",
"chars": 2907,
"preview": "// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/literal_entry_info_impl.dart",
"chars": 9118,
"preview": "// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/loop_state.dart",
"chars": 403,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/member_kind.dart",
"chars": 1077,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/modifier_context.dart",
"chars": 21802,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/parser.dart",
"chars": 2080,
"preview": "// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/parser.md",
"chars": 585,
"preview": "<!--\nCopyright (c) 2017, the Dart project authors. Please see the AUTHORS file\nfor details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/parser_error.dart",
"chars": 930,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart",
"chars": 383765,
"preview": "// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/parser_main.dart",
"chars": 1485,
"preview": "// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/quote.dart",
"chars": 10708,
"preview": "// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/recovery_listeners.dart",
"chars": 2560,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/stack_listener.dart",
"chars": 18365,
"preview": "// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/token_stream_rewriter.dart",
"chars": 13382,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/top_level_parser.dart",
"chars": 847,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/type_info.dart",
"chars": 18126,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/type_info_impl.dart",
"chars": 49624,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/parser/util.dart",
"chars": 7498,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/scanner/abstract_scanner.dart",
"chars": 66752,
"preview": "// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/scanner/characters.dart",
"chars": 3136,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/scanner/error_token.dart",
"chars": 6790,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/scanner/errors.dart",
"chars": 7696,
"preview": "// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/scanner/interner.dart",
"chars": 737,
"preview": "// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/scanner/io.dart",
"chars": 1238,
"preview": "// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/scanner/keyword_state.dart",
"chars": 4453,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/scanner/reader.dart",
"chars": 3825,
"preview": "// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/scanner/recover.dart",
"chars": 2197,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/scanner/scanner.dart",
"chars": 3206,
"preview": "// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/scanner/scanner_main.dart",
"chars": 2999,
"preview": "// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/scanner/string_canonicalizer.dart",
"chars": 10667,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/scanner/string_scanner.dart",
"chars": 4079,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/scanner/string_utilities.dart",
"chars": 384,
"preview": "// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/scanner/token.dart",
"chars": 59178,
"preview": "// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/scanner/token_constants.dart",
"chars": 3978,
"preview": "// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/scanner/token_impl.dart",
"chars": 9208,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/scanner/utf8_bytes_scanner.dart",
"chars": 9492,
"preview": "// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/sdk/allowed_experiments.dart",
"chars": 6934,
"preview": "// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/testing/annotated_code_helper.dart",
"chars": 9528,
"preview": "// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/testing/features.dart",
"chars": 11501,
"preview": "// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/testing/id.dart",
"chars": 11814,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/testing/id_generation.dart",
"chars": 9084,
"preview": "// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/testing/id_testing.dart",
"chars": 39097,
"preview": "// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/type_inference/assigned_variables.dart",
"chars": 14150,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/type_inference/promotion_key_store.dart",
"chars": 4388,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/type_inference/type_analysis_result.dart",
"chars": 18117,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/type_inference/type_analyzer.dart",
"chars": 102978,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/type_inference/type_operations.dart",
"chars": 4847,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/type_inference/variable_bindings.dart",
"chars": 10041,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/util/colors.dart",
"chars": 6831,
"preview": "// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/util/dependency_walker.dart",
"chars": 6348,
"preview": "// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use of"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/util/filenames.dart",
"chars": 1173,
"preview": "// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/util/libraries_specification.dart",
"chars": 17966,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/util/link.dart",
"chars": 5672,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/util/link_implementation.dart",
"chars": 5041,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/util/null_value.dart",
"chars": 713,
"preview": "// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/util/options.dart",
"chars": 10896,
"preview": "// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/util/relativize.dart",
"chars": 2354,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/util/resolve_input_uri.dart",
"chars": 1005,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/util/resolve_relative_uri.dart",
"chars": 956,
"preview": "// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/util/stack_checker.dart",
"chars": 8415,
"preview": "// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/lib/src/util/value_kind.dart",
"chars": 2392,
"preview": "// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/pubspec.yaml",
"chars": 580,
"preview": "name: _fe_analyzer_shared\nversion: 58.0.0\ndescription: Logic that is shared between the front_end and analyzer packages."
},
{
"path": "inner/pkg/_fe_analyzer_shared/test/annotated_code_helper_test.dart",
"chars": 2694,
"preview": "// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/test/constants/data/basic.dart",
"chars": 1031,
"preview": "// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/test/constants/data/errors.dart",
"chars": 447,
"preview": "// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/test/constants/data/function.dart",
"chars": 1159,
"preview": "// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "inner/pkg/_fe_analyzer_shared/test/constants/data/list.dart",
"chars": 1191,
"preview": "// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
}
]
// ... and 34888 more files (download for full content)
About this extraction
This page contains the full source code of the LianjiaTech/Beike_AspectD GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 35088 files (155.5 MB), approximately 28.6M tokens, and a symbol index with 64297 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.