Fix being unable to find declaration for substituted callable from library
#KT-5900 Fixed #KT-5901 Fixed
This commit is contained in:
@@ -33,7 +33,7 @@ public class JetClsFile(val provider: JetClassFileViewProvider) : ClsFileImpl(pr
|
|||||||
override fun getDecompiledPsiFile() = decompiledFile
|
override fun getDecompiledPsiFile() = decompiledFile
|
||||||
|
|
||||||
public fun getDeclarationForDescriptor(descriptor: DeclarationDescriptor): JetDeclaration? {
|
public fun getDeclarationForDescriptor(descriptor: DeclarationDescriptor): JetDeclaration? {
|
||||||
val key = descriptorToKey(descriptor)
|
val key = descriptorToKey(descriptor.getOriginal())
|
||||||
val range = provider.decompiledText.renderedDescriptorsToRange[key]
|
val range = provider.decompiledText.renderedDescriptorsToRange[key]
|
||||||
if (range == null) {
|
if (range == null) {
|
||||||
return null
|
return null
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package test
|
||||||
|
|
||||||
|
import dependency.D
|
||||||
|
|
||||||
|
class C: D<Int>() {
|
||||||
|
<caret>
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package test
|
||||||
|
|
||||||
|
import dependency.D
|
||||||
|
|
||||||
|
class C: D<Int>() {
|
||||||
|
|
||||||
|
override fun id(t: Int): Int {
|
||||||
|
return super<D>.id(t)
|
||||||
|
}
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package dependency
|
||||||
|
|
||||||
|
public open class D<T> {
|
||||||
|
public open fun id(t: T): T {
|
||||||
|
return t
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -39,4 +39,8 @@ public final class OverrideImplementWithLibTest extends AbstractOverrideImplemen
|
|||||||
public void testFakeOverride() {
|
public void testFakeOverride() {
|
||||||
doOverrideFileTest();
|
doOverrideFileTest();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testGenericSubstituted() {
|
||||||
|
doOverrideFileTest();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user