From 0fddc92a64c12fb576edc8753b48ef4edb66e707 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Thu, 20 Dec 2012 19:00:15 +0400 Subject: [PATCH] Passing virtual file instead of whole JetLightClass --- .../src/org/jetbrains/jet/asJava/JetLightClass.java | 5 ++++- .../jet/asJava/LightClassGenerationStrategy.java | 9 +++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/JetLightClass.java b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/JetLightClass.java index eddcfc841cc..a1242ac1378 100644 --- a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/JetLightClass.java +++ b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/JetLightClass.java @@ -22,6 +22,7 @@ import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.Key; +import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; import com.intellij.psi.impl.PsiClassImplUtil; import com.intellij.psi.impl.java.stubs.PsiClassStub; @@ -210,7 +211,9 @@ public class JetLightClass extends AbstractLightClass implements JetJavaMirrorMa try { GenerationState state = new GenerationState(project, builderFactory, context.getBindingContext(), Collections.singletonList(file)); - GenerationStrategy strategy = new LightClassGenerationStrategy(this, stubStack, answer); + VirtualFile virtualFile = file.getVirtualFile(); + assert virtualFile != null; + GenerationStrategy strategy = new LightClassGenerationStrategy(virtualFile, stubStack, answer); strategy.compileCorrectFiles(state, CompilationErrorHandler.THROW_EXCEPTION); state.getFactory().files(); diff --git a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/LightClassGenerationStrategy.java b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/LightClassGenerationStrategy.java index 8aa1ef0fb1e..37dc908fa03 100644 --- a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/LightClassGenerationStrategy.java +++ b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/LightClassGenerationStrategy.java @@ -17,6 +17,7 @@ package org.jetbrains.jet.asJava; import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.ClassFileViewProvider; import com.intellij.psi.PsiManager; import com.intellij.psi.impl.PsiManagerImpl; @@ -39,10 +40,10 @@ class LightClassGenerationStrategy extends GenerationStrategy { private final Stack stubStack; private final PsiJavaFileStubImpl answer; - private final JetLightClass theClass; + private final VirtualFile virtualFile; - public LightClassGenerationStrategy(JetLightClass aClass, Stack stubStack, PsiJavaFileStubImpl answer) { - this.theClass = aClass; + public LightClassGenerationStrategy(@NotNull VirtualFile virtualFile, Stack stubStack, PsiJavaFileStubImpl answer) { + this.virtualFile = virtualFile; this.stubStack = stubStack; this.answer = answer; } @@ -59,7 +60,7 @@ class LightClassGenerationStrategy extends GenerationStrategy { answer.setPsiFactory(new ClsWrapperStubPsiFactory()); final ClsFileImpl fakeFile = - new ClsFileImpl((PsiManagerImpl) manager, new ClassFileViewProvider(manager, theClass.getFile().getVirtualFile())) { + new ClsFileImpl((PsiManagerImpl) manager, new ClassFileViewProvider(manager, virtualFile)) { @NotNull @Override public PsiClassHolderFileStub getStub() {