From cd030ec88ec2b3b757f282462601d2543b1ff005 Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Wed, 26 Feb 2014 15:28:54 +0400 Subject: [PATCH] VirtualFileFinder refactoring --- .../org/jetbrains/jet/codegen/inline/InlineCodegenUtil.java | 2 +- .../jetbrains/jet/cli/jvm/compiler/CliVirtualFileFinder.java | 3 ++- .../jetbrains/jet/lang/resolve/kotlin/VirtualFileFinder.java | 2 +- .../jet/lang/resolve/kotlin/VirtualFileKotlinClassFinder.java | 2 +- .../jet/plugin/libraries/DecompiledNavigationUtils.java | 2 +- .../jetbrains/jet/plugin/vfilefinder/IDEVirtualFileFinder.java | 2 +- 6 files changed, 7 insertions(+), 6 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegenUtil.java b/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegenUtil.java index 74d4e5d4043..751990dbe48 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegenUtil.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegenUtil.java @@ -106,7 +106,7 @@ public class InlineCodegenUtil { public static VirtualFile findVirtualFile(@NotNull Project project, @NotNull FqName containerFqName, boolean onlyKotlin) { VirtualFileFinder fileFinder = ServiceManager.getService(project, VirtualFileFinder.class); if (onlyKotlin) { - return fileFinder.findVirtualFile(containerFqName); + return fileFinder.findVirtualFileWithHeader(containerFqName); } else { return fileFinder.findVirtualFile(containerFqName.asString().replace('.', '/')); } diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CliVirtualFileFinder.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CliVirtualFileFinder.java index afda392986a..01cad805fd7 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CliVirtualFileFinder.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CliVirtualFileFinder.java @@ -34,7 +34,7 @@ public class CliVirtualFileFinder extends VirtualFileKotlinClassFinder implement @Nullable @Override - public VirtualFile findVirtualFile(@NotNull FqName className) { + public VirtualFile findVirtualFileWithHeader(@NotNull FqName className) { for (VirtualFile root : classPath) { VirtualFile fileInRoot = findKotlinFile(className, root); if (fileInRoot != null) { @@ -46,6 +46,7 @@ public class CliVirtualFileFinder extends VirtualFileKotlinClassFinder implement private VirtualFile findKotlinFile(@NotNull FqName className, @NotNull VirtualFile root) { VirtualFile vFile = findFileInRoot(className.asString(), root, '.'); + //NOTE: currently we use VirtualFileFinder to find Kotlin binaries only if (vFile != null && createKotlinClass(vFile).getClassHeader() != null) { return vFile; } diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/kotlin/VirtualFileFinder.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/kotlin/VirtualFileFinder.java index 010f65058d0..613137b26e9 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/kotlin/VirtualFileFinder.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/kotlin/VirtualFileFinder.java @@ -33,7 +33,7 @@ public interface VirtualFileFinder extends KotlinClassFinder { // TODO: support scope @Nullable - VirtualFile findVirtualFile(@NotNull FqName className); + VirtualFile findVirtualFileWithHeader(@NotNull FqName className); /*Also finds files without kotlin header*/ @Nullable diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/kotlin/VirtualFileKotlinClassFinder.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/kotlin/VirtualFileKotlinClassFinder.java index cd4161337d6..067d21ff532 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/kotlin/VirtualFileKotlinClassFinder.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/kotlin/VirtualFileKotlinClassFinder.java @@ -38,7 +38,7 @@ public abstract class VirtualFileKotlinClassFinder implements VirtualFileFinder @Nullable @Override public KotlinJvmBinaryClass findKotlinClass(@NotNull FqName fqName) { - VirtualFile file = findVirtualFile(fqName); + VirtualFile file = findVirtualFileWithHeader(fqName); return file == null ? null : createKotlinClass(file); } diff --git a/idea/src/org/jetbrains/jet/plugin/libraries/DecompiledNavigationUtils.java b/idea/src/org/jetbrains/jet/plugin/libraries/DecompiledNavigationUtils.java index 7af9fa379d2..fe6a6bc4589 100644 --- a/idea/src/org/jetbrains/jet/plugin/libraries/DecompiledNavigationUtils.java +++ b/idea/src/org/jetbrains/jet/plugin/libraries/DecompiledNavigationUtils.java @@ -100,7 +100,7 @@ public final class DecompiledNavigationUtils { return null; } VirtualFileFinder fileFinder = VirtualFileFinder.SERVICE.getInstance(project); - VirtualFile virtualFile = fileFinder.findVirtualFile(containerFqName); + VirtualFile virtualFile = fileFinder.findVirtualFileWithHeader(containerFqName); if (virtualFile == null) { return null; } diff --git a/idea/src/org/jetbrains/jet/plugin/vfilefinder/IDEVirtualFileFinder.java b/idea/src/org/jetbrains/jet/plugin/vfilefinder/IDEVirtualFileFinder.java index e16489035fd..51cc3ca4213 100644 --- a/idea/src/org/jetbrains/jet/plugin/vfilefinder/IDEVirtualFileFinder.java +++ b/idea/src/org/jetbrains/jet/plugin/vfilefinder/IDEVirtualFileFinder.java @@ -44,7 +44,7 @@ public final class IDEVirtualFileFinder extends VirtualFileKotlinClassFinder imp @Nullable @Override - public VirtualFile findVirtualFile(@NotNull FqName className) { + public VirtualFile findVirtualFileWithHeader(@NotNull FqName className) { Collection files = FileBasedIndex.getInstance().getContainingFiles(KotlinClassFileIndex.KEY, className, GlobalSearchScope.allScope(project)); if (files.isEmpty()) {