mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fix stub generator for scripts
This commit is contained in:
+5
-13
@@ -40,6 +40,7 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrRe
|
||||
import org.jetbrains.plugins.groovy.lang.psi.api.types.GrTypeElement;
|
||||
import org.jetbrains.plugins.groovy.lang.psi.impl.PsiImplUtil;
|
||||
import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil;
|
||||
import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.GroovyScriptClass;
|
||||
import org.jetbrains.plugins.groovy.lang.psi.util.GroovyConstantExpressionEvaluator;
|
||||
import org.jetbrains.plugins.groovy.lang.resolve.ast.DelegatedMethod;
|
||||
|
||||
@@ -297,7 +298,10 @@ public class StubGenerator implements ClassItemGenerator {
|
||||
}
|
||||
methods.add(method);
|
||||
}
|
||||
boolean isClass = !typeDefinition.isInterface() && !typeDefinition.isAnnotationType() && !typeDefinition.isEnum();
|
||||
boolean isClass = !typeDefinition.isInterface() &&
|
||||
!typeDefinition.isAnnotationType() &&
|
||||
!typeDefinition.isEnum() &&
|
||||
!(typeDefinition instanceof GroovyScriptClass);
|
||||
if (isClass) {
|
||||
final Collection<MethodSignature> toOverride = OverrideImplementUtil.getMethodSignaturesToOverride(typeDefinition);
|
||||
for (MethodSignature signature : toOverride) {
|
||||
@@ -324,20 +328,8 @@ public class StubGenerator implements ClassItemGenerator {
|
||||
|
||||
methods.add(mirrorMethod(typeDefinition, resolved, baseClass, signature.getSubstitutor()));
|
||||
}
|
||||
/*final PsiElementFactory factory = JavaPsiFacade.getInstance(myProject).getElementFactory();
|
||||
methods.add(factory.createMethodFromText("public groovy.lang.MetaClass getMetaClass() {}", null));
|
||||
methods.add(factory.createMethodFromText("public void setMetaClass(groovy.lang.MetaClass mc) {}", null));
|
||||
methods.add(factory.createMethodFromText("public Object invokeMethod(String name, Object args) {}", null));
|
||||
methods.add(factory.createMethodFromText("public Object getProperty(String propertyName) {}", null));
|
||||
methods.add(factory.createMethodFromText("public void setProperty(String propertyName, Object newValue) {}", null));*/
|
||||
}
|
||||
|
||||
/*if (typeDefinition instanceof GrTypeDefinition) {
|
||||
for (PsiMethod delegatedMethod : GrClassImplUtil.getDelegatedMethods((GrTypeDefinition)typeDefinition)) {
|
||||
methods.add(delegatedMethod);
|
||||
}
|
||||
}*/
|
||||
|
||||
return methods;
|
||||
}
|
||||
|
||||
|
||||
+9
-16
@@ -1,23 +1,16 @@
|
||||
package org.jetbrains.plugins.groovy.compiler;
|
||||
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import org.jetbrains.plugins.groovy.LightGroovyTestCase;
|
||||
import org.jetbrains.plugins.groovy.refactoring.convertToJava.GroovyToJavaGenerator;
|
||||
import org.jetbrains.plugins.groovy.util.TestUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
package org.jetbrains.plugins.groovy.compiler
|
||||
import com.intellij.openapi.util.text.StringUtil
|
||||
import com.intellij.psi.PsiFile
|
||||
import org.jetbrains.plugins.groovy.LightGroovyTestCase
|
||||
import org.jetbrains.plugins.groovy.refactoring.convertToJava.GroovyToJavaGenerator
|
||||
import org.jetbrains.plugins.groovy.util.TestUtils
|
||||
/**
|
||||
* User: Dmitry.Krasilschikov
|
||||
* Date: 06.06.2007
|
||||
*/
|
||||
public class GeneratorTest extends LightGroovyTestCase {
|
||||
|
||||
@Override
|
||||
protected String getBasePath() {
|
||||
return TestUtils.getTestDataPath() + "groovy/stubGenerator";
|
||||
}
|
||||
final String basePath = TestUtils.testDataPath + "groovy/stubGenerator"
|
||||
|
||||
public void testArrayType1() throws Throwable { doTest(); }
|
||||
public void testAtInterface() throws Throwable { doTest(); }
|
||||
@@ -128,10 +121,10 @@ public class GeneratorTest extends LightGroovyTestCase {
|
||||
|
||||
public void doTest() {
|
||||
final String relTestPath = getTestName(true) + ".test";
|
||||
final List<String> data = TestUtils.readInput(getTestDataPath() + "/" + relTestPath);
|
||||
final List<String> data = TestUtils.readInput("$testDataPath/$relTestPath");
|
||||
|
||||
final String testName = StringUtil.trimEnd(relTestPath, ".test");
|
||||
PsiFile psiFile = TestUtils.createPseudoPhysicalFile(getProject(), testName + ".groovy", data.get(0));
|
||||
PsiFile psiFile = TestUtils.createPseudoPhysicalFile(project, testName + ".groovy", data.get(0));
|
||||
final StringBuilder builder = GroovyToJavaGenerator.generateStubs(psiFile);
|
||||
|
||||
assertEquals(data.get(1).trim(), builder.toString().trim());
|
||||
Reference in New Issue
Block a user