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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidgetName()intindexOfArgument(Node node) booleanOverridden manually for nodes who can "have a cursor on them" with respect to autocomplete.booleanisCursorInArguments(int offset) booleanisCursorOnName(int offset) jjtAccept(ChunkerVisitor visitor, Object data) Accept the visitor.voidjjtAddChild(Node n, int i) This method tells the node to add its argument to the node's list of children.voidvoidMethods inherited from class io.deephaven.lang.api.AbstractChunkerInvokable
addArgument, addToken, getArgument, getArgumentCount, getArguments, getScopeTarget, setScopeTargetMethods inherited from class io.deephaven.lang.generated.ScopedNode
getScope, setScopeMethods 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, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.deephaven.lang.api.ChunkerInvokable
getNameTokenMethods inherited from interface io.deephaven.lang.api.IsScope
asScopeList, getScope, getScopeTarget, setScopeTargetMethods 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:
jjtAcceptin interfaceNode- Overrides:
jjtAcceptin classSimpleNode
-
getName
-
setName
-
startArguments
public void startArguments() -
endArguments
public void endArguments() -
jjtAddChild
Description copied from interface:NodeThis method tells the node to add its argument to the node's list of children.- Specified by:
jjtAddChildin interfaceNode- Overrides:
jjtAddChildin classSimpleNode
-
indexOfArgument
-
isCursorInArguments
public boolean isCursorInArguments(int offset) -
isCursorOnName
public boolean isCursorOnName(int offset) -
isAutocompleteTerminal
public boolean isAutocompleteTerminal()Description copied from interface:NodeOverridden 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:
isAutocompleteTerminalin 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.
-