de.dhbwstuttgart.typeinference

## Class FunNInterface

- java.lang.Object
- - de.dhbwstuttgart.syntaxtree.SyntaxTreeNode
  - - de.dhbwstuttgart.syntaxtree.GTVDeclarationContext
    - - de.dhbwstuttgart.syntaxtree.ClassOrInterface
      - - de.dhbwstuttgart.typeinference.FunNInterface

All Implemented Interfaces:
  AClassOrInterface, IItemWithOffset, Generic, GenericTypeInsertable

    public class FunNInterface
    extends Class

Stellt das Interface FunN dar.

Author:
  janulrich

### Field Summary

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

`inferencelog, isFirstLocalVarDecl, modifiers, name, pkgName, superclassid, typinferenzLog`

### Constructor Summary

Constructors
Constructor and Description
`FunNInterface(int N)` Ein FunN-Interface enthÃ¤lt nur eine Methode (namens apply).

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`private FunNMethod` `getApplyFunction()` Erstellt die nach Definition des Typinferenzalgorithmus von Martin PlÃ¼micke, in jedem FunN-Interface enthaltene apply-Methode
`TypeAssumptions` `getPublicFieldAssumptions()` Ermittelt die Sichtbaren Felder und Methoden der Klasse.
`private static Menge<java.lang.String>` `makeParaList(int n)`

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

`addField, does_Class_extend, equals, get_class_block, get_ParaHash, get_ParaList, get_Superclass_Name, getAccessFlags, getChildren, getContainedTypes, getDescription, getFields, getGenericParameter, getGenericVarDeclarationOffset, getGenericVarDeclarationString, getModifiers, getName, getOffset, getPackageName, getParent, getSimpleName, getSuperClass, getSuperInterfaces, getType, getTypeInformation, getUsedIdsToCheck, getVariableLength, isClass, parserPostProcessing, printJavaCode, set_class_block, set_ClassBody, set_ParaHash, set_UsedId, setContainedTypes, setGenericParameter, setModifiers, setName, setPackageName, setSuperInterfaces, toString, typeReconstruction, wandleRefTypeAttributes2GenericAttributes`

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

`getGTVDeclarationContext`

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

`addTypeInsertPoints, getMatchingParentNode, getParentClass, seesType`

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

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

### Constructor Detail

#### FunNInterface

    public FunNInterface(int N)

Ein FunN-Interface enthÃ¤lt nur eine Methode (namens apply). Ist also ein Funktionales Interface.

Parameters:
  `N` - - Die Anzahl der Parameter der apply-Methode. Beispiel N = 1 ergibt `R apply(T1 par1);`

### Method Detail

#### makeParaList

    private static Menge<java.lang.String> makeParaList(int n)

#### getPublicFieldAssumptions

    public TypeAssumptions getPublicFieldAssumptions()

Description copied from class: `Class`
Ermittelt die Sichtbaren Felder und Methoden der Klasse. (Momentan sind im Projekt alle Felder und Methoden "package private", da der Parser keine Access-Modifier einlesen kann.

Overrides:
  `getPublicFieldAssumptions` in class `Class`
Returns:
  Im Falle von einem FunN-Interface ist dies die apply-Methode

#### getApplyFunction

    private FunNMethod getApplyFunction()

Erstellt die nach Definition des Typinferenzalgorithmus von Martin PlÃ¼micke, in jedem FunN-Interface enthaltene apply-Methode

Returns: