Introduced BuiltinsScopeExtensionMode enum. Using it instead of CompilerSpecialMode to create JavaBridgeConfiguration.
This commit is contained in:
@@ -31,6 +31,7 @@ import org.jetbrains.jet.cli.jvm.compiler.KotlinToJVMBytecodeCompiler;
|
||||
import org.jetbrains.jet.cli.jvm.repl.ReplFromTerminal;
|
||||
import org.jetbrains.jet.codegen.CompilationException;
|
||||
import org.jetbrains.jet.config.CompilerConfiguration;
|
||||
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
||||
import org.jetbrains.jet.utils.PathUtil;
|
||||
|
||||
@@ -69,8 +70,10 @@ public class K2JVMCompiler extends CLICompiler<K2JVMCompilerArguments, K2JVMComp
|
||||
}
|
||||
|
||||
JetCoreEnvironment environment = JetCoreEnvironment.createCoreEnvironmentForJVM(rootDisposable, compilerConfiguration, mode);
|
||||
K2JVMCompileEnvironmentConfiguration configuration = new K2JVMCompileEnvironmentConfiguration(environment, messageCollector,
|
||||
arguments.script);
|
||||
K2JVMCompileEnvironmentConfiguration configuration = new K2JVMCompileEnvironmentConfiguration(
|
||||
environment, messageCollector, arguments.script, mode == CompilerSpecialMode.BUILTINS
|
||||
? BuiltinsScopeExtensionMode.ONLY_STANDARD_CLASSES
|
||||
: BuiltinsScopeExtensionMode.ALL);
|
||||
|
||||
messageCollector.report(CompilerMessageSeverity.LOGGING, "Configuring the compilation environment",
|
||||
CompilerMessageLocation.NO_LOCATION);
|
||||
|
||||
@@ -32,6 +32,7 @@ import org.jetbrains.jet.codegen.ClassFileFactory;
|
||||
import org.jetbrains.jet.codegen.GeneratedClassLoader;
|
||||
import org.jetbrains.jet.codegen.GenerationState;
|
||||
import org.jetbrains.jet.config.CompilerConfiguration;
|
||||
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
||||
import org.jetbrains.jet.lang.resolve.java.JvmAbi;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
@@ -141,11 +142,13 @@ public class CompileEnvironmentUtil {
|
||||
}
|
||||
};
|
||||
CompilerConfiguration configuration = CompilerConfigurationUtl.getDefaultConfiguration(CompilerSpecialMode.REGULAR);
|
||||
JetCoreEnvironment scriptEnvironment = JetCoreEnvironment.createCoreEnvironmentForJVM(disposable, configuration, CompilerSpecialMode.REGULAR);
|
||||
JetCoreEnvironment scriptEnvironment = JetCoreEnvironment.createCoreEnvironmentForJVM(disposable, configuration,
|
||||
CompilerSpecialMode.REGULAR);
|
||||
scriptEnvironment.addSources(moduleScriptFile);
|
||||
|
||||
GenerationState generationState = KotlinToJVMBytecodeCompiler
|
||||
.analyzeAndGenerate(new K2JVMCompileEnvironmentConfiguration(scriptEnvironment, messageCollector, false), false);
|
||||
.analyzeAndGenerate(new K2JVMCompileEnvironmentConfiguration(scriptEnvironment, messageCollector, false,
|
||||
BuiltinsScopeExtensionMode.ALL), false);
|
||||
if (generationState == null) {
|
||||
throw new CompileEnvironmentException("Module script " + moduleScriptFile + " analyze failed");
|
||||
}
|
||||
|
||||
+9
-3
@@ -20,8 +20,7 @@ import com.intellij.openapi.util.Disposer;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.cli.common.CompileEnvironmentConfiguration;
|
||||
import org.jetbrains.jet.cli.common.messages.MessageCollector;
|
||||
|
||||
import java.util.List;
|
||||
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||
|
||||
/**
|
||||
* @author abreslav
|
||||
@@ -29,6 +28,7 @@ import java.util.List;
|
||||
public class K2JVMCompileEnvironmentConfiguration extends CompileEnvironmentConfiguration {
|
||||
private final JetCoreEnvironment environment;
|
||||
private final boolean script;
|
||||
private final BuiltinsScopeExtensionMode builtinsScopeExtensionMode;
|
||||
|
||||
/**
|
||||
* NOTE: It's very important to call dispose for every object of this class or there will be memory leaks.
|
||||
@@ -36,10 +36,11 @@ public class K2JVMCompileEnvironmentConfiguration extends CompileEnvironmentConf
|
||||
* @see Disposer
|
||||
*/
|
||||
public K2JVMCompileEnvironmentConfiguration(@NotNull JetCoreEnvironment environment,
|
||||
@NotNull MessageCollector messageCollector, boolean script) {
|
||||
@NotNull MessageCollector messageCollector, boolean script, BuiltinsScopeExtensionMode builtinsScopeExtensionMode) {
|
||||
super(messageCollector);
|
||||
this.environment = environment;
|
||||
this.script = script;
|
||||
this.builtinsScopeExtensionMode = builtinsScopeExtensionMode;
|
||||
}
|
||||
|
||||
public JetCoreEnvironment getEnvironment() {
|
||||
@@ -49,4 +50,9 @@ public class K2JVMCompileEnvironmentConfiguration extends CompileEnvironmentConf
|
||||
public boolean isScript() {
|
||||
return script;
|
||||
}
|
||||
|
||||
|
||||
public BuiltinsScopeExtensionMode getBuiltinsScopeExtensionMode() {
|
||||
return builtinsScopeExtensionMode;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -297,7 +297,7 @@ public class KotlinToJVMBytecodeCompiler {
|
||||
environment.getSourceFiles(),
|
||||
scriptParameters,
|
||||
filesToAnalyzeCompletely,
|
||||
configuration.getEnvironment().getCompilerSpecialMode());
|
||||
configuration.getBuiltinsScopeExtensionMode());
|
||||
}
|
||||
}, environment.getSourceFiles()
|
||||
);
|
||||
|
||||
@@ -40,6 +40,7 @@ import org.jetbrains.jet.codegen.CompilationErrorHandler;
|
||||
import org.jetbrains.jet.codegen.GenerationState;
|
||||
import org.jetbrains.jet.config.CompilerConfiguration;
|
||||
import org.jetbrains.jet.di.InjectorForTopDownAnalyzerForJvm;
|
||||
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptorImpl;
|
||||
import org.jetbrains.jet.lang.descriptors.NamespaceLikeBuilderDummy;
|
||||
@@ -100,7 +101,7 @@ public class ReplInterpreter {
|
||||
false,
|
||||
true,
|
||||
Collections.<AnalyzerScriptParameter>emptyList());
|
||||
injector = new InjectorForTopDownAnalyzerForJvm(project, topDownAnalysisParameters, trace, module, mode);
|
||||
injector = new InjectorForTopDownAnalyzerForJvm(project, topDownAnalysisParameters, trace, module, BuiltinsScopeExtensionMode.ALL);
|
||||
|
||||
List<URL> classpath = Lists.newArrayList();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user