Preliminary implementation of parts & facade in FIR-based compiler

This commit is contained in:
Mikhail Glukhikh
2019-05-16 12:58:38 +03:00
parent 2bf80ff64e
commit f3960c9482
10 changed files with 89 additions and 23 deletions
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations
import org.jetbrains.kotlin.fir.VisitedSupertype
import org.jetbrains.kotlin.fir.visitors.FirVisitor
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
interface FirCallableMemberDeclaration : @VisitedSupertype FirDeclaration, FirMemberDeclaration, FirCallableDeclaration {
@@ -14,6 +15,8 @@ interface FirCallableMemberDeclaration : @VisitedSupertype FirDeclaration, FirMe
val isStatic: Boolean get() = status.isStatic
val containerSource: DeserializedContainerSource? get() = null
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitCallableMemberDeclaration(this, data)
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.fir.transformSingle
import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.fir.visitors.FirTransformer
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
abstract class FirAbstractCallableMember : FirAbstractMemberDeclaration, FirCallableMemberDeclaration {
@@ -22,6 +23,8 @@ abstract class FirAbstractCallableMember : FirAbstractMemberDeclaration, FirCall
final override var receiverTypeRef: FirTypeRef?
final override var returnTypeRef: FirTypeRef
override var containerSource: DeserializedContainerSource? = null
override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D) {
returnTypeRef = returnTypeRef.transformSingle(transformer, data)
}