WEB-20618 JS debugger memory leak

This commit is contained in:
Konstantin Ulitin
2016-05-25 18:57:53 +03:00
parent f93ebf7a9b
commit ea6143f6fd
@@ -177,8 +177,10 @@ public final class LanguageConsoleBuilder {
}
@NotNull
public LanguageConsoleView build(@NotNull Project project, @NotNull Language language) {
GutteredLanguageConsole consoleView = new GutteredLanguageConsole(new MyHelper(project, language.getDisplayName() + " Console", language, psiFileFactory), gutterContentProvider);
public LanguageConsoleView build(@NotNull Project project, @NotNull Language language, @Nullable VirtualFile virtualFileToReuse) {
final VirtualFile virtualFile =
virtualFileToReuse != null ? virtualFileToReuse : new LightVirtualFile(language.getDisplayName() + " Console", language, "");
GutteredLanguageConsole consoleView = new GutteredLanguageConsole(new MyHelper(project, virtualFile, psiFileFactory), gutterContentProvider);
if (oneLineInput) {
consoleView.getConsoleEditor().setOneLineMode(true);
}
@@ -204,8 +206,10 @@ public final class LanguageConsoleBuilder {
GutteredLanguageConsole console;
public MyHelper(@NotNull Project project, @NotNull String title, @NotNull Language language, @Nullable PairFunction<VirtualFile, Project, PsiFile> psiFileFactory) {
super(project, new LightVirtualFile(title, language, ""));
public MyHelper(@NotNull Project project,
@NotNull VirtualFile virtualFile,
@Nullable PairFunction<VirtualFile, Project, PsiFile> psiFileFactory) {
super(project, virtualFile);
this.psiFileFactory = psiFileFactory;
}