parser: use ast user data to store attribution

This commit is contained in:
alex committed 2023-09-11 20:13:15 -04:00
1 parent a07e0fe672
commit b64c7fb259
11 files changed
+129 -65

No files matched your search

@@ -8,5 +8,6 @@ import kotlinx.serialization.Serializable
@SerialName("definition")
sealed class Definition : Node() {
abstract val symbol: Symbol
abstract val modifiers: DefinitionModifiers
}
@@ -1,6 +1,7 @@
// GENERATED CODE FROM PORK AST CODEGEN
package gay.pizza.pork.ast
import kotlinx.serialization.Transient
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -9,6 +10,9 @@ import kotlinx.serialization.Serializable
sealed class Node {
abstract val type: NodeType
@Transient
var data: Any? = null
open fun <T> visitChildren(visitor: NodeVisitor<T>): List<T> =
emptyList()
@@ -0,0 +1,6 @@
// GENERATED CODE FROM PORK AST CODEGEN
package gay.pizza.pork.ast
@Suppress("UNCHECKED_CAST")
fun <P> Node.data(): P? =
data as? P?