09a156bb2d
Previously the getter VariableBase.context was redirecting to VariableBase.parent, effectively requiring a change of the ownership over the variable. This CL makes VariableBase.context a field of VariableBase, allowing for the previously existing ownership structure of the AST tree nodes. The change allows to avoid workarounds for the existing ownership-restoring logic, such as the assignments to the `parent` pointer made in the constructors of the AST nodes and their `transformChildren` and `transformOrRemoveChildren` methods. Part of https://github.com/dart-lang/sdk/issues/61572 Change-Id: I307c9d2b23c8201f8d7d2a100acf9fb8f3af2572 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/494441 Commit-Queue: Chloe Stefantsova <cstefantsova@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com>