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;