From 78bd6faffc099907103fb266a858f6b09698c620 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Tue, 23 Jul 2013 20:13:19 +0400 Subject: [PATCH] Minor, refactor JetFilesProvider --- .../codegen/binding/PsiCodegenPredictor.java | 6 +++--- .../lang/resolve/java/JetFilesProvider.java | 20 +++++-------------- .../plugin/debugger/JetPositionManager.java | 3 ++- .../jet/plugin/util/DebuggerUtils.java | 6 ++++-- 4 files changed, 14 insertions(+), 21 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/binding/PsiCodegenPredictor.java b/compiler/backend/src/org/jetbrains/jet/codegen/binding/PsiCodegenPredictor.java index b3affd8f237..c68bc791404 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/binding/PsiCodegenPredictor.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/binding/PsiCodegenPredictor.java @@ -36,7 +36,7 @@ import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.util.slicedmap.WritableSlice; -import java.util.List; +import java.util.Collection; import static org.jetbrains.jet.lang.resolve.BindingContextUtils.descriptorToDeclaration; @@ -193,7 +193,7 @@ public final class PsiCodegenPredictor { } @Nullable - public static JetFile getFileForNamespacePartName(@NotNull List allNamespaceFiles, @NotNull JvmClassName className) { + public static JetFile getFileForNamespacePartName(@NotNull Collection allNamespaceFiles, @NotNull JvmClassName className) { for (JetFile file : allNamespaceFiles) { String internalName = NamespaceCodegen.getNamespacePartInternalName(file); JvmClassName jvmClassName = JvmClassName.byInternalName(internalName); @@ -207,7 +207,7 @@ public final class PsiCodegenPredictor { @Nullable public static JetFile getFileForCodegenNamedClass( @NotNull BindingContext context, - @NotNull List allNamespaceFiles, + @NotNull Collection allNamespaceFiles, @NotNull final JvmClassName className ) { final Ref resultingDescriptor = Ref.create(); 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 index 7bafdcbf32f..c31e8ada068 100644 --- 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 @@ -17,6 +17,7 @@ package org.jetbrains.jet.lang.resolve.java; import com.google.common.base.Predicate; +import com.google.common.collect.Collections2; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiFile; @@ -28,19 +29,17 @@ import org.jetbrains.jet.lang.psi.JetPsiUtil; import org.jetbrains.jet.lang.resolve.name.FqName; import java.util.Collection; -import java.util.LinkedList; -import java.util.List; public abstract class JetFilesProvider { public static JetFilesProvider getInstance(Project project) { return ServiceManager.getService(project, JetFilesProvider.class); } - public final Function> allNamespaceFiles() { - return new Function>() { + public final Function> allNamespaceFiles() { + return new Function>() { @Override - public List fun(JetFile file) { - return new SameJetFilePredicate(file).filter(sampleToAllFilesInModule().fun(file)); + public Collection fun(JetFile file) { + return Collections2.filter(sampleToAllFilesInModule().fun(file), new SameJetFilePredicate(file)); } }; } @@ -60,14 +59,5 @@ public abstract class JetFilesProvider { public boolean apply(PsiFile psiFile) { return JetPsiUtil.getFQName((JetFile) psiFile).equals(name); } - - public List filter(Collection allFiles) { - LinkedList files = new LinkedList(); - for (JetFile aFile : allFiles) { - if(apply(aFile)) - files.add(aFile); - } - return files; - } } } diff --git a/idea/src/org/jetbrains/jet/plugin/debugger/JetPositionManager.java b/idea/src/org/jetbrains/jet/plugin/debugger/JetPositionManager.java index 71fcbc642a9..1c99120f949 100644 --- a/idea/src/org/jetbrains/jet/plugin/debugger/JetPositionManager.java +++ b/idea/src/org/jetbrains/jet/plugin/debugger/JetPositionManager.java @@ -51,6 +51,7 @@ import org.jetbrains.jet.plugin.project.AnalyzerFacadeWithCache; import org.jetbrains.jet.plugin.util.DebuggerUtils; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import java.util.WeakHashMap; @@ -187,7 +188,7 @@ public class JetPositionManager implements PositionManager { AnalyzeExhaust analyzeExhaust = AnalyzerFacadeWithCache.analyzeFileWithCache(file); analyzeExhaust.throwIfError(); - List namespaceFiles = JetFilesProvider.getInstance(file.getProject()).allNamespaceFiles().fun(file); + Collection namespaceFiles = JetFilesProvider.getInstance(file.getProject()).allNamespaceFiles().fun(file); DelegatingBindingTrace bindingTrace = new DelegatingBindingTrace(analyzeExhaust.getBindingContext(), "trace created in JetPositionManager"); JetTypeMapper typeMapper = new JetTypeMapper(bindingTrace, true, ClassBuilderMode.FULL); diff --git a/idea/src/org/jetbrains/jet/plugin/util/DebuggerUtils.java b/idea/src/org/jetbrains/jet/plugin/util/DebuggerUtils.java index 210eb0d0450..d47cb6cdb76 100644 --- a/idea/src/org/jetbrains/jet/plugin/util/DebuggerUtils.java +++ b/idea/src/org/jetbrains/jet/plugin/util/DebuggerUtils.java @@ -31,9 +31,11 @@ import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.plugin.project.AnalyzerFacadeWithCache; import java.util.Collection; -import java.util.List; public class DebuggerUtils { + private DebuggerUtils() { + } + @Nullable public static JetFile findSourceFileForClass( @NotNull GlobalSearchScope searchScope, @@ -62,7 +64,7 @@ public class DebuggerUtils { return anyFile; } - List allNamespaceFiles = filesProvider.allNamespaceFiles().fun(anyFile); + Collection allNamespaceFiles = filesProvider.allNamespaceFiles().fun(anyFile); JetFile file = PsiCodegenPredictor.getFileForNamespacePartName(allNamespaceFiles, className); if (file != null) { return file;