From cc0c08a40ce03526f45fa32d2af0bb361c820b56 Mon Sep 17 00:00:00 2001 From: volodya-lombrozo Date: Fri, 30 Aug 2024 14:34:20 +0300 Subject: [PATCH] feat(#275): fix the rest of mistakes --- .../opeo/decompilation/agents/LdcAgent.java | 11 +++--- .../java/org/eolang/opeo/ast/ConstTest.java | 36 ++++++++++--------- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/src/main/java/org/eolang/opeo/decompilation/agents/LdcAgent.java b/src/main/java/org/eolang/opeo/decompilation/agents/LdcAgent.java index c21d6ea6..54c9a457 100644 --- a/src/main/java/org/eolang/opeo/decompilation/agents/LdcAgent.java +++ b/src/main/java/org/eolang/opeo/decompilation/agents/LdcAgent.java @@ -56,13 +56,14 @@ public void handle(final DecompilerState state) { } /** - * Determine value type. - * @param object Object value. + * Determine the value type. + * Since Java doesn't allow using primitive types for Object, we need to + * determine the type of the value. + * @param value Object value. * @return Type. - * @todo #275:30min WTF? */ - private static Type type(final Object object) { - final Class clazz = object.getClass(); + private static Type type(final Object value) { + final Class clazz = value.getClass(); final Type result; if (clazz == Integer.class) { result = Type.INT_TYPE; diff --git a/src/test/java/org/eolang/opeo/ast/ConstTest.java b/src/test/java/org/eolang/opeo/ast/ConstTest.java index ff5f8533..0417ff03 100644 --- a/src/test/java/org/eolang/opeo/ast/ConstTest.java +++ b/src/test/java/org/eolang/opeo/ast/ConstTest.java @@ -191,25 +191,10 @@ void constructsLongFromXmir(final String input, final int opcode, final String e ); } - /** - * Test cases for {@link #generatesLdcInstruction(Object)} test. - * @return Different values that might be converted to LDC instruction. - */ - @SuppressWarnings("PMD.UnusedPrivateMethod") - private static Stream ldc() { - return Stream.of( - "Load string from constant pool", - 29, - 29L, - 29.0f, - 29.0d - ); - } - @ParameterizedTest @MethodSource("opcodes") void generatesCorrectOpcodesForDifferentTypes( - final Const constant, final int expected, final Object[] params + final Const constant, final int expected, final Object... params ) { final Opcode opcode = (Opcode) constant.opcodes().get(0); MatcherAssert.assertThat( @@ -239,6 +224,10 @@ void generatesCorrectOpcodesForDifferentTypes( } } + /** + * Test cases for {@link #generatesCorrectOpcodesForDifferentTypes(Const, int, Object[])} test. + * @return Different values that might be converted to opcodes. + */ @SuppressWarnings("PMD.UnusedPrivateMethod") private static Stream opcodes() { return Stream.of( @@ -275,4 +264,19 @@ private static Stream opcodes() { Arguments.of(new Const(false), Opcodes.ICONST_0, ConstTest.EMPTY) ); } + + /** + * Test cases for {@link #generatesLdcInstruction(Object)} test. + * @return Different values that might be converted to LDC instruction. + */ + @SuppressWarnings("PMD.UnusedPrivateMethod") + private static Stream ldc() { + return Stream.of( + "Load string from constant pool", + 29, + 29L, + 29.0f, + 29.0d + ); + } }