Navigation to decompiled primary constructor.
#KT-3168 in progress
This commit is contained in:
@@ -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 */
|
||||
}]
|
||||
}]]
|
||||
|
||||
@@ -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 {
|
||||
}
|
||||
}]
|
||||
}]]
|
||||
|
||||
Reference in New Issue
Block a user