net.jangaroo.jooc.ast
Class FunctionExpr

java.lang.Object
  extended by net.jangaroo.jooc.ast.NodeImplBase
      extended by net.jangaroo.jooc.ast.Expr
          extended by net.jangaroo.jooc.ast.FunctionExpr
All Implemented Interfaces:
AstNode

public class FunctionExpr
extends Expr

Author:
Andreas Gawecki, Frank Wienberg

Nested Class Summary
 
Nested classes/interfaces inherited from class net.jangaroo.jooc.ast.NodeImplBase
NodeImplBase.Scoped
 
Field Summary
static Type ANY_TYPE
           
static Ide ARGUMENTS_IDE
           
 
Constructor Summary
FunctionExpr(FunctionDeclaration functionDeclaration, JooSymbol symFunction, Ide ide, JooSymbol lParen, Parameters params, JooSymbol rParen, TypeRelation optTypeRelation, BlockStatement optBody)
           
 
Method Summary
 void addImplicitParam(Parameter parameter)
           
 void analyze(AstNode parentNode)
           
 BlockStatement getBody()
           
 List<? extends AstNode> getChildren()
           
 IdeDeclaration getClassDeclaration()
           
 FunctionDeclaration getFunctionDeclaration()
           
 JooSymbol getFunSymbol()
           
 Ide getIde()
           
 JooSymbol getLParen()
           
 TypeRelation getOptTypeRelation()
           
 Parameters getParams()
           
 JooSymbol getRParen()
           
 JooSymbol getSymbol()
           
 JooSymbol getSymFunction()
           
 boolean hasBody()
           
 void scope(Scope scope)
           
 void visit(AstVisitor visitor)
           
 
Methods inherited from class net.jangaroo.jooc.ast.Expr
getType, isCompileTimeConstant, isRuntimeConstant, setType
 
Methods inherited from class net.jangaroo.jooc.ast.NodeImplBase
analyze, getParentNode, makeChildren, scope, withNewDeclarationScope, withNewLabelScope
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ARGUMENTS_IDE

public static final Ide ARGUMENTS_IDE

ANY_TYPE

public static final Type ANY_TYPE
Constructor Detail

FunctionExpr

public FunctionExpr(FunctionDeclaration functionDeclaration,
                    JooSymbol symFunction,
                    Ide ide,
                    JooSymbol lParen,
                    Parameters params,
                    JooSymbol rParen,
                    TypeRelation optTypeRelation,
                    BlockStatement optBody)
Method Detail

getChildren

public List<? extends AstNode> getChildren()
Specified by:
getChildren in interface AstNode
Overrides:
getChildren in class NodeImplBase

visit

public void visit(AstVisitor visitor)
           throws IOException
Throws:
IOException

getFunctionDeclaration

public FunctionDeclaration getFunctionDeclaration()

getParams

public Parameters getParams()

getBody

public BlockStatement getBody()

getSymbol

public JooSymbol getSymbol()

getClassDeclaration

public IdeDeclaration getClassDeclaration()

scope

public void scope(Scope scope)

analyze

public void analyze(AstNode parentNode)
Specified by:
analyze in interface AstNode
Overrides:
analyze in class NodeImplBase

addImplicitParam

public void addImplicitParam(Parameter parameter)

hasBody

public boolean hasBody()

getIde

public Ide getIde()

getSymFunction

public JooSymbol getSymFunction()

getLParen

public JooSymbol getLParen()

getOptTypeRelation

public TypeRelation getOptTypeRelation()

getRParen

public JooSymbol getRParen()

getFunSymbol

public JooSymbol getFunSymbol()


Copyright © 2002-2012 CoreMedia AG. All Rights Reserved.