Class ObjectCreationNode
java.lang.Object
org.checkerframework.dataflow.cfg.node.Node
org.checkerframework.dataflow.cfg.node.ObjectCreationNode
- All Implemented Interfaces:
- org.plumelib.util.UniqueId
A node for a new object creation.
 
new typeToInstantiate(arg1, arg2, ...) enclosingExpression.new typeToInstantiate(arg1, arg2, ...) enclosingExpression.new <Ts>typeToInstantiate(arg1, arg2, ...)
We use the term "typeToInstantiate" to represent what is called the "identifier" in NewClassTree and what is called "ClassOrInterfaceTypeToInstantiate" in the
 "ClassInstanceCreationExpression" in the JLS. The former term "identifier" is misleading, as this
 can be a type with type arguments. The latter term "ClassOrInterfaceTypeToInstantiate" is rather
 long and we shortened it to "typeToInstantiate".
 
Class type arguments can be accessed through the "typeToInstantiate" node. To access
 constructor type arguments one needs to use the NewClassTree.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionThe arguments of the object creation.protected final @Nullable ClassDeclarationNodeClass body for anonymous classes, otherwise null.The enclosing expression of the object creation or null.protected final NewClassTreeThe tree for the object creation.protected final NodeThe type to instantiate node of the object creation.
- 
Constructor SummaryConstructorsConstructorDescriptionObjectCreationNode(NewClassTree tree, @Nullable Node enclosingExpr, Node typeToInstantiate, List<Node> arguments, @Nullable ClassDeclarationNode classbody) Constructs aObjectCreationNode.
- 
Method SummaryModifier and TypeMethodDescription<R,P> R accept(NodeVisitor<R, P> visitor, P p) Accept method of the visitor pattern.booleangetArgument(int i) Returns the i-th explicit argument to the object creation.Returns the explicit arguments to the object creation.Returns the classbody.Deprecated.Returns the enclosing expression node, which only exists if it is an inner class instantiation.getTree()Returns theTreein the abstract syntax tree, ornullif no corresponding tree exists.Returns the typeToInstantiate node.inthashCode()toString()Methods inherited from class org.checkerframework.dataflow.cfg.node.NodegetBlock, getInSource, getTransitiveOperands, getType, getUid, isLValue, nodeCollectionToString, setBlock, setInSource, setLValue, toStringDebugMethods inherited from class java.lang.Objectclone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.plumelib.util.UniqueIdgetClassAndUid
- 
Field Details- 
treeThe tree for the object creation.
- 
enclosingExpressionThe enclosing expression of the object creation or null.
- 
typeToInstantiateThe type to instantiate node of the object creation. A non-generic typeToInstantiate node will refer to aClassNameNode, while a generic typeToInstantiate node will refer to aParameterizedTypeNode.
- 
argumentsThe arguments of the object creation.
- 
classbodyClass body for anonymous classes, otherwise null.
 
- 
- 
Constructor Details- 
ObjectCreationNodepublic ObjectCreationNode(NewClassTree tree, @Nullable Node enclosingExpr, Node typeToInstantiate, List<Node> arguments, @Nullable ClassDeclarationNode classbody) Constructs aObjectCreationNode.- Parameters:
- tree- the NewClassTree
- enclosingExpr- the enclosing expression Node if it exists, or null
- typeToInstantiate- the typeToInstantiate node
- arguments- the passed arguments
- classbody- the ClassDeclarationNode
 
 
- 
- 
Method Details- 
getConstructorDeprecated.Returns the constructor node.- Returns:
- the constructor node
 
- 
getTypeToInstantiateReturns the typeToInstantiate node. A non-generic typeToInstantiate node can refer to aClassNameNode, while a generic typeToInstantiate node can refer to aParameterizedTypeNode.- Returns:
- the typeToInstantiate node
 
- 
getArgumentsReturns the explicit arguments to the object creation.- Returns:
- the arguments
 
- 
getArgumentReturns the i-th explicit argument to the object creation.- Parameters:
- i- the index of the argument
- Returns:
- the argument
 
- 
getEnclosingExpressionReturns the enclosing expression node, which only exists if it is an inner class instantiation.- Returns:
- the enclosing type expression node
 
- 
getClassBodyReturns the classbody.- Returns:
- the classbody
 
- 
getTreeDescription copied from class:NodeReturns theTreein the abstract syntax tree, ornullif no corresponding tree exists. For instance, this is the case for anImplicitThisNode.
- 
acceptDescription copied from class:NodeAccept method of the visitor pattern.
- 
toString
- 
equals
- 
hashCode
- 
getOperandsDescription copied from class:Node- Specified by:
- getOperandsin class- Node
- Returns:
- a collection containing all of the operand Nodes of thisNode
 
 
- 
getTypeToInstantiate()