don't resolve script methods in classes defined in the same file.

This commit is contained in:
Maxim.Medvedev
2012-01-05 21:32:37 +04:00
parent 864e962364
commit d961b1dca0
2 changed files with 16 additions and 1 deletions
@@ -124,7 +124,9 @@ public class GroovyFileImpl extends GroovyFileBaseImpl implements GroovyFile {
PsiClass scriptClass = getScriptClass();
if (scriptClass != null) {
if (!scriptClass.processDeclarations(processor, state, lastParent, place)) return false;
if (!(lastParent instanceof GrTypeDefinition)) {
if (!scriptClass.processDeclarations(processor, state, lastParent, place)) return false;
}
if (!ResolveUtil.processElement(processor, scriptClass, state)) return false;
}
@@ -825,4 +825,17 @@ def test() {
assertTrue parameters.length == 1
assertEquals "java.lang.Object", parameters[0].type.canonicalText
}
public void testScriptMethodsInClass() {
def ref = configureByText('''
class X {
def foo() {
scriptMetho<caret>d('1')
}
}
def scriptMethod(String s){}
''')
assertNull(ref.resolve())
}
}