Use module to resolve top level class in DecompiledTextConsistencyTest

Refactor: rename ResolverForDecompiler#resolveClass to resolveTopLevelClass to document assumptions made in implementations
This commit is contained in:
Pavel V. Talanov
2014-06-10 16:50:33 +04:00
parent f1e6560904
commit 8789d9b0bf
4 changed files with 12 additions and 11 deletions
@@ -44,7 +44,7 @@ public fun buildDecompiledText(
buildDecompiledText(packageFqName, ArrayList(resolver.resolveDeclarationsInPackage(packageFqName)))
}
else if (kind == KotlinClassHeader.Kind.CLASS) {
buildDecompiledText(packageFqName, listOf(resolver.resolveClass(classFqName)).filterNotNull())
buildDecompiledText(packageFqName, listOf(resolver.resolveTopLevelClass(classFqName)).filterNotNull())
}
else {
throw UnsupportedOperationException("Unknown header kind: " + kind)
@@ -56,7 +56,7 @@ public fun DeserializerForDecompiler(classFile: VirtualFile): DeserializerForDec
public class DeserializerForDecompiler(val packageDirectory: VirtualFile, val directoryPackageFqName: FqName) : ResolverForDecompiler {
override fun resolveClass(classFqName: FqName) = classes(classFqName.toClassId())
override fun resolveTopLevelClass(classFqName: FqName) = classes(classFqName.toClassId())
override fun resolveDeclarationsInPackage(packageFqName: FqName): Collection<DeclarationDescriptor> {
assert(packageFqName == directoryPackageFqName, "Was called for $packageFqName but only $directoryPackageFqName is expected.")
@@ -21,6 +21,6 @@ import org.jetbrains.jet.lang.resolve.name.FqName
import org.jetbrains.jet.lang.descriptors.ClassDescriptor
trait ResolverForDecompiler {
fun resolveClass(classFqName: FqName): ClassDescriptor?
fun resolveTopLevelClass(classFqName: FqName): ClassDescriptor?
fun resolveDeclarationsInPackage(packageFqName: FqName): Collection<DeclarationDescriptor>
}