| void f(bool b1, bool b2) { | 
 | print('b1=$b1, b2=$b2'); | 
 | } | 
 |  | 
 | g(int x, int y, Object o) { | 
 | f(x < y, 0 > (o as int)); | 
 | } | 
 |  | 
 | main() { | 
 | g(0, 1, 2); | 
 | } | 
 |  | 
 |  | 
 | void[KeywordToken] f[StringToken]([BeginToken]bool[StringToken] b1[StringToken],[SimpleToken] bool[StringToken] b2[StringToken])[SimpleToken] {[BeginToken] | 
 | print[StringToken]([BeginToken]'b1=[StringToken]$[SimpleToken]b1[StringToken], b2=[StringToken]$[SimpleToken]b2[StringToken]'[StringToken])[SimpleToken];[SimpleToken] | 
 | }[SimpleToken] | 
 |  | 
 | g[StringToken]([BeginToken]int[StringToken] x[StringToken],[SimpleToken] int[StringToken] y[StringToken],[SimpleToken] Object[StringToken] o[StringToken])[SimpleToken] {[BeginToken] | 
 | f[StringToken]([BeginToken]x[StringToken] <[BeginToken] y[StringToken],[SimpleToken] 0[StringToken] >[SimpleToken] ([BeginToken]o[StringToken] as[KeywordToken] int[StringToken])[SimpleToken])[SimpleToken];[SimpleToken] | 
 | }[SimpleToken] | 
 |  | 
 | main[StringToken]([BeginToken])[SimpleToken] {[BeginToken] | 
 | g[StringToken]([BeginToken]0[StringToken],[SimpleToken] 1[StringToken],[SimpleToken] 2[StringToken])[SimpleToken];[SimpleToken] | 
 | }[SimpleToken] | 
 | [SimpleToken] |