| java.lang.Object javaparser.TreeUtils
TreeUtils | final public class TreeUtils (Code) | | |
Method Summary | |
public static void | collectLocalVariablesBefore(RAWParserTreeNode fromInRAW, int beforeLine, java.util.List<Parameter> params) Walk up in the RAW tree and return the next declarator (LocalVariableDeclaration or FormalParameter node)
maybe raw, in a for loop, in a method, ...
Previous means that the tree is only looked at previous siblings (and then down) and node up !
actually, this only looks backward for types declared before the position of "from". | public static boolean | contains(Token t, int line, int col) Be careful, the spaces are not tokens, therefore no space will be matched by any token. | public static boolean | contains(ParserTreeNode t, int line, int col) | public static List<ParserTreeNode> | getAllMethodsAndFieldsForType(ParserTreeNode classOrInterface) | public static ParserTreeNode | getBlokContaining(ParserTreeNode tn, int line, int col) search for a token containing exactely the position. | public static ParserTreeNode | getChildWithStringRep(ParserTreeNode tn, String str) | public static ParserTreeNode | getFirstTokenNodeBeforePosition(ParserTreeNode tn, int line, int col) | public static ParserTreeNode | getNearestSimplifiedNode(ParserTreeNode node, int line, int col) This do NOT look in the raw tree. | public static RAWParserTreeNode | getNodeTokenContaining(RAWParserTreeNode tn, int line, int col) search for a token containing exactely the position. | public static RAWParserTreeNode | getTokenNodeAtOrAfterPosition(RAWParserTreeNode tn, int line, int col) The node containing or just after the given position. | public static boolean | isPositionInOrJustAfter(Token t, int line, int col) | public static boolean | isTokenContainingOrAfter(Token t, int line, int col) can be boosted a little bit... | public static void | lookInBranchForParameters(RAWParserTreeNode from, int beforeLine, java.util.List<Parameter> params) recursive look for parameters. | public static String | lookInBranchForTypeForParameter(RAWParserTreeNode from, String name) this look into the RAW tree (down) for parameters with the given name. | public static String | searchTypeForVariableName(RAWParserTreeNode fromInRAW, String name, boolean methodCallsOnly) Walk up in the RAW tree and return the next declarator (LocalVariableDeclaration or FormalParameter node)
maybe raw, in a for loop, in a method, ...
Previous means that the tree is only looked at previous siblings (and then down) and node up !
actually, this only looks backward for types declared before the position of "from". |
collectLocalVariablesBefore | public static void collectLocalVariablesBefore(RAWParserTreeNode fromInRAW, int beforeLine, java.util.List<Parameter> params)(Code) | | Walk up in the RAW tree and return the next declarator (LocalVariableDeclaration or FormalParameter node)
maybe raw, in a for loop, in a method, ...
Previous means that the tree is only looked at previous siblings (and then down) and node up !
actually, this only looks backward for types declared before the position of "from". that means that this is only suitable for variables,
not for fields or methds that have a bigger scope (class).
STOPS AT FIRST METHOD DECL !
all variables dclared after fromInRAW are ignored !
|
contains | public static boolean contains(Token t, int line, int col)(Code) | | Be careful, the spaces are not tokens, therefore no space will be matched by any token.
it is better to use the parsed simplified Nodes to scan in which block some input is rather than to
search for an exact token match.
Parameters: line - starts with 1 |
contains | public static boolean contains(ParserTreeNode t, int line, int col)(Code) | | Parameters: line - starts with 1 |
getAllMethodsAndFieldsForType | public static List<ParserTreeNode> getAllMethodsAndFieldsForType(ParserTreeNode classOrInterface)(Code) | | Parameters: classOrInterface - may also be an enum or an annotation. |
getBlokContaining | public static ParserTreeNode getBlokContaining(ParserTreeNode tn, int line, int col)(Code) | | search for a token containing exactely the position.
often don't exist ! use only for debug
|
getFirstTokenNodeBeforePosition | public static ParserTreeNode getFirstTokenNodeBeforePosition(ParserTreeNode tn, int line, int col)(Code) | | The node containing or just before
getNodeTokenContaining often don't exist,
this did sometimes more often exist :-) !!
especially when editing (inserting text chars) and using an old tree
NOT WORKING WELL, TOO IMPRECISE ! use getTokenNodeAtOrAfterPosition instead !!!
|
getNearestSimplifiedNode | public static ParserTreeNode getNearestSimplifiedNode(ParserTreeNode node, int line, int col)(Code) | | This do NOT look in the raw tree. Returns the first containing.
Depth first recursive search
|
getNodeTokenContaining | public static RAWParserTreeNode getNodeTokenContaining(RAWParserTreeNode tn, int line, int col)(Code) | | search for a token containing exactely the position. (DEPTH FIRST => ???)
often don't exist ! use only for debug and completion type discover (IDResolver) in the RAW syntax tree (=tn)
BETTER: use getFirstNodeBeforePosition to allow some tolerance when completing with old raw trees
|
getTokenNodeAtOrAfterPosition | public static RAWParserTreeNode getTokenNodeAtOrAfterPosition(RAWParserTreeNode tn, int line, int col)(Code) | | The node containing or just after the given position.
Robust when the RAW tokens tree is walked down (depth first), this returns the first element direct after the position.
|
isPositionInOrJustAfter | public static boolean isPositionInOrJustAfter(Token t, int line, int col)(Code) | | allow in or just after (1 line)
|
isTokenContainingOrAfter | public static boolean isTokenContainingOrAfter(Token t, int line, int col)(Code) | | can be boosted a little bit...
|
lookInBranchForParameters | public static void lookInBranchForParameters(RAWParserTreeNode from, int beforeLine, java.util.List<Parameter> params)(Code) | | recursive look for parameters. Used for completion of local variables (F2)
slow, collect all but methods and fields (only preceedings)
TODO: limit to scopes !
|
lookInBranchForTypeForParameter | public static String lookInBranchForTypeForParameter(RAWParserTreeNode from, String name)(Code) | | this look into the RAW tree (down) for parameters with the given name.
quick because stops at first occurence.
(TODO: some nodes have no chance to contain parameters => abort!)
this is also not efficient for method and fields (look in the simplified tree instead !)
|
searchTypeForVariableName | public static String searchTypeForVariableName(RAWParserTreeNode fromInRAW, String name, boolean methodCallsOnly)(Code) | | Walk up in the RAW tree and return the next declarator (LocalVariableDeclaration or FormalParameter node)
maybe raw, in a for loop, in a method, ...
Previous means that the tree is only looked at previous siblings (and then down) and node up !
actually, this only looks backward for types declared before the position of "from". that means that this is only suitable for variables,
not for fields or methds that have a bigger scope (class).
Parameters: methodCallsOnly - true if you know that you're searching for a method call like "hello(12)", use name="hello", methodCallsOnly=true |
|
|