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