<script> Constants:
00: "Base"
01: Fn(foo)
02: "Derived"
03: Fn(init new())
04: Fn()
05: Fn(foo)
<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 4): Closure(1, [])
06 (ln 4): Load(Module, Null)
07 (ln 4): Method(instance, foo)
08 (ln 7): Constant(2: "Derived")
09 (ln 7): Load(Module, Null)
10 (ln 7): Class(0 fields)
11 (ln 7): Store(Module)
12 (ln 7): Pop
13 (ln 8): Closure(3, [])
14 (ln 8): Load(Module, Null)
15 (ln 8): Method(instance, init new())
16 (ln 8): Closure(4, [])
17 (ln 8): Load(Module, Null)
18 (ln 8): Method(static, new())
19 (ln 13): Closure(5, [])
20 (ln 13): Load(Module, Null)
21 (ln 13): Method(instance, foo)
22 (ln 16): Load(Module, Null)
23 (ln 16): Call(new())
24 (ln 16): Call(foo)
25 (ln 16): Pop
26 (ln 19): EndModule
27 (ln 19): Return
28 (ln 19): End
foo Constants:
00: "Base.foo"
foo Code:
00 (ln 3): Load(Module, Class("System"))
01 (ln 3): Constant(0: "Base.foo")
02 (ln 3): Call(print(_))
03 (ln 3): Pop
04 (ln 4): Null
05 (ln 4): Return
06 (ln 4): End
init new() Code:
00 (ln 8): Load(Local, 0)
01 (ln 8): Return
02 (ln 8): End
 Code:
00 (ln 8): Construct
01 (ln 8): Call(init new())
02 (ln 8): Return
03 (ln 8): End
foo Constants:
00: "Derived.foo"
01: Null
foo Code:
00 (ln 11): Load(Module, Class("System"))
01 (ln 11): Constant(0: "Derived.foo")
02 (ln 11): Call(print(_))
03 (ln 11): Pop
04 (ln 12): Load(Local, 0)
05 (ln 12): CallSuper(foo)
06 (ln 12): Pop
07 (ln 13): Null
08 (ln 13): Return
09 (ln 13): End
