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 2246dc120f3..a7bb58f4a83 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 @@ -40,7 +40,6 @@ import org.jetbrains.jet.lang.resolve.*; import org.jetbrains.jet.lang.resolve.java.mapping.JavaToKotlinClassMap; import org.jetbrains.jet.lang.resolve.lazy.ResolveSession; import org.jetbrains.jet.lang.resolve.lazy.declarations.FileBasedDeclarationProviderFactory; -import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns; @@ -100,24 +99,17 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade { @NotNull InjectorForJavaDescriptorResolver injector, boolean addBuiltIns ) { - final JavaClassFinderImpl classFinder = injector.getJavaClassFinder(); - // TODO: Replace with stub declaration provider GlobalContextImpl globalContext = injector.getGlobalContext(); FileBasedDeclarationProviderFactory declarationProviderFactory = new FileBasedDeclarationProviderFactory( globalContext.getStorageManager(), - files, - new Predicate() { - @Override - public boolean apply(FqName fqName) { - return classFinder.findPackage(fqName) != null || KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME.equals(fqName); - } - }); + files); ModuleDescriptorImpl module = injector.getModule(); if (addBuiltIns) { - module.addFragmentProvider(DependencyKind.BUILT_INS, KotlinBuiltIns.getInstance().getBuiltInsModule().getPackageFragmentProvider()); + module.addFragmentProvider(DependencyKind.BUILT_INS, + KotlinBuiltIns.getInstance().getBuiltInsModule().getPackageFragmentProvider()); } return new InjectorForLazyResolve(project, globalContext, module, declarationProviderFactory, trace).getResolveSession(); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/declarations/EmptyPackageMemberDeclarationProvider.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/declarations/EmptyPackageMemberDeclarationProvider.java deleted file mode 100644 index 0f501f8b008..00000000000 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/declarations/EmptyPackageMemberDeclarationProvider.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 2010-2013 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.jet.lang.resolve.lazy.declarations; - -import com.intellij.psi.NavigatablePsiElement; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.jet.lang.psi.JetClassOrObject; -import org.jetbrains.jet.lang.psi.JetDeclaration; -import org.jetbrains.jet.lang.psi.JetNamedFunction; -import org.jetbrains.jet.lang.psi.JetProperty; -import org.jetbrains.jet.lang.resolve.name.FqName; -import org.jetbrains.jet.lang.resolve.name.Name; - -import java.util.Collection; -import java.util.Collections; -import java.util.List; - -public class EmptyPackageMemberDeclarationProvider implements PackageMemberDeclarationProvider { - - public static final EmptyPackageMemberDeclarationProvider INSTANCE = new EmptyPackageMemberDeclarationProvider(); - - private EmptyPackageMemberDeclarationProvider() {} - - @Override - public Collection getAllDeclaredPackages() { - return Collections.emptyList(); - } - - @NotNull - @Override - public Collection getPackageDeclarations(FqName fqName) { - return Collections.emptyList(); - } - - @Override - public List getAllDeclarations() { - return Collections.emptyList(); - } - - @NotNull - @Override - public Collection getFunctionDeclarations(@NotNull Name name) { - return Collections.emptyList(); - } - - @NotNull - @Override - public Collection getPropertyDeclarations(@NotNull Name name) { - return Collections.emptyList(); - } - - @NotNull - @Override - public Collection getClassOrObjectDeclarations(@NotNull Name name) { - return Collections.emptyList(); - } -} diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/declarations/FileBasedDeclarationProviderFactory.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/declarations/FileBasedDeclarationProviderFactory.java index b7831b4ce53..5d6c39243a3 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/declarations/FileBasedDeclarationProviderFactory.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/declarations/FileBasedDeclarationProviderFactory.java @@ -17,7 +17,6 @@ package org.jetbrains.jet.lang.resolve.lazy.declarations; import com.google.common.base.Predicate; -import com.google.common.base.Predicates; import com.google.common.collect.*; import com.intellij.psi.NavigatablePsiElement; import com.intellij.util.Function; @@ -47,24 +46,13 @@ public class FileBasedDeclarationProviderFactory implements DeclarationProviderF private final Set declaredPackages = Sets.newHashSet(); } - private final Predicate isPackageDeclaredExternally; - private final StorageManager storageManager; private final NotNullLazyValue index; private final MemoizedFunctionToNullable packageDeclarationProviders; - public FileBasedDeclarationProviderFactory(@NotNull StorageManager storageManager, @NotNull Collection files) { - this(storageManager, files, Predicates.alwaysFalse()); - } - - public FileBasedDeclarationProviderFactory( - @NotNull StorageManager storageManager, - @NotNull final Collection files, - @NotNull Predicate isPackageDeclaredExternally - ) { + public FileBasedDeclarationProviderFactory(@NotNull StorageManager storageManager, @NotNull final Collection files) { this.storageManager = storageManager; - this.isPackageDeclaredExternally = isPackageDeclaredExternally; this.index = storageManager.createLazyValue(new Function0() { @Override public Index invoke() { @@ -143,14 +131,12 @@ public class FileBasedDeclarationProviderFactory implements DeclarationProviderF @Nullable public PackageMemberDeclarationProvider createPackageMemberDeclarationProvider(@NotNull FqName packageFqName) { - if (!isPackageDeclaredExplicitly(packageFqName)) { - if (isPackageDeclaredExternally.apply(packageFqName)) { - return EmptyPackageMemberDeclarationProvider.INSTANCE; - } - return null; + if (isPackageDeclaredExplicitly(packageFqName)) { + return new FileBasedPackageMemberDeclarationProvider( + storageManager, packageFqName, this, index.invoke().filesByPackage.get(packageFqName)); } - return new FileBasedPackageMemberDeclarationProvider(storageManager, packageFqName, this, index.invoke().filesByPackage.get(packageFqName)); + return null; } @NotNull diff --git a/idea/src/org/jetbrains/jet/plugin/libraries/JetSourceNavigationHelper.java b/idea/src/org/jetbrains/jet/plugin/libraries/JetSourceNavigationHelper.java index f885e8a85bf..92710a91f87 100644 --- a/idea/src/org/jetbrains/jet/plugin/libraries/JetSourceNavigationHelper.java +++ b/idea/src/org/jetbrains/jet/plugin/libraries/JetSourceNavigationHelper.java @@ -16,7 +16,6 @@ package org.jetbrains.jet.plugin.libraries; -import com.google.common.base.Predicate; import com.google.common.collect.Lists; import com.google.common.collect.Sets; import com.intellij.openapi.module.Module; @@ -219,13 +218,7 @@ public class JetSourceNavigationHelper { GlobalContextImpl globalContext = ContextPackage.GlobalContext(); FileBasedDeclarationProviderFactory providerFactory = new FileBasedDeclarationProviderFactory( globalContext.getStorageManager(), - getContainingFiles(candidates), - new Predicate() { - @Override - public boolean apply(@Nullable FqName fqName) { - return KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME.equals(fqName); - } - }); + getContainingFiles(candidates)); ModuleDescriptorImpl moduleDescriptor = new ModuleDescriptorImpl(Name.special(""), AnalyzerFacadeForJVM.DEFAULT_IMPORTS,