struct MethodHandleOffsets; struct MethodHandleImplOffsets; class ReflectiveValueVisitor;
namespace mirror {
// C++ mirror of java.lang.invoke.MethodHandle class MANAGED MethodHandle : public Object { public:
MIRROR_CLASS("Ljava/lang/invoke/MethodHandle;");
// Defines the behaviour of a given method handle. The behaviour // of a handle of a given kind is identical to the dex bytecode behaviour // of the equivalent instruction. // // NOTE: These must be kept in sync with the constants defined in // java.lang.invoke.MethodHandle. enum Kind {
kInvokeVirtual = 0,
kInvokeSuper,
kInvokeDirect,
kInvokeStatic,
kInvokeInterface,
kInvokeTransform,
kInvokeVarHandle,
kInvokeVarHandleExact,
kInstanceGet,
kInstancePut,
kStaticGet,
kStaticPut,
kLastValidKind = kStaticPut,
kFirstAccessorKind = kInstanceGet,
kLastAccessorKind = kStaticPut,
kLastInvokeKind = kInvokeVarHandleExact
};
// Gets the return type for a named invoke method, or nullptr if the invoke method is not // supported. staticconstchar* GetReturnTypeDescriptor(constchar* invoke_method_name);
// Used when classes become structurally obsolete to change the MethodHandle to refer to the new // method or field. void VisitTarget(ReflectiveValueVisitor* v) REQUIRES(Locks::mutator_lock_);
friendstruct art::MethodHandleOffsets; // for verifying offset information
DISALLOW_IMPLICIT_CONSTRUCTORS(MethodHandle);
};
// C++ mirror of java.lang.invoke.MethodHandleImpl class MANAGED MethodHandleImpl : public MethodHandle { public:
MIRROR_CLASS("Ljava/lang/invoke/MethodHandleImpl;");
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.