diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-12-23 11:53:39 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-12-23 11:53:39 +0000 |
| commit | de20ae24e555535cfca7af0a4f8a48eeed2528e8 (patch) | |
| tree | dca2bf8772ab0b2d1f139647381fd56477ed23b1 /src/main/java | |
| parent | 0d6fa0bd65e3ce2cdf94ce3867d3be15ec44c69e (diff) | |
Use TomlTableWithSource in ProfileConfig and GcConfig
Diffstat (limited to 'src/main/java')
3 files changed, 7 insertions, 8 deletions
diff --git a/src/main/java/org/shedlang/compiler/config/GcConfig.java b/src/main/java/org/shedlang/compiler/config/GcConfig.java index 76339f5a..30b2c1f5 100644 --- a/src/main/java/org/shedlang/compiler/config/GcConfig.java +++ b/src/main/java/org/shedlang/compiler/config/GcConfig.java @@ -1,6 +1,6 @@ package org.shedlang.compiler.config; -import org.tomlj.TomlTable; +import org.shedlang.compiler.config.toml.TomlTableWithSource; import java.util.List; @@ -8,7 +8,7 @@ public sealed interface GcConfig permits GcBumpConfig, GcMarkAndSweepConfig { GcConfig BUMP = new GcBumpConfig(); GcConfig DEFAULT = GcMarkAndSweepConfig.DEFAULT; - static GcConfig fromToml(TomlTable table) { + static GcConfig fromToml(TomlTableWithSource table) { var name = table.getString("name"); if (name == null) { @@ -20,7 +20,7 @@ public sealed interface GcConfig permits GcBumpConfig, GcMarkAndSweepConfig { BUMP; case "mark-and-sweep" -> - GcMarkAndSweepConfig.fromToml(table); + GcMarkAndSweepConfig.fromToml(table.table()); default -> throw new IllegalArgumentException("Unrecognised GC name: \"%s\"".formatted(name)); diff --git a/src/main/java/org/shedlang/compiler/config/ProfileConfig.java b/src/main/java/org/shedlang/compiler/config/ProfileConfig.java index eba2878f..3488b36b 100644 --- a/src/main/java/org/shedlang/compiler/config/ProfileConfig.java +++ b/src/main/java/org/shedlang/compiler/config/ProfileConfig.java @@ -1,16 +1,15 @@ package org.shedlang.compiler.config; -import org.tomlj.TomlTable; +import org.shedlang.compiler.config.toml.TomlTableWithSource; import java.util.Optional; public record ProfileConfig(String name, Optional<GcConfig> gc) { public static final ProfileConfig DEFAULT = new ProfileConfig("dev", Optional.empty()); - public static ProfileConfig fromToml(TomlTable table) { + public static ProfileConfig fromToml(TomlTableWithSource table) { var name = table.getString("name"); - var gc = Optional.ofNullable(table.getTable("gc")) - .map(GcConfig::fromToml); + var gc = table.getTable("gc").map(GcConfig::fromToml); return new ProfileConfig( name, diff --git a/src/main/java/org/shedlang/compiler/config/ProjectConfig.java b/src/main/java/org/shedlang/compiler/config/ProjectConfig.java index 5b34843a..f6ddb80f 100644 --- a/src/main/java/org/shedlang/compiler/config/ProjectConfig.java +++ b/src/main/java/org/shedlang/compiler/config/ProjectConfig.java @@ -63,7 +63,7 @@ public record ProjectConfig( .flatMap(shed -> shed.getArrayOfTables("profiles")) .orElseGet(() -> List.of()) .stream() - .map(profile -> ProfileConfig.fromToml(profile.table())) + .map(profile -> ProfileConfig.fromToml(profile)) .toList(); } |
