poison GenerationState

This commit is contained in:
Stepan Koltsov
2012-06-08 04:19:23 +04:00
parent 8a3d3d21bd
commit 6860d330f9
@@ -56,6 +56,8 @@ public class GenerationState {
private final ClassBuilderMode classBuilderMode;
private boolean poisoned = false;
// out parameter
private Method scriptConstructorMethod;
@@ -76,6 +78,13 @@ public class GenerationState {
this.files, project, compilerSpecialMode, builderFactory.getClassBuilderMode(), this, builderFactory);
}
private void poison() {
if (poisoned) {
throw new IllegalStateException("already poisoned");
}
poisoned = true;
}
@NotNull
public ClassFileFactory getFactory() {
return getInjector().getClassFileFactory();
@@ -128,6 +137,7 @@ public class GenerationState {
}
public void compileCorrectFiles(@NotNull CompilationErrorHandler errorHandler) {
poison();
for (JetFile file : this.files) {
if (file.isScript()) {