Add the ability to get containing source file from SourceElement

This commit is contained in:
Zalim Bashorov
2015-09-30 16:28:56 +03:00
parent c7e5eb9ab8
commit 94b110936e
7 changed files with 64 additions and 1 deletions
@@ -17,8 +17,17 @@
package org.jetbrains.kotlin.resolve.source
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiFile
import org.jetbrains.kotlin.descriptors.SourceElement
import org.jetbrains.kotlin.descriptors.SourceFile
public interface PsiSourceElement : SourceElement {
public val psi: PsiElement?
override fun getContainingFile(): SourceFile = psi?.containingFile?.let { PsiSourceFile(it) } ?: SourceFile.NO_SOURCE_FILE
}
public class PsiSourceFile(private val psiFile: PsiFile): SourceFile {
override fun equals(other: Any?): Boolean = other is PsiSourceFile && psiFile == other.psiFile
override fun hashCode(): Int = psiFile.hashCode()
}