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
public class ChunkerInvoke extends AbstractChunkerInvokable implements IsScope
-
-
Field Summary
-
Fields inherited from class io.deephaven.lang.generated.SimpleNode
children, firstToken, id, lastToken, parent, parser, value
-
-
Constructor Summary
Constructors Constructor Description ChunkerInvoke(int id)ChunkerInvoke(Chunker p, int id)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidendArguments()java.lang.StringgetName()intindexOfArgument(Node node)booleanisAutocompleteTerminal()Overridden manually for nodes who can "have a cursor on them" with respect to autocomplete.booleanisCursorInArguments(int offset)booleanisCursorOnName(int offset)java.lang.ObjectjjtAccept(ChunkerVisitor visitor, java.lang.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.voidsetName(java.lang.String name)voidstartArguments()-
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 Detail
-
ChunkerInvoke
public ChunkerInvoke(int id)
-
ChunkerInvoke
public ChunkerInvoke(Chunker p, int id)
-
-
Method Detail
-
jjtAccept
public java.lang.Object jjtAccept(ChunkerVisitor visitor, java.lang.Object data)
Accept the visitor.- Specified by:
jjtAcceptin interfaceNode- Overrides:
jjtAcceptin classSimpleNode
-
setName
public void setName(java.lang.String name)
-
startArguments
public void startArguments()
-
endArguments
public void endArguments()
-
jjtAddChild
public void jjtAddChild(Node n, int i)
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
public int indexOfArgument(Node node)
-
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.
-
-