Properly disposing the environment in GenerateJavaToKotlinMethodMap

This commit is contained in:
Andrey Breslav
2013-09-24 13:07:20 -07:00
parent da1325f5cc
commit c94f97bf57
@@ -17,8 +17,10 @@
package org.jetbrains.jet.generators.jvm; package org.jetbrains.jet.generators.jvm;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.project.Project; import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.io.FileUtil;
import com.intellij.psi.PsiClass; import com.intellij.psi.PsiClass;
@@ -68,7 +70,9 @@ public class GenerateJavaToKotlinMethodMap {
CompilerConfiguration configuration = new CompilerConfiguration(); CompilerConfiguration configuration = new CompilerConfiguration();
configuration.add(CLASSPATH_KEY, PathUtil.findRtJar()); configuration.add(CLASSPATH_KEY, PathUtil.findRtJar());
JetCoreEnvironment coreEnvironment = new JetCoreEnvironment(CompileEnvironmentUtil.createMockDisposable(), configuration); Disposable disposable = CompileEnvironmentUtil.createMockDisposable();
try {
JetCoreEnvironment coreEnvironment = new JetCoreEnvironment(disposable, configuration);
StringBuilder buf = new StringBuilder(); StringBuilder buf = new StringBuilder();
Printer printer = new Printer(buf); Printer printer = new Printer(buf);
@@ -98,6 +102,11 @@ public class GenerateJavaToKotlinMethodMap {
printer.popIndent().println("}"); printer.popIndent().println("}");
return buf; return buf;
} }
finally {
Disposer.dispose(disposable);
}
}
private static class MyMapBuilder extends JavaToKotlinClassMapBuilder { private static class MyMapBuilder extends JavaToKotlinClassMapBuilder {
private final Project project; private final Project project;