diff --git a/jode/jode/expr/IfThenElseOperator.java b/jode/jode/expr/IfThenElseOperator.java index 57adc7a..e30204a 100644 --- a/jode/jode/expr/IfThenElseOperator.java +++ b/jode/jode/expr/IfThenElseOperator.java @@ -87,7 +87,9 @@ public class IfThenElseOperator extends Operator { String clazz = ((ConstOperator)invoke.subExpressions[0]).getValue(); if (field.setClassConstant(clazz)) - return new ClassFieldOperator(Type.tClass(clazz)); + return new ClassFieldOperator(clazz.charAt(0) == '[' + ? Type.tType(clazz) + : Type.tClass(clazz)); } } } diff --git a/jode/jode/flow/CreateClassField.java b/jode/jode/flow/CreateClassField.java index f0440e7..f27c00e 100644 --- a/jode/jode/flow/CreateClassField.java +++ b/jode/jode/flow/CreateClassField.java @@ -71,7 +71,9 @@ public class CreateClassField { String clazz = ((ConstOperator)param).getValue(); if (put.getField().setClassConstant(clazz)) { cmp.setSubExpressions - (0, new ClassFieldOperator(Type.tClass(clazz))); + (0, new ClassFieldOperator(clazz.charAt(0) == '[' + ? Type.tType(clazz) + : Type.tClass(clazz))); EmptyBlock empty = new EmptyBlock(); empty.moveJump(ifBlock.thenBlock.jump); ifBlock.setThenBlock(empty);