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
StringConversionNode
does 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. AStringConversionNode
should 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.boolean
equals(@Nullable java.lang.Object obj)
Node
getOperand()
java.util.Collection<Node>
getOperands()
com.sun.source.tree.Tree
getTree()
Returns theTree
in the abstract syntax tree, ornull
if no corresponding tree exists.int
hashCode()
java.lang.String
toString()
-
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:Node
Returns theTree
in the abstract syntax tree, ornull
if 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:Node
Accept method of the visitor pattern.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public boolean equals(@Nullable java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
getOperands
@SideEffectFree public java.util.Collection<Node> getOperands()
Description copied from class:Node
- Specified by:
getOperands
in classNode
- Returns:
- a collection containing all of the operand
Node
s of thisNode
-
-