[FIR] Add fir node for raw contract description
This commit is contained in:
+4
@@ -221,6 +221,8 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
|
||||
builder(propertyAccessor) {
|
||||
parents += functionBuilder
|
||||
defaultNull("body")
|
||||
default("contractDescription", "FirEmptyContractDescription")
|
||||
useTypes(emptyContractDescriptionType)
|
||||
}
|
||||
|
||||
builder(whenExpression) {
|
||||
@@ -255,6 +257,8 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
|
||||
parents += functionBuilder
|
||||
parents += typeParametersOwnerBuilder
|
||||
defaultNull("body")
|
||||
default("contractDescription", "FirEmptyContractDescription")
|
||||
useTypes(emptyContractDescriptionType)
|
||||
openBuilder()
|
||||
}
|
||||
|
||||
|
||||
+2
@@ -144,4 +144,6 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
||||
val composedSuperTypeRef = element("ComposedSuperTypeRef", TypeRef, typeRef)
|
||||
|
||||
val contractDescription = element("ContractDescription", Contracts)
|
||||
val rawContractDescription = element("RawContractDescription", Contracts, contractDescription)
|
||||
val resolvedContractDescription = element("ResolvedContractDescription", Contracts, contractDescription)
|
||||
}
|
||||
|
||||
+1
-4
@@ -294,8 +294,7 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
value = "!isGetter"
|
||||
withGetter = true
|
||||
}
|
||||
default("contractDescription", "FirEmptyContractDescription")
|
||||
useTypes(modalityType, emptyContractDescriptionType)
|
||||
useTypes(modalityType)
|
||||
kind = OpenClass
|
||||
}
|
||||
|
||||
@@ -447,8 +446,6 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
|
||||
impl(simpleFunction) {
|
||||
kind = OpenClass
|
||||
default("contractDescription", "FirEmptyContractDescription")
|
||||
useTypes(emptyContractDescriptionType)
|
||||
}
|
||||
|
||||
impl(delegatedTypeRef) {
|
||||
|
||||
+5
-1
@@ -576,7 +576,11 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
+field(varianceType)
|
||||
}
|
||||
|
||||
contractDescription.configure {
|
||||
rawContractDescription.configure {
|
||||
+field("contractCall", functionCall)
|
||||
}
|
||||
|
||||
resolvedContractDescription.configure {
|
||||
+fieldList("effects", effectDeclarationType)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user