de.dhbwstuttgart.typeinference

## Class FunN

- java.lang.Object
- - de.dhbwstuttgart.syntaxtree.SyntaxTreeNode
  - - de.dhbwstuttgart.syntaxtree.type.Type
    - - de.dhbwstuttgart.syntaxtree.type.ObjectType
      - - de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric
        - - de.dhbwstuttgart.typeinference.FunN

All Implemented Interfaces:
  IItemWithOffset, IMatchable

    public class FunN
    extends RefType

Author:
  A10023 - Andreas Stadelmeier Bemerkung: FunN ist ein RefType. Der RefType ist nicht mit einem FunNInterface verbunden.
See Also:
  `"Complete Typeinference in Java 8" von Martin PlÃ¼micke "interface FunN<R,T1, T2, ... ,TN> { R apply(T1 arg1, T2 arg2, ... , TN argN); }"`

### Field Summary

Fields
`private Type` `R`
`private Menge<Type>` `T`

### Fields inherited from class de.dhbwstuttgart.syntaxtree.type.Type

`name, used`

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

`parent`

### Constructor Summary

Constructors
Constructor and Description
`FunN(int parameterCount)` Erstellt eine FunN: FunN<R, T1, ..., TparameterCount> R und T1 - TparameterCount werden mit TypePlaceholdern besetzt.
`FunN(Type R, Menge<Type> T)`

### Method Summary

All Methods Instance Methods Concrete Methods
`private void` `calculateNewParalist()` Muss nach jeder Ãnderung von T oder R aufgerufen werden.
`int` `getTypeLineNumber()`
`protected void` `setR(Type R)`
`protected void` `setT(Menge<Type> T)`

### Methods inherited from class de.dhbwstuttgart.syntaxtree.type.RefType

`add_Parameter, applyResultSet, checkTYPE, clone, equals, Equiv2Equal, findGenericType, GenericTypeVar2TypePlaceholder, get_Name, get_ParaList, getChildren, getInvolvedTypePlaceholder, getMatchType, getName, getParaList, getParaN, getPrimitiveFlag, getSimpleName, getSuperWildcardTypes, getTypeName, getUnresolvedTPH, GTV2TPH, hashCode, is_Equiv, IsArray, isTV, parserPostProcessing, printJavaCode, set_ParaList, setArray, setName, setName, setPrimitiveFlag, toString, TYPE, Type2Key, Type2String`

### Methods inherited from class de.dhbwstuttgart.syntaxtree.type.Type

`get_UsedId, getOffset, getVariableLength, involves, set_UsedId, setOffset`

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

`addTypeInsertPoints, getDescription, getGTVDeclarationContext, getMatchingParentNode, getParent, getParentClass, seesType`

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

`finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### R

    private Type R

#### T

    private Menge<Type> T

### Constructor Detail

#### FunN

    public FunN(Type R,
                Menge<Type> T)

Parameters:
  `R` -
  `T` -

#### FunN

    public FunN(int parameterCount)

Erstellt eine FunN: FunN<R, T1, ..., TparameterCount> R und T1 - TparameterCount werden mit TypePlaceholdern besetzt.

Parameters:
  `parameterCount` -

### Method Detail

#### calculateNewParalist

    private void calculateNewParalist()

Muss nach jeder Ãnderung von T oder R aufgerufen werden. Dabei werden bestimmte, von RefType geerbte, Parameter angepasst. Dies ist wichtig fÃ¼r den Typinferenzalgorithmus.

#### setT

    protected void setT(Menge<Type> T)

#### setR

    protected void setR(Type R)

#### getTypeLineNumber

    public int getTypeLineNumber()