From 1d0a52cfbb17d77eef8d89be7762203f7286e92f Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 23 Dec 2024 11:38:39 +0000 Subject: Check type of string in config --- .../shedlang/compiler/config/toml/TomlTableWithSource.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/org/shedlang/compiler/config/toml/TomlTableWithSource.java b/src/main/java/org/shedlang/compiler/config/toml/TomlTableWithSource.java index e11925f6..3e560d63 100644 --- a/src/main/java/org/shedlang/compiler/config/toml/TomlTableWithSource.java +++ b/src/main/java/org/shedlang/compiler/config/toml/TomlTableWithSource.java @@ -107,7 +107,8 @@ public record TomlTableWithSource( } public String getString(String key) { - var value = table.getString(key); + var value = table.get(key); + var valuePosition = table.inputPositionOf(key); if (value == null) { throw new ConfigError( @@ -116,6 +117,15 @@ public record TomlTableWithSource( ); } - return value; + if (value instanceof String valueString) { + return valueString; + } + + throw new UnexpectedTypeConfigError( + path.plusKey(key), + "a string", + value.getClass(), + TomlSource.sourceAtTomlPosition(fullSource, valuePosition) + ); } } -- cgit v1.2.3