Sorting descriptors in DecompiledTextFactory is redundant

This commit is contained in:
Pavel V. Talanov
2014-11-13 19:01:55 +03:00
parent d2cfcfa659
commit e8aee5cddf
2 changed files with 4 additions and 9 deletions
@@ -101,12 +101,6 @@ private fun buildDecompiledText(packageFqName: FqName, descriptors: List<Declara
} }
} }
fun sortDeclarations(input: Collection<DeclarationDescriptor>): List<DeclarationDescriptor> {
val r = ArrayList(input)
Collections.sort(r, MemberComparator.INSTANCE)
return r
}
fun saveDescriptorToRange(descriptor: DeclarationDescriptor, startOffset: Int, endOffset: Int) { fun saveDescriptorToRange(descriptor: DeclarationDescriptor, startOffset: Int, endOffset: Int) {
renderedDescriptorsToRange[descriptorToKey(descriptor)] = TextRange(startOffset, endOffset) renderedDescriptorsToRange[descriptorToKey(descriptor)] = TextRange(startOffset, endOffset)
} }
@@ -153,7 +147,7 @@ private fun buildDecompiledText(packageFqName: FqName, descriptors: List<Declara
builder.append(subindent) builder.append(subindent)
appendDescriptor(classObject, subindent) appendDescriptor(classObject, subindent)
} }
for (member in sortDeclarations(descriptor.getDefaultType().getMemberScope().getDescriptors())) { for (member in descriptor.getDefaultType().getMemberScope().getDescriptors()) {
if (member.getContainingDeclaration() != descriptor) { if (member.getContainingDeclaration() != descriptor) {
continue continue
} }
@@ -188,7 +182,7 @@ private fun buildDecompiledText(packageFqName: FqName, descriptors: List<Declara
} }
appendDecompiledTextAndPackageName() appendDecompiledTextAndPackageName()
for (member in sortDeclarations(descriptors)) { for (member in descriptors) {
appendDescriptor(member, "") appendDescriptor(member, "")
builder.append("\n") builder.append("\n")
} }
@@ -33,6 +33,7 @@ import org.jetbrains.jet.lang.descriptors.ModuleDescriptor
import org.jetbrains.jet.lang.resolve.java.TopDownAnalyzerFacadeForJVM import org.jetbrains.jet.lang.resolve.java.TopDownAnalyzerFacadeForJVM
import org.jetbrains.jet.lang.resolve.BindingTraceContext import org.jetbrains.jet.lang.resolve.BindingTraceContext
import org.jetbrains.jet.lang.resolve.name.ClassId import org.jetbrains.jet.lang.resolve.name.ClassId
import org.jetbrains.jet.lang.resolve.MemberComparator
public class DecompiledTextConsistencyTest : JetLightCodeInsightFixtureTestCase() { public class DecompiledTextConsistencyTest : JetLightCodeInsightFixtureTestCase() {
@@ -76,6 +77,6 @@ class ProjectBasedResolverForDecompiler(project: Project) : ResolverForDecompile
val packageView = module.getPackage(packageFqName) ?: return listOf() val packageView = module.getPackage(packageFqName) ?: return listOf()
return packageView.getMemberScope().getAllDescriptors() filter { return packageView.getMemberScope().getAllDescriptors() filter {
it is CallableMemberDescriptor && DescriptorUtils.getContainingModule(it) != KotlinBuiltIns.getInstance().getBuiltInsModule() it is CallableMemberDescriptor && DescriptorUtils.getContainingModule(it) != KotlinBuiltIns.getInstance().getBuiltInsModule()
} } sortBy MemberComparator.INSTANCE
} }
} }