From 2d5449450a4dd0d99a5de279afcd8aa8aa4b6ba3 Mon Sep 17 00:00:00 2001 From: Jaroslav Tulach Date: Thu, 11 Jan 2024 20:10:32 +0100 Subject: [PATCH] Only convert to long when having BigInteger --- .../main/java/org/enso/base/polyglot/Polyglot_Utils.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/std-bits/base/src/main/java/org/enso/base/polyglot/Polyglot_Utils.java b/std-bits/base/src/main/java/org/enso/base/polyglot/Polyglot_Utils.java index eecb2b45f526..ebbedc3ac941 100644 --- a/std-bits/base/src/main/java/org/enso/base/polyglot/Polyglot_Utils.java +++ b/std-bits/base/src/main/java/org/enso/base/polyglot/Polyglot_Utils.java @@ -1,5 +1,6 @@ package org.enso.base.polyglot; +import java.math.BigInteger; import java.time.LocalDate; import java.time.LocalDateTime; import org.graalvm.polyglot.Value; @@ -34,11 +35,11 @@ public static Object convertPolyglotValue(Value item) { if (item.isException()) { throw new WrappedDataflowError(item); } - if (item.fitsInLong()) { + var ret = item.as(Object.class); + if (ret instanceof BigInteger && item.fitsInLong()) { return item.asLong(); } - - return item.as(Object.class); + return ret; } /**