Class StringConversionNode
- java.lang.Object
-
- org.checkerframework.dataflow.cfg.node.Node
-
- org.checkerframework.dataflow.cfg.node.StringConversionNode
-
- All Implemented Interfaces:
org.plumelib.util.UniqueId
public class StringConversionNode extends Node
A node for the string conversion operation. See JLS 5.1.11 for the definition of string conversion.A
StringConversionNodedoes not correspond to any tree node in the parsed AST. It is introduced when a value of non-string type appears in a context that requires aString, such as in a string concatenation. AStringConversionNodeshould be treated as a potential call to the toString method of its operand, but does not necessarily call any method because null is converted to the string "null".Conversion of primitive types to Strings requires first boxing and then string conversion.
-
-
Constructor Summary
Constructors Constructor Description StringConversionNode(com.sun.source.tree.Tree tree, Node operand, javax.lang.model.type.TypeMirror type)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <R,P>
Raccept(NodeVisitor<R,P> visitor, P p)Accept method of the visitor pattern.booleanequals(@Nullable java.lang.Object obj)NodegetOperand()java.util.Collection<Node>getOperands()com.sun.source.tree.TreegetTree()Returns theTreein the abstract syntax tree, ornullif no corresponding tree exists.inthashCode()java.lang.StringtoString()-
Methods inherited from class org.checkerframework.dataflow.cfg.node.Node
getBlock, getInSource, getTransitiveOperands, getType, getUid, isLValue, nodeCollectionToString, setBlock, setInSource, setLValue, toStringDebug
-
-
-
-
Field Detail
-
tree
protected final com.sun.source.tree.Tree tree
-
operand
protected final Node operand
-
-
Constructor Detail
-
StringConversionNode
public StringConversionNode(com.sun.source.tree.Tree tree, Node operand, javax.lang.model.type.TypeMirror type)
-
-
Method Detail
-
getOperand
public Node getOperand()
-
getTree
public com.sun.source.tree.Tree getTree()
Description copied from class:NodeReturns theTreein the abstract syntax tree, ornullif no corresponding tree exists. For instance, this is the case for anImplicitThisNode.
-
accept
public <R,P> R accept(NodeVisitor<R,P> visitor, P p)
Description copied from class:NodeAccept method of the visitor pattern.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
equals
public boolean equals(@Nullable java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
getOperands
@SideEffectFree public java.util.Collection<Node> getOperands()
Description copied from class:Node- Specified by:
getOperandsin classNode- Returns:
- a collection containing all of the operand
Nodes of thisNode
-
-