Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 23463 Details for
Bug 100519
[1.5][compiler] generic parameter and qualified access seems to confuse each other
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Augmented test case.
org.eclipse.jdt.core.tests.compiler_01.txt (text/plain), 8.77 KB, created by
Maxime Daniel
on 2005-06-17 12:54:05 EDT
(
hide
)
Description:
Augmented test case.
Filename:
MIME Type:
Creator:
Maxime Daniel
Created:
2005-06-17 12:54:05 EDT
Size:
8.77 KB
patch
obsolete
>Index: src/org/eclipse/jdt/core/tests/compiler/regression/GenericTypeTest.java >=================================================================== >RCS file: /home/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/GenericTypeTest.java,v >retrieving revision 1.319 >diff -u -r1.319 GenericTypeTest.java >--- src/org/eclipse/jdt/core/tests/compiler/regression/GenericTypeTest.java 17 Jun 2005 09:26:42 -0000 1.319 >+++ src/org/eclipse/jdt/core/tests/compiler/regression/GenericTypeTest.java 17 Jun 2005 16:30:02 -0000 >@@ -22004,11 +22004,201 @@ > " public static class InnerClass {\n" + > " public InnerClass() {\n" + > " System.out.println(\"class : \" + InnerClass.this);\n" + >+ " System.out.println(\"class : \" + X.InnerClass.this);\n" + > " }\n" + > " }\n" + > "}\n", > }, > ""); > } >+// https://bugs.eclipse.org/bugs/show_bug.cgi?id=100519 >+public void test763b() { >+ this.runConformTest( >+ new String[] { >+ "X.java", >+ "public class X<E> {\n" + >+ " public static class InnerClass {\n" + >+ " public InnerClass() {\n" + >+ " System.out.println(X.InnerClass.this);\n" + >+ " System.out.println(InnerClass.this);\n" + >+ " System.out.println(this);\n" + >+ " System.out.println(X.InnerClass.class);\n" + >+ " System.out.println(InnerClass.class);\n" + >+ " System.out.println(this.getClass());\n" + >+ " System.out.println(X.InnerClass2.class);\n" + >+ " }\n" + >+ " }\n" + >+ " class InnerClass2 {\n" + >+ " public InnerClass2() {\n" + >+ " System.out.println(this);\n" + >+ " System.out.println(X.InnerClass.class);\n" + >+ " System.out.println(InnerClass.class);\n" + >+ " System.out.println(X.InnerClass2.this);\n" + >+ " System.out.println(InnerClass2.this);\n" + >+ " System.out.println(this.getClass());\n" + >+ " System.out.println(X.InnerClass2.class);\n" + >+ " System.out.println(InnerClass2.class);\n" + >+ " }\n" + >+ " }\n" + >+ "}\n" >+ }, >+ ""); >+} >+// https://bugs.eclipse.org/bugs/show_bug.cgi?id=100519 >+public void test763c() { >+ this.runNegativeTest( >+ new String[] { >+ "X.java", >+ "public class X<E> {\n" + >+ " public static class InnerClass {\n" + >+ " public InnerClass() {\n" + >+ " System.out.println(X.InnerClass2.this);\n" + >+ " System.out.println(InnerClass2.this);\n" + >+ " System.out.println(InnerClass2.class);\n" + >+ " }\n" + >+ " }\n" + >+ " class InnerClass2 {\n" + >+ " public InnerClass2() {\n" + >+ " System.out.println(X.InnerClass.this);\n" + >+ " System.out.println(InnerClass.this);\n" + >+ " }\n" + >+ " }\n" + >+ "}\n" >+ }, >+ "----------\n" + >+ "1. ERROR in X.java (at line 4)\n" + >+ " System.out.println(X.InnerClass2.this);\n" + >+ " ^^^^^^^^^^^^^^^^^^\n" + >+ "No enclosing instance of the type X<E>.InnerClass2 is accessible in scope\n" + >+ "----------\n" + >+ "2. ERROR in X.java (at line 5)\n" + >+ " System.out.println(InnerClass2.this);\n" + >+ " ^^^^^^^^^^^\n" + >+ "Cannot make a static reference to the non-static type InnerClass2\n" + >+ "----------\n" + >+ "3. ERROR in X.java (at line 6)\n" + >+ " System.out.println(InnerClass2.class);\n" + >+ " ^^^^^^^^^^^\n" + >+ "Cannot make a static reference to the non-static type InnerClass2\n" + >+ "----------\n" + >+ "4. ERROR in X.java (at line 11)\n" + >+ " System.out.println(X.InnerClass.this);\n" + >+ " ^^^^^^^^^^^^^^^^^\n" + >+ "No enclosing instance of the type X<E>.InnerClass is accessible in scope\n" + >+ "----------\n" + >+ "5. ERROR in X.java (at line 12)\n" + >+ " System.out.println(InnerClass.this);\n" + >+ " ^^^^^^^^^^^^^^^\n" + >+ "No enclosing instance of the type X<E>.InnerClass is accessible in scope\n" + >+ "----------\n"); >+} >+// https://bugs.eclipse.org/bugs/show_bug.cgi?id=100519 >+// second level - some discrepancies in the messages semantics >+public void _test763d() { >+ this.runNegativeTest( >+ new String[] { >+ "X.java", >+ "public class X<E> {\n" + >+ " public static class InnerClassA {\n" + >+ " static class InnerInnerClassA {\n" + >+ " public InnerInnerClassA() {\n" + >+ " System.out.println(X.InnerClassA.InnerInnerClassA.this);\n" + >+ " System.out.println(InnerClassA.InnerInnerClassA.this);\n" + >+ " System.out.println(InnerInnerClassA.this);\n" + >+ " System.out.println(this);\n" + >+ " System.out.println(X.InnerClassA.this);\n" + >+ " System.out.println(InnerClassA.this);\n" + >+ " System.out.println(X.InnerClassA.InnerInnerClassA.class);\n" + >+ " System.out.println(X.InnerClassA.class);\n" + >+ " System.out.println(InnerClassA.class);\n" + >+ " System.out.println(this.getClass());\n" + >+ " System.out.println(X.InnerClassA.class);\n" + >+ " }\n" + >+ " }\n" + >+ " }\n" + >+ " public static class InnerClassB {\n" + >+ " class InnerInnerClassB {\n" + >+ " public InnerInnerClassB() {\n" + >+ " System.out.println(X.InnerClassB.InnerInnerClassB.this);\n" + >+ " System.out.println(InnerClassB.InnerInnerClassB.this);\n" + >+ " System.out.println(InnerInnerClassB.this);\n" + >+ " System.out.println(this);\n" + >+ " System.out.println(X.InnerClassB.this);\n" + >+ " System.out.println(InnerClassB.this);\n" + >+ " System.out.println(X.InnerClassB.InnerInnerClassB.class);\n" + >+ " System.out.println(X.InnerClassB.class);\n" + >+ " System.out.println(InnerClassB.class);\n" + >+ " System.out.println(this.getClass());\n" + >+ " System.out.println(X.InnerClassB.class);\n" + >+ " }\n" + >+ " }\n" + >+ " }\n" + >+ " public class InnerClassC {\n" + >+ " static class InnerInnerClassC {\n" + >+ " public InnerInnerClassC() {\n" + >+ " System.out.println(X.InnerClassC.InnerInnerClassC.this);\n" + >+ " System.out.println(InnerClassC.InnerInnerClassC.this);\n" + >+ " System.out.println(InnerInnerClassC.this);\n" + >+ " System.out.println(this);\n" + >+ " System.out.println(X.InnerClassC.this);\n" + >+ " System.out.println(InnerClassC.this);\n" + >+ " System.out.println(X.InnerClassC.InnerInnerClassC.class);\n" + >+ " System.out.println(X.InnerClassC.class);\n" + >+ " System.out.println(InnerClassC.class);\n" + >+ " System.out.println(this.getClass());\n" + >+ " System.out.println(X.InnerClassC.class);\n" + >+ " }\n" + >+ " }\n" + >+ " }\n" + >+ " public class InnerClassD {\n" + >+ " class InnerInnerClassD {\n" + >+ " public InnerInnerClassD() {\n" + >+ " System.out.println(X.InnerClassD.InnerInnerClassD.this);\n" + >+ " System.out.println(InnerClassD.InnerInnerClassD.this);\n" + >+ " System.out.println(InnerInnerClassD.this);\n" + >+ " System.out.println(this);\n" + >+ " System.out.println(X.InnerClassD.this);\n" + >+ " System.out.println(InnerClassD.this);\n" + >+ " System.out.println(X.InnerClassD.InnerInnerClassD.class);\n" + >+ " System.out.println(X.InnerClassD.class);\n" + >+ " System.out.println(InnerClassD.class);\n" + >+ " System.out.println(this.getClass());\n" + >+ " System.out.println(X.InnerClassD.class);\n" + >+ " }\n" + >+ " }\n" + >+ " }\n" + >+ "}" >+ }, >+ "----------\n" + >+ "1. ERROR in X.java (at line 9)\n" + >+ " System.out.println(X.InnerClassA.this);\n" + >+ " ^^^^^^^^^^^^^^^^^^\n" + >+ // this one and the following contrast with javac, which reports: >+ // non-static variable this cannot be referenced from a static context >+ "DIFF JAVAC - No enclosing instance of the type X<E>.InnerClassA is accessible in scope\n" + >+ "----------\n" + >+ "2. ERROR in X.java (at line 10)\n" + >+ " System.out.println(InnerClassA.this);\n" + >+ " ^^^^^^^^^^^^^^^^\n" + >+ "DIFF JAVAC - No enclosing instance of the type X<E>.InnerClassA is accessible in scope\n" + >+ "----------\n" + >+ "3. ERROR in X.java (at line 37)\n" + >+ " static class InnerInnerClassC {\n" + >+ " ^^^^^^^^^^^^^^^^\n" + >+ "The member type InnerInnerClassC cannot be declared static; static types can only be declared in static or top level types\n" + >+ "----------\n" + >+ // the following are not raised by javac but this is OK if we consider >+ // it simply stops error detection at the level of InnerInnerClassC >+ "4. ERROR in X.java (at line 43)\n" + >+ " System.out.println(X.InnerClassC.this);\n" + >+ " ^^^^^^^^^^^^^^^^^^\n" + >+ "No enclosing instance of the type X<E>.InnerClassC is accessible in scope\n" + >+ "----------\n" + >+ "5. ERROR in X.java (at line 44)\n" + >+ " System.out.println(InnerClassC.this);\n" + >+ " ^^^^^^^^^^^^^^^^\n" + >+ "No enclosing instance of the type X<E>.InnerClassC is accessible in scope\n" + >+ "----------\n"); >+} > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 100519
: 23463