From 05a0dc1d26ba886bbb45c4639ae4c903ff83c2bc Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 1 Nov 2026 21:50:34 +0000 Subject: Extract generateNamespaceStatement() --- .../generators/sqlscripts/SqlScriptsGenerator.java | 31 ++++++++++++++-------- 1 file changed, 20 insertions(+), 11 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/sqlscripts/SqlScriptsGenerator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/sqlscripts/SqlScriptsGenerator.java index 5089271..b526e38 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/sqlscripts/SqlScriptsGenerator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/sqlscripts/SqlScriptsGenerator.java @@ -1,9 +1,6 @@ package org.zwobble.hobgoblin.compiler.output.generators.sqlscripts; -import org.zwobble.hobgoblin.compiler.ast.typed.TypedDatabaseSchemaDefinitionNode; -import org.zwobble.hobgoblin.compiler.ast.typed.TypedDatabaseSchemaStatementNode; -import org.zwobble.hobgoblin.compiler.ast.typed.TypedNamespaceNode; -import org.zwobble.hobgoblin.compiler.ast.typed.TypedTableDefinitionNode; +import org.zwobble.hobgoblin.compiler.ast.typed.*; import org.zwobble.hobgoblin.compiler.config.OutputConfig; import org.zwobble.hobgoblin.compiler.output.generators.Generator; import org.zwobble.hobgoblin.compiler.output.generators.GeneratorDefinition; @@ -70,17 +67,29 @@ public class SqlScriptsGenerator implements Generator { ) throws IOException { for (var namespace : namespaces) { for (var namespaceStatement : namespace.body()) { - if (namespaceStatement instanceof TypedDatabaseSchemaDefinitionNode databaseSchemaDefinition) { - generateDatabaseSchemaDefinition( - databaseSchemaDefinition, - namespace.namespaceName(), - typesInfo - ); - } + generateNamespaceStatement( + namespaceStatement, + namespace.namespaceName(), + typesInfo + ); } } } + private void generateNamespaceStatement( + TypedNamespaceStatementNode namespaceStatement, + NamespaceName namespaceName, + TypesInfo typesInfo + ) throws IOException { + if (namespaceStatement instanceof TypedDatabaseSchemaDefinitionNode databaseSchemaDefinition) { + generateDatabaseSchemaDefinition( + databaseSchemaDefinition, + namespaceName, + typesInfo + ); + } + } + @Override public List strippers() { return List.of(SqlWriter.stripper(this.outputPath)); -- cgit v1.2.3