Package qilin.core.pag
Class GlobalVarNode
java.lang.Object
qilin.core.pag.PagNode
qilin.core.pag.ValNode
qilin.core.pag.VarNode
qilin.core.pag.GlobalVarNode
- All Implemented Interfaces:
Comparable<ValNode>,Numberable
Represents a simple variable node in the pointer assignment graph that is not associated with any
particular method invocation. Unlike
LocalVarNode, whose underlying variable (see VarNode.getVariable()) can be several different kinds of synthetic key, a GlobalVarNode's
variable is always exactly one of FieldSignature (a static field), StringConstant, or ClassConstant — see PAG.makeGlobalVarNode(Object, Type). Use
getFieldSignature()/getStringConstant()/getClassConstant() instead of
casting VarNode.getVariable() yourself.- Author:
- Ondrej Lhotak
-
Field Summary
Fields inherited from class qilin.core.pag.VarNode
fields, interProcSource, interProcTarget, variable -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbase()Returns the underlying class constant, ornullif this node represents a field.Returns the underlying static field, ornullif this node represents a constant.Returns the underlying string constant, ornullif this node represents a field.parameterize(Parameterizer parameterizer, Context context) Turns this node into its context-sensitive counterpart by calling back into the matching overload ofparameterizer.toString()Methods inherited from class qilin.core.pag.VarNode
context, dot, getAllFieldRefs, getLocal, getMethodParameter, getVariable, isInterProcSource, isInterProcTarget, setInterProcSource, setInterProcTargetMethods inherited from class qilin.core.pag.ValNode
compareTo, discardP2Set, getP2SetMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface qilin.util.Numberable
getNumber, setNumber
-
Constructor Details
-
GlobalVarNode
-
-
Method Details
-
base
-
getMethod
-
getFieldSignature
Returns the underlying static field, ornullif this node represents a constant. -
getStringConstant
Returns the underlying string constant, ornullif this node represents a field. -
getClassConstant
Returns the underlying class constant, ornullif this node represents a field. -
toString
-
parameterize
Description copied from class:PagNodeTurns this node into its context-sensitive counterpart by calling back into the matching overload ofparameterizer. Only the node kinds that can actually be parameterized (LocalVarNode,FieldRefNode,AllocNode,FieldValNode,GlobalVarNode) override this; every other node kind is not meant to reach a context parameterization step, so the default fails loudly instead of silently doing nothing.- Overrides:
parameterizein classPagNode
-