public class AssumeNode extends Node
| Modifier and Type | Class and Description |
|---|---|
static class |
AssumeNode.Kind
The different kinds of assume node.
|
EXCEPTION_REG, FIRST_ORDINARY_REG, NO_VALUE, RETURN_REG| Modifier and Type | Method and Description |
|---|---|
boolean |
canThrowExceptions()
Returns true if this node may throw exceptions.
|
void |
check(BasicBlock b)
Perform a consistency check of this node.
|
AbstractNode |
getAccessNode()
Returns the node where the property access occurred.
|
int |
getBaseRegister()
Returns the base register, or
AbstractNode.NO_VALUE if not applicable. |
AssumeNode.Kind |
getKind()
Returns the assume node kind.
|
int |
getPropertyRegister()
Returns the property register, or
AbstractNode.NO_VALUE if not applicable. |
String |
getPropertyString()
Returns the property string, or null if not fixed.
|
String |
getVariableName()
Returns the source variable name.
|
boolean |
isPropertyFixed()
Returns true if the property is a fixed string.
|
static AssumeNode |
makePropertyNonNullUndef(AbstractNode access_node)
Constructs a new assume node for "property value is not null/undefined" with variable property.
|
static AssumeNode |
makeVariableNonNullUndef(String varname,
SourceLocation location)
Constructs a new assume node for "variable value is not null/undefined".
|
void |
setBaseRegister(int base_reg)
Sets the base register.
|
void |
setPropertyRegister(int property_reg)
Sets the property register.
|
String |
toString()
Returns a string description of this node.
|
<ArgType> void |
visitBy(NodeVisitor<ArgType> v,
ArgType a)
Visits this node with the given visitor.
|
getBlock, getDuplicateOf, getIndex, getSourceLocation, isArtificial, isDead, isRegistersDone, setArtificial, setBlock, setDead, setDuplicateOf, setIndex, setRegistersDonepublic boolean canThrowExceptions()
AbstractNodecanThrowExceptions in class AbstractNodepublic void check(BasicBlock b)
AbstractNodecheck in class AbstractNodeb - basic block containing this nodepublic AbstractNode getAccessNode()
public int getBaseRegister()
AbstractNode.NO_VALUE if not applicable.public AssumeNode.Kind getKind()
public int getPropertyRegister()
AbstractNode.NO_VALUE if not applicable.public String getPropertyString()
public String getVariableName()
public boolean isPropertyFixed()
public static AssumeNode makePropertyNonNullUndef(AbstractNode access_node)
access_node - The access node.public static AssumeNode makeVariableNonNullUndef(String varname, SourceLocation location)
varname - The name of the variable.location - The source location for the variable.public void setBaseRegister(int base_reg)
public void setPropertyRegister(int property_reg)
public String toString()
AbstractNodetoString in class AbstractNodepublic <ArgType> void visitBy(NodeVisitor<ArgType> v, ArgType a)
NodeCopyright © 2012 Aarhus University