From 45a90a8f2064f8ff2c089ca3c973970be27e6ee7 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Tue, 22 Apr 2014 16:04:10 +0400 Subject: [PATCH] Eager methods removed from AnalyzerFacade --- .../resolve/java/AnalyzerFacadeForJVM.java | 24 -------------- .../jet/analyzer/AnalyzerFacade.java | 21 ------------- .../project/JSAnalyzerFacadeForIDEA.java | 28 ----------------- ...ddOverrideToEqualsHashCodeToStringFix.java | 16 +++++----- .../quickfix/MigrateSureInProjectFix.java | 31 +++---------------- 5 files changed, 12 insertions(+), 108 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/AnalyzerFacadeForJVM.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/AnalyzerFacadeForJVM.java index a6bc141c034..8cd03e8d485 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/AnalyzerFacadeForJVM.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/AnalyzerFacadeForJVM.java @@ -59,30 +59,6 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade { private AnalyzerFacadeForJVM() { } - @Override - @NotNull - public AnalyzeExhaust analyzeFiles( - @NotNull Project project, - @NotNull Collection files, - @NotNull Predicate filesToAnalyzeCompletely - ) { - return analyzeFilesWithJavaIntegration(project, files, filesToAnalyzeCompletely, true); - } - - @NotNull - @Override - public AnalyzeExhaust analyzeBodiesInFiles( - @NotNull Project project, - @NotNull Predicate filesForBodiesResolve, - @NotNull BindingTrace headersTraceContext, - @NotNull BodiesResolveContext bodiesResolveContext, - @NotNull ModuleDescriptor module - ) { - return AnalyzerFacadeForEverything.analyzeBodiesInFilesWithJavaIntegration( - project, filesForBodiesResolve, - headersTraceContext, bodiesResolveContext, module); - } - @NotNull @Override public ResolveSession getLazyResolveSession(@NotNull Project fileProject, @NotNull Collection files) { diff --git a/compiler/frontend/src/org/jetbrains/jet/analyzer/AnalyzerFacade.java b/compiler/frontend/src/org/jetbrains/jet/analyzer/AnalyzerFacade.java index b48320ed171..cc928c8526b 100644 --- a/compiler/frontend/src/org/jetbrains/jet/analyzer/AnalyzerFacade.java +++ b/compiler/frontend/src/org/jetbrains/jet/analyzer/AnalyzerFacade.java @@ -16,36 +16,15 @@ package org.jetbrains.jet.analyzer; -import com.google.common.base.Predicate; import com.intellij.openapi.project.Project; -import com.intellij.psi.PsiFile; import org.jetbrains.annotations.NotNull; -import org.jetbrains.jet.lang.descriptors.ModuleDescriptor; import org.jetbrains.jet.lang.psi.JetFile; -import org.jetbrains.jet.lang.resolve.BindingTrace; -import org.jetbrains.jet.lang.resolve.BodiesResolveContext; import org.jetbrains.jet.lang.resolve.lazy.ResolveSession; import java.util.Collection; public interface AnalyzerFacade { - @NotNull - AnalyzeExhaust analyzeFiles( - @NotNull Project project, - @NotNull Collection files, - @NotNull Predicate filesToAnalyzeCompletely - ); - - @NotNull - AnalyzeExhaust analyzeBodiesInFiles( - @NotNull Project project, - @NotNull Predicate filesForBodiesResolve, - @NotNull BindingTrace traceContext, - @NotNull BodiesResolveContext bodiesResolveContext, - @NotNull ModuleDescriptor module - ); - @NotNull ResolveSession getLazyResolveSession( @NotNull Project project, diff --git a/idea/src/org/jetbrains/jet/plugin/project/JSAnalyzerFacadeForIDEA.java b/idea/src/org/jetbrains/jet/plugin/project/JSAnalyzerFacadeForIDEA.java index 0313973604e..fcb08975611 100644 --- a/idea/src/org/jetbrains/jet/plugin/project/JSAnalyzerFacadeForIDEA.java +++ b/idea/src/org/jetbrains/jet/plugin/project/JSAnalyzerFacadeForIDEA.java @@ -16,16 +16,10 @@ package org.jetbrains.jet.plugin.project; -import com.google.common.base.Predicate; import com.intellij.openapi.project.Project; -import com.intellij.psi.PsiFile; import org.jetbrains.annotations.NotNull; -import org.jetbrains.jet.analyzer.AnalyzeExhaust; import org.jetbrains.jet.analyzer.AnalyzerFacade; -import org.jetbrains.jet.lang.descriptors.ModuleDescriptor; import org.jetbrains.jet.lang.psi.JetFile; -import org.jetbrains.jet.lang.resolve.BindingTrace; -import org.jetbrains.jet.lang.resolve.BodiesResolveContext; import org.jetbrains.jet.lang.resolve.lazy.ResolveSession; import org.jetbrains.k2js.analyze.AnalyzerFacadeForJS; @@ -38,28 +32,6 @@ public enum JSAnalyzerFacadeForIDEA implements AnalyzerFacade { private JSAnalyzerFacadeForIDEA() { } - @NotNull - @Override - public AnalyzeExhaust analyzeFiles( - @NotNull Project project, - @NotNull Collection files, - @NotNull Predicate filesToAnalyzeCompletely - ) { - return AnalyzerFacadeForJS.analyzeFiles(files, filesToAnalyzeCompletely, new IDEAConfig(project), true); - } - - @NotNull - @Override - public AnalyzeExhaust analyzeBodiesInFiles( - @NotNull Project project, - @NotNull Predicate filesForBodiesResolve, - @NotNull BindingTrace traceContext, - @NotNull BodiesResolveContext bodiesResolveContext, - @NotNull ModuleDescriptor module - ) { - return AnalyzerFacadeForJS.analyzeBodiesInFiles(filesForBodiesResolve, new IDEAConfig(project), traceContext, bodiesResolveContext, module); - } - @NotNull @Override public ResolveSession getLazyResolveSession(@NotNull Project project, @NotNull Collection files) { diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/AddOverrideToEqualsHashCodeToStringFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/AddOverrideToEqualsHashCodeToStringFix.java index 03aa6274a59..28452bda238 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/AddOverrideToEqualsHashCodeToStringFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/AddOverrideToEqualsHashCodeToStringFix.java @@ -23,7 +23,6 @@ import com.intellij.psi.PsiFile; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.jet.analyzer.AnalyzeExhaust; import org.jetbrains.jet.lang.diagnostics.Diagnostic; import org.jetbrains.jet.lang.diagnostics.Errors; import org.jetbrains.jet.lang.psi.JetFile; @@ -32,6 +31,7 @@ import org.jetbrains.jet.lang.psi.JetParameter; import org.jetbrains.jet.lang.psi.JetTypeReference; import org.jetbrains.jet.lexer.JetModifierKeywordToken; import org.jetbrains.jet.plugin.JetBundle; +import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage; import org.jetbrains.jet.plugin.project.PluginJetFilesProvider; import java.util.Collection; @@ -86,15 +86,15 @@ public class AddOverrideToEqualsHashCodeToStringFix extends JetIntentionAction

files = PluginJetFilesProvider.allFilesInProject(file); - AnalyzeExhaust analyzeExhaust = MigrateSureInProjectFix.analyzeFiles(file, files); + for (JetFile jetFile : files) { + for (Diagnostic diagnostic : ResolvePackage.getAnalysisResults(jetFile).getBindingContext().getDiagnostics()) { + if (diagnostic.getFactory() != Errors.VIRTUAL_MEMBER_HIDDEN) continue; - for (Diagnostic diagnostic : analyzeExhaust.getBindingContext().getDiagnostics()) { - if (diagnostic.getFactory() != Errors.VIRTUAL_MEMBER_HIDDEN) continue; + PsiElement element = diagnostic.getPsiElement(); + if (!isEqualsHashCodeOrToString(element)) continue; - PsiElement element = diagnostic.getPsiElement(); - if (!isEqualsHashCodeOrToString(element)) continue; - - element.replace(AddModifierFix.addModifier(element, OVERRIDE_KEYWORD, MODIFIERS_TO_REPLACE, project, false)); + element.replace(AddModifierFix.addModifier(element, OVERRIDE_KEYWORD, MODIFIERS_TO_REPLACE, project, false)); + } } } diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/MigrateSureInProjectFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/MigrateSureInProjectFix.java index 7fd6dd18ccb..06160cfe063 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/MigrateSureInProjectFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/MigrateSureInProjectFix.java @@ -16,7 +16,6 @@ package org.jetbrains.jet.plugin.quickfix; -import com.google.common.base.Predicates; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiElement; @@ -24,15 +23,12 @@ import com.intellij.psi.PsiFile; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.jet.analyzer.AnalyzeExhaust; import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.jet.lang.diagnostics.Diagnostic; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BodiesResolveContext; -import org.jetbrains.jet.lang.resolve.DelegatingBindingTrace; import org.jetbrains.jet.plugin.JetBundle; -import org.jetbrains.jet.plugin.project.AnalyzerFacadeProvider; +import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage; import org.jetbrains.jet.plugin.project.PluginJetFilesProvider; import java.util.Collection; @@ -92,14 +88,13 @@ public class MigrateSureInProjectFix extends JetIntentionAction { public void invoke(@NotNull Project project, Editor editor, JetFile file) throws IncorrectOperationException { Collection files = PluginJetFilesProvider.allFilesInProject(file); - AnalyzeExhaust analyzeExhaust = analyzeFiles(file, files); - for (JetFile jetFile : files) { - replaceUnresolvedSure(jetFile, analyzeExhaust.getBindingContext()); + replaceUnresolvedSure(jetFile); } } - private void replaceUnresolvedSure(JetFile file, final BindingContext context) { + private void replaceUnresolvedSure(JetFile file) { + final BindingContext context = ResolvePackage.getBindingContext(file); for (JetDeclaration declaration : file.getDeclarations()) { declaration.acceptChildren(new JetVisitorVoid() { @@ -142,22 +137,4 @@ public class MigrateSureInProjectFix extends JetIntentionAction { } }; } - - /* package */ static AnalyzeExhaust analyzeFiles(JetFile initialFile, Collection files) { - AnalyzeExhaust analyzeExhaustHeaders = AnalyzerFacadeProvider.getAnalyzerFacadeForFile(initialFile).analyzeFiles( - initialFile.getProject(), - files, - Predicates.alwaysFalse()); - - BodiesResolveContext context = analyzeExhaustHeaders.getBodiesResolveContext(); - assert context != null : "Headers resolver should prepare and stored information for bodies resolve"; - - // Need to resolve bodies in given file and all in the same package - return AnalyzerFacadeProvider.getAnalyzerFacadeForFile(initialFile).analyzeBodiesInFiles( - initialFile.getProject(), - Predicates.alwaysTrue(), - new DelegatingBindingTrace(analyzeExhaustHeaders.getBindingContext(), "trace in migrate sure fix"), - context, - analyzeExhaustHeaders.getModuleDescriptor()); - } }