public JvmAccessModifiers GetMethodModifiers(JvmMethod method) { JvmAccessModifiers modifiers; ThrowOnFailure(_rawInterface.GetMethodModifiers(_env, (jmethodID)method, out modifiers)); return(modifiers); }
public void GetMethodName(JvmMethod method, out string name, out string signature, out string generic) { IntPtr namePtr; IntPtr signaturePtr; IntPtr genericPtr; ThrowOnFailure(_rawInterface.GetMethodName(_env, (jmethodID)method, out namePtr, out signaturePtr, out genericPtr)); try { name = null; signature = null; generic = null; unsafe { if (namePtr != IntPtr.Zero) { name = ModifiedUTF8Encoding.GetString((byte *)namePtr); } if (signaturePtr != IntPtr.Zero) { signature = ModifiedUTF8Encoding.GetString((byte *)signaturePtr); } if (genericPtr != IntPtr.Zero) { generic = ModifiedUTF8Encoding.GetString((byte *)genericPtr); } } } finally { Deallocate(namePtr); Deallocate(signaturePtr); Deallocate(genericPtr); } }
public int GetArgumentsSize(JvmMethod method) { int argumentsSize; ThrowOnFailure(_rawInterface.GetArgumentsSize(_env, (jmethodID)method, out argumentsSize)); return(argumentsSize); }
public int GetMaxLocals(JvmMethod method) { int maxLocals; ThrowOnFailure(_rawInterface.GetMaxLocals(_env, (jmethodID)method, out maxLocals)); return(maxLocals); }
public bool IsMethodNative(JvmMethod method) { byte isNative; ThrowOnFailure(_rawInterface.IsMethodNative(_env, (jmethodID)method, out isNative)); return(isNative != 0); }
public bool IsMethodSynthetic(JvmMethod method) { byte isSynthetic; ThrowOnFailure(_rawInterface.IsMethodSynthetic(_env, (jmethodID)method, out isSynthetic)); return(isSynthetic != 0); }
public bool IsMethodObsolete(JvmMethod method) { byte isObsolete; ThrowOnFailure(_rawInterface.IsMethodObsolete(_env, (jmethodID)method, out isObsolete)); return(isObsolete != 0); }
private void HandleCompiledMethodUnload(jvmtiEnvHandle env, jmethodID methodId, IntPtr codeAddress) { JvmEnvironment environment = JvmEnvironment.GetEnvironment(env); JvmMethod method = new JvmMethod(environment, methodId); foreach (var processor in _processors) { processor.HandleCompiledMethodUnload(environment, method, codeAddress); } }
private void HandleMethodExit(jvmtiEnvHandle env, JNIEnvHandle jniEnv, jthread threadHandle, jmethodID methodId, bool wasPoppedByException, jvalue returnValue) { JvmEnvironment environment = JvmEnvironment.GetEnvironment(env); JvmThreadReference thread = JvmThreadReference.FromHandle(environment, jniEnv, threadHandle, true); JvmMethod method = new JvmMethod(environment, methodId); foreach (var processor in _processors) { processor.HandleMethodExit(environment, thread, method, wasPoppedByException, returnValue); } }
private void HandleMethodEntry(jvmtiEnvHandle env, JNIEnvHandle jniEnv, jthread threadHandle, jmethodID methodId) { JvmEnvironment environment = JvmEnvironment.GetEnvironment(env); JvmThreadReference thread = JvmThreadReference.FromHandle(environment, jniEnv, threadHandle, true); JvmMethod method = new JvmMethod(environment, methodId); foreach (var processor in _processors) { processor.HandleMethodEntry(environment, thread, method); } }
private void HandleNativeMethodBind(jvmtiEnvHandle env, JNIEnvHandle jniEnv, jthread threadHandle, jmethodID methodId, IntPtr address, ref IntPtr newAddressPtr) { JvmEnvironment environment = JvmEnvironment.GetEnvironment(env); JvmThreadReference thread = JvmThreadReference.FromHandle(environment, jniEnv, threadHandle, true); JvmMethod method = new JvmMethod(environment, methodId); foreach (var processor in _processors) { IntPtr?newAddress = null; processor.HandleNativeMethodBind(environment, thread, method, address, ref newAddress); } }
public virtual void HandleCompiledMethodUnload(JvmEnvironment environment, JvmMethod method, IntPtr codeAddress) { }
public virtual void HandleFramePop(JvmEnvironment environment, JvmThreadReference thread, JvmMethod method, bool wasPoppedByException) { }
public virtual void HandleMethodEntry(JvmEnvironment environment, JvmThreadReference thread, JvmMethod method) { }
public virtual void HandleMethodExit(JvmEnvironment environment, JvmThreadReference thread, JvmMethod method, bool wasPoppedByException, jvalue returnValue) { }
public virtual void HandleNativeMethodBind(JvmEnvironment environment, JvmThreadReference thread, JvmMethod method, IntPtr address, ref IntPtr?newAddress) { }
public JvmClassReference GetMethodDeclaringClass(JvmMethod method) { throw new NotImplementedException(); }
public virtual void HandleCompiledMethodLoad(JvmEnvironment environment, JvmMethod method, int codeSize, IntPtr codeAddress, JvmAddressLocationMap[] map, IntPtr compileInfo) { }