com.google.dart.compiler.backend.js.ast
Class JsFunction
java.lang.Object
HasMetadata
com.google.dart.compiler.backend.js.ast.SourceInfoAwareJsNode
com.google.dart.compiler.backend.js.ast.JsLiteral
com.google.dart.compiler.backend.js.ast.JsFunction
- All Implemented Interfaces:
- HasName, JsExpression, JsNode, HasSymbol
public final class JsFunction
- extends JsLiteral
- implements HasName
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
JsFunction
public JsFunction(@NotNull
JsScope parentScope,
@NotNull
java.lang.String description)
JsFunction
public JsFunction(@NotNull
JsScope parentScope,
@NotNull
JsBlock body,
@NotNull
java.lang.String description)
getBody
@NotNull
public JsBlock getBody()
getName
public JsName getName()
- Specified by:
getName
in interface HasName
getSymbol
public Symbol getSymbol()
- Specified by:
getSymbol
in interface HasSymbol
- Returns:
- Return the original user visible name for a Object represented
in a source map.
getParameters
@NotNull
public java.util.List<JsParameter> getParameters()
getScope
@NotNull
public JsFunctionScope getScope()
setBody
public void setBody(@NotNull
JsBlock body)
setName
public void setName(@Nullable
JsName name)
accept
public void accept(JsVisitor v)
- Description copied from interface:
JsNode
- Causes this object to have the visitor visit itself and its children.
- Specified by:
accept
in interface JsNode
- Parameters:
v
- the visitor that should traverse this node
acceptChildren
public void acceptChildren(JsVisitor visitor)
- Specified by:
acceptChildren
in interface JsNode
- Overrides:
acceptChildren
in class SourceInfoAwareJsNode
traverse
public void traverse(JsVisitorWithContext v,
JsContext ctx)
- Description copied from interface:
JsNode
- Causes this object to have the visitor visit itself and its children.
- Specified by:
traverse
in interface JsNode
- Parameters:
v
- the visitor that should traverse this nodectx
- the context of an existing traversal
deepCopy
@NotNull
public JsFunction deepCopy()
- Specified by:
deepCopy
in interface JsExpression
- Specified by:
deepCopy
in interface JsNode
isLeaf
public boolean isLeaf()
- Determines whether or not this expression is a leaf, such as a
JsNameRef
, JsLiteral.JsBooleanLiteral
, and so on. Leaf expressions
never need to be parenthesized.
- Specified by:
isLeaf
in interface JsExpression
makeStmt
@NotNull
public JsStatement makeStmt()
- Specified by:
makeStmt
in interface JsExpression
source
public JsExpression source(java.lang.Object info)
- Specified by:
source
in interface JsExpression
- Specified by:
source
in interface JsNode
- Overrides:
source
in class SourceInfoAwareJsNode
toString
public java.lang.String toString()
withMetadataFrom
protected <T extends HasMetadata> T withMetadataFrom(T other)