[dart-lang/sdk] c390eb: [cfe][InternalNodes] Separate Variable from Intern...

0 views
Skip to first unread message

johnniwinther

unread,
5:44 AM (10 hours ago) 5:44 AM
to com...@dartlang.org
Branch: refs/heads/main
Home: https://github.com/dart-lang/sdk
Commit: c390eb0931ee95c49f0b65315bec4ac3c1214f54
https://github.com/dart-lang/sdk/commit/c390eb0931ee95c49f0b65315bec4ac3c1214f54
Author: Johnni Winther <johnni...@google.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)

Changed paths:
M pkg/front_end/lib/src/base/incremental_compiler.dart
M pkg/front_end/lib/src/builder/formal_parameter_builder.dart
M pkg/front_end/lib/src/fragment/field/declaration.dart
M pkg/front_end/lib/src/kernel/assigned_variables_impl.dart
M pkg/front_end/lib/src/kernel/body_builder.dart
M pkg/front_end/lib/src/kernel/body_builder_context.dart
M pkg/front_end/lib/src/kernel/external_ast_helper.dart
M pkg/front_end/lib/src/kernel/internal_ast.dart
M pkg/front_end/lib/src/kernel/internal_ast_helper.dart
M pkg/front_end/lib/src/kernel/resolver.dart
M pkg/front_end/lib/src/kernel/resolver_helpers.dart
M pkg/front_end/lib/src/source/source_loader.dart
M pkg/front_end/lib/src/type_inference/inference_visitor.dart
M pkg/front_end/lib/src/type_inference/inference_visitor_base.dart
M pkg/front_end/lib/src/type_inference/matching_expressions.dart
M pkg/front_end/lib/src/type_inference/shared_type_analyzer.dart
M pkg/front_end/lib/src/type_inference/type_constraint_gatherer.dart
M pkg/front_end/lib/src/type_inference/type_inference_engine.dart
M pkg/front_end/lib/src/type_inference/type_inferrer.dart
M pkg/front_end/lib/src/type_inference/type_schema_environment.dart
M pkg/front_end/test/generator_to_string_test.dart
M pkg/front_end/test/id_tests/assigned_variables_test.dart
M pkg/front_end/test/text_representation/internal_ast_text_representation_test.dart
A pkg/front_end/testcases/nnbd/why_not_promoted.dart
A pkg/front_end/testcases/nnbd/why_not_promoted.dart.strong.expect
A pkg/front_end/testcases/nnbd/why_not_promoted.dart.strong.modular.expect
A pkg/front_end/testcases/nnbd/why_not_promoted.dart.strong.outline.expect
A pkg/front_end/testcases/nnbd/why_not_promoted.dart.strong.transformed.expect
A pkg/front_end/testcases/nnbd/why_not_promoted.dart.textual_outline.expect
A pkg/front_end/testcases/nnbd/why_not_promoted.dart.textual_outline_modelled.expect
M pkg/kernel/binary.md
M pkg/kernel/lib/binary/ast_from_binary.dart
M pkg/kernel/lib/binary/ast_to_binary.dart
M pkg/kernel/lib/binary/tag.dart
M pkg/kernel/lib/src/ast/patterns.dart
M pkg/kernel/lib/src/equivalence.dart
M pkg/vm/testcases/transformations/type_flow/summary_collector/class_generics_basic.dart.expect
M pkg/vm/testcases/transformations/type_flow/summary_collector/class_generics_case1.dart.expect
M runtime/vm/kernel_binary.h

Log Message:
-----------
[cfe][InternalNodes] Separate Variable from InternalVariable

This adds an InternalLegacyVariable the doesn't derive from LegacyVariable. This fully separates InternalVariable from Variable and assigned variable tracking and flow analysis is now changed to used InternalVariable instead.

TEST=existing

Change-Id: Ida9dc78d4f0e3fab3baf7a965273e1ddf68a80b8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/510341
Reviewed-by: Chloe Stefantsova <cstefa...@google.com>
Reviewed-by: Alexander Markov <alexm...@google.com>


Commit: 8e2d140fa5c1ae50a2704c14c30f8c062430bb4e
https://github.com/dart-lang/sdk/commit/8e2d140fa5c1ae50a2704c14c30f8c062430bb4e
Author: Johnni Winther <johnni...@google.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)

Changed paths:
M pkg/cfg/lib/front_end/ast_to_ir.dart
M pkg/cfg/lib/front_end/computed_scopes.dart
M pkg/compiler/lib/src/ir/scope_visitor.dart
M pkg/dart2bytecode/lib/bytecode_generator.dart
M pkg/dart2bytecode/lib/local_vars.dart
M pkg/front_end/lib/src/kernel/body_builder.dart
M pkg/front_end/lib/src/kernel/internal_ast.dart
M pkg/front_end/lib/src/kernel/internal_ast_helper.dart
M pkg/front_end/lib/src/kernel/resolver_helpers.dart
M pkg/front_end/lib/src/type_inference/inference_visitor.dart
M pkg/front_end/lib/src/type_inference/inference_visitor_base.dart
M pkg/front_end/lib/src/type_inference/type_inferrer.dart
M pkg/front_end/test/text_representation/internal_ast_text_representation_test.dart
M pkg/kernel/lib/src/ast/variables.dart
M pkg/kernel/lib/src/printer.dart
M pkg/kernel/lib/text/ast_to_text.dart
M pkg/kernel/lib/verifier.dart
M pkg/vm/lib/transformations/type_flow/summary_collector.dart

Log Message:
-----------
[cfe][InternalNodes] Implement InternalVariable directly

This updates the InternalVariable hierarchy to be based on a sealed base class InternalVariable with no connection to IVariable. IVariable is removed and unused properties of InternalVariable are removed.

TEST=existing

Change-Id: Iacfbe9ab21d1c9aab043712099cd1ee6e4cee174
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/510825
Reviewed-by: Alexander Markov <alexm...@google.com>
Reviewed-by: Nicholas Shahan <nsh...@google.com>
Reviewed-by: Chloe Stefantsova <cstefa...@google.com>
Commit-Queue: Johnni Winther <johnni...@google.com>


Compare: https://github.com/dart-lang/sdk/compare/680f6e24d716...8e2d140fa5c1

To unsubscribe from these emails, change your notification settings at https://github.com/dart-lang/sdk/settings/notifications

johnniwinther

unread,
7:03 AM (8 hours ago) 7:03 AM
to com...@dartlang.org
Branch: refs/heads/lkgr
Reply all
Reply to author
Forward
0 new messages