diff --git a/compiler/tests/org/jetbrains/jet/descriptors/serialization/AbstractDescriptorSerializationTest.java b/compiler/tests/org/jetbrains/jet/descriptors/serialization/AbstractDescriptorSerializationTest.java index 6fe19ba91a8..b9629bc333a 100644 --- a/compiler/tests/org/jetbrains/jet/descriptors/serialization/AbstractDescriptorSerializationTest.java +++ b/compiler/tests/org/jetbrains/jet/descriptors/serialization/AbstractDescriptorSerializationTest.java @@ -45,7 +45,6 @@ import java.util.*; import static org.jetbrains.jet.descriptors.serialization.NameSerializationUtil.createNameResolver; import static org.jetbrains.jet.descriptors.serialization.descriptors.AnnotationDeserializer.UNSUPPORTED; -import static org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule.IGNORE_KOTLIN_SOURCES; import static org.jetbrains.jet.lang.resolve.kotlin.DeserializedResolverUtils.naiveKotlinFqName; public abstract class AbstractDescriptorSerializationTest extends KotlinTestWithEnvironment { @@ -182,7 +181,7 @@ public abstract class AbstractDescriptorSerializationTest extends KotlinTestWith @Override public ClassDescriptor findClass(@NotNull ClassId classId) { ClassDescriptor found = super.findClass(classId); - return found != null ? found : javaDescriptorResolver.resolveClass(classId.asSingleFqName().toSafe(), IGNORE_KOTLIN_SOURCES); + return found != null ? found : javaDescriptorResolver.resolveClass(classId.asSingleFqName().toSafe()); } @Nullable diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/JdkAnnotationsValidityTest.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/JdkAnnotationsValidityTest.java index fa5914ae4b1..3c09fab0a4c 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/JdkAnnotationsValidityTest.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/JdkAnnotationsValidityTest.java @@ -57,8 +57,6 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -import static org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule.IGNORE_KOTLIN_SOURCES; - public class JdkAnnotationsValidityTest extends UsefulTestCase { private static final int CLASSES_IN_CHUNK = 500; @@ -124,7 +122,7 @@ public class JdkAnnotationsValidityTest extends UsefulTestCase { int chunkStart = chunkIndex * CLASSES_IN_CHUNK; for (FqName javaClass : affectedClasses.subList(chunkStart, Math.min(chunkStart + CLASSES_IN_CHUNK, affectedClasses.size()))) { - ClassDescriptor topLevelClass = javaDescriptorResolver.resolveClass(javaClass, IGNORE_KOTLIN_SOURCES); + ClassDescriptor topLevelClass = javaDescriptorResolver.resolveClass(javaClass); PackageViewDescriptor topLevelPackage = injector.getModule().getPackage(javaClass); if (topLevelClass == null) { continue; diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/longTest/ResolveDescriptorsFromExternalLibraries.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/longTest/ResolveDescriptorsFromExternalLibraries.java index 2ad635e2360..5697c358e43 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/longTest/ResolveDescriptorsFromExternalLibraries.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/longTest/ResolveDescriptorsFromExternalLibraries.java @@ -46,8 +46,6 @@ import java.util.List; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; -import static org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule.IGNORE_KOTLIN_SOURCES; - public class ResolveDescriptorsFromExternalLibraries { @@ -203,7 +201,7 @@ public class ResolveDescriptorsFromExternalLibraries { String className = entryName.substring(0, entryName.length() - ".class".length()).replace("/", "."); try { - ClassDescriptor clazz = javaDescriptorResolver.resolveClass(new FqName(className), IGNORE_KOTLIN_SOURCES); + ClassDescriptor clazz = javaDescriptorResolver.resolveClass(new FqName(className)); if (clazz == null) { throw new IllegalStateException("class not found by name " + className + " in " + libDescription); } diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/DescriptorSearchRule.java b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/DescriptorSearchRule.java deleted file mode 100644 index 763c8a5c4dd..00000000000 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/DescriptorSearchRule.java +++ /dev/null @@ -1,33 +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.java; - -/* -* This class indicates whether we should look into kotlin sources when searching for descriptors in JavaDescriptorResolver. -* This is a hack because it should be done via correct scopes. -* Order in which we attempt to resolve descriptors is also should be taken care of. (though it is correct for the most part now) -* */ -public enum DescriptorSearchRule { - //Return immediately if you found descriptor in kotlin sources, if not continue - INCLUDE_KOTLIN_SOURCES, - //Do not try to find descriptors in kotlin sources. - //This flag is mostly used when resolving descriptors from binaries or java descriptors. - //It will not prevent from looking into java sources which is often desirable behaviour. - //It is not correct because sometimes class from sources can override class from binary since it comes earlier in classpath - //and for a thousand more reasons. - IGNORE_KOTLIN_SOURCES -} diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java index 1075ccd9a00..2d1042c5f10 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java @@ -33,10 +33,6 @@ import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.types.DependencyClassByQualifiedNameResolver; import org.jetbrains.jet.storage.StorageManager; -import javax.inject.Inject; - -import static org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule.IGNORE_KOTLIN_SOURCES; - public class JavaDescriptorResolver implements DependencyClassByQualifiedNameResolver { public static final Name JAVA_ROOT = Name.special(""); @@ -100,13 +96,9 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes } @Nullable - public ClassDescriptor resolveClass(@NotNull FqName qualifiedName, @NotNull DescriptorSearchRule searchRule) { - return getPackageFragmentProvider().getClass(qualifiedName); - } - @Override public ClassDescriptor resolveClass(@NotNull FqName qualifiedName) { - return resolveClass(qualifiedName, IGNORE_KOTLIN_SOURCES); + return getPackageFragmentProvider().getClass(qualifiedName); } @Nullable diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/kotlin/AnnotationDescriptorDeserializer.java b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/kotlin/AnnotationDescriptorDeserializer.java index 38c41ef79dd..f1ced78cd13 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/kotlin/AnnotationDescriptorDeserializer.java +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/kotlin/AnnotationDescriptorDeserializer.java @@ -52,7 +52,6 @@ import java.util.*; import static org.jetbrains.jet.lang.resolve.DescriptorUtils.isClassObject; import static org.jetbrains.jet.lang.resolve.DescriptorUtils.isTrait; -import static org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule.IGNORE_KOTLIN_SOURCES; import static org.jetbrains.jet.lang.resolve.kotlin.DeserializedResolverUtils.kotlinFqNameToJavaFqName; import static org.jetbrains.jet.lang.resolve.kotlin.DeserializedResolverUtils.naiveKotlinFqName; @@ -216,8 +215,7 @@ public class AnnotationDescriptorDeserializer implements AnnotationDeserializer @NotNull private ClassDescriptor resolveClass(@NotNull JvmClassName className) { - ClassDescriptor annotationClass = javaDescriptorResolver.resolveClass(className.getFqNameForClassNameWithoutDollars(), - IGNORE_KOTLIN_SOURCES); + ClassDescriptor annotationClass = javaDescriptorResolver.resolveClass(className.getFqNameForClassNameWithoutDollars()); return annotationClass != null ? annotationClass : ErrorUtils.getErrorClass(); } diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/kotlin/DeserializedDescriptorResolver.java b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/kotlin/DeserializedDescriptorResolver.java index c5442553e7c..0498b6bf59d 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/kotlin/DeserializedDescriptorResolver.java +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/kotlin/DeserializedDescriptorResolver.java @@ -38,7 +38,6 @@ import org.jetbrains.jet.storage.StorageManager; import javax.inject.Inject; import java.util.Collection; -import static org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule.INCLUDE_KOTLIN_SOURCES; import static org.jetbrains.jet.lang.resolve.kotlin.DeserializedResolverUtils.kotlinFqNameToJavaFqName; import static org.jetbrains.jet.lang.resolve.kotlin.header.KotlinClassHeader.Kind.CLASS; import static org.jetbrains.jet.lang.resolve.kotlin.header.KotlinClassHeader.Kind.PACKAGE_FACADE; @@ -59,7 +58,7 @@ public final class DeserializedDescriptorResolver { @Nullable @Override public ClassDescriptor findClass(@NotNull ClassId classId) { - return javaDescriptorResolver.resolveClass(kotlinFqNameToJavaFqName(classId.asSingleFqName()), INCLUDE_KOTLIN_SOURCES); + return javaDescriptorResolver.resolveClass(kotlinFqNameToJavaFqName(classId.asSingleFqName())); } @NotNull diff --git a/idea/src/org/jetbrains/jet/plugin/ktSignature/KotlinSignatureAnnotationIntention.java b/idea/src/org/jetbrains/jet/plugin/ktSignature/KotlinSignatureAnnotationIntention.java index e879db6517d..03f44e14dab 100644 --- a/idea/src/org/jetbrains/jet/plugin/ktSignature/KotlinSignatureAnnotationIntention.java +++ b/idea/src/org/jetbrains/jet/plugin/ktSignature/KotlinSignatureAnnotationIntention.java @@ -49,8 +49,6 @@ import org.jetbrains.jet.renderer.DescriptorRendererBuilder; import javax.swing.*; -import static org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule.IGNORE_KOTLIN_SOURCES; - public class KotlinSignatureAnnotationIntention extends BaseIntentionAction implements Iconable { private static final DescriptorRenderer RENDERER = new DescriptorRendererBuilder() .setShortNames(true) @@ -136,7 +134,7 @@ public class KotlinSignatureAnnotationIntention extends BaseIntentionAction impl private static String getDefaultSignature(@NotNull PsiMethod method, FqName classFqName, JavaDescriptorResolver javaDescriptorResolver, BindingContext context) { if (method.getReturnType() == null) { // For constructor - ClassDescriptor classDescriptor = javaDescriptorResolver.resolveClass(classFqName, IGNORE_KOTLIN_SOURCES); + ClassDescriptor classDescriptor = javaDescriptorResolver.resolveClass(classFqName); assert classDescriptor != null: "Couldn't resolve class descriptor for " + classFqName; classDescriptor.getConstructors(); @@ -192,7 +190,7 @@ public class KotlinSignatureAnnotationIntention extends BaseIntentionAction impl return packageFragment.getMemberScope(); } - ClassDescriptor classDescriptor = javaDescriptorResolver.resolveClass(classFqName, IGNORE_KOTLIN_SOURCES); + ClassDescriptor classDescriptor = javaDescriptorResolver.resolveClass(classFqName); assert classDescriptor != null: "Couldn't resolve class descriptor for " + classFqName; return classDescriptor.getDefaultType().getMemberScope(); } diff --git a/idea/src/org/jetbrains/jet/plugin/ktSignature/KotlinSignatureInJavaMarkerProvider.java b/idea/src/org/jetbrains/jet/plugin/ktSignature/KotlinSignatureInJavaMarkerProvider.java index ea7340b6c64..419a1bf2b21 100644 --- a/idea/src/org/jetbrains/jet/plugin/ktSignature/KotlinSignatureInJavaMarkerProvider.java +++ b/idea/src/org/jetbrains/jet/plugin/ktSignature/KotlinSignatureInJavaMarkerProvider.java @@ -59,8 +59,6 @@ import java.awt.event.MouseEvent; import java.util.Collection; import java.util.List; -import static org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule.IGNORE_KOTLIN_SOURCES; - public class KotlinSignatureInJavaMarkerProvider implements LineMarkerProvider { private static final String SHOW_MARKERS_PROPERTY = "kotlin.signature.markers.enabled"; @@ -175,7 +173,7 @@ public class KotlinSignatureInJavaMarkerProvider implements LineMarkerProvider { return packageFragment.getMemberScope(); } else { - ClassDescriptor klass = javaDescriptorResolver.resolveClass(classFqName, IGNORE_KOTLIN_SOURCES); + ClassDescriptor klass = javaDescriptorResolver.resolveClass(classFqName); if (klass == null) { return null; } diff --git a/idea/src/org/jetbrains/jet/plugin/libraries/DecompiledDataFactory.java b/idea/src/org/jetbrains/jet/plugin/libraries/DecompiledDataFactory.java index c775842ffa3..c9b5d19e4d4 100644 --- a/idea/src/org/jetbrains/jet/plugin/libraries/DecompiledDataFactory.java +++ b/idea/src/org/jetbrains/jet/plugin/libraries/DecompiledDataFactory.java @@ -39,7 +39,6 @@ import java.util.*; import static org.jetbrains.jet.lang.resolve.DescriptorUtils.isEnumEntry; import static org.jetbrains.jet.lang.resolve.DescriptorUtils.isSyntheticClassObject; -import static org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule.INCLUDE_KOTLIN_SOURCES; import static org.jetbrains.jet.plugin.libraries.JetDecompiledData.descriptorToKey; public final class DecompiledDataFactory { @@ -96,7 +95,7 @@ public final class DecompiledDataFactory { } } else if (kind == KotlinClassHeader.Kind.CLASS) { - ClassDescriptor cd = javaDescriptorResolver.resolveClass(classFqName, INCLUDE_KOTLIN_SOURCES); + ClassDescriptor cd = javaDescriptorResolver.resolveClass(classFqName); if (cd != null) { appendDescriptor(cd, ""); } diff --git a/idea/tests/org/jetbrains/jet/plugin/ktSignature/SignatureMarkerProviderTest.java b/idea/tests/org/jetbrains/jet/plugin/ktSignature/SignatureMarkerProviderTest.java index 53c7e8c3b7d..5420566ed20 100644 --- a/idea/tests/org/jetbrains/jet/plugin/ktSignature/SignatureMarkerProviderTest.java +++ b/idea/tests/org/jetbrains/jet/plugin/ktSignature/SignatureMarkerProviderTest.java @@ -33,8 +33,6 @@ import org.jetbrains.jet.plugin.JetLightProjectDescriptor; import org.jetbrains.jet.plugin.caches.resolve.KotlinCacheManager; import org.jetbrains.jet.plugin.project.TargetPlatform; -import static org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule.IGNORE_KOTLIN_SOURCES; - public class SignatureMarkerProviderTest extends LightCodeInsightFixtureTestCase { @NotNull @@ -57,7 +55,7 @@ public class SignatureMarkerProviderTest extends LightCodeInsightFixtureTestCase InjectorForJavaDescriptorResolver injector = InjectorForJavaDescriptorResolverUtil.create(project, KotlinSignatureInJavaMarkerProvider.createDelegatingTrace(project)); ClassDescriptor reResolvedClass = injector.getJavaDescriptorResolver() - .resolveClass(new FqName("java.lang.Thread"), IGNORE_KOTLIN_SOURCES); + .resolveClass(new FqName("java.lang.Thread")); assertSame(preResolvedClass, reResolvedClass); }