1 /*
2  * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * This code is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License version 2 only, as
7  * published by the Free Software Foundation.
8  *
9  * This code is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12  * version 2 for more details (a copy is included in the LICENSE file that
13  * accompanied this code).
14  *
15  * You should have received a copy of the GNU General Public License version
16  * 2 along with this work; if not, write to the Free Software Foundation,
17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18  *
19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20  * or visit www.oracle.com if you need additional information or have any
21  * questions.
22  */
23 
24 package nsk.jdb.print.print002;
25 
26 import nsk.share.*;
27 import nsk.share.jpda.*;
28 import nsk.share.jdb.*;
29 
30 import java.io.*;
31 
32 /* This is debuggee aplication */
33 public class print002a {
34 
35     static print002a _print002a = new print002a();
36 
main(String args[])37     public static void main(String args[]) {
38        System.exit(print002.JCK_STATUS_BASE + _print002a.runIt(args, System.out));
39     }
40 
lastBreak()41     static void lastBreak () {}
42 
runIt(String args[], PrintStream out)43     public int runIt(String args[], PrintStream out) {
44         JdbArgumentHandler argumentHandler = new JdbArgumentHandler(args);
45         Log log = new Log(out, argumentHandler);
46 
47         int i = 2;
48         int j = 6;
49         boolean b1 = true;
50         boolean b2 = false;
51 
52         A a = new A();
53 
54         synchronized (this) {
55             lastBreak();
56         }
57 
58         log.display("Debuggee PASSED");
59         return print002.PASSED;
60     }
61 }
62 
63 class A {
64 B b;
A()65 A() { b = new B(); }
66 }
67 
68 class B {
69 C c;
B()70 B() { c = new C(); }
71 }
72 
73 class C {
74 D d;
C()75 C() { d = new D(); }
76 }
77 
78 class D {
79 E e;
D()80 D() { e = new E(); }
81 }
82 
83 class E {
84 F f;
E()85 E() { f = new F(); }
86 }
87 
88 class F {
89 G g;
F()90 F() { g = new G(); }
91 }
92 
93 class G {
94 H h;
G()95 G() { h = new H(); }
96 }
97 
98 class H {
99 I i;
H()100 H() { i = new I(); }
101 }
102 
103 class I {
104 J j;
I()105 I() { j = new J(); }
106 }
107 
108 class J {
109 K k;
J()110 J() { k = new K(); }
111 }
112 
113 class K {
114 L l;
K()115 K() { l = new L(); }
116 }
117 
118 class L {
119 M m;
L()120 L() { m = new M(); }
121 }
122 
123 class M {
124 N n;
M()125 M() { n = new N(); }
126 }
127 
128 class N {
129 O o;
N()130 N() { o = new O(); }
131 }
132 
133 class O {
134 P p;
O()135 O() { p = new P(); }
136 }
137 
138 class P {
139 Q q;
P()140 P() { q = new Q(); }
141 }
142 
143 class Q {
144 R r;
Q()145 Q() { r = new R(); }
146 }
147 
148 class R {
149 S s;
R()150 R() { s = new S(); }
151 }
152 
153 class S {
154 T t;
S()155 S() { t = new T(); }
156 }
157 
158 class T {
159 U u;
T()160 T() { u = new U(); }
161 }
162 
163 class U {
164 V v;
U()165 U() { v = new V(); }
166 }
167 
168 class V {
169 W w;
V()170 V() { w = new W(); }
171 }
172 
173 class W {
174 X x;
W()175 W() { x = new X(); }
176 }
177 
178 class X {
179 Y y;
X()180 X() { y = new Y(); }
181 }
182 
183 class Y {
184 Z z;
Y()185 Y() { z = new Z(); }
186 }
187 
188 class Z {
189   String s;
Z()190   Z() { s  = "foo";}
191 }
192