<script> Constants:
00: "Foo"
01: Fn(init new())
02: Fn()
03: Fn(getClosure)
04: Fn(toString)
<script> Code:
00 (ln 1): Constant(0: "Foo")
01 (ln 1): Load(Module, Class("Object"))
02 (ln 1): Class(0 fields)
03 (ln 1): Store(Module)
04 (ln 1): Pop
05 (ln 2): Closure(1, [])
06 (ln 2): Load(Module, Null)
07 (ln 2): Method(instance, init new())
08 (ln 2): Closure(2, [])
09 (ln 2): Load(Module, Null)
10 (ln 2): Method(static, new())
11 (ln 3): Closure(3, [])
12 (ln 3): Load(Module, Null)
13 (ln 3): Method(instance, getClosure)
14 (ln 4): Closure(4, [])
15 (ln 4): Load(Module, Null)
16 (ln 4): Method(instance, toString)
17 (ln 7): Load(Module, Null)
18 (ln 7): Call(new())
19 (ln 7): Call(getClosure)
20 (ln 7): Store(Module)
21 (ln 7): Pop
22 (ln 8): Load(Module, Class("System"))
23 (ln 8): Load(Module, Null)
24 (ln 8): Call(call())
25 (ln 8): Call(call())
26 (ln 8): Call(call())
27 (ln 8): Call(print(_))
28 (ln 8): Pop
29 (ln 9): EndModule
30 (ln 9): Return
31 (ln 9): End
init new() Code:
00 (ln 2): Load(Local, 0)
01 (ln 2): Return
02 (ln 2): End
 Code:
00 (ln 2): Construct
01 (ln 2): Call(init new())
02 (ln 2): Return
03 (ln 2): End
getClosure Constants:
00: Fn(new(_) block argument)
getClosure Code:
00 (ln 3): Load(Module, Class("Fn"))
01 (ln 3): Closure(0, [Upvalue { is_local_in_parent: true, index: 0 }])
02 (ln 3): Call(new(_))
03 (ln 3): Return
04 (ln 3): End
toString Constants:
00: "Foo"
toString Code:
00 (ln 4): Constant(0: "Foo")
01 (ln 4): Return
02 (ln 4): End
new(_) block argument Constants:
00: Fn(new(_) block argument)
new(_) block argument Code:
00 (ln 3): Load(Module, Class("Fn"))
01 (ln 3): Closure(0, [Upvalue { is_local_in_parent: false, index: 0 }])
02 (ln 3): Call(new(_))
03 (ln 3): Return
04 (ln 3): End
new(_) block argument Constants:
00: Fn(new(_) block argument)
new(_) block argument Code:
00 (ln 3): Load(Module, Class("Fn"))
01 (ln 3): Closure(0, [Upvalue { is_local_in_parent: false, index: 0 }])
02 (ln 3): Call(new(_))
03 (ln 3): Return
04 (ln 3): End
new(_) block argument Code:
00 (ln 3): Load(Upvalue, 0)
01 (ln 3): Call(toString)
02 (ln 3): Return
03 (ln 3): End
