Index: compiler/org/eclipse/jdt/internal/compiler/lookup/Scope.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/Scope.java,v retrieving revision 1.346 diff -u -r1.346 Scope.java --- compiler/org/eclipse/jdt/internal/compiler/lookup/Scope.java 5 Dec 2008 12:41:29 -0000 1.346 +++ compiler/org/eclipse/jdt/internal/compiler/lookup/Scope.java 7 Jan 2009 17:38:42 -0000 @@ -2809,16 +2809,15 @@ MethodBinding context = ((AbstractMethodDeclaration)methodScope.referenceContext).binding; if (context != null && context.isViewedAsDeprecated()) return true; - } else { - SourceTypeBinding type = ((BlockScope)this).referenceType().binding; + } else if (methodScope.initializedField != null && methodScope.initializedField.isViewedAsDeprecated()) { // inside field declaration ? check field modifier to see if deprecated - if (methodScope.initializedField != null && methodScope.initializedField.isViewedAsDeprecated()) + return true; + } + SourceTypeBinding declaringType = ((BlockScope)this).referenceType().binding; + if (declaringType != null) { + declaringType.initializeDeprecatedAnnotationTagBits(); // may not have been resolved until then + if (declaringType.isViewedAsDeprecated()) return true; - if (type != null) { - type.initializeDeprecatedAnnotationTagBits(); // may not have been resolved until then - if (type.isViewedAsDeprecated()) - return true; - } } break; case Scope.CLASS_SCOPE :