de.dhbwstuttgart.syntaxtree.type

## Class Type

- java.lang.Object
- - de.dhbwstuttgart.syntaxtree.SyntaxTreeNode
  - - de.dhbwstuttgart.syntaxtree.type.Type

- All Implemented Interfaces:
    IItemWithOffset
  Direct Known Subclasses:
    BaseType, FreshWildcardType, ObjectType, ReturnType, WildcardType

      public abstract class Type
      extends SyntaxTreeNode
      implements IItemWithOffset

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected JavaClassName` | `name`
    `private int` | `offset`
    `protected UsedId` | `used`

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

      `parent`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `` | `Type(java.lang.String s, SyntaxTreeNode parent, int offset)`
    `protected` | `Type(SyntaxTreeNode parent, int offset)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Type` | `applyResultSet(ResultSet result)`
    `Type` | `checkTYPE(TypeAssumptions ass, SyntaxTreeNode method)`
    `abstract Type` | `clone()` Author: JÃ¯Â¿Â½rg BÃ¯Â¿Â½uerle
    `boolean` | `equals(java.lang.Object obj)` Author: JÃ¯Â¿Â½rg BÃ¯Â¿Â½uerle
    `java.lang.String` | `get_Name()`
    `UsedId` | `get_UsedId()`
    `Menge<SyntaxTreeNode>` | `getChildren()`
    `Menge<TypePlaceholder>` | `getInvolvedTypePlaceholder()` Sammelt alle TypePlaceholder, welche in diesem Typ vorkommen.
    `JavaClassName` | `getName()`
    `int` | `getOffset()`
    `java.lang.String` | `getSimpleName()` HOTI Liefert bei Klassen die fullyQualified angegeben wurden nur den schlussendlichen Bezeichner p.ex. de.dhbwstuttgart.typeinference.Menge => Menge
    `java.util.ArrayList<SuperWildcardType>` | `getSuperWildcardTypes()` Liefert alle SuperWildcardTypes, die in diesem Typ enthalten sind.
    `Menge<TypePlaceholder>` | `getUnresolvedTPH(ResultSet resultSet)` Sucht nach TPHs in diesem Typ, denen das resultSet keinen Typ zuordnen kann.
    `int` | `getVariableLength()`
    `boolean` | `involves(TypePlaceholder tph)` PrÃ¼ft ob der Typ von dem Ã¼bergebenen TypPlaceholder abhÃ¤ngt.
    `JavaCodeResult` | `printJavaCode(ResultSet resultSet)`
    `void` | `set_UsedId(UsedId uid)`
    `void` | `setOffset(int offset)`
    `java.lang.String` | `toString()` Author: JÃ¯Â¿Â½rg BÃ¯Â¿Â½uerle
    `ConstraintType` | `TYPE(TypeAssumptions ass, SyntaxTreeNode parent)` PrÃ¼ft ob der Typ in den Assumptions ass vorhanden ist.
    `java.lang.String` | `Type2Key()`
    `java.lang.String` | `Type2String()`

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

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

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

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

- - ### Field Detail

    - #### name

          protected JavaClassName name

    - #### used

          protected UsedId used

    - #### offset

          private int offset

  - ### Constructor Detail

    - #### Type

          public Type(java.lang.String s,
                      SyntaxTreeNode parent,
                      int offset)

    - #### Type

          protected Type(SyntaxTreeNode parent,
                         int offset)

  - ### Method Detail

    - #### getOffset

          public int getOffset()

      Specified by:
        `getOffset` in interface `IItemWithOffset`

    - #### setOffset

          public void setOffset(int offset)

    - #### getVariableLength

          public int getVariableLength()

      Specified by:
        `getVariableLength` in interface `IItemWithOffset`

    - #### set_UsedId

          public void set_UsedId(UsedId uid)

    - #### get_UsedId

          public UsedId get_UsedId()

    - #### get_Name

          public java.lang.String get_Name()

    - #### Type2String

          public java.lang.String Type2String()

    - #### Type2Key

          public java.lang.String Type2Key()

    - #### getName

          public JavaClassName getName()

    - #### equals

          public boolean equals(java.lang.Object obj)

      Author: JÃ¯Â¿Â½rg BÃ¯Â¿Â½uerle
      Overrides:
        `equals` in class `SyntaxTreeNode`
      Parameters:
        `Object` -
      Returns:

    - #### clone

          public abstract Type clone()

      Author: JÃ¯Â¿Â½rg BÃ¯Â¿Â½uerle
      Overrides:
        `clone` in class `java.lang.Object`
      Returns:
        // ino.end // ino.method.clone.26768.definition public Type clone() // ino.end // ino.method.clone.26768.body { return new RefType(this.getName().toString(), this.getParent(),getOffset()); } // ino.end

    - #### toString

          public java.lang.String toString()

      Author: JÃ¯Â¿Â½rg BÃ¯Â¿Â½uerle
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:

    - #### getSimpleName

          public java.lang.String getSimpleName()

      HOTI Liefert bei Klassen die fullyQualified angegeben wurden nur den schlussendlichen Bezeichner p.ex. de.dhbwstuttgart.typeinference.Menge => Menge
      Returns:

    - #### printJavaCode

          public JavaCodeResult printJavaCode(ResultSet resultSet)

    - #### applyResultSet

          public Type applyResultSet(ResultSet result)

    - #### getSuperWildcardTypes

          public java.util.ArrayList<SuperWildcardType> getSuperWildcardTypes()

      Liefert alle SuperWildcardTypes, die in diesem Typ enthalten sind.
      Returns:

    - #### getUnresolvedTPH

          public Menge<TypePlaceholder> getUnresolvedTPH(ResultSet resultSet)

      Sucht nach TPHs in diesem Typ, denen das resultSet keinen Typ zuordnen kann.
      Parameters:
        `resultSet` -
      Returns:

    - #### involves

          public boolean involves(TypePlaceholder tph)

      PrÃ¼ft ob der Typ von dem Ã¼bergebenen TypPlaceholder abhÃ¤ngt.
      Parameters:
        `tph` -
      Returns:

    - #### TYPE

          public ConstraintType TYPE(TypeAssumptions ass,
                                     SyntaxTreeNode parent)

      PrÃ¼ft ob der Typ in den Assumptions ass vorhanden ist. Dabei kann eine neue Instanz eines Typs entstehen, welche von der Methode zurÃ¼ckgegeben wird.
      Parameters:
        `ass` - - Die Assumptions fÃ¼r den jeweiligen Kontext in dem sich der Typ befindet. public ConstraintType checkType(TypeAssumptions ass, SyntaxTreeNode parent){ ConstraintType t = ass.getTypeFor(this, this); if(t==null) throw new TypeinferenceException("Der Typ "+this.getName()+" ist nicht korrekt", parent); return t; }

    - #### getInvolvedTypePlaceholder

          public Menge<TypePlaceholder> getInvolvedTypePlaceholder()

      Sammelt alle TypePlaceholder, welche in diesem Typ vorkommen.
      Returns:

    - #### getChildren

          public Menge<SyntaxTreeNode> getChildren()

      Specified by:
        `getChildren` in class `SyntaxTreeNode`

    - #### checkTYPE

          public Type checkTYPE(TypeAssumptions ass,
                                SyntaxTreeNode method)