[IR] Move IrValueDeclaration.isAssignable to extension property
to remove custom logic from generated classes, in particular to simplify source generator itself.
This commit is contained in:
committed by
Space Team
parent
ddcef6396e
commit
5e9c3025bb
@@ -194,7 +194,6 @@ object IrTree : AbstractTreeBuilder() {
|
||||
+descriptor("ValueDescriptor")
|
||||
+symbol(valueSymbolType)
|
||||
+field("type", irTypeType)
|
||||
+field("isAssignable", boolean, mutable = false)
|
||||
}
|
||||
val valueParameter: Element by element(Declaration) {
|
||||
needTransformMethod()
|
||||
@@ -203,6 +202,7 @@ object IrTree : AbstractTreeBuilder() {
|
||||
parent(valueDeclaration)
|
||||
|
||||
+descriptor("ParameterDescriptor")
|
||||
+field("isAssignable", boolean, mutable = false)
|
||||
+symbol(valueParameterSymbolType)
|
||||
+field("index", int)
|
||||
+field("varargElementType", irTypeType, nullable = true)
|
||||
@@ -597,16 +597,6 @@ object IrTree : AbstractTreeBuilder() {
|
||||
+field("isConst", boolean)
|
||||
+field("isLateinit", boolean)
|
||||
+field("initializer", expression, nullable = true)
|
||||
+field("isAssignable", boolean, mutable = false) {
|
||||
defaultValueInBase = "true"
|
||||
withGetter = true
|
||||
additionalImports.add(setValue)
|
||||
kDoc = """
|
||||
Variables are assignable by default. This means that they can be used in [${setValue.typeName}].
|
||||
Variables are assigned in the IR even though they are not 'var' in the input. Hence
|
||||
the separate assignability flag.
|
||||
""".trimIndent()
|
||||
}
|
||||
}
|
||||
val packageFragment: Element by element(Declaration) {
|
||||
ownsChildren = false
|
||||
|
||||
Reference in New Issue
Block a user