Added workaround for OpenJDK bug.

This commit is contained in:
jfrijters 2007-08-23 09:26:46 +00:00
Родитель 817b596354
Коммит 52ca831faa
1 изменённых файлов: 39 добавлений и 0 удалений

Просмотреть файл

@ -1782,6 +1782,45 @@
<ret />
</body>
</method>
</class>
<class name="com.sun.beans.ObjectHandler">
<!-- HACK this is a workaround for an OpenJDK regression. It apparently no longer supports primitive types in the bean xml deserialization. -->
<method name="classForName2" sig="(Ljava.lang.String;)Ljava.lang.Class;">
<body>
<ldarg_1 />
<call class="com.sun.beans.ObjectHandler" name="typeNameToPrimitiveClass" sig="(Ljava.lang.String;)Ljava.lang.Class;" />
<dup />
<brfalse name="not_primitive" />
<ret />
<label name="not_primitive" />
<pop />
<exceptionBlock>
<try>
<ldarg_1 />
<ldarg_0 />
<ldfld class="com.sun.beans.ObjectHandler" name="ldr" sig="Ljava.lang.ClassLoader;" />
<call class="com.sun.beans.finder.ClassFinder" name="findClass" sig="(Ljava.lang.String;Ljava.lang.ClassLoader;)Ljava.lang.Class;" />
<stloc name="retval" class="java.lang.Class" />
</try>
<catch class="java.lang.ClassNotFoundException">
<stloc name="e" class="java.lang.ClassNotFoundException" />
<ldarg_0 />
<ldfld class="com.sun.beans.ObjectHandler" name="is" sig="Ljava.beans.XMLDecoder;" />
<brfalse name="skip" />
<ldarg_0 />
<ldfld class="com.sun.beans.ObjectHandler" name="is" sig="Ljava.beans.XMLDecoder;" />
<callvirt class="java.beans.XMLDecoder" name="getExceptionListener" sig="()Ljava.beans.ExceptionListener;" />
<ldloc name="e" />
<callvirt class="java.beans.ExceptionListener" name="exceptionThrown" sig="(Ljava.lang.Exception;)V" />
<label name="skip" />
<ldnull />
<stloc name="retval" class="java.lang.Class" />
</catch>
</exceptionBlock>
<ldloc name="retval" />
<ret />
</body>
</method>
</class>
</assembly>
<exceptionMappings>