org.jetbrains.kotlin.js.backend.ast
Class JsFunction

java.lang.Object
  extended by HasMetadata
      extended by org.jetbrains.kotlin.js.backend.ast.SourceInfoAwareJsNode
          extended by org.jetbrains.kotlin.js.backend.ast.JsExpression
              extended by org.jetbrains.kotlin.js.backend.ast.JsLiteral
                  extended by org.jetbrains.kotlin.js.backend.ast.JsFunction
All Implemented Interfaces:
HasName, JsNode, HasSymbol

public final class JsFunction
extends JsLiteral
implements HasName


Nested Class Summary
 
Nested classes/interfaces inherited from class org.jetbrains.kotlin.js.backend.ast.JsLiteral
JsLiteral.JsBooleanLiteral, JsLiteral.JsThisRef, JsLiteral.JsValueLiteral
 
Nested classes/interfaces inherited from class org.jetbrains.kotlin.js.backend.ast.JsExpression
JsExpression.JsExpressionHasArguments
 
Field Summary
 
Fields inherited from class org.jetbrains.kotlin.js.backend.ast.JsLiteral
FALSE, NULL, THIS, TRUE, UNDEFINED
 
Constructor Summary
JsFunction(JsScope parentScope, JsBlock body, java.lang.String description)
           
JsFunction(JsScope parentScope, java.lang.String description)
           
 
Method Summary
 void accept(JsVisitor v)
          Causes this object to have the visitor visit itself and its children.
 void acceptChildren(JsVisitor visitor)
           
 JsFunction deepCopy()
           
 JsBlock getBody()
           
 JsName getName()
           
 java.util.List<JsParameter> getParameters()
           
 JsFunctionScope getScope()
           
 Symbol getSymbol()
           
 void setBody(JsBlock body)
           
 void setName(JsName name)
           
 java.lang.String toString()
           
 void traverse(JsVisitorWithContext v, JsContext ctx)
          Causes this object to have the visitor visit itself and its children.
protected
<T extends HasMetadata>
T
withMetadataFrom(T other)
           
 
Methods inherited from class org.jetbrains.kotlin.js.backend.ast.JsLiteral
getBoolean
 
Methods inherited from class org.jetbrains.kotlin.js.backend.ast.JsExpression
isLeaf, makeStmt, source
 
Methods inherited from class org.jetbrains.kotlin.js.backend.ast.SourceInfoAwareJsNode
getSource, setSource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

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)
Method Detail

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)
Specified by:
setName in interface HasName

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 node
ctx - the context of an existing traversal

deepCopy

@NotNull
public JsFunction deepCopy()
Specified by:
deepCopy in interface JsNode
Specified by:
deepCopy in class JsExpression

toString

public java.lang.String toString()

withMetadataFrom

protected <T extends HasMetadata> T withMetadataFrom(T other)