aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2024-12-23 12:02:46 +0000
committerMichael Williamson <mike@zwobble.org>2024-12-23 12:02:46 +0000
commit5f49725ba8378e5f1921e2aea0dfae00b15a0968 (patch)
treee49600a680b2d58dbaa6c5bd08a9525fb880bc8c /src/main/java
parent5e54269bed1266534435f54c950fb7b9645dff24 (diff)
Use TomlTableWithSource in GcMarkAndSweepConfig
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/config/GcConfig.java2
-rw-r--r--src/main/java/org/shedlang/compiler/config/GcMarkAndSweepConfig.java14
2 files changed, 8 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 30b2c1f5..dcfd11f0 100644
--- a/src/main/java/org/shedlang/compiler/config/GcConfig.java
+++ b/src/main/java/org/shedlang/compiler/config/GcConfig.java
@@ -20,7 +20,7 @@ public sealed interface GcConfig permits GcBumpConfig, GcMarkAndSweepConfig {
BUMP;
case "mark-and-sweep" ->
- GcMarkAndSweepConfig.fromToml(table.table());
+ GcMarkAndSweepConfig.fromToml(table);
default ->
throw new IllegalArgumentException("Unrecognised GC name: \"%s\"".formatted(name));
diff --git a/src/main/java/org/shedlang/compiler/config/GcMarkAndSweepConfig.java b/src/main/java/org/shedlang/compiler/config/GcMarkAndSweepConfig.java
index c0b6b9dd..0c2ea9bb 100644
--- a/src/main/java/org/shedlang/compiler/config/GcMarkAndSweepConfig.java
+++ b/src/main/java/org/shedlang/compiler/config/GcMarkAndSweepConfig.java
@@ -1,20 +1,20 @@
package org.shedlang.compiler.config;
-import org.tomlj.TomlTable;
+import org.shedlang.compiler.config.toml.TomlTableWithSource;
import java.util.ArrayList;
import java.util.List;
-import java.util.Optional;
+import java.util.OptionalLong;
public record GcMarkAndSweepConfig(
- Optional<Long> collectInterval
+ OptionalLong collectInterval
) implements GcConfig {
public static final GcMarkAndSweepConfig DEFAULT = new GcMarkAndSweepConfig(
- Optional.empty()
+ OptionalLong.empty()
);
- public static GcMarkAndSweepConfig fromToml(TomlTable table) {
- var collectInterval = Optional.ofNullable(table.getLong("collect-interval"));
+ public static GcMarkAndSweepConfig fromToml(TomlTableWithSource table) {
+ var collectInterval = table.getLongOrNone("collect-interval");
return new GcMarkAndSweepConfig(collectInterval);
}
@@ -28,7 +28,7 @@ public record GcMarkAndSweepConfig(
var options = new ArrayList<String>();
if (collectInterval.isPresent()) {
- options.add("gc_collect_interval=" + collectInterval.get());
+ options.add("gc_collect_interval=" + collectInterval.getAsLong());
}
return options;