From cee3cf53d93549e6db4445417d8cd34a6c1a50ed Mon Sep 17 00:00:00 2001 From: Natalia Ukhorskaya Date: Mon, 7 Sep 2015 14:20:26 +0300 Subject: [PATCH] JDIEval: coerce byte to int correctly --- eval4j/src/org/jetbrains/eval4j/interpreterLoop.kt | 1 + eval4j/test/org/jetbrains/eval4j/test/TestData.java | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/eval4j/src/org/jetbrains/eval4j/interpreterLoop.kt b/eval4j/src/org/jetbrains/eval4j/interpreterLoop.kt index 233f8390ef2..b45bc8d0686 100644 --- a/eval4j/src/org/jetbrains/eval4j/interpreterLoop.kt +++ b/eval4j/src/org/jetbrains/eval4j/interpreterLoop.kt @@ -182,6 +182,7 @@ public fun interpreterLoop( Type.BYTE -> byte(value.int.toByte()) Type.SHORT -> short(value.int.toShort()) Type.CHAR -> char(value.int.toChar()) + Type.INT -> int(value.int) else -> throw UnsupportedByteCodeException("Should not be coerced: $expectedType") } return ValueReturned(coerced) diff --git a/eval4j/test/org/jetbrains/eval4j/test/TestData.java b/eval4j/test/org/jetbrains/eval4j/test/TestData.java index 8d0b8743ba3..30bef2c577f 100644 --- a/eval4j/test/org/jetbrains/eval4j/test/TestData.java +++ b/eval4j/test/org/jetbrains/eval4j/test/TestData.java @@ -779,6 +779,11 @@ class TestData extends BaseTestData { return true; } + static int coerceByte() { + byte[] b = new byte[2]; + return b[1]; + } + public TestData() { } }