| class Foo { |
| String? x; |
| int y; |
| |
| Foo(Object? o) : x = o != null ? o as String? : null, y = 0; |
| |
| void foo(dynamic x) { |
| if (x is String? ? 4 : 2 == 4) { |
| print("hello"); |
| } |
| } |
| |
| void bar(dynamic x) { |
| if (x is String ? 4 : 2 == 4) { |
| print("hello"); |
| } |
| } |
| } |
| |
| |
| class[KeywordToken] Foo[StringToken] {[BeginToken] |
| String[StringToken]?[SimpleToken] x[StringToken];[SimpleToken] |
| int[StringToken] y[StringToken];[SimpleToken] |
| |
| Foo[StringToken]([BeginToken]Object[StringToken]?[SimpleToken] o[StringToken])[SimpleToken] :[SimpleToken] x[StringToken] =[SimpleToken] o[StringToken] !=[SimpleToken] null[KeywordToken] ?[SimpleToken] o[StringToken] as[KeywordToken] String[StringToken]?[SimpleToken] :[SimpleToken] null[KeywordToken],[SimpleToken] y[StringToken] =[SimpleToken] 0[StringToken];[SimpleToken] |
| |
| void[KeywordToken] foo[StringToken]([BeginToken]dynamic[KeywordToken] x[StringToken])[SimpleToken] {[BeginToken] |
| if[KeywordToken] ([BeginToken]x[StringToken] is[KeywordToken] String[StringToken]?[SimpleToken] ?[SimpleToken] 4[StringToken] :[SimpleToken] 2[StringToken] ==[SimpleToken] 4[StringToken])[SimpleToken] {[BeginToken] |
| print[StringToken]([BeginToken]"hello"[StringToken])[SimpleToken];[SimpleToken] |
| }[SimpleToken] |
| }[SimpleToken] |
| |
| void[KeywordToken] bar[StringToken]([BeginToken]dynamic[KeywordToken] x[StringToken])[SimpleToken] {[BeginToken] |
| if[KeywordToken] ([BeginToken]x[StringToken] is[KeywordToken] String[StringToken] ?[SimpleToken] 4[StringToken] :[SimpleToken] 2[StringToken] ==[SimpleToken] 4[StringToken])[SimpleToken] {[BeginToken] |
| print[StringToken]([BeginToken]"hello"[StringToken])[SimpleToken];[SimpleToken] |
| }[SimpleToken] |
| }[SimpleToken] |
| }[SimpleToken] |
| [SimpleToken] |