<li><ahref="../../mycompiler/mystatement/Statement.html"title="class in mycompiler.mystatement">mycompiler.mystatement.Statement</a></li>
<li>
<ulclass="inheritance">
<li><ahref="../../mycompiler/mystatement/ExprStmt.html"title="class in mycompiler.mystatement">mycompiler.mystatement.ExprStmt</a></li>
<li>
<ulclass="inheritance">
<li><ahref="../../mycompiler/mystatement/Expr.html"title="class in mycompiler.mystatement">mycompiler.mystatement.Expr</a></li>
<li>
<ulclass="inheritance">
<li><ahref="../../mycompiler/mystatement/Literal.html"title="class in mycompiler.mystatement">mycompiler.mystatement.Literal</a></li>
<li>
<ulclass="inheritance">
<li>mycompiler.mystatement.BoolLiteral</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<divclass="description">
<ulclass="blockList">
<liclass="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><ahref="../../mycompiler/IItemWithOffset.html"title="interface in mycompiler">IItemWithOffset</a>, <ahref="../../mycompiler/mytypereconstruction/replacementlistener/ITypeReplacementListener.html"title="interface in mycompiler.mytypereconstruction.replacementlistener">ITypeReplacementListener</a>, <ahref="../../typinferenz/Typable.html"title="interface in typinferenz">Typable</a></dd>
</dl>
<hr>
<br>
<pre>public class <spanclass="strong">BoolLiteral</span>
extends <ahref="../../mycompiler/mystatement/Literal.html"title="class in mycompiler.mystatement">Literal</a></pre>
<h3>Fields inherited from class mycompiler.mystatement.<ahref="../../mycompiler/mystatement/Expr.html"title="class in mycompiler.mystatement">Expr</a></h3>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/mystatement/BoolLiteral.html#codegen(mycompiler.mybytecode.ClassFile, mycompiler.mybytecode.CodeAttribute, de.dhbwstuttgart.typeinference.Menge)">codegen</a></strong>(<ahref="../../mycompiler/mybytecode/ClassFile.html"title="class in mycompiler.mybytecode">ClassFile</a> classfile,
<tdclass="colLast"><code><strong><ahref="../../mycompiler/mystatement/BoolLiteral.html#ConstantCodegen(mycompiler.mybytecode.ClassFile)">ConstantCodegen</a></strong>(<ahref="../../mycompiler/mybytecode/ClassFile.html"title="class in mycompiler.mybytecode">ClassFile</a> classfile)</code>
<divclass="block">Erzeugt die benoetigten Konstanteneintraege, die den Wert
<tdclass="colLast"><code><strong><ahref="../../mycompiler/mystatement/BoolLiteral.html#printJavaCode(typinferenz.ResultSet)">printJavaCode</a></strong>(<ahref="../../typinferenz/ResultSet.html"title="class in typinferenz">ResultSet</a> resultSet)</code> </td>
<tdclass="colFirst"><code><ahref="../../mycompiler/mytypereconstruction/set/CTripleSet.html"title="class in mycompiler.mytypereconstruction.set">CTripleSet</a></code></td>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/mystatement/BoolLiteral.html#TRExp(mycompiler.mytypereconstruction.set.CSubstitutionSet, mycompiler.mytypereconstruction.set.CTypeAssumptionSet, mycompiler.mytypereconstruction.CSupportData)">TRExp</a></strong>(<ahref="../../mycompiler/mytypereconstruction/set/CSubstitutionSet.html"title="class in mycompiler.mytypereconstruction.set">CSubstitutionSet</a> sigma,
<ahref="../../mycompiler/mytypereconstruction/set/CTypeAssumptionSet.html"title="class in mycompiler.mytypereconstruction.set">CTypeAssumptionSet</a> V,
<ahref="../../mycompiler/mytypereconstruction/CSupportData.html"title="class in mycompiler.mytypereconstruction">CSupportData</a> supportData)</code>
<divclass="block">Workaround: <20>berschreibt Methode TRExp aus der Super-Klasse
<code>Literal</code>, weil die Implementierung von Unify (noch) nicht mit
Basetypes umgehen kann.</div>
</td>
</tr>
<trclass="rowColor">
<tdclass="colFirst"><code><ahref="../../mycompiler/mytypereconstruction/set/CTripleSet.html"title="class in mycompiler.mytypereconstruction.set">CTripleSet</a></code></td>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/mystatement/BoolLiteral.html#TRStatement(mycompiler.mytypereconstruction.set.CSubstitutionSet, mycompiler.mytypereconstruction.set.CTypeAssumptionSet, mycompiler.mytypereconstruction.CSupportData)">TRStatement</a></strong>(<ahref="../../mycompiler/mytypereconstruction/set/CSubstitutionSet.html"title="class in mycompiler.mytypereconstruction.set">CSubstitutionSet</a> sigma,
<ahref="../../mycompiler/mytypereconstruction/set/CTypeAssumptionSet.html"title="class in mycompiler.mytypereconstruction.set">CTypeAssumptionSet</a> V,
<ahref="../../mycompiler/mytypereconstruction/CSupportData.html"title="class in mycompiler.mytypereconstruction">CSupportData</a> supportData)</code> </td>
</tr>
<trclass="altColor">
<tdclass="colFirst"><code><ahref="../../typinferenz/ConstraintsSet.html"title="class in typinferenz">ConstraintsSet</a></code></td>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/mystatement/BoolLiteral.html#TYPEExpr(typinferenz.TypeAssumptions)">TYPEExpr</a></strong>(<ahref="../../typinferenz/TypeAssumptions.html"title="class in typinferenz">TypeAssumptions</a> assumptions)</code> </td>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/mystatement/BoolLiteral.html#wandleRefTypeAttributes2GenericAttributes(de.dhbwstuttgart.typeinference.Menge, de.dhbwstuttgart.typeinference.Menge)">wandleRefTypeAttributes2GenericAttributes</a></strong>(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mytype/Type.html"title="class in mycompiler.mytype">Type</a>> paralist,
de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mytype/GenericTypeVar.html"title="class in mycompiler.mytype">GenericTypeVar</a>> genericMethodParameters)</code> </td>
<h3>Methods inherited from class mycompiler.mystatement.<ahref="../../mycompiler/mystatement/Literal.html"title="class in mycompiler.mystatement">Literal</a></h3>
<h3>Methods inherited from class mycompiler.mystatement.<ahref="../../mycompiler/mystatement/Expr.html"title="class in mycompiler.mystatement">Expr</a></h3>
<h3>Methods inherited from class mycompiler.mystatement.<ahref="../../mycompiler/mystatement/ExprStmt.html"title="class in mycompiler.mystatement">ExprStmt</a></h3>
<h3>Methods inherited from class mycompiler.mystatement.<ahref="../../mycompiler/mystatement/Statement.html"title="class in mycompiler.mystatement">Statement</a></h3>
<h3>Methods inherited from interface mycompiler.mytypereconstruction.replacementlistener.<ahref="../../mycompiler/mytypereconstruction/replacementlistener/ITypeReplacementListener.html"title="interface in mycompiler.mytypereconstruction.replacementlistener">ITypeReplacementListener</a></h3>
<pre>public void sc_check(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/Class.html"title="class in mycompiler.myclass">Class</a>> classname,
<dd><code><ahref="../../mycompiler/mystatement/Expr.html#get_Name()">get_Name</a></code> in class <code><ahref="../../mycompiler/mystatement/Expr.html"title="class in mycompiler.mystatement">Expr</a></code></dd>
<pre>public void codegen(<ahref="../../mycompiler/mybytecode/ClassFile.html"title="class in mycompiler.mybytecode">ClassFile</a> classfile,
<ahref="../../mycompiler/mybytecode/CodeAttribute.html"title="class in mycompiler.mybytecode">CodeAttribute</a> code,
<pre>public short ConstantCodegen(<ahref="../../mycompiler/mybytecode/ClassFile.html"title="class in mycompiler.mybytecode">ClassFile</a> classfile)
throws <ahref="../../mycompiler/myexception/JVMCodeException.html"title="class in mycompiler.myexception">JVMCodeException</a></pre>
<divclass="block"><strong>Description copied from class: <code><ahref="../../mycompiler/mystatement/Literal.html#ConstantCodegen(mycompiler.mybytecode.ClassFile)">Literal</a></code></strong></div>
<divclass="block">Erzeugt die benoetigten Konstanteneintraege, die den Wert
des Literals darstellen.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><ahref="../../mycompiler/mystatement/Literal.html#ConstantCodegen(mycompiler.mybytecode.ClassFile)">ConstantCodegen</a></code> in class <code><ahref="../../mycompiler/mystatement/Literal.html"title="class in mycompiler.mystatement">Literal</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>
<pre>public <ahref="../../mycompiler/mytypereconstruction/set/CTripleSet.html"title="class in mycompiler.mytypereconstruction.set">CTripleSet</a> TRStatement(<ahref="../../mycompiler/mytypereconstruction/set/CSubstitutionSet.html"title="class in mycompiler.mytypereconstruction.set">CSubstitutionSet</a> sigma,
<ahref="../../mycompiler/mytypereconstruction/set/CTypeAssumptionSet.html"title="class in mycompiler.mytypereconstruction.set">CTypeAssumptionSet</a> V,
<ahref="../../mycompiler/mytypereconstruction/CSupportData.html"title="class in mycompiler.mytypereconstruction">CSupportData</a> supportData)</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><ahref="../../mycompiler/mystatement/Statement.html#TRStatement(mycompiler.mytypereconstruction.set.CSubstitutionSet, mycompiler.mytypereconstruction.set.CTypeAssumptionSet, mycompiler.mytypereconstruction.CSupportData)">TRStatement</a></code> in class <code><ahref="../../mycompiler/mystatement/Statement.html"title="class in mycompiler.mystatement">Statement</a></code></dd>
<pre>public <ahref="../../mycompiler/mytypereconstruction/set/CTripleSet.html"title="class in mycompiler.mytypereconstruction.set">CTripleSet</a> TRExp(<ahref="../../mycompiler/mytypereconstruction/set/CSubstitutionSet.html"title="class in mycompiler.mytypereconstruction.set">CSubstitutionSet</a> sigma,
<ahref="../../mycompiler/mytypereconstruction/set/CTypeAssumptionSet.html"title="class in mycompiler.mytypereconstruction.set">CTypeAssumptionSet</a> V,
<ahref="../../mycompiler/mytypereconstruction/CSupportData.html"title="class in mycompiler.mytypereconstruction">CSupportData</a> supportData)</pre>
<divclass="block">Workaround: <20>berschreibt Methode TRExp aus der Super-Klasse
<code>Literal</code>, weil die Implementierung von Unify (noch) nicht mit
Basetypes umgehen kann.<br/>
Anstatt den Basetype <code>BooleanType</code> zur<75>ckzugeben, wird ein
<code>RefType</code> zur<75>ckgegeben.<br/>
Diese Methode kann sp<73>ter entfernt werden, sodass automatisch die Methode der
Super-Klasse verwendet wird.
<br>Author: J<>rg B<>uerle</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><ahref="../../mycompiler/mystatement/Literal.html#TRExp(mycompiler.mytypereconstruction.set.CSubstitutionSet, mycompiler.mytypereconstruction.set.CTypeAssumptionSet, mycompiler.mytypereconstruction.CSupportData)">TRExp</a></code> in class <code><ahref="../../mycompiler/mystatement/Literal.html"title="class in mycompiler.mystatement">Literal</a></code></dd>
<pre>public void wandleRefTypeAttributes2GenericAttributes(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mytype/Type.html"title="class in mycompiler.mytype">Type</a>> paralist,
de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mytype/GenericTypeVar.html"title="class in mycompiler.mytype">GenericTypeVar</a>> genericMethodParameters)</pre>
<dd><code><ahref="../../mycompiler/mystatement/Statement.html#wandleRefTypeAttributes2GenericAttributes(de.dhbwstuttgart.typeinference.Menge, de.dhbwstuttgart.typeinference.Menge)">wandleRefTypeAttributes2GenericAttributes</a></code> in class <code><ahref="../../mycompiler/mystatement/Statement.html"title="class in mycompiler.mystatement">Statement</a></code></dd>
<pre>public <ahref="../../typinferenz/ConstraintsSet.html"title="class in typinferenz">ConstraintsSet</a> TYPEExpr(<ahref="../../typinferenz/TypeAssumptions.html"title="class in typinferenz">TypeAssumptions</a> assumptions)</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><ahref="../../mycompiler/mystatement/Expr.html#TYPEExpr(typinferenz.TypeAssumptions)">TYPEExpr</a></code> in class <code><ahref="../../mycompiler/mystatement/Expr.html"title="class in mycompiler.mystatement">Expr</a></code></dd>
</dl>
</li>
</ul>
<aname="printJavaCode(typinferenz.ResultSet)">
<!---->
</a>
<ulclass="blockListLast">
<liclass="blockList">
<h4>printJavaCode</h4>
<pre>public java.lang.String printJavaCode(<ahref="../../typinferenz/ResultSet.html"title="class in typinferenz">ResultSet</a> resultSet)</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><ahref="../../mycompiler/mystatement/Statement.html#printJavaCode(typinferenz.ResultSet)">printJavaCode</a></code> in class <code><ahref="../../mycompiler/mystatement/Statement.html"title="class in mycompiler.mystatement">Statement</a></code></dd>