Class FakeWorldClinitMethod
java.lang.Object
com.ibm.wala.classLoader.SyntheticMethod
com.ibm.wala.ipa.callgraph.impl.AbstractRootMethod
com.ibm.wala.ipa.callgraph.impl.FakeWorldClinitMethod
- All Implemented Interfaces:
IMember, IMethod, ContextItem, IClassHierarchyDweller
A synthetic method that calls all class initializers
-
Nested Class Summary
Nested classes/interfaces inherited from interface ContextItem
ContextItem.Value<T>Nested classes/interfaces inherited from interface IMethod
IMethod.SourcePosition -
Field Summary
Fields inherited from class AbstractRootMethod
cache, cha, insts, nextLocal, statementsModifier and TypeFieldDescriptionprotected final IAnalysisCacheViewfinal IClassHierarchyprotected final SSAInstructionFactoryintThe number of the next local value number available for the fake root method.final ArrayList<SSAInstruction> Fields inherited from class SyntheticMethod
declaringClass, NO_STATEMENTS, resolvedMethodModifier and TypeFieldDescriptionfinal IClassstatic final SSAInstruction[]protected final IMethod -
Constructor Summary
ConstructorsConstructorDescriptionFakeWorldClinitMethod(IClass fakeRootClass, AnalysisOptions options, IAnalysisCacheView cache) -
Method Summary
Methods inherited from class AbstractRootMethod
add1DArrayAllocation, addAllocation, addAllocationWithoutCtor, addCheckcast, addGetArrayField, addGetInstance, addGetStatic, addInvocation, addLocal, addPhi, addReturn, addSetArrayField, addSetInstance, addSetStatic, getInterpreter, getStatements, getValueNumberForByteConstant, getValueNumberForCharConstant, getValueNumberForIntConstant, makeIRModifier and TypeMethodDescriptionadd1DArrayAllocation(TypeReference T, int length) Add a New statement of the given array type and lengthAdd a New statement of the given typeAdd a New statement of the given typeintaddCheckcast(TypeReference[] types, int rv, boolean isPEI) intaddGetArrayField(TypeReference elementType, int baseObject, int indexValue) intaddGetInstance(FieldReference ref, int object) intaddInvocation(int[] params, CallSiteReference site) intaddLocal()intaddPhi(int[] values) addReturn(int vn, boolean isPrimitive) Add a return statementvoidaddSetArrayField(TypeReference elementType, int baseObject, int indexValue, int value) voidaddSetInstance(FieldReference ref, int baseObject, int value) voidaddSetStatic(FieldReference ref, int value) getStatements(SSAOptions options) intgetValueNumberForByteConstant(byte c) intgetValueNumberForCharConstant(char c) intgetValueNumberForIntConstant(int c) makeIR(Context context, SSAOptions options) Most subclasses should override this.Methods inherited from class SyntheticMethod
equals, getAnnotations, getBytecodeStream, getClassHierarchy, getDeclaredExceptions, getDeclaringClass, getDescriptor, getLineNumber, getLocalVariableName, getMaxLocals, getMaxStackHeight, getName, getNumberOfParameters, getParameterSourcePosition, getParameterType, getPoison, getPoisonLevel, getReference, getReturnType, getSelector, getSignature, getSourcePosition, getStatements, hasExceptionHandler, hashCode, hasLocalVariableTable, hasPoison, isAbstract, isAnnotation, isBridge, isClinit, isEnum, isFactoryMethod, isFinal, isInit, isModule, isNative, isPrivate, isProtected, isPublic, isStatic, isSynchronized, isSynthetic, isWalaSynthetic, makeControlFlowGraph, toStringModifier and TypeMethodDescriptionbooleanGet the annotations on this member, if anyReturn the object that represents the declaring class for this member.something like: (IILjava.lang.String;SLjava.sql.Date;)Ljava.lang.Integer;intgetLineNumber(int bcIndex) getLocalVariableName(int bcIndex, int localNumber) intintgetName()intMethod getNumberOfParameters.getParameterSourcePosition(int paramNum) getParameterType(int i) By convention, for a non-static method, getParameterType(0) is the this pointerbytesomething like: foo(Ljava/langString;)Ljava/lang/Class;something like: com.foo.bar.createLargeOrder(IILjava.lang.String;SLjava.sql.Date;)Ljava.lang.Integer;getSourcePosition(int bcIndex) booleaninthashCode()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()booleanbooleanisFinal()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()makeControlFlowGraph(SSAInstruction[] instructions) Create anInducedCFGfrom an instruction array.toString()Methods inherited from interface IMethod
getNumberOfDefaultParameters
-
Constructor Details
-
FakeWorldClinitMethod
public FakeWorldClinitMethod(IClass fakeRootClass, AnalysisOptions options, IAnalysisCacheView cache)
-