Minor, refactor JetFilesProvider
This commit is contained in:
committed by
Pavel V. Talanov
parent
155f3b3b96
commit
78bd6faffc
@@ -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<JetFile> allNamespaceFiles, @NotNull JvmClassName className) {
|
||||
public static JetFile getFileForNamespacePartName(@NotNull Collection<JetFile> 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<JetFile> allNamespaceFiles,
|
||||
@NotNull Collection<JetFile> allNamespaceFiles,
|
||||
@NotNull final JvmClassName className
|
||||
) {
|
||||
final Ref<DeclarationDescriptor> resultingDescriptor = Ref.create();
|
||||
|
||||
+5
-15
@@ -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<JetFile, List<JetFile>> allNamespaceFiles() {
|
||||
return new Function<JetFile, List<JetFile>>() {
|
||||
public final Function<JetFile, Collection<JetFile>> allNamespaceFiles() {
|
||||
return new Function<JetFile, Collection<JetFile>>() {
|
||||
@Override
|
||||
public List<JetFile> fun(JetFile file) {
|
||||
return new SameJetFilePredicate(file).filter(sampleToAllFilesInModule().fun(file));
|
||||
public Collection<JetFile> 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<JetFile> filter(Collection<JetFile> allFiles) {
|
||||
LinkedList<JetFile> files = new LinkedList<JetFile>();
|
||||
for (JetFile aFile : allFiles) {
|
||||
if(apply(aFile))
|
||||
files.add(aFile);
|
||||
}
|
||||
return files;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<JetFile> namespaceFiles = JetFilesProvider.getInstance(file.getProject()).allNamespaceFiles().fun(file);
|
||||
Collection<JetFile> 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);
|
||||
|
||||
@@ -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<JetFile> allNamespaceFiles = filesProvider.allNamespaceFiles().fun(anyFile);
|
||||
Collection<JetFile> allNamespaceFiles = filesProvider.allNamespaceFiles().fun(anyFile);
|
||||
JetFile file = PsiCodegenPredictor.getFileForNamespacePartName(allNamespaceFiles, className);
|
||||
if (file != null) {
|
||||
return file;
|
||||
|
||||
Reference in New Issue
Block a user