diff --git a/compiler/frontend/src/org/jetbrains/jet/analyzer/AnalyzerUtil.kt b/compiler/frontend/src/org/jetbrains/jet/analyzer/AnalyzerUtil.kt index 1166b659334..ccf1b871c1d 100644 --- a/compiler/frontend/src/org/jetbrains/jet/analyzer/AnalyzerUtil.kt +++ b/compiler/frontend/src/org/jetbrains/jet/analyzer/AnalyzerUtil.kt @@ -28,7 +28,7 @@ import org.jetbrains.jet.lang.types.ErrorUtils import org.jetbrains.jet.lang.resolve.BindingContext import org.jetbrains.jet.lang.resolve.BindingTraceContext import org.jetbrains.jet.lang.resolve.BindingTrace -import org.jetbrains.jet.lang.resolve.DescriptorUtils +import org.jetbrains.jet.lang.resolve.descriptorUtil.module public fun JetExpression.computeTypeInfoInContext( scope: JetScope, @@ -68,4 +68,4 @@ public fun JetType?.safeType(expression: JetExpression): JetType { return ErrorUtils.createErrorType("Type for " + expression.getText()) } -private fun JetScope.getModule(): ModuleDescriptor = DescriptorUtils.getContainingModule(this.getContainingDeclaration()) +private fun JetScope.getModule(): ModuleDescriptor = this.getContainingDeclaration().module diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/MultiModuleJavaAnalysisCustomTest.kt b/compiler/tests/org/jetbrains/jet/jvm/compiler/MultiModuleJavaAnalysisCustomTest.kt index cefc18ec8f4..722e970199b 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/MultiModuleJavaAnalysisCustomTest.kt +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/MultiModuleJavaAnalysisCustomTest.kt @@ -28,7 +28,6 @@ import org.jetbrains.jet.lang.resolve.name.Name import org.jetbrains.jet.lang.resolve.name.FqName import org.jetbrains.jet.lang.descriptors.* import org.junit.Assert -import org.jetbrains.jet.lang.resolve.DescriptorUtils import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment import org.jetbrains.jet.config.CompilerConfiguration import org.jetbrains.jet.cli.jvm.JVMConfigurationKeys @@ -41,6 +40,7 @@ import org.jetbrains.jet.analyzer.ModuleInfo import java.util.HashMap import org.jetbrains.jet.analyzer.ModuleContent import org.jetbrains.jet.lang.types.ErrorUtils +import org.jetbrains.jet.lang.resolve.descriptorUtil.module public class MultiModuleJavaAnalysisCustomTest : UsefulTestCase() { @@ -157,7 +157,7 @@ public class MultiModuleJavaAnalysisCustomTest : UsefulTestCase() { val descriptorName = referencedDescriptor.getName().asString() val expectedModuleName = "<${descriptorName.toLowerCase().first().toString()}>" - val moduleName = DescriptorUtils.getContainingModule(referencedDescriptor).getName().asString() + val moduleName = referencedDescriptor.module.getName().asString() Assert.assertEquals( "Java class $descriptorName in $context should be in module $expectedModuleName, but instead was in $moduleName", expectedModuleName, moduleName diff --git a/core/descriptors/src/org/jetbrains/jet/lang/resolve/DescriptorUtils.kt b/core/descriptors/src/org/jetbrains/jet/lang/resolve/DescriptorUtils.kt index 5a8a4eee290..7926970d135 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/resolve/DescriptorUtils.kt +++ b/core/descriptors/src/org/jetbrains/jet/lang/resolve/DescriptorUtils.kt @@ -31,4 +31,7 @@ public fun DeclarationDescriptor.getImportableDescriptor(): DeclarationDescripto if (this is ConstructorDescriptor || DescriptorUtils.isClassObject(this)) getContainingDeclaration()!! else this public val DeclarationDescriptor.isExtension: Boolean - get() = this is CallableDescriptor && getExtensionReceiverParameter() != null \ No newline at end of file + get() = this is CallableDescriptor && getExtensionReceiverParameter() != null + +public val DeclarationDescriptor.module: ModuleDescriptor + get() = DescriptorUtils.getContainingModule(this) \ No newline at end of file diff --git a/idea/src/org/jetbrains/jet/plugin/debugger/PositionManagerLibraryClassFileSearcher.kt b/idea/src/org/jetbrains/jet/plugin/debugger/PositionManagerLibraryClassFileSearcher.kt index 787725b8bbd..054fd97414d 100644 --- a/idea/src/org/jetbrains/jet/plugin/debugger/PositionManagerLibraryClassFileSearcher.kt +++ b/idea/src/org/jetbrains/jet/plugin/debugger/PositionManagerLibraryClassFileSearcher.kt @@ -21,7 +21,6 @@ import org.jetbrains.jet.lang.resolve.kotlin.PackagePartClassUtils import org.jetbrains.jet.lang.psi.JetElement import org.jetbrains.jet.descriptors.serialization.JavaProtoBuf import org.jetbrains.jet.renderer.DescriptorRenderer -import org.jetbrains.jet.plugin.caches.resolve.getLazyResolveSession import com.intellij.openapi.diagnostic.Logger import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor import com.intellij.openapi.roots.libraries.LibraryUtil @@ -37,6 +36,8 @@ import com.intellij.openapi.module.impl.scopes.JdkScope import com.intellij.openapi.roots.JdkOrderEntry import org.jetbrains.jet.lang.psi.JetPsiUtil import org.jetbrains.jet.lang.resolve.java.JvmClassName +import org.jetbrains.jet.lang.resolve.descriptorUtil.module +import org.jetbrains.jet.plugin.caches.resolve.resolveToDescriptor private val LOG = Logger.getInstance("org.jetbrains.jet.plugin.debugger") @@ -58,13 +59,12 @@ fun findPackagePartInternalNameForLibraryFile(elementAt: JetElement): String? { val packagePartFile = findPackagePartFileNamesForElement(topLevelDeclaration).singleOrNull() if (packagePartFile != null) return packagePartFile - val resolveSession = topLevelDeclaration.getLazyResolveSession() - val descriptor = resolveSession.resolveToDescriptor(topLevelDeclaration) + val descriptor = topLevelDeclaration.resolveToDescriptor() if (descriptor !is CallableDescriptor) return null val packageFqName = topLevelDeclaration.getContainingJetFile().getPackageFqName() - val packageDescriptor = resolveSession.getModuleDescriptorForElement(topLevelDeclaration).getPackage(packageFqName) + val packageDescriptor = descriptor.module.getPackage(packageFqName) if (packageDescriptor == null) { reportError(topLevelDeclaration, descriptor) return null diff --git a/idea/tests/org/jetbrains/jet/plugin/decompiler/textBuilder/DecompiledTextConsistencyTest.kt b/idea/tests/org/jetbrains/jet/plugin/decompiler/textBuilder/DecompiledTextConsistencyTest.kt index 22082a8a29f..3b5b932fd85 100644 --- a/idea/tests/org/jetbrains/jet/plugin/decompiler/textBuilder/DecompiledTextConsistencyTest.kt +++ b/idea/tests/org/jetbrains/jet/plugin/decompiler/textBuilder/DecompiledTextConsistencyTest.kt @@ -25,7 +25,6 @@ import org.jetbrains.jet.lang.resolve.java.PackageClassUtils import com.intellij.openapi.project.Project import org.jetbrains.jet.lang.descriptors.ClassDescriptor import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor -import org.jetbrains.jet.lang.resolve.DescriptorUtils import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns import org.jetbrains.jet.lang.resolve.resolveTopLevelClass import org.jetbrains.jet.lang.descriptors.CallableMemberDescriptor @@ -34,6 +33,7 @@ import org.jetbrains.jet.lang.resolve.java.TopDownAnalyzerFacadeForJVM import org.jetbrains.jet.lang.resolve.BindingTraceContext import org.jetbrains.jet.lang.resolve.name.ClassId import org.jetbrains.jet.lang.resolve.MemberComparator +import org.jetbrains.jet.lang.resolve.descriptorUtil.module public class DecompiledTextConsistencyTest : JetLightCodeInsightFixtureTestCase() { @@ -76,7 +76,7 @@ class ProjectBasedResolverForDecompiler(project: Project) : ResolverForDecompile override fun resolveDeclarationsInPackage(packageFqName: FqName): Collection { val packageView = module.getPackage(packageFqName) ?: return listOf() return packageView.getMemberScope().getAllDescriptors() filter { - it is CallableMemberDescriptor && DescriptorUtils.getContainingModule(it) != KotlinBuiltIns.getInstance().getBuiltInsModule() + it is CallableMemberDescriptor && it.module != KotlinBuiltIns.getInstance().getBuiltInsModule() } sortBy MemberComparator.INSTANCE } } \ No newline at end of file