Package io.deephaven.lang.generated
Class ChunkerInvoke
java.lang.Object
io.deephaven.lang.generated.SimpleNode
io.deephaven.lang.generated.ScopedNode
io.deephaven.lang.api.AbstractChunkerInvokable
io.deephaven.lang.generated.ChunkerInvoke
- All Implemented Interfaces:
ChunkerInvokable
,HasScope
,IsScope
,Node
-
Field Summary
Fields inherited from class io.deephaven.lang.generated.SimpleNode
children, firstToken, id, lastToken, parent, parser, value
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
getName()
int
indexOfArgument
(Node node) boolean
Overridden manually for nodes who can "have a cursor on them" with respect to autocomplete.boolean
isCursorInArguments
(int offset) boolean
isCursorOnName
(int offset) jjtAccept
(ChunkerVisitor visitor, Object data) Accept the visitor.void
jjtAddChild
(Node n, int i) This method tells the node to add its argument to the node's list of children.void
void
Methods inherited from class io.deephaven.lang.api.AbstractChunkerInvokable
addArgument, addToken, getArgument, getArgumentCount, getArguments, getScopeTarget, setScopeTarget
Methods inherited from class io.deephaven.lang.generated.ScopedNode
getScope, setScope
Methods inherited from class io.deephaven.lang.generated.SimpleNode
addJunk, addToken, adopt, childrenAccept, dump, getChildren, getId, getJunk, indexOf, isWellFormed, jjtClose, jjtGetChild, jjtGetFirstToken, jjtGetLastToken, jjtGetNumChildren, jjtGetParent, jjtGetValue, jjtInsertChild, jjtOpen, jjtSetFirstToken, jjtSetLastToken, jjtSetParent, jjtSetValue, removeChild, removeToken, setWellFormed, toString, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.deephaven.lang.api.ChunkerInvokable
getNameToken
Methods inherited from interface io.deephaven.lang.api.IsScope
asScopeList, getScope, getScopeTarget, setScopeTarget
Methods inherited from interface io.deephaven.lang.generated.Node
addChild, addChild, addJunk, addScope, addToken, adopt, append, asRange, contains, containsIndex, containsLines, distanceTo, findToken, getChildren, getEndIndex, getId, getStartIndex, indexOf, insertChild, isChildOf, isWellFormed, jjtClose, jjtGetChild, jjtGetFirstToken, jjtGetLastToken, jjtGetNumChildren, jjtGetParent, jjtInsertChild, jjtOpen, jjtSetFirstToken, jjtSetLastToken, jjtSetParent, maybeDetach, removeChild, rescope, tokens, tokensReversed, toSource
-
Constructor Details
-
ChunkerInvoke
public ChunkerInvoke(int id) -
ChunkerInvoke
-
-
Method Details
-
jjtAccept
Accept the visitor.- Specified by:
jjtAccept
in interfaceNode
- Overrides:
jjtAccept
in classSimpleNode
-
getName
-
setName
-
startArguments
public void startArguments() -
endArguments
public void endArguments() -
jjtAddChild
Description copied from interface:Node
This method tells the node to add its argument to the node's list of children.- Specified by:
jjtAddChild
in interfaceNode
- Overrides:
jjtAddChild
in classSimpleNode
-
indexOfArgument
-
isCursorInArguments
public boolean isCursorInArguments(int offset) -
isCursorOnName
public boolean isCursorOnName(int offset) -
isAutocompleteTerminal
public boolean isAutocompleteTerminal()Description copied from interface:Node
Overridden manually for nodes who can "have a cursor on them" with respect to autocomplete. If any part of an ast node collects tokens that are "leaf nodes" (i.e. there are cursor positions where your ast node will be the most derived child found), then it is a candidate to be a terminal autocomplete source. When encountering whitespace or . or , we might search left or right for interesting nodes, and those ast nodes who are autocomplete terminal will be preferred over their children. The normal search algorithm is a standard binary tree search, where the next-leftmost|rightmost leaf node is transversed. When an `isAutocompleteTerminal() == true` node is found, however, we stop there to continue searches.- Specified by:
isAutocompleteTerminal
in interfaceNode
- Returns:
- true for nodes that the visitor in ChunkerCompleter will visit and generate results. This is not needed for always-terminal nodes, like ChunkerNum or ChunkerIdent, but is needed by terminal-nodes-with-children, like ChunkerInvoke or ChunkerNew.
-