Minor code refactoring
This commit is contained in:
@@ -59,11 +59,13 @@ class ToFromOriginalFileMapper(
|
|||||||
}
|
}
|
||||||
|
|
||||||
public fun toOriginalFile(declaration: JetDeclaration): JetDeclaration? {
|
public fun toOriginalFile(declaration: JetDeclaration): JetDeclaration? {
|
||||||
|
if (declaration.getContainingFile() != syntheticFile) return declaration
|
||||||
val offset = toOriginalFile(declaration.getTextRange().getStartOffset()) ?: return null
|
val offset = toOriginalFile(declaration.getTextRange().getStartOffset()) ?: return null
|
||||||
return PsiTreeUtil.findElementOfClassAtOffset(originalFile, offset, javaClass<JetDeclaration>(), true)
|
return PsiTreeUtil.findElementOfClassAtOffset(originalFile, offset, javaClass<JetDeclaration>(), true)
|
||||||
}
|
}
|
||||||
|
|
||||||
public fun toSyntheticFile(declaration: JetDeclaration): JetDeclaration? {
|
public fun toSyntheticFile(declaration: JetDeclaration): JetDeclaration? {
|
||||||
|
if (declaration.getContainingFile() != originalFile) return declaration
|
||||||
val offset = toSyntheticFile(declaration.getTextRange().getStartOffset()) ?: return null
|
val offset = toSyntheticFile(declaration.getTextRange().getStartOffset()) ?: return null
|
||||||
return PsiTreeUtil.findElementOfClassAtOffset(syntheticFile, offset, javaClass<JetDeclaration>(), true)
|
return PsiTreeUtil.findElementOfClassAtOffset(syntheticFile, offset, javaClass<JetDeclaration>(), true)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -114,8 +114,8 @@ class TypeInstantiationItems(
|
|||||||
descriptor: ClassDescriptor, kotlinClassDescriptor: ClassDescriptor, typeArgs: List<TypeProjection>, tail: Tail?
|
descriptor: ClassDescriptor, kotlinClassDescriptor: ClassDescriptor, typeArgs: List<TypeProjection>, tail: Tail?
|
||||||
) {
|
) {
|
||||||
val _declaration = DescriptorToSourceUtils.descriptorToDeclaration(descriptor) ?: return
|
val _declaration = DescriptorToSourceUtils.descriptorToDeclaration(descriptor) ?: return
|
||||||
val declaration = if (_declaration.getContainingFile() == toFromOriginalFileMapper.syntheticFile)
|
val declaration = if (_declaration is JetDeclaration)
|
||||||
toFromOriginalFileMapper.toOriginalFile(_declaration as JetDeclaration) ?: return
|
toFromOriginalFileMapper.toOriginalFile(_declaration) ?: return
|
||||||
else
|
else
|
||||||
_declaration
|
_declaration
|
||||||
|
|
||||||
@@ -281,10 +281,7 @@ class TypeInstantiationItems(
|
|||||||
for (inheritor in ClassInheritorsSearch.search(parameters)) {
|
for (inheritor in ClassInheritorsSearch.search(parameters)) {
|
||||||
val descriptor = if (inheritor is KotlinLightClass) {
|
val descriptor = if (inheritor is KotlinLightClass) {
|
||||||
val origin = inheritor.origin ?: continue
|
val origin = inheritor.origin ?: continue
|
||||||
val declaration = if (origin.getContainingFile() == toFromOriginalFileMapper.originalFile)
|
val declaration = toFromOriginalFileMapper.toSyntheticFile(origin) ?: continue
|
||||||
toFromOriginalFileMapper.toSyntheticFile(origin) ?: continue
|
|
||||||
else
|
|
||||||
origin
|
|
||||||
resolutionFacade.resolveToDescriptor(declaration)
|
resolutionFacade.resolveToDescriptor(declaration)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
Reference in New Issue
Block a user