|
|
db9e6cd |
### Eclipse Workspace Patch 1.0
|
|
|
db9e6cd |
#P org.eclipse.jdt.core
|
|
|
db9e6cd |
Index: compiler/org/eclipse/jdt/internal/compiler/ast/QualifiedNameReference.java
|
|
|
db9e6cd |
===================================================================
|
|
|
db9e6cd |
RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/QualifiedNameReference.java,v
|
|
|
db9e6cd |
retrieving revision 1.125.2.3
|
|
|
db9e6cd |
diff -u -r1.125.2.3 QualifiedNameReference.java
|
|
|
db9e6cd |
--- compiler/org/eclipse/jdt/internal/compiler/ast/QualifiedNameReference.java 27 Nov 2008 10:13:10 -0000 1.125.2.3
|
|
|
db9e6cd |
+++ compiler/org/eclipse/jdt/internal/compiler/ast/QualifiedNameReference.java 6 Feb 2009 12:34:15 -0000
|
|
|
db9e6cd |
@@ -780,8 +780,8 @@
|
|
|
db9e6cd |
}
|
|
|
db9e6cd |
|
|
|
db9e6cd |
if (field.isStatic()) {
|
|
|
db9e6cd |
- ReferenceBinding declaringClass = field.original().declaringClass;
|
|
|
db9e6cd |
- if (declaringClass.isEnum()) {
|
|
|
db9e6cd |
+ if ((field.modifiers & ClassFileConstants.AccEnum) != 0) { // enum constants are checked even when qualified)
|
|
|
db9e6cd |
+ ReferenceBinding declaringClass = field.original().declaringClass;
|
|
|
db9e6cd |
MethodScope methodScope = scope.methodScope();
|
|
|
db9e6cd |
SourceTypeBinding sourceType = methodScope.enclosingSourceType();
|
|
|
db9e6cd |
if ((this.bits & ASTNode.IsStrictlyAssigned) == 0
|
|
|
db9e6cd |
@@ -1014,13 +1014,13 @@
|
|
|
db9e6cd |
MethodScope methodScope = scope.methodScope();
|
|
|
db9e6cd |
TypeBinding declaringClass = fieldBinding.original().declaringClass;
|
|
|
db9e6cd |
// check for forward references
|
|
|
db9e6cd |
- if ((this.indexOfFirstFieldBinding == 1 || declaringClass.isEnum())
|
|
|
db9e6cd |
+ if ((this.indexOfFirstFieldBinding == 1 || (fieldBinding.modifiers & ClassFileConstants.AccEnum) != 0) // enum constants are checked even when qualified
|
|
|
db9e6cd |
&& methodScope.enclosingSourceType() == declaringClass
|
|
|
db9e6cd |
&& methodScope.lastVisibleFieldID >= 0
|
|
|
db9e6cd |
&& fieldBinding.id >= methodScope.lastVisibleFieldID
|
|
|
db9e6cd |
&& (!fieldBinding.isStatic() || methodScope.isStatic)) {
|
|
|
db9e6cd |
scope.problemReporter().forwardReference(this, 0, fieldBinding);
|
|
|
db9e6cd |
- }
|
|
|
db9e6cd |
+ }
|
|
|
db9e6cd |
if (fieldBinding.isStatic()) {
|
|
|
db9e6cd |
// check if accessing enum static field in initializer
|
|
|
db9e6cd |
if (declaringClass.isEnum()) {
|