diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/blocks/GrClosableBlockImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/blocks/GrClosableBlockImpl.java index 33d7802427ed..0c60f342dd1c 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/blocks/GrClosableBlockImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/blocks/GrClosableBlockImpl.java @@ -49,7 +49,6 @@ import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.ClosureSyntheticPara import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.GrLightVariable; import org.jetbrains.plugins.groovy.lang.resolve.MethodTypeInferencer; import org.jetbrains.plugins.groovy.lang.resolve.ResolveUtil; -import org.jetbrains.plugins.groovy.lang.resolve.processors.PropertyResolverProcessor; import org.jetbrains.plugins.groovy.lang.resolve.processors.ResolverProcessor; import org.jetbrains.plugins.groovy.refactoring.GroovyNamesUtil; @@ -127,10 +126,6 @@ public class GrClosableBlockImpl extends GrBlockImpl implements GrClosableBlock } private boolean processOwner(PsiScopeProcessor processor, ResolveState state) { - if (processor instanceof PropertyResolverProcessor && OWNER_NAME.equals(((PropertyResolverProcessor)processor).getName())) { - processor.handleEvent(ResolveUtil.DECLARATION_SCOPE_PASSED, this); - } - String nameHint = ResolveUtil.getNameHint(processor); if (nameHint == null || nameHint.equals(OWNER_NAME)) { if (!processor.execute(getOwner(), state)) return false; diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/typedef/members/GrMethodBaseImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/typedef/members/GrMethodBaseImpl.java index 19bcfba3d217..704a375d308f 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/typedef/members/GrMethodBaseImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/typedef/members/GrMethodBaseImpl.java @@ -156,8 +156,6 @@ public abstract class GrMethodBaseImpl extends GrStubElementBase i if (!ResolveUtil.processElement(processor, parameter, state)) return false; } - processor.handleEvent(ResolveUtil.DECLARATION_SCOPE_PASSED, this); - return true; } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/ResolveUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/ResolveUtil.java index 4c2c1bb2f680..fa918ca2aaaf 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/ResolveUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/ResolveUtil.java @@ -55,6 +55,7 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrAnonymousC import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrTypeDefinition; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrGdkMethod; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMember; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod; import org.jetbrains.plugins.groovy.lang.psi.api.types.GrCodeReferenceElement; import org.jetbrains.plugins.groovy.lang.psi.impl.GrClosureType; import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyResolveResultImpl; @@ -109,7 +110,16 @@ public class ResolveUtil { } } + if (run instanceof GrClosableBlock && GrClosableBlock.OWNER_NAME.equals(getNameHint(processor))) { + processor.handleEvent(DECLARATION_SCOPE_PASSED, run); + } + if (!run.processDeclarations(processor, ResolveState.initial(), lastParent, place)) return false; + + if (run instanceof GrMethod) { + processor.handleEvent(DECLARATION_SCOPE_PASSED, run); + } + if (processNonCodeMethods) { if (!doProcessNonCodeMembers) { if (run instanceof GrCodeBlock) doProcessNonCodeMembers = true;