Skip to content

Commit 872a518

Browse files
johnniwintherCommit Queue
authored andcommitted
[cfe] Avoid lowering in Static/Super/PropertyIncDec
This changes the encoding for static, super, and instance property inc/dec expressions to avoid lowering during body building. Also these now handle both prefix and postfix expressions. Change-Id: I3cff93d0e0bee03d036938b7c1b38e30eb565975 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/446860 Reviewed-by: Erik Ernst <[email protected]> Reviewed-by: Chloe Stefantsova <[email protected]> Commit-Queue: Johnni Winther <[email protected]>
1 parent afdeeeb commit 872a518

File tree

171 files changed

+2569
-1585
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

171 files changed

+2569
-1585
lines changed

pkg/front_end/lib/src/kernel/body_builder.dart

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3466,7 +3466,11 @@ class BodyBuilder extends StackListenerImpl
34663466
this, nameToken, cfe.codeNotAConstantExpression);
34673467
}
34683468
return new StaticAccessGenerator.fromBuilder(
3469-
this, name, nameToken, getable, setable as MemberBuilder?);
3469+
this,
3470+
new Name(name, libraryBuilder.nameOrigin),
3471+
nameToken,
3472+
getable,
3473+
setable as MemberBuilder?);
34703474
} else if (getable is PrefixBuilder) {
34713475
// Wildcard import prefixes are non-binding and cannot be used.
34723476
if (libraryFeatures.wildcardVariables.isEnabled && getable.isWildcard) {
@@ -3530,7 +3534,11 @@ class BodyBuilder extends StackListenerImpl
35303534
setable.isTopLevel,
35313535
"Unexpected setable: $setable");
35323536
return new StaticAccessGenerator.fromBuilder(
3533-
this, name, nameToken, null, setable);
3537+
this,
3538+
new Name(name, libraryBuilder.nameOrigin),
3539+
nameToken,
3540+
null,
3541+
setable);
35343542
}
35353543
}
35363544

@@ -5986,7 +5994,7 @@ class BodyBuilder extends StackListenerImpl
59865994
Object? generator = pop();
59875995
if (generator is Generator) {
59885996
push(generator.buildPrefixIncrement(incrementOperator(token),
5989-
offset: token.charOffset));
5997+
operatorOffset: token.charOffset));
59905998
} else {
59915999
Expression value = toValue(generator);
59926000
push(wrapInProblem(

0 commit comments

Comments
 (0)