From aca6e97cf5eb60e57b4091c27d489a9b3ecd24c8 Mon Sep 17 00:00:00 2001 From: "Natalia.Ukhorskaya" Date: Tue, 14 May 2013 13:19:44 +0400 Subject: [PATCH] Create method for resolving delegate with scope (for resolve from ResolveSessionUtils) --- .../org/jetbrains/jet/lang/resolve/BodyResolver.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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 69038aff6dd..6a8497f0256 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BodyResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BodyResolver.java @@ -472,6 +472,17 @@ public class BodyResolver { @NotNull PropertyDescriptor propertyDescriptor, @NotNull JetExpression delegateExpression, @NotNull JetScope parentScopeForAccessor + ) { + JetScope propertyDeclarationInnerScope = getScopeForProperty(jetProperty); + resolvePropertyDelegate(jetProperty, propertyDescriptor, delegateExpression, parentScopeForAccessor, propertyDeclarationInnerScope); + } + + public void resolvePropertyDelegate( + @NotNull JetProperty jetProperty, + @NotNull PropertyDescriptor propertyDescriptor, + @NotNull JetExpression delegateExpression, + @NotNull JetScope parentScopeForAccessor, + @NotNull JetScope propertyScope ) { JetPropertyAccessor getter = jetProperty.getGetter(); if (getter != null) { @@ -483,7 +494,6 @@ public class BodyResolver { trace.report(ACCESSOR_FOR_DELEGATED_PROPERTY.on(setter)); } - JetScope propertyScope = getScopeForProperty(jetProperty); JetScope propertyDeclarationInnerScope = descriptorResolver.getPropertyDeclarationInnerScopeForInitializer( propertyScope, propertyDescriptor.getTypeParameters(), NO_RECEIVER_PARAMETER, trace); JetType delegateType = expressionTypingServices.safeGetType(propertyDeclarationInnerScope, delegateExpression, NO_EXPECTED_TYPE,