From 5f49725ba8378e5f1921e2aea0dfae00b15a0968 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 23 Dec 2024 12:02:46 +0000 Subject: Use TomlTableWithSource in GcMarkAndSweepConfig --- src/main/java/org/shedlang/compiler/config/GcConfig.java | 2 +- .../org/shedlang/compiler/config/GcMarkAndSweepConfig.java | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src/main/java') 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 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(); if (collectInterval.isPresent()) { - options.add("gc_collect_interval=" + collectInterval.get()); + options.add("gc_collect_interval=" + collectInterval.getAsLong()); } return options; -- cgit v1.2.3