Package qilin.core.pag
Class VarNode
java.lang.Object
qilin.core.pag.PagNode
qilin.core.pag.ValNode
qilin.core.pag.VarNode
- All Implemented Interfaces:
Comparable<ValNode>,Numberable
- Direct Known Subclasses:
ContextVarNode,GlobalVarNode,LocalVarNode
Represents a simple variable node in the pointer assignment graph.
- Author:
- Ondrej Lhotak
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Map<SparkField,FieldRefNode> protected booleanprotected booleanprotected Object -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract VarNodebase()context()dot(SparkField field) Returns the field ref node having this node as its base, and field as its field; null if nonexistent.Returns all field ref nodes having this node as their base.getLocal()Returns the underlying variable as a real JimpleLocal, ornullif this node does not represent one (e.g. it represents aMethodParameter, a field, or a constant — seegetVariable()).abstract SootMethodReturns the underlying variable as aMethodParameter(this/return/throw/ordinary parameter), ornullif this node does not represent one — seegetVariable().Returns the underlying variable that this node represents.booleanReturns true if this node is the potential source of a interprocedural assignment edge which may be added during on-the-fly call graph updating.booleanReturns true if this node is the potential target of a interprocedural assignment edge which may be added during on-the-fly call graph updating.voidDesignates this node as the potential source of a interprocedural assignment edge which may be added during on-the-fly call graph updating.voidDesignates this node as the potential target of a interprocedural assignment edge which may be added during on-the-fly call graph updating.Methods inherited from class qilin.core.pag.ValNode
compareTo, discardP2Set, getP2SetMethods inherited from class qilin.core.pag.PagNode
equals, getNumber, getType, hashCode, parameterize, setNumberMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface qilin.util.Numberable
getNumber, setNumber
-
Field Details
-
variable
-
fields
-
interProcTarget
protected boolean interProcTarget -
interProcSource
protected boolean interProcSource
-
-
Constructor Details
-
VarNode
-
-
Method Details
-
context
-
getAllFieldRefs
Returns all field ref nodes having this node as their base. -
dot
Returns the field ref node having this node as its base, and field as its field; null if nonexistent. -
getVariable
Returns the underlying variable that this node represents. Depending on what kind of synthetic variable this node models, this can be a real JimpleLocal, aMethodParameter(this/return/throw/param-N), aFieldSignature(static field), aStringConstant/ClassConstant, or another JimpleExprused as a synthetic key (e.g. a cast expression). UsegetLocal()if you only care about the common "this is a real local" case. -
getLocal
Returns the underlying variable as a real JimpleLocal, ornullif this node does not represent one (e.g. it represents aMethodParameter, a field, or a constant — seegetVariable()). -
getMethodParameter
Returns the underlying variable as aMethodParameter(this/return/throw/ordinary parameter), ornullif this node does not represent one — seegetVariable(). -
setInterProcTarget
public void setInterProcTarget()Designates this node as the potential target of a interprocedural assignment edge which may be added during on-the-fly call graph updating. -
isInterProcTarget
public boolean isInterProcTarget()Returns true if this node is the potential target of a interprocedural assignment edge which may be added during on-the-fly call graph updating. -
setInterProcSource
public void setInterProcSource()Designates this node as the potential source of a interprocedural assignment edge which may be added during on-the-fly call graph updating. -
isInterProcSource
public boolean isInterProcSource()Returns true if this node is the potential source of a interprocedural assignment edge which may be added during on-the-fly call graph updating. -
base
-
getMethod
-