View | Details | Raw Unified | Return to bug 185182
Collapse All | Expand All

(-)src/org/eclipse/jdt/core/tests/compiler/regression/RuntimeTests.java (-16 / +22 lines)
Lines 126-132 Link Here
126
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=126712
126
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=126712
127
// reflection - access to a public method of a package visible
127
// reflection - access to a public method of a package visible
128
// class through a public extending class
128
// class through a public extending class
129
public void _test0600_reflection() {
129
// **
130
public void test0600_reflection() {
130
	this.runConformTest(
131
	this.runConformTest(
131
		new String[] {
132
		new String[] {
132
			"X.java",
133
			"X.java",
Lines 139-151 Link Here
139
			"    Method foo = Y.class.getMethod(\"foo\", (Class []) null);\n" +
140
			"    Method foo = Y.class.getMethod(\"foo\", (Class []) null);\n" +
140
			"    y.foo();\n" +
141
			"    y.foo();\n" +
141
			"    foo.invoke(y, (Object []) null);\n" +
142
			"    foo.invoke(y, (Object []) null);\n" +
142
			"  }\n" +
143
			"  } catch (NoSuchMethodException e) {\n" +
143
			"  catch (Throwable t) {\n" +
144
			"      //ignore\n" +
144
			"    System.out.println(\"FAILURE: \" + t.getMessage());\n" +
145
			"  } catch (InvocationTargetException e) {\n" +
145
			"    t.printStackTrace(System.out);\n" +
146
			"      //ignore\n" +
147
			"  } catch (IllegalAccessException e) {\n" +
148
			"    System.out.print(\"FAILURE: IllegalAccessException\");\n" +
146
			"  }\n" + 
149
			"  }\n" + 
147
			"}\n" + 
150
			"}\n" +
148
			"}\n",
151
			"}",
149
			"p/Y.java",
152
			"p/Y.java",
150
			"package p;\n" +
153
			"package p;\n" +
151
			"public class Y extends Z {\n" + 
154
			"public class Y extends Z {\n" + 
Lines 158-171 Link Here
158
			"  System.out.println(\"SUCCESS\"); //$NON-NLS-1$\n" + 
161
			"  System.out.println(\"SUCCESS\"); //$NON-NLS-1$\n" + 
159
			"  }\n" + 
162
			"  }\n" + 
160
			"}\n"},
163
			"}\n"},
161
		"SUCCESS\nSUCCESS"
164
		"SUCCESS\n" + 
165
		"FAILURE: IllegalAccessException"
162
	);
166
	);
163
}
167
}
164
168
165
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=126712
169
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=126712
166
// reflection - access to a public field of a package visible
170
// reflection - access to a public field of a package visible
167
// class through a public extending class
171
// class through a public extending class
168
public void _test0601_reflection() {
172
// **
173
public void test0601_reflection() {
169
	this.runConformTest(
174
	this.runConformTest(
170
		new String[] {
175
		new String[] {
171
			"X.java",
176
			"X.java",
Lines 178-190 Link Here
178
			"    Field f = Y.class.getField(\"m\");\n" +
183
			"    Field f = Y.class.getField(\"m\");\n" +
179
			"    System.out.println(y.m);\n" +
184
			"    System.out.println(y.m);\n" +
180
			"    System.out.println(f.get(y));\n" +
185
			"    System.out.println(f.get(y));\n" +
181
			"  }\n" +
186
			"  } catch (NoSuchFieldException e) {\n" +
182
			"  catch (Throwable t) {\n" +
187
			"      //ignore\n" +
183
			"    System.out.println(\"FAILURE: \" + t.getMessage());\n" +
188
			"  } catch (IllegalAccessException e) {\n" +
184
			"    t.printStackTrace(System.out);\n" +
189
			"    System.out.print(\"FAILURE: IllegalAccessException\");\n" +
185
			"  }\n" + 
190
			"  }\n" + 
186
			"}\n" + 
191
			"}\n" +
187
			"}\n",
192
			"}",
188
			"p/Y.java",
193
			"p/Y.java",
189
			"package p;\n" +
194
			"package p;\n" +
190
			"public class Y extends Z {\n" + 
195
			"public class Y extends Z {\n" + 
Lines 195-201 Link Here
195
			"class Z {\n" + 
200
			"class Z {\n" + 
196
			"  public String m = \"SUCCESS\";\n" + 
201
			"  public String m = \"SUCCESS\";\n" + 
197
			"}\n"},
202
			"}\n"},
198
		"SUCCESS\nSUCCESS"
203
		"SUCCESS\n" + 
204
		"FAILURE: IllegalAccessException"
199
	);
205
	);
200
}
206
}
201
207

Return to bug 185182