Minor code refactoring

This commit is contained in:
Valentin Kipyatkov
2014-11-28 12:28:36 +03:00
parent 3c07df36c7
commit bf65ddaa2f
2 changed files with 5 additions and 6 deletions
@@ -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 {