public abstract class CallNode extends AbstractSoyNode implements SoyNode.StandaloneNode, SoyNode.SplitLevelTopNode<CallParamNode>, SoyNode.StatementNode, SoyNode.ExprHolderNode, SoyNode.MsgPlaceholderInitialNode
Important: Do not use outside of Soy code (treat as superpackage-private).
| Modifier | Constructor and Description |
|---|---|
protected |
CallNode(CallNode orig,
CopyState copyState)
Copy constructor.
|
protected |
CallNode(int id,
SourceLocation location,
String commandName,
List<CommandTagAttribute> attributes,
ErrorReporter reporter)
Protected constructor for use by subclasses.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addChild(int index,
N child)
Adds the given child at the given index (shifting existing children if necessary).
|
void |
addChild(N child)
Adds the given child.
|
void |
addChildren(int index,
List<? extends N> children)
Adds the given children at the given index (shifting existing children if necessary).
|
void |
addChildren(List<? extends N> children)
Adds the given children.
|
void |
appendSourceStringForChildren(StringBuilder sb)
Appends the source strings for all the children to the given StringBuilder.
|
void |
clearChildren()
Clears the list of children.
|
String |
genBasePhName()
Generates the base placeholder name for this node.
|
Object |
genSamenessKey()
Generates the key object used in comparisons to determine whether two placeholder nodes
should be represented by the same placeholder.
|
N |
getChild(int index)
Gets the child at the given index.
|
int |
getChildIndex(Node child)
Finds the index of the given child.
|
List<N> |
getChildren()
Gets the list of children.
|
String |
getCommandName()
Returns the Soy command name.
|
String |
getCommandText()
Returns the command text (may be the empty string).
|
ExprRootNode |
getDataExpr() |
com.google.common.collect.ImmutableList<SoyPrintDirective> |
getEscapingDirectives()
Returns the escaping directives, applied from left to right.
|
com.google.common.collect.ImmutableList<ExprRootNode> |
getExprList()
Returns the list of expressions in this node.
|
boolean |
getIsPcData() |
abstract com.google.common.collect.ImmutableList<TemplateParam> |
getParamsToRuntimeCheck(TemplateNode callee)
Returns the subset of
params of the callee that require runtime
type checking when this node is being rendered. |
SoyNode.ParentSoyNode<SoyNode.StandaloneNode> |
getParent()
Gets this node's parent.
|
String |
getTagString() |
protected String |
getTagString(boolean selfEnding) |
String |
getUserSuppliedPhExample()
Gets the user-supplied placeholder example, or null if not supplied or not applicable.
|
String |
getUserSuppliedPhName()
Gets the user-supplied placeholder name, or null if not supplied or not applicable.
|
boolean |
isPassingAllData() |
boolean |
isPassingData() |
int |
numChildren()
Gets the number of children.
|
void |
removeChild(int index)
Removes the child at the given index.
|
void |
removeChild(N child)
Removes the given child.
|
void |
replaceChild(int index,
N newChild)
Replaces the child at the given index with the given new child.
|
void |
replaceChild(N currChild,
N newChild)
Replaces the given current child with the given new child.
|
void |
setEscapingDirectives(com.google.common.collect.ImmutableList<SoyPrintDirective> escapingDirectives)
Sets the inferred escaping directives.
|
void |
setIsPcData(boolean isPcData) |
String |
toSourceString()
Builds a Soy source string that could be the source for this node.
|
getId, getSourceLocation, setId, toStringcouldHaveSyntaxVersionAtLeast, equals, getNearestAncestor, getSyntaxVersionUpperBound, hasAncestor, hashCode, maybeSetSyntaxVersionUpperBound, setParentclone, finalize, getClass, notify, notifyAll, wait, wait, waitaddChild, addChild, addChildren, addChildren, appendSourceStringForChildren, clearChildren, getChild, getChildIndex, getChildren, numChildren, removeChild, removeChild, replaceChild, replaceChildprotected CallNode(int id,
SourceLocation location,
String commandName,
List<CommandTagAttribute> attributes,
ErrorReporter reporter)
public boolean isPassingData()
public boolean isPassingAllData()
@Nullable public ExprRootNode getDataExpr()
public boolean getIsPcData()
public void setIsPcData(boolean isPcData)
@Nullable public String getUserSuppliedPhName()
SoyNode.MsgPlaceholderInitialNodegetUserSuppliedPhName in interface SoyNode.MsgPlaceholderInitialNode@Nullable public String getUserSuppliedPhExample()
SoyNode.MsgPlaceholderInitialNodegetUserSuppliedPhExample in interface SoyNode.MsgPlaceholderInitialNodepublic String genBasePhName()
SoyNode.MsgPlaceholderInitialNodegenBasePhName in interface SoyNode.MsgPlaceholderInitialNodepublic Object genSamenessKey()
SoyNode.MsgPlaceholderInitialNodegenSamenessKey in interface SoyNode.MsgPlaceholderInitialNodepublic String getTagString()
public String toSourceString()
NodeNote: Some nodes do not have a direct mapping to Soy source (such as nodes created during some optimization passes). Thus this method may not always be supported.
toSourceString in interface Nodepublic com.google.common.collect.ImmutableList<ExprRootNode> getExprList()
SoyNode.ExprHolderNodegetExprList in interface SoyNode.ExprHolderNodepublic SoyNode.ParentSoyNode<SoyNode.StandaloneNode> getParent()
NodegetParent in interface NodegetParent in interface SoyNodegetParent in interface SoyNode.StandaloneNodegetParent in class AbstractSoyNodepublic abstract com.google.common.collect.ImmutableList<TemplateParam> getParamsToRuntimeCheck(TemplateNode callee)
params of the callee that require runtime
type checking when this node is being rendered.public com.google.common.collect.ImmutableList<SoyPrintDirective> getEscapingDirectives()
It is an error to call this before the contextual rewriter has been run.
public void setEscapingDirectives(com.google.common.collect.ImmutableList<SoyPrintDirective> escapingDirectives)
public int numChildren()
ParentNodenumChildren in interface ParentNode<N extends SoyNode>public N getChild(int index)
ParentNodegetChild in interface ParentNode<N extends SoyNode>index - The index of the child to get.public int getChildIndex(Node child)
ParentNodegetChildIndex in interface ParentNode<N extends SoyNode>child - The child to find the index of.public List<N> getChildren()
ParentNodeNote: The returned list may not be a copy. Please do not modify the list directly. Instead, use the other methods in this class that are intended for modifying children. Also, if you're iterating over the children list as you're modifying it, then you should first make a copy of the children list to iterate over, in order to avoid ConcurrentModificationException.
getChildren in interface ParentNode<N extends SoyNode>public void addChild(N child)
ParentNodeaddChild in interface ParentNode<N extends SoyNode>child - The child to add.public void addChild(int index,
N child)
ParentNodeaddChild in interface ParentNode<N extends SoyNode>index - The index to add the child at.child - The child to add.public void removeChild(int index)
ParentNoderemoveChild in interface ParentNode<N extends SoyNode>index - The index of the child to remove.public void removeChild(N child)
ParentNoderemoveChild in interface ParentNode<N extends SoyNode>child - The child to remove.public void replaceChild(int index,
N newChild)
ParentNodereplaceChild in interface ParentNode<N extends SoyNode>index - The index of the child to replace.newChild - The new child.public void replaceChild(N currChild,
N newChild)
ParentNodereplaceChild in interface ParentNode<N extends SoyNode>currChild - The current child to be replaced.newChild - The new child.public void clearChildren()
ParentNodeclearChildren in interface ParentNode<N extends SoyNode>public void addChildren(List<? extends N> children)
ParentNodeaddChildren in interface ParentNode<N extends SoyNode>children - The children to add.public void addChildren(int index,
List<? extends N> children)
ParentNodeaddChildren in interface ParentNode<N extends SoyNode>index - The index to add the children at.children - The children to add.public void appendSourceStringForChildren(StringBuilder sb)
ParentNodeappendSourceStringForChildren in interface ParentNode<N extends SoyNode>sb - The StringBuilder to which to append the children's source strings.public String getCommandName()
SoyNode.CommandNodegetCommandName in interface SoyNode.CommandNodepublic String getCommandText()
SoyNode.CommandNodegetCommandText in interface SoyNode.CommandNodeprotected final String getTagString(boolean selfEnding)