From 060be0a8f87abe57d176a31b891706847f292b1d Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Thu, 29 Mar 2012 21:18:35 +0400 Subject: [PATCH] Refactor dependencies, so jet-as-java might be used in cli. --- build.xml | 2 - .../jet/compiler/CliJetFilesProvider.java | 60 +++++++++++++++++ .../jet/compiler/CompileEnvironment.java | 6 +- .../jet/compiler/CompileSession.java | 9 ++- .../jet/compiler/JetCoreEnvironment.java | 17 ++++- .../lang/resolve/java/JetFilesProvider.java | 38 +++++++++++ compiler/jet.as.java.psi/jet.as.java.psi.iml | 2 +- .../jet/asJava/JavaElementFinder.java | 23 ++++++- .../org/jetbrains/jet/asJava/JetFileUtil.java | 67 ------------------- .../jetbrains/jet/asJava/JetLightClass.java | 5 +- .../jetbrains/jet/codegen/TestlibTest.java | 3 +- idea/src/META-INF/plugin.xml | 3 + .../plugin/JetQuickDocumentationProvider.java | 2 +- .../actions/CopyAsDiagnosticTestAction.java | 3 +- .../actions/ShowExpressionTypeAction.java | 2 +- .../annotations/DebugInfoAnnotator.java | 2 +- .../annotations/JetLineMarkerProvider.java | 2 +- .../jet/plugin/annotations/JetPsiChecker.java | 2 +- .../jet/plugin/caches/JetShortNamesCache.java | 2 +- .../OverrideImplementMethodsHandler.java | 2 +- .../completion/JetCompletionContributor.java | 2 +- .../plugin/debugger/JetPositionManager.java | 10 ++- .../codewindow/BytecodeToolwindow.java | 2 +- .../resolvewindow/ResolveToolwindow.java | 2 +- .../AnonymousTemplateEditingListener.java | 2 +- .../macro/BaseJetVariableMacro.java | 2 +- .../macro/JetAnonymousSuperMacro.java | 2 +- .../project/PluginJetFilesProvider.java | 64 +++++++++++------- .../project/WholeProjectAnalyzerFacade.java | 45 +++++++++++++ .../projectView/JetDeclarationTreeNode.java | 2 +- .../refactoring/JetNameValidatorImpl.java | 6 +- .../references/JetArrayAccessReference.java | 2 +- .../references/JetPackageReference.java | 2 +- .../plugin/references/JetPsiReference.java | 2 +- .../references/JetSimpleNameReference.java | 2 +- .../JetStructureViewElement.java | 2 +- .../rename/RenameInKotlinTest.java | 2 +- 37 files changed, 263 insertions(+), 140 deletions(-) create mode 100644 compiler/cli/src/org/jetbrains/jet/compiler/CliJetFilesProvider.java create mode 100644 compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JetFilesProvider.java delete mode 100644 compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/JetFileUtil.java rename compiler/jet.as.java.psi/src/org/jetbrains/jet/plugin/compiler/WholeProjectAnalyzerFacade.java => idea/src/org/jetbrains/jet/plugin/project/PluginJetFilesProvider.java (64%) create mode 100644 idea/src/org/jetbrains/jet/plugin/project/WholeProjectAnalyzerFacade.java diff --git a/build.xml b/build.xml index 223da993e32..b81c8aac5f1 100644 --- a/build.xml +++ b/build.xml @@ -34,9 +34,7 @@ - diff --git a/compiler/cli/src/org/jetbrains/jet/compiler/CliJetFilesProvider.java b/compiler/cli/src/org/jetbrains/jet/compiler/CliJetFilesProvider.java new file mode 100644 index 00000000000..a5ece0cdf01 --- /dev/null +++ b/compiler/cli/src/org/jetbrains/jet/compiler/CliJetFilesProvider.java @@ -0,0 +1,60 @@ +/* + * Copyright 2010-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * @author max + */ +package org.jetbrains.jet.compiler; + +import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.util.Function; +import org.jetbrains.jet.lang.psi.JetFile; +import org.jetbrains.jet.lang.resolve.java.JetFilesProvider; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +public class CliJetFilesProvider extends JetFilesProvider { + private final JetCoreEnvironment environment; + private Function> all_files = new Function>() { + @Override + public Collection fun(JetFile file) { + return environment.getSession().getSourceFiles(); + } + + }; + + public CliJetFilesProvider(JetCoreEnvironment environment) { + this.environment = environment; + } + + @Override + public Function> sampleToAllFilesInModule() { + return all_files; + } + + @Override + public List allInScope(GlobalSearchScope scope) { + List answer = new ArrayList(); + for (JetFile file : environment.getSession().getSourceFiles()) { + if (scope.contains(file.getVirtualFile())) { + answer.add(file); + } + } + return answer; + } +} diff --git a/compiler/cli/src/org/jetbrains/jet/compiler/CompileEnvironment.java b/compiler/cli/src/org/jetbrains/jet/compiler/CompileEnvironment.java index 8d24ed70f0d..4a883b8f5c3 100644 --- a/compiler/cli/src/org/jetbrains/jet/compiler/CompileEnvironment.java +++ b/compiler/cli/src/org/jetbrains/jet/compiler/CompileEnvironment.java @@ -394,7 +394,7 @@ public class CompileEnvironment { session.addSources(sourceFileOrDir); FqName mainClass = null; - for (JetFile file : session.getSourceFileNamespaces()) { + for (JetFile file : session.getSourceFiles()) { if (JetMainDetector.hasMain(file.getDeclarations())) { FqName fqName = JetPsiUtil.getFQName(file); mainClass = fqName.child(JvmAbi.PACKAGE_CLASS); @@ -426,7 +426,9 @@ public class CompileEnvironment { } private CompileSession newCompileSession() { - return new CompileSession(environment, messageRenderer, errorStream, verbose); + CompileSession answer = new CompileSession(environment, messageRenderer, errorStream, verbose); + environment.setSession(answer); + return answer; } public static void writeToOutputDirectory(ClassFileFactory factory, final String outputDir) { diff --git a/compiler/cli/src/org/jetbrains/jet/compiler/CompileSession.java b/compiler/cli/src/org/jetbrains/jet/compiler/CompileSession.java index 966fc5aaeef..d87ec338f4d 100644 --- a/compiler/cli/src/org/jetbrains/jet/compiler/CompileSession.java +++ b/compiler/cli/src/org/jetbrains/jet/compiler/CompileSession.java @@ -26,7 +26,10 @@ import com.intellij.psi.PsiFile; import com.intellij.psi.PsiManager; import com.intellij.psi.PsiRecursiveElementWalkingVisitor; import org.jetbrains.annotations.NotNull; -import org.jetbrains.jet.codegen.*; +import org.jetbrains.jet.codegen.ClassBuilderFactories; +import org.jetbrains.jet.codegen.CompilationErrorHandler; +import org.jetbrains.jet.codegen.GenerationState; +import org.jetbrains.jet.codegen.JetTypeMapper; import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory; import org.jetbrains.jet.lang.descriptors.ClassDescriptor; import org.jetbrains.jet.lang.descriptors.ClassOrNamespaceDescriptor; @@ -136,7 +139,7 @@ public class CompileSession { } } - public List getSourceFileNamespaces() { + public List getSourceFiles() { return sourceFiles; } @@ -221,7 +224,7 @@ public class CompileSession { List plugins = environment.getCompilerPlugins(); if (!module) { if (plugins != null) { - CompilerPluginContext context = new CompilerPluginContext(project, bindingContext.getBindingContext(), getSourceFileNamespaces()); + CompilerPluginContext context = new CompilerPluginContext(project, bindingContext.getBindingContext(), getSourceFiles()); for (CompilerPlugin plugin : plugins) { plugin.processFiles(context); } diff --git a/compiler/cli/src/org/jetbrains/jet/compiler/JetCoreEnvironment.java b/compiler/cli/src/org/jetbrains/jet/compiler/JetCoreEnvironment.java index 3b2775fd8a1..c754a2b3c2c 100644 --- a/compiler/cli/src/org/jetbrains/jet/compiler/JetCoreEnvironment.java +++ b/compiler/cli/src/org/jetbrains/jet/compiler/JetCoreEnvironment.java @@ -20,8 +20,12 @@ import com.intellij.core.JavaCoreEnvironment; import com.intellij.lang.java.JavaParserDefinition; import com.intellij.mock.MockApplication; import com.intellij.openapi.Disposable; +import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.psi.PsiElementFinder; +import org.jetbrains.jet.asJava.JavaElementFinder; import org.jetbrains.jet.lang.parsing.JetParserDefinition; +import org.jetbrains.jet.lang.resolve.java.JetFilesProvider; import org.jetbrains.jet.lang.types.lang.JetStandardLibrary; import org.jetbrains.jet.plugin.JetFileType; import org.jetbrains.jet.utils.PathUtil; @@ -37,6 +41,7 @@ import java.util.List; */ public class JetCoreEnvironment extends JavaCoreEnvironment { private List compilerPlugins = new ArrayList(); + private CompileSession session; public JetCoreEnvironment(Disposable parentDisposable) { super(parentDisposable); @@ -47,11 +52,11 @@ public class JetCoreEnvironment extends JavaCoreEnvironment { registerParserDefinition(new JavaParserDefinition()); registerParserDefinition(new JetParserDefinition()); -/* + + myProject.registerService(JetFilesProvider.class, new CliJetFilesProvider(this)); Extensions.getArea(myProject) .getExtensionPoint(PsiElementFinder.EP_NAME) .registerExtension(new JavaElementFinder(myProject)); -*/ for (VirtualFile root : PathUtil.getAltHeadersRoots()) { addLibraryRoot(root); @@ -85,4 +90,12 @@ public class JetCoreEnvironment extends JavaCoreEnvironment { } } } + + public void setSession(CompileSession session) { + this.session = session; + } + + public CompileSession getSession() { + return session; + } } diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JetFilesProvider.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JetFilesProvider.java new file mode 100644 index 00000000000..55834d5ae0d --- /dev/null +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JetFilesProvider.java @@ -0,0 +1,38 @@ +/* + * Copyright 2010-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * @author max + */ +package org.jetbrains.jet.lang.resolve.java; + +import com.intellij.openapi.components.ServiceManager; +import com.intellij.openapi.project.Project; +import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.util.Function; +import org.jetbrains.jet.lang.psi.JetFile; + +import java.util.Collection; +import java.util.List; + +public abstract class JetFilesProvider { + public static JetFilesProvider getInstance(Project project) { + return ServiceManager.getService(project, JetFilesProvider.class); + } + + public abstract Function> sampleToAllFilesInModule(); + public abstract List allInScope(GlobalSearchScope scope); +} diff --git a/compiler/jet.as.java.psi/jet.as.java.psi.iml b/compiler/jet.as.java.psi/jet.as.java.psi.iml index 6d17b709c0f..7813f4a5f78 100644 --- a/compiler/jet.as.java.psi/jet.as.java.psi.iml +++ b/compiler/jet.as.java.psi/jet.as.java.psi.iml @@ -10,7 +10,7 @@ - + diff --git a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/JavaElementFinder.java b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/JavaElementFinder.java index 437e668f6a5..8a45a0774c9 100644 --- a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/JavaElementFinder.java +++ b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/JavaElementFinder.java @@ -32,6 +32,7 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.codegen.JetTypeMapper; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.FqName; +import org.jetbrains.jet.lang.resolve.java.JetFilesProvider; import org.jetbrains.jet.lang.resolve.java.JvmAbi; import org.jetbrains.jet.util.QualifiedNamesUtil; @@ -51,7 +52,7 @@ public class JavaElementFinder extends PsiElementFinder { psiManager = PsiManager.getInstance(project); // Monitoring for files instead of collecting them each time - VirtualFileManager.getInstance().addVirtualFileListener(new VirtualFileAdapter() { + VirtualFileManager.getInstance().addVirtualFileListener(new VirtualFileListener() { @Override public void fileCreated(VirtualFileEvent event) { invalidateJetFilesCache(); @@ -71,6 +72,24 @@ public class JavaElementFinder extends PsiElementFinder { public void fileCopied(VirtualFileCopyEvent event) { invalidateJetFilesCache(); } + + @Override + public void propertyChanged(VirtualFilePropertyEvent event) {} + + @Override + public void contentsChanged(VirtualFileEvent event) {} + + @Override + public void beforePropertyChange(VirtualFilePropertyEvent event) {} + + @Override + public void beforeContentsChange(VirtualFileEvent event) {} + + @Override + public void beforeFileDeletion(VirtualFileEvent event) {} + + @Override + public void beforeFileMovement(VirtualFileMoveEvent event) {} }); } @@ -230,7 +249,7 @@ public class JavaElementFinder extends PsiElementFinder { List cachedFiles = jetFiles.get(scope); if (cachedFiles == null) { - cachedFiles = JetFileUtil.collectJetFiles(project, scope); + cachedFiles = JetFilesProvider.getInstance(project).allInScope(scope); jetFiles.put(scope, cachedFiles); } diff --git a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/JetFileUtil.java b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/JetFileUtil.java deleted file mode 100644 index 2249144c974..00000000000 --- a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/JetFileUtil.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2010-2012 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.jet.asJava; - -import com.intellij.openapi.compiler.ex.CompilerPathsEx; -import com.intellij.openapi.fileTypes.FileType; -import com.intellij.openapi.fileTypes.FileTypeManager; -import com.intellij.openapi.project.Project; -import com.intellij.openapi.roots.ProjectRootManager; -import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.psi.PsiFile; -import com.intellij.psi.PsiManager; -import com.intellij.psi.search.GlobalSearchScope; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.jet.lang.psi.JetFile; -import org.jetbrains.jet.plugin.JetFileType; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -/** - * @author Nikolay Krasko - */ -public final class JetFileUtil { - - private JetFileUtil() {} - - public static List collectJetFiles(final Project project, @NotNull final GlobalSearchScope scope) { - final List answer = new ArrayList(); - - final FileTypeManager fileTypeManager = FileTypeManager.getInstance(); - List contentRoots = Arrays.asList(ProjectRootManager.getInstance(project).getContentRoots()); - final PsiManager manager = PsiManager.getInstance(project); - - CompilerPathsEx.visitFiles(contentRoots, new CompilerPathsEx.FileVisitor() { - @Override - protected void acceptFile(VirtualFile file, String fileRoot, String filePath) { - final FileType fileType = fileTypeManager.getFileTypeByFile(file); - if (fileType != JetFileType.INSTANCE) return; - - if (scope.accept(file)) { - final PsiFile psiFile = manager.findFile(file); - if (psiFile instanceof JetFile) { - answer.add((JetFile) psiFile); - } - } - } - }); - - return answer; - } -} 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 8e2155bba2f..ed3b3ed3888 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 @@ -50,9 +50,9 @@ import org.jetbrains.jet.lang.psi.JetPsiUtil; import org.jetbrains.jet.lang.resolve.FqName; import org.jetbrains.jet.lang.resolve.java.AnalyzeExhaust; import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM; +import org.jetbrains.jet.lang.resolve.java.JetFilesProvider; import org.jetbrains.jet.lang.resolve.java.JetJavaMirrorMarker; import org.jetbrains.jet.plugin.JetLanguage; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; import org.jetbrains.jet.util.QualifiedNamesUtil; import javax.swing.*; @@ -158,7 +158,8 @@ public class JetLightClass extends AbstractLightClass implements JetJavaMirrorMa // The context must reflect _all files in the module_. not only the current file // Otherwise, the analyzer gets confused and can't, for example, tell which files come as sources and which // must be loaded from .class files - AnalyzeExhaust context = AnalyzerFacadeForJVM.shallowAnalyzeFiles(WholeProjectAnalyzerFacade.WHOLE_PROJECT_DECLARATION_PROVIDER.fun(file)); + AnalyzeExhaust context = AnalyzerFacadeForJVM.shallowAnalyzeFiles( + JetFilesProvider.getInstance(project).sampleToAllFilesInModule().fun(file)); final GenerationState state = new GenerationState(project, builderFactory, context, Collections.singletonList(file)) { @Override diff --git a/compiler/tests/org/jetbrains/jet/codegen/TestlibTest.java b/compiler/tests/org/jetbrains/jet/codegen/TestlibTest.java index a339d2ca5a5..af503b444c7 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/TestlibTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/TestlibTest.java @@ -23,7 +23,6 @@ import junit.framework.TestCase; import junit.framework.TestSuite; import org.jetbrains.jet.compiler.CompileSession; import org.jetbrains.jet.compiler.MessageRenderer; -import org.jetbrains.jet.di.InjectorForJvmCodegen; import org.jetbrains.jet.lang.descriptors.ClassDescriptor; import org.jetbrains.jet.lang.psi.JetClass; import org.jetbrains.jet.lang.psi.JetDeclaration; @@ -101,7 +100,7 @@ public class TestlibTest extends CodegenTestCase { JetTypeMapper typeMapper = state.getInjector().getJetTypeMapper(); TestSuite suite = new TestSuite("stdlib_test"); try { - for(JetFile jetFile : session.getSourceFileNamespaces()) { + for(JetFile jetFile : session.getSourceFiles()) { for(JetDeclaration decl : jetFile.getDeclarations()) { if(decl instanceof JetClass) { JetClass jetClass = (JetClass) decl; diff --git a/idea/src/META-INF/plugin.xml b/idea/src/META-INF/plugin.xml index 3bbd6dd0a8b..f56cae139a5 100644 --- a/idea/src/META-INF/plugin.xml +++ b/idea/src/META-INF/plugin.xml @@ -52,6 +52,9 @@ + + diff --git a/idea/src/org/jetbrains/jet/plugin/JetQuickDocumentationProvider.java b/idea/src/org/jetbrains/jet/plugin/JetQuickDocumentationProvider.java index 033e4e70ea1..4646441459c 100644 --- a/idea/src/org/jetbrains/jet/plugin/JetQuickDocumentationProvider.java +++ b/idea/src/org/jetbrains/jet/plugin/JetQuickDocumentationProvider.java @@ -24,7 +24,7 @@ import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetReferenceExpression; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.BindingContextUtils; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import org.jetbrains.jet.resolve.DescriptorRenderer; /** diff --git a/idea/src/org/jetbrains/jet/plugin/actions/CopyAsDiagnosticTestAction.java b/idea/src/org/jetbrains/jet/plugin/actions/CopyAsDiagnosticTestAction.java index 8adbf1c68c1..501b71c6fa5 100644 --- a/idea/src/org/jetbrains/jet/plugin/actions/CopyAsDiagnosticTestAction.java +++ b/idea/src/org/jetbrains/jet/plugin/actions/CopyAsDiagnosticTestAction.java @@ -22,14 +22,13 @@ import com.intellij.openapi.actionSystem.LangDataKeys; import com.intellij.openapi.actionSystem.PlatformDataKeys; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.editor.Editor; -import com.intellij.openapi.util.TextRange; import com.intellij.psi.PsiErrorElement; import com.intellij.psi.PsiFile; import org.jetbrains.jet.checkers.CheckerTestUtil; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.resolve.AnalyzingUtils; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import java.awt.*; import java.awt.datatransfer.Clipboard; diff --git a/idea/src/org/jetbrains/jet/plugin/actions/ShowExpressionTypeAction.java b/idea/src/org/jetbrains/jet/plugin/actions/ShowExpressionTypeAction.java index 80fe8f6a69f..92e506f9688 100644 --- a/idea/src/org/jetbrains/jet/plugin/actions/ShowExpressionTypeAction.java +++ b/idea/src/org/jetbrains/jet/plugin/actions/ShowExpressionTypeAction.java @@ -30,7 +30,7 @@ import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.plugin.JetLanguage; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; /** * @author yole diff --git a/idea/src/org/jetbrains/jet/plugin/annotations/DebugInfoAnnotator.java b/idea/src/org/jetbrains/jet/plugin/annotations/DebugInfoAnnotator.java index 8bafd6e9a1c..75b593254df 100644 --- a/idea/src/org/jetbrains/jet/plugin/annotations/DebugInfoAnnotator.java +++ b/idea/src/org/jetbrains/jet/plugin/annotations/DebugInfoAnnotator.java @@ -35,7 +35,7 @@ import org.jetbrains.jet.lang.types.ErrorUtils; import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.lexer.JetTokens; import org.jetbrains.jet.plugin.JetHighlighter; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import java.util.Collection; import java.util.Set; diff --git a/idea/src/org/jetbrains/jet/plugin/annotations/JetLineMarkerProvider.java b/idea/src/org/jetbrains/jet/plugin/annotations/JetLineMarkerProvider.java index 29e3f8f70c7..82351ffefdf 100644 --- a/idea/src/org/jetbrains/jet/plugin/annotations/JetLineMarkerProvider.java +++ b/idea/src/org/jetbrains/jet/plugin/annotations/JetLineMarkerProvider.java @@ -39,7 +39,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import org.jetbrains.jet.resolve.DescriptorRenderer; import javax.swing.*; diff --git a/idea/src/org/jetbrains/jet/plugin/annotations/JetPsiChecker.java b/idea/src/org/jetbrains/jet/plugin/annotations/JetPsiChecker.java index 5f8824d521a..952038775c7 100644 --- a/idea/src/org/jetbrains/jet/plugin/annotations/JetPsiChecker.java +++ b/idea/src/org/jetbrains/jet/plugin/annotations/JetPsiChecker.java @@ -40,7 +40,7 @@ import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.plugin.JetHighlighter; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import org.jetbrains.jet.plugin.quickfix.JetIntentionActionFactory; import org.jetbrains.jet.plugin.quickfix.QuickFixes; diff --git a/idea/src/org/jetbrains/jet/plugin/caches/JetShortNamesCache.java b/idea/src/org/jetbrains/jet/plugin/caches/JetShortNamesCache.java index 0ac4eb114d2..547e8a8310a 100644 --- a/idea/src/org/jetbrains/jet/plugin/caches/JetShortNamesCache.java +++ b/idea/src/org/jetbrains/jet/plugin/caches/JetShortNamesCache.java @@ -42,7 +42,7 @@ import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils; import org.jetbrains.jet.lang.types.lang.JetStandardClasses; import org.jetbrains.jet.lang.types.lang.JetStandardLibrary; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import org.jetbrains.jet.plugin.stubindex.JetExtensionFunctionNameIndex; import org.jetbrains.jet.plugin.stubindex.JetFullClassNameIndex; import org.jetbrains.jet.plugin.stubindex.JetShortClassNameIndex; diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java index 2dcc1968fb5..48b9f5b8072 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java @@ -34,7 +34,7 @@ import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.lang.types.lang.JetStandardLibrary; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import org.jetbrains.jet.plugin.quickfix.ImportInsertHelper; import org.jetbrains.jet.resolve.DescriptorRenderer; diff --git a/idea/src/org/jetbrains/jet/plugin/completion/JetCompletionContributor.java b/idea/src/org/jetbrains/jet/plugin/completion/JetCompletionContributor.java index f70edb81621..47237a0d491 100644 --- a/idea/src/org/jetbrains/jet/plugin/completion/JetCompletionContributor.java +++ b/idea/src/org/jetbrains/jet/plugin/completion/JetCompletionContributor.java @@ -36,7 +36,7 @@ import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lexer.JetTokens; import org.jetbrains.jet.plugin.caches.JetCacheManager; import org.jetbrains.jet.plugin.caches.JetShortNamesCache; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import org.jetbrains.jet.plugin.references.JetSimpleNameReference; import java.util.Collection; diff --git a/idea/src/org/jetbrains/jet/plugin/debugger/JetPositionManager.java b/idea/src/org/jetbrains/jet/plugin/debugger/JetPositionManager.java index 3839c39f93a..c17df603b19 100644 --- a/idea/src/org/jetbrains/jet/plugin/debugger/JetPositionManager.java +++ b/idea/src/org/jetbrains/jet/plugin/debugger/JetPositionManager.java @@ -34,16 +34,14 @@ import com.sun.jdi.ReferenceType; import com.sun.jdi.request.ClassPrepareRequest; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.jet.codegen.ClosureAnnotator; import org.jetbrains.jet.codegen.JetTypeMapper; import org.jetbrains.jet.codegen.NamespaceCodegen; import org.jetbrains.jet.di.InjectorForJetTypeMapper; -import org.jetbrains.jet.di.InjectorForJvmCodegen; -import org.jetbrains.jet.lang.psi.*; -import org.jetbrains.jet.lang.resolve.BindingContext; +import org.jetbrains.jet.lang.psi.JetClassOrObject; +import org.jetbrains.jet.lang.psi.JetFile; +import org.jetbrains.jet.lang.psi.JetPsiUtil; import org.jetbrains.jet.lang.resolve.java.AnalyzeExhaust; -import org.jetbrains.jet.lang.types.lang.JetStandardLibrary; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import java.util.*; diff --git a/idea/src/org/jetbrains/jet/plugin/internal/codewindow/BytecodeToolwindow.java b/idea/src/org/jetbrains/jet/plugin/internal/codewindow/BytecodeToolwindow.java index d6dd7c99a00..42a7f9cfadc 100644 --- a/idea/src/org/jetbrains/jet/plugin/internal/codewindow/BytecodeToolwindow.java +++ b/idea/src/org/jetbrains/jet/plugin/internal/codewindow/BytecodeToolwindow.java @@ -42,7 +42,7 @@ import org.jetbrains.jet.codegen.CompilationErrorHandler; import org.jetbrains.jet.codegen.GenerationState; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.resolve.java.AnalyzeExhaust; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import javax.swing.*; import java.awt.*; diff --git a/idea/src/org/jetbrains/jet/plugin/internal/resolvewindow/ResolveToolwindow.java b/idea/src/org/jetbrains/jet/plugin/internal/resolvewindow/ResolveToolwindow.java index 23885b96585..6cf342f93da 100644 --- a/idea/src/org/jetbrains/jet/plugin/internal/resolvewindow/ResolveToolwindow.java +++ b/idea/src/org/jetbrains/jet/plugin/internal/resolvewindow/ResolveToolwindow.java @@ -47,8 +47,8 @@ import org.jetbrains.jet.lang.resolve.calls.inference.BoundsOwner; import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor; import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.plugin.JetFileType; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; import org.jetbrains.jet.plugin.internal.codewindow.BytecodeToolwindow; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import org.jetbrains.jet.util.slicedmap.ReadOnlySlice; import org.jetbrains.jet.util.slicedmap.WritableSlice; diff --git a/idea/src/org/jetbrains/jet/plugin/liveTemplates/macro/AnonymousTemplateEditingListener.java b/idea/src/org/jetbrains/jet/plugin/liveTemplates/macro/AnonymousTemplateEditingListener.java index e9b74bde758..bdea6c0959b 100644 --- a/idea/src/org/jetbrains/jet/plugin/liveTemplates/macro/AnonymousTemplateEditingListener.java +++ b/idea/src/org/jetbrains/jet/plugin/liveTemplates/macro/AnonymousTemplateEditingListener.java @@ -34,7 +34,7 @@ import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetReferenceExpression; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.plugin.codeInsight.ImplementMethodsHandler; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import java.util.HashMap; import java.util.Map; diff --git a/idea/src/org/jetbrains/jet/plugin/liveTemplates/macro/BaseJetVariableMacro.java b/idea/src/org/jetbrains/jet/plugin/liveTemplates/macro/BaseJetVariableMacro.java index b978b40c85f..d558445146e 100644 --- a/idea/src/org/jetbrains/jet/plugin/liveTemplates/macro/BaseJetVariableMacro.java +++ b/idea/src/org/jetbrains/jet/plugin/liveTemplates/macro/BaseJetVariableMacro.java @@ -37,7 +37,7 @@ import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.scopes.JetScope; import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import java.util.ArrayList; import java.util.LinkedHashSet; diff --git a/idea/src/org/jetbrains/jet/plugin/liveTemplates/macro/JetAnonymousSuperMacro.java b/idea/src/org/jetbrains/jet/plugin/liveTemplates/macro/JetAnonymousSuperMacro.java index 627547c885c..7c6f37d7326 100644 --- a/idea/src/org/jetbrains/jet/plugin/liveTemplates/macro/JetAnonymousSuperMacro.java +++ b/idea/src/org/jetbrains/jet/plugin/liveTemplates/macro/JetAnonymousSuperMacro.java @@ -38,7 +38,7 @@ import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.scopes.JetScope; import org.jetbrains.jet.plugin.JetBundle; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import java.util.ArrayList; import java.util.LinkedHashSet; diff --git a/compiler/jet.as.java.psi/src/org/jetbrains/jet/plugin/compiler/WholeProjectAnalyzerFacade.java b/idea/src/org/jetbrains/jet/plugin/project/PluginJetFilesProvider.java similarity index 64% rename from compiler/jet.as.java.psi/src/org/jetbrains/jet/plugin/compiler/WholeProjectAnalyzerFacade.java rename to idea/src/org/jetbrains/jet/plugin/project/PluginJetFilesProvider.java index ccb41df4881..d69f562278b 100644 --- a/compiler/jet.as.java.psi/src/org/jetbrains/jet/plugin/compiler/WholeProjectAnalyzerFacade.java +++ b/idea/src/org/jetbrains/jet/plugin/project/PluginJetFilesProvider.java @@ -14,9 +14,13 @@ * limitations under the License. */ -package org.jetbrains.jet.plugin.compiler; +/* + * @author max + */ +package org.jetbrains.jet.plugin.project; import com.google.common.collect.Sets; +import com.intellij.openapi.compiler.ex.CompilerPathsEx; import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.fileTypes.FileTypeManager; import com.intellij.openapi.module.Module; @@ -24,34 +28,25 @@ import com.intellij.openapi.module.ModuleUtil; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.ContentIterator; import com.intellij.openapi.roots.ModuleRootManager; +import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiManager; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.util.Function; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.jet.asJava.JetFileUtil; import org.jetbrains.jet.lang.psi.JetFile; -import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.java.AnalyzeExhaust; -import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM; +import org.jetbrains.jet.lang.resolve.java.JetFilesProvider; import org.jetbrains.jet.plugin.JetFileType; -import java.util.Collection; -import java.util.HashSet; -import java.util.Set; +import java.util.*; -/** - * @author abreslav - */ -public final class WholeProjectAnalyzerFacade { +public class PluginJetFilesProvider extends JetFilesProvider { + private final Project project; - /** Forbid creating */ - private WholeProjectAnalyzerFacade() {} + public PluginJetFilesProvider(Project project) { + this.project = project; + } - /** - * Will collect all root-namespaces in all kotlin files in the project. - */ public static final Function> WHOLE_PROJECT_DECLARATION_PROVIDER = new Function>() { @Override @@ -89,13 +84,34 @@ public final class WholeProjectAnalyzerFacade { } }; - @NotNull - public static AnalyzeExhaust analyzeProjectWithCacheOnAFile(@NotNull JetFile file) { - return AnalyzerFacadeForJVM.analyzeFileWithCache(file, WHOLE_PROJECT_DECLARATION_PROVIDER); + @Override + public Function> sampleToAllFilesInModule() { + return WHOLE_PROJECT_DECLARATION_PROVIDER; } - @NotNull - public static AnalyzeExhaust analyzeProjectWithCache(@NotNull Project project, @NotNull GlobalSearchScope scope) { - return AnalyzerFacadeForJVM.analyzeProjectWithCache(project, JetFileUtil.collectJetFiles(project, scope)); + @Override + public List allInScope(final GlobalSearchScope scope) { + final List answer = new ArrayList(); + + final FileTypeManager fileTypeManager = FileTypeManager.getInstance(); + List contentRoots = Arrays.asList(ProjectRootManager.getInstance(project).getContentRoots()); + final PsiManager manager = PsiManager.getInstance(project); + + CompilerPathsEx.visitFiles(contentRoots, new CompilerPathsEx.FileVisitor() { + @Override + protected void acceptFile(VirtualFile file, String fileRoot, String filePath) { + final FileType fileType = fileTypeManager.getFileTypeByFile(file); + if (fileType != JetFileType.INSTANCE) return; + + if (scope.accept(file)) { + final PsiFile psiFile = manager.findFile(file); + if (psiFile instanceof JetFile) { + answer.add((JetFile) psiFile); + } + } + } + }); + + return answer; } } diff --git a/idea/src/org/jetbrains/jet/plugin/project/WholeProjectAnalyzerFacade.java b/idea/src/org/jetbrains/jet/plugin/project/WholeProjectAnalyzerFacade.java new file mode 100644 index 00000000000..1fb82439458 --- /dev/null +++ b/idea/src/org/jetbrains/jet/plugin/project/WholeProjectAnalyzerFacade.java @@ -0,0 +1,45 @@ +/* + * Copyright 2010-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.jet.plugin.project; + +import com.intellij.openapi.project.Project; +import com.intellij.psi.search.GlobalSearchScope; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.jet.lang.psi.JetFile; +import org.jetbrains.jet.lang.resolve.java.AnalyzeExhaust; +import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM; +import org.jetbrains.jet.lang.resolve.java.JetFilesProvider; + +/** + * @author abreslav + */ +public final class WholeProjectAnalyzerFacade { + + /** Forbid creating */ + private WholeProjectAnalyzerFacade() {} + + + @NotNull + public static AnalyzeExhaust analyzeProjectWithCacheOnAFile(@NotNull JetFile file) { + return AnalyzerFacadeForJVM.analyzeFileWithCache(file, JetFilesProvider.getInstance(file.getProject()).sampleToAllFilesInModule()); + } + + @NotNull + public static AnalyzeExhaust analyzeProjectWithCache(@NotNull Project project, @NotNull GlobalSearchScope scope) { + return AnalyzerFacadeForJVM.analyzeProjectWithCache(project, JetFilesProvider.getInstance(project).allInScope(scope)); + } +} diff --git a/idea/src/org/jetbrains/jet/plugin/projectView/JetDeclarationTreeNode.java b/idea/src/org/jetbrains/jet/plugin/projectView/JetDeclarationTreeNode.java index 92738f5f49b..668708ebcbe 100644 --- a/idea/src/org/jetbrains/jet/plugin/projectView/JetDeclarationTreeNode.java +++ b/idea/src/org/jetbrains/jet/plugin/projectView/JetDeclarationTreeNode.java @@ -27,7 +27,7 @@ import org.jetbrains.jet.lang.psi.JetClassInitializer; import org.jetbrains.jet.lang.psi.JetDeclaration; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import org.jetbrains.jet.plugin.structureView.JetStructureViewElement; import java.util.Collection; diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/JetNameValidatorImpl.java b/idea/src/org/jetbrains/jet/plugin/refactoring/JetNameValidatorImpl.java index 3ab93fe80af..32dc6d2079a 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/JetNameValidatorImpl.java +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/JetNameValidatorImpl.java @@ -22,17 +22,13 @@ import com.intellij.psi.PsiElement; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.compiler.TipsManager; import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; -import org.jetbrains.jet.lang.psi.JetElement; import org.jetbrains.jet.lang.psi.JetExpression; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetVisitorVoid; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; -import java.util.ArrayList; import java.util.Collection; -import java.util.HashSet; -import java.util.List; /** * User: Alefas diff --git a/idea/src/org/jetbrains/jet/plugin/references/JetArrayAccessReference.java b/idea/src/org/jetbrains/jet/plugin/references/JetArrayAccessReference.java index 0c126392f5b..c529ba7bf4d 100644 --- a/idea/src/org/jetbrains/jet/plugin/references/JetArrayAccessReference.java +++ b/idea/src/org/jetbrains/jet/plugin/references/JetArrayAccessReference.java @@ -27,7 +27,7 @@ import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.calls.ResolvedCall; import org.jetbrains.jet.lexer.JetTokens; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import java.util.ArrayList; import java.util.List; diff --git a/idea/src/org/jetbrains/jet/plugin/references/JetPackageReference.java b/idea/src/org/jetbrains/jet/plugin/references/JetPackageReference.java index 851e7211415..a9fc14e8c35 100644 --- a/idea/src/org/jetbrains/jet/plugin/references/JetPackageReference.java +++ b/idea/src/org/jetbrains/jet/plugin/references/JetPackageReference.java @@ -22,8 +22,8 @@ import org.jetbrains.jet.compiler.TipsManager; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetNamespaceHeader; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; import org.jetbrains.jet.plugin.completion.DescriptorLookupConverter; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; /** * @author Nikolay Krasko diff --git a/idea/src/org/jetbrains/jet/plugin/references/JetPsiReference.java b/idea/src/org/jetbrains/jet/plugin/references/JetPsiReference.java index afe6703718a..c158e493209 100644 --- a/idea/src/org/jetbrains/jet/plugin/references/JetPsiReference.java +++ b/idea/src/org/jetbrains/jet/plugin/references/JetPsiReference.java @@ -28,7 +28,7 @@ import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetReferenceExpression; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.BindingContextUtils; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import java.util.ArrayList; import java.util.Collection; diff --git a/idea/src/org/jetbrains/jet/plugin/references/JetSimpleNameReference.java b/idea/src/org/jetbrains/jet/plugin/references/JetSimpleNameReference.java index a3693f0dedb..0b583f8684e 100644 --- a/idea/src/org/jetbrains/jet/plugin/references/JetSimpleNameReference.java +++ b/idea/src/org/jetbrains/jet/plugin/references/JetSimpleNameReference.java @@ -25,8 +25,8 @@ import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetPsiFactory; import org.jetbrains.jet.lang.psi.JetSimpleNameExpression; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; import org.jetbrains.jet.plugin.completion.DescriptorLookupConverter; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; /** * @author yole diff --git a/idea/src/org/jetbrains/jet/plugin/structureView/JetStructureViewElement.java b/idea/src/org/jetbrains/jet/plugin/structureView/JetStructureViewElement.java index 4782e11b2ae..a2fc4ad2125 100644 --- a/idea/src/org/jetbrains/jet/plugin/structureView/JetStructureViewElement.java +++ b/idea/src/org/jetbrains/jet/plugin/structureView/JetStructureViewElement.java @@ -31,7 +31,7 @@ import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.DescriptorUtils; import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor; import org.jetbrains.jet.lang.types.JetType; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import org.jetbrains.jet.resolve.DescriptorRenderer; import javax.swing.*; diff --git a/idea/tests/org/jetbrains/jet/plugin/refactoring/rename/RenameInKotlinTest.java b/idea/tests/org/jetbrains/jet/plugin/refactoring/rename/RenameInKotlinTest.java index a00950810ff..a1f0d030e26 100644 --- a/idea/tests/org/jetbrains/jet/plugin/refactoring/rename/RenameInKotlinTest.java +++ b/idea/tests/org/jetbrains/jet/plugin/refactoring/rename/RenameInKotlinTest.java @@ -30,7 +30,7 @@ import org.jetbrains.jet.lang.descriptors.ClassDescriptor; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.FqName; import org.jetbrains.jet.plugin.PluginTestCaseBase; -import org.jetbrains.jet.plugin.compiler.WholeProjectAnalyzerFacade; +import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import java.io.File;