Get rid of BinarySource interface, use SourceElement instead

This commit is contained in:
Alexander Udalov
2016-04-06 16:44:26 +03:00
parent ad068ed4ac
commit 88106bb13b
9 changed files with 28 additions and 26 deletions
@@ -21,6 +21,7 @@ import com.intellij.psi.PsiElement
import com.intellij.psi.stubs.StubElement
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.builtins.isNumberedFunctionClassFqName
import org.jetbrains.kotlin.descriptors.SourceElement
import org.jetbrains.kotlin.idea.decompiler.stubBuilder.FlagsToModifiers.*
import org.jetbrains.kotlin.lexer.KtModifierKeywordToken
import org.jetbrains.kotlin.lexer.KtTokens
@@ -37,14 +38,13 @@ import org.jetbrains.kotlin.psi.stubs.impl.KotlinPlaceHolderStubImpl
import org.jetbrains.kotlin.serialization.Flags
import org.jetbrains.kotlin.serialization.ProtoBuf
import org.jetbrains.kotlin.serialization.deserialization.*
import org.jetbrains.kotlin.serialization.deserialization.descriptors.BinarySource
fun createClassStub(
parent: StubElement<out PsiElement>,
classProto: ProtoBuf.Class,
nameResolver: NameResolver,
classId: ClassId,
source: BinarySource?,
source: SourceElement?,
context: ClsStubBuilderContext
) {
ClassClsStubBuilder(parent, classProto, nameResolver, classId, source, context).build()
@@ -55,7 +55,7 @@ private class ClassClsStubBuilder(
private val classProto: ProtoBuf.Class,
private val nameResolver: NameResolver,
private val classId: ClassId,
private val source: BinarySource?,
private val source: SourceElement?,
private val outerContext: ClsStubBuilderContext
) {
private val classKind = Flags.CLASS_KIND[classProto.flags]
@@ -253,7 +253,7 @@ private class ClassClsStubBuilder(
return
}
val (nameResolver, classProto) = classDataWithSource.classData
createClassStub(classBody, classProto, nameResolver, nestedClassId, classDataWithSource.sourceElement as? BinarySource, c)
createClassStub(classBody, classProto, nameResolver, nestedClassId, classDataWithSource.sourceElement, c)
}
companion object {
@@ -21,6 +21,7 @@ import com.intellij.psi.PsiElement
import com.intellij.psi.stubs.StubElement
import com.intellij.util.io.StringRef
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.descriptors.SourceElement
import org.jetbrains.kotlin.idea.stubindex.KotlinFileStubForIde
import org.jetbrains.kotlin.lexer.KtModifierKeywordToken
import org.jetbrains.kotlin.lexer.KtTokens
@@ -40,13 +41,12 @@ import org.jetbrains.kotlin.serialization.ProtoBuf
import org.jetbrains.kotlin.serialization.deserialization.AnnotatedCallableKind
import org.jetbrains.kotlin.serialization.deserialization.ProtoContainer
import org.jetbrains.kotlin.serialization.deserialization.TypeTable
import org.jetbrains.kotlin.serialization.deserialization.descriptors.BinarySource
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBufUtil
fun createTopLevelClassStub(
classId: ClassId,
classProto: ProtoBuf.Class,
source: BinarySource?,
source: SourceElement?,
context: ClsStubBuilderContext
): KotlinFileStubImpl {
val fileStub = createFileStub(classId.packageFqName)