Class CAstAbstractModuleLoader.DynamicMethodObject
java.lang.Object
com.ibm.wala.cast.loader.AstMethod
com.ibm.wala.cast.loader.CAstAbstractModuleLoader.DynamicMethodObject
- All Implemented Interfaces:
AstMethod.Retranslatable, IMember, IMethod, ContextItem, IClassHierarchyDweller
- Enclosing class:
CAstAbstractModuleLoader
public class CAstAbstractModuleLoader.DynamicMethodObject
extends AstMethod
implements AstMethod.Retranslatable
-
Nested Class Summary
Nested classes/interfaces inherited from class AstMethod
AstMethod.DebuggingInformation, AstMethod.LexicalInformation, AstMethod.LexicalParent, AstMethod.RetranslatableModifier and TypeClassDescriptionstatic interfacestatic interfacelexical access information for some entity scope.static classParents of this method with respect to lexical scoping, that is, methods containing state possibly referenced lexically in this methodstatic interfaceNested classes/interfaces inherited from interface ContextItem
ContextItem.Value<T>Nested classes/interfaces inherited from interface IMethod
IMethod.SourcePosition -
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionDynamicMethodObject(IClass cls, Collection<CAstQualifier> qualifiers, AbstractCFG<?, ?> cfg, SymbolTable symtab, boolean hasCatchBlock, Map<IBasicBlock<SSAInstruction>, Set<TypeReference>> caughtTypes, boolean hasMonitorOp, AstTranslator.AstLexicalInformation lexicalInfo, AstMethod.DebuggingInformation debugInfo) -
Method Summary
Modifier and TypeMethodDescriptiongetLocalVariableName(int bcIndex, int localNumber) intintgetParameterType(int i) By convention, for a non-static method, getParameterType(0) is the this pointerbooleanvoidretranslate(AstTranslator xlator) toString()Methods inherited from class AstMethod
catchTypes, cfg, cloneLexicalInfo, debugInfo, getAnnotations, getControlFlowGraph, getDeclaringClass, getDescriptor, getLineNumber, getName, getNumberOfParameters, getParameterPosition, getParameterSourcePosition, getReference, getReturnType, getSelector, getSignature, getSourcePosition, getSourcePosition, hasExceptionHandler, hasMonitorOp, isAbstract, isAnnotation, isBridge, isClinit, isEnum, isFinal, isInit, isModule, isNative, isPrivate, isProtected, isPublic, isStatic, isSynchronized, isSynthetic, isWalaSynthetic, lexicalInfo, symbolTableModifier and TypeMethodDescriptionAbstractCFG<?, ?> cfg()Get the annotations on this member, if anyControlFlowGraph<?, ?> Return the object that represents the declaring class for this member.something like: (IILjava.lang.String;SLjava.sql.Date;)Ljava.lang.Integer;intgetLineNumber(int instructionIndex) getName()intMethod getNumberOfParameters.getParameterPosition(int paramIndex) getParameterSourcePosition(int paramNum) something like: foo(Ljava/langString;)Ljava/lang/Class;something like: com.foo.bar.createLargeOrder(IILjava.lang.String;SLjava.sql.Date;)Ljava.lang.Integer;getSourcePosition(int instructionIndex) booleanbooleanbooleanIs this method abstract?booleanbooleanisBridge()Is this method a bridge method? See JLS 3rd Edition 15.12.4.5booleanisClinit()Is this method a class initializer?booleanisEnum()booleanisFinal()Is this method final?booleanisInit()Is this method an object initializer?booleanisModule()booleanisNative()Is this method native?booleanIs this method private?booleanIs this method protected?booleanisPublic()Is this method public?booleanisStatic()Is this member static?booleanIs this method synchronized?booleanIs this method synthetic, i.e., compiler-generated (this refers to the synthetic flag in java/dex bytecode)booleanIs the implementation of this method a model generated by WALA? For compiler-generated synthetic methods, refer toIMethod.isSynthetic()Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface IMethod
getNumberOfDefaultParameters
-
Constructor Details
-
DynamicMethodObject
public DynamicMethodObject(IClass cls, Collection<CAstQualifier> qualifiers, AbstractCFG<?, ?> cfg, SymbolTable symtab, boolean hasCatchBlock, Map<IBasicBlock<SSAInstruction>, Set<TypeReference>> caughtTypes, boolean hasMonitorOp, AstTranslator.AstLexicalInformation lexicalInfo, AstMethod.DebuggingInformation debugInfo)
-
-
Method Details
-
getEntity
- Specified by:
getEntityin interfaceAstMethod.Retranslatable
-
retranslate
- Specified by:
retranslatein interfaceAstMethod.Retranslatable
-
getClassHierarchy
- Specified by:
getClassHierarchyin interfaceIClassHierarchyDweller
-
toString
-
getDeclaredExceptions
- Specified by:
getDeclaredExceptionsin interfaceIMethod- Returns:
- an array of the exception types declared by the throws clause for this method, or null if there are none
-
getParents
- Specified by:
getParentsin classAstMethod
-
getLocalVariableName
- Specified by:
getLocalVariableNamein interfaceIMethod- Returns:
- the (source code) name of the local variable of a given number at the specified program counter, or null if the information is not available.
-
hasLocalVariableTable
public boolean hasLocalVariableTable()- Specified by:
hasLocalVariableTablein interfaceIMethod- Returns:
- true iff the local variable table information for this method is available
-
getMaxLocals
public int getMaxLocals() -
getMaxStackHeight
public int getMaxStackHeight() -
getParameterType
Description copied from interface:IMethodBy convention, for a non-static method, getParameterType(0) is the this pointer- Specified by:
getParameterTypein interfaceIMethod
-