properr names for scripts

This commit is contained in:
Alex Tkachman
2012-07-29 23:58:45 +03:00
parent f8391619a5
commit 7c2d394412
9 changed files with 69 additions and 12 deletions
@@ -188,7 +188,8 @@ public abstract class CodegenTestCase extends UsefulTestCase {
try {
if (myFiles.isScript()) {
Class<?> scriptClass = loader.loadClass(ScriptCodegen.SCRIPT_DEFAULT_CLASS_NAME.getFqName().getFqName());
String scriptClassName = ScriptCodegen.classNameForScript(myFiles.getPsiFile());
Class<?> scriptClass = loader.loadClass(scriptClassName);
Constructor constructor = getConstructor(scriptClass, state.getScriptConstructorMethod());
scriptInstance = constructor.newInstance(myFiles.getScriptParameterValues().toArray());
@@ -96,7 +96,22 @@ public class ScriptGenTest extends CodegenTestCase {
public void testLanguage() {
JetParserDefinition.getInstance().addScriptDefinition(new JetScriptDefinition(".lang.kt", new AnalyzerScriptParameter("num","jet.Int")));
loadFile("script/fib.lang.kt");
final Class aClass = loadClass("Script", generateClassesInFile());
final Class aClass = loadClass("Fib", generateClassesInFile());
try {
Constructor constructor = aClass.getConstructor(int.class);
Field result = aClass.getField("result");
Object script = constructor.newInstance(5);
assertEquals(8,result.get(script));
}
catch (Exception e) {
throw new RuntimeException(e);
}
}
public void testLanguageWithPackage() {
JetParserDefinition.getInstance().addScriptDefinition(new JetScriptDefinition(".lang.kt", new AnalyzerScriptParameter("num","jet.Int")));
loadFile("script/fibWithPackage.lang.kt");
final Class aClass = loadClass("test.FibWithPackage", generateClassesInFile());
try {
Constructor constructor = aClass.getConstructor(int.class);
Field result = aClass.getField("result");