public final class LetValueNode extends LetNode implements SoyNode.ExprHolderNode
Important: Do not use outside of Soy code (treat as superpackage-private).
SoyNode.BlockCommandNode, SoyNode.BlockNode, SoyNode.CommandNode, SoyNode.ConditionalBlockNode, SoyNode.ExprHolderNode, SoyNode.Kind, SoyNode.LocalVarBlockNode, SoyNode.LocalVarInlineNode, SoyNode.LocalVarNode, SoyNode.MsgBlockNode, SoyNode.MsgPlaceholderInitialNode, SoyNode.MsgSubstUnitNode, SoyNode.ParentSoyNode<N extends SoyNode>, SoyNode.RenderUnitNode, SoyNode.SplitLevelTopNode<N extends SoyNode>, SoyNode.StandaloneNode, SoyNode.StatementNode| Constructor and Description |
|---|
LetValueNode(int id,
SourceLocation location,
String varName,
ExprNode expr) |
| Modifier and Type | Method and Description |
|---|---|
LetValueNode |
copy(CopyState copyState)
Copies this node.
|
String |
getCommandName()
Returns the Soy command name.
|
String |
getCommandText()
Returns the command text (may be the empty string).
|
ExprRootNode |
getExpr()
Returns the value expression that this variable is set to.
|
com.google.common.collect.ImmutableList<ExprRootNode> |
getExprList()
Returns the list of expressions in this node.
|
SoyNode.Kind |
getKind()
Returns this node's kind (corresponding to this node's specific type).
|
String |
getTagString() |
protected String |
getTagString(boolean selfEnding) |
String |
toSourceString()
Builds a Soy source string that could be the source for this node.
|
getParent, getUniqueVarName, getVar, getVarNamegetId, getSourceLocation, setId, toStringcouldHaveSyntaxVersionAtLeast, equals, getNearestAncestor, getSyntaxVersionUpperBound, hasAncestor, hashCode, maybeSetSyntaxVersionUpperBound, setParentclone, finalize, getClass, notify, notifyAll, wait, wait, waitcouldHaveSyntaxVersionAtLeast, getNearestAncestor, getSourceLocation, getSyntaxVersionUpperBound, hasAncestor, maybeSetSyntaxVersionUpperBound, setParent, toSourceStringpublic LetValueNode(int id,
SourceLocation location,
String varName,
ExprNode expr)
public SoyNode.Kind getKind()
SoyNodepublic ExprRootNode getExpr()
public String getCommandText()
SoyNode.CommandNodegetCommandText in interface SoyNode.CommandNodepublic String getTagString()
public com.google.common.collect.ImmutableList<ExprRootNode> getExprList()
SoyNode.ExprHolderNodegetExprList in interface SoyNode.ExprHolderNodepublic LetValueNode copy(CopyState copyState)
SoyNodeAll copy() overrides should follow this contract:
{@literal @}Override public T copy(CopyState copyState) {
return new T(this, copyState);
}
TODO(lukes): The usecases for a copy method are few and far between. Making the AST nodes immutable (or at least unmodifiable) would be preferable to maintaining our copy() methods.
Don't clone nodes unless you know what you're doing. The Soy AST is not actually a tree (it contains back edges from variables to their definitions), and naively copying nodes can result in pointers into stale ASTs
The copied nodes will have the same ids as the original nodes. If you need to copy a subtree
with new ids assigned to the copied nodes, use SoyTreeUtils.cloneWithNewIds(T, com.google.template.soy.base.internal.IdGenerator).
public String getCommandName()
SoyNode.CommandNodegetCommandName in interface SoyNode.CommandNodeprotected final String getTagString(boolean selfEnding)
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 Node