From edec706ed470e28a0d56146115affd2e2d51998e Mon Sep 17 00:00:00 2001 From: Alex Zenla Date: Mon, 4 Sep 2023 03:09:09 -0700 Subject: [PATCH] Fix NodeType hierarchy. --- ast/src/main/kotlin/gay/pizza/pork/ast/FunctionDefinition.kt | 2 +- ast/src/main/kotlin/gay/pizza/pork/ast/NodeType.kt | 5 ++--- frontend/src/main/kotlin/gay/pizza/pork/frontend/World.kt | 2 -- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/ast/src/main/kotlin/gay/pizza/pork/ast/FunctionDefinition.kt b/ast/src/main/kotlin/gay/pizza/pork/ast/FunctionDefinition.kt index bbf538a..663f707 100644 --- a/ast/src/main/kotlin/gay/pizza/pork/ast/FunctionDefinition.kt +++ b/ast/src/main/kotlin/gay/pizza/pork/ast/FunctionDefinition.kt @@ -11,7 +11,7 @@ class FunctionDefinition( val arguments: List, val block: Block ) : Definition() { - override val type: NodeType = NodeType.FunctionDeclaration + override val type: NodeType = NodeType.FunctionDefinition override fun visitChildren(visitor: NodeVisitor): List = visitor.visitNodes(symbol) diff --git a/ast/src/main/kotlin/gay/pizza/pork/ast/NodeType.kt b/ast/src/main/kotlin/gay/pizza/pork/ast/NodeType.kt index 5d9d09a..d4c0290 100644 --- a/ast/src/main/kotlin/gay/pizza/pork/ast/NodeType.kt +++ b/ast/src/main/kotlin/gay/pizza/pork/ast/NodeType.kt @@ -5,6 +5,7 @@ enum class NodeType(val parent: NodeType? = null) { Symbol(Node), Expression(Node), Declaration(Node), + Definition(Node), Block(Node), CompilationUnit(Node), IntLiteral(Expression), @@ -20,7 +21,7 @@ enum class NodeType(val parent: NodeType? = null) { FunctionCall(Expression), If(Expression), ImportDeclaration(Declaration), - FunctionDeclaration(Declaration); + FunctionDefinition(Definition); val parents: Set @@ -37,6 +38,4 @@ enum class NodeType(val parent: NodeType? = null) { } parents = calculatedParents.toSet() } - - fun isa(type: NodeType): Boolean = this == type || parents.contains(type) } diff --git a/frontend/src/main/kotlin/gay/pizza/pork/frontend/World.kt b/frontend/src/main/kotlin/gay/pizza/pork/frontend/World.kt index b1d8401..20785e7 100644 --- a/frontend/src/main/kotlin/gay/pizza/pork/frontend/World.kt +++ b/frontend/src/main/kotlin/gay/pizza/pork/frontend/World.kt @@ -37,6 +37,4 @@ class World(val contentSource: ContentSource) { resolveAllImports(unit) return unit } - - fun units(path: String): Set = resolveAllImports(loadOneUnit(path)) }