diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BodyResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BodyResolver.java index f3c35fd5c76..377c45fee5f 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BodyResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BodyResolver.java @@ -122,7 +122,10 @@ public class BodyResolver { resolveDelegationSpecifierLists(c); resolvePropertyDeclarationBodies(c); - resolveClassAnnotations(c); + + if (!TopDownAnalyzer.LAZY) { + resolveClassAnnotations(c); + } resolveAnonymousInitializers(c); resolvePrimaryConstructorParameters(c); @@ -589,7 +592,9 @@ public class BodyResolver { JetScope declaringScope = c.getDeclaringScopes().apply(declaration); assert declaringScope != null; - resolveAnnotationArguments(declaringScope, declaration); + if (!TopDownAnalyzer.LAZY || c.getTopDownAnalysisParameters().isDeclaredLocally()) { + resolveAnnotationArguments(declaringScope, declaration); + } resolveFunctionBody(c, trace, declaration, descriptor, declaringScope); assert descriptor.getReturnType() != null;