diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-12-23 12:02:46 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-12-23 12:02:46 +0000 |
| commit | 5f49725ba8378e5f1921e2aea0dfae00b15a0968 (patch) | |
| tree | e49600a680b2d58dbaa6c5bd08a9525fb880bc8c /src/main/java | |
| parent | 5e54269bed1266534435f54c950fb7b9645dff24 (diff) | |
Use TomlTableWithSource in GcMarkAndSweepConfig
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/config/GcConfig.java | 2 | ||||
| -rw-r--r-- | src/main/java/org/shedlang/compiler/config/GcMarkAndSweepConfig.java | 14 |
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; |
