Introduced BuiltinsScopeExtensionMode enum. Using it instead of CompilerSpecialMode to create JavaBridgeConfiguration.
This commit is contained in:
@@ -24,6 +24,7 @@ import org.jetbrains.jet.cli.jvm.JVMConfigurationKeys;
|
|||||||
import org.jetbrains.jet.cli.jvm.compiler.*;
|
import org.jetbrains.jet.cli.jvm.compiler.*;
|
||||||
import org.jetbrains.jet.cli.common.messages.MessageCollector;
|
import org.jetbrains.jet.cli.common.messages.MessageCollector;
|
||||||
import org.jetbrains.jet.config.CompilerConfiguration;
|
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.CompilerSpecialMode;
|
||||||
import org.jetbrains.jet.utils.PathUtil;
|
import org.jetbrains.jet.utils.PathUtil;
|
||||||
|
|
||||||
@@ -72,7 +73,8 @@ public class BytecodeCompiler {
|
|||||||
JetCoreEnvironment environment = new JetCoreEnvironment(CompileEnvironmentUtil.createMockDisposable(), configuration,
|
JetCoreEnvironment environment = new JetCoreEnvironment(CompileEnvironmentUtil.createMockDisposable(), configuration,
|
||||||
CompilerSpecialMode.REGULAR);
|
CompilerSpecialMode.REGULAR);
|
||||||
K2JVMCompileEnvironmentConfiguration
|
K2JVMCompileEnvironmentConfiguration
|
||||||
env = new K2JVMCompileEnvironmentConfiguration(environment, MessageCollector.PLAIN_TEXT_TO_SYSTEM_ERR, false);
|
env = new K2JVMCompileEnvironmentConfiguration(environment, MessageCollector.PLAIN_TEXT_TO_SYSTEM_ERR, false,
|
||||||
|
BuiltinsScopeExtensionMode.ALL);
|
||||||
|
|
||||||
// lets register any compiler plugins
|
// lets register any compiler plugins
|
||||||
env.getCompilerPlugins().addAll(getCompilerPlugins());
|
env.getCompilerPlugins().addAll(getCompilerPlugins());
|
||||||
|
|||||||
+1
-1
@@ -159,7 +159,7 @@ public class CodegenTestsOnAndroidGenerator extends UsefulTestCase {
|
|||||||
JetFile psiFile = JetPsiFactory.createFile(jetEnvironment.getProject(), text);
|
JetFile psiFile = JetPsiFactory.createFile(jetEnvironment.getProject(), text);
|
||||||
ClassFileFactory factory;
|
ClassFileFactory factory;
|
||||||
try {
|
try {
|
||||||
factory = GenerationUtils.compileFileGetClassFileFactoryForTest(psiFile, jetEnvironment.getCompilerSpecialMode());
|
factory = GenerationUtils.compileFileGetClassFileFactoryForTest(psiFile);
|
||||||
}
|
}
|
||||||
catch (Throwable e) {
|
catch (Throwable e) {
|
||||||
throw new RuntimeException("Cannot compile: " + filePath + "\n" + text, e);
|
throw new RuntimeException("Cannot compile: " + filePath + "\n" + text, e);
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ import org.jetbrains.jet.cli.jvm.compiler.KotlinToJVMBytecodeCompiler;
|
|||||||
import org.jetbrains.jet.cli.jvm.repl.ReplFromTerminal;
|
import org.jetbrains.jet.cli.jvm.repl.ReplFromTerminal;
|
||||||
import org.jetbrains.jet.codegen.CompilationException;
|
import org.jetbrains.jet.codegen.CompilationException;
|
||||||
import org.jetbrains.jet.config.CompilerConfiguration;
|
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.CompilerSpecialMode;
|
||||||
import org.jetbrains.jet.utils.PathUtil;
|
import org.jetbrains.jet.utils.PathUtil;
|
||||||
|
|
||||||
@@ -69,8 +70,10 @@ public class K2JVMCompiler extends CLICompiler<K2JVMCompilerArguments, K2JVMComp
|
|||||||
}
|
}
|
||||||
|
|
||||||
JetCoreEnvironment environment = JetCoreEnvironment.createCoreEnvironmentForJVM(rootDisposable, compilerConfiguration, mode);
|
JetCoreEnvironment environment = JetCoreEnvironment.createCoreEnvironmentForJVM(rootDisposable, compilerConfiguration, mode);
|
||||||
K2JVMCompileEnvironmentConfiguration configuration = new K2JVMCompileEnvironmentConfiguration(environment, messageCollector,
|
K2JVMCompileEnvironmentConfiguration configuration = new K2JVMCompileEnvironmentConfiguration(
|
||||||
arguments.script);
|
environment, messageCollector, arguments.script, mode == CompilerSpecialMode.BUILTINS
|
||||||
|
? BuiltinsScopeExtensionMode.ONLY_STANDARD_CLASSES
|
||||||
|
: BuiltinsScopeExtensionMode.ALL);
|
||||||
|
|
||||||
messageCollector.report(CompilerMessageSeverity.LOGGING, "Configuring the compilation environment",
|
messageCollector.report(CompilerMessageSeverity.LOGGING, "Configuring the compilation environment",
|
||||||
CompilerMessageLocation.NO_LOCATION);
|
CompilerMessageLocation.NO_LOCATION);
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ import org.jetbrains.jet.codegen.ClassFileFactory;
|
|||||||
import org.jetbrains.jet.codegen.GeneratedClassLoader;
|
import org.jetbrains.jet.codegen.GeneratedClassLoader;
|
||||||
import org.jetbrains.jet.codegen.GenerationState;
|
import org.jetbrains.jet.codegen.GenerationState;
|
||||||
import org.jetbrains.jet.config.CompilerConfiguration;
|
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.CompilerSpecialMode;
|
||||||
import org.jetbrains.jet.lang.resolve.java.JvmAbi;
|
import org.jetbrains.jet.lang.resolve.java.JvmAbi;
|
||||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||||
@@ -141,11 +142,13 @@ public class CompileEnvironmentUtil {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
CompilerConfiguration configuration = CompilerConfigurationUtl.getDefaultConfiguration(CompilerSpecialMode.REGULAR);
|
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);
|
scriptEnvironment.addSources(moduleScriptFile);
|
||||||
|
|
||||||
GenerationState generationState = KotlinToJVMBytecodeCompiler
|
GenerationState generationState = KotlinToJVMBytecodeCompiler
|
||||||
.analyzeAndGenerate(new K2JVMCompileEnvironmentConfiguration(scriptEnvironment, messageCollector, false), false);
|
.analyzeAndGenerate(new K2JVMCompileEnvironmentConfiguration(scriptEnvironment, messageCollector, false,
|
||||||
|
BuiltinsScopeExtensionMode.ALL), false);
|
||||||
if (generationState == null) {
|
if (generationState == null) {
|
||||||
throw new CompileEnvironmentException("Module script " + moduleScriptFile + " analyze failed");
|
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.annotations.NotNull;
|
||||||
import org.jetbrains.jet.cli.common.CompileEnvironmentConfiguration;
|
import org.jetbrains.jet.cli.common.CompileEnvironmentConfiguration;
|
||||||
import org.jetbrains.jet.cli.common.messages.MessageCollector;
|
import org.jetbrains.jet.cli.common.messages.MessageCollector;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author abreslav
|
* @author abreslav
|
||||||
@@ -29,6 +28,7 @@ import java.util.List;
|
|||||||
public class K2JVMCompileEnvironmentConfiguration extends CompileEnvironmentConfiguration {
|
public class K2JVMCompileEnvironmentConfiguration extends CompileEnvironmentConfiguration {
|
||||||
private final JetCoreEnvironment environment;
|
private final JetCoreEnvironment environment;
|
||||||
private final boolean script;
|
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.
|
* 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
|
* @see Disposer
|
||||||
*/
|
*/
|
||||||
public K2JVMCompileEnvironmentConfiguration(@NotNull JetCoreEnvironment environment,
|
public K2JVMCompileEnvironmentConfiguration(@NotNull JetCoreEnvironment environment,
|
||||||
@NotNull MessageCollector messageCollector, boolean script) {
|
@NotNull MessageCollector messageCollector, boolean script, BuiltinsScopeExtensionMode builtinsScopeExtensionMode) {
|
||||||
super(messageCollector);
|
super(messageCollector);
|
||||||
this.environment = environment;
|
this.environment = environment;
|
||||||
this.script = script;
|
this.script = script;
|
||||||
|
this.builtinsScopeExtensionMode = builtinsScopeExtensionMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
public JetCoreEnvironment getEnvironment() {
|
public JetCoreEnvironment getEnvironment() {
|
||||||
@@ -49,4 +50,9 @@ public class K2JVMCompileEnvironmentConfiguration extends CompileEnvironmentConf
|
|||||||
public boolean isScript() {
|
public boolean isScript() {
|
||||||
return script;
|
return script;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public BuiltinsScopeExtensionMode getBuiltinsScopeExtensionMode() {
|
||||||
|
return builtinsScopeExtensionMode;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -297,7 +297,7 @@ public class KotlinToJVMBytecodeCompiler {
|
|||||||
environment.getSourceFiles(),
|
environment.getSourceFiles(),
|
||||||
scriptParameters,
|
scriptParameters,
|
||||||
filesToAnalyzeCompletely,
|
filesToAnalyzeCompletely,
|
||||||
configuration.getEnvironment().getCompilerSpecialMode());
|
configuration.getBuiltinsScopeExtensionMode());
|
||||||
}
|
}
|
||||||
}, environment.getSourceFiles()
|
}, environment.getSourceFiles()
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ import org.jetbrains.jet.codegen.CompilationErrorHandler;
|
|||||||
import org.jetbrains.jet.codegen.GenerationState;
|
import org.jetbrains.jet.codegen.GenerationState;
|
||||||
import org.jetbrains.jet.config.CompilerConfiguration;
|
import org.jetbrains.jet.config.CompilerConfiguration;
|
||||||
import org.jetbrains.jet.di.InjectorForTopDownAnalyzerForJvm;
|
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.ModuleDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptorImpl;
|
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptorImpl;
|
||||||
import org.jetbrains.jet.lang.descriptors.NamespaceLikeBuilderDummy;
|
import org.jetbrains.jet.lang.descriptors.NamespaceLikeBuilderDummy;
|
||||||
@@ -100,7 +101,7 @@ public class ReplInterpreter {
|
|||||||
false,
|
false,
|
||||||
true,
|
true,
|
||||||
Collections.<AnalyzerScriptParameter>emptyList());
|
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();
|
List<URL> classpath = Lists.newArrayList();
|
||||||
|
|
||||||
|
|||||||
+6
-6
@@ -23,12 +23,12 @@ import org.jetbrains.jet.lang.resolve.BindingTrace;
|
|||||||
import org.jetbrains.jet.lang.resolve.java.JavaBridgeConfiguration;
|
import org.jetbrains.jet.lang.resolve.java.JavaBridgeConfiguration;
|
||||||
import org.jetbrains.jet.lang.resolve.java.PsiClassFinderImpl;
|
import org.jetbrains.jet.lang.resolve.java.PsiClassFinderImpl;
|
||||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
import org.jetbrains.jet.lang.resolve.java.JavaTypeTransformer;
|
import org.jetbrains.jet.lang.resolve.java.JavaTypeTransformer;
|
||||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorSignatureResolver;
|
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorSignatureResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.NamespaceFactoryImpl;
|
import org.jetbrains.jet.lang.resolve.NamespaceFactoryImpl;
|
||||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import javax.annotation.PreDestroy;
|
import javax.annotation.PreDestroy;
|
||||||
@@ -42,14 +42,14 @@ public class InjectorForJavaSemanticServices {
|
|||||||
private JavaBridgeConfiguration javaBridgeConfiguration;
|
private JavaBridgeConfiguration javaBridgeConfiguration;
|
||||||
private PsiClassFinderImpl psiClassFinder;
|
private PsiClassFinderImpl psiClassFinder;
|
||||||
private ModuleDescriptor moduleDescriptor;
|
private ModuleDescriptor moduleDescriptor;
|
||||||
private final CompilerSpecialMode compilerSpecialMode;
|
private final BuiltinsScopeExtensionMode builtinsScopeExtensionMode;
|
||||||
private final Project project;
|
private final Project project;
|
||||||
private JavaTypeTransformer javaTypeTransformer;
|
private JavaTypeTransformer javaTypeTransformer;
|
||||||
private JavaDescriptorSignatureResolver javaDescriptorSignatureResolver;
|
private JavaDescriptorSignatureResolver javaDescriptorSignatureResolver;
|
||||||
private NamespaceFactoryImpl namespaceFactory;
|
private NamespaceFactoryImpl namespaceFactory;
|
||||||
|
|
||||||
public InjectorForJavaSemanticServices(
|
public InjectorForJavaSemanticServices(
|
||||||
@NotNull CompilerSpecialMode compilerSpecialMode,
|
@NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode,
|
||||||
@NotNull Project project
|
@NotNull Project project
|
||||||
) {
|
) {
|
||||||
this.javaSemanticServices = new JavaSemanticServices();
|
this.javaSemanticServices = new JavaSemanticServices();
|
||||||
@@ -58,7 +58,7 @@ public class InjectorForJavaSemanticServices {
|
|||||||
this.javaBridgeConfiguration = new JavaBridgeConfiguration();
|
this.javaBridgeConfiguration = new JavaBridgeConfiguration();
|
||||||
this.psiClassFinder = new PsiClassFinderImpl();
|
this.psiClassFinder = new PsiClassFinderImpl();
|
||||||
this.moduleDescriptor = new org.jetbrains.jet.lang.descriptors.ModuleDescriptor(org.jetbrains.jet.lang.resolve.name.Name.special("<dummy>"));
|
this.moduleDescriptor = new org.jetbrains.jet.lang.descriptors.ModuleDescriptor(org.jetbrains.jet.lang.resolve.name.Name.special("<dummy>"));
|
||||||
this.compilerSpecialMode = compilerSpecialMode;
|
this.builtinsScopeExtensionMode = builtinsScopeExtensionMode;
|
||||||
this.project = project;
|
this.project = project;
|
||||||
this.javaTypeTransformer = new JavaTypeTransformer();
|
this.javaTypeTransformer = new JavaTypeTransformer();
|
||||||
this.javaDescriptorSignatureResolver = new JavaDescriptorSignatureResolver();
|
this.javaDescriptorSignatureResolver = new JavaDescriptorSignatureResolver();
|
||||||
@@ -76,8 +76,8 @@ public class InjectorForJavaSemanticServices {
|
|||||||
this.javaDescriptorResolver.setSemanticServices(javaSemanticServices);
|
this.javaDescriptorResolver.setSemanticServices(javaSemanticServices);
|
||||||
this.javaDescriptorResolver.setTrace(bindingTrace);
|
this.javaDescriptorResolver.setTrace(bindingTrace);
|
||||||
|
|
||||||
|
javaBridgeConfiguration.setBuiltinsScopeExtensionMode(builtinsScopeExtensionMode);
|
||||||
javaBridgeConfiguration.setJavaSemanticServices(javaSemanticServices);
|
javaBridgeConfiguration.setJavaSemanticServices(javaSemanticServices);
|
||||||
javaBridgeConfiguration.setMode(compilerSpecialMode);
|
|
||||||
javaBridgeConfiguration.setProject(project);
|
javaBridgeConfiguration.setProject(project);
|
||||||
|
|
||||||
this.psiClassFinder.setProject(project);
|
this.psiClassFinder.setProject(project);
|
||||||
|
|||||||
+6
-6
@@ -27,7 +27,7 @@ import com.intellij.openapi.project.Project;
|
|||||||
import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
|
import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
|
||||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.lang.resolve.java.JavaBridgeConfiguration;
|
import org.jetbrains.jet.lang.resolve.java.JavaBridgeConfiguration;
|
||||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.java.PsiClassFinderImpl;
|
import org.jetbrains.jet.lang.resolve.java.PsiClassFinderImpl;
|
||||||
@@ -53,7 +53,7 @@ import com.intellij.openapi.project.Project;
|
|||||||
import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
|
import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
|
||||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import javax.annotation.PreDestroy;
|
import javax.annotation.PreDestroy;
|
||||||
|
|
||||||
@@ -70,7 +70,7 @@ public class InjectorForTopDownAnalyzerForJvm {
|
|||||||
private final TopDownAnalysisParameters topDownAnalysisParameters;
|
private final TopDownAnalysisParameters topDownAnalysisParameters;
|
||||||
private final BindingTrace bindingTrace;
|
private final BindingTrace bindingTrace;
|
||||||
private final ModuleDescriptor moduleDescriptor;
|
private final ModuleDescriptor moduleDescriptor;
|
||||||
private final CompilerSpecialMode compilerSpecialMode;
|
private final BuiltinsScopeExtensionMode builtinsScopeExtensionMode;
|
||||||
private JavaBridgeConfiguration javaBridgeConfiguration;
|
private JavaBridgeConfiguration javaBridgeConfiguration;
|
||||||
private JavaDescriptorResolver javaDescriptorResolver;
|
private JavaDescriptorResolver javaDescriptorResolver;
|
||||||
private PsiClassFinderImpl psiClassFinder;
|
private PsiClassFinderImpl psiClassFinder;
|
||||||
@@ -98,7 +98,7 @@ public class InjectorForTopDownAnalyzerForJvm {
|
|||||||
@NotNull TopDownAnalysisParameters topDownAnalysisParameters,
|
@NotNull TopDownAnalysisParameters topDownAnalysisParameters,
|
||||||
@NotNull BindingTrace bindingTrace,
|
@NotNull BindingTrace bindingTrace,
|
||||||
@NotNull ModuleDescriptor moduleDescriptor,
|
@NotNull ModuleDescriptor moduleDescriptor,
|
||||||
@NotNull CompilerSpecialMode compilerSpecialMode
|
@NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode
|
||||||
) {
|
) {
|
||||||
this.topDownAnalyzer = new TopDownAnalyzer();
|
this.topDownAnalyzer = new TopDownAnalyzer();
|
||||||
this.topDownAnalysisContext = new TopDownAnalysisContext();
|
this.topDownAnalysisContext = new TopDownAnalysisContext();
|
||||||
@@ -110,7 +110,7 @@ public class InjectorForTopDownAnalyzerForJvm {
|
|||||||
this.topDownAnalysisParameters = topDownAnalysisParameters;
|
this.topDownAnalysisParameters = topDownAnalysisParameters;
|
||||||
this.bindingTrace = bindingTrace;
|
this.bindingTrace = bindingTrace;
|
||||||
this.moduleDescriptor = moduleDescriptor;
|
this.moduleDescriptor = moduleDescriptor;
|
||||||
this.compilerSpecialMode = compilerSpecialMode;
|
this.builtinsScopeExtensionMode = builtinsScopeExtensionMode;
|
||||||
this.javaBridgeConfiguration = new JavaBridgeConfiguration();
|
this.javaBridgeConfiguration = new JavaBridgeConfiguration();
|
||||||
this.javaDescriptorResolver = new JavaDescriptorResolver();
|
this.javaDescriptorResolver = new JavaDescriptorResolver();
|
||||||
this.psiClassFinder = new PsiClassFinderImpl();
|
this.psiClassFinder = new PsiClassFinderImpl();
|
||||||
@@ -165,8 +165,8 @@ public class InjectorForTopDownAnalyzerForJvm {
|
|||||||
this.descriptorResolver.setExpressionTypingServices(expressionTypingServices);
|
this.descriptorResolver.setExpressionTypingServices(expressionTypingServices);
|
||||||
this.descriptorResolver.setTypeResolver(typeResolver);
|
this.descriptorResolver.setTypeResolver(typeResolver);
|
||||||
|
|
||||||
|
this.javaBridgeConfiguration.setBuiltinsScopeExtensionMode(builtinsScopeExtensionMode);
|
||||||
this.javaBridgeConfiguration.setJavaSemanticServices(javaSemanticServices);
|
this.javaBridgeConfiguration.setJavaSemanticServices(javaSemanticServices);
|
||||||
this.javaBridgeConfiguration.setMode(compilerSpecialMode);
|
|
||||||
this.javaBridgeConfiguration.setProject(project);
|
this.javaBridgeConfiguration.setProject(project);
|
||||||
|
|
||||||
javaDescriptorResolver.setJavaDescriptorSignatureResolver(javaDescriptorSignatureResolver);
|
javaDescriptorResolver.setJavaDescriptorSignatureResolver(javaDescriptorSignatureResolver);
|
||||||
|
|||||||
+14
-13
@@ -25,6 +25,7 @@ import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
|||||||
import org.jetbrains.jet.analyzer.AnalyzerFacade;
|
import org.jetbrains.jet.analyzer.AnalyzerFacade;
|
||||||
import org.jetbrains.jet.analyzer.AnalyzerFacadeForEverything;
|
import org.jetbrains.jet.analyzer.AnalyzerFacadeForEverything;
|
||||||
import org.jetbrains.jet.di.InjectorForTopDownAnalyzerForJvm;
|
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.ModuleDescriptor;
|
||||||
import org.jetbrains.jet.lang.psi.JetFile;
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
import org.jetbrains.jet.lang.resolve.*;
|
import org.jetbrains.jet.lang.resolve.*;
|
||||||
@@ -51,7 +52,7 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
|||||||
@NotNull List<AnalyzerScriptParameter> scriptParameters,
|
@NotNull List<AnalyzerScriptParameter> scriptParameters,
|
||||||
@NotNull Predicate<PsiFile> filesToAnalyzeCompletely) {
|
@NotNull Predicate<PsiFile> filesToAnalyzeCompletely) {
|
||||||
return analyzeFilesWithJavaIntegration(project, files, scriptParameters, filesToAnalyzeCompletely,
|
return analyzeFilesWithJavaIntegration(project, files, scriptParameters, filesToAnalyzeCompletely,
|
||||||
CompilerSpecialMode.REGULAR, true);
|
BuiltinsScopeExtensionMode.ALL, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -68,10 +69,10 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static AnalyzeExhaust analyzeOneFileWithJavaIntegrationAndCheckForErrors(
|
public static AnalyzeExhaust analyzeOneFileWithJavaIntegrationAndCheckForErrors(
|
||||||
JetFile file, List<AnalyzerScriptParameter> scriptParameters, @NotNull CompilerSpecialMode compilerSpecialMode) {
|
JetFile file, List<AnalyzerScriptParameter> scriptParameters, @NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode) {
|
||||||
AnalyzingUtils.checkForSyntacticErrors(file);
|
AnalyzingUtils.checkForSyntacticErrors(file);
|
||||||
|
|
||||||
AnalyzeExhaust analyzeExhaust = analyzeOneFileWithJavaIntegration(file, scriptParameters, compilerSpecialMode);
|
AnalyzeExhaust analyzeExhaust = analyzeOneFileWithJavaIntegration(file, scriptParameters, builtinsScopeExtensionMode);
|
||||||
|
|
||||||
AnalyzingUtils.throwExceptionOnErrors(analyzeExhaust.getBindingContext());
|
AnalyzingUtils.throwExceptionOnErrors(analyzeExhaust.getBindingContext());
|
||||||
|
|
||||||
@@ -79,20 +80,20 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static AnalyzeExhaust analyzeOneFileWithJavaIntegration(
|
public static AnalyzeExhaust analyzeOneFileWithJavaIntegration(
|
||||||
JetFile file, List<AnalyzerScriptParameter> scriptParameters, @NotNull CompilerSpecialMode compilerSpecialMode) {
|
JetFile file, List<AnalyzerScriptParameter> scriptParameters, @NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode) {
|
||||||
return analyzeFilesWithJavaIntegration(file.getProject(), Collections.singleton(file), scriptParameters,
|
return analyzeFilesWithJavaIntegration(file.getProject(), Collections.singleton(file), scriptParameters,
|
||||||
Predicates.<PsiFile>alwaysTrue(), compilerSpecialMode);
|
Predicates.<PsiFile>alwaysTrue(), builtinsScopeExtensionMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static AnalyzeExhaust analyzeFilesWithJavaIntegrationAndCheckForErrors(
|
public static AnalyzeExhaust analyzeFilesWithJavaIntegrationAndCheckForErrors(
|
||||||
Project project, Collection<JetFile> files, List<AnalyzerScriptParameter> scriptParameters, Predicate<PsiFile> filesToAnalyzeCompletely,
|
Project project, Collection<JetFile> files, List<AnalyzerScriptParameter> scriptParameters, Predicate<PsiFile> filesToAnalyzeCompletely,
|
||||||
@NotNull CompilerSpecialMode compilerSpecialMode) {
|
@NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode) {
|
||||||
for (JetFile file : files) {
|
for (JetFile file : files) {
|
||||||
AnalyzingUtils.checkForSyntacticErrors(file);
|
AnalyzingUtils.checkForSyntacticErrors(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
AnalyzeExhaust analyzeExhaust = analyzeFilesWithJavaIntegration(
|
AnalyzeExhaust analyzeExhaust = analyzeFilesWithJavaIntegration(
|
||||||
project, files, scriptParameters, filesToAnalyzeCompletely, compilerSpecialMode, false);
|
project, files, scriptParameters, filesToAnalyzeCompletely, builtinsScopeExtensionMode, false);
|
||||||
|
|
||||||
AnalyzingUtils.throwExceptionOnErrors(analyzeExhaust.getBindingContext());
|
AnalyzingUtils.throwExceptionOnErrors(analyzeExhaust.getBindingContext());
|
||||||
|
|
||||||
@@ -101,14 +102,14 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
|||||||
|
|
||||||
public static AnalyzeExhaust analyzeFilesWithJavaIntegration(
|
public static AnalyzeExhaust analyzeFilesWithJavaIntegration(
|
||||||
Project project, Collection<JetFile> files, List<AnalyzerScriptParameter> scriptParameters, Predicate<PsiFile> filesToAnalyzeCompletely,
|
Project project, Collection<JetFile> files, List<AnalyzerScriptParameter> scriptParameters, Predicate<PsiFile> filesToAnalyzeCompletely,
|
||||||
@NotNull CompilerSpecialMode compilerSpecialMode) {
|
@NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode) {
|
||||||
return analyzeFilesWithJavaIntegration(
|
return analyzeFilesWithJavaIntegration(
|
||||||
project, files, scriptParameters, filesToAnalyzeCompletely, compilerSpecialMode, false);
|
project, files, scriptParameters, filesToAnalyzeCompletely, builtinsScopeExtensionMode, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static AnalyzeExhaust analyzeFilesWithJavaIntegration(
|
public static AnalyzeExhaust analyzeFilesWithJavaIntegration(
|
||||||
Project project, Collection<JetFile> files, List<AnalyzerScriptParameter> scriptParameters, Predicate<PsiFile> filesToAnalyzeCompletely,
|
Project project, Collection<JetFile> files, List<AnalyzerScriptParameter> scriptParameters, Predicate<PsiFile> filesToAnalyzeCompletely,
|
||||||
@NotNull CompilerSpecialMode compilerSpecialMode,
|
@NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode,
|
||||||
boolean storeContextForBodiesResolve) {
|
boolean storeContextForBodiesResolve) {
|
||||||
BindingTraceContext bindingTraceContext = new BindingTraceContext();
|
BindingTraceContext bindingTraceContext = new BindingTraceContext();
|
||||||
|
|
||||||
@@ -119,7 +120,7 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
|||||||
|
|
||||||
InjectorForTopDownAnalyzerForJvm injector = new InjectorForTopDownAnalyzerForJvm(
|
InjectorForTopDownAnalyzerForJvm injector = new InjectorForTopDownAnalyzerForJvm(
|
||||||
project, topDownAnalysisParameters,
|
project, topDownAnalysisParameters,
|
||||||
new ObservableBindingTrace(bindingTraceContext), owner, compilerSpecialMode);
|
new ObservableBindingTrace(bindingTraceContext), owner, builtinsScopeExtensionMode);
|
||||||
try {
|
try {
|
||||||
injector.getTopDownAnalyzer().analyzeFiles(files, scriptParameters);
|
injector.getTopDownAnalyzer().analyzeFiles(files, scriptParameters);
|
||||||
BodiesResolveContext bodiesResolveContext = storeContextForBodiesResolve ?
|
BodiesResolveContext bodiesResolveContext = storeContextForBodiesResolve ?
|
||||||
@@ -132,13 +133,13 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static AnalyzeExhaust shallowAnalyzeFiles(Collection<JetFile> files,
|
public static AnalyzeExhaust shallowAnalyzeFiles(Collection<JetFile> files,
|
||||||
@NotNull CompilerSpecialMode compilerSpecialMode) {
|
@NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode) {
|
||||||
assert files.size() > 0;
|
assert files.size() > 0;
|
||||||
|
|
||||||
Project project = files.iterator().next().getProject();
|
Project project = files.iterator().next().getProject();
|
||||||
|
|
||||||
return analyzeFilesWithJavaIntegration(project,
|
return analyzeFilesWithJavaIntegration(project,
|
||||||
files, Collections.<AnalyzerScriptParameter>emptyList(), Predicates.<PsiFile>alwaysFalse(),
|
files, Collections.<AnalyzerScriptParameter>emptyList(), Predicates.<PsiFile>alwaysFalse(),
|
||||||
compilerSpecialMode);
|
builtinsScopeExtensionMode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-4
@@ -18,6 +18,7 @@ package org.jetbrains.jet.lang.resolve.java;
|
|||||||
|
|
||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.lang.DefaultModuleConfiguration;
|
import org.jetbrains.jet.lang.DefaultModuleConfiguration;
|
||||||
import org.jetbrains.jet.lang.ModuleConfiguration;
|
import org.jetbrains.jet.lang.ModuleConfiguration;
|
||||||
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
||||||
@@ -48,7 +49,7 @@ public class JavaBridgeConfiguration implements ModuleConfiguration {
|
|||||||
@NotNull
|
@NotNull
|
||||||
private ModuleConfiguration delegateConfiguration;
|
private ModuleConfiguration delegateConfiguration;
|
||||||
@NotNull
|
@NotNull
|
||||||
private CompilerSpecialMode mode;
|
private BuiltinsScopeExtensionMode builtinsScopeExtensionMode;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public void setProject(@NotNull Project project) {
|
public void setProject(@NotNull Project project) {
|
||||||
@@ -61,13 +62,13 @@ public class JavaBridgeConfiguration implements ModuleConfiguration {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public void setMode(@NotNull CompilerSpecialMode mode) {
|
public void setBuiltinsScopeExtensionMode(@NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode) {
|
||||||
this.mode = mode;
|
this.builtinsScopeExtensionMode = builtinsScopeExtensionMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
public void init() {
|
public void init() {
|
||||||
this.delegateConfiguration = DefaultModuleConfiguration.createStandardConfiguration(project, mode == CompilerSpecialMode.BUILTINS);
|
this.delegateConfiguration = DefaultModuleConfiguration.createStandardConfiguration(project, builtinsScopeExtensionMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2012 JetBrains s.r.o.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.jet.lang;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Evgeny Gerashchenko
|
||||||
|
* @since 7/5/12
|
||||||
|
*/
|
||||||
|
public enum BuiltinsScopeExtensionMode {
|
||||||
|
ALL,
|
||||||
|
ONLY_STANDARD_CLASSES
|
||||||
|
}
|
||||||
@@ -18,7 +18,6 @@ package org.jetbrains.jet.lang;
|
|||||||
|
|
||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
|
||||||
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
||||||
import org.jetbrains.jet.lang.psi.JetImportDirective;
|
import org.jetbrains.jet.lang.psi.JetImportDirective;
|
||||||
import org.jetbrains.jet.lang.psi.JetPsiFactory;
|
import org.jetbrains.jet.lang.psi.JetPsiFactory;
|
||||||
@@ -39,15 +38,15 @@ public class DefaultModuleConfiguration implements ModuleConfiguration {
|
|||||||
new ImportPath("kotlin.*"), new ImportPath("kotlin.io.*"), new ImportPath("jet.*"), };
|
new ImportPath("kotlin.*"), new ImportPath("kotlin.io.*"), new ImportPath("jet.*"), };
|
||||||
|
|
||||||
private final Project project;
|
private final Project project;
|
||||||
private final boolean extendBuiltins;
|
private final @NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode;
|
||||||
|
|
||||||
public static DefaultModuleConfiguration createStandardConfiguration(Project project, boolean extendBuiltins) {
|
public static DefaultModuleConfiguration createStandardConfiguration(Project project, @NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode) {
|
||||||
return new DefaultModuleConfiguration(project, extendBuiltins);
|
return new DefaultModuleConfiguration(project, builtinsScopeExtensionMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
private DefaultModuleConfiguration(@NotNull Project project, boolean extendBuiltins) {
|
private DefaultModuleConfiguration(@NotNull Project project, @NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode) {
|
||||||
this.project = project;
|
this.project = project;
|
||||||
this.extendBuiltins = extendBuiltins;
|
this.builtinsScopeExtensionMode = builtinsScopeExtensionMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -60,11 +59,13 @@ public class DefaultModuleConfiguration implements ModuleConfiguration {
|
|||||||
@Override
|
@Override
|
||||||
public void extendNamespaceScope(@NotNull BindingTrace trace, @NotNull NamespaceDescriptor namespaceDescriptor, @NotNull WritableScope namespaceMemberScope) {
|
public void extendNamespaceScope(@NotNull BindingTrace trace, @NotNull NamespaceDescriptor namespaceDescriptor, @NotNull WritableScope namespaceMemberScope) {
|
||||||
if (DescriptorUtils.getFQName(namespaceDescriptor).equalsTo(JetStandardClasses.STANDARD_CLASSES_FQNAME)) {
|
if (DescriptorUtils.getFQName(namespaceDescriptor).equalsTo(JetStandardClasses.STANDARD_CLASSES_FQNAME)) {
|
||||||
if (!extendBuiltins) {
|
switch (builtinsScopeExtensionMode) {
|
||||||
namespaceMemberScope.importScope(JetStandardClasses.STANDARD_CLASSES);
|
case ALL:
|
||||||
}
|
namespaceMemberScope.importScope(JetStandardClasses.STANDARD_CLASSES);
|
||||||
else {
|
break;
|
||||||
namespaceMemberScope.importScope(JetStandardLibrary.getInstance().getLibraryScope());
|
case ONLY_STANDARD_CLASSES:
|
||||||
|
namespaceMemberScope.importScope(JetStandardLibrary.getInstance().getLibraryScope());
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import com.intellij.util.containers.Stack;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
||||||
import org.jetbrains.jet.codegen.*;
|
import org.jetbrains.jet.codegen.*;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.lang.psi.JetClass;
|
import org.jetbrains.jet.lang.psi.JetClass;
|
||||||
import org.jetbrains.jet.lang.psi.JetFile;
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
import org.jetbrains.jet.lang.psi.JetFunction;
|
import org.jetbrains.jet.lang.psi.JetFunction;
|
||||||
@@ -171,7 +172,7 @@ public class JetLightClass extends AbstractLightClass implements JetJavaMirrorMa
|
|||||||
AnalyzeExhaust context = AnalyzerFacadeForJVM.shallowAnalyzeFiles(
|
AnalyzeExhaust context = AnalyzerFacadeForJVM.shallowAnalyzeFiles(
|
||||||
JetFilesProvider.getInstance(project).sampleToAllFilesInModule().fun(file),
|
JetFilesProvider.getInstance(project).sampleToAllFilesInModule().fun(file),
|
||||||
// TODO: wrong environment // stepan.koltsov@ 2012-04-09
|
// TODO: wrong environment // stepan.koltsov@ 2012-04-09
|
||||||
CompilerSpecialMode.REGULAR);
|
BuiltinsScopeExtensionMode.ALL);
|
||||||
|
|
||||||
if (context.isError()) {
|
if (context.isError()) {
|
||||||
throw new IllegalStateException("failed to analyze: " + context.getError(), context.getError());
|
throw new IllegalStateException("failed to analyze: " + context.getError(), context.getError());
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ import org.jetbrains.annotations.NonNls;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
||||||
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
||||||
import org.jetbrains.jet.lang.diagnostics.Severity;
|
import org.jetbrains.jet.lang.diagnostics.Severity;
|
||||||
import org.jetbrains.jet.lang.diagnostics.UnresolvedReferenceDiagnosticFactory;
|
import org.jetbrains.jet.lang.diagnostics.UnresolvedReferenceDiagnosticFactory;
|
||||||
@@ -170,9 +171,9 @@ public class JetTestUtils {
|
|||||||
private JetTestUtils() {
|
private JetTestUtils() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static AnalyzeExhaust analyzeFile(@NotNull JetFile namespace, @NotNull CompilerSpecialMode compilerSpecialMode) {
|
public static AnalyzeExhaust analyzeFile(@NotNull JetFile namespace, @NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode) {
|
||||||
return AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration(namespace, Collections.<AnalyzerScriptParameter>emptyList(),
|
return AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration(namespace, Collections.<AnalyzerScriptParameter>emptyList(),
|
||||||
compilerSpecialMode);
|
builtinsScopeExtensionMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static JetCoreEnvironment createEnvironmentWithMockJdkAndIdeaAnnotations(Disposable disposable) {
|
public static JetCoreEnvironment createEnvironmentWithMockJdkAndIdeaAnnotations(Disposable disposable) {
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ import org.jetbrains.jet.JetLiteFixture;
|
|||||||
import org.jetbrains.jet.JetTestCaseBuilder;
|
import org.jetbrains.jet.JetTestCaseBuilder;
|
||||||
import org.jetbrains.jet.JetTestUtils;
|
import org.jetbrains.jet.JetTestUtils;
|
||||||
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.lang.cfg.pseudocode.*;
|
import org.jetbrains.jet.lang.cfg.pseudocode.*;
|
||||||
import org.jetbrains.jet.lang.psi.*;
|
import org.jetbrains.jet.lang.psi.*;
|
||||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||||
@@ -73,7 +74,7 @@ public class JetControlFlowTest extends JetLiteFixture {
|
|||||||
JetFile file = loadPsiFile(myName + ".jet");
|
JetFile file = loadPsiFile(myName + ".jet");
|
||||||
|
|
||||||
final Map<JetElement, Pseudocode> data = new LinkedHashMap<JetElement, Pseudocode>();
|
final Map<JetElement, Pseudocode> data = new LinkedHashMap<JetElement, Pseudocode>();
|
||||||
AnalyzeExhaust analyzeExhaust = JetTestUtils.analyzeFile(file, CompilerSpecialMode.JDK_HEADERS);
|
AnalyzeExhaust analyzeExhaust = JetTestUtils.analyzeFile(file, BuiltinsScopeExtensionMode.ALL);
|
||||||
List<JetDeclaration> declarations = file.getDeclarations();
|
List<JetDeclaration> declarations = file.getDeclarations();
|
||||||
BindingContext bindingContext = analyzeExhaust.getBindingContext();
|
BindingContext bindingContext = analyzeExhaust.getBindingContext();
|
||||||
for (JetDeclaration declaration : declarations) {
|
for (JetDeclaration declaration : declarations) {
|
||||||
|
|||||||
@@ -20,12 +20,12 @@ import com.google.common.collect.Lists;
|
|||||||
import com.intellij.psi.PsiFile;
|
import com.intellij.psi.PsiFile;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.jet.JetLiteFixture;
|
import org.jetbrains.jet.JetLiteFixture;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
||||||
import org.jetbrains.jet.lang.psi.JetFile;
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
|
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
|
||||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||||
import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM;
|
import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM;
|
||||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -106,7 +106,7 @@ public class CheckerTestUtilTest extends JetLiteFixture {
|
|||||||
|
|
||||||
public void test(final @NotNull PsiFile psiFile) {
|
public void test(final @NotNull PsiFile psiFile) {
|
||||||
BindingContext bindingContext = AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration(
|
BindingContext bindingContext = AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration(
|
||||||
(JetFile) psiFile,Collections.<AnalyzerScriptParameter>emptyList(), CompilerSpecialMode.REGULAR)
|
(JetFile) psiFile,Collections.<AnalyzerScriptParameter>emptyList(), BuiltinsScopeExtensionMode.ALL)
|
||||||
.getBindingContext();
|
.getBindingContext();
|
||||||
|
|
||||||
String expectedText = CheckerTestUtil.addDiagnosticMarkersToText(psiFile, CheckerTestUtil.getDiagnosticsIncludingSyntaxErrors(bindingContext, psiFile)).toString();
|
String expectedText = CheckerTestUtil.addDiagnosticMarkersToText(psiFile, CheckerTestUtil.getDiagnosticsIncludingSyntaxErrors(bindingContext, psiFile)).toString();
|
||||||
|
|||||||
@@ -26,10 +26,10 @@ import com.intellij.psi.PsiFile;
|
|||||||
import com.intellij.psi.PsiFileFactory;
|
import com.intellij.psi.PsiFileFactory;
|
||||||
import junit.framework.Test;
|
import junit.framework.Test;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.jet.utils.ExceptionUtils;
|
|
||||||
import org.jetbrains.jet.JetLiteFixture;
|
import org.jetbrains.jet.JetLiteFixture;
|
||||||
import org.jetbrains.jet.JetTestCaseBuilder;
|
import org.jetbrains.jet.JetTestCaseBuilder;
|
||||||
import org.jetbrains.jet.JetTestUtils;
|
import org.jetbrains.jet.JetTestUtils;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.lang.diagnostics.DiagnosticUtils;
|
import org.jetbrains.jet.lang.diagnostics.DiagnosticUtils;
|
||||||
import org.jetbrains.jet.lang.psi.JetFile;
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
|
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
|
||||||
@@ -37,6 +37,7 @@ import org.jetbrains.jet.lang.resolve.AnalyzingUtils;
|
|||||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||||
import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM;
|
import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM;
|
||||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
||||||
|
import org.jetbrains.jet.utils.ExceptionUtils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
@@ -175,9 +176,7 @@ public class JetDiagnosticsTest extends JetLiteFixture {
|
|||||||
|
|
||||||
BindingContext bindingContext = AnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(
|
BindingContext bindingContext = AnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(
|
||||||
getProject(), jetFiles, Collections.<AnalyzerScriptParameter>emptyList(),
|
getProject(), jetFiles, Collections.<AnalyzerScriptParameter>emptyList(),
|
||||||
Predicates.<PsiFile>alwaysTrue(),
|
Predicates.<PsiFile>alwaysTrue(), BuiltinsScopeExtensionMode.ALL).getBindingContext();
|
||||||
myEnvironment.getCompilerSpecialMode())
|
|
||||||
.getBindingContext();
|
|
||||||
|
|
||||||
boolean ok = true;
|
boolean ok = true;
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ import org.jetbrains.jet.JetTestUtils;
|
|||||||
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
||||||
import org.jetbrains.jet.test.TestCaseWithTmpdir;
|
import org.jetbrains.jet.test.TestCaseWithTmpdir;
|
||||||
import org.jetbrains.jet.lang.psi.JetFile;
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
|
||||||
import org.jetbrains.jet.plugin.JetLanguage;
|
import org.jetbrains.jet.plugin.JetLanguage;
|
||||||
import org.objectweb.asm.ClassReader;
|
import org.objectweb.asm.ClassReader;
|
||||||
import org.objectweb.asm.Label;
|
import org.objectweb.asm.Label;
|
||||||
@@ -77,7 +76,7 @@ public class CheckLocalVariablesTableTest extends TestCaseWithTmpdir {
|
|||||||
.trySetupPsiForFile(virtualFile, JetLanguage.INSTANCE, true, false);
|
.trySetupPsiForFile(virtualFile, JetLanguage.INSTANCE, true, false);
|
||||||
assert psiFile != null;
|
assert psiFile != null;
|
||||||
|
|
||||||
final ClassFileFactory factory = GenerationUtils.compileFileGetClassFileFactoryForTest(psiFile, CompilerSpecialMode.REGULAR);
|
final ClassFileFactory factory = GenerationUtils.compileFileGetClassFileFactoryForTest(psiFile);
|
||||||
|
|
||||||
String modifiedTestName = this.getName().replace(".kt", ".class");
|
String modifiedTestName = this.getName().replace(".kt", ".class");
|
||||||
boolean isClassFound = false;
|
boolean isClassFound = false;
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import com.intellij.psi.PsiFile;
|
|||||||
import com.intellij.testFramework.UsefulTestCase;
|
import com.intellij.testFramework.UsefulTestCase;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.utils.ExceptionUtils;
|
import org.jetbrains.jet.utils.ExceptionUtils;
|
||||||
import org.jetbrains.jet.JetTestUtils;
|
import org.jetbrains.jet.JetTestUtils;
|
||||||
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
||||||
@@ -259,7 +260,7 @@ public abstract class CodegenTestCase extends UsefulTestCase {
|
|||||||
myFiles.getPsiFiles(),
|
myFiles.getPsiFiles(),
|
||||||
myFiles.getScriptParameterTypes(),
|
myFiles.getScriptParameterTypes(),
|
||||||
Predicates.<PsiFile>alwaysTrue(),
|
Predicates.<PsiFile>alwaysTrue(),
|
||||||
myEnvironment.getCompilerSpecialMode());
|
BuiltinsScopeExtensionMode.ALL);
|
||||||
analyzeExhaust.throwIfError();
|
analyzeExhaust.throwIfError();
|
||||||
AnalyzingUtils.throwExceptionOnErrors(analyzeExhaust.getBindingContext());
|
AnalyzingUtils.throwExceptionOnErrors(analyzeExhaust.getBindingContext());
|
||||||
GenerationState state = new GenerationState(myEnvironment.getProject(), classBuilderFactory, analyzeExhaust, myFiles.getPsiFiles());
|
GenerationState state = new GenerationState(myEnvironment.getProject(), classBuilderFactory, analyzeExhaust, myFiles.getPsiFiles());
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package org.jetbrains.jet.codegen;
|
|||||||
import org.jetbrains.jet.cli.jvm.compiler.K2JVMCompileEnvironmentConfiguration;
|
import org.jetbrains.jet.cli.jvm.compiler.K2JVMCompileEnvironmentConfiguration;
|
||||||
import org.jetbrains.jet.cli.jvm.compiler.KotlinToJVMBytecodeCompiler;
|
import org.jetbrains.jet.cli.jvm.compiler.KotlinToJVMBytecodeCompiler;
|
||||||
import org.jetbrains.jet.cli.common.messages.MessageCollector;
|
import org.jetbrains.jet.cli.common.messages.MessageCollector;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
@@ -28,7 +29,7 @@ public class CompileTextTest extends CodegenTestCase {
|
|||||||
createEnvironmentWithMockJdkAndIdeaAnnotations();
|
createEnvironmentWithMockJdkAndIdeaAnnotations();
|
||||||
String text = "import org.jetbrains.jet.codegen.CompileTextTest; fun x() = CompileTextTest()";
|
String text = "import org.jetbrains.jet.codegen.CompileTextTest; fun x() = CompileTextTest()";
|
||||||
K2JVMCompileEnvironmentConfiguration configuration = new K2JVMCompileEnvironmentConfiguration(
|
K2JVMCompileEnvironmentConfiguration configuration = new K2JVMCompileEnvironmentConfiguration(
|
||||||
myEnvironment, MessageCollector.PLAIN_TEXT_TO_SYSTEM_ERR, false);
|
myEnvironment, MessageCollector.PLAIN_TEXT_TO_SYSTEM_ERR, false, BuiltinsScopeExtensionMode.ALL);
|
||||||
configuration.getEnvironment().addToClasspathFromClassLoader(getClass().getClassLoader());
|
configuration.getEnvironment().addToClasspathFromClassLoader(getClass().getClassLoader());
|
||||||
ClassLoader classLoader = KotlinToJVMBytecodeCompiler.compileText(configuration, text);
|
ClassLoader classLoader = KotlinToJVMBytecodeCompiler.compileText(configuration, text);
|
||||||
Class<?> namespace = classLoader.loadClass("namespace");
|
Class<?> namespace = classLoader.loadClass("namespace");
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ package org.jetbrains.jet.codegen;
|
|||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.lang.psi.JetFile;
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
|
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
|
||||||
import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM;
|
import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM;
|
||||||
@@ -30,13 +31,13 @@ import java.util.Collections;
|
|||||||
*/
|
*/
|
||||||
public class GenerationUtils {
|
public class GenerationUtils {
|
||||||
|
|
||||||
public static ClassFileFactory compileFileGetClassFileFactoryForTest(@NotNull JetFile psiFile, @NotNull CompilerSpecialMode compilerSpecialMode) {
|
public static ClassFileFactory compileFileGetClassFileFactoryForTest(@NotNull JetFile psiFile) {
|
||||||
return compileFileGetGenerationStateForTest(psiFile, compilerSpecialMode).getFactory();
|
return compileFileGetGenerationStateForTest(psiFile).getFactory();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static GenerationState compileFileGetGenerationStateForTest(JetFile psiFile, @NotNull CompilerSpecialMode compilerSpecialMode) {
|
public static GenerationState compileFileGetGenerationStateForTest(JetFile psiFile) {
|
||||||
final AnalyzeExhaust analyzeExhaust = AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegrationAndCheckForErrors(
|
final AnalyzeExhaust analyzeExhaust = AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegrationAndCheckForErrors(
|
||||||
psiFile, Collections.<AnalyzerScriptParameter>emptyList(), compilerSpecialMode);
|
psiFile, Collections.<AnalyzerScriptParameter>emptyList(), BuiltinsScopeExtensionMode.ALL);
|
||||||
analyzeExhaust.throwIfError();
|
analyzeExhaust.throwIfError();
|
||||||
GenerationState state = new GenerationState(psiFile.getProject(), ClassBuilderFactories.binaries(false), analyzeExhaust, Collections.singletonList(psiFile));
|
GenerationState state = new GenerationState(psiFile.getProject(), ClassBuilderFactories.binaries(false), analyzeExhaust, Collections.singletonList(psiFile));
|
||||||
state.compileCorrectFiles(CompilationErrorHandler.THROW_EXCEPTION);
|
state.compileCorrectFiles(CompilationErrorHandler.THROW_EXCEPTION);
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import gnu.trove.THashSet;
|
|||||||
import junit.framework.Test;
|
import junit.framework.Test;
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
import junit.framework.TestSuite;
|
import junit.framework.TestSuite;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.utils.ExceptionUtils;
|
import org.jetbrains.jet.utils.ExceptionUtils;
|
||||||
import org.jetbrains.jet.cli.common.messages.MessageCollector;
|
import org.jetbrains.jet.cli.common.messages.MessageCollector;
|
||||||
import org.jetbrains.jet.cli.jvm.compiler.K2JVMCompileEnvironmentConfiguration;
|
import org.jetbrains.jet.cli.jvm.compiler.K2JVMCompileEnvironmentConfiguration;
|
||||||
@@ -84,7 +85,8 @@ public class TestlibTest extends CodegenTestCase {
|
|||||||
myEnvironment.addSources(localFileSystem.findFileByPath(JetParsingTest.getTestDataDir() + "/../../libraries/kunit/src"));
|
myEnvironment.addSources(localFileSystem.findFileByPath(JetParsingTest.getTestDataDir() + "/../../libraries/kunit/src"));
|
||||||
|
|
||||||
GenerationState generationState = KotlinToJVMBytecodeCompiler
|
GenerationState generationState = KotlinToJVMBytecodeCompiler
|
||||||
.analyzeAndGenerate(new K2JVMCompileEnvironmentConfiguration(myEnvironment, MessageCollector.PLAIN_TEXT_TO_SYSTEM_ERR, false), false);
|
.analyzeAndGenerate(new K2JVMCompileEnvironmentConfiguration(myEnvironment, MessageCollector.PLAIN_TEXT_TO_SYSTEM_ERR,
|
||||||
|
false, BuiltinsScopeExtensionMode.ALL), false);
|
||||||
|
|
||||||
if (generationState == null) {
|
if (generationState == null) {
|
||||||
throw new RuntimeException("There were compilation errors");
|
throw new RuntimeException("There were compilation errors");
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ import org.jetbrains.jet.JetTestUtils;
|
|||||||
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
||||||
import org.jetbrains.jet.test.TestCaseWithTmpdir;
|
import org.jetbrains.jet.test.TestCaseWithTmpdir;
|
||||||
import org.jetbrains.jet.lang.psi.JetFile;
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
|
||||||
import org.jetbrains.jet.plugin.JetLanguage;
|
import org.jetbrains.jet.plugin.JetLanguage;
|
||||||
import org.objectweb.asm.ClassReader;
|
import org.objectweb.asm.ClassReader;
|
||||||
import org.objectweb.asm.Opcodes;
|
import org.objectweb.asm.Opcodes;
|
||||||
@@ -73,7 +72,7 @@ public class WriteAccessFlagsTest extends TestCaseWithTmpdir {
|
|||||||
.trySetupPsiForFile(virtualFile, JetLanguage.INSTANCE, true, false);
|
.trySetupPsiForFile(virtualFile, JetLanguage.INSTANCE, true, false);
|
||||||
assert psiFile != null;
|
assert psiFile != null;
|
||||||
|
|
||||||
final ClassFileFactory factory = GenerationUtils.compileFileGetClassFileFactoryForTest(psiFile, CompilerSpecialMode.REGULAR);
|
final ClassFileFactory factory = GenerationUtils.compileFileGetClassFileFactoryForTest(psiFile);
|
||||||
|
|
||||||
String modifiedTestName = this.getName().replace(".kt", ".class");
|
String modifiedTestName = this.getName().replace(".kt", ".class");
|
||||||
boolean isClassFound = false;
|
boolean isClassFound = false;
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ import org.jetbrains.jet.cli.jvm.compiler.CompileEnvironmentUtil;
|
|||||||
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
||||||
import org.jetbrains.jet.codegen.*;
|
import org.jetbrains.jet.codegen.*;
|
||||||
import org.jetbrains.jet.lang.psi.JetFile;
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
|
||||||
import org.jetbrains.jet.plugin.JetLanguage;
|
import org.jetbrains.jet.plugin.JetLanguage;
|
||||||
import org.jetbrains.jet.test.TestCaseWithTmpdir;
|
import org.jetbrains.jet.test.TestCaseWithTmpdir;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
@@ -79,7 +78,7 @@ public class CompileJavaAgainstKotlinTest extends TestCaseWithTmpdir {
|
|||||||
virtualFile.setCharset(CharsetToolkit.UTF8_CHARSET);
|
virtualFile.setCharset(CharsetToolkit.UTF8_CHARSET);
|
||||||
JetFile psiFile = (JetFile) ((PsiFileFactoryImpl) PsiFileFactory.getInstance(jetCoreEnvironment.getProject())).trySetupPsiForFile(virtualFile, JetLanguage.INSTANCE, true, false);
|
JetFile psiFile = (JetFile) ((PsiFileFactoryImpl) PsiFileFactory.getInstance(jetCoreEnvironment.getProject())).trySetupPsiForFile(virtualFile, JetLanguage.INSTANCE, true, false);
|
||||||
|
|
||||||
ClassFileFactory classFileFactory = GenerationUtils.compileFileGetClassFileFactoryForTest(psiFile, CompilerSpecialMode.REGULAR);
|
ClassFileFactory classFileFactory = GenerationUtils.compileFileGetClassFileFactoryForTest(psiFile);
|
||||||
|
|
||||||
CompileEnvironmentUtil.writeToOutputDirectory(classFileFactory, tmpdir);
|
CompileEnvironmentUtil.writeToOutputDirectory(classFileFactory, tmpdir);
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ import org.jetbrains.jet.cli.jvm.compiler.CompileEnvironmentUtil;
|
|||||||
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
||||||
import org.jetbrains.jet.codegen.*;
|
import org.jetbrains.jet.codegen.*;
|
||||||
import org.jetbrains.jet.lang.psi.JetFile;
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
|
||||||
import org.jetbrains.jet.plugin.JetLanguage;
|
import org.jetbrains.jet.plugin.JetLanguage;
|
||||||
import org.jetbrains.jet.test.TestCaseWithTmpdir;
|
import org.jetbrains.jet.test.TestCaseWithTmpdir;
|
||||||
|
|
||||||
@@ -93,7 +92,7 @@ public class CompileKotlinAgainstKotlinTest extends TestCaseWithTmpdir {
|
|||||||
virtualFile.setCharset(CharsetToolkit.UTF8_CHARSET);
|
virtualFile.setCharset(CharsetToolkit.UTF8_CHARSET);
|
||||||
JetFile psiFile = (JetFile) ((PsiFileFactoryImpl) PsiFileFactory.getInstance(jetCoreEnvironment.getProject())).trySetupPsiForFile(virtualFile, JetLanguage.INSTANCE, true, false);
|
JetFile psiFile = (JetFile) ((PsiFileFactoryImpl) PsiFileFactory.getInstance(jetCoreEnvironment.getProject())).trySetupPsiForFile(virtualFile, JetLanguage.INSTANCE, true, false);
|
||||||
|
|
||||||
ClassFileFactory classFileFactory = GenerationUtils.compileFileGetClassFileFactoryForTest(psiFile, CompilerSpecialMode.REGULAR);
|
ClassFileFactory classFileFactory = GenerationUtils.compileFileGetClassFileFactoryForTest(psiFile);
|
||||||
|
|
||||||
CompileEnvironmentUtil.writeToOutputDirectory(classFileFactory, aDir);
|
CompileEnvironmentUtil.writeToOutputDirectory(classFileFactory, aDir);
|
||||||
|
|
||||||
@@ -111,7 +110,7 @@ public class CompileKotlinAgainstKotlinTest extends TestCaseWithTmpdir {
|
|||||||
virtualFile.setCharset(CharsetToolkit.UTF8_CHARSET);
|
virtualFile.setCharset(CharsetToolkit.UTF8_CHARSET);
|
||||||
JetFile psiFile = (JetFile) ((PsiFileFactoryImpl) PsiFileFactory.getInstance(jetCoreEnvironment.getProject())).trySetupPsiForFile(virtualFile, JetLanguage.INSTANCE, true, false);
|
JetFile psiFile = (JetFile) ((PsiFileFactoryImpl) PsiFileFactory.getInstance(jetCoreEnvironment.getProject())).trySetupPsiForFile(virtualFile, JetLanguage.INSTANCE, true, false);
|
||||||
|
|
||||||
ClassFileFactory classFileFactory = GenerationUtils.compileFileGetClassFileFactoryForTest(psiFile, CompilerSpecialMode.REGULAR);
|
ClassFileFactory classFileFactory = GenerationUtils.compileFileGetClassFileFactoryForTest(psiFile);
|
||||||
|
|
||||||
CompileEnvironmentUtil.writeToOutputDirectory(classFileFactory, bDir);
|
CompileEnvironmentUtil.writeToOutputDirectory(classFileFactory, bDir);
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.jetbrains.jet.JetTestUtils;
|
import org.jetbrains.jet.JetTestUtils;
|
||||||
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
||||||
import org.jetbrains.jet.di.InjectorForJavaSemanticServices;
|
import org.jetbrains.jet.di.InjectorForJavaSemanticServices;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.VariableDescriptor;
|
import org.jetbrains.jet.lang.descriptors.VariableDescriptor;
|
||||||
@@ -72,8 +73,8 @@ public class JavaDescriptorResolverTest extends TestCaseWithTmpdir {
|
|||||||
myTestRootDisposable, CompilerSpecialMode.JDK_HEADERS);
|
myTestRootDisposable, CompilerSpecialMode.JDK_HEADERS);
|
||||||
jetCoreEnvironment.addToClasspath(tmpdir);
|
jetCoreEnvironment.addToClasspath(tmpdir);
|
||||||
|
|
||||||
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(
|
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(BuiltinsScopeExtensionMode.ALL,
|
||||||
CompilerSpecialMode.JDK_HEADERS, jetCoreEnvironment.getProject());
|
jetCoreEnvironment.getProject());
|
||||||
return injector.getJavaDescriptorResolver();
|
return injector.getJavaDescriptorResolver();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import org.jetbrains.jet.JetTestCaseBuilder;
|
|||||||
import org.jetbrains.jet.JetTestUtils;
|
import org.jetbrains.jet.JetTestUtils;
|
||||||
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
||||||
import org.jetbrains.jet.di.InjectorForJavaSemanticServices;
|
import org.jetbrains.jet.di.InjectorForJavaSemanticServices;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
||||||
import org.jetbrains.jet.lang.psi.JetFile;
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
|
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
|
||||||
@@ -89,9 +90,7 @@ public class ReadJavaBinaryClassTest extends TestCaseWithTmpdir {
|
|||||||
JetFile psiFile = (JetFile) ((PsiFileFactoryImpl) PsiFileFactory.getInstance(jetCoreEnvironment.getProject())).trySetupPsiForFile(virtualFile, JetLanguage.INSTANCE, true, false);
|
JetFile psiFile = (JetFile) ((PsiFileFactoryImpl) PsiFileFactory.getInstance(jetCoreEnvironment.getProject())).trySetupPsiForFile(virtualFile, JetLanguage.INSTANCE, true, false);
|
||||||
|
|
||||||
BindingContext bindingContext = AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegrationAndCheckForErrors(
|
BindingContext bindingContext = AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegrationAndCheckForErrors(
|
||||||
psiFile, Collections.<AnalyzerScriptParameter>emptyList(),
|
psiFile, Collections.<AnalyzerScriptParameter>emptyList(), BuiltinsScopeExtensionMode.ALL).getBindingContext();
|
||||||
jetCoreEnvironment.getCompilerSpecialMode())
|
|
||||||
.getBindingContext();
|
|
||||||
return bindingContext.get(BindingContext.FQNAME_TO_NAMESPACE_DESCRIPTOR, FqName.topLevel(Name.identifier("test")));
|
return bindingContext.get(BindingContext.FQNAME_TO_NAMESPACE_DESCRIPTOR, FqName.topLevel(Name.identifier("test")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -117,8 +116,8 @@ public class ReadJavaBinaryClassTest extends TestCaseWithTmpdir {
|
|||||||
jetCoreEnvironment.addToClasspath(tmpdir);
|
jetCoreEnvironment.addToClasspath(tmpdir);
|
||||||
jetCoreEnvironment.addToClasspath(new File("out/production/runtime"));
|
jetCoreEnvironment.addToClasspath(new File("out/production/runtime"));
|
||||||
|
|
||||||
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(
|
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(BuiltinsScopeExtensionMode.ALL,
|
||||||
CompilerSpecialMode.JDK_HEADERS, jetCoreEnvironment.getProject());
|
jetCoreEnvironment.getProject());
|
||||||
JavaDescriptorResolver javaDescriptorResolver = injector.getJavaDescriptorResolver();
|
JavaDescriptorResolver javaDescriptorResolver = injector.getJavaDescriptorResolver();
|
||||||
return javaDescriptorResolver.resolveNamespace(FqName.topLevel(Name.identifier("test")), DescriptorSearchRule.ERROR_IF_FOUND_IN_KOTLIN);
|
return javaDescriptorResolver.resolveNamespace(FqName.topLevel(Name.identifier("test")), DescriptorSearchRule.ERROR_IF_FOUND_IN_KOTLIN);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,13 +33,14 @@ import org.jetbrains.jet.codegen.ClassFileFactory;
|
|||||||
import org.jetbrains.jet.codegen.GenerationState;
|
import org.jetbrains.jet.codegen.GenerationState;
|
||||||
import org.jetbrains.jet.codegen.GenerationUtils;
|
import org.jetbrains.jet.codegen.GenerationUtils;
|
||||||
import org.jetbrains.jet.di.InjectorForJavaSemanticServices;
|
import org.jetbrains.jet.di.InjectorForJavaSemanticServices;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
||||||
import org.jetbrains.jet.lang.psi.JetFile;
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
|
||||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
||||||
import org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule;
|
import org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule;
|
||||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
||||||
|
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||||
import org.jetbrains.jet.plugin.JetLanguage;
|
import org.jetbrains.jet.plugin.JetLanguage;
|
||||||
import org.jetbrains.jet.test.TestCaseWithTmpdir;
|
import org.jetbrains.jet.test.TestCaseWithTmpdir;
|
||||||
@@ -74,7 +75,7 @@ public class ReadKotlinBinaryClassTest extends TestCaseWithTmpdir {
|
|||||||
virtualFile.setCharset(CharsetToolkit.UTF8_CHARSET);
|
virtualFile.setCharset(CharsetToolkit.UTF8_CHARSET);
|
||||||
JetFile psiFile = (JetFile) ((PsiFileFactoryImpl) PsiFileFactory.getInstance(jetCoreEnvironment.getProject())).trySetupPsiForFile(virtualFile, JetLanguage.INSTANCE, true, false);
|
JetFile psiFile = (JetFile) ((PsiFileFactoryImpl) PsiFileFactory.getInstance(jetCoreEnvironment.getProject())).trySetupPsiForFile(virtualFile, JetLanguage.INSTANCE, true, false);
|
||||||
|
|
||||||
GenerationState state = GenerationUtils.compileFileGetGenerationStateForTest(psiFile, CompilerSpecialMode.JDK_HEADERS);
|
GenerationState state = GenerationUtils.compileFileGetGenerationStateForTest(psiFile);
|
||||||
|
|
||||||
ClassFileFactory classFileFactory = state.getFactory();
|
ClassFileFactory classFileFactory = state.getFactory();
|
||||||
|
|
||||||
@@ -92,8 +93,8 @@ public class ReadKotlinBinaryClassTest extends TestCaseWithTmpdir {
|
|||||||
jetCoreEnvironment.addToClasspath(tmpdir);
|
jetCoreEnvironment.addToClasspath(tmpdir);
|
||||||
jetCoreEnvironment.addToClasspath(new File("out/production/runtime"));
|
jetCoreEnvironment.addToClasspath(new File("out/production/runtime"));
|
||||||
|
|
||||||
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(
|
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(BuiltinsScopeExtensionMode.ALL,
|
||||||
jetCoreEnvironment.getCompilerSpecialMode(), jetCoreEnvironment.getProject());
|
jetCoreEnvironment.getProject());
|
||||||
JavaDescriptorResolver javaDescriptorResolver = injector.getJavaDescriptorResolver();
|
JavaDescriptorResolver javaDescriptorResolver = injector.getJavaDescriptorResolver();
|
||||||
NamespaceDescriptor namespaceFromClass = javaDescriptorResolver.resolveNamespace(FqName.topLevel(Name.identifier("test")), DescriptorSearchRule.ERROR_IF_FOUND_IN_KOTLIN);
|
NamespaceDescriptor namespaceFromClass = javaDescriptorResolver.resolveNamespace(FqName.topLevel(Name.identifier("test")), DescriptorSearchRule.ERROR_IF_FOUND_IN_KOTLIN);
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ import org.jetbrains.jet.cli.jvm.compiler.CompileEnvironmentUtil;
|
|||||||
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
||||||
import org.jetbrains.jet.codegen.*;
|
import org.jetbrains.jet.codegen.*;
|
||||||
import org.jetbrains.jet.lang.psi.JetFile;
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
|
||||||
import org.jetbrains.jet.lang.resolve.java.JvmStdlibNames;
|
import org.jetbrains.jet.lang.resolve.java.JvmStdlibNames;
|
||||||
import org.jetbrains.jet.plugin.JetLanguage;
|
import org.jetbrains.jet.plugin.JetLanguage;
|
||||||
import org.jetbrains.jet.test.TestCaseWithTmpdir;
|
import org.jetbrains.jet.test.TestCaseWithTmpdir;
|
||||||
@@ -84,7 +83,7 @@ public class WriteSignatureTest extends TestCaseWithTmpdir {
|
|||||||
virtualFile.setCharset(CharsetToolkit.UTF8_CHARSET);
|
virtualFile.setCharset(CharsetToolkit.UTF8_CHARSET);
|
||||||
JetFile psiFile = (JetFile) ((PsiFileFactoryImpl) PsiFileFactory.getInstance(jetCoreEnvironment.getProject())).trySetupPsiForFile(virtualFile, JetLanguage.INSTANCE, true, false);
|
JetFile psiFile = (JetFile) ((PsiFileFactoryImpl) PsiFileFactory.getInstance(jetCoreEnvironment.getProject())).trySetupPsiForFile(virtualFile, JetLanguage.INSTANCE, true, false);
|
||||||
|
|
||||||
ClassFileFactory classFileFactory = GenerationUtils.compileFileGetClassFileFactoryForTest(psiFile, CompilerSpecialMode.REGULAR);
|
ClassFileFactory classFileFactory = GenerationUtils.compileFileGetClassFileFactoryForTest(psiFile);
|
||||||
|
|
||||||
CompileEnvironmentUtil.writeToOutputDirectory(classFileFactory, tmpdir);
|
CompileEnvironmentUtil.writeToOutputDirectory(classFileFactory, tmpdir);
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -32,6 +32,7 @@ import org.jetbrains.jet.TimeUtils;
|
|||||||
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
||||||
import org.jetbrains.jet.config.CompilerConfiguration;
|
import org.jetbrains.jet.config.CompilerConfiguration;
|
||||||
import org.jetbrains.jet.di.InjectorForJavaSemanticServices;
|
import org.jetbrains.jet.di.InjectorForJavaSemanticServices;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
||||||
import org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule;
|
import org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule;
|
||||||
@@ -158,7 +159,7 @@ public class ResolveDescriptorsFromExternalLibraries {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(CompilerSpecialMode.STDLIB, jetCoreEnvironment.getProject());
|
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(BuiltinsScopeExtensionMode.ALL, jetCoreEnvironment.getProject());
|
||||||
|
|
||||||
boolean hasErrors;
|
boolean hasErrors;
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import com.intellij.psi.PsiFile;
|
|||||||
import org.jetbrains.jet.CompileCompilerDependenciesTest;
|
import org.jetbrains.jet.CompileCompilerDependenciesTest;
|
||||||
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
||||||
import org.jetbrains.jet.di.InjectorForTopDownAnalyzerForJvm;
|
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.ModuleDescriptor;
|
||||||
import org.jetbrains.jet.lang.psi.JetPsiFactory;
|
import org.jetbrains.jet.lang.psi.JetPsiFactory;
|
||||||
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
|
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
|
||||||
@@ -74,7 +75,7 @@ public abstract class AbstractLazyResolveTest {
|
|||||||
protected InjectorForTopDownAnalyzerForJvm createInjectorForTDA(ModuleDescriptor module) {
|
protected InjectorForTopDownAnalyzerForJvm createInjectorForTDA(ModuleDescriptor module) {
|
||||||
TopDownAnalysisParameters params = new TopDownAnalysisParameters(
|
TopDownAnalysisParameters params = new TopDownAnalysisParameters(
|
||||||
Predicates.<PsiFile>alwaysTrue(), false, false, Collections.<AnalyzerScriptParameter>emptyList());
|
Predicates.<PsiFile>alwaysTrue(), false, false, Collections.<AnalyzerScriptParameter>emptyList());
|
||||||
return new InjectorForTopDownAnalyzerForJvm(project, params, new BindingTraceContext(), module, CompilerSpecialMode.JDK_HEADERS);
|
return new InjectorForTopDownAnalyzerForJvm(project, params, new BindingTraceContext(), module, BuiltinsScopeExtensionMode.ALL);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import org.jetbrains.jet.JetLiteFixture;
|
|||||||
import org.jetbrains.jet.JetTestCaseBuilder;
|
import org.jetbrains.jet.JetTestCaseBuilder;
|
||||||
import org.jetbrains.jet.JetTestUtils;
|
import org.jetbrains.jet.JetTestUtils;
|
||||||
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||||
import org.jetbrains.jet.lang.psi.JetElement;
|
import org.jetbrains.jet.lang.psi.JetElement;
|
||||||
import org.jetbrains.jet.lang.psi.JetFile;
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
@@ -92,7 +93,7 @@ public class DescriptorRendererTest extends JetLiteFixture {
|
|||||||
AnalyzeExhaust analyzeExhaust =
|
AnalyzeExhaust analyzeExhaust =
|
||||||
AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration(
|
AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration(
|
||||||
(JetFile) psiFile, Collections.<AnalyzerScriptParameter>emptyList(),
|
(JetFile) psiFile, Collections.<AnalyzerScriptParameter>emptyList(),
|
||||||
myEnvironment.getCompilerSpecialMode());
|
BuiltinsScopeExtensionMode.ALL);
|
||||||
final BindingContext bindingContext = analyzeExhaust.getBindingContext();
|
final BindingContext bindingContext = analyzeExhaust.getBindingContext();
|
||||||
final List<DeclarationDescriptor> descriptors = new ArrayList<DeclarationDescriptor>();
|
final List<DeclarationDescriptor> descriptors = new ArrayList<DeclarationDescriptor>();
|
||||||
psiFile.acceptChildren(new JetVisitorVoid() {
|
psiFile.acceptChildren(new JetVisitorVoid() {
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
||||||
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.ClassifierDescriptor;
|
import org.jetbrains.jet.lang.descriptors.ClassifierDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||||
@@ -154,9 +155,8 @@ public abstract class ExpectedResolveData {
|
|||||||
Project project = files.iterator().next().getProject();
|
Project project = files.iterator().next().getProject();
|
||||||
JetStandardLibrary lib = JetStandardLibrary.getInstance();
|
JetStandardLibrary lib = JetStandardLibrary.getInstance();
|
||||||
|
|
||||||
AnalyzeExhaust analyzeExhaust = AnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(project, files, Collections.<AnalyzerScriptParameter>emptyList(),
|
AnalyzeExhaust analyzeExhaust = AnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(project, files,
|
||||||
Predicates.<PsiFile>alwaysTrue(),
|
Collections.<AnalyzerScriptParameter>emptyList(), Predicates.<PsiFile>alwaysTrue(), BuiltinsScopeExtensionMode.ALL);
|
||||||
jetCoreEnvironment.getCompilerSpecialMode());
|
|
||||||
BindingContext bindingContext = analyzeExhaust.getBindingContext();
|
BindingContext bindingContext = analyzeExhaust.getBindingContext();
|
||||||
for (Diagnostic diagnostic : bindingContext.getDiagnostics()) {
|
for (Diagnostic diagnostic : bindingContext.getDiagnostics()) {
|
||||||
if (diagnostic.getFactory() instanceof UnresolvedReferenceDiagnosticFactory) {
|
if (diagnostic.getFactory() instanceof UnresolvedReferenceDiagnosticFactory) {
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.jetbrains.jet.JetTestCaseBuilder;
|
import org.jetbrains.jet.JetTestCaseBuilder;
|
||||||
import org.jetbrains.jet.di.InjectorForJavaSemanticServices;
|
import org.jetbrains.jet.di.InjectorForJavaSemanticServices;
|
||||||
import org.jetbrains.jet.di.InjectorForTests;
|
import org.jetbrains.jet.di.InjectorForTests;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.FunctionDescriptor;
|
import org.jetbrains.jet.lang.descriptors.FunctionDescriptor;
|
||||||
@@ -124,8 +125,7 @@ public class JetResolveTest extends ExtensibleResolveTestCase {
|
|||||||
@NotNull
|
@NotNull
|
||||||
private PsiClass findClass(String qualifiedName) {
|
private PsiClass findClass(String qualifiedName) {
|
||||||
Project project = getProject();
|
Project project = getProject();
|
||||||
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(
|
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(BuiltinsScopeExtensionMode.ALL, project);
|
||||||
myEnvironment.getCompilerSpecialMode(), project);
|
|
||||||
return injector.getPsiClassFinder().findPsiClass(new FqName(qualifiedName), PsiClassFinder.RuntimeClassesHandleMode.THROW);
|
return injector.getPsiClassFinder().findPsiClass(new FqName(qualifiedName), PsiClassFinder.RuntimeClassesHandleMode.THROW);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import org.jetbrains.jet.JetLiteFixture;
|
|||||||
import org.jetbrains.jet.JetTestUtils;
|
import org.jetbrains.jet.JetTestUtils;
|
||||||
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
||||||
import org.jetbrains.jet.di.InjectorForTests;
|
import org.jetbrains.jet.di.InjectorForTests;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.lang.descriptors.*;
|
import org.jetbrains.jet.lang.descriptors.*;
|
||||||
import org.jetbrains.jet.lang.psi.*;
|
import org.jetbrains.jet.lang.psi.*;
|
||||||
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
|
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
|
||||||
@@ -68,7 +69,7 @@ public class JetDefaultModalityModifiersTest extends JetLiteFixture {
|
|||||||
assert aClass instanceof JetClass;
|
assert aClass instanceof JetClass;
|
||||||
AnalyzeExhaust bindingContext = AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration(file,
|
AnalyzeExhaust bindingContext = AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration(file,
|
||||||
Collections.<AnalyzerScriptParameter>emptyList(),
|
Collections.<AnalyzerScriptParameter>emptyList(),
|
||||||
myEnvironment.getCompilerSpecialMode());
|
BuiltinsScopeExtensionMode.ALL);
|
||||||
DeclarationDescriptor classDescriptor = bindingContext.getBindingContext().get(BindingContext.DECLARATION_TO_DESCRIPTOR, aClass);
|
DeclarationDescriptor classDescriptor = bindingContext.getBindingContext().get(BindingContext.DECLARATION_TO_DESCRIPTOR, aClass);
|
||||||
WritableScopeImpl scope = new WritableScopeImpl(
|
WritableScopeImpl scope = new WritableScopeImpl(
|
||||||
libraryScope, root, RedeclarationHandler.DO_NOTHING, "JetDefaultModalityModifiersTest");
|
libraryScope, root, RedeclarationHandler.DO_NOTHING, "JetDefaultModalityModifiersTest");
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import org.jetbrains.jet.JetTestCaseBuilder;
|
|||||||
import org.jetbrains.jet.JetTestUtils;
|
import org.jetbrains.jet.JetTestUtils;
|
||||||
import org.jetbrains.jet.di.InjectorForJavaSemanticServices;
|
import org.jetbrains.jet.di.InjectorForJavaSemanticServices;
|
||||||
import org.jetbrains.jet.di.InjectorForTests;
|
import org.jetbrains.jet.di.InjectorForTests;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.lang.descriptors.*;
|
import org.jetbrains.jet.lang.descriptors.*;
|
||||||
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
||||||
import org.jetbrains.jet.lang.psi.*;
|
import org.jetbrains.jet.lang.psi.*;
|
||||||
@@ -593,8 +594,7 @@ public class JetTypeCheckerTest extends JetLiteFixture {
|
|||||||
WritableScopeImpl writableScope = new WritableScopeImpl(
|
WritableScopeImpl writableScope = new WritableScopeImpl(
|
||||||
scope, scope.getContainingDeclaration(), RedeclarationHandler.DO_NOTHING, "JetTypeCheckerTest.addImports");
|
scope, scope.getContainingDeclaration(), RedeclarationHandler.DO_NOTHING, "JetTypeCheckerTest.addImports");
|
||||||
writableScope.importScope(library.getLibraryScope());
|
writableScope.importScope(library.getLibraryScope());
|
||||||
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(
|
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(BuiltinsScopeExtensionMode.ALL, getProject());
|
||||||
myEnvironment.getCompilerSpecialMode(), getProject());
|
|
||||||
JavaDescriptorResolver javaDescriptorResolver = injector.getJavaDescriptorResolver();
|
JavaDescriptorResolver javaDescriptorResolver = injector.getJavaDescriptorResolver();
|
||||||
writableScope.importScope(javaDescriptorResolver.resolveNamespace(FqName.ROOT,
|
writableScope.importScope(javaDescriptorResolver.resolveNamespace(FqName.ROOT,
|
||||||
DescriptorSearchRule.INCLUDE_KOTLIN).getMemberScope());
|
DescriptorSearchRule.INCLUDE_KOTLIN).getMemberScope());
|
||||||
|
|||||||
@@ -27,16 +27,16 @@ import jet.runtime.typeinfo.JetClass;
|
|||||||
import jet.runtime.typeinfo.JetMethod;
|
import jet.runtime.typeinfo.JetMethod;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.jet.di.InjectorForJavaSemanticServices;
|
import org.jetbrains.jet.di.InjectorForJavaSemanticServices;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.lang.descriptors.*;
|
import org.jetbrains.jet.lang.descriptors.*;
|
||||||
import org.jetbrains.jet.lang.psi.JetDeclaration;
|
import org.jetbrains.jet.lang.psi.JetDeclaration;
|
||||||
import org.jetbrains.jet.lang.psi.JetFile;
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||||
import org.jetbrains.jet.lang.resolve.BindingContextUtils;
|
import org.jetbrains.jet.lang.resolve.BindingContextUtils;
|
||||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
|
||||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
|
||||||
import org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule;
|
import org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule;
|
||||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.java.JvmAbi;
|
import org.jetbrains.jet.lang.resolve.java.JvmAbi;
|
||||||
|
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||||
import org.jetbrains.jet.resolve.DescriptorRenderer;
|
import org.jetbrains.jet.resolve.DescriptorRenderer;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -61,7 +61,7 @@ class DecompiledDataFactory {
|
|||||||
private DecompiledDataFactory(ClsFileImpl clsFile) {
|
private DecompiledDataFactory(ClsFileImpl clsFile) {
|
||||||
myClsFile = clsFile;
|
myClsFile = clsFile;
|
||||||
Project project = myClsFile.getProject();
|
Project project = myClsFile.getProject();
|
||||||
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(CompilerSpecialMode.REGULAR, project);
|
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(BuiltinsScopeExtensionMode.ALL, project);
|
||||||
myBindingContext = injector.getBindingTrace().getBindingContext();
|
myBindingContext = injector.getBindingTrace().getBindingContext();
|
||||||
myJavaDescriptorResolver = injector.getJavaDescriptorResolver();
|
myJavaDescriptorResolver = injector.getJavaDescriptorResolver();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package org.jetbrains.jet.di;
|
|||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
import org.jetbrains.jet.codegen.*;
|
import org.jetbrains.jet.codegen.*;
|
||||||
import org.jetbrains.jet.codegen.intrinsics.IntrinsicMethods;
|
import org.jetbrains.jet.codegen.intrinsics.IntrinsicMethods;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.lang.ModuleConfiguration;
|
import org.jetbrains.jet.lang.ModuleConfiguration;
|
||||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||||
import org.jetbrains.jet.lang.psi.JetFile;
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
@@ -88,7 +89,7 @@ public class AllInjectorsGenerator {
|
|||||||
private static void generateInjectorForTopDownAnalyzerForJvm() throws IOException {
|
private static void generateInjectorForTopDownAnalyzerForJvm() throws IOException {
|
||||||
DependencyInjectorGenerator generator = new DependencyInjectorGenerator(false);
|
DependencyInjectorGenerator generator = new DependencyInjectorGenerator(false);
|
||||||
generateInjectorForTopDownAnalyzerCommon(generator);
|
generateInjectorForTopDownAnalyzerCommon(generator);
|
||||||
generator.addParameter(CompilerSpecialMode.class);
|
generator.addParameter(BuiltinsScopeExtensionMode.class);
|
||||||
generator.addPublicField(JavaBridgeConfiguration.class);
|
generator.addPublicField(JavaBridgeConfiguration.class);
|
||||||
generator.addField(JavaDescriptorResolver.class);
|
generator.addField(JavaDescriptorResolver.class);
|
||||||
generator.addField(PsiClassFinderImpl.class);
|
generator.addField(PsiClassFinderImpl.class);
|
||||||
@@ -151,8 +152,9 @@ public class AllInjectorsGenerator {
|
|||||||
generator.addField(JavaBridgeConfiguration.class);
|
generator.addField(JavaBridgeConfiguration.class);
|
||||||
generator.addPublicField(PsiClassFinderImpl.class);
|
generator.addPublicField(PsiClassFinderImpl.class);
|
||||||
generator.addField(false, ModuleDescriptor.class, null,
|
generator.addField(false, ModuleDescriptor.class, null,
|
||||||
new GivenExpression("new org.jetbrains.jet.lang.descriptors.ModuleDescriptor(org.jetbrains.jet.lang.resolve.name.Name.special(\"<dummy>\"))"));
|
new GivenExpression("new org.jetbrains.jet.lang.descriptors.ModuleDescriptor(" +
|
||||||
generator.addParameter(CompilerSpecialMode.class);
|
"org.jetbrains.jet.lang.resolve.name.Name.special(\"<dummy>\"))"));
|
||||||
|
generator.addParameter(BuiltinsScopeExtensionMode.class);
|
||||||
|
|
||||||
// Parameters
|
// Parameters
|
||||||
generator.addPublicParameter(Project.class);
|
generator.addPublicParameter(Project.class);
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package org.jetbrains.k2js.analyze;
|
|||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||||
import org.jetbrains.jet.lang.DefaultModuleConfiguration;
|
import org.jetbrains.jet.lang.DefaultModuleConfiguration;
|
||||||
import org.jetbrains.jet.lang.ModuleConfiguration;
|
import org.jetbrains.jet.lang.ModuleConfiguration;
|
||||||
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
||||||
@@ -71,7 +72,7 @@ public final class JsConfiguration implements ModuleConfiguration {
|
|||||||
@Override
|
@Override
|
||||||
public void extendNamespaceScope(@NotNull BindingTrace trace, @NotNull NamespaceDescriptor namespaceDescriptor,
|
public void extendNamespaceScope(@NotNull BindingTrace trace, @NotNull NamespaceDescriptor namespaceDescriptor,
|
||||||
@NotNull WritableScope namespaceMemberScope) {
|
@NotNull WritableScope namespaceMemberScope) {
|
||||||
DefaultModuleConfiguration.createStandardConfiguration(project, true)
|
DefaultModuleConfiguration.createStandardConfiguration(project, BuiltinsScopeExtensionMode.ALL)
|
||||||
.extendNamespaceScope(trace, namespaceDescriptor, namespaceMemberScope);
|
.extendNamespaceScope(trace, namespaceDescriptor, namespaceMemberScope);
|
||||||
if (hasPreanalyzedContextForTests()) {
|
if (hasPreanalyzedContextForTests()) {
|
||||||
extendScopeWithPreAnalyzedContextForTests(namespaceDescriptor, namespaceMemberScope);
|
extendScopeWithPreAnalyzedContextForTests(namespaceDescriptor, namespaceMemberScope);
|
||||||
|
|||||||
Reference in New Issue
Block a user