diff options
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/config/toml/TomlTableWithSource.java | 14 |
1 files changed, 12 insertions, 2 deletions
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) + ); } } |
