[FIR] Fix binding return expression to function

This commit is contained in:
Dmitriy Novozhilov
2019-11-18 11:51:09 +03:00
parent 98378d8973
commit 35dd1cf75a
18 changed files with 101 additions and 50 deletions
@@ -38,6 +38,7 @@ abstract class FirAnonymousFunction : FirPureAbstractElement(), FirFunction<FirA
abstract override val symbol: FirAnonymousFunctionSymbol
abstract val label: FirLabel?
abstract val invocationKind: InvocationKind?
abstract val isLambda: Boolean
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitAnonymousFunction(this, data)
@@ -33,7 +33,8 @@ class FirAnonymousFunctionImpl(
override val session: FirSession,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override val symbol: FirAnonymousFunctionSymbol
override val symbol: FirAnonymousFunctionSymbol,
override val isLambda: Boolean
) : FirAnonymousFunction(), FirModifiableFunction<FirAnonymousFunction>, FirAbstractAnnotatedElement {
override var resolvePhase: FirResolvePhase = FirResolvePhase.DECLARATIONS
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
@@ -253,6 +253,7 @@ object NodeConfigurator : AbstractFieldConfigurator() {
+field(invocationKindType, nullable = true, withReplace = true).apply {
isMutable = true
}
+booleanField("isLambda")
}
typeParameter.configure {