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]([BeginToken]x[StringToken] <[BeginToken] y[StringToken])[SimpleToken],[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]
