From 0bfbc72fe8ade60f78870caa61c3957bae2c6f50 Mon Sep 17 00:00:00 2001 From: Alexander Lobas Date: Tue, 19 Mar 2013 16:22:18 +0400 Subject: [PATCH] IDEA-103365 --- .../uiDesigner/compiler/AsmCodeGenerator.java | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/java/compiler/forms-compiler/src/com/intellij/uiDesigner/compiler/AsmCodeGenerator.java b/java/compiler/forms-compiler/src/com/intellij/uiDesigner/compiler/AsmCodeGenerator.java index 5e8de15421da..22ab2a7f8bd6 100644 --- a/java/compiler/forms-compiler/src/com/intellij/uiDesigner/compiler/AsmCodeGenerator.java +++ b/java/compiler/forms-compiler/src/com/intellij/uiDesigner/compiler/AsmCodeGenerator.java @@ -515,36 +515,35 @@ public class AsmCodeGenerator { final String propertyClass = property.getCodeGenPropertyClassName(); if (myIgnoreCustomCreation) { try { - Class setterClass; + final String descriptor; + // convert wrapper classes to primitive if (propertyClass.equals(Integer.class.getName())) { - setterClass = int.class; + descriptor = "(I)V"; } else if (propertyClass.equals(Boolean.class.getName())) { - setterClass = boolean.class; + descriptor = "(Z)V"; } else if (propertyClass.equals(Double.class.getName())) { - setterClass = double.class; + descriptor = "(D)V"; } else if (propertyClass.equals(Float.class.getName())) { - setterClass = float.class; + descriptor = "(F)V"; } else if (propertyClass.equals(Long.class.getName())) { - setterClass = long.class; + descriptor = "(L)V"; } else if (propertyClass.equals(Byte.class.getName())) { - setterClass = byte.class; + descriptor = "(B)V"; } else if (propertyClass.equals(Short.class.getName())) { - setterClass = short.class; + descriptor = "(S)V"; } else if (propertyClass.equals(Character.class.getName())) { - setterClass = char.class; + descriptor = "(C)V"; } else { - setterClass = Class.forName(propertyClass); + descriptor = "(L"+Class.forName(propertyClass).getName().replace('.', '/') + ";)V"; } - //componentClass.getMethod(property.getWriteMethodName(), new Class[] { setterClass } ); - final String descriptor = "(L"+setterClass.getName().replace('.', '/') + ";)V"; final InstrumentationClassFinder.PseudoMethod setter = componentClass.findMethodInHierarchy(property.getWriteMethodName(), descriptor); if (setter == null) {