aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2024-12-23 11:53:39 +0000
committerMichael Williamson <mike@zwobble.org>2024-12-23 11:53:39 +0000
commitde20ae24e555535cfca7af0a4f8a48eeed2528e8 (patch)
treedca2bf8772ab0b2d1f139647381fd56477ed23b1 /src/main/java
parent0d6fa0bd65e3ce2cdf94ce3867d3be15ec44c69e (diff)
Use TomlTableWithSource in ProfileConfig and GcConfig
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/config/GcConfig.java6
-rw-r--r--src/main/java/org/shedlang/compiler/config/ProfileConfig.java7
-rw-r--r--src/main/java/org/shedlang/compiler/config/ProjectConfig.java2
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();
}