diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ClassBuilderFactories.java b/compiler/backend/src/org/jetbrains/jet/codegen/ClassBuilderFactories.java index 696910a69bb..0324b56a4eb 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ClassBuilderFactories.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ClassBuilderFactories.java @@ -82,35 +82,33 @@ public class ClassBuilderFactories { } }; + public static ClassBuilderFactory BINARIES = new ClassBuilderFactory() { + @NotNull + @Override + public ClassBuilderMode getClassBuilderMode() { + return ClassBuilderMode.FULL; + } + + @Override + public ClassBuilder newClassBuilder() { + return new ClassBuilder.Concrete(new BinaryClassWriter()); + } + + @Override + public String asText(ClassBuilder builder) { + throw new UnsupportedOperationException("BINARIES generator asked for text"); + } + + @Override + public byte[] asBytes(ClassBuilder builder) { + ClassWriter visitor = (ClassWriter) builder.getVisitor(); + return visitor.toByteArray(); + } + }; + private ClassBuilderFactories() { } - public static ClassBuilderFactory binaries(final boolean stubs) { - return new ClassBuilderFactory() { - @NotNull - @Override - public ClassBuilderMode getClassBuilderMode() { - return stubs ? ClassBuilderMode.STUBS : ClassBuilderMode.FULL; - } - - @Override - public ClassBuilder newClassBuilder() { - return new ClassBuilder.Concrete(new BinaryClassWriter()); - } - - @Override - public String asText(ClassBuilder builder) { - throw new UnsupportedOperationException("BINARIES generator asked for text"); - } - - @Override - public byte[] asBytes(ClassBuilder builder) { - ClassWriter visitor = (ClassWriter) builder.getVisitor(); - return visitor.toByteArray(); - } - }; - } - private static class BinaryClassWriter extends ClassWriter { public BinaryClassWriter() { super(ClassWriter.COMPUTE_FRAMES | ClassWriter.COMPUTE_MAXS); diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/JVMConfigurationKeys.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/JVMConfigurationKeys.java index d6ec21ff34c..11038f24234 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/JVMConfigurationKeys.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/JVMConfigurationKeys.java @@ -31,7 +31,6 @@ public class JVMConfigurationKeys { public static final CompilerConfigurationKey> ANNOTATIONS_PATH_KEY = CompilerConfigurationKey.create("annotations path"); public static final CompilerConfigurationKey> SCRIPT_PARAMETERS = CompilerConfigurationKey.create("script"); - public static final CompilerConfigurationKey STUBS = CompilerConfigurationKey.create("stubs"); public static final CompilerConfigurationKey BUILTIN_TO_JAVA_TYPES_MAPPING_KEY = CompilerConfigurationKey.create("builtin to java types mapping"); diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java index ae826068ed4..c16b8f53c4b 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java @@ -112,14 +112,10 @@ public class K2JVMCompiler extends CLICompiler { } } - boolean builtins = arguments.builtins; - configuration.put(JVMConfigurationKeys.SCRIPT_PARAMETERS, arguments.script ? CommandLineScriptUtils.scriptParameters() : Collections.emptyList()); - configuration.put(JVMConfigurationKeys.STUBS, builtins); - configuration.put(JVMConfigurationKeys.BUILTIN_TO_JAVA_TYPES_MAPPING_KEY, - builtins ? BuiltinToJavaTypesMapping.DISABLED : BuiltinToJavaTypesMapping.ENABLED); + configuration.put(JVMConfigurationKeys.BUILTIN_TO_JAVA_TYPES_MAPPING_KEY, BuiltinToJavaTypesMapping.ENABLED); configuration.put(JVMConfigurationKeys.GENERATE_NOT_NULL_ASSERTIONS, arguments.notNullAssertions); configuration.put(JVMConfigurationKeys.GENERATE_NOT_NULL_PARAMETER_ASSERTIONS, arguments.notNullParamAssertions); diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompilerArguments.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompilerArguments.java index 283c2c2072d..5e2fe699f50 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompilerArguments.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompilerArguments.java @@ -70,9 +70,6 @@ public class K2JVMCompilerArguments extends CommonCompilerArguments { @Argument(value = "notNullParamAssertions", description = "generate not-null assertions on parameters of methods accessible from Java") public boolean notNullParamAssertions; - @Argument(value = "builtins", description = "compile builtin classes (internal)") - public boolean builtins; - @Argument(value = "output", description = "output directory") public String outputDir; diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CompileEnvironmentUtil.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CompileEnvironmentUtil.java index da704f6a59f..e1a84312eb5 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CompileEnvironmentUtil.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CompileEnvironmentUtil.java @@ -122,7 +122,7 @@ public class CompileEnvironmentUtil { List modules; try { JetCoreEnvironment scriptEnvironment = new JetCoreEnvironment(disposable, configuration); - GenerationState generationState = KotlinToJVMBytecodeCompiler.analyzeAndGenerate(scriptEnvironment, false); + GenerationState generationState = KotlinToJVMBytecodeCompiler.analyzeAndGenerate(scriptEnvironment); if (generationState == null) { throw new CompileEnvironmentException("Module script " + moduleScriptFile + " analyze failed:\n" + loadModuleScriptText(moduleScriptFile)); diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.java index 0b3961e8be0..7836af90a5d 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.java @@ -16,7 +16,6 @@ package org.jetbrains.jet.cli.jvm.compiler; -import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.intellij.openapi.Disposable; import com.intellij.openapi.project.Project; @@ -270,26 +269,16 @@ public class KotlinToJVMBytecodeCompiler { @Nullable public static GenerationState analyzeAndGenerate(JetCoreEnvironment environment) { - return analyzeAndGenerate(environment, environment.getConfiguration().get(JVMConfigurationKeys.STUBS, false), + return analyzeAndGenerate(environment, environment.getConfiguration().getList(JVMConfigurationKeys.SCRIPT_PARAMETERS)); } @Nullable public static GenerationState analyzeAndGenerate( JetCoreEnvironment environment, - boolean stubs - ) { - return analyzeAndGenerate(environment, stubs, - environment.getConfiguration().getList(JVMConfigurationKeys.SCRIPT_PARAMETERS)); - } - - @Nullable - public static GenerationState analyzeAndGenerate( - JetCoreEnvironment environment, - boolean stubs, List scriptParameters ) { - AnalyzeExhaust exhaust = analyze(environment, scriptParameters, stubs); + AnalyzeExhaust exhaust = analyze(environment, scriptParameters); if (exhaust == null) { return null; @@ -297,18 +286,16 @@ public class KotlinToJVMBytecodeCompiler { exhaust.throwIfError(); - return generate(environment, exhaust, stubs); + return generate(environment, exhaust); } @Nullable private static AnalyzeExhaust analyze( final JetCoreEnvironment environment, - final List scriptParameters, - boolean stubs) { + final List scriptParameters + ) { AnalyzerWithCompilerReport analyzerWithCompilerReport = new AnalyzerWithCompilerReport( environment.getConfiguration().get(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY)); - final Predicate filesToAnalyzeCompletely = - stubs ? Predicates.alwaysFalse() : Predicates.alwaysTrue(); analyzerWithCompilerReport.analyzeAndReport( new Function0() { @NotNull @@ -320,7 +307,7 @@ public class KotlinToJVMBytecodeCompiler { environment.getSourceFiles(), sharedTrace, scriptParameters, - filesToAnalyzeCompletely, + Predicates.alwaysTrue(), false ); } @@ -333,8 +320,8 @@ public class KotlinToJVMBytecodeCompiler { @NotNull private static GenerationState generate( JetCoreEnvironment environment, - AnalyzeExhaust exhaust, - boolean stubs) { + AnalyzeExhaust exhaust + ) { Project project = environment.getProject(); final CompilerConfiguration configuration = environment.getConfiguration(); Progress backendProgress = new Progress() { @@ -352,7 +339,7 @@ public class KotlinToJVMBytecodeCompiler { } }; GenerationState generationState = new GenerationState( - project, ClassBuilderFactories.binaries(stubs), backendProgress, exhaust.getBindingContext(), environment.getSourceFiles(), + project, ClassBuilderFactories.BINARIES, backendProgress, exhaust.getBindingContext(), environment.getSourceFiles(), configuration.get(JVMConfigurationKeys.BUILTIN_TO_JAVA_TYPES_MAPPING_KEY, BuiltinToJavaTypesMapping.ENABLED), configuration.get(JVMConfigurationKeys.GENERATE_NOT_NULL_ASSERTIONS, false), configuration.get(JVMConfigurationKeys.GENERATE_NOT_NULL_PARAMETER_ASSERTIONS, false), diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/repl/ReplInterpreter.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/repl/ReplInterpreter.java index 32ca193265f..cecdc0c7b3e 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/repl/ReplInterpreter.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/repl/ReplInterpreter.java @@ -230,7 +230,7 @@ public class ReplInterpreter { } BindingContext bindingContext = AnalyzeExhaust.success(trace.getBindingContext(), module).getBindingContext(); - GenerationState generationState = new GenerationState(psiFile.getProject(), ClassBuilderFactories.binaries(false), + GenerationState generationState = new GenerationState(psiFile.getProject(), ClassBuilderFactories.BINARIES, bindingContext, Collections.singletonList(psiFile)); generationState.getScriptCodegen().compileScript(psiFile.getScript(), scriptClassType, earlierScripts, CompilationErrorHandler.THROW_EXCEPTION); diff --git a/compiler/testData/cli/help.out b/compiler/testData/cli/help.out index bc56fd35937..2c4b0a04099 100644 --- a/compiler/testData/cli/help.out +++ b/compiler/testData/cli/help.out @@ -9,7 +9,6 @@ Usage: org.jetbrains.jet.cli.jvm.K2JVMCompilerArguments -noJdkAnnotations [flag] don't include JDK external annotations into classpath -notNullAssertions [flag] generate not-null assertion after each invokation of method returning not-null -notNullParamAssertions [flag] generate not-null assertions on parameters of methods accessible from Java - -builtins [flag] compile builtin classes (internal) -output [String] output directory -module [String] module to compile -script [flag] evaluate script diff --git a/compiler/testData/cli/wrongArgument.out b/compiler/testData/cli/wrongArgument.out index fd4d56f3350..89099b86cd9 100644 --- a/compiler/testData/cli/wrongArgument.out +++ b/compiler/testData/cli/wrongArgument.out @@ -10,7 +10,6 @@ Usage: org.jetbrains.jet.cli.jvm.K2JVMCompilerArguments -noJdkAnnotations [flag] don't include JDK external annotations into classpath -notNullAssertions [flag] generate not-null assertion after each invokation of method returning not-null -notNullParamAssertions [flag] generate not-null assertions on parameters of methods accessible from Java - -builtins [flag] compile builtin classes (internal) -output [String] output directory -module [String] module to compile -script [flag] evaluate script diff --git a/compiler/tests/org/jetbrains/jet/codegen/TestlibTest.java b/compiler/tests/org/jetbrains/jet/codegen/TestlibTest.java index 8653aeb0514..1eda52d96b4 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/TestlibTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/TestlibTest.java @@ -100,7 +100,7 @@ public class TestlibTest extends UsefulTestCase { myEnvironment = new JetCoreEnvironment(getTestRootDisposable(), configuration); - generationState = KotlinToJVMBytecodeCompiler.analyzeAndGenerate(myEnvironment, false); + generationState = KotlinToJVMBytecodeCompiler.analyzeAndGenerate(myEnvironment); if (generationState == null) { throw new RuntimeException("There were compilation errors"); }