Compiler inline on/off flag
This commit is contained in:
@@ -33,7 +33,7 @@ import org.jetbrains.jet.cli.AbstractKotlincExecutableTest;
|
||||
@InnerTestClasses({KotlincExecutableTestGenerated.Jvm.class, KotlincExecutableTestGenerated.Js.class})
|
||||
public class KotlincExecutableTestGenerated extends AbstractKotlincExecutableTest {
|
||||
@TestMetadata("compiler/testData/cli/jvm")
|
||||
@InnerTestClasses({Jvm.WrongAbiVersionLib.class})
|
||||
@InnerTestClasses({Jvm.Inline.class, Jvm.WrongAbiVersionLib.class})
|
||||
public static class Jvm extends AbstractKotlincExecutableTest {
|
||||
public void testAllFilesPresentInJvm() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/cli/jvm"), Pattern.compile("^(.+)\\.args$"), true);
|
||||
@@ -104,6 +104,29 @@ public class KotlincExecutableTestGenerated extends AbstractKotlincExecutableTes
|
||||
doJvmTest("compiler/testData/cli/jvm/wrongKotlinSignature.args");
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/cli/jvm/inline")
|
||||
public static class Inline extends AbstractKotlincExecutableTest {
|
||||
public void testAllFilesPresentInInline() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/cli/jvm/inline"), Pattern.compile("^(.+)\\.args$"), true);
|
||||
}
|
||||
|
||||
@TestMetadata("off.args")
|
||||
public void testOff() throws Exception {
|
||||
doJvmTest("compiler/testData/cli/jvm/inline/off.args");
|
||||
}
|
||||
|
||||
@TestMetadata("on.args")
|
||||
public void testOn() throws Exception {
|
||||
doJvmTest("compiler/testData/cli/jvm/inline/on.args");
|
||||
}
|
||||
|
||||
@TestMetadata("wrong.args")
|
||||
public void testWrong() throws Exception {
|
||||
doJvmTest("compiler/testData/cli/jvm/inline/wrong.args");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/cli/jvm/wrongAbiVersionLib")
|
||||
@InnerTestClasses({})
|
||||
public static class WrongAbiVersionLib extends AbstractKotlincExecutableTest {
|
||||
@@ -121,6 +144,7 @@ public class KotlincExecutableTestGenerated extends AbstractKotlincExecutableTes
|
||||
public static Test innerSuite() {
|
||||
TestSuite suite = new TestSuite("Jvm");
|
||||
suite.addTestSuite(Jvm.class);
|
||||
suite.addTestSuite(Inline.class);
|
||||
suite.addTest(WrongAbiVersionLib.innerSuite());
|
||||
return suite;
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ import org.jetbrains.jet.codegen.state.Progress;
|
||||
import org.jetbrains.jet.config.CompilerConfiguration;
|
||||
import org.jetbrains.jet.lang.resolve.AnalyzingUtils;
|
||||
import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM;
|
||||
import org.jetbrains.jet.lang.types.lang.InlineUtil;
|
||||
import org.jetbrains.jet.utils.ExceptionUtils;
|
||||
|
||||
import java.io.File;
|
||||
@@ -60,7 +61,8 @@ public class CodegenTestUtil {
|
||||
environment.getProject(), ClassBuilderFactories.TEST, Progress.DEAF, analyzeExhaust.getBindingContext(), files.getPsiFiles(),
|
||||
configuration.get(JVMConfigurationKeys.GENERATE_NOT_NULL_ASSERTIONS, true),
|
||||
configuration.get(JVMConfigurationKeys.GENERATE_NOT_NULL_PARAMETER_ASSERTIONS, true),
|
||||
/*generateDeclaredClasses = */true
|
||||
/*generateDeclaredClasses = */true,
|
||||
configuration.get(JVMConfigurationKeys.ENABLE_INLINE, InlineUtil.DEFAULT_INLINE_FLAG_FOR_TEST)
|
||||
);
|
||||
KotlinCodegenFacade.compileCorrectFiles(state, CompilationErrorHandler.THROW_EXCEPTION);
|
||||
return state.getFactory();
|
||||
|
||||
@@ -25,6 +25,7 @@ import org.jetbrains.jet.codegen.state.GenerationState;
|
||||
import org.jetbrains.jet.lang.psi.JetFile;
|
||||
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
|
||||
import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM;
|
||||
import org.jetbrains.jet.lang.types.lang.InlineUtil;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -57,7 +58,8 @@ public class GenerationUtils {
|
||||
@NotNull
|
||||
public static GenerationState compileFilesGetGenerationState(@NotNull Project project, @NotNull AnalyzeExhaust analyzeExhaust, @NotNull List<JetFile> files) {
|
||||
analyzeExhaust.throwIfError();
|
||||
GenerationState state = new GenerationState(project, ClassBuilderFactories.TEST, analyzeExhaust.getBindingContext(), files);
|
||||
GenerationState state = new GenerationState(project, ClassBuilderFactories.TEST, analyzeExhaust.getBindingContext(), files,
|
||||
InlineUtil.DEFAULT_INLINE_FLAG_FOR_TEST);
|
||||
KotlinCodegenFacade.compileCorrectFiles(state, CompilationErrorHandler.THROW_EXCEPTION);
|
||||
return state;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user