FIR tree: implement trivial expressions typing
This commit is contained in:
committed by
Mikhail Glukhikh
parent
c3632487d0
commit
9abf4062b1
+6
-3
@@ -6,12 +6,15 @@
|
||||
package org.jetbrains.kotlin.fir.expressions.impl
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.fir.FirAbstractElement
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitUnitTypeRef
|
||||
|
||||
// Representation of "dummy" condition at else branch
|
||||
class FirElseIfTrueCondition(
|
||||
session: FirSession,
|
||||
psi: PsiElement?
|
||||
): FirAbstractExpression(session, psi)
|
||||
) : FirAbstractExpression(session, psi) {
|
||||
|
||||
override var typeRef: FirTypeRef = FirImplicitUnitTypeRef(session, psi)
|
||||
}
|
||||
+5
@@ -10,6 +10,9 @@ import org.jetbrains.kotlin.fir.*
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFunction
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirReturnExpression
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitNothingTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitUnitTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
||||
|
||||
class FirReturnExpressionImpl(
|
||||
@@ -23,4 +26,6 @@ class FirReturnExpressionImpl(
|
||||
result = result.transformSingle(transformer, data)
|
||||
return super<FirAbstractExpression>.transformChildren(transformer, data)
|
||||
}
|
||||
|
||||
override var typeRef: FirTypeRef = FirImplicitNothingTypeRef(session, psi)
|
||||
}
|
||||
+4
@@ -12,6 +12,8 @@ import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirThrowExpression
|
||||
import org.jetbrains.kotlin.fir.transformSingle
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitNothingTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
||||
|
||||
class FirThrowExpressionImpl(
|
||||
@@ -23,4 +25,6 @@ class FirThrowExpressionImpl(
|
||||
exception = exception.transformSingle(transformer, data)
|
||||
return super<FirAbstractExpression>.transformChildren(transformer, data)
|
||||
}
|
||||
|
||||
override var typeRef: FirTypeRef = FirImplicitNothingTypeRef(session, psi)
|
||||
}
|
||||
+5
-3
@@ -6,11 +6,13 @@
|
||||
package org.jetbrains.kotlin.fir.expressions.impl
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.fir.FirAbstractElement
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitUnitTypeRef
|
||||
|
||||
class FirUnitExpression(
|
||||
session: FirSession,
|
||||
psi: PsiElement?
|
||||
): FirAbstractExpression(session, psi)
|
||||
) : FirAbstractExpression(session, psi) {
|
||||
override var typeRef: FirTypeRef = FirImplicitUnitTypeRef(session, psi)
|
||||
}
|
||||
Reference in New Issue
Block a user