2002-12-18 19:00:25 +03:00
|
|
|
<?xml version="1.0" encoding="utf-8" ?>
|
|
|
|
<!--
|
2004-03-08 18:18:47 +03:00
|
|
|
Copyright (C) 2002, 2003, 2004 Jeroen Frijters
|
2002-12-18 19:00:25 +03:00
|
|
|
|
|
|
|
This software is provided 'as-is', without any express or implied
|
|
|
|
warranty. In no event will the authors be held liable for any damages
|
|
|
|
arising from the use of this software.
|
|
|
|
|
|
|
|
Permission is granted to anyone to use this software for any purpose,
|
|
|
|
including commercial applications, and to alter it and redistribute it
|
|
|
|
freely, subject to the following restrictions:
|
|
|
|
|
|
|
|
1. The origin of this software must not be misrepresented; you must not
|
|
|
|
claim that you wrote the original software. If you use this software
|
|
|
|
in a product, an acknowledgment in the product documentation would be
|
|
|
|
appreciated but is not required.
|
|
|
|
2. Altered source versions must be plainly marked as such, and must not be
|
|
|
|
misrepresented as being the original software.
|
|
|
|
3. This notice may not be removed or altered from any source distribution.
|
|
|
|
|
|
|
|
Jeroen Frijters
|
|
|
|
jeroen@frijters.net
|
|
|
|
|
|
|
|
-->
|
|
|
|
<root>
|
2004-04-23 18:21:43 +04:00
|
|
|
<assembly>
|
|
|
|
<class name="java.lang.Object" shadows="System.Object, mscorlib" modifiers="public">
|
2002-12-18 19:00:25 +03:00
|
|
|
<constructor sig="()V" modifiers="public" />
|
|
|
|
<method name="notifyAll" sig="()V" modifiers="public final">
|
2004-03-08 18:18:47 +03:00
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<call type="System.Threading.Monitor, mscorlib" name="PulseAll" sig="(Ljava.lang.Object;)V" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
|
|
|
<method name="notify" sig="()V" modifiers="public final">
|
2004-03-08 18:18:47 +03:00
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<call type="System.Threading.Monitor, mscorlib" name="Pulse" sig="(Ljava.lang.Object;)V" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
|
|
|
<method name="wait" sig="()V" modifiers="public final">
|
2003-11-17 15:01:50 +03:00
|
|
|
<throws class="java.lang.InterruptedException" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
2003-08-21 14:06:34 +04:00
|
|
|
<call type="System.Threading.Monitor, mscorlib" name="Wait" sig="(Ljava.lang.Object;)Z" />
|
2003-04-14 13:41:58 +04:00
|
|
|
<!-- For some reason, Wait returns a boolean -->
|
|
|
|
<pop />
|
2004-03-08 18:18:47 +03:00
|
|
|
<ret />
|
|
|
|
</body>
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
|
|
|
<method name="wait" sig="(J)V" modifiers="public final">
|
2003-11-17 15:01:50 +03:00
|
|
|
<throws class="java.lang.InterruptedException" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<ldarg_1 />
|
|
|
|
<ldc_i4_0 />
|
|
|
|
<call class="java.lang.ObjectHelper" name="wait" sig="(Ljava.lang.Object;JI)V" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
|
|
|
<method name="wait" sig="(JI)V" modifiers="public final">
|
2003-11-17 15:01:50 +03:00
|
|
|
<throws class="java.lang.InterruptedException" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<ldarg_1 />
|
|
|
|
<ldarg_2 />
|
|
|
|
<call class="java.lang.ObjectHelper" name="wait" sig="(Ljava.lang.Object;JI)V" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="getClass" sig="()Ljava.lang.Class;" modifiers="public final">
|
2004-03-08 18:18:47 +03:00
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
2004-01-11 16:14:42 +03:00
|
|
|
<call type="System.Object, mscorlib" name="GetType" />
|
2003-04-14 13:41:58 +04:00
|
|
|
<call type="NativeCode.java.lang.VMClass" name="getClassFromType" />
|
|
|
|
<castclass class="java.lang.Class" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<ret />
|
|
|
|
</body>
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="clone" sig="()Ljava.lang.Object;" modifiers="protected">
|
2003-11-17 15:01:50 +03:00
|
|
|
<throws class="java.lang.CloneNotSupportedException" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
2003-08-21 14:06:34 +04:00
|
|
|
<isinst class="java.lang.Cloneable" />
|
2003-04-14 13:41:58 +04:00
|
|
|
<brtrue name="ok" />
|
|
|
|
<newobj class="java.lang.CloneNotSupportedException" name="<init>" sig="()V" />
|
|
|
|
<throw />
|
|
|
|
<label name="ok" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<ldarg_0 />
|
2004-01-11 16:14:42 +03:00
|
|
|
<call type="System.Object, mscorlib" name="MemberwiseClone" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
<alternateBody>
|
|
|
|
<ldarg_0 />
|
|
|
|
<isinst type="System.Array, mscorlib" />
|
|
|
|
<dup />
|
|
|
|
<brtrue name="ok" />
|
|
|
|
<newobj class="java.lang.CloneNotSupportedException" name="<init>" sig="()V" />
|
|
|
|
<throw />
|
|
|
|
<label name="ok" />
|
|
|
|
<call type="System.Array, mscorlib" name="Clone" sig="()Ljava.lang.Object;" />
|
|
|
|
<ret />
|
|
|
|
</alternateBody>
|
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="toString" sig="()Ljava.lang.String;" modifiers="public">
|
2002-12-18 19:00:25 +03:00
|
|
|
<override name="ToString" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
2003-05-30 16:08:59 +04:00
|
|
|
<call class="java.lang.ObjectHelper" name="toStringSpecial" sig="(Ljava.lang.Object;)Ljava.lang.String;" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
<alternateBody>
|
|
|
|
<ldarg_0 />
|
2004-01-11 16:14:42 +03:00
|
|
|
<isinst type="System.Array, mscorlib" />
|
2002-12-18 19:00:25 +03:00
|
|
|
<brfalse name="skip" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<ldarg_0 />
|
2003-05-30 16:08:59 +04:00
|
|
|
<call class="java.lang.ObjectHelper" name="toStringSpecial" sig="(Ljava.lang.Object;)Ljava.lang.String;" />
|
2002-12-18 19:00:25 +03:00
|
|
|
<br name="end" />
|
|
|
|
<label name="skip" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<ldarg_0 />
|
2004-01-11 16:14:42 +03:00
|
|
|
<callvirt type="System.Object, mscorlib" name="ToString" />
|
2002-12-18 19:00:25 +03:00
|
|
|
<label name="end" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<ret />
|
|
|
|
</alternateBody>
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
|
|
|
<method name="hashCode" sig="()I" modifiers="public">
|
|
|
|
<override name="GetHashCode" />
|
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="equals" sig="(Ljava.lang.Object;)Z" modifiers="public">
|
2002-12-18 19:00:25 +03:00
|
|
|
<override name="Equals" />
|
|
|
|
</method>
|
|
|
|
<method name="finalize" sig="()V" modifiers="protected">
|
2003-11-17 15:01:50 +03:00
|
|
|
<throws class="java.lang.Throwable" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<!-- NOTE we don't override Finalize, because that would be bad for performance,
|
|
|
|
instead, the compiler contains a hack to lazily override Finalize when a class
|
|
|
|
overrides our finalize
|
|
|
|
TODO consider adding code to constructor (in debug builds) to detect that someone
|
|
|
|
has overriden our finalize from another .NET language (if no intermediate Java base class
|
|
|
|
has overriden finalize, the lazy override of Object.Finalize hasn't kicked in and finalize
|
|
|
|
will never be called)
|
|
|
|
-->
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<call type="System.Object, mscorlib" name="Finalize" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
<alternateBody>
|
|
|
|
<!-- if code in the java.lang package explicitly invokes finalize on a non java.lang.Object
|
|
|
|
derived object we just ignore it -->
|
|
|
|
<ret />
|
|
|
|
</alternateBody>
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
|
|
|
</class>
|
2004-04-23 18:21:43 +04:00
|
|
|
<class name="java.lang.String" shadows="System.String, mscorlib" modifiers="public final">
|
2002-12-27 12:01:16 +03:00
|
|
|
<implements class="java.lang.Comparable" />
|
2003-07-31 16:49:29 +04:00
|
|
|
<implements class="java.lang.CharSequence" />
|
2003-02-15 12:20:26 +03:00
|
|
|
<implements class="java.io.Serializable" />
|
2003-11-17 15:01:50 +03:00
|
|
|
<field name="serialVersionUID" sig="J" modifiers="private static final" constant="-6849794470754667710" />
|
2002-12-18 19:00:25 +03:00
|
|
|
<constructor sig="()V" modifiers="public">
|
2004-03-08 18:18:47 +03:00
|
|
|
<alternateBody>
|
2002-12-18 19:00:25 +03:00
|
|
|
<ldstr value="" />
|
2003-08-21 14:06:34 +04:00
|
|
|
<call type="System.String, mscorlib" name="Copy" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<ret />
|
|
|
|
</alternateBody>
|
2002-12-18 19:00:25 +03:00
|
|
|
</constructor>
|
|
|
|
<constructor sig="([C)V" modifiers="public" />
|
|
|
|
<constructor sig="([CII)V" modifiers="public" />
|
|
|
|
<!-- Package private constructor, that we redirect to static helper -->
|
|
|
|
<constructor sig="([CIIZ)V" modifiers="">
|
2003-05-30 16:08:59 +04:00
|
|
|
<redirect class="java.lang.StringHelper" name="NewString" type="static" sig="([CIIZ)Ljava.lang.String;" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</constructor>
|
2003-05-30 16:08:59 +04:00
|
|
|
<constructor sig="(Ljava.lang.String;)V" modifiers="public">
|
2003-08-21 14:06:34 +04:00
|
|
|
<redirect class="System.String, mscorlib" name="Copy" type="static" sig="(Ljava.lang.String;)Ljava.lang.String;" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</constructor>
|
2003-05-30 16:08:59 +04:00
|
|
|
<constructor sig="(Ljava.lang.StringBuffer;)V" modifiers="public">
|
2003-07-31 16:49:29 +04:00
|
|
|
<redirect class="java.lang.StringHelper" name="NewString" type="static" sig="(Ljava.lang.StringBuffer;)Ljava.lang.String;" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</constructor>
|
|
|
|
<constructor sig="([B)V" modifiers="public">
|
2003-05-30 16:08:59 +04:00
|
|
|
<redirect class="java.lang.StringHelper" name="NewString" type="static" sig="([B)Ljava.lang.String;" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</constructor>
|
|
|
|
<constructor sig="([BI)V" modifiers="public">
|
2003-05-30 16:08:59 +04:00
|
|
|
<redirect class="java.lang.StringHelper" name="NewString" type="static" sig="([BI)Ljava.lang.String;" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</constructor>
|
|
|
|
<constructor sig="([BII)V" modifiers="public">
|
2003-05-30 16:08:59 +04:00
|
|
|
<redirect class="java.lang.StringHelper" name="NewString" type="static" sig="([BII)Ljava.lang.String;" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</constructor>
|
|
|
|
<constructor sig="([BIII)V" modifiers="public">
|
2003-05-30 16:08:59 +04:00
|
|
|
<redirect class="java.lang.StringHelper" name="NewString" type="static" sig="([BIII)Ljava.lang.String;" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</constructor>
|
2003-05-30 16:08:59 +04:00
|
|
|
<constructor sig="([BLjava.lang.String;)V" modifiers="public">
|
2003-11-17 15:01:50 +03:00
|
|
|
<throws class="java.io.UnsupportedEncodingException" />
|
2003-05-30 16:08:59 +04:00
|
|
|
<redirect class="java.lang.StringHelper" name="NewString" type="static" sig="([BLjava.lang.String;)Ljava.lang.String;" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</constructor>
|
2003-05-30 16:08:59 +04:00
|
|
|
<constructor sig="([BIILjava.lang.String;)V" modifiers="public">
|
2003-11-17 15:01:50 +03:00
|
|
|
<throws class="java.io.UnsupportedEncodingException" />
|
2003-05-30 16:08:59 +04:00
|
|
|
<redirect class="java.lang.StringHelper" name="NewString" type="static" sig="([BIILjava.lang.String;)Ljava.lang.String;" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</constructor>
|
|
|
|
<method name="hashCode" sig="()I" modifiers="public">
|
2004-03-08 18:18:47 +03:00
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
2004-04-23 18:21:43 +04:00
|
|
|
<call class="java.lang.StringHelper" name="hashCode" sig="(Lcli.System.String;)I" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<ret />
|
|
|
|
</body>
|
2003-02-27 19:41:47 +03:00
|
|
|
</method>
|
2004-03-16 20:10:09 +03:00
|
|
|
<!-- we have a toString here to make sure that it shows up as a declared method in reflection -->
|
2004-03-08 18:18:47 +03:00
|
|
|
<method name="toString" sig="()Ljava.lang.String;" modifiers="public" />
|
2004-03-16 20:10:09 +03:00
|
|
|
<!-- we have an equals here to make sure that it shows up as a declared method in reflection -->
|
|
|
|
<method name="equals" sig="(Ljava.lang.Object;)Z" modifiers="public" />
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="valueOf" sig="(Z)Ljava.lang.String;" modifiers="public static">
|
2003-04-14 13:41:58 +04:00
|
|
|
<redirect class="java.lang.StringHelper" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="valueOf" sig="(I)Ljava.lang.String;" modifiers="public static">
|
2003-04-14 13:41:58 +04:00
|
|
|
<redirect class="java.lang.StringHelper" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="valueOf" sig="(J)Ljava.lang.String;" modifiers="public static">
|
2003-04-14 13:41:58 +04:00
|
|
|
<redirect class="java.lang.StringHelper" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="valueOf" sig="(C)Ljava.lang.String;" modifiers="public static">
|
2004-04-23 18:21:43 +04:00
|
|
|
<redirect class="java.lang.StringHelper" sig="(C)Lcli.System.String;" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="valueOf" sig="(F)Ljava.lang.String;" modifiers="public static">
|
2003-04-14 13:41:58 +04:00
|
|
|
<redirect class="java.lang.StringHelper" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="valueOf" sig="(D)Ljava.lang.String;" modifiers="public static">
|
2003-04-14 13:41:58 +04:00
|
|
|
<redirect class="java.lang.StringHelper" />
|
2002-12-27 12:01:16 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="valueOf" sig="([C)Ljava.lang.String;" modifiers="public static">
|
2003-04-14 13:41:58 +04:00
|
|
|
<redirect class="java.lang.StringHelper" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="valueOf" sig="([CII)Ljava.lang.String;" modifiers="public static">
|
2003-04-14 13:41:58 +04:00
|
|
|
<redirect class="java.lang.StringHelper" />
|
2003-02-27 19:41:47 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="valueOf" sig="(Ljava.lang.Object;)Ljava.lang.String;" modifiers="public static">
|
2003-04-14 13:41:58 +04:00
|
|
|
<redirect class="java.lang.StringHelper" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="substring" sig="(I)Ljava.lang.String;" modifiers="public">
|
2002-12-18 19:00:25 +03:00
|
|
|
<redirect name="Substring" />
|
|
|
|
</method>
|
|
|
|
<method name="length" sig="()I" modifiers="public">
|
|
|
|
<redirect name="get_Length" />
|
|
|
|
</method>
|
|
|
|
<method name="charAt" sig="(I)C" modifiers="public">
|
2004-04-23 18:21:43 +04:00
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Lcli.System.String;I)C" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="substring" sig="(II)Ljava.lang.String;" modifiers="public">
|
2004-04-23 18:21:43 +04:00
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Lcli.System.String;II)Ljava.lang.String;" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
|
|
|
<method name="indexOf" sig="(I)I" modifiers="public">
|
|
|
|
<redirect name="IndexOf" sig="(C)I" />
|
|
|
|
</method>
|
|
|
|
<method name="indexOf" sig="(II)I" modifiers="public">
|
2004-04-23 18:21:43 +04:00
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Lcli.System.String;CI)I" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="indexOf" sig="(Ljava.lang.String;)I" modifiers="public">
|
2002-12-18 19:00:25 +03:00
|
|
|
<redirect name="IndexOf" />
|
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="indexOf" sig="(Ljava.lang.String;I)I" modifiers="public">
|
2004-04-23 18:21:43 +04:00
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Lcli.System.String;Ljava.lang.String;I)I" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
|
|
|
<method name="lastIndexOf" sig="(I)I" modifiers="public">
|
|
|
|
<redirect name="LastIndexOf" sig="(C)I" />
|
|
|
|
</method>
|
|
|
|
<method name="lastIndexOf" sig="(II)I" modifiers="public">
|
2004-04-23 18:21:43 +04:00
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Lcli.System.String;CI)I" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="lastIndexOf" sig="(Ljava.lang.String;)I" modifiers="public">
|
2004-04-23 18:21:43 +04:00
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Lcli.System.String;Ljava.lang.String;)I" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="lastIndexOf" sig="(Ljava.lang.String;I)I" modifiers="public">
|
2004-04-23 18:21:43 +04:00
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Lcli.System.String;Ljava.lang.String;I)I" />
|
2003-01-02 16:46:16 +03:00
|
|
|
</method>
|
2002-12-18 19:00:25 +03:00
|
|
|
<method name="toCharArray" sig="()[C" modifiers="public">
|
|
|
|
<redirect name="ToCharArray" />
|
|
|
|
</method>
|
|
|
|
<method name="getChars" sig="(II[CI)V" modifiers="public">
|
2004-04-23 18:21:43 +04:00
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Lcli.System.String;II[CI)V" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="startsWith" sig="(Ljava.lang.String;)Z" modifiers="public">
|
2002-12-18 19:00:25 +03:00
|
|
|
<redirect name="StartsWith" />
|
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="startsWith" sig="(Ljava.lang.String;I)Z" modifiers="public">
|
2004-04-23 18:21:43 +04:00
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Lcli.System.String;Ljava.lang.String;I)Z" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="endsWith" sig="(Ljava.lang.String;)Z" modifiers="public">
|
2002-12-18 19:00:25 +03:00
|
|
|
<redirect name="EndsWith" />
|
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="toUpperCase" sig="()Ljava.lang.String;" modifiers="public">
|
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Ljava.lang.String;)Ljava.lang.String;" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="toUpperCase" sig="(Ljava.util.Locale;)Ljava.lang.String;" modifiers="public">
|
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Ljava.lang.String;Ljava.util.Locale;)Ljava.lang.String;" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="toLowerCase" sig="()Ljava.lang.String;" modifiers="public">
|
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Ljava.lang.String;)Ljava.lang.String;" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="toLowerCase" sig="(Ljava.util.Locale;)Ljava.lang.String;" modifiers="public">
|
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Ljava.lang.String;Ljava.util.Locale;)Ljava.lang.String;" />
|
2002-12-29 19:27:00 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="compareToIgnoreCase" sig="(Ljava.lang.String;)I" modifiers="public">
|
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Ljava.lang.String;Ljava.lang.String;)I" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="equalsIgnoreCase" sig="(Ljava.lang.String;)Z" modifiers="public">
|
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Ljava.lang.String;Ljava.lang.String;)Z" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="intern" sig="()Ljava.lang.String;" modifiers="public">
|
|
|
|
<redirect type="static" name="Intern" sig="(Ljava.lang.String;)Ljava.lang.String;" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="compareTo" sig="(Ljava.lang.String;)I" modifiers="public">
|
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Ljava.lang.String;Ljava.lang.String;)I" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2004-03-16 20:10:09 +03:00
|
|
|
<method name="compareTo" sig="(Ljava.lang.Object;)I" modifiers="public">
|
|
|
|
<redirect name="CompareTo" />
|
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="replace" sig="(CC)Ljava.lang.String;" modifiers="public">
|
2002-12-18 19:00:25 +03:00
|
|
|
<redirect name="Replace" />
|
|
|
|
</method>
|
|
|
|
<method name="getBytes" sig="()[B" modifiers="public">
|
2003-05-30 16:08:59 +04:00
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Ljava.lang.String;)[B" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="getBytes" sig="(Ljava.lang.String;)[B" modifiers="public">
|
2003-11-17 15:01:50 +03:00
|
|
|
<throws class="java.io.UnsupportedEncodingException" />
|
2003-05-30 16:08:59 +04:00
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Ljava.lang.String;Ljava.lang.String;)[B" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="subSequence" sig="(II)Ljava.lang.CharSequence;" modifiers="public">
|
2004-04-23 18:21:43 +04:00
|
|
|
<redirect class="java.lang.StringHelper" type="static" name="substring" sig="(Lcli.System.String;II)Ljava.lang.String;" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="trim" sig="()Ljava.lang.String;" modifiers="public">
|
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Ljava.lang.String;)Ljava.lang.String;" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="regionMatches" sig="(ZILjava.lang.String;II)Z" modifiers="public">
|
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Ljava.lang.String;ZILjava.lang.String;II)Z" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="regionMatches" sig="(ILjava.lang.String;II)Z" modifiers="public">
|
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Ljava.lang.String;ILjava.lang.String;II)Z" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
|
|
|
<method name="getBytes" sig="(II[BI)V" modifiers="public">
|
2003-05-30 16:08:59 +04:00
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Ljava.lang.String;II[BI)V" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="concat" sig="(Ljava.lang.String;)Ljava.lang.String;" modifiers="public">
|
2003-08-05 18:07:22 +04:00
|
|
|
<redirect class="java.lang.StringHelper" type="static" sig="(Ljava.lang.String;Ljava.lang.String;)Ljava.lang.String;" />
|
2003-02-27 19:41:47 +03:00
|
|
|
</method>
|
2004-03-16 20:10:09 +03:00
|
|
|
<method name="contentEquals" sig="(Ljava.lang.StringBuffer;)Z" modifiers="public">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<ldarg_1 />
|
|
|
|
<callvirt class="java.lang.StringBuffer" name="toString" sig="()Ljava.lang.String;" />
|
|
|
|
<callvirt type="System.String, mscorlib" name="Equals" sig="(Ljava.lang.String;)Z" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="matches" sig="(Ljava.lang.String;)Z" modifiers="public">
|
|
|
|
<body>
|
|
|
|
<ldarg_1 />
|
|
|
|
<ldarg_0 />
|
|
|
|
<call class="java.util.regex.Pattern" name="matches" sig="(Ljava.lang.String;Ljava.lang.CharSequence;)Z" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="replaceAll" sig="(Ljava.lang.String;Ljava.lang.String;)Ljava.lang.String;" modifiers="public">
|
|
|
|
<body>
|
|
|
|
<ldarg_1 />
|
|
|
|
<call class="java.util.regex.Pattern" name="compile" sig="(Ljava.lang.String;)Ljava.util.regex.Pattern;" />
|
|
|
|
<ldarg_0 />
|
|
|
|
<callvirt class="java.util.regex.Pattern" name="matcher" sig="(Ljava.lang.CharSequence;)Ljava.util.regex.Matcher;" />
|
|
|
|
<ldarg_2 />
|
|
|
|
<callvirt class="java.util.regex.Matcher" name="replaceAll" sig="(Ljava.lang.String;)Ljava.lang.String;" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="replaceFirst" sig="(Ljava.lang.String;Ljava.lang.String;)Ljava.lang.String;" modifiers="public">
|
|
|
|
<body>
|
|
|
|
<ldarg_1 />
|
|
|
|
<call class="java.util.regex.Pattern" name="compile" sig="(Ljava.lang.String;)Ljava.util.regex.Pattern;" />
|
|
|
|
<ldarg_0 />
|
|
|
|
<callvirt class="java.util.regex.Pattern" name="matcher" sig="(Ljava.lang.CharSequence;)Ljava.util.regex.Matcher;" />
|
|
|
|
<ldarg_2 />
|
|
|
|
<callvirt class="java.util.regex.Matcher" name="replaceFirst" sig="(Ljava.lang.String;)Ljava.lang.String;" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="split" sig="(Ljava.lang.String;)[Ljava.lang.String;" modifiers="public">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<ldarg_1 />
|
|
|
|
<ldc_i4_0 />
|
|
|
|
<callvirt class="java.lang.String" name="split" sig="(Ljava.lang.String;I)[Ljava.lang.String;" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="split" sig="(Ljava.lang.String;I)[Ljava.lang.String;" modifiers="public">
|
|
|
|
<body>
|
|
|
|
<ldarg_1 />
|
|
|
|
<call class="java.util.regex.Pattern" name="compile" sig="(Ljava.lang.String;)Ljava.util.regex.Pattern;" />
|
|
|
|
<ldarg_0 />
|
|
|
|
<ldarg_2 />
|
|
|
|
<callvirt class="java.util.regex.Pattern" name="split" sig="(Ljava.lang.CharSequence;I)[Ljava.lang.String;" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="copyValueOf" sig="([C)Ljava.lang.String;" modifiers="public static">
|
2004-03-08 18:18:47 +03:00
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
2003-08-21 14:06:34 +04:00
|
|
|
<newobj type="System.String, mscorlib" name=".ctor" sig="([C)V" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<ret />
|
|
|
|
</body>
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="copyValueOf" sig="([CII)Ljava.lang.String;" modifiers="public static">
|
2004-03-08 18:18:47 +03:00
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<ldarg_1 />
|
|
|
|
<ldarg_2 />
|
2003-08-21 14:06:34 +04:00
|
|
|
<newobj type="System.String, mscorlib" name=".ctor" sig="([CII)V" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<ret />
|
|
|
|
</body>
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2004-03-08 18:18:47 +03:00
|
|
|
<field name="CASE_INSENSITIVE_ORDER" sig="Ljava.util.Comparator;" modifiers="public static final" />
|
2002-12-18 19:00:25 +03:00
|
|
|
<!-- NOTE we're redirecting fields to static methods here!
|
|
|
|
NOTE only reading fields can be redirected
|
|
|
|
-->
|
|
|
|
<field name="count" sig="I" modifiers="">
|
2004-04-23 18:21:43 +04:00
|
|
|
<redirect class="java.lang.StringHelper" type="static" name="GetCountField" sig="(Lcli.System.String;)I" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</field>
|
|
|
|
<!-- Making a new char array instead of directly accessing the contents of the string, probably isn't
|
|
|
|
as efficient as the coder of this construct wished for, but hey ;-) At least it works...
|
|
|
|
-->
|
2003-05-30 16:08:59 +04:00
|
|
|
<method name="zeroBasedStringValue" sig="(Ljava.lang.String;)[C" modifiers="static">
|
2004-03-08 18:18:47 +03:00
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<call type="System.String, mscorlib" name="ToCharArray" sig="()[C" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2004-03-08 18:18:47 +03:00
|
|
|
<!-- NOTE value and offset aren't used anymore in Classpath's StringBuffer, so we should drop them -->
|
2002-12-18 19:00:25 +03:00
|
|
|
<field name="value" sig="[C" modifiers="">
|
2004-04-23 18:21:43 +04:00
|
|
|
<redirect class="java.lang.StringHelper" type="static" name="GetValueField" sig="(Lcli.System.String;)[C" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</field>
|
|
|
|
<field name="offset" sig="I" modifiers="">
|
2004-04-23 18:21:43 +04:00
|
|
|
<redirect class="java.lang.StringHelper" type="static" name="GetOffsetField" sig="(Lcli.System.String;)I" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</field>
|
2004-03-08 18:18:47 +03:00
|
|
|
<!-- TODO mark this method as BeforeFieldInit (and benchmark to see if that is faster) -->
|
|
|
|
<clinit>
|
|
|
|
<body>
|
|
|
|
<newobj class="java.lang.String$CaseInsensitiveComparator" name="<init>" sig="()V" />
|
|
|
|
<stsfld class="java.lang.String" name="CASE_INSENSITIVE_ORDER" sig="Ljava.util.Comparator;" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</clinit>
|
2002-12-18 19:00:25 +03:00
|
|
|
</class>
|
2004-04-23 18:21:43 +04:00
|
|
|
<class name="java.lang.Throwable" shadows="System.Exception, mscorlib" modifiers="public">
|
2003-07-31 16:49:29 +04:00
|
|
|
<implements class="java.io.Serializable" />
|
2003-11-17 15:01:50 +03:00
|
|
|
<field name="serialVersionUID" sig="J" modifiers="private static final" constant="-3042686055658047285" />
|
2002-12-18 19:00:25 +03:00
|
|
|
<constructor sig="()V" modifiers="public">
|
2004-03-08 18:18:47 +03:00
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
2003-12-20 01:19:18 +03:00
|
|
|
<call class="java.lang.ExceptionHelper" name="get_NullString" sig="()Ljava.lang.String;" />
|
2004-01-11 16:14:42 +03:00
|
|
|
<call type="System.Exception, mscorlib" name=".ctor" sig="(Ljava.lang.String;)V" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<ret />
|
|
|
|
</body>
|
2002-12-18 19:00:25 +03:00
|
|
|
</constructor>
|
2003-05-30 16:08:59 +04:00
|
|
|
<constructor sig="(Ljava.lang.String;)V" modifiers="public">
|
2004-03-08 18:18:47 +03:00
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<ldarg_1 />
|
2003-12-20 01:19:18 +03:00
|
|
|
<call class="java.lang.ExceptionHelper" name="FilterMessage" sig="(Ljava.lang.String;)Ljava.lang.String;" />
|
2004-01-11 16:14:42 +03:00
|
|
|
<call type="System.Exception, mscorlib" name=".ctor" sig="(Ljava.lang.String;)V" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<ret />
|
|
|
|
</body>
|
2002-12-18 19:00:25 +03:00
|
|
|
</constructor>
|
2003-05-30 16:08:59 +04:00
|
|
|
<constructor sig="(Ljava.lang.String;Ljava.lang.Throwable;)V" modifiers="public">
|
2004-03-08 18:18:47 +03:00
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<ldarg_1 />
|
2003-12-20 01:19:18 +03:00
|
|
|
<call class="java.lang.ExceptionHelper" name="FilterMessage" sig="(Ljava.lang.String;)Ljava.lang.String;" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<ldarg_2 />
|
2004-01-11 16:14:42 +03:00
|
|
|
<call type="System.Exception, mscorlib" name=".ctor" sig="(Ljava.lang.String;Ljava.lang.Throwable;)V" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<ret />
|
|
|
|
</body>
|
2002-12-18 19:00:25 +03:00
|
|
|
</constructor>
|
2003-05-30 16:08:59 +04:00
|
|
|
<constructor sig="(Ljava.lang.Throwable;)V" modifiers="public">
|
2004-03-08 18:18:47 +03:00
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<ldarg_1 />
|
2003-12-20 01:19:18 +03:00
|
|
|
<call class="java.lang.ExceptionHelper" name="GetMessageFromCause" sig="(Ljava.lang.Throwable;)Ljava.lang.String;" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<ldarg_1 />
|
2004-01-11 16:14:42 +03:00
|
|
|
<call type="System.Exception, mscorlib" name=".ctor" sig="(Ljava.lang.String;Ljava.lang.Throwable;)V" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<ret />
|
|
|
|
</body>
|
2002-12-18 19:00:25 +03:00
|
|
|
</constructor>
|
|
|
|
<method type="virtual" name="printStackTrace" sig="()V" modifiers="public">
|
2003-12-20 01:19:18 +03:00
|
|
|
<redirect class="java.lang.ExceptionHelper" sig="(Ljava.lang.Throwable;)V" type="static" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method type="virtual" name="printStackTrace" sig="(Ljava.io.PrintStream;)V" modifiers="public">
|
2003-12-20 01:19:18 +03:00
|
|
|
<redirect class="java.lang.ExceptionHelper" sig="(Ljava.lang.Throwable;Ljava.io.PrintStream;)V" type="static" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method type="virtual" name="printStackTrace" sig="(Ljava.io.PrintWriter;)V" modifiers="public">
|
2003-12-20 01:19:18 +03:00
|
|
|
<redirect class="java.lang.ExceptionHelper" sig="(Ljava.lang.Throwable;Ljava.io.PrintWriter;)V" type="static" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method type="virtual" name="getMessage" sig="()Ljava.lang.String;" modifiers="public">
|
2003-12-20 01:19:18 +03:00
|
|
|
<redirect class="java.lang.ExceptionHelper" sig="(Ljava.lang.Throwable;)Ljava.lang.String;" type="static" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method type="virtual" name="getLocalizedMessage" sig="()Ljava.lang.String;" modifiers="public">
|
2003-12-20 01:19:18 +03:00
|
|
|
<redirect class="java.lang.ExceptionHelper" sig="(Ljava.lang.Throwable;)Ljava.lang.String;" type="static" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method type="virtual" name="fillInStackTrace" sig="()Ljava.lang.Throwable;" modifiers="public">
|
2003-12-20 01:19:18 +03:00
|
|
|
<redirect class="java.lang.ExceptionHelper" sig="(Ljava.lang.Throwable;)Ljava.lang.Throwable;" type="static" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method type="virtual" name="initCause" sig="(Ljava.lang.Throwable;)Ljava.lang.Throwable;" modifiers="public">
|
2003-12-20 01:19:18 +03:00
|
|
|
<redirect class="java.lang.ExceptionHelper" sig="(Ljava.lang.Throwable;Ljava.lang.Throwable;)Ljava.lang.Throwable;" type="static" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method type="virtual" name="getCause" sig="()Ljava.lang.Throwable;" modifiers="public">
|
2003-12-20 01:19:18 +03:00
|
|
|
<redirect class="java.lang.ExceptionHelper" sig="(Ljava.lang.Throwable;)Ljava.lang.Throwable;" type="static" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method type="virtual" name="getStackTrace" sig="()[Ljava.lang.StackTraceElement;" modifiers="public">
|
2003-12-20 01:19:18 +03:00
|
|
|
<redirect class="java.lang.ExceptionHelper" sig="(Ljava.lang.Throwable;)[Ljava.lang.StackTraceElement;" type="static" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method type="virtual" name="setStackTrace" sig="([Ljava.lang.StackTraceElement;)V" modifiers="public">
|
2003-12-20 01:19:18 +03:00
|
|
|
<redirect class="java.lang.ExceptionHelper" sig="(Ljava.lang.Throwable;[Ljava.lang.StackTraceElement;)V" type="static" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
2003-05-30 16:08:59 +04:00
|
|
|
<method type="virtual" name="toString" sig="()Ljava.lang.String;" modifiers="public">
|
2003-12-20 01:19:18 +03:00
|
|
|
<redirect class="java.lang.ExceptionHelper" sig="(Ljava.lang.Throwable;)Ljava.lang.String;" type="static" />
|
2002-12-18 19:00:25 +03:00
|
|
|
</method>
|
|
|
|
</class>
|
2004-04-23 18:21:43 +04:00
|
|
|
<class name="java.lang.Comparable" shadows="System.IComparable, mscorlib" modifiers="public abstract interface">
|
2003-10-17 12:08:31 +04:00
|
|
|
<method name="compareTo" sig="(Ljava.lang.Object;)I" modifiers="public abstract">
|
2002-12-18 19:00:25 +03:00
|
|
|
<override name="CompareTo" />
|
|
|
|
</method>
|
|
|
|
</class>
|
2004-04-23 18:21:43 +04:00
|
|
|
<class name="gnu.classpath.RawData" shadows="System.IntPtr, mscorlib" scope="private">
|
|
|
|
<!-- TODO custom boxing isn't support for non-private remapped types, but since this is the only
|
|
|
|
type that has a custom boxing rule, this isn't yet an issue -->
|
2003-11-17 15:01:50 +03:00
|
|
|
<box>
|
|
|
|
<!-- We special case boxing, to "box" IntPtr.Zero as null -->
|
|
|
|
<dup />
|
|
|
|
<brfalse name="null" />
|
2004-01-11 16:14:42 +03:00
|
|
|
<box type="System.IntPtr, mscorlib" />
|
2003-11-17 15:01:50 +03:00
|
|
|
<br name="end" />
|
|
|
|
<label name="null" />
|
|
|
|
<pop />
|
|
|
|
<ldnull />
|
|
|
|
<label name="end" />
|
|
|
|
</box>
|
|
|
|
</class>
|
2004-04-23 18:21:43 +04:00
|
|
|
<!-- This is where the "native" helper methods start -->
|
2003-08-08 16:37:14 +04:00
|
|
|
<class name="ikvm.lang.CIL">
|
2004-06-14 14:36:38 +04:00
|
|
|
<method name="unbox_byte" sig="(Ljava.lang.Object;)B">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<unbox type="System.SByte, mscorlib" />
|
|
|
|
<ldind_i1 />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="unbox_boolean" sig="(Ljava.lang.Object;)Z">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<unbox type="System.Boolean, mscorlib" />
|
|
|
|
<ldind_i1 />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="unbox_short" sig="(Ljava.lang.Object;)S">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<unbox type="System.Int16, mscorlib" />
|
|
|
|
<ldind_i2 />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="unbox_char" sig="(Ljava.lang.Object;)C">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<unbox type="System.Char, mscorlib" />
|
|
|
|
<ldind_i2 />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
2003-08-08 16:37:14 +04:00
|
|
|
<method name="unbox_int" sig="(Ljava.lang.Object;)I">
|
2004-03-08 18:18:47 +03:00
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<unbox type="System.Int32, mscorlib" />
|
|
|
|
<ldind_i4 />
|
|
|
|
<ret />
|
|
|
|
</body>
|
2003-08-08 16:37:14 +04:00
|
|
|
</method>
|
2004-06-14 14:36:38 +04:00
|
|
|
<method name="unbox_float" sig="(Ljava.lang.Object;)F">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<unbox type="System.Single, mscorlib" />
|
|
|
|
<ldind_r4 />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="unbox_long" sig="(Ljava.lang.Object;)J">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<unbox type="System.Int64, mscorlib" />
|
|
|
|
<ldind_i8 />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="unbox_double" sig="(Ljava.lang.Object;)D">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<unbox type="System.Double, mscorlib" />
|
|
|
|
<ldind_r8 />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="box_byte" sig="(B)Ljava.lang.Object;">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<box type="System.SByte, mscorlib" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="box_boolean" sig="(Z)Ljava.lang.Object;">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<box type="System.Boolean, mscorlib" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="box_short" sig="(S)Ljava.lang.Object;">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<box type="System.Int16, mscorlib" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="box_char" sig="(C)Ljava.lang.Object;">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<box type="System.Char, mscorlib" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="box_int" sig="(I)Ljava.lang.Object;">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<box type="System.Int32, mscorlib" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="box_float" sig="(F)Ljava.lang.Object;">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<box type="System.Single, mscorlib" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="box_long" sig="(J)Ljava.lang.Object;">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<box type="System.Int64, mscorlib" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="box_double" sig="(D)Ljava.lang.Object;">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<box type="System.Double, mscorlib" />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="box_ubyte" sig="(B)Lcli.System.Byte;">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="box_ushort" sig="(S)Lcli.System.UInt16;">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="box_uint" sig="(I)Lcli.System.UInt32;">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="box_ulong" sig="(J)Lcli.System.UInt64;">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="unbox_ubyte" sig="(Lcli.System.Byte;)B">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="unbox_ushort" sig="(Lcli.System.UInt16;)S">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="unbox_uint" sig="(Lcli.System.UInt32;)I">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
|
|
|
<method name="unbox_ulong" sig="(Lcli.System.UInt64;)J">
|
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<ret />
|
|
|
|
</body>
|
|
|
|
</method>
|
2003-08-08 16:37:14 +04:00
|
|
|
</class>
|
2003-08-21 14:06:34 +04:00
|
|
|
<class name="ikvm.lang.ByteArrayHack">
|
|
|
|
<method name="cast" sig="([B)[Lcli.System.Byte;">
|
2004-03-08 18:18:47 +03:00
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<ret />
|
|
|
|
</body>
|
2003-08-21 14:06:34 +04:00
|
|
|
</method>
|
|
|
|
<method name="cast" sig="([Lcli.System.Byte;)[B">
|
2004-03-08 18:18:47 +03:00
|
|
|
<body>
|
|
|
|
<ldarg_0 />
|
|
|
|
<ret />
|
|
|
|
</body>
|
2003-08-21 14:06:34 +04:00
|
|
|
</method>
|
|
|
|
</class>
|
2004-04-23 18:21:43 +04:00
|
|
|
</assembly>
|
2003-12-20 01:19:18 +03:00
|
|
|
<exceptionMappings>
|
|
|
|
<exception src="System.NullReferenceException, mscorlib" dst="java.lang.NullPointerException" />
|
|
|
|
<!-- many of the String and Object methods throw ArgumentNullException where Java throws an NPE -->
|
|
|
|
<exception src="System.ArgumentNullException, mscorlib" dst="java.lang.NullPointerException" />
|
|
|
|
<exception src="System.IndexOutOfRangeException, mscorlib" dst="java.lang.ArrayIndexOutOfBoundsException" />
|
|
|
|
<!-- HACK for String methods, we remap ArgumentOutOfRangeException to StringIndexOutOfBoundsException -->
|
|
|
|
<exception src="System.ArgumentOutOfRangeException, mscorlib" dst="java.lang.StringIndexOutOfBoundsException" />
|
|
|
|
<exception src="System.InvalidCastException, mscorlib" dst="java.lang.ClassCastException" />
|
|
|
|
<!-- NOTE we "map" to java.lang.Error, because that is the base class of all possible mappings -->
|
|
|
|
<exception src="System.TypeInitializationException, mscorlib" dst="java.lang.Error">
|
|
|
|
<code>
|
|
|
|
<call type="System.Exception, mscorlib" name="get_InnerException" sig="()Ljava.lang.Throwable;" />
|
|
|
|
<call class="java.lang.ExceptionHelper" name="MapExceptionFast" sig="(Ljava.lang.Throwable;)Ljava.lang.Throwable;" />
|
|
|
|
<dup />
|
|
|
|
<isinst class="java.lang.Error" />
|
|
|
|
<brtrue name="end" />
|
|
|
|
<newobj class="java.lang.ExceptionInInitializerError" name="<init>" sig="(Ljava.lang.Throwable;)V" />
|
|
|
|
<label name="end" />
|
|
|
|
</code>
|
|
|
|
</exception>
|
|
|
|
<exception src="System.Threading.SynchronizationLockException, mscorlib" dst="java.lang.IllegalMonitorStateException" />
|
|
|
|
<exception src="System.Threading.ThreadInterruptedException, mscorlib" dst="java.lang.InterruptedException" />
|
|
|
|
<exception src="System.OutOfMemoryException, mscorlib" dst="java.lang.OutOfMemoryError" />
|
|
|
|
<exception src="System.DivideByZeroException, mscorlib" dst="java.lang.ArithmeticException">
|
|
|
|
<code>
|
|
|
|
<pop />
|
|
|
|
<ldstr value="/ by zero" />
|
|
|
|
<newobj class="java.lang.ArithmeticException" name="<init>" sig="(Ljava.lang.String;)V" />
|
|
|
|
</code>
|
|
|
|
</exception>
|
|
|
|
<exception src="System.ArrayTypeMismatchException, mscorlib" dst="java.lang.ArrayStoreException" />
|
|
|
|
<exception src="System.StackOverflowException, mscorlib" dst="java.lang.StackOverflowError" />
|
|
|
|
<exception src="System.Security.VerificationException, mscorlib" dst="java.lang.VerifyError" />
|
|
|
|
<exception src="System.Threading.ThreadAbortException, mscorlib" dst="java.lang.ThreadDeath">
|
|
|
|
<code>
|
|
|
|
<castclass type="System.Threading.ThreadAbortException, mscorlib" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<call type="System.Threading.ThreadAbortException, mscorlib" name="get_ExceptionState" sig="()Ljava.lang.Object;" />
|
2003-12-20 01:19:18 +03:00
|
|
|
<dup />
|
2004-03-08 18:18:47 +03:00
|
|
|
<isinst class="java.lang.ThreadDeath" />
|
2003-12-20 01:19:18 +03:00
|
|
|
<brtrue name="end" />
|
|
|
|
<pop />
|
|
|
|
<newobj class="java.lang.ThreadDeath" name="<init>" sig="()V" />
|
|
|
|
<label name="end" />
|
2004-03-08 18:18:47 +03:00
|
|
|
<!-- NOTE we do this last because ResetAbort clears the ExceptionState of the ThreadAbortException (why?) -->
|
|
|
|
<!-- TODO we should put an exception handler around the ResetAbort call, because it will throw a ThreadStateException
|
|
|
|
if no Abort is pending (someone could have thrown the exception manually, or we could have called on a
|
|
|
|
previous handler that turned out not to be match for this exception type) -->
|
|
|
|
<castclass class="java.lang.ThreadDeath" />
|
2004-01-11 16:14:42 +03:00
|
|
|
<call type="System.Threading.Thread, mscorlib" name="ResetAbort" sig="()V" />
|
2003-12-20 01:19:18 +03:00
|
|
|
</code>
|
|
|
|
</exception>
|
|
|
|
<!-- TODO make sure the originating method was from an IKVM.NET generated assembly, because if it was
|
|
|
|
generated by non-Java code, this remapping is obviously bogus. -->
|
|
|
|
<exception src="System.OverflowException, mscorlib" dst="java.lang.NegativeArraySizeException" />
|
|
|
|
</exceptionMappings>
|
2003-01-02 16:46:16 +03:00
|
|
|
</root>
|