5b7c981086
This makes it much easier to see what the parser is actually working with in the face of token stream rewrites. Change-Id: Ic336f18fab7c8fd7a42020b32af4a480bbde25bc Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122865 Commit-Queue: Jens Johansen <jensj@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com>
48 lines
1.4 KiB
Plaintext
48 lines
1.4 KiB
Plaintext
main() {
|
|
dynamic foo = new X();
|
|
var bar = foo.late;
|
|
late();
|
|
bar();
|
|
new X().late();
|
|
new Y().late;
|
|
}
|
|
|
|
late() {
|
|
print("hello");
|
|
}
|
|
|
|
class X {
|
|
late() {
|
|
print("hello");
|
|
}
|
|
}
|
|
|
|
class Y {
|
|
int late = 42;
|
|
}
|
|
|
|
|
|
main[StringToken]([BeginToken])[SimpleToken] {[BeginToken]
|
|
dynamic[KeywordToken] foo[StringToken] =[SimpleToken] new[KeywordToken] X[StringToken]([BeginToken])[SimpleToken];[SimpleToken]
|
|
var[KeywordToken] bar[StringToken] =[SimpleToken] foo[StringToken].[SimpleToken]late[KeywordToken];[SimpleToken]
|
|
late[KeywordToken]([BeginToken])[SimpleToken];[SimpleToken]
|
|
bar[StringToken]([BeginToken])[SimpleToken];[SimpleToken]
|
|
new[KeywordToken] X[StringToken]([BeginToken])[SimpleToken].[SimpleToken]late[KeywordToken]([BeginToken])[SimpleToken];[SimpleToken]
|
|
new[KeywordToken] Y[StringToken]([BeginToken])[SimpleToken].[SimpleToken]late[KeywordToken];[SimpleToken]
|
|
}[SimpleToken]
|
|
|
|
late[KeywordToken]([BeginToken])[SimpleToken] {[BeginToken]
|
|
print[StringToken]([BeginToken]"hello"[StringToken])[SimpleToken];[SimpleToken]
|
|
}[SimpleToken]
|
|
|
|
class[KeywordToken] X[StringToken] {[BeginToken]
|
|
late[KeywordToken]([BeginToken])[SimpleToken] {[BeginToken]
|
|
print[StringToken]([BeginToken]"hello"[StringToken])[SimpleToken];[SimpleToken]
|
|
}[SimpleToken]
|
|
}[SimpleToken]
|
|
|
|
class[KeywordToken] Y[StringToken] {[BeginToken]
|
|
int[StringToken] late[KeywordToken] =[SimpleToken] 42[StringToken];[SimpleToken]
|
|
}[SimpleToken]
|
|
[SimpleToken]
|