de.dhbwstuttgart.syntaxtree.statement

## Class LocalVarDecl

- java.lang.Object
- - de.dhbwstuttgart.syntaxtree.SyntaxTreeNode
  - - de.dhbwstuttgart.syntaxtree.statement.Statement
    - - de.dhbwstuttgart.syntaxtree.statement.LocalVarDecl

- All Implemented Interfaces:
    IItemWithOffset, Typeable, TypeInsertable

      public class LocalVarDecl
      extends Statement
      implements TypeInsertable

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `Block` | `block`
    `private Menge<DeclId>` | `declid`
    `protected static Logger` | `inferencelog`
    `private java.util.Hashtable<java.lang.String,Type>` | `parahash`
    `private Menge` | `paralist`
    `protected static Logger` | `parserlog`

    - ### 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
    `LocalVarDecl(int offset, int variableLength)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `TypeInsertPoint` | `createTypeInsertPoint(TypePlaceholder tph, ResultSet resultSet)` Errechnet den TypeInsertPoint fÃ¼r das TypeInsertable.
    `java.lang.String` | `get_Name()`
    `Menge<SyntaxTreeNode>` | `getChildren()`
    `Menge<DeclId>` | `getDeclidMenge()`
    `java.lang.String` | `getDescription()` Eine Beschreibung/Name des SyntaxTree-Nodes
    `java.lang.String` | `getIdentifier()`
    `int` | `getLineNumber()` Author: JÃ¯Â¿Â½rg BÃ¯Â¿Â½uerle
    `int` | `getOffset()` Author: Thomas Hornberger
    `java.lang.String` | `getTypeInformation()`
    `int` | `getTypeLineNumber()` Author: JÃ¯Â¿Â½rg BÃ¯Â¿Â½uerle
    `void` | `is_declared(Type t, Menge<Class> classlist)`
    `void` | `parserPostProcessing(SyntaxTreeNode parent)` Wird nach dem Parsen aufgerufen.
    `JavaCodeResult` | `printJavaCode(ResultSet resultSet)`
    `void` | `set_DeclId(DeclId did)`
    `void` | `set_ParaList(Menge pl)`
    `void` | `setDeclidMenge(Menge<DeclId> declid)`
    `void` | `setOffset(int offset)`
    `java.lang.String` | `toString()` Author: Martin PlÃ¯Â¿Â½micke
    `ConstraintsSet` | `TYPEStmt(TypeAssumptions assumptions)`
    `void` | `wandleRefTypeAttributes2GenericAttributes(Menge<Type> paralist, Menge<GenericTypeVar> genericMethodParameters)`

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

      `getReturnType, getType, getVariableLength, setReturnType, setType`

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

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

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

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

    - ### Methods inherited from interface de.dhbwstuttgart.typeinference.Typeable

      `getType, setType`

    - ### Methods inherited from interface de.dhbwstuttgart.core.IItemWithOffset

      `getVariableLength`

- - ### Field Detail

    - #### declid

          private Menge<DeclId> declid

    - #### paralist

          private Menge paralist

    - #### parahash

          private java.util.Hashtable<java.lang.String,Type> parahash

    - #### inferencelog

          protected static Logger inferencelog

    - #### parserlog

          protected static Logger parserlog

    - #### block

          public Block block

  - ### Constructor Detail

    - #### LocalVarDecl

          public LocalVarDecl(int offset,
                              int variableLength)

  - ### Method Detail

    - #### set_DeclId

          public void set_DeclId(DeclId did)

    - #### get_Name

          public java.lang.String get_Name()

    - #### set_ParaList

          public void set_ParaList(Menge pl)

    - #### is_declared

          public void is_declared(Type t,
                                  Menge<Class> classlist)
                           throws SCStatementException

      Throws:
        `SCStatementException`

    - #### getDeclidMenge

          public Menge<DeclId> getDeclidMenge()

    - #### setDeclidMenge

          public void setDeclidMenge(Menge<DeclId> declid)

    - #### getLineNumber

          public int getLineNumber()

      Author: JÃ¯Â¿Â½rg BÃ¯Â¿Â½uerle
      Returns:

    - #### getOffset

          public int getOffset()

      Author: Thomas Hornberger
      Specified by:
        `getOffset` in interface `IItemWithOffset`
      Specified by:
        `getOffset` in interface `TypeInsertable`
      Overrides:
        `getOffset` in class `Statement`
      Returns:

    - #### getTypeLineNumber

          public int getTypeLineNumber()

      Author: JÃ¯Â¿Â½rg BÃ¯Â¿Â½uerle
      Returns:

    - #### toString

          public java.lang.String toString()

      Author: Martin PlÃ¯Â¿Â½micke
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:

    - #### wandleRefTypeAttributes2GenericAttributes

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

      Specified by:
        `wandleRefTypeAttributes2GenericAttributes` in class `Statement`

    - #### TYPEStmt

          public ConstraintsSet TYPEStmt(TypeAssumptions assumptions)

      Specified by:
        `TYPEStmt` in class `Statement`

    - #### getDescription

          public java.lang.String getDescription()

      Description copied from class: `SyntaxTreeNode`
      Eine Beschreibung/Name des SyntaxTree-Nodes
      Overrides:
        `getDescription` in class `Statement`
      Returns:

    - #### parserPostProcessing

          public void parserPostProcessing(SyntaxTreeNode parent)

      Description copied from class: `SyntaxTreeNode`
      Wird nach dem Parsen aufgerufen. ErfÃ¼llt folgenden Aufgaben: 1. FÃ¼llt fehlende Typangaben mit TPHs auf. 2. VerknÃ¼pft die Knoten des Syntaxbaums. (setzt Parent) 3. Wechselt RefTypes gegebenenfalls mit GenericTypeVars aus. 4. FÃ¼hrt einen Teil des Syntaxckecks durch.
      Overrides:
        `parserPostProcessing` in class `SyntaxTreeNode`

    - #### getTypeInformation

          public java.lang.String getTypeInformation()

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

    - #### printJavaCode

          public JavaCodeResult printJavaCode(ResultSet resultSet)

      Specified by:
        `printJavaCode` in class `Statement`

    - #### setOffset

          public void setOffset(int offset)

      Specified by:
        `setOffset` in interface `TypeInsertable`

    - #### getIdentifier

          public java.lang.String getIdentifier()

      Specified by:
        `getIdentifier` in interface `TypeInsertable`

    - #### getChildren

          public Menge<SyntaxTreeNode> getChildren()

      Specified by:
        `getChildren` in class `SyntaxTreeNode`

    - #### createTypeInsertPoint

          public TypeInsertPoint createTypeInsertPoint(TypePlaceholder tph,
                                                       ResultSet resultSet)

      Description copied from interface: `TypeInsertable`
      Errechnet den TypeInsertPoint fÃ¼r das TypeInsertable. TypeInsertPoints sollten nur Ã¼ber diese Funktion erstellt werden.
      Specified by:
        `createTypeInsertPoint` in interface `TypeInsertable`
      Returns:
        - kann auch null zurÃ¼ckgeben.