diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/BodyResolver.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/BodyResolver.java index 5b77daa6eb3..36fe54c1b85 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/BodyResolver.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/BodyResolver.java @@ -742,6 +742,8 @@ public class BodyResolver { } resolvePropertyAccessors(c, property, propertyDescriptor); + + ForceResolveUtil.forceResolveAllContents(propertyDescriptor.getAnnotations()); } private void resolvePropertyDeclarationBodies(@NotNull BodiesResolveContext c) { @@ -797,28 +799,28 @@ public class BodyResolver { languageVersionSettings.supportsFeature(LanguageFeature.ProhibitErroneousExpressionsInAnnotationsWithUseSiteTargets); if (getterDescriptor != null) { - if (getter != null || forceResolveAnnotations) { - ForceResolveUtil.forceResolveAllContents(getterDescriptor.getAnnotations()); - } - if (getter != null) { LexicalScope accessorScope = makeScopeForPropertyAccessor(c, getter, propertyDescriptor); resolveFunctionBody(c.getOuterDataFlowInfo(), fieldAccessTrackingTrace, getter, getterDescriptor, accessorScope); } + + if (getter != null || forceResolveAnnotations) { + ForceResolveUtil.forceResolveAllContents(getterDescriptor.getAnnotations()); + } } KtPropertyAccessor setter = property.getSetter(); PropertySetterDescriptor setterDescriptor = propertyDescriptor.getSetter(); if (setterDescriptor != null) { - if (setter != null || forceResolveAnnotations) { - ForceResolveUtil.forceResolveAllContents(setterDescriptor.getAnnotations()); - } - if (setter != null) { LexicalScope accessorScope = makeScopeForPropertyAccessor(c, setter, propertyDescriptor); resolveFunctionBody(c.getOuterDataFlowInfo(), fieldAccessTrackingTrace, setter, setterDescriptor, accessorScope); } + + if (setter != null || forceResolveAnnotations) { + ForceResolveUtil.forceResolveAllContents(setterDescriptor.getAnnotations()); + } } } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/LazyTopDownAnalyzer.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/LazyTopDownAnalyzer.kt index ac114c27574..703dfa45379 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/LazyTopDownAnalyzer.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/LazyTopDownAnalyzer.kt @@ -273,7 +273,6 @@ class LazyTopDownAnalyzer( val descriptor = lazyDeclarationResolver.resolveToDescriptor(property) as PropertyDescriptor c.properties.put(property, descriptor) - ForceResolveUtil.forceResolveAllContents(descriptor.annotations) registerTopLevelFqName(topLevelFqNames, property, descriptor) } }