diff options
Diffstat (limited to 'src/main/java/org')
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java index b12f8d5..92d36e3 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java @@ -1105,6 +1105,10 @@ public class JavaTransient0Generator implements Generator { return Lists.concat(List.of( generateDecode(id, NativeTypes.INT_64), List.of( + generateAssertLessThanIntMax( + id, + "Shared value IDs greater than Integer.MAX_VALUE are not supported" + ), new JavaLocalVariableDeclaration( Optional.of(this.javaGenerator.generateTypeRef(type)), target, @@ -1129,6 +1133,10 @@ public class JavaTransient0Generator implements Generator { new JavaMethodCall( new JavaRef(SHARED_VALUES_NAME), JavaIdentifier.of("get"), + // We've checked above that the id is less than + // Integer.MAX_VALUE, so casting to an int is safe. + // (This doesn't check for negatives, but get() fails for + // negative values anyway.) List.of(new JavaCast(JavaTypeRef.INT, new JavaRef(id))) ) ) |
