de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mytype/Type.html"title="class in mycompiler.mytype">Type</a>> ct,
de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/UsedId.html"title="class in mycompiler.myclass">UsedId</a>> usedIdsToCheck,
de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/UsedId.html"title="class in mycompiler.myclass">UsedId</a>> superif,
de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mytype/Type.html"title="class in mycompiler.mytype">Type</a>> paralist)</code>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/myclass/Class.html#addOffsetsToStatement(mycompiler.mytypereconstruction.typeassumption.CTypeAssumption, mycompiler.mystatement.Statement, java.lang.String, boolean)">addOffsetsToStatement</a></strong>(<ahref="../../mycompiler/mytypereconstruction/typeassumption/CTypeAssumption.html"title="class in mycompiler.mytypereconstruction.typeassumption">CTypeAssumption</a> localAssumption,
<ahref="../../mycompiler/mystatement/Statement.html"title="class in mycompiler.mystatement">Statement</a> statement,
java.lang.String NameVariable,
boolean isMemberVariable)</code>
<divclass="block">Hilfs-Methode f<>r die Offset-Zuweisung
durchsucht ein Statement rekursiv
<br/>Author: Thomas Hornberger 08.04.2006
<br/>Author: Arne L<>dtke 20.10.2007, Auf Polymorphie umgebaut.</div>
</td>
</tr>
<trclass="rowColor">
<tdclass="colFirst"><code>void</code></td>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/myclass/Class.html#codegen(mycompiler.SourceFile)">codegen</a></strong>(<ahref="../../mycompiler/SourceFile.html"title="class in mycompiler">SourceFile</a> sf)</code> </td>
<tdclass="colFirst"><code>de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mytype/Type.html"title="class in mycompiler.mytype">Type</a>></code></td>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/myclass/Class.html#createGenericTypeVars(mycompiler.mytypereconstruction.CTypeReconstructionResult)">createGenericTypeVars</a></strong>(<ahref="../../mycompiler/mytypereconstruction/CTypeReconstructionResult.html"title="class in mycompiler.mytypereconstruction">CTypeReconstructionResult</a> reconstructionResult)</code>
<divclass="block">Errechnet die Generischen Parameter der Klasse f<>r diese Klasse.</div>
<tdclass="colFirst"><code>de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mytype/Type.html"title="class in mycompiler.mytype">Type</a>></code></td>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/myclass/Class.html#getTypeInformation(de.dhbwstuttgart.typeinference.Menge, de.dhbwstuttgart.typeinference.Menge)">getTypeInformation</a></strong>(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/Method.html"title="class in mycompiler.myclass">Method</a>> methodList,
de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mystatement/Expr.html"title="class in mycompiler.mystatement">Expr</a>> fieldList)</code> </td>
<tdclass="colFirst"><code>de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/UsedId.html"title="class in mycompiler.myclass">UsedId</a>></code></td>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/myclass/Class.html#para_check(de.dhbwstuttgart.typeinference.Menge, boolean)">para_check</a></strong>(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/Class.html"title="class in mycompiler.myclass">Class</a>> classlist,
<tdclass="colLast"><code><strong><ahref="../../mycompiler/myclass/Class.html#printJavaCode(mycompiler.mytypereconstruction.CTypeReconstructionResult)">printJavaCode</a></strong>(<ahref="../../mycompiler/mytypereconstruction/CTypeReconstructionResult.html"title="class in mycompiler.mytypereconstruction">CTypeReconstructionResult</a> reconstructionResult)</code>
<divclass="block">Generiert den JavaCode dieser Klasse im Falle f<>r das <20>bergebene resultSet.</div>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/myclass/Class.html#sc_check_for_extended_classes(de.dhbwstuttgart.typeinference.Menge, java.util.Hashtable, boolean)">sc_check_for_extended_classes</a></strong>(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/Class.html"title="class in mycompiler.myclass">Class</a>> classlist,
<tdclass="colLast"><code><strong><ahref="../../mycompiler/myclass/Class.html#sc_check(de.dhbwstuttgart.typeinference.Menge, boolean)">sc_check</a></strong>(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/Class.html"title="class in mycompiler.myclass">Class</a>> classlist,
<tdclass="colLast"><code><strong><ahref="../../mycompiler/myclass/Class.html#set_class_block(mycompiler.mystatement.Block)">set_class_block</a></strong>(<ahref="../../mycompiler/mystatement/Block.html"title="class in mycompiler.mystatement">Block</a> block)</code> </td>
</tr>
<trclass="altColor">
<tdclass="colFirst"><code>void</code></td>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/myclass/Class.html#set_ClassBody(mycompiler.myclass.ClassBody)">set_ClassBody</a></strong>(<ahref="../../mycompiler/myclass/ClassBody.html"title="class in mycompiler.myclass">ClassBody</a> body)</code> </td>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/myclass/Class.html#set_ParaList(de.dhbwstuttgart.typeinference.Menge)">set_ParaList</a></strong>(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mytype/Type.html"title="class in mycompiler.mytype">Type</a>> para)</code> </td>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/myclass/Class.html#set_UsedId(mycompiler.myclass.UsedId)">set_UsedId</a></strong>(<ahref="../../mycompiler/myclass/UsedId.html"title="class in mycompiler.myclass">UsedId</a> uid)</code> </td>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/myclass/Class.html#setContainedTypes(de.dhbwstuttgart.typeinference.Menge)">setContainedTypes</a></strong>(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mytype/Type.html"title="class in mycompiler.mytype">Type</a>> containedTypes)</code> </td>
<tdclass="colFirst"><code>de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mytypereconstruction/CTypeReconstructionResult.html"title="class in mycompiler.mytypereconstruction">CTypeReconstructionResult</a>></code></td>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/myclass/Class.html#TRProg(mycompiler.mytypereconstruction.CSupportData, typinferenz.TypeAssumptions)">TRProg</a></strong>(<ahref="../../mycompiler/mytypereconstruction/CSupportData.html"title="class in mycompiler.mytypereconstruction">CSupportData</a> supportData,
<ahref="../../typinferenz/TypeAssumptions.html"title="class in typinferenz">TypeAssumptions</a> globalAssumptions)</code>
<divclass="block">Ausgangspunkt f<>r den Typrekonstruktionsalgorithmus.</div>
</td>
</tr>
<trclass="rowColor">
<tdclass="colFirst"><code><ahref="../../typinferenz/ConstraintsSet.html"title="class in typinferenz">ConstraintsSet</a></code></td>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/myclass/Class.html#TYPE(de.dhbwstuttgart.typeinference.Menge, de.dhbwstuttgart.typeinference.Menge, typinferenz.TypeAssumptions)">TYPE</a></strong>(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/Method.html"title="class in mycompiler.myclass">Method</a>> methodList,
de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mystatement/Expr.html"title="class in mycompiler.mystatement">Expr</a>> fielddeclarationList,
<h3>Methods inherited from class mycompiler.<ahref="../../mycompiler/AClassOrInterface.html"title="class in mycompiler">AClassOrInterface</a></h3>
de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mytype/Type.html"title="class in mycompiler.mytype">Type</a>> ct,
de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/UsedId.html"title="class in mycompiler.myclass">UsedId</a>> usedIdsToCheck,
<pre>public de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/UsedId.html"title="class in mycompiler.myclass">UsedId</a>> getUsedIdsToCheck()</pre>
<pre>public void setContainedTypes(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mytype/Type.html"title="class in mycompiler.mytype">Type</a>> containedTypes)</pre>
<pre>public de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mytype/Type.html"title="class in mycompiler.mytype">Type</a>> getContainedTypes()</pre>
<pre>public void para_check(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/Class.html"title="class in mycompiler.myclass">Class</a>> classlist,
<pre>public de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mytype/Type.html"title="class in mycompiler.mytype">Type</a>> complete_paralist(boolean ext)</pre>
<pre>public void sc_check(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/Class.html"title="class in mycompiler.myclass">Class</a>> classlist,
<pre>public void sc_check_for_extended_classes(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/Class.html"title="class in mycompiler.myclass">Class</a>> classlist,
<pre>public void codegen(<ahref="../../mycompiler/SourceFile.html"title="class in mycompiler">SourceFile</a> sf)
throws <ahref="../../mycompiler/myexception/JVMCodeException.html"title="class in mycompiler.myexception">JVMCodeException</a></pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><ahref="../../mycompiler/AClassOrInterface.html#codegen(mycompiler.SourceFile)">codegen</a></code> in class <code><ahref="../../mycompiler/AClassOrInterface.html"title="class in mycompiler">AClassOrInterface</a></code></dd>
<dt><spanclass="strong">Throws:</span></dt>
<dd><code><ahref="../../mycompiler/myexception/JVMCodeException.html"title="class in mycompiler.myexception">JVMCodeException</a></code></dd></dl>
</li>
</ul>
<aname="set_UsedId(mycompiler.myclass.UsedId)">
<!---->
</a>
<ulclass="blockList">
<liclass="blockList">
<h4>set_UsedId</h4>
<pre>public void set_UsedId(<ahref="../../mycompiler/myclass/UsedId.html"title="class in mycompiler.myclass">UsedId</a> uid)</pre>
<pre>public void set_ClassBody(<ahref="../../mycompiler/myclass/ClassBody.html"title="class in mycompiler.myclass">ClassBody</a> body)</pre>
<pre>public void set_class_block(<ahref="../../mycompiler/mystatement/Block.html"title="class in mycompiler.mystatement">Block</a> block)</pre>
<pre>public void set_ParaList(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mytype/Type.html"title="class in mycompiler.mytype">Type</a>> para)</pre>
<pre>public de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mytypereconstruction/CTypeReconstructionResult.html"title="class in mycompiler.mytypereconstruction">CTypeReconstructionResult</a>> TRProg(<ahref="../../mycompiler/mytypereconstruction/CSupportData.html"title="class in mycompiler.mytypereconstruction">CSupportData</a> supportData,
<ahref="../../typinferenz/TypeAssumptions.html"title="class in typinferenz">TypeAssumptions</a> globalAssumptions)
throws <ahref="../../mycompiler/myexception/CTypeReconstructionException.html"title="class in mycompiler.myexception">CTypeReconstructionException</a></pre>
<divclass="block">Ausgangspunkt f<>r den Typrekonstruktionsalgorithmus. Hier werden zun<75>chst
die Mengen von Typannahmen V_fields_methods und V_i erstellt, die als Eingabe
f<>r den Algorithmus dienen.<br/>
(siehe Algorithmus 5.17 TRProg, Martin Pl<50>micke)
<dt><spanclass="strong">Returns:</span></dt><dd>Liste aller bisher berechneten, m<>glichen Typkombinationen</dd>
<dt><spanclass="strong">Throws:</span></dt>
<dd><code><ahref="../../mycompiler/myexception/CTypeReconstructionException.html"title="class in mycompiler.myexception">CTypeReconstructionException</a></code></dd></dl>
<pre>public <ahref="../../typinferenz/ConstraintsSet.html"title="class in typinferenz">ConstraintsSet</a> TYPE(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/Method.html"title="class in mycompiler.myclass">Method</a>> methodList,
de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mystatement/Expr.html"title="class in mycompiler.mystatement">Expr</a>> fielddeclarationList,
<pre>public static void addOffsetsToAssumption(<ahref="../../mycompiler/mytypereconstruction/typeassumption/CTypeAssumption.html"title="class in mycompiler.mytypereconstruction.typeassumption">CTypeAssumption</a> localAssumption,
<ahref="../../mycompiler/mystatement/Block.html"title="class in mycompiler.mystatement">Block</a> localBlock,
java.lang.String NameVariable,
boolean isMemberVariable)</pre>
<divclass="block">Methode f<>gt zu einer CTypeAssumption alle
Offsets hinzu, wo die Variable benutzt wird.
<br/>Author: Thomas Hornberger 07.04.2006
<br/>Author: Arne L<>dtke 20.01.2007, Auf Polymorphie erweitert.
Wird nicht mehr verwendet. In Block ausgelagert.</div>
<pre>public static boolean addOffsetsToStatement(<ahref="../../mycompiler/mytypereconstruction/typeassumption/CTypeAssumption.html"title="class in mycompiler.mytypereconstruction.typeassumption">CTypeAssumption</a> localAssumption,
<ahref="../../mycompiler/mystatement/Statement.html"title="class in mycompiler.mystatement">Statement</a> statement,
java.lang.String NameVariable,
boolean isMemberVariable)</pre>
<divclass="block">Hilfs-Methode f<>r die Offset-Zuweisung
durchsucht ein Statement rekursiv
<br/>Author: Thomas Hornberger 08.04.2006
<br/>Author: Arne L<>dtke 20.10.2007, Auf Polymorphie umgebaut.</div>
<pre>public static void addOffsetsToExpression(<ahref="../../mycompiler/mytypereconstruction/typeassumption/CTypeAssumption.html"title="class in mycompiler.mytypereconstruction.typeassumption">CTypeAssumption</a> localAssumption,
<ahref="../../mycompiler/mystatement/Expr.html"title="class in mycompiler.mystatement">Expr</a> expression,
java.lang.String NameVariable,
boolean isMemberVariable)</pre>
<divclass="block">Hilfs-Methode f<>r die Offset-Zuweisung
durchsucht eine Expression rekursiv
<br/>Author: Thomas Hornberger 07.04.2006
<br/>Authos: Arne L<>dtke 20.01.2007, Auf Polymorphie umgebaut.</div>
<pre>public java.lang.String getTypeInformation(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/Method.html"title="class in mycompiler.myclass">Method</a>> methodList,
de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mystatement/Expr.html"title="class in mycompiler.mystatement">Expr</a>> fieldList)</pre>
<pre>public java.lang.String printJavaCode(<ahref="../../mycompiler/mytypereconstruction/CTypeReconstructionResult.html"title="class in mycompiler.mytypereconstruction">CTypeReconstructionResult</a> reconstructionResult)</pre>
<divclass="block">Generiert den JavaCode dieser Klasse im Falle f<>r das <20>bergebene resultSet.
Dem ResultSet entsprechend werden in diesem Java-Code die TypePlaceholder durch die in ResultSet stehenden Typen ersetzt.</div>
<pre>public void createGenericTypeVars(<ahref="../../mycompiler/mytypereconstruction/CTypeReconstructionResult.html"title="class in mycompiler.mytypereconstruction">CTypeReconstructionResult</a> reconstructionResult)</pre>
<divclass="block">Errechnet die Generischen Parameter der Klasse f<>r diese Klasse.
Die berechneten Variablen werden anschlie<69>end in die this.genericTypeVars eingesetzt. Dabei werden alte genericTypeVars <20>berschrieben.</div>
<pre>public <ahref="../../typinferenz/TypeAssumptions.html"title="class in typinferenz">TypeAssumptions</a> getPublicFieldAssumptions()</pre>
<divclass="block">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.</div>