Navigation to decompiled primary constructor.

#KT-3168 in progress
This commit is contained in:
Evgeny Gerashchenko
2012-12-18 16:45:31 +04:00
parent 4c64ea58d5
commit 9906bbef4e
9 changed files with 29 additions and 18 deletions
@@ -181,6 +181,17 @@ public class DecompiledDataFactory {
}
builder.append("\n");
saveClsMemberToRange(descriptor, startOffset, endOffset);
if (descriptor instanceof ClassDescriptor) {
ConstructorDescriptor primaryConstructor = ((ClassDescriptor) descriptor).getUnsubstitutedPrimaryConstructor();
if (primaryConstructor != null) {
saveClsMemberToRange(primaryConstructor, startOffset, endOffset);
}
}
}
private void saveClsMemberToRange(DeclarationDescriptor descriptor, int startOffset, int endOffset) {
PsiElement clsMember = BindingContextUtils.descriptorToDeclaration(bindingContext, descriptor);
if (clsMember != null) {
clsMembersToRanges.put(clsMember, new TextRange(startOffset, endOffset));
@@ -3,5 +3,5 @@
package testData.libraries
[public abstract class AbstractClass() {
}]
[[public abstract class AbstractClass() {
}]]
@@ -3,7 +3,7 @@
package testData.libraries
[public abstract class ClassWithAbstractAndOpenMembers() {
[[public abstract class ClassWithAbstractAndOpenMembers() {
[public abstract val abstractVal : jet.String]
[public abstract var abstractVar : jet.String]
@@ -19,4 +19,4 @@ package testData.libraries
[public abstract fun abstractFun() : Unit]
[public open fun openFun() : Unit { /* compiled code */ }]
}]
}]]
@@ -3,6 +3,6 @@
package testData.libraries
[public final class ClassWithConstructor(a : jet.String, b : jet.Any) {
[[public final class ClassWithConstructor(a : jet.String, b : jet.Any) {
[internal final val a : jet.String] /* compiled code */
}]
}]]
+2 -2
View File
@@ -3,7 +3,7 @@
package testData.libraries
[public final enum class Color(rgb : jet.Int, p1 : jet.Int, p2 : jet.Int) : jet.Enum<testData.libraries.Color> {
[[public final enum class Color(rgb : jet.Int, p1 : jet.Int, p2 : jet.Int) : jet.Enum<testData.libraries.Color> {
class object {
[public final val BLUE : testData.libraries.Color] /* compiled code */
@@ -17,4 +17,4 @@ package testData.libraries
}
[internal final val rgb : jet.Int] /* compiled code */
}]
}]]
@@ -3,5 +3,5 @@
package testData.libraries
[public final class SimpleClass() {
}]
[[public final class SimpleClass() {
}]]
@@ -3,5 +3,5 @@
package testData.libraries
[public final class SimpleTraitImpl() : testData.libraries.SimpleTrait {
}]
[[public final class SimpleTraitImpl() : testData.libraries.SimpleTrait {
}]]
@@ -3,14 +3,14 @@
package testData.libraries
[public final class WithInnerAndObject() {
[[public final class WithInnerAndObject() {
class object {
[internal final fun foo() : Unit { /* compiled code */ }]
}
[internal final class MyInner() {
[[internal final class MyInner() {
[internal trait MyInnerInner {
[internal abstract fun innerInnerMethod() : Unit]
}]
}]
}]
}]]
}]]
@@ -3,7 +3,7 @@
package testData.libraries
[public final class WithTraitClassObject() {
[[public final class WithTraitClassObject() {
class object : testData.libraries.SimpleTrait {
}
}]
}]]