Package com.ibm.wala.cast.tree
Interface CAst
-
- All Known Implementing Classes:
CAstImpl,CAstValueImpl
public interface CAstThe main interface for creating CAPA Abstract Syntax Trees. This interface provides essentially a factory for creating AST nodes in a tree structure. There is no strong assumption about the meaning of specific nodes; however, the `kind' argument to a makeNode call should be a value from the constants in the CAstNode interface. The other arguments to makeNode calls are child nodes. The structure of the tree is a matter of agreement between providers and consumers of specific trees.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description CAstNodemakeConstant(boolean value)Make a boolean constant node.CAstNodemakeConstant(char value)Make a char constant node.CAstNodemakeConstant(double value)Make a double-precision floating point constant node.CAstNodemakeConstant(float value)Make a single-precision floating point constant node.CAstNodemakeConstant(int value)Make an integer constant node.CAstNodemakeConstant(long value)Make a long integer constant node.CAstNodemakeConstant(short value)Make a short integer constant node.CAstNodemakeConstant(Object value)Make an arbitrary object constant node.CAstNodemakeNode(int kind)Make a node of type kind with no children.CAstNodemakeNode(int kind, CAstNode c1)Make a node of type kind with one child.CAstNodemakeNode(int kind, CAstNode[] cs)Make a node of type kind specifying an array of children.CAstNodemakeNode(int kind, CAstNode c1, CAstNode c2)Make a node of type kind with two children.CAstNodemakeNode(int kind, CAstNode firstChild, CAstNode[] otherChildren)Make a node of type kind giving a first child and array of the rest.CAstNodemakeNode(int kind, CAstNode c1, CAstNode c2, CAstNode c3)Make a node of type kind with three children.CAstNodemakeNode(int kind, CAstNode c1, CAstNode c2, CAstNode c3, CAstNode c4)Make a node of type kind with four children.CAstNodemakeNode(int kind, CAstNode c1, CAstNode c2, CAstNode c3, CAstNode c4, CAstNode c5)Make a node of type kind with five children.CAstNodemakeNode(int kind, CAstNode c1, CAstNode c2, CAstNode c3, CAstNode c4, CAstNode c5, CAstNode c6)Make a node of type kind with six children.StringmakeUnique()Make a new identifier, unqiue to this CAst instance.
-
-
-
Method Detail
-
makeNode
CAstNode makeNode(int kind)
Make a node of type kind with no children.
-
makeNode
CAstNode makeNode(int kind, CAstNode c1, CAstNode c2)
Make a node of type kind with two children.
-
makeNode
CAstNode makeNode(int kind, CAstNode c1, CAstNode c2, CAstNode c3)
Make a node of type kind with three children.
-
makeNode
CAstNode makeNode(int kind, CAstNode c1, CAstNode c2, CAstNode c3, CAstNode c4)
Make a node of type kind with four children.
-
makeNode
CAstNode makeNode(int kind, CAstNode c1, CAstNode c2, CAstNode c3, CAstNode c4, CAstNode c5)
Make a node of type kind with five children.
-
makeNode
CAstNode makeNode(int kind, CAstNode c1, CAstNode c2, CAstNode c3, CAstNode c4, CAstNode c5, CAstNode c6)
Make a node of type kind with six children.
-
makeNode
CAstNode makeNode(int kind, CAstNode[] cs)
Make a node of type kind specifying an array of children.
-
makeNode
CAstNode makeNode(int kind, CAstNode firstChild, CAstNode[] otherChildren)
Make a node of type kind giving a first child and array of the rest.
-
makeConstant
CAstNode makeConstant(boolean value)
Make a boolean constant node.
-
makeConstant
CAstNode makeConstant(char value)
Make a char constant node.
-
makeConstant
CAstNode makeConstant(short value)
Make a short integer constant node.
-
makeConstant
CAstNode makeConstant(int value)
Make an integer constant node.
-
makeConstant
CAstNode makeConstant(long value)
Make a long integer constant node.
-
makeConstant
CAstNode makeConstant(double value)
Make a double-precision floating point constant node.
-
makeConstant
CAstNode makeConstant(float value)
Make a single-precision floating point constant node.
-
makeUnique
String makeUnique()
Make a new identifier, unqiue to this CAst instance.
-
-