diff --git a/idea/src/org/jetbrains/jet/plugin/libraries/DecompiledDataFactory.kt b/idea/src/org/jetbrains/jet/plugin/libraries/DecompiledDataFactory.kt index ed4062540a5..b2851f86bdf 100644 --- a/idea/src/org/jetbrains/jet/plugin/libraries/DecompiledDataFactory.kt +++ b/idea/src/org/jetbrains/jet/plugin/libraries/DecompiledDataFactory.kt @@ -35,7 +35,7 @@ import org.jetbrains.jet.lang.resolve.DescriptorUtils.isSyntheticClassObject import org.jetbrains.jet.plugin.libraries.JetDecompiledData.descriptorToKey public fun buildDecompiledData(classFile: VirtualFile, project: Project): JetDecompiledData { - return buildDecompiledData(classFile, project, ProjectBasedResolverForDecompiler(project)) + return buildDecompiledData(classFile, project, DeserializerForDecompiler(classFile)) } public fun buildDecompiledData(classFile: VirtualFile, project: Project, resolver: ResolverForDecompiler): JetDecompiledData { diff --git a/idea/src/org/jetbrains/jet/plugin/libraries/ProjectBasedResolverForDecompiler.kt b/idea/src/org/jetbrains/jet/plugin/libraries/ProjectBasedResolverForDecompiler.kt deleted file mode 100644 index 2584d28f5bc..00000000000 --- a/idea/src/org/jetbrains/jet/plugin/libraries/ProjectBasedResolverForDecompiler.kt +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2010-2014 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.plugin.libraries - -import org.jetbrains.jet.lang.resolve.name.FqName -import org.jetbrains.jet.lang.descriptors.ClassDescriptor -import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor -import org.jetbrains.jet.di.InjectorForJavaDescriptorResolverUtil -import com.intellij.openapi.project.Project -import org.jetbrains.jet.lang.resolve.BindingTraceContext -import java.util.Collections - -public class ProjectBasedResolverForDecompiler(project: Project) : ResolverForDecompiler { - val javaDescriptorResolver = InjectorForJavaDescriptorResolverUtil.create(project, BindingTraceContext()).getJavaDescriptorResolver()!! - - override fun resolveClass(classFqName: FqName): ClassDescriptor? { - return javaDescriptorResolver.resolveClass(classFqName) - } - - override fun resolveDeclarationsInPackage(packageFqName: FqName): Collection { - val packageFragment = javaDescriptorResolver.getPackageFragment(packageFqName) - if (packageFragment == null) { - return Collections.emptyList() - } - return packageFragment.getMemberScope().getAllDescriptors() filter { it !is ClassDescriptor } - } -} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/plugin/libraries/DecompiledTextConsistencyTest.kt b/idea/tests/org/jetbrains/jet/plugin/libraries/DecompiledTextConsistencyTest.kt index dd0cf7d50fe..5fb94bf2b25 100644 --- a/idea/tests/org/jetbrains/jet/plugin/libraries/DecompiledTextConsistencyTest.kt +++ b/idea/tests/org/jetbrains/jet/plugin/libraries/DecompiledTextConsistencyTest.kt @@ -27,6 +27,12 @@ import org.jetbrains.jet.plugin.JetLightProjectDescriptor import com.intellij.openapi.projectRoots.Sdk import org.jetbrains.jet.plugin.PluginTestCaseBase import org.jetbrains.jet.lang.resolve.java.PackageClassUtils +import com.intellij.openapi.project.Project +import org.jetbrains.jet.di.InjectorForJavaDescriptorResolverUtil +import org.jetbrains.jet.lang.resolve.BindingTraceContext +import org.jetbrains.jet.lang.descriptors.ClassDescriptor +import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor +import java.util.Collections public class DecompiledTextConsistencyTest : JetLightCodeInsightFixtureTestCase() { @@ -50,3 +56,19 @@ public class DecompiledTextConsistencyTest : JetLightCodeInsightFixtureTestCase( override fun getSdk() = PluginTestCaseBase.fullJdk() } } + +class ProjectBasedResolverForDecompiler(project: Project) : ResolverForDecompiler { + val javaDescriptorResolver = InjectorForJavaDescriptorResolverUtil.create(project, BindingTraceContext()).getJavaDescriptorResolver()!! + + override fun resolveClass(classFqName: FqName): ClassDescriptor? { + return javaDescriptorResolver.resolveClass(classFqName) + } + + override fun resolveDeclarationsInPackage(packageFqName: FqName): Collection { + val packageFragment = javaDescriptorResolver.getPackageFragment(packageFqName) + if (packageFragment == null) { + return Collections.emptyList() + } + return packageFragment.getMemberScope().getAllDescriptors() filter { it !is ClassDescriptor } + } +} \ No newline at end of file