Files
sdk/pkg/front_end/parser_testcases/augmentation/augment_super.dart.parser.expect
T
Johnni Winther 36607d877a [parser] Support 'augment super' as its own expression
This adds support for parsing `argument super` as its own expression
in augmentation libraries. This is not handled (correctly) by the
ast builders of analyzer and cfe yet.

Change-Id: Ibe67ad9daf56c82e8ec94f16d468e6b0d8f84d22
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/244922
Reviewed-by: Jens Johansen <jensj@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2022-05-20 09:36:52 +00:00

108 lines
3.9 KiB
Plaintext

augment void topLevelMethod() {
augment super();
}
augment void topLevelMethodError() {
augment int local;
augment;
}
augment List<int> get topLevelProperty {
return [... augment super, augment super[0]];
}
augment void set topLevelProperty(List<int> value) {
augment super[0] = value[1];
augment super = value;
}
void injectedTopLevelMethod() {
augment super();
augment super;
augment int local;
augment;
}
augment class Class {
augment void instanceMethod() {
augment super();
}
augment void instanceMethodErrors() {
augment int local;
augment;
}
augment int get instanceProperty {
augment super++;
--augment super;
return -augment super;
}
augment void set instanceProperty(int value) {
augment super = value;
}
void injectedInstanceMethod() {
augment super();
augment super;
augment int local;
augment;
}
}
augment[KeywordToken] void[KeywordToken] topLevelMethod[StringToken]([BeginToken])[SimpleToken] {[BeginToken]
augment[KeywordToken] super[KeywordToken]([BeginToken])[SimpleToken];[SimpleToken]
}[SimpleToken]
augment[KeywordToken] void[KeywordToken] topLevelMethodError[StringToken]([BeginToken])[SimpleToken] {[BeginToken]
augment[KeywordToken] int[StringToken] local[StringToken];[SimpleToken]
augment[KeywordToken];[SimpleToken]
}[SimpleToken]
augment[KeywordToken] List[StringToken]<[BeginToken]int[StringToken]>[SimpleToken] get[KeywordToken] topLevelProperty[StringToken] {[BeginToken]
return[KeywordToken] [[BeginToken]...[SimpleToken] augment[KeywordToken] super[KeywordToken],[SimpleToken] augment[KeywordToken] super[KeywordToken][[BeginToken]0[StringToken]][SimpleToken]][SimpleToken];[SimpleToken]
}[SimpleToken]
augment[KeywordToken] void[KeywordToken] set[KeywordToken] topLevelProperty[StringToken]([BeginToken]List[StringToken]<[BeginToken]int[StringToken]>[SimpleToken] value[StringToken])[SimpleToken] {[BeginToken]
augment[KeywordToken] super[KeywordToken][[BeginToken]0[StringToken]][SimpleToken] =[SimpleToken] value[StringToken][[BeginToken]1[StringToken]][SimpleToken];[SimpleToken]
augment[KeywordToken] super[KeywordToken] =[SimpleToken] value[StringToken];[SimpleToken]
}[SimpleToken]
void[KeywordToken] injectedTopLevelMethod[StringToken]([BeginToken])[SimpleToken] {[BeginToken]
augment[KeywordToken] super[KeywordToken]([BeginToken])[SimpleToken];[SimpleToken]
augment[KeywordToken] super[KeywordToken];[SimpleToken]
augment[KeywordToken] int[StringToken] local[StringToken];[SimpleToken]
augment[KeywordToken];[SimpleToken]
}[SimpleToken]
augment[KeywordToken] class[KeywordToken] Class[StringToken] {[BeginToken]
augment[KeywordToken] void[KeywordToken] instanceMethod[StringToken]([BeginToken])[SimpleToken] {[BeginToken]
augment[KeywordToken] super[KeywordToken]([BeginToken])[SimpleToken];[SimpleToken]
}[SimpleToken]
augment[KeywordToken] void[KeywordToken] instanceMethodErrors[StringToken]([BeginToken])[SimpleToken] {[BeginToken]
augment[KeywordToken] int[StringToken] local[StringToken];[SimpleToken]
augment[KeywordToken];[SimpleToken]
}[SimpleToken]
augment[KeywordToken] int[StringToken] get[KeywordToken] instanceProperty[StringToken] {[BeginToken]
augment[KeywordToken] super[KeywordToken]++[SimpleToken];[SimpleToken]
--[SimpleToken]augment[KeywordToken] super[KeywordToken];[SimpleToken]
return[KeywordToken] -[SimpleToken]augment[KeywordToken] super[KeywordToken];[SimpleToken]
}[SimpleToken]
augment[KeywordToken] void[KeywordToken] set[KeywordToken] instanceProperty[StringToken]([BeginToken]int[StringToken] value[StringToken])[SimpleToken] {[BeginToken]
augment[KeywordToken] super[KeywordToken] =[SimpleToken] value[StringToken];[SimpleToken]
}[SimpleToken]
void[KeywordToken] injectedInstanceMethod[StringToken]([BeginToken])[SimpleToken] {[BeginToken]
augment[KeywordToken] super[KeywordToken]([BeginToken])[SimpleToken];[SimpleToken]
augment[KeywordToken] super[KeywordToken];[SimpleToken]
augment[KeywordToken] int[StringToken] local[StringToken];[SimpleToken]
augment[KeywordToken];[SimpleToken]
}[SimpleToken]
}[SimpleToken][SimpleToken]