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