public final class ASTUtil extends Object
| Modifier and Type | Class and Description |
|---|---|
static interface |
ASTUtil.FilterPredicate
Filters nodes out of a tree.
|
static class |
ASTUtil.IncludePredicate
A predicate that uses inclusion, rather than exclusion semantics.
|
| Modifier and Type | Method and Description |
|---|---|
static void |
appendSibling(antlr.collections.AST n,
antlr.collections.AST s) |
static List |
collectChildren(antlr.collections.AST root,
ASTUtil.FilterPredicate predicate) |
static antlr.collections.AST |
create(antlr.ASTFactory astFactory,
int type,
String text)
Deprecated.
silly
|
static antlr.collections.AST |
createBinarySubtree(antlr.ASTFactory factory,
int parentType,
String parentText,
antlr.collections.AST child1,
antlr.collections.AST child2)
Creates a 'binary operator' subtree, given the information about the
parent and the two child nodex.
|
static antlr.collections.AST |
createParent(antlr.ASTFactory factory,
int parentType,
String parentText,
antlr.collections.AST child)
Creates a single parent of the specified child (i.e.
|
static antlr.collections.AST |
createSibling(antlr.ASTFactory astFactory,
int type,
String text,
antlr.collections.AST prevSibling)
Creates a single node AST as a sibling of the passed prevSibling,
taking care to reorganize the tree correctly to account for this
newly created node.
|
static antlr.collections.AST |
createTree(antlr.ASTFactory factory,
antlr.collections.AST[] nestedChildren) |
static antlr.collections.AST |
findPreviousSibling(antlr.collections.AST parent,
antlr.collections.AST child)
Find the previous sibling in the parent for the given child.
|
static antlr.collections.AST |
findTypeInChildren(antlr.collections.AST parent,
int type)
Finds the first node of the specified type in the chain of children.
|
static Map |
generateTokenNameCache(Class tokenTypeInterface)
Method to generate a map of token type names, keyed by their token type values.
|
static String |
getConstantName(Class owner,
int value)
Deprecated.
Use #getTokenTypeName instead
|
static String |
getDebugString(antlr.collections.AST n)
Returns the 'list' representation with some brackets around it for debugging.
|
static antlr.collections.AST |
getLastChild(antlr.collections.AST n)
Returns the last direct child of 'n'.
|
static String |
getPathText(antlr.collections.AST n) |
static String |
getTokenTypeName(Class tokenTypeInterface,
int tokenType)
Intended to retrieve the name of an AST token type based on the token type interface.
|
static boolean |
hasExactlyOneChild(antlr.collections.AST n) |
static void |
insertChild(antlr.collections.AST parent,
antlr.collections.AST child)
Inserts the child as the first child of the parent, all other children are shifted over to the 'right'.
|
static antlr.collections.AST |
insertSibling(antlr.collections.AST node,
antlr.collections.AST prevSibling)
Inserts a node into a child subtree as a particularly positioned
sibling taking care to properly reorganize the tree to account for this
new addition.
|
static boolean |
isSubtreeChild(antlr.collections.AST fixture,
antlr.collections.AST test)
Determine if a given node (test) is contained anywhere in the subtree
of another given node (fixture).
|
static void |
makeSiblingOfParent(antlr.collections.AST parent,
antlr.collections.AST child)
Makes the child node a sibling of the parent, reconnecting all siblings.
|
@Deprecated public static antlr.collections.AST create(antlr.ASTFactory astFactory, int type, String text)
astFactory - The factory.type - The node type.text - The node text.public static antlr.collections.AST createSibling(antlr.ASTFactory astFactory,
int type,
String text,
antlr.collections.AST prevSibling)
astFactory - The factory.type - The node type.text - The node text.prevSibling - The previous sibling.public static antlr.collections.AST insertSibling(antlr.collections.AST node,
antlr.collections.AST prevSibling)
node - The node to insertprevSibling - The previous node at the sibling position
where we want this node inserted.public static antlr.collections.AST createBinarySubtree(antlr.ASTFactory factory,
int parentType,
String parentText,
antlr.collections.AST child1,
antlr.collections.AST child2)
factory - The AST factory.parentType - The type of the parent node.parentText - The text of the parent node.child1 - The first child.child2 - The second child.public static antlr.collections.AST createParent(antlr.ASTFactory factory,
int parentType,
String parentText,
antlr.collections.AST child)
factory - The AST factory.parentType - The type of the parent node.parentText - The text of the parent node.child - The child.public static antlr.collections.AST createTree(antlr.ASTFactory factory,
antlr.collections.AST[] nestedChildren)
public static boolean isSubtreeChild(antlr.collections.AST fixture,
antlr.collections.AST test)
fixture - The node against which to testto be checked for children.test - The node to be tested as being a subtree child of the parent.public static antlr.collections.AST findTypeInChildren(antlr.collections.AST parent,
int type)
parent - The parenttype - The type to find.public static antlr.collections.AST getLastChild(antlr.collections.AST n)
n - The parentpublic static String getDebugString(antlr.collections.AST n)
n - The tree.public static antlr.collections.AST findPreviousSibling(antlr.collections.AST parent,
antlr.collections.AST child)
parent - the parent nodechild - the child to find the previous sibling ofpublic static void makeSiblingOfParent(antlr.collections.AST parent,
antlr.collections.AST child)
parent - the parentchild - the childpublic static String getPathText(antlr.collections.AST n)
public static boolean hasExactlyOneChild(antlr.collections.AST n)
public static void appendSibling(antlr.collections.AST n,
antlr.collections.AST s)
public static void insertChild(antlr.collections.AST parent,
antlr.collections.AST child)
parent - the parentchild - the new first childpublic static List collectChildren(antlr.collections.AST root, ASTUtil.FilterPredicate predicate)
public static Map generateTokenNameCache(Class tokenTypeInterface)
tokenTypeInterface - The *TokenTypes interface (or implementor of said interface).@Deprecated public static String getConstantName(Class owner, int value)
owner - The class which defines the constantvalue - The value of the constant.public static String getTokenTypeName(Class tokenTypeInterface, int tokenType)
tokenTypeInterface - The *TokenTypes interface (or one of its implementors).tokenType - The token type value.Copyright © 2001-2015 Red Hat, Inc. All Rights Reserved.