public class NativeMethodInfo extends MethodInfo
Modifier and Type | Field and Description |
---|---|
protected java.lang.reflect.Method |
mth |
protected NativePeer |
peer |
argSize, argTypes, attributes, ci, code, exceptionHandlers, genericSignature, globalId, lineNumbers, localVars, maxLocals, maxStack, modifiers, mthTable, name, nArgs, retSize, returnType, signature, thrownExceptionClassNames, uniqueName, warnedLocalInfo
annotations, attr, typeAnnotations
Constructor and Description |
---|
NativeMethodInfo(MethodInfo mi,
java.lang.reflect.Method mth,
NativePeer peer) |
Modifier and Type | Method and Description |
---|---|
Instruction |
executeNative(ThreadInfo ti) |
protected java.lang.Object[] |
getArguments(ThreadInfo ti)
Get and convert the native method parameters off the ThreadInfo stack.
|
int |
getLineNumber(Instruction pc)
Returns the line number for a given position.
|
java.lang.reflect.Method |
getMethod() |
NativePeer |
getNativePeer() |
java.lang.String |
getStackTraceSource() |
boolean |
hasEmptyBody() |
boolean |
isJPFExecutable() |
boolean |
isMJI() |
boolean |
isUnresolvedNativeMethod() |
protected boolean |
isUnsatisfiedLinkError(MJIEnv env) |
void |
replace(MethodInfo mi) |
clone, containsLineNumber, create, create, createDirectCallStackFrame, createRunStartStackFrame, dump, finishExceptionHandlerTable, finishLineNumberTable, finishLocalVarTable, finishParameterAnnotations, finishThrownExceptions, getArgumentLocalVars, getArgumentsSize, getArgumentTypeNames, getArgumentTypes, getBaseName, getClassInfo, getClassName, getCompleteName, getExceptions, getFirstInsn, getFullName, getGenericSignature, getGlobalId, getHandlerFor, getInstanceFor, getInstruction, getInstructionAt, getInstructions, getInstructionsForLine, getInstructionsForLineInterval, getJNIName, getLastInsn, getLineNumbers, getLocalVar, getLocalVar, getLocalVariableNames, getLocalVars, getLongName, getMatchingInstructions, getMaxLocals, getMaxStack, getMethodInfo, getModifiers, getName, getNumberOfArguments, getNumberOfCallerStackSlots, getNumberOfInstructions, getNumberOfLoadedMethods, getNumberOfStackArguments, getOverriddenMethodInfo, getParameterAnnotations, getParameterAnnotations, getReturnChoiceGeneratorType, getReturnSize, getReturnType, getReturnTypeCode, getReturnTypeName, getSignature, getSourceFileName, getStackTraceName, getThrownExceptionClassNames, getTypeAnnotatedLocalVars, getTypeAnnotatedLocalVars, getUniqueName, getUniqueName, hasCode, hasParameterAnnotations, hasTypeAnnotatedLocalVars, includesLine, intersectsLineNumbers, isAbstract, isAtomic, isClinit, isClinit, isCtor, isDirectCallStub, isFirewall, isHidden, isInit, isInitOrClinit, isInternalMethod, isJPFInternal, isNative, isPrivate, isProtected, isPublic, isReferenceReturnType, isStatic, isSynchronized, isSyncRelevant, isSynthetic, isThreadEntry, isVarargs, linkToClass, setCode, setException, setExceptionHandler, setExceptionHandlers, setFirewall, setGenericSignature, setLineNumber, setLineNumbers, setLineNumbers, setLocalVar, setLocalVarAnnotations, setLocalVarTable, setMaxLocals, setMaxStack, setParameterAnnotations, setParameterAnnotations, setThrownExceptions, startExceptionHandlerTable, startLineNumberTable, startLocalVarTable, startParameterAnnotations, startTrownExceptions, toString
addAnnotation, addAnnotations, addAttr, addTypeAnnotation, addTypeAnnotations, attrIterator, attrIterator, getAnnotation, getAnnotations, getAttr, getAttr, getDeclaredAnnotations, getNextAttr, getTargetTypeAnnotations, getTypeAnnotation, getTypeAnnotations, hasAnnotation, hasAnnotations, hasAttr, hasAttr, hasAttrValue, hasTypeAnnotation, hasTypeAnnotations, removeAttr, replaceAttr, setAnnotations, setAttr, setTypeAnnotations
protected java.lang.reflect.Method mth
protected NativePeer peer
public NativeMethodInfo(MethodInfo mi, java.lang.reflect.Method mth, NativePeer peer)
public void replace(MethodInfo mi)
public boolean isUnresolvedNativeMethod()
isUnresolvedNativeMethod
in class MethodInfo
public boolean isMJI()
isMJI
in class MethodInfo
public boolean hasEmptyBody()
hasEmptyBody
in class MethodInfo
public boolean isJPFExecutable()
isJPFExecutable
in class MethodInfo
public NativePeer getNativePeer()
public java.lang.reflect.Method getMethod()
public java.lang.String getStackTraceSource()
getStackTraceSource
in class MethodInfo
public int getLineNumber(Instruction pc)
MethodInfo
getLineNumber
in class MethodInfo
public Instruction executeNative(ThreadInfo ti)
protected boolean isUnsatisfiedLinkError(MJIEnv env)
protected java.lang.Object[] getArguments(ThreadInfo ti)