зеркало из https://github.com/mono/ikvm-fork.git
Special case reflective invocation of MethodHandle.invoke[Exact].
This commit is contained in:
Родитель
2a092d7049
Коммит
6486a0cf29
|
@ -2764,6 +2764,46 @@
|
|||
<class name="java.lang.StackTraceElement">
|
||||
<attribute type="System.SerializableAttribute" sig="()V" />
|
||||
</class>
|
||||
<class name="java.lang.invoke.MethodHandle">
|
||||
<method name="invoke" sig="([Ljava.lang.Object;)Ljava.lang.Object;">
|
||||
<attribute type="IKVM.Attributes.HideFromJavaAttribute" sig="()V" />
|
||||
</method>
|
||||
<method name="invokeExact" sig="([Ljava.lang.Object;)Ljava.lang.Object;">
|
||||
<attribute type="IKVM.Attributes.HideFromJavaAttribute" sig="()V" />
|
||||
</method>
|
||||
<!-- NOTE Modifiers.Final and MethodAttributes.NewSlot is recognized by AotTypeWrapper.MapModifiers() as a magic combination that generates a non-virtual method -->
|
||||
<method name="reflectionInvoke" sig="([Ljava.lang.Object;)Ljava.lang.Object;" modifiers="final" attributes="NewSlot">
|
||||
<throws class="java.lang.Throwable" />
|
||||
<attribute type="IKVM.Attributes.NameSigAttribute" sig="(Ljava.lang.String;Ljava.lang.String;)V">
|
||||
<parameter>invoke</parameter>
|
||||
<parameter>([Ljava.lang.Object;)Ljava.lang.Object;</parameter>
|
||||
</attribute>
|
||||
<attribute type="IKVM.Attributes.ModifiersAttribute" sig="(Lcli.IKVM.Attributes.Modifiers;)V">
|
||||
<parameter>Public,Final,Native</parameter>
|
||||
</attribute>
|
||||
<body>
|
||||
<ldstr value="MethodHandle.invoke cannot be invoked reflectively" />
|
||||
<newobj class="java.lang.UnsupportedOperationException" name="<init>" sig="(Ljava.lang.String;)V" />
|
||||
<throw />
|
||||
</body>
|
||||
</method>
|
||||
<!-- NOTE Modifiers.Final and MethodAttributes.NewSlot is recognized by AotTypeWrapper.MapModifiers() as a magic combination that generates a non-virtual method -->
|
||||
<method name="reflectionInvokeExact" sig="([Ljava.lang.Object;)Ljava.lang.Object;" modifiers="final" attributes="NewSlot">
|
||||
<throws class="java.lang.Throwable" />
|
||||
<attribute type="IKVM.Attributes.NameSigAttribute" sig="(Ljava.lang.String;Ljava.lang.String;)V">
|
||||
<parameter>invokeExact</parameter>
|
||||
<parameter>([Ljava.lang.Object;)Ljava.lang.Object;</parameter>
|
||||
</attribute>
|
||||
<attribute type="IKVM.Attributes.ModifiersAttribute" sig="(Lcli.IKVM.Attributes.Modifiers;)V">
|
||||
<parameter>Public,Final,Native</parameter>
|
||||
</attribute>
|
||||
<body>
|
||||
<ldstr value="MethodHandle.invokeExact cannot be invoked reflectively" />
|
||||
<newobj class="java.lang.UnsupportedOperationException" name="<init>" sig="(Ljava.lang.String;)V" />
|
||||
<throw />
|
||||
</body>
|
||||
</method>
|
||||
</class>
|
||||
<class name="java.lang.invoke.MethodHandleImpl$AllocateObject">
|
||||
<method name="allocate" sig="()Ljava.lang.Object;">
|
||||
<attribute type="System.Security.SecuritySafeCriticalAttribute" sig="()V" />
|
||||
|
|
Загрузка…
Ссылка в новой задаче