orc.ast.extended
Class Lambda

java.lang.Object
  extended by orc.ast.extended.Expression
      extended by orc.ast.extended.Lambda
All Implemented Interfaces:
Locatable, Located

public class Lambda
extends Expression


Nested Class Summary
 
Nested classes/interfaces inherited from class orc.ast.extended.Expression
Expression.Arg
 
Field Summary
 Expression body
           
 java.util.List<Pattern> formals
           
 Type resultType
           
 
Constructor Summary
Lambda(java.util.List<Pattern> formals, Expression body)
           
Lambda(java.util.List<Pattern> formals, Expression body, Type resultType)
           
 
Method Summary
 Expression simplify()
          Simplify an expression which occurs in a call (non-nested) position.
 java.lang.String toString()
           
 
Methods inherited from class orc.ast.extended.Expression
argify, getSourceLocation, join, setSourceLocation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

formals

public java.util.List<Pattern> formals

body

public Expression body

resultType

public Type resultType
Constructor Detail

Lambda

public Lambda(java.util.List<Pattern> formals,
              Expression body)

Lambda

public Lambda(java.util.List<Pattern> formals,
              Expression body,
              Type resultType)
Method Detail

simplify

public Expression simplify()
                    throws CompilationException
Description copied from class: Expression
Simplify an expression which occurs in a call (non-nested) position.

Specified by:
simplify in class Expression
Returns:
The simplified expression
Throws:
CompilationException

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object