From 52f55d08a90c6c2d2d0a433ddba17a729e22cb07 Mon Sep 17 00:00:00 2001 From: Edward Slavich Date: Sun, 21 Jun 2026 09:40:49 -0800 Subject: [PATCH] Allow longs within int range to be cast to int --- .../java/org/asdfformat/asdf/node/impl/NumberAsdfNode.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/asdf-core/src/main/java/org/asdfformat/asdf/node/impl/NumberAsdfNode.java b/asdf-core/src/main/java/org/asdfformat/asdf/node/impl/NumberAsdfNode.java index a920b49..4eef281 100644 --- a/asdf-core/src/main/java/org/asdfformat/asdf/node/impl/NumberAsdfNode.java +++ b/asdf-core/src/main/java/org/asdfformat/asdf/node/impl/NumberAsdfNode.java @@ -131,8 +131,10 @@ public float asFloat() { public int asInt() { if (value instanceof Byte || value instanceof Short || value instanceof Integer) { return value.intValue(); + } else if (value instanceof Long && (long) value >= Integer.MIN_VALUE && (long) value <= Integer.MAX_VALUE) { + return value.intValue(); } else { - throw new IllegalStateException("Node cannot be represented as long"); + throw new IllegalStateException("Node cannot be represented as int"); } }