| ------------ A. ------------ |
| %this = _Parameter #0 [_T (#lib::A)+] |
| t1 = _Call direct [dart.core::Object.] (%this) |
| RESULT: _T {}? |
| ------------ B. ------------ |
| %this = _Parameter #0 [_T (#lib::B)+] |
| t1 = _Call direct [dart.core::Object.] (%this) |
| RESULT: _T {}? |
| ------------ foo ------------ |
| %a1 = _Parameter #0 [_T (dart.core::Object)+?] |
| %a2 = _Parameter #1 [_T (dart.core::Object)+?] |
| t2* = _Call direct get [#lib::someStatic] () |
| t3 = _Call direct [#lib::A.] (_T (#lib::A)) |
| a1_0 = _Join [dart.core::Object*] (_T (#lib::A), %a1) |
| t5 = _Call direct [#lib::bar] (a1_0, _T (dart.core::_Smi, 42)) |
| t6 = _Call direct [#lib::B.] (_T (#lib::B)) |
| t7* = _Call [dart.core::Object.==] (_T (#lib::B), %a2) |
| t8 = _Join [dart.core::Object*] (_T (#lib::B), %a2) |
| t9 = _Narrow (t8 to _T (dart.core::Object)+?) |
| RESULT: t9 |
| ------------ bar ------------ |
| %a1 = _Parameter #0 [_T (dart.core::Object)+?] |
| %a2 = _Parameter #1 [_T (dart.core::int)+?] |
| t2 = _Narrow (%a1 to _T (dart.core::int)+) |
| t3* = _Call [dart.core::num.+] (t2, %a2) |
| t4* = _Call [dart.core::num.*] (t3, _T (dart.core::_Smi, 3)) |
| t5* = _Call [dart.core::int.unary-] (_T (dart.core::_Smi, 1)) |
| %result = _Join [dart.core::int*] (t4, t5) |
| RESULT: %result |
| ------------ loop1 ------------ |
| %a1 = _Parameter #0 [_T (dart.core::Object)+?] |
| %a2 = _Parameter #1 [_T (dart.core::Object)+?] |
| t2 = _Call direct [#lib::loop1] (%a1, %a1) |
| RESULT: %a2 |
| ------------ loop2 ------------ |
| %x = _Parameter #0 [_T (dart.core::int)+?] |
| t1* = _Call [dart.core::num.+] (_T (dart.core::int)+, _T (dart.core::_Smi, 1)) |
| i_0 = _Join [dart.core::int*] (_T (dart.core::_Smi, 0), t1) |
| t3* = _Call [dart.core::num.<] (i_0, _T (dart.core::_Smi, 5)) |
| t4* = _Call [dart.core::num.+] (_T (dart.core::int)+?, _T (dart.core::_Smi, 10)) |
| x_0 = _Join [dart.core::int*] (%x, t4) |
| RESULT: x_0 |
| ------------ main ------------ |
| |
| RESULT: _T {}? |