de.dhbwstuttgart.syntaxtree.statement

## Class LambdaExpression

- java.lang.Object
- - de.dhbwstuttgart.syntaxtree.SyntaxTreeNode
  - - de.dhbwstuttgart.syntaxtree.statement.Statement
    - - de.dhbwstuttgart.syntaxtree.statement.ExprStmt
      - - de.dhbwstuttgart.syntaxtree.statement.Expr
        - - de.dhbwstuttgart.syntaxtree.statement.LambdaExpression

All Implemented Interfaces:
  IItemWithOffset, Typeable

    public class LambdaExpression
    extends Expr

Author:
  A10023 - Andreas Stadelmeier Momentan erweitert LambdaExpression noch Expr und erbt dadurch auch von ExprStatement ist also auch ein Statement LambdaExpression Aufbau: ( ParameterList ) -> { method_body };

### Field Summary

Fields
`private Block` `method_body`
`private ParameterList` `params`

### Fields inherited from class de.dhbwstuttgart.syntaxtree.statement.Expr

`usedid`

### Fields inherited from class de.dhbwstuttgart.syntaxtree.statement.ExprStmt

`inferencelog`

### Fields inherited from class de.dhbwstuttgart.syntaxtree.statement.Statement

`offset, type`

### Fields inherited from class de.dhbwstuttgart.syntaxtree.SyntaxTreeNode

`parent`

### Constructor Summary

Constructors
Constructor and Description
`LambdaExpression(int offset, int variableLength)`

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.String` `get_Name()`
`Menge<SyntaxTreeNode>` `getChildren()`
`java.lang.String` `getTypeInformation()`
`JavaCodeResult` `printJavaCode(ResultSet resultSet)`
`void` `setBody(Block block)`
`void` `setExpr(Expr expression)`
`void` `setParameterList(ParameterList params)`
`java.lang.String` `toString()`

`ConstraintsSet`

`TYPEExpr(TypeAssumptions assumptions)`
Spezifikation: TYPEExpr( Ass, Lambda( (x1 , . . . , xN ), expr|stmt ) ) = let AssArgs = { xi : ai | ai fresh type variables } (exprt : rty, ConS) = TYPEExpr( Ass Ã¢ÂÂª AssArgs, expr ) | (stmtt : rty, ConS) = TYPEStmt( Ass u AssArgs, stmt ) in (Lambda( (x1 : a1 , . . . , xN : aN ), exprt : rty|stmtt : rty ) : a, ConS Ã¢ÂÂª { (FunN<rty, a1 , . . . , aN > a) }), where a is a fresh type variable

`ConstraintsSet` `TYPEStmt(TypeAssumptions ass)`
`void` `wandleRefTypeAttributes2GenericAttributes(Menge<Type> paralist, Menge<GenericTypeVar> genericMethodParameters)`

### Methods inherited from class de.dhbwstuttgart.syntaxtree.statement.Expr

`get_Name_Menge, get_Type_Menge, get_UsedId, set_Type, set_UsedId`

### Methods inherited from class de.dhbwstuttgart.syntaxtree.statement.ExprStmt

`getTypeLineNumber, getTypeName`

### Methods inherited from class de.dhbwstuttgart.syntaxtree.statement.Statement

`getDescription, getOffset, getReturnType, getType, getVariableLength, setReturnType, setType`

### Methods inherited from class de.dhbwstuttgart.syntaxtree.SyntaxTreeNode

`addTypeInsertPoints, equals, getGTVDeclarationContext, getMatchingParentNode, getParent, getParentClass, parserPostProcessing, seesType`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### method_body

    private Block method_body

#### params

    private ParameterList params

### Constructor Detail

#### LambdaExpression

    public LambdaExpression(int offset,
                            int variableLength)

### Method Detail

#### setBody

    public void setBody(Block block)

#### setExpr

    public void setExpr(Expr expression)

#### setParameterList

    public void setParameterList(ParameterList params)

#### wandleRefTypeAttributes2GenericAttributes

    public void wandleRefTypeAttributes2GenericAttributes(Menge<Type> paralist,
                                                          Menge<GenericTypeVar> genericMethodParameters)

Specified by:
  `wandleRefTypeAttributes2GenericAttributes` in class `Statement`

#### get_Name

    public java.lang.String get_Name()

Specified by:
  `get_Name` in class `Expr`

#### TYPEExpr

    public ConstraintsSet TYPEExpr(TypeAssumptions assumptions)

Spezifikation: TYPEExpr( Ass, Lambda( (x1 , . . . , xN ), expr|stmt ) ) = let AssArgs = { xi : ai | ai fresh type variables } (exprt : rty, ConS) = TYPEExpr( Ass Ã¢ÂÂª AssArgs, expr ) | (stmtt : rty, ConS) = TYPEStmt( Ass u AssArgs, stmt ) in (Lambda( (x1 : a1 , . . . , xN : aN ), exprt : rty|stmtt : rty ) : a, ConS Ã¢ÂÂª { (FunN<rty, a1 , . . . , aN > a) }), where a is a fresh type variable

Specified by:
  `TYPEExpr` in class `Expr`

#### TYPEStmt

    public ConstraintsSet TYPEStmt(TypeAssumptions ass)

Overrides:
  `TYPEStmt` in class `Expr`

#### getTypeInformation

    public java.lang.String getTypeInformation()

Overrides:
  `getTypeInformation` in class `Statement`
Returns:

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`

#### printJavaCode

    public JavaCodeResult printJavaCode(ResultSet resultSet)

Specified by:
  `printJavaCode` in class `Statement`

#### getChildren

    public Menge<SyntaxTreeNode> getChildren()

Specified by:
  `getChildren` in class `SyntaxTreeNode`