FIR: leave 'isSuspend' in functional & resolved type references only
This commit is contained in:
+3
-1
@@ -416,7 +416,9 @@ class Fir2IrDeclarationStorage(
|
|||||||
val name = simpleFunction?.name
|
val name = simpleFunction?.name
|
||||||
?: if (isLambda) Name.special("<anonymous>") else Name.special("<no name provided>")
|
?: if (isLambda) Name.special("<anonymous>") else Name.special("<no name provided>")
|
||||||
val visibility = simpleFunction?.visibility ?: Visibilities.LOCAL
|
val visibility = simpleFunction?.visibility ?: Visibilities.LOCAL
|
||||||
val isSuspend = if (isLambda) (function as FirAnonymousFunction).typeRef.isSuspend else simpleFunction?.isSuspend == true
|
val isSuspend =
|
||||||
|
if (isLambda) ((function as FirAnonymousFunction).typeRef as? FirResolvedTypeRef)?.isSuspend == true
|
||||||
|
else simpleFunction?.isSuspend == true
|
||||||
val created = function.convertWithOffsets { startOffset, endOffset ->
|
val created = function.convertWithOffsets { startOffset, endOffset ->
|
||||||
enterScope(descriptor)
|
enterScope(descriptor)
|
||||||
val result = symbolTable.declareSimpleFunction(startOffset, endOffset, origin, descriptor) { symbol ->
|
val result = symbolTable.declareSimpleFunction(startOffset, endOffset, origin, descriptor) { symbol ->
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
abstract class FirComposedSuperTypeRef : FirPureAbstractElement(), FirTypeRef {
|
abstract class FirComposedSuperTypeRef : FirPureAbstractElement(), FirTypeRef {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
abstract override val isSuspend: Boolean
|
|
||||||
abstract val superTypeRefs: List<FirResolvedTypeRef>
|
abstract val superTypeRefs: List<FirResolvedTypeRef>
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitComposedSuperTypeRef(this, data)
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitComposedSuperTypeRef(this, data)
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
abstract class FirDelegatedTypeRef : FirPureAbstractElement(), FirTypeRef {
|
abstract class FirDelegatedTypeRef : FirPureAbstractElement(), FirTypeRef {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
abstract override val isSuspend: Boolean
|
|
||||||
abstract val delegate: FirExpression?
|
abstract val delegate: FirExpression?
|
||||||
abstract val typeRef: FirTypeRef
|
abstract val typeRef: FirTypeRef
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
abstract class FirDynamicTypeRef : FirPureAbstractElement(), FirTypeRefWithNullability {
|
abstract class FirDynamicTypeRef : FirPureAbstractElement(), FirTypeRefWithNullability {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
abstract override val isSuspend: Boolean
|
|
||||||
abstract override val isMarkedNullable: Boolean
|
abstract override val isMarkedNullable: Boolean
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitDynamicTypeRef(this, data)
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitDynamicTypeRef(this, data)
|
||||||
|
|||||||
@@ -19,9 +19,9 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
abstract class FirErrorTypeRef : FirResolvedTypeRef(), FirDiagnosticHolder {
|
abstract class FirErrorTypeRef : FirResolvedTypeRef(), FirDiagnosticHolder {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
abstract override val isSuspend: Boolean
|
|
||||||
abstract override val type: ConeKotlinType
|
abstract override val type: ConeKotlinType
|
||||||
abstract override val delegatedTypeRef: FirTypeRef?
|
abstract override val delegatedTypeRef: FirTypeRef?
|
||||||
|
abstract override val isSuspend: Boolean
|
||||||
abstract override val diagnostic: ConeDiagnostic
|
abstract override val diagnostic: ConeDiagnostic
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitErrorTypeRef(this, data)
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitErrorTypeRef(this, data)
|
||||||
|
|||||||
@@ -18,11 +18,11 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
interface FirFunctionTypeRef : FirTypeRefWithNullability {
|
interface FirFunctionTypeRef : FirTypeRefWithNullability {
|
||||||
override val source: FirSourceElement?
|
override val source: FirSourceElement?
|
||||||
override val annotations: List<FirAnnotationCall>
|
override val annotations: List<FirAnnotationCall>
|
||||||
override val isSuspend: Boolean
|
|
||||||
override val isMarkedNullable: Boolean
|
override val isMarkedNullable: Boolean
|
||||||
val receiverTypeRef: FirTypeRef?
|
val receiverTypeRef: FirTypeRef?
|
||||||
val valueParameters: List<FirValueParameter>
|
val valueParameters: List<FirValueParameter>
|
||||||
val returnTypeRef: FirTypeRef
|
val returnTypeRef: FirTypeRef
|
||||||
|
val isSuspend: Boolean
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitFunctionTypeRef(this, data)
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitFunctionTypeRef(this, data)
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
abstract class FirImplicitTypeRef : FirPureAbstractElement(), FirTypeRef {
|
abstract class FirImplicitTypeRef : FirPureAbstractElement(), FirTypeRef {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
abstract override val isSuspend: Boolean
|
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitImplicitTypeRef(this, data)
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitImplicitTypeRef(this, data)
|
||||||
|
|
||||||
|
|||||||
@@ -18,9 +18,9 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
abstract class FirResolvedFunctionTypeRef : FirResolvedTypeRef(), FirFunctionTypeRef {
|
abstract class FirResolvedFunctionTypeRef : FirResolvedTypeRef(), FirFunctionTypeRef {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
abstract override val isSuspend: Boolean
|
|
||||||
abstract override val type: ConeKotlinType
|
abstract override val type: ConeKotlinType
|
||||||
abstract override val delegatedTypeRef: FirTypeRef?
|
abstract override val delegatedTypeRef: FirTypeRef?
|
||||||
|
abstract override val isSuspend: Boolean
|
||||||
abstract override val isMarkedNullable: Boolean
|
abstract override val isMarkedNullable: Boolean
|
||||||
abstract override val receiverTypeRef: FirTypeRef?
|
abstract override val receiverTypeRef: FirTypeRef?
|
||||||
abstract override val valueParameters: List<FirValueParameter>
|
abstract override val valueParameters: List<FirValueParameter>
|
||||||
|
|||||||
@@ -18,9 +18,9 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
abstract class FirResolvedTypeRef : FirPureAbstractElement(), FirTypeRef {
|
abstract class FirResolvedTypeRef : FirPureAbstractElement(), FirTypeRef {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
abstract override val isSuspend: Boolean
|
|
||||||
abstract val type: ConeKotlinType
|
abstract val type: ConeKotlinType
|
||||||
abstract val delegatedTypeRef: FirTypeRef?
|
abstract val delegatedTypeRef: FirTypeRef?
|
||||||
|
abstract val isSuspend: Boolean
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitResolvedTypeRef(this, data)
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitResolvedTypeRef(this, data)
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
interface FirTypeRef : FirAnnotationContainer {
|
interface FirTypeRef : FirAnnotationContainer {
|
||||||
override val source: FirSourceElement?
|
override val source: FirSourceElement?
|
||||||
override val annotations: List<FirAnnotationCall>
|
override val annotations: List<FirAnnotationCall>
|
||||||
val isSuspend: Boolean
|
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitTypeRef(this, data)
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitTypeRef(this, data)
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
interface FirTypeRefWithNullability : FirTypeRef {
|
interface FirTypeRefWithNullability : FirTypeRef {
|
||||||
override val source: FirSourceElement?
|
override val source: FirSourceElement?
|
||||||
override val annotations: List<FirAnnotationCall>
|
override val annotations: List<FirAnnotationCall>
|
||||||
override val isSuspend: Boolean
|
|
||||||
val isMarkedNullable: Boolean
|
val isMarkedNullable: Boolean
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitTypeRefWithNullability(this, data)
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitTypeRefWithNullability(this, data)
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
abstract class FirUserTypeRef : FirPureAbstractElement(), FirTypeRefWithNullability {
|
abstract class FirUserTypeRef : FirPureAbstractElement(), FirTypeRefWithNullability {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
abstract override val isSuspend: Boolean
|
|
||||||
abstract override val isMarkedNullable: Boolean
|
abstract override val isMarkedNullable: Boolean
|
||||||
abstract val qualifier: List<FirQualifierPart>
|
abstract val qualifier: List<FirQualifierPart>
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -26,21 +26,21 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
class FirFunctionTypeRefBuilder : FirAnnotationContainerBuilder {
|
class FirFunctionTypeRefBuilder : FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||||
var isSuspend: Boolean by kotlin.properties.Delegates.notNull<Boolean>()
|
|
||||||
var isMarkedNullable: Boolean by kotlin.properties.Delegates.notNull<Boolean>()
|
var isMarkedNullable: Boolean by kotlin.properties.Delegates.notNull<Boolean>()
|
||||||
var receiverTypeRef: FirTypeRef? = null
|
var receiverTypeRef: FirTypeRef? = null
|
||||||
val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
||||||
lateinit var returnTypeRef: FirTypeRef
|
lateinit var returnTypeRef: FirTypeRef
|
||||||
|
var isSuspend: Boolean by kotlin.properties.Delegates.notNull<Boolean>()
|
||||||
|
|
||||||
override fun build(): FirFunctionTypeRef {
|
override fun build(): FirFunctionTypeRef {
|
||||||
return FirFunctionTypeRefImpl(
|
return FirFunctionTypeRefImpl(
|
||||||
source,
|
source,
|
||||||
annotations,
|
annotations,
|
||||||
isSuspend,
|
|
||||||
isMarkedNullable,
|
isMarkedNullable,
|
||||||
receiverTypeRef,
|
receiverTypeRef,
|
||||||
valueParameters,
|
valueParameters,
|
||||||
returnTypeRef,
|
returnTypeRef,
|
||||||
|
isSuspend,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -26,8 +26,8 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
class FirResolvedFunctionTypeRefBuilder : FirAnnotationContainerBuilder {
|
class FirResolvedFunctionTypeRefBuilder : FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||||
var isSuspend: Boolean by kotlin.properties.Delegates.notNull<Boolean>()
|
|
||||||
lateinit var type: ConeKotlinType
|
lateinit var type: ConeKotlinType
|
||||||
|
var isSuspend: Boolean by kotlin.properties.Delegates.notNull<Boolean>()
|
||||||
var isMarkedNullable: Boolean by kotlin.properties.Delegates.notNull<Boolean>()
|
var isMarkedNullable: Boolean by kotlin.properties.Delegates.notNull<Boolean>()
|
||||||
var receiverTypeRef: FirTypeRef? = null
|
var receiverTypeRef: FirTypeRef? = null
|
||||||
val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
||||||
@@ -37,8 +37,8 @@ class FirResolvedFunctionTypeRefBuilder : FirAnnotationContainerBuilder {
|
|||||||
return FirResolvedFunctionTypeRefImpl(
|
return FirResolvedFunctionTypeRefImpl(
|
||||||
source,
|
source,
|
||||||
annotations,
|
annotations,
|
||||||
isSuspend,
|
|
||||||
type,
|
type,
|
||||||
|
isSuspend,
|
||||||
isMarkedNullable,
|
isMarkedNullable,
|
||||||
receiverTypeRef,
|
receiverTypeRef,
|
||||||
valueParameters,
|
valueParameters,
|
||||||
|
|||||||
+2
-2
@@ -25,17 +25,17 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
class FirResolvedTypeRefBuilder : FirAnnotationContainerBuilder {
|
class FirResolvedTypeRefBuilder : FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||||
var isSuspend: Boolean = false
|
|
||||||
lateinit var type: ConeKotlinType
|
lateinit var type: ConeKotlinType
|
||||||
var delegatedTypeRef: FirTypeRef? = null
|
var delegatedTypeRef: FirTypeRef? = null
|
||||||
|
var isSuspend: Boolean = false
|
||||||
|
|
||||||
override fun build(): FirResolvedTypeRef {
|
override fun build(): FirResolvedTypeRef {
|
||||||
return FirResolvedTypeRefImpl(
|
return FirResolvedTypeRefImpl(
|
||||||
source,
|
source,
|
||||||
annotations,
|
annotations,
|
||||||
isSuspend,
|
|
||||||
type,
|
type,
|
||||||
delegatedTypeRef,
|
delegatedTypeRef,
|
||||||
|
isSuspend,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
-2
@@ -21,8 +21,6 @@ internal class FirComposedSuperTypeRefImpl(
|
|||||||
override val annotations: MutableList<FirAnnotationCall>,
|
override val annotations: MutableList<FirAnnotationCall>,
|
||||||
override val superTypeRefs: MutableList<FirResolvedTypeRef>,
|
override val superTypeRefs: MutableList<FirResolvedTypeRef>,
|
||||||
) : FirComposedSuperTypeRef() {
|
) : FirComposedSuperTypeRef() {
|
||||||
override val isSuspend: Boolean = false
|
|
||||||
|
|
||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
superTypeRefs.forEach { it.accept(visitor, data) }
|
superTypeRefs.forEach { it.accept(visitor, data) }
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ internal class FirDelegatedTypeRefImpl(
|
|||||||
) : FirDelegatedTypeRef() {
|
) : FirDelegatedTypeRef() {
|
||||||
override val source: FirSourceElement? get() = typeRef.source
|
override val source: FirSourceElement? get() = typeRef.source
|
||||||
override val annotations: List<FirAnnotationCall> get() = typeRef.annotations
|
override val annotations: List<FirAnnotationCall> get() = typeRef.annotations
|
||||||
override val isSuspend: Boolean = false
|
|
||||||
|
|
||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
delegate?.accept(visitor, data)
|
delegate?.accept(visitor, data)
|
||||||
|
|||||||
@@ -20,8 +20,6 @@ internal class FirDynamicTypeRefImpl(
|
|||||||
override val annotations: MutableList<FirAnnotationCall>,
|
override val annotations: MutableList<FirAnnotationCall>,
|
||||||
override val isMarkedNullable: Boolean,
|
override val isMarkedNullable: Boolean,
|
||||||
) : FirDynamicTypeRef() {
|
) : FirDynamicTypeRef() {
|
||||||
override val isSuspend: Boolean = false
|
|
||||||
|
|
||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,9 +24,9 @@ internal class FirErrorTypeRefImpl(
|
|||||||
override val diagnostic: ConeDiagnostic,
|
override val diagnostic: ConeDiagnostic,
|
||||||
) : FirErrorTypeRef() {
|
) : FirErrorTypeRef() {
|
||||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||||
override val isSuspend: Boolean = false
|
|
||||||
override val type: ConeKotlinType = ConeClassErrorType(diagnostic.reason)
|
override val type: ConeKotlinType = ConeClassErrorType(diagnostic.reason)
|
||||||
override val delegatedTypeRef: FirTypeRef? get() = null
|
override val delegatedTypeRef: FirTypeRef? get() = null
|
||||||
|
override val isSuspend: Boolean = false
|
||||||
|
|
||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
|
|||||||
@@ -21,11 +21,11 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
internal class FirFunctionTypeRefImpl(
|
internal class FirFunctionTypeRefImpl(
|
||||||
override val source: FirSourceElement?,
|
override val source: FirSourceElement?,
|
||||||
override val annotations: MutableList<FirAnnotationCall>,
|
override val annotations: MutableList<FirAnnotationCall>,
|
||||||
override val isSuspend: Boolean,
|
|
||||||
override val isMarkedNullable: Boolean,
|
override val isMarkedNullable: Boolean,
|
||||||
override var receiverTypeRef: FirTypeRef?,
|
override var receiverTypeRef: FirTypeRef?,
|
||||||
override val valueParameters: MutableList<FirValueParameter>,
|
override val valueParameters: MutableList<FirValueParameter>,
|
||||||
override var returnTypeRef: FirTypeRef,
|
override var returnTypeRef: FirTypeRef,
|
||||||
|
override val isSuspend: Boolean,
|
||||||
) : FirPureAbstractElement(), FirFunctionTypeRef {
|
) : FirPureAbstractElement(), FirFunctionTypeRef {
|
||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ internal class FirImplicitTypeRefImpl(
|
|||||||
override val source: FirSourceElement?,
|
override val source: FirSourceElement?,
|
||||||
) : FirImplicitTypeRef() {
|
) : FirImplicitTypeRef() {
|
||||||
override val annotations: List<FirAnnotationCall> get() = emptyList()
|
override val annotations: List<FirAnnotationCall> get() = emptyList()
|
||||||
override val isSuspend: Boolean = false
|
|
||||||
|
|
||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -21,8 +21,8 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
internal class FirResolvedFunctionTypeRefImpl(
|
internal class FirResolvedFunctionTypeRefImpl(
|
||||||
override val source: FirSourceElement?,
|
override val source: FirSourceElement?,
|
||||||
override val annotations: MutableList<FirAnnotationCall>,
|
override val annotations: MutableList<FirAnnotationCall>,
|
||||||
override val isSuspend: Boolean,
|
|
||||||
override val type: ConeKotlinType,
|
override val type: ConeKotlinType,
|
||||||
|
override val isSuspend: Boolean,
|
||||||
override val isMarkedNullable: Boolean,
|
override val isMarkedNullable: Boolean,
|
||||||
override var receiverTypeRef: FirTypeRef?,
|
override var receiverTypeRef: FirTypeRef?,
|
||||||
override val valueParameters: MutableList<FirValueParameter>,
|
override val valueParameters: MutableList<FirValueParameter>,
|
||||||
|
|||||||
@@ -20,9 +20,9 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
internal class FirResolvedTypeRefImpl(
|
internal class FirResolvedTypeRefImpl(
|
||||||
override val source: FirSourceElement?,
|
override val source: FirSourceElement?,
|
||||||
override val annotations: MutableList<FirAnnotationCall>,
|
override val annotations: MutableList<FirAnnotationCall>,
|
||||||
override val isSuspend: Boolean,
|
|
||||||
override val type: ConeKotlinType,
|
override val type: ConeKotlinType,
|
||||||
override var delegatedTypeRef: FirTypeRef?,
|
override var delegatedTypeRef: FirTypeRef?,
|
||||||
|
override val isSuspend: Boolean,
|
||||||
) : FirResolvedTypeRef() {
|
) : FirResolvedTypeRef() {
|
||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
|
|||||||
+4
-2
@@ -22,8 +22,7 @@ sealed class FirImplicitBuiltinTypeRef(
|
|||||||
override val source: FirSourceElement?,
|
override val source: FirSourceElement?,
|
||||||
val id: ClassId,
|
val id: ClassId,
|
||||||
typeArguments: Array<out ConeTypeProjection> = emptyArray(),
|
typeArguments: Array<out ConeTypeProjection> = emptyArray(),
|
||||||
isNullable: Boolean = false,
|
isNullable: Boolean = false
|
||||||
override val isSuspend: Boolean = false
|
|
||||||
) : FirResolvedTypeRef() {
|
) : FirResolvedTypeRef() {
|
||||||
override val annotations: List<FirAnnotationCall>
|
override val annotations: List<FirAnnotationCall>
|
||||||
get() = emptyList()
|
get() = emptyList()
|
||||||
@@ -33,6 +32,9 @@ sealed class FirImplicitBuiltinTypeRef(
|
|||||||
override val delegatedTypeRef: FirTypeRef?
|
override val delegatedTypeRef: FirTypeRef?
|
||||||
get() = null
|
get() = null
|
||||||
|
|
||||||
|
override val isSuspend: Boolean
|
||||||
|
get() = false
|
||||||
|
|
||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
|
||||||
|
|
||||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirElement {
|
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirElement {
|
||||||
|
|||||||
@@ -19,8 +19,7 @@ open class FirUserTypeRefImpl(
|
|||||||
override val source: FirSourceElement?,
|
override val source: FirSourceElement?,
|
||||||
override val isMarkedNullable: Boolean,
|
override val isMarkedNullable: Boolean,
|
||||||
override val qualifier: MutableList<FirQualifierPart>,
|
override val qualifier: MutableList<FirQualifierPart>,
|
||||||
override val annotations: MutableList<FirAnnotationCall>,
|
override val annotations: MutableList<FirAnnotationCall>
|
||||||
override val isSuspend: Boolean = false
|
|
||||||
) : FirUserTypeRef(), FirAnnotationContainer {
|
) : FirUserTypeRef(), FirAnnotationContainer {
|
||||||
|
|
||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
|
|||||||
+2
-14
@@ -399,23 +399,12 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
|||||||
useTypes(errorTypeRefImpl)
|
useTypes(errorTypeRefImpl)
|
||||||
}
|
}
|
||||||
|
|
||||||
impl(dynamicTypeRef) {
|
impl(functionTypeRef)
|
||||||
defaultFalse("isSuspend")
|
|
||||||
}
|
|
||||||
|
|
||||||
impl(functionTypeRef) {
|
|
||||||
// Note that we intentionally do _not_ set default value (false) for `isSuspend`, since function type reference is the only
|
|
||||||
// place where type modifier `suspend` matters.
|
|
||||||
}
|
|
||||||
|
|
||||||
impl(implicitTypeRef) {
|
impl(implicitTypeRef) {
|
||||||
defaultEmptyList("annotations")
|
defaultEmptyList("annotations")
|
||||||
defaultFalse("isSuspend")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl(composedSuperTypeRef) {
|
impl(composedSuperTypeRef)
|
||||||
defaultFalse("isSuspend")
|
|
||||||
}
|
|
||||||
|
|
||||||
impl(reference, "FirStubReference") {
|
impl(reference, "FirStubReference") {
|
||||||
default("source") {
|
default("source") {
|
||||||
@@ -466,7 +455,6 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
|||||||
delegate = "typeRef"
|
delegate = "typeRef"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
defaultFalse("isSuspend")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
noImpl(userTypeRef)
|
noImpl(userTypeRef)
|
||||||
|
|||||||
+2
-1
@@ -530,12 +530,12 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
|||||||
|
|
||||||
typeRef.configure {
|
typeRef.configure {
|
||||||
+annotations
|
+annotations
|
||||||
+booleanField("isSuspend")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
resolvedTypeRef.configure {
|
resolvedTypeRef.configure {
|
||||||
+field("type", coneKotlinTypeType)
|
+field("type", coneKotlinTypeType)
|
||||||
+field("delegatedTypeRef", typeRef, nullable = true)
|
+field("delegatedTypeRef", typeRef, nullable = true)
|
||||||
|
+booleanField("isSuspend")
|
||||||
}
|
}
|
||||||
|
|
||||||
delegatedTypeRef.configure {
|
delegatedTypeRef.configure {
|
||||||
@@ -555,6 +555,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
|||||||
+field("receiverTypeRef", typeRef, nullable = true)
|
+field("receiverTypeRef", typeRef, nullable = true)
|
||||||
+valueParameters
|
+valueParameters
|
||||||
+returnTypeRef
|
+returnTypeRef
|
||||||
|
+booleanField("isSuspend")
|
||||||
}
|
}
|
||||||
|
|
||||||
composedSuperTypeRef.configure {
|
composedSuperTypeRef.configure {
|
||||||
|
|||||||
Reference in New Issue
Block a user