|||| VM Started |||| thread started: main |||| loaded class: stdlib.ZTraceExample from stdlib/ZTraceExample.java |||| class fields: |||| - b : double[] |||| ~ zzz : int |||| ~ lastX : X |||| ~ a : double[] |||| class methods: |||| ~ ZTraceExample.CLASS_INITIALIZER |||| + main(String[]) |||| - exceptionTest() |||| - exceptionF1() |||| - exceptionF2() |||| - staticInitializerTest() |||| - threadTest() |||| constructors: |||| - ZTraceExample() >>>> ZTraceExample.CLASS_INITIALIZER Line: 38 > ZTraceExample.zzz = 5 Line: 39 > ZTraceExample.lastX = null Line: 43 | n = 5 Line: 44 > ZTraceExample.a = @124 [ 0.0, 0.0, 0.0, 0.0, 0.0 ] Line: 45 | i = 0 Line: 46 > ZTraceExample.a = @124 [ -1.0, 0.0, 0.0, 0.0, 0.0 ] Line: 45 > i = 1 Line: 46 > ZTraceExample.a = @124 [ -1.0, 11.0, 0.0, 0.0, 0.0 ] Line: 45 > i = 2 Line: 46 > ZTraceExample.a = @124 [ -1.0, 11.0, 23.0, 0.0, 0.0 ] Line: 45 > i = 3 Line: 46 > ZTraceExample.a = @124 [ -1.0, 11.0, 23.0, 35.0, 0.0 ] Line: 45 > i = 4 Line: 46 > ZTraceExample.a = @124 [ -1.0, 11.0, 23.0, 35.0, 47.0 ] Line: 45 48 <<<< ZTraceExample.CLASS_INITIALIZER >>>> ZTraceExample.main(String[]) | args = @432 [ ] Line: 10 11 12 13 14 |||| loaded class: stdlib.ZTraceExample$X from stdlib/ZTraceExample.java |||| constructors: |||| + X(int) |||| object fields: |||| ~ b : int[][] |||| + object : Object |||| # integer : Integer |||| - boolean1 : Boolean |||| ~ character : Character |||| ~ short1 : Short |||| ~ long1 : Long |||| ~ float1 : Float |||| ~ double1 : Double |||| ~ intVal : int |||| ~ nil : Object |||| ~ string : String |||| object methods: |||| - g() |||| ~ h() |||| # p() |||| + toString() |||| + f(int) >>>> X(int) this: @448 | @448.b = null | @448.object = null | @448.integer = null | @448.boolean1 = null | @448.character = null | @448.short1 = null | @448.long1 = null | @448.float1 = null | @448.double1 = null | @448.intVal = 0 | @448.nil = null | @448.string = null locals: | i = 1 Line: 91 59 | @448.b = @449 [ [ 0, 0 ], [ 0, 0 ], [ 0, 0 ] ] Line: 60 > @448.object = @454 Line: 61 > @448.integer = 42 Line: 62 > @448.boolean1 = false Line: 63 > @448.character = a Line: 64 > @448.short1 = 1 Line: 65 > @448.long1 = 1 Line: 66 > @448.float1 = 1.0 Line: 67 > @448.double1 = 1.0 Line: 68 > @448.intVal = 1 Line: 69 > @448.nil = null Line: 70 > @448.string = "dog" Line: 91 > @448.intVal = 1 <<<< X(int) Line: 14 | x = @448 { b=@449 [ [ 0, 0 ], [ 0, 0 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=1, float1=1.0... } Line: 15 > ZTraceExample.zzz = 42 Line: 16 >>>> X.f(int) this: @448 | @448.b = @449 [ [ 0, 0 ], [ 0, 0 ], [ 0, 0 ] ] | @448.object = @454 | @448.integer = 42 | @448.boolean1 = false | @448.character = a | @448.short1 = 1 | @448.long1 = 1 | @448.float1 = 1.0 | @448.double1 = 1.0 | @448.intVal = 1 | @448.nil = null | @448.string = "dog" locals: | x = 2 Line: 93 > ZTraceExample.lastX = @448 { b=@449 [ [ 0, 0 ], [ 0, 0 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=1, float1=1.0... } Line: 94 | z = 33 Line: 95 | ff = 65.0 Line: 96 > @448.b = @449 [ [ 0, 2 ], [ 0, 0 ], [ 0, 0 ] ] Line: 97 > @448.b = @449 [ [ 0, 2 ], [ 2, 0 ], [ 0, 0 ] ] Line: 98 99 100 |||| loaded class: stdlib.ZTraceExample$Counter from stdlib/ZTraceExample.java |||| constructors: |||| + Counter(String) |||| object fields: |||| - name : String |||| - count : int |||| object methods: |||| + increment() |||| + tally() |||| + toString() >>>> Counter(String) | this = @477 { name=null, count=0 } | id = "x" Line: 53 > this = @477 { name="x", count=0 } <<<< Counter(String) Line: 100 | c = @477 { name="x", count=0 } Line: 101 >>>> Counter.increment() | this = @477 { name="x", count=0 } Line: 54 > this = @477 { name="x", count=1 } <<<< Counter.increment() Line: 102 >>>> Counter.toString() | this = @477 { name="x", count=1 } Line: 56 <<<< Counter.toString() : "1 x" Line: 103 |||| loaded class: stdlib.ZTraceExample$X$InnerWithConstructor from stdlib/ZTraceExample.java |||| constructors: |||| + InnerWithConstructor(int) |||| object fields: |||| ~ x : int |||| ~ this$1 : X |||| object methods: |||| + run() >>>> InnerWithConstructor(int) | this = @480 { x=0, this$1=null } | x = 3 Line: 85 > this = @480 { x=3, this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 0 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=1, float1=1.0... } } > this = @480 { x=3, this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 0 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=1, float1=1.0... } } <<<< InnerWithConstructor(int) Line: 103 | inner1 = @480 { x=3, this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 0 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=1, float1=1.0... } } Line: 104 >>>> InnerWithConstructor.run() | this = @480 { x=3, this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 0 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=1, float1=1.0... } } Line: 87 88 > @448.long1 = 3 Line: 89 <<<< InnerWithConstructor.run() > @448.b = @449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ] Line: 105 |||| loaded class: stdlib.ZTraceExample$X$Inner from stdlib/ZTraceExample.java |||| constructors: |||| - Inner() |||| ~ Inner() |||| object fields: |||| ~ this$1 : X |||| object methods: |||| + run() >>>> Inner() | this = @483 { this$1=null } Line: 77 >>>> Inner() | this = @483 { this$1=null } Line: 77 > this = @483 { this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=3, float1=1.0... } } <<<< Inner() Line: 77 <<<< Inner() Line: 105 | inner2 = @483 { this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=3, float1=1.0... } } Line: 106 >>>> InnerWithConstructor.run() | this = @480 { x=3, this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=3, float1=1.0... } } Line: 87 88 > @448.long1 = 3 Line: 89 <<<< InnerWithConstructor.run() Line: 106 108 109 109 110 111 112 113 114 115 >>>> X.f(int) this: @448 | @448.b = @449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ] | @448.object = @454 | @448.integer = 42 | @448.boolean1 = false | @448.character = a | @448.short1 = 1 | @448.long1 = 3 | @448.float1 = 1.0 | @448.double1 = 1.0 | @448.intVal = 1 | @448.nil = null | @448.string = "dog" locals: | x = 1 Line: 93 > ZTraceExample.lastX = @448 { b=@449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=3, float1=1.0... } Line: 94 | z = 33 Line: 95 | ff = 65.0 Line: 96 97 98 99 100 >>>> Counter(String) | this = @484 { name=null, count=0 } | id = "x" Line: 53 > this = @484 { name="x", count=0 } <<<< Counter(String) Line: 100 | c = @484 { name="x", count=0 } Line: 101 >>>> Counter.increment() | this = @484 { name="x", count=0 } Line: 54 > this = @484 { name="x", count=1 } <<<< Counter.increment() Line: 102 >>>> Counter.toString() | this = @484 { name="x", count=1 } Line: 56 <<<< Counter.toString() : "1 x" Line: 103 >>>> InnerWithConstructor(int) | this = @486 { x=0, this$1=null } | x = 3 Line: 85 > this = @486 { x=3, this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=3, float1=1.0... } } > this = @486 { x=3, this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=3, float1=1.0... } } <<<< InnerWithConstructor(int) Line: 103 | inner1 = @486 { x=3, this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=3, float1=1.0... } } Line: 104 >>>> InnerWithConstructor.run() | this = @486 { x=3, this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=3, float1=1.0... } } Line: 87 88 > @448.long1 = 3 Line: 89 <<<< InnerWithConstructor.run() Line: 105 >>>> Inner() | this = @487 { this$1=null } Line: 77 >>>> Inner() | this = @487 { this$1=null } Line: 77 > this = @487 { this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=3, float1=1.0... } } <<<< Inner() Line: 77 <<<< Inner() Line: 105 | inner2 = @487 { this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=3, float1=1.0... } } Line: 106 >>>> InnerWithConstructor.run() | this = @486 { x=3, this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=3, float1=1.0... } } Line: 87 88 > @448.long1 = 3 Line: 89 <<<< InnerWithConstructor.run() Line: 106 108 109 109 110 111 112 113 114 115 >>>> X.f(int) this: @448 | @448.b = @449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ] | @448.object = @454 | @448.integer = 42 | @448.boolean1 = false | @448.character = a | @448.short1 = 1 | @448.long1 = 3 | @448.float1 = 1.0 | @448.double1 = 1.0 | @448.intVal = 1 | @448.nil = null | @448.string = "dog" locals: | x = 0 Line: 93 > ZTraceExample.lastX = @448 { b=@449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=3, float1=1.0... } Line: 94 | z = 33 Line: 95 | ff = 65.0 Line: 96 97 98 99 100 >>>> Counter(String) | this = @488 { name=null, count=0 } | id = "x" Line: 53 > this = @488 { name="x", count=0 } <<<< Counter(String) Line: 100 | c = @488 { name="x", count=0 } Line: 101 >>>> Counter.increment() | this = @488 { name="x", count=0 } Line: 54 > this = @488 { name="x", count=1 } <<<< Counter.increment() Line: 102 >>>> Counter.toString() | this = @488 { name="x", count=1 } Line: 56 <<<< Counter.toString() : "1 x" Line: 103 >>>> InnerWithConstructor(int) | this = @490 { x=0, this$1=null } | x = 3 Line: 85 > this = @490 { x=3, this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=3, float1=1.0... } } > this = @490 { x=3, this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=3, float1=1.0... } } <<<< InnerWithConstructor(int) Line: 103 | inner1 = @490 { x=3, this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=3, float1=1.0... } } Line: 104 >>>> InnerWithConstructor.run() | this = @490 { x=3, this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=3, float1=1.0... } } Line: 87 88 > @448.long1 = 3 Line: 89 <<<< InnerWithConstructor.run() Line: 105 >>>> Inner() | this = @491 { this$1=null } Line: 77 >>>> Inner() | this = @491 { this$1=null } Line: 77 > this = @491 { this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=3, float1=1.0... } } <<<< Inner() Line: 77 <<<< Inner() Line: 105 | inner2 = @491 { this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=3, float1=1.0... } } Line: 106 >>>> InnerWithConstructor.run() | this = @490 { x=3, this$1=@448 { b=@449 [ [ 0, 2 ], [ 2, 5 ], [ 0, 0 ] ], object=@454, integer=42, boolean1=false, character=a, short1=1, long1=3, float1=1.0... } } Line: 87 88 > @448.long1 = 3 Line: 89 <<<< InnerWithConstructor.run() Line: 106 108 109 109 110 111 112 113 114 117 <<<< X.f(int) : 42 Line: 115 <<<< X.f(int) : 43 Line: 115 <<<< X.f(int) : 44 Line: 16 19 | n = 5 Line: 20 | a = @492 [ 0.0, 0.0, 0.0, 0.0, 0.0 ] Line: 21 | i = 0 Line: 22 > a = @492 [ -1.0, 0.0, 0.0, 0.0, 0.0 ] Line: 21 > i = 1 Line: 22 > a = @492 [ -1.0, 9.0, 0.0, 0.0, 0.0 ] Line: 21 > i = 2 Line: 22 > a = @492 [ -1.0, 9.0, 19.0, 0.0, 0.0 ] Line: 21 > i = 3 Line: 22 > a = @492 [ -1.0, 9.0, 19.0, 29.0, 0.0 ] Line: 21 > i = 4 Line: 22 > a = @492 [ -1.0, 9.0, 19.0, 29.0, 39.0 ] Line: 21 26 | n = 5 Line: 27 > ZTraceExample.b = @493 [ 0.0, 0.0, 0.0, 0.0, 0.0 ] Line: 28 | i = 0 Line: 29 > ZTraceExample.b = @493 [ -1.0, 0.0, 0.0, 0.0, 0.0 ] Line: 28 > i = 1 Line: 29 > ZTraceExample.b = @493 [ -1.0, 10.0, 0.0, 0.0, 0.0 ] Line: 28 > i = 2 Line: 29 > ZTraceExample.b = @493 [ -1.0, 10.0, 21.0, 0.0, 0.0 ] Line: 28 > i = 3 Line: 29 > ZTraceExample.b = @493 [ -1.0, 10.0, 21.0, 32.0, 0.0 ] Line: 28 > i = 4 Line: 29 > ZTraceExample.b = @493 [ -1.0, 10.0, 21.0, 32.0, 43.0 ] Line: 28 32 >>>> ZTraceExample.staticInitializerTest() Line: 158 |||| loaded class: stdlib.ZTraceExample$StaticX from stdlib/ZTraceExample.java |||| class fields: |||| ~ a : double[] |||| class methods: |||| ~ StaticX.CLASS_INITIALIZER |||| ~ f() |||| constructors: |||| - StaticX() >>>> StaticX.CLASS_INITIALIZER | n = 5 > StaticX.a = @495 [ 0.0, 0.0, 0.0, 0.0, 0.0 ] <<<< StaticX.CLASS_INITIALIZER >>>> StaticX.f() > StaticX.a = @495 [ -1.0, 12.0, 25.0, 38.0, 51.0 ] Line: 154 155 <<<< StaticX.f() Line: 159 <<<< ZTraceExample.staticInitializerTest() Line: 34 >>>> ZTraceExample.exceptionTest() Line: 123 | x = 0 Line: 125 >>>> ZTraceExample.exceptionF1() Line: 137 >>>> ZTraceExample.exceptionF2() Line: 140 !!!! EXCEPTION: Error("Aha") Line: 127 | e = @504 Line: 128 > x = 2 Line: 130 > x = 3 Line: 132 > x = 4 Line: 133 >>>> ZTraceExample.exceptionF1() Line: 137 >>>> ZTraceExample.exceptionF2() Line: 140 !!!! UNCAUGHT EXCEPTION: Error("Aha") |||| thread stopped: main |||| VM Stopped 1 x 1 x 1 x a[3]=38.0 Exception in thread "main" java.lang.Error: Aha at stdlib.ZTraceExample.exceptionF2(ZTraceExample.java:140) at stdlib.ZTraceExample.exceptionF1(ZTraceExample.java:137) at stdlib.ZTraceExample.exceptionTest(ZTraceExample.java:133) at stdlib.ZTraceExample.main(ZTraceExample.java:34)