aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-11-19 11:00:33 +0000
committerMichael Williamson <mike@zwobble.org>2023-11-19 11:00:33 +0000
commit483c2ed39d41d9aeed3ae60e0ec3b25a20e05182 (patch)
tree71056ecc1834a295a04369c685eca361b9b7d118 /src/main/java
parent1871e5690e5d6a61f08e722dacc5dfdbae7ed714 (diff)
Implement FieldsInfo.fieldIndex() with FieldInfo.fieldIndex()
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/types/FieldsInfo.java9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/main/java/org/shedlang/compiler/types/FieldsInfo.java b/src/main/java/org/shedlang/compiler/types/FieldsInfo.java
index 18e2653e..3bd20890 100644
--- a/src/main/java/org/shedlang/compiler/types/FieldsInfo.java
+++ b/src/main/java/org/shedlang/compiler/types/FieldsInfo.java
@@ -32,13 +32,10 @@ public record FieldsInfo<T extends Type>(POrderedMap<String, FieldInfo<T>> field
}
public int fieldIndex(String fieldName) {
- var fieldIndex = fields.keys().indexOf(fieldName);
+ var field = fields.get(fieldName)
+ .orElseThrow(() -> new NoSuchFieldInternalError(fieldName));
- if (fieldIndex == -1) {
- throw new NoSuchFieldInternalError(fieldName);
- } else {
- return fieldIndex;
- }
+ return field.fieldIndex();
}
public Optional<T> fieldType(String fieldName) {