diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-08-01 11:09:23 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-08-01 11:09:23 +0100 |
| commit | d3b94d2711796333456dc34a56d50ece6cf03f15 (patch) | |
| tree | 3325b188532f71098fec3e89a7e20c10ba644126 /src/main | |
| parent | b1a386ca4aab5176566a5c30f747d669a562d8fb (diff) | |
Require langs config
Diffstat (limited to 'src/main')
8 files changed, 10 insertions, 11 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/config/ProjectConfig.java b/src/main/java/org/zwobble/hobgoblin/compiler/config/ProjectConfig.java index 38d8119..2373626 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/config/ProjectConfig.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/config/ProjectConfig.java @@ -34,7 +34,7 @@ public record ProjectConfig( private static ProjectConfig fromJson5(Path projectRoot, Json5ObjectReader document) { var outputsJson = document.getObject("outputs"); var generatorsJson = outputsJson.getArrayOfObjects("generators"); - var langsJson = outputsJson.getObjectOrNone("langs"); + var langsJson = outputsJson.getObject("langs"); var outputs = new ArrayList<OutputConfig>(); for (var generatorJson : generatorsJson) { diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGeneratorConfig.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGeneratorConfig.java index 1d570e8..e1be9e6 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGeneratorConfig.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGeneratorConfig.java @@ -14,9 +14,8 @@ public record JavaGeneratorConfig( Map<NamespaceName, JavaNamespaceConfig> namespaceConfigs, Map<SimpleNativeType, JavaNativeTypeConfig> nativeTypeConfigs ) { - public static JavaGeneratorConfig parseLangsConfig(Optional<Json5ObjectReader> langsJson) { - // TODO: better error if missing - var output = langsJson.orElseThrow().getObject("java"); + public static JavaGeneratorConfig parseLangsConfig(Json5ObjectReader langsJson) { + var output = langsJson.getObject("java"); var packageName = output.getString("packageName").value(); var namespaceConfigs = parseNamespaceConfigs(output); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javapreciselymatchers/JavaPreciselyMatchersGenerator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javapreciselymatchers/JavaPreciselyMatchersGenerator.java index 1069f4a..7aa0ae1 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javapreciselymatchers/JavaPreciselyMatchersGenerator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javapreciselymatchers/JavaPreciselyMatchersGenerator.java @@ -25,7 +25,7 @@ public class JavaPreciselyMatchersGenerator implements Generator { public static OutputConfig parseGeneratorConfig( Path projectRoot, Json5ObjectReader generatorJson, - Optional<Json5ObjectReader> langsJson + Json5ObjectReader langsJson ) { return () -> { var relativeOutputPath = generatorJson.getString("path").value(); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java index e27c606..2dff24b 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java @@ -31,7 +31,7 @@ public class JavaTransient0Generator implements Generator { public static OutputConfig parseGeneratorConfig( Path projectRoot, Json5ObjectReader generatorJson, - Optional<Json5ObjectReader> langsJson + Json5ObjectReader langsJson ) { return () -> { var relativeOutputPath = generatorJson.getString("path").value(); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java index e1aca6d..ff9bcd4 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java @@ -29,7 +29,7 @@ public class JavaTypesGenerator implements Generator { public static OutputConfig parseGeneratorConfig( Path projectRoot, Json5ObjectReader generatorJson, - Optional<Json5ObjectReader> langsJson + Json5ObjectReader langsJson ) { return () -> { var relativeOutputPath = generatorJson.getString("path").value(); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rust/RustGeneratorConfig.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rust/RustGeneratorConfig.java index 3f5e4d5..4c64601 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rust/RustGeneratorConfig.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rust/RustGeneratorConfig.java @@ -14,8 +14,8 @@ import java.util.Optional; public record RustGeneratorConfig( Map<SimpleNativeType, RustNativeTypeConfig> nativeTypeConfigs ) { - public static RustGeneratorConfig parseLangsConfig(Optional<Json5ObjectReader> langsJson) { - var output = langsJson.flatMap(json -> json.getObjectOrNone("rust")); + public static RustGeneratorConfig parseLangsConfig(Json5ObjectReader langsJson) { + var output = langsJson.getObjectOrNone("rust"); if (output.isEmpty()) { return new RustGeneratorConfig(DEFAULT_NATIVE_TYPE_CONFIGS); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java index 2f07f54..83ad2fe 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java @@ -34,7 +34,7 @@ public class RustTransient0Generator implements Generator { public static OutputConfig parseGeneratorConfig( Path projectRoot, Json5ObjectReader output, - Optional<Json5ObjectReader> langsJson + Json5ObjectReader langsJson ) { return () -> { var relativeOutputPath = output.getString("path").value(); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttypes/RustTypesGenerator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttypes/RustTypesGenerator.java index c1c895b..c39e9a3 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttypes/RustTypesGenerator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttypes/RustTypesGenerator.java @@ -25,7 +25,7 @@ public class RustTypesGenerator implements Generator { public static OutputConfig parseGeneratorConfig( Path projectRoot, Json5ObjectReader output, - Optional<Json5ObjectReader> langsJson + Json5ObjectReader langsJson ) { return () -> { var relativeOutputPath = output.getString("path").value(); |
