DiagnosticHolder added to GenerationState

This commit is contained in:
Andrey Breslav
2014-05-22 13:11:43 +04:00
parent 8135391ba4
commit eb31be2871
8 changed files with 23 additions and 8 deletions
@@ -25,6 +25,7 @@ import org.jetbrains.jet.codegen.inline.InlineCodegenUtil;
import org.jetbrains.jet.codegen.intrinsics.IntrinsicMethods; import org.jetbrains.jet.codegen.intrinsics.IntrinsicMethods;
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor; import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
import org.jetbrains.jet.lang.descriptors.ScriptDescriptor; import org.jetbrains.jet.lang.descriptors.ScriptDescriptor;
import org.jetbrains.jet.lang.diagnostics.DiagnosticHolder;
import org.jetbrains.jet.lang.psi.JetClassOrObject; import org.jetbrains.jet.lang.psi.JetClassOrObject;
import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.reflect.ReflectionTypes; import org.jetbrains.jet.lang.reflect.ReflectionTypes;
@@ -118,7 +119,7 @@ public class GenerationState {
@NotNull List<JetFile> files @NotNull List<JetFile> files
) { ) {
this(project, builderFactory, Progress.DEAF, module, bindingContext, files, true, false, GenerateClassFilter.GENERATE_ALL, this(project, builderFactory, Progress.DEAF, module, bindingContext, files, true, false, GenerateClassFilter.GENERATE_ALL,
InlineCodegenUtil.DEFAULT_INLINE_FLAG, null, null); InlineCodegenUtil.DEFAULT_INLINE_FLAG, null, null, DiagnosticHolder.DO_NOTHING);
} }
public GenerationState( public GenerationState(
@@ -133,7 +134,8 @@ public class GenerationState {
GenerateClassFilter generateClassFilter, GenerateClassFilter generateClassFilter,
boolean inlineEnabled, boolean inlineEnabled,
@Nullable Collection<FqName> packagesWithRemovedFiles, @Nullable Collection<FqName> packagesWithRemovedFiles,
@Nullable String moduleId @Nullable String moduleId,
@NotNull DiagnosticHolder diagnostics
) { ) {
this.project = project; this.project = project;
this.progress = progress; this.progress = progress;
@@ -48,6 +48,7 @@ import org.jetbrains.jet.lang.parsing.JetScriptDefinitionProvider;
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.BindingTrace; import org.jetbrains.jet.lang.resolve.BindingTrace;
import org.jetbrains.jet.lang.resolve.BindingTraceContext;
import org.jetbrains.jet.lang.resolve.ScriptNameUtil; import org.jetbrains.jet.lang.resolve.ScriptNameUtil;
import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM; import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM;
import org.jetbrains.jet.lang.resolve.java.PackageClassUtils; import org.jetbrains.jet.lang.resolve.java.PackageClassUtils;
@@ -339,7 +340,8 @@ public class KotlinToJVMBytecodeCompiler {
GenerationState.GenerateClassFilter.GENERATE_ALL, GenerationState.GenerateClassFilter.GENERATE_ALL,
configuration.get(JVMConfigurationKeys.ENABLE_INLINE, InlineCodegenUtil.DEFAULT_INLINE_FLAG), configuration.get(JVMConfigurationKeys.ENABLE_INLINE, InlineCodegenUtil.DEFAULT_INLINE_FLAG),
packagesWithRemovedFiles, packagesWithRemovedFiles,
moduleId moduleId,
new BindingTraceContext() // TODO
); );
KotlinCodegenFacade.compileCorrectFiles(generationState, CompilationErrorHandler.THROW_EXCEPTION); KotlinCodegenFacade.compileCorrectFiles(generationState, CompilationErrorHandler.THROW_EXCEPTION);
return generationState; return generationState;
@@ -248,7 +248,8 @@ public class ReplInterpreter {
BindingContext bindingContext = AnalyzeExhaust.success(trace.getBindingContext(), module).getBindingContext(); BindingContext bindingContext = AnalyzeExhaust.success(trace.getBindingContext(), module).getBindingContext();
GenerationState generationState = new GenerationState(psiFile.getProject(), ClassBuilderFactories.BINARIES, GenerationState generationState = new GenerationState(psiFile.getProject(), ClassBuilderFactories.BINARIES,
module, bindingContext, Collections.singletonList(psiFile)); module, bindingContext, Collections.singletonList(psiFile)
);
compileScript(psiFile.getScript(), scriptClassType, earlierScripts, generationState, compileScript(psiFile.getScript(), scriptClassType, earlierScripts, generationState,
CompilationErrorHandler.THROW_EXCEPTION); CompilationErrorHandler.THROW_EXCEPTION);
@@ -51,6 +51,7 @@ import org.jetbrains.jet.lang.psi.JetClassOrObject;
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.BindingTraceContext;
import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.FqName;
import java.util.Collection; import java.util.Collection;
@@ -278,7 +279,9 @@ public class KotlinJavaFileStubProvider<T extends WithFileStub> implements Cache
/*generateClassFilter=*/stubGenerationStrategy.getGenerateClassFilter(), /*generateClassFilter=*/stubGenerationStrategy.getGenerateClassFilter(),
/*to generate inline flag on methods*/true, /*to generate inline flag on methods*/true,
null, null,
null); null,
new BindingTraceContext() // TODO
);
state.beforeCompile(); state.beforeCompile();
bindingContext = state.getBindingContext(); bindingContext = state.getBindingContext();
@@ -30,6 +30,7 @@ import org.jetbrains.jet.codegen.inline.InlineCodegenUtil;
import org.jetbrains.jet.codegen.state.GenerationState; import org.jetbrains.jet.codegen.state.GenerationState;
import org.jetbrains.jet.codegen.state.Progress; import org.jetbrains.jet.codegen.state.Progress;
import org.jetbrains.jet.config.CompilerConfiguration; import org.jetbrains.jet.config.CompilerConfiguration;
import org.jetbrains.jet.lang.diagnostics.DiagnosticHolder;
import org.jetbrains.jet.lang.resolve.AnalyzingUtils; import org.jetbrains.jet.lang.resolve.AnalyzingUtils;
import org.jetbrains.jet.lang.resolve.lazy.JvmResolveUtil; import org.jetbrains.jet.lang.resolve.lazy.JvmResolveUtil;
import org.jetbrains.jet.utils.UtilsPackage; import org.jetbrains.jet.utils.UtilsPackage;
@@ -64,7 +65,9 @@ public class CodegenTestUtil {
GenerationState.GenerateClassFilter.GENERATE_ALL, GenerationState.GenerateClassFilter.GENERATE_ALL,
configuration.get(JVMConfigurationKeys.ENABLE_INLINE, InlineCodegenUtil.DEFAULT_INLINE_FLAG), configuration.get(JVMConfigurationKeys.ENABLE_INLINE, InlineCodegenUtil.DEFAULT_INLINE_FLAG),
null, null,
null); null,
DiagnosticHolder.DO_NOTHING
);
KotlinCodegenFacade.compileCorrectFiles(state, CompilationErrorHandler.THROW_EXCEPTION); KotlinCodegenFacade.compileCorrectFiles(state, CompilationErrorHandler.THROW_EXCEPTION);
return state.getFactory(); return state.getFactory();
} }
@@ -202,7 +202,8 @@ public class JetPositionManager implements PositionManager {
GenerationState state = new GenerationState(file.getProject(), ClassBuilderFactories.THROW_EXCEPTION, GenerationState state = new GenerationState(file.getProject(), ClassBuilderFactories.THROW_EXCEPTION,
analyzeExhaust.getModuleDescriptor(), analyzeExhaust.getBindingContext(), analyzeExhaust.getModuleDescriptor(), analyzeExhaust.getBindingContext(),
new ArrayList<JetFile>(packageFiles)); new ArrayList<JetFile>(packageFiles)
);
state.beforeCompile(); state.beforeCompile();
return new Result<JetTypeMapper>(state.getTypeMapper(), PsiModificationTracker.MODIFICATION_COUNT); return new Result<JetTypeMapper>(state.getTypeMapper(), PsiModificationTracker.MODIFICATION_COUNT);
} }
@@ -71,6 +71,7 @@ import com.sun.jdi.request.EventRequest
import com.sun.jdi.ObjectReference import com.sun.jdi.ObjectReference
import com.intellij.debugger.engine.SuspendContext import com.intellij.debugger.engine.SuspendContext
import org.jetbrains.jet.plugin.refactoring.extractFunction.ExtractionOptions import org.jetbrains.jet.plugin.refactoring.extractFunction.ExtractionOptions
import org.jetbrains.jet.lang.diagnostics.DiagnosticHolder
object KotlinEvaluationBuilder: EvaluatorBuilder { object KotlinEvaluationBuilder: EvaluatorBuilder {
override fun build(codeFragment: PsiElement, position: SourcePosition?): ExpressionEvaluator { override fun build(codeFragment: PsiElement, position: SourcePosition?): ExpressionEvaluator {
@@ -43,6 +43,7 @@ import org.jetbrains.jet.codegen.CompilationErrorHandler;
import org.jetbrains.jet.codegen.KotlinCodegenFacade; import org.jetbrains.jet.codegen.KotlinCodegenFacade;
import org.jetbrains.jet.codegen.state.GenerationState; import org.jetbrains.jet.codegen.state.GenerationState;
import org.jetbrains.jet.codegen.state.Progress; import org.jetbrains.jet.codegen.state.Progress;
import org.jetbrains.jet.lang.diagnostics.DiagnosticHolder;
import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.plugin.JetPluginUtil; import org.jetbrains.jet.plugin.JetPluginUtil;
import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage; import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage;
@@ -114,7 +115,8 @@ public class KotlinBytecodeToolWindow extends JPanel implements Disposable {
exhaust.getModuleDescriptor(), exhaust.getBindingContext(), exhaust.getModuleDescriptor(), exhaust.getBindingContext(),
Collections.singletonList(jetFile), true, true, Collections.singletonList(jetFile), true, true,
GenerationState.GenerateClassFilter.GENERATE_ALL, GenerationState.GenerateClassFilter.GENERATE_ALL,
enableInline.isSelected(), null, null); enableInline.isSelected(), null, null,
DiagnosticHolder.DO_NOTHING);
KotlinCodegenFacade.compileCorrectFiles(state, CompilationErrorHandler.THROW_EXCEPTION); KotlinCodegenFacade.compileCorrectFiles(state, CompilationErrorHandler.THROW_EXCEPTION);
} }
catch (ProcessCanceledException e) { catch (ProcessCanceledException e) {