diff --git a/.idea/ant.xml b/.idea/ant.xml
index 82d39650097..f6d37890c2a 100644
--- a/.idea/ant.xml
+++ b/.idea/ant.xml
@@ -2,14 +2,6 @@
-
-
-
-
-
-
-
-
@@ -26,6 +18,14 @@
+
+
+
+
+
+
+
+
diff --git a/backend/src/org/jetbrains/jet/codegen/GenerationState.java b/backend/src/org/jetbrains/jet/codegen/GenerationState.java
index 429b5bf66d2..c047f642d57 100644
--- a/backend/src/org/jetbrains/jet/codegen/GenerationState.java
+++ b/backend/src/org/jetbrains/jet/codegen/GenerationState.java
@@ -13,6 +13,7 @@ import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
import org.jetbrains.jet.lang.psi.*;
import org.jetbrains.jet.lang.resolve.AnalyzingUtils;
import org.jetbrains.jet.lang.resolve.BindingContext;
+import org.jetbrains.jet.lang.resolve.java.JavaDefaultImports;
import org.jetbrains.jet.lang.types.JetStandardLibrary;
import org.objectweb.asm.ClassVisitor;
import org.objectweb.asm.commons.Method;
@@ -86,7 +87,7 @@ public class GenerationState {
public void compile(JetFile psiFile) {
final JetNamespace namespace = psiFile.getRootNamespace();
NamespaceCodegen codegen = forNamespace(namespace);
- final BindingContext bindingContext = AnalyzingUtils.analyzeNamespace(namespace, JetControlFlowDataTraceFactory.EMPTY);
+ final BindingContext bindingContext = AnalyzingUtils.getInstance(JavaDefaultImports.JAVA_DEFAULT_IMPORTS).analyzeNamespace(namespace, JetControlFlowDataTraceFactory.EMPTY);
bindingContexts.push(bindingContext);
typeMapper = new JetTypeMapper(standardLibrary, bindingContext);
try {
diff --git a/confluence/buildConfluenceLexer.xml b/confluence/buildConfluenceLexer.xml
index cc4c4742f1a..eb1897d655a 100644
--- a/confluence/buildConfluenceLexer.xml
+++ b/confluence/buildConfluenceLexer.xml
@@ -1,6 +1,6 @@
-
+
diff --git a/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDefaultImports.java b/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDefaultImports.java
new file mode 100644
index 00000000000..47544d6f20b
--- /dev/null
+++ b/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDefaultImports.java
@@ -0,0 +1,23 @@
+package org.jetbrains.jet.lang.resolve.java;
+
+import com.intellij.openapi.project.Project;
+import org.jetbrains.jet.lang.JetSemanticServices;
+import org.jetbrains.jet.lang.resolve.BindingTrace;
+import org.jetbrains.jet.lang.resolve.ImportingStrategy;
+import org.jetbrains.jet.lang.resolve.WritableScope;
+
+/**
+ * @author abreslav
+ */
+public class JavaDefaultImports {
+ public static final ImportingStrategy JAVA_DEFAULT_IMPORTS = new ImportingStrategy() {
+ @Override
+ public void addImports(Project project, JetSemanticServices semanticServices, BindingTrace trace, WritableScope rootScope) {
+// scope.importScope(javaSemanticServices.getDescriptorResolver().resolveNamespace("").getMemberScope());
+// scope.importScope(javaSemanticServices.getDescriptorResolver().resolveNamespace("java.lang").getMemberScope());
+ JavaSemanticServices javaSemanticServices = new JavaSemanticServices(project, semanticServices, trace);
+ rootScope.importScope(new JavaPackageScope("", null, javaSemanticServices));
+ rootScope.importScope(new JavaPackageScope("java.lang", null, javaSemanticServices));
+ }
+ };
+}
diff --git a/idea/buildLexer.xml b/frontend/buildLexer.xml
similarity index 100%
rename from idea/buildLexer.xml
rename to frontend/buildLexer.xml
diff --git a/idea/src/org/jetbrains/jet/lang/resolve/AnalyzingUtils.java b/frontend/src/org/jetbrains/jet/lang/resolve/AnalyzingUtils.java
similarity index 87%
rename from idea/src/org/jetbrains/jet/lang/resolve/AnalyzingUtils.java
rename to frontend/src/org/jetbrains/jet/lang/resolve/AnalyzingUtils.java
index f1d84880f71..cd2b005ff16 100644
--- a/idea/src/org/jetbrains/jet/lang/resolve/AnalyzingUtils.java
+++ b/frontend/src/org/jetbrains/jet/lang/resolve/AnalyzingUtils.java
@@ -30,37 +30,31 @@ public class AnalyzingUtils {
private final static Key> BINDING_CONTEXT = Key.create("BINDING_CONTEXT");
private static final Object lock = new Object();
- public static BindingContext analyzeFileWithCache(@NotNull final JetFile file) {
- // TODO : Synchronization?
- CachedValue bindingContextCachedValue = file.getUserData(BINDING_CONTEXT);
- if (bindingContextCachedValue == null) {
- bindingContextCachedValue = CachedValuesManager.getManager(file.getProject()).createCachedValue(new CachedValueProvider() {
- @Override
- public Result compute() {
- synchronized (lock) {
- try {
- JetNamespace rootNamespace = file.getRootNamespace();
- BindingContext bindingContext = analyzeNamespace(rootNamespace, JetControlFlowDataTraceFactory.EMPTY);
- return new Result(bindingContext, PsiModificationTracker.MODIFICATION_COUNT);
- }
- catch (ProcessCanceledException e) {
- throw e;
- }
- catch (Throwable e) {
- e.printStackTrace();
- BindingTraceContext bindingTraceContext = new BindingTraceContext();
- bindingTraceContext.getErrorHandler().genericError(file.getNode(), e.getClass().getSimpleName() + ": " + e.getMessage());
- return new Result(bindingTraceContext.getBindingContext(), PsiModificationTracker.MODIFICATION_COUNT);
- }
- }
- }
- }, false);
- file.putUserData(BINDING_CONTEXT, bindingContextCachedValue);
- }
- return bindingContextCachedValue.getValue();
+ public static AnalyzingUtils getInstance(@NotNull ImportingStrategy importingStrategy) {
+ return new AnalyzingUtils(importingStrategy);
}
- public static BindingContext analyzeNamespace(@NotNull JetNamespace namespace, @NotNull JetControlFlowDataTraceFactory flowDataTraceFactory) {
+ public static void checkForSyntacticErrors(@NotNull PsiElement root) {
+ root.acceptChildren(new PsiElementVisitor() {
+ @Override
+ public void visitElement(PsiElement element) {
+ element.acceptChildren(this);
+ }
+
+ @Override
+ public void visitErrorElement(PsiErrorElement element) {
+ throw new IllegalArgumentException(element.getErrorDescription() + "; looking at " + element.getNode().getElementType() + " '" + element.getText() + ErrorHandler.atLocation(element));
+ }
+ });
+ }
+
+ private final ImportingStrategy importingStrategy;
+
+ private AnalyzingUtils(ImportingStrategy importingStrategy) {
+ this.importingStrategy = importingStrategy;
+ }
+
+ public BindingContext analyzeNamespace(@NotNull JetNamespace namespace, @NotNull JetControlFlowDataTraceFactory flowDataTraceFactory) {
Project project = namespace.getProject();
BindingTraceContext bindingTraceContext = new BindingTraceContext();
@@ -69,12 +63,7 @@ public class AnalyzingUtils {
JetScope libraryScope = semanticServices.getStandardLibrary().getLibraryScope();
ModuleDescriptor owner = new ModuleDescriptor("");
final WritableScope scope = new WritableScopeImpl(libraryScope, owner, bindingTraceContext.getErrorHandler()).setDebugName("Root scope in analyzeNamespace");
-// scope.importScope(javaSemanticServices.getDescriptorResolver().resolveNamespace("").getMemberScope());
-// scope.importScope(javaSemanticServices.getDescriptorResolver().resolveNamespace("java.lang").getMemberScope());
- JavaSemanticServices javaSemanticServices = new JavaSemanticServices(project, semanticServices, bindingTraceContext);
- scope.importScope(new JavaPackageScope("", null, javaSemanticServices));
- scope.importScope(new JavaPackageScope("java.lang", null, javaSemanticServices));
-
+ importingStrategy.addImports(project, semanticServices, bindingTraceContext, scope);
TopDownAnalyzer.process(semanticServices, bindingTraceContext, scope, new NamespaceLike.Adapter(owner) {
@Override
@@ -110,17 +99,33 @@ public class AnalyzingUtils {
return bindingTraceContext.getBindingContext();
}
- public static void checkForSyntacticErrors(@NotNull PsiElement root) {
- root.acceptChildren(new PsiElementVisitor() {
- @Override
- public void visitElement(PsiElement element) {
- element.acceptChildren(this);
- }
-
- @Override
- public void visitErrorElement(PsiErrorElement element) {
- throw new IllegalArgumentException(element.getErrorDescription() + "; looking at " + element.getNode().getElementType() + " '" + element.getText() + ErrorHandler.atLocation(element));
- }
- });
+ public BindingContext analyzeFileWithCache(@NotNull final JetFile file) {
+ // TODO : Synchronization?
+ CachedValue bindingContextCachedValue = file.getUserData(BINDING_CONTEXT);
+ if (bindingContextCachedValue == null) {
+ bindingContextCachedValue = CachedValuesManager.getManager(file.getProject()).createCachedValue(new CachedValueProvider() {
+ @Override
+ public Result compute() {
+ synchronized (lock) {
+ try {
+ JetNamespace rootNamespace = file.getRootNamespace();
+ BindingContext bindingContext = analyzeNamespace(rootNamespace, JetControlFlowDataTraceFactory.EMPTY);
+ return new Result(bindingContext, PsiModificationTracker.MODIFICATION_COUNT);
+ }
+ catch (ProcessCanceledException e) {
+ throw e;
+ }
+ catch (Throwable e) {
+ e.printStackTrace();
+ BindingTraceContext bindingTraceContext = new BindingTraceContext();
+ bindingTraceContext.getErrorHandler().genericError(file.getNode(), e.getClass().getSimpleName() + ": " + e.getMessage());
+ return new Result(bindingTraceContext.getBindingContext(), PsiModificationTracker.MODIFICATION_COUNT);
+ }
+ }
+ }
+ }, false);
+ file.putUserData(BINDING_CONTEXT, bindingContextCachedValue);
+ }
+ return bindingContextCachedValue.getValue();
}
}
diff --git a/frontend/src/org/jetbrains/jet/lang/resolve/ImportingStrategy.java b/frontend/src/org/jetbrains/jet/lang/resolve/ImportingStrategy.java
new file mode 100644
index 00000000000..546545cc36a
--- /dev/null
+++ b/frontend/src/org/jetbrains/jet/lang/resolve/ImportingStrategy.java
@@ -0,0 +1,18 @@
+package org.jetbrains.jet.lang.resolve;
+
+import com.intellij.openapi.project.Project;
+import org.jetbrains.jet.lang.JetSemanticServices;
+
+/**
+* @author abreslav
+*/
+public interface ImportingStrategy {
+ ImportingStrategy NONE = new ImportingStrategy() {
+ @Override
+ public void addImports(Project project, JetSemanticServices semanticServices, BindingTrace trace, WritableScope rootScope) {
+
+ }
+ };
+
+ void addImports(Project project, JetSemanticServices semanticServices, BindingTrace trace, WritableScope rootScope);
+}
diff --git a/frontend/src/org/jetbrains/jet/lexer/_JetLexer.java b/frontend/src/org/jetbrains/jet/lexer/_JetLexer.java
index 2c8e40a8f8f..6045af4a830 100644
--- a/frontend/src/org/jetbrains/jet/lexer/_JetLexer.java
+++ b/frontend/src/org/jetbrains/jet/lexer/_JetLexer.java
@@ -1,4 +1,4 @@
-/* The following code was generated by JFlex 1.4.3 on 9/9/11 2:48 PM */
+/* The following code was generated by JFlex 1.4.3 on 9/9/11 9:32 PM */
/* It's an automatically generated code. Do not modify it. */
package org.jetbrains.jet.lexer;
@@ -14,8 +14,8 @@ import org.jetbrains.jet.lexer.JetTokens;
/**
* This class is a scanner generated by
* JFlex 1.4.3
- * on 9/9/11 2:48 PM from the specification file
- * /Users/abreslav/work/jet/idea/src/org/jetbrains/jet/lexer/Jet.flex
+ * on 9/9/11 9:32 PM from the specification file
+ * /Users/abreslav/work/jet/frontend/src/org/jetbrains/jet/lexer/Jet.flex
*/
class _JetLexer implements FlexLexer {
/** initial size of the lookahead buffer */
diff --git a/grammar/buildGrammarLexer.xml b/grammar/buildGrammarLexer.xml
index ecf2cfdc4ce..5fefcb1f163 100644
--- a/grammar/buildGrammarLexer.xml
+++ b/grammar/buildGrammarLexer.xml
@@ -1,6 +1,6 @@
-
+
diff --git a/grammar/src/org/jetbrains/jet/grammar/_GrammarLexer.java b/grammar/src/org/jetbrains/jet/grammar/_GrammarLexer.java
index f9007094888..b1348053be1 100644
--- a/grammar/src/org/jetbrains/jet/grammar/_GrammarLexer.java
+++ b/grammar/src/org/jetbrains/jet/grammar/_GrammarLexer.java
@@ -1,4 +1,4 @@
-/* The following code was generated by JFlex 1.4.3 on 6/28/11 5:58 PM */
+/* The following code was generated by JFlex 1.4.3 on 9/9/11 9:32 PM */
/* It's an automatically generated code. Do not modify it. */
package org.jetbrains.jet.grammar;
@@ -13,7 +13,7 @@ package org.jetbrains.jet.grammar;
/**
* This class is a scanner generated by
* JFlex 1.4.3
- * on 6/28/11 5:58 PM from the specification file
+ * on 9/9/11 9:32 PM from the specification file
* /Users/abreslav/work/jet/grammar/src/org/jetbrains/jet/grammar/Grammar.flex
*/
class _GrammarLexer {
diff --git a/idea/idea.iml b/idea/idea.iml
index de42a3957d3..23b8c669d6e 100644
--- a/idea/idea.iml
+++ b/idea/idea.iml
@@ -19,6 +19,7 @@
+
diff --git a/idea/src/org/jetbrains/jet/plugin/AnalyzerFacade.java b/idea/src/org/jetbrains/jet/plugin/AnalyzerFacade.java
new file mode 100644
index 00000000000..ec376a187b8
--- /dev/null
+++ b/idea/src/org/jetbrains/jet/plugin/AnalyzerFacade.java
@@ -0,0 +1,24 @@
+package org.jetbrains.jet.plugin;
+
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory;
+import org.jetbrains.jet.lang.psi.JetFile;
+import org.jetbrains.jet.lang.psi.JetNamespace;
+import org.jetbrains.jet.lang.resolve.AnalyzingUtils;
+import org.jetbrains.jet.lang.resolve.BindingContext;
+import org.jetbrains.jet.lang.resolve.java.JavaDefaultImports;
+
+/**
+ * @author abreslav
+ */
+public class AnalyzerFacade {
+ public static BindingContext analyzeNamespace(@NotNull JetNamespace namespace, @NotNull JetControlFlowDataTraceFactory flowDataTraceFactory) {
+ return AnalyzingUtils.getInstance(JavaDefaultImports.JAVA_DEFAULT_IMPORTS).analyzeNamespace(namespace, flowDataTraceFactory);
+ }
+
+ public static BindingContext analyzeFileWithCache(@NotNull JetFile file) {
+ return AnalyzingUtils.getInstance(JavaDefaultImports.JAVA_DEFAULT_IMPORTS).analyzeFileWithCache(file);
+ }
+
+
+}
diff --git a/idea/src/org/jetbrains/jet/plugin/JetQuickDocumentationProvider.java b/idea/src/org/jetbrains/jet/plugin/JetQuickDocumentationProvider.java
index 2b1cc65b9bf..68ff66afb3d 100644
--- a/idea/src/org/jetbrains/jet/plugin/JetQuickDocumentationProvider.java
+++ b/idea/src/org/jetbrains/jet/plugin/JetQuickDocumentationProvider.java
@@ -6,7 +6,6 @@ import com.intellij.psi.util.PsiTreeUtil;
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.psi.JetReferenceExpression;
-import org.jetbrains.jet.lang.resolve.AnalyzingUtils;
import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.lang.resolve.BindingContextUtils;
import org.jetbrains.jet.resolve.DescriptorRenderer;
@@ -26,7 +25,7 @@ public class JetQuickDocumentationProvider extends AbstractDocumentationProvider
ref = PsiTreeUtil.getParentOfType(originalElement, JetReferenceExpression.class);
}
if (ref != null) {
- BindingContext bindingContext = AnalyzingUtils.analyzeFileWithCache((JetFile) element.getContainingFile());
+ BindingContext bindingContext = AnalyzerFacade.analyzeFileWithCache((JetFile) element.getContainingFile());
DeclarationDescriptor declarationDescriptor = bindingContext.get(BindingContext.REFERENCE_TARGET, ref);
if (declarationDescriptor != null) {
return render(declarationDescriptor);
diff --git a/idea/src/org/jetbrains/jet/plugin/actions/ShowExpressionTypeAction.java b/idea/src/org/jetbrains/jet/plugin/actions/ShowExpressionTypeAction.java
index 7b13fb6aebd..26f778b3fe1 100644
--- a/idea/src/org/jetbrains/jet/plugin/actions/ShowExpressionTypeAction.java
+++ b/idea/src/org/jetbrains/jet/plugin/actions/ShowExpressionTypeAction.java
@@ -11,9 +11,9 @@ import com.intellij.psi.PsiFile;
import com.intellij.psi.util.PsiTreeUtil;
import org.jetbrains.jet.lang.psi.JetExpression;
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.lang.types.JetType;
+import org.jetbrains.jet.plugin.AnalyzerFacade;
import org.jetbrains.jet.plugin.JetLanguage;
/**
@@ -26,7 +26,7 @@ public class ShowExpressionTypeAction extends AnAction {
PsiFile psiFile = e.getData(LangDataKeys.PSI_FILE);
assert editor != null && psiFile != null;
JetExpression expression;
- BindingContext bindingContext = AnalyzingUtils.analyzeFileWithCache((JetFile) psiFile);
+ BindingContext bindingContext = AnalyzerFacade.analyzeFileWithCache((JetFile) psiFile);
if (editor.getSelectionModel().hasSelection()) {
int startOffset = editor.getSelectionModel().getSelectionStart();
int endOffset = editor.getSelectionModel().getSelectionEnd();
diff --git a/idea/src/org/jetbrains/jet/plugin/annotations/DebugInfoAnnotator.java b/idea/src/org/jetbrains/jet/plugin/annotations/DebugInfoAnnotator.java
index 19295a11b59..9014574c050 100644
--- a/idea/src/org/jetbrains/jet/plugin/annotations/DebugInfoAnnotator.java
+++ b/idea/src/org/jetbrains/jet/plugin/annotations/DebugInfoAnnotator.java
@@ -13,10 +13,10 @@ import org.jetbrains.jet.JetNodeTypes;
import org.jetbrains.jet.lang.JetDiagnostic;
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
import org.jetbrains.jet.lang.psi.*;
-import org.jetbrains.jet.lang.resolve.AnalyzingUtils;
import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.lang.types.ErrorUtils;
import org.jetbrains.jet.lexer.JetTokens;
+import org.jetbrains.jet.plugin.AnalyzerFacade;
import org.jetbrains.jet.plugin.JetHighlighter;
import java.util.Collection;
@@ -51,7 +51,7 @@ public class DebugInfoAnnotator implements Annotator {
if (element instanceof JetFile) {
JetFile file = (JetFile) element;
try {
- final BindingContext bindingContext = AnalyzingUtils.analyzeFileWithCache(file);
+ final BindingContext bindingContext = AnalyzerFacade.analyzeFileWithCache(file);
final Set unresolvedReferences = Sets.newHashSet();
for (JetDiagnostic diagnostic : bindingContext.getDiagnostics()) {
diff --git a/idea/src/org/jetbrains/jet/plugin/annotations/JetLineMarkerProvider.java b/idea/src/org/jetbrains/jet/plugin/annotations/JetLineMarkerProvider.java
index 3b79eeed50b..e53c0587f4e 100644
--- a/idea/src/org/jetbrains/jet/plugin/annotations/JetLineMarkerProvider.java
+++ b/idea/src/org/jetbrains/jet/plugin/annotations/JetLineMarkerProvider.java
@@ -16,12 +16,15 @@ import com.intellij.psi.PsiElement;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.util.PsiUtilBase;
import com.intellij.ui.awt.RelativePoint;
-import com.intellij.util.*;
+import com.intellij.util.Function;
+import com.intellij.util.PlatformIcons;
+import com.intellij.util.PsiIconUtil;
+import com.intellij.util.PsiNavigateUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.descriptors.*;
import org.jetbrains.jet.lang.psi.*;
-import org.jetbrains.jet.lang.resolve.AnalyzingUtils;
import org.jetbrains.jet.lang.resolve.BindingContext;
+import org.jetbrains.jet.plugin.AnalyzerFacade;
import org.jetbrains.jet.resolve.DescriptorRenderer;
import javax.swing.*;
@@ -42,7 +45,7 @@ public class JetLineMarkerProvider implements LineMarkerProvider {
JetFile file = PsiTreeUtil.getParentOfType(element, JetFile.class);
if (file == null) return null;
- final BindingContext bindingContext = AnalyzingUtils.analyzeFileWithCache(file);
+ final BindingContext bindingContext = AnalyzerFacade.analyzeFileWithCache(file);
if (element instanceof JetClass) {
JetClass jetClass = (JetClass) element;
diff --git a/idea/src/org/jetbrains/jet/plugin/annotations/JetPsiChecker.java b/idea/src/org/jetbrains/jet/plugin/annotations/JetPsiChecker.java
index c0d4877795a..4db5848500a 100644
--- a/idea/src/org/jetbrains/jet/plugin/annotations/JetPsiChecker.java
+++ b/idea/src/org/jetbrains/jet/plugin/annotations/JetPsiChecker.java
@@ -11,14 +11,14 @@ import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiReference;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.ErrorHandler;
-import org.jetbrains.jet.plugin.JetHighlighter;
-import org.jetbrains.jet.lang.psi.*;
-import org.jetbrains.jet.lang.resolve.AnalyzingUtils;
-import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
-import org.jetbrains.jet.lang.types.JetType;
import org.jetbrains.jet.lang.descriptors.PropertyDescriptor;
import org.jetbrains.jet.lang.descriptors.VariableDescriptor;
+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.AnalyzerFacade;
+import org.jetbrains.jet.plugin.JetHighlighter;
import java.util.HashSet;
import java.util.Set;
@@ -43,7 +43,7 @@ public class JetPsiChecker implements Annotator {
if (element instanceof JetFile) {
JetFile file = (JetFile) element;
try {
- final BindingContext bindingContext = AnalyzingUtils.analyzeFileWithCache(file);
+ final BindingContext bindingContext = AnalyzerFacade.analyzeFileWithCache(file);
ErrorHandler errorHandler = new ErrorHandler() {
private final Set redeclarations = new HashSet();
diff --git a/idea/src/org/jetbrains/jet/plugin/debugger/JetPositionManager.java b/idea/src/org/jetbrains/jet/plugin/debugger/JetPositionManager.java
index d8fcb6558ef..073d4d9ba61 100644
--- a/idea/src/org/jetbrains/jet/plugin/debugger/JetPositionManager.java
+++ b/idea/src/org/jetbrains/jet/plugin/debugger/JetPositionManager.java
@@ -20,9 +20,9 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.codegen.GenerationState;
import org.jetbrains.jet.codegen.JetTypeMapper;
import org.jetbrains.jet.lang.psi.*;
-import org.jetbrains.jet.lang.resolve.AnalyzingUtils;
import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.lang.types.JetStandardLibrary;
+import org.jetbrains.jet.plugin.AnalyzerFacade;
import java.util.*;
@@ -125,7 +125,7 @@ public class JetPositionManager implements PositionManager {
if (mapper != null) {
return mapper;
}
- final BindingContext bindingContext = AnalyzingUtils.analyzeFileWithCache(file);
+ final BindingContext bindingContext = AnalyzerFacade.analyzeFileWithCache(file);
final JetStandardLibrary standardLibrary = JetStandardLibrary.getJetStandardLibrary(myDebugProcess.getProject());
final JetTypeMapper typeMapper = new JetTypeMapper(standardLibrary, bindingContext);
file.acceptChildren(new JetVisitorVoid() {
diff --git a/idea/src/org/jetbrains/jet/plugin/references/JetPsiReference.java b/idea/src/org/jetbrains/jet/plugin/references/JetPsiReference.java
index 77015166889..033497955d8 100644
--- a/idea/src/org/jetbrains/jet/plugin/references/JetPsiReference.java
+++ b/idea/src/org/jetbrains/jet/plugin/references/JetPsiReference.java
@@ -9,9 +9,9 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.psi.JetReferenceExpression;
-import org.jetbrains.jet.lang.resolve.AnalyzingUtils;
import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.lang.resolve.BindingContextUtils;
+import org.jetbrains.jet.plugin.AnalyzerFacade;
import java.util.Collection;
@@ -75,7 +75,7 @@ public abstract class JetPsiReference implements PsiPolyVariantReference {
protected PsiElement doResolve() {
JetFile file = (JetFile) getElement().getContainingFile();
- BindingContext bindingContext = AnalyzingUtils.analyzeFileWithCache(file);
+ BindingContext bindingContext = AnalyzerFacade.analyzeFileWithCache(file);
PsiElement psiElement = BindingContextUtils.resolveToDeclarationPsiElement(bindingContext, myExpression);
if (psiElement != null) {
return psiElement;
@@ -87,7 +87,7 @@ public abstract class JetPsiReference implements PsiPolyVariantReference {
protected ResolveResult[] doMultiResolve() {
JetFile file = (JetFile) getElement().getContainingFile();
- BindingContext bindingContext = AnalyzingUtils.analyzeFileWithCache(file);
+ BindingContext bindingContext = AnalyzerFacade.analyzeFileWithCache(file);
Collection extends DeclarationDescriptor> declarationDescriptors = bindingContext.get(AMBIGUOUS_REFERENCE_TARGET, myExpression);
assert declarationDescriptors != null;
ResolveResult[] results = new ResolveResult[declarationDescriptors.size()];
diff --git a/idea/src/org/jetbrains/jet/plugin/references/JetSimpleNameReference.java b/idea/src/org/jetbrains/jet/plugin/references/JetSimpleNameReference.java
index ba775d20dce..f6e7f7e6d57 100644
--- a/idea/src/org/jetbrains/jet/plugin/references/JetSimpleNameReference.java
+++ b/idea/src/org/jetbrains/jet/plugin/references/JetSimpleNameReference.java
@@ -12,10 +12,10 @@ import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.descriptors.*;
import org.jetbrains.jet.lang.psi.*;
-import org.jetbrains.jet.lang.resolve.AnalyzingUtils;
import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.lang.resolve.JetScope;
import org.jetbrains.jet.lang.types.JetType;
+import org.jetbrains.jet.plugin.AnalyzerFacade;
import org.jetbrains.jet.resolve.DescriptorRenderer;
import java.util.List;
@@ -49,7 +49,7 @@ class JetSimpleNameReference extends JetPsiReference {
JetQualifiedExpression qualifiedExpression = (JetQualifiedExpression) parent;
JetExpression receiverExpression = qualifiedExpression.getReceiverExpression();
JetFile file = (JetFile) myExpression.getContainingFile();
- BindingContext bindingContext = AnalyzingUtils.analyzeFileWithCache(file);
+ BindingContext bindingContext = AnalyzerFacade.analyzeFileWithCache(file);
final JetType expressionType = bindingContext.get(BindingContext.EXPRESSION_TYPE, receiverExpression);
if (expressionType != null) {
return collectLookupElements(bindingContext, expressionType.getMemberScope());
@@ -57,7 +57,7 @@ class JetSimpleNameReference extends JetPsiReference {
}
else {
JetFile file = (JetFile) myExpression.getContainingFile();
- BindingContext bindingContext = AnalyzingUtils.analyzeFileWithCache(file);
+ BindingContext bindingContext = AnalyzerFacade.analyzeFileWithCache(file);
JetScope resolutionScope = bindingContext.get(BindingContext.RESOLUTION_SCOPE, myExpression);
if (resolutionScope != null) {
return collectLookupElements(bindingContext, resolutionScope);
diff --git a/idea/tests/org/jetbrains/jet/cfg/JetControlFlowTest.java b/idea/tests/org/jetbrains/jet/cfg/JetControlFlowTest.java
index cb320013468..0399c97acf3 100644
--- a/idea/tests/org/jetbrains/jet/cfg/JetControlFlowTest.java
+++ b/idea/tests/org/jetbrains/jet/cfg/JetControlFlowTest.java
@@ -18,7 +18,7 @@ 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.JetNamedDeclaration;
-import org.jetbrains.jet.lang.resolve.AnalyzingUtils;
+import org.jetbrains.jet.plugin.AnalyzerFacade;
import java.io.File;
import java.io.FileNotFoundException;
@@ -68,7 +68,7 @@ public class JetControlFlowTest extends JetTestCaseBase {
};
- AnalyzingUtils.analyzeNamespace(file.getRootNamespace(), new JetControlFlowDataTraceFactory() {
+ AnalyzerFacade.analyzeNamespace(file.getRootNamespace(), new JetControlFlowDataTraceFactory() {
@NotNull
@Override
public JetPseudocodeTrace createTrace(JetElement element) {
diff --git a/idea/tests/org/jetbrains/jet/parsing/JetCodeConformanceTest.java b/idea/tests/org/jetbrains/jet/parsing/JetCodeConformanceTest.java
index 70b7bd096b2..345624f0b10 100644
--- a/idea/tests/org/jetbrains/jet/parsing/JetCodeConformanceTest.java
+++ b/idea/tests/org/jetbrains/jet/parsing/JetCodeConformanceTest.java
@@ -19,7 +19,7 @@ public class JetCodeConformanceTest extends TestCase {
TestSuite suite = new TestSuite();
TestSuite ats = new TestSuite("Side-effect-free at()'s in assertions");
suite.addTest(ats);
- File parsingSourceDir = new File("./idea/src/org/jetbrains/jet/lang/parsing");
+ File parsingSourceDir = new File("./frontend/src/org/jetbrains/jet/lang/parsing");
for (File sourceFile : parsingSourceDir.listFiles()) {
if (sourceFile.getName().endsWith(".java")) {
ats.addTest(new JetCodeConformanceTest(sourceFile.getName(), sourceFile));
diff --git a/idea/tests/org/jetbrains/jet/resolve/ExpectedResolveData.java b/idea/tests/org/jetbrains/jet/resolve/ExpectedResolveData.java
index 7b70475240f..b0fafdf8d07 100644
--- a/idea/tests/org/jetbrains/jet/resolve/ExpectedResolveData.java
+++ b/idea/tests/org/jetbrains/jet/resolve/ExpectedResolveData.java
@@ -10,13 +10,13 @@ import org.jetbrains.jet.lang.JetSemanticServices;
import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory;
import org.jetbrains.jet.lang.descriptors.*;
import org.jetbrains.jet.lang.psi.*;
-import org.jetbrains.jet.lang.resolve.AnalyzingUtils;
import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.lang.resolve.BindingContextUtils;
import org.jetbrains.jet.lang.types.ErrorUtils;
import org.jetbrains.jet.lang.types.JetStandardLibrary;
import org.jetbrains.jet.lang.types.JetType;
import org.jetbrains.jet.lang.types.TypeConstructor;
+import org.jetbrains.jet.plugin.AnalyzerFacade;
import java.util.HashMap;
import java.util.HashSet;
@@ -95,7 +95,7 @@ public class ExpectedResolveData {
JetSemanticServices semanticServices = JetSemanticServices.createSemanticServices(file.getProject());
JetStandardLibrary lib = semanticServices.getStandardLibrary();
- BindingContext bindingContext = AnalyzingUtils.analyzeNamespace(file.getRootNamespace(), JetControlFlowDataTraceFactory.EMPTY);
+ BindingContext bindingContext = AnalyzerFacade.analyzeNamespace(file.getRootNamespace(), JetControlFlowDataTraceFactory.EMPTY);
ErrorHandler.applyHandler(new ErrorHandler() {
@Override
public void unresolvedReference(@NotNull JetReferenceExpression referenceExpression) {