Compiler inline on/off flag

This commit is contained in:
Mikhael Bogdanov
2013-11-22 17:12:17 +04:00
parent 4079735bf2
commit 8533fd64ff
21 changed files with 167 additions and 12 deletions
@@ -70,11 +70,13 @@ public class GenerationState {
private final boolean generateDeclaredClasses;
private final boolean inlineEnabled;
@Nullable
private List<ScriptDescriptor> earlierScriptsForReplInterpreter;
public GenerationState(Project project, ClassBuilderFactory builderFactory, BindingContext bindingContext, List<JetFile> files) {
this(project, builderFactory, Progress.DEAF, bindingContext, files, true, false, true);
public GenerationState(Project project, ClassBuilderFactory builderFactory, BindingContext bindingContext, List<JetFile> files, boolean inlineEnabled) {
this(project, builderFactory, Progress.DEAF, bindingContext, files, true, false, true, inlineEnabled);
}
public GenerationState(
@@ -85,12 +87,14 @@ public class GenerationState {
@NotNull List<JetFile> files,
boolean generateNotNullAssertions,
boolean generateNotNullParamAssertions,
boolean generateDeclaredClasses
boolean generateDeclaredClasses,
boolean inlineEnabled
) {
this.project = project;
this.progress = progress;
this.files = files;
this.classBuilderMode = builderFactory.getClassBuilderMode();
this.inlineEnabled = inlineEnabled;
bindingTrace = new DelegatingBindingTrace(bindingContext, "trace in GenerationState");
this.bindingContext = bindingTrace.getBindingContext();
@@ -169,6 +173,10 @@ public class GenerationState {
return generateDeclaredClasses;
}
public boolean isInlineEnabled() {
return inlineEnabled;
}
public void beforeCompile() {
markUsed();