<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>mycompiler.mystatement.MethodCall</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">MethodCall</span>
extends <ahref="../../mycompiler/mystatement/Expr.html"title="class in mycompiler.mystatement">Expr</a></pre>
<h3>Fields inherited from class mycompiler.mystatement.<ahref="../../mycompiler/mystatement/Expr.html"title="class in mycompiler.mystatement">Expr</a></h3>
<thclass="colFirst"scope="col">Modifier and Type</th>
<thclass="colLast"scope="col">Method and Description</th>
</tr>
<trclass="altColor">
<tdclass="colFirst"><code>void</code></td>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/mystatement/MethodCall.html#add_Expr(mycompiler.mystatement.Expr)">add_Expr</a></strong>(<ahref="../../mycompiler/mystatement/Expr.html"title="class in mycompiler.mystatement">Expr</a> e)</code> </td>
</tr>
<trclass="rowColor">
<tdclass="colFirst"><code>void</code></td>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/mystatement/MethodCall.html#addOffsetsToExpression(mycompiler.mytypereconstruction.typeassumption.CTypeAssumption, java.lang.String, boolean)">addOffsetsToExpression</a></strong>(<ahref="../../mycompiler/mytypereconstruction/typeassumption/CTypeAssumption.html"title="class in mycompiler.mytypereconstruction.typeassumption">CTypeAssumption</a> localAssumption,
<tdclass="colLast"><code><strong><ahref="../../mycompiler/mystatement/MethodCall.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/MethodCall.html#printJavaCode(typinferenz.ResultSet)">printJavaCode</a></strong>(<ahref="../../typinferenz/ResultSet.html"title="class in typinferenz">ResultSet</a> resultSet)</code> </td>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/mystatement/MethodCall.html#set_ArgumentList(mycompiler.mystatement.ArgumentList)">set_ArgumentList</a></strong>(<ahref="../../mycompiler/mystatement/ArgumentList.html"title="class in mycompiler.mystatement">ArgumentList</a> al)</code> </td>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/mystatement/MethodCall.html#set_Expr_Menge(de.dhbwstuttgart.typeinference.Menge)">set_Expr_Menge</a></strong>(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mystatement/Expr.html"title="class in mycompiler.mystatement">Expr</a>> v)</code> </td>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/mystatement/MethodCall.html#set_Receiver(mycompiler.mystatement.Receiver)">set_Receiver</a></strong>(<ahref="../../mycompiler/mystatement/Receiver.html"title="class in mycompiler.mystatement">Receiver</a> rec)</code> </td>
</tr>
<trclass="altColor">
<tdclass="colFirst"><code>void</code></td>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/mystatement/MethodCall.html#set_UsedId(mycompiler.myclass.UsedId)">set_UsedId</a></strong>(<ahref="../../mycompiler/myclass/UsedId.html"title="class in mycompiler.myclass">UsedId</a> u)</code> </td>
<divclass="block"><br/>Author: Martin Pl<50>micke</div>
</td>
</tr>
<trclass="altColor">
<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/MethodCall.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">Implementierung des Algorithmus 5.33 von Martin Pl<50>micke
<br/>Author: J<>rg B<>uerle</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/MethodCall.html#TRMCallApp(mycompiler.mytypereconstruction.CMultiplyTuple, java.lang.String, java.lang.String, int, boolean, mycompiler.mytypereconstruction.CSupportData)">TRMCallApp</a></strong>(<ahref="../../mycompiler/mytypereconstruction/CMultiplyTuple.html"title="class in mycompiler.mytypereconstruction">CMultiplyTuple</a> multiTuple,
java.lang.String classOrIdentifierName,
java.lang.String methodName,
int paraCount,
boolean isConstructorCall,
<ahref="../../mycompiler/mytypereconstruction/CSupportData.html"title="class in mycompiler.mytypereconstruction">CSupportData</a> supportData)</code>
<divclass="block">Implementierung des Algorithmus 5.34 von Martin Pl<50>micke</div>
</td>
</tr>
<trclass="altColor">
<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/MethodCall.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>
<divclass="block">Implementierung des Algorithmus 5.27 von Martin Pl<50>micke <br>
Author: J<>rg B<>uerle</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/mystatement/MethodCall.html#TYPEExpr(typinferenz.TypeAssumptions)">TYPEExpr</a></strong>(<ahref="../../typinferenz/TypeAssumptions.html"title="class in typinferenz">TypeAssumptions</a> assumptions)</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/MethodCall.html#TYPEStmt(typinferenz.TypeAssumptions)">TYPEStmt</a></strong>(<ahref="../../typinferenz/TypeAssumptions.html"title="class in typinferenz">TypeAssumptions</a> assumptions)</code>
<tdclass="colLast"><code><strong><ahref="../../mycompiler/mystatement/MethodCall.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/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 set_ArgumentList(<ahref="../../mycompiler/mystatement/ArgumentList.html"title="class in mycompiler.mystatement">ArgumentList</a> al)</pre>
</li>
</ul>
<aname="getArgumentList()">
<!---->
</a>
<ulclass="blockList">
<liclass="blockList">
<h4>getArgumentList</h4>
<pre>public <ahref="../../mycompiler/mystatement/ArgumentList.html"title="class in mycompiler.mystatement">ArgumentList</a> getArgumentList()</pre>
</li>
</ul>
<aname="get_Receiver()">
<!---->
</a>
<ulclass="blockList">
<liclass="blockList">
<h4>get_Receiver</h4>
<pre>public <ahref="../../mycompiler/mystatement/Receiver.html"title="class in mycompiler.mystatement">Receiver</a> get_Receiver()</pre>
<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 sc_check(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/Class.html"title="class in mycompiler.myclass">Class</a>> classname,
<dd><code><ahref="../../mycompiler/myexception/SCStatementException.html"title="class in mycompiler.myexception">SCStatementException</a></code></dd></dl>
<pre>public void sc_check_get_Method(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/Class.html"title="class in mycompiler.myclass">Class</a>> classlist,
throws <ahref="../../mycompiler/myexception/SCStatementException.html"title="class in mycompiler.myexception">SCStatementException</a></pre>
<dl><dt><spanclass="strong">Throws:</span></dt>
<dd><code><ahref="../../mycompiler/myexception/SCStatementException.html"title="class in mycompiler.myexception">SCStatementException</a></code></dd></dl>
<pre>public void sc_check_uebergabe(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/Class.html"title="class in mycompiler.myclass">Class</a>> classlist,
de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/Method.html"title="class in mycompiler.myclass">Method</a>> method,
throws <ahref="../../mycompiler/myexception/SCStatementException.html"title="class in mycompiler.myexception">SCStatementException</a></pre>
<dl><dt><spanclass="strong">Throws:</span></dt>
<dd><code><ahref="../../mycompiler/myexception/SCStatementException.html"title="class in mycompiler.myexception">SCStatementException</a></code></dd></dl>
<pre>public boolean sc_check_method_kleiner(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/Class.html"title="class in mycompiler.myclass">Class</a>> classlist,
<pre>public void sc_init_extended_fcts(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/Method.html"title="class in mycompiler.myclass">Method</a>> method,
de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/myclass/Class.html"title="class in mycompiler.myclass">Class</a>> classlist,
<pre>public void set_Receiver(<ahref="../../mycompiler/mystatement/Receiver.html"title="class in mycompiler.mystatement">Receiver</a> rec)</pre>
</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> u)</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><ahref="../../mycompiler/mystatement/Expr.html#set_UsedId(mycompiler.myclass.UsedId)">set_UsedId</a></code> in class <code><ahref="../../mycompiler/mystatement/Expr.html"title="class in mycompiler.mystatement">Expr</a></code></dd>
<pre>public void set_Expr_Menge(de.dhbwstuttgart.typeinference.Menge<<ahref="../../mycompiler/mystatement/Expr.html"title="class in mycompiler.mystatement">Expr</a>> v)</pre>
<pre>public <ahref="../../mycompiler/myclass/Method.html"title="class in mycompiler.myclass">Method</a> getMethodFittingMethodCallAndClassname(java.lang.String className)
throws <ahref="../../mycompiler/myexception/JVMCodeException.html"title="class in mycompiler.myexception">JVMCodeException</a></pre>
<divclass="block">hoti 4.5.06
Diese Methode l<>dt die Methodeninfos einer Methode aus der Hashtable
<dd><code><ahref="../../mycompiler/myexception/JVMCodeException.html"title="class in mycompiler.myexception">JVMCodeException</a></code></dd><dt><spanclass="strong">See Also:</span></dt><dd><code>methodsFittingMethodCall</code></dd></dl>
<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 <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>
<divclass="block">Implementierung des Algorithmus 5.27 von Martin Pl<50>micke <br>
Author: J<>rg B<>uerle</div>
<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">Implementierung des Algorithmus 5.33 von Martin Pl<50>micke
<br/>Author: J<>rg B<>uerle</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><ahref="../../mycompiler/mystatement/Expr.html#TRExp(mycompiler.mytypereconstruction.set.CSubstitutionSet, mycompiler.mytypereconstruction.set.CTypeAssumptionSet, mycompiler.mytypereconstruction.CSupportData)">TRExp</a></code> in class <code><ahref="../../mycompiler/mystatement/Expr.html"title="class in mycompiler.mystatement">Expr</a></code></dd>
<pre>public <ahref="../../mycompiler/mytypereconstruction/set/CTripleSet.html"title="class in mycompiler.mytypereconstruction.set">CTripleSet</a> TRMCallApp(<ahref="../../mycompiler/mytypereconstruction/CMultiplyTuple.html"title="class in mycompiler.mytypereconstruction">CMultiplyTuple</a> multiTuple,
java.lang.String classOrIdentifierName,
java.lang.String methodName,
int paraCount,
boolean isConstructorCall,
<ahref="../../mycompiler/mytypereconstruction/CSupportData.html"title="class in mycompiler.mytypereconstruction">CSupportData</a> supportData)</pre>
<divclass="block">Implementierung des Algorithmus 5.34 von Martin Pl<50>micke</div>
<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 void addOffsetsToExpression(<ahref="../../mycompiler/mytypereconstruction/typeassumption/CTypeAssumption.html"title="class in mycompiler.mytypereconstruction.typeassumption">CTypeAssumption</a> localAssumption,
java.lang.String NameVariable,
boolean isMemberVariable)</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><ahref="../../mycompiler/mystatement/Expr.html#addOffsetsToExpression(mycompiler.mytypereconstruction.typeassumption.CTypeAssumption, java.lang.String, boolean)">addOffsetsToExpression</a></code> in class <code><ahref="../../mycompiler/mystatement/Expr.html"title="class in mycompiler.mystatement">Expr</a></code></dd>
<dl><dt><spanclass="strong">Returns:</span></dt><dd>der Name der Methode, welcher dieser MethodCall aufruft.</dd></dl>
</li>
</ul>
<aname="TYPEExpr(typinferenz.TypeAssumptions)">
<!---->
</a>
<ulclass="blockList">
<liclass="blockList">
<h4>TYPEExpr</h4>
<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="TYPEStmt(typinferenz.TypeAssumptions)">
<!---->
</a>
<ulclass="blockList">
<liclass="blockList">
<h4>TYPEStmt</h4>
<pre>public <ahref="../../typinferenz/ConstraintsSet.html"title="class in typinferenz">ConstraintsSet</a> TYPEStmt(<ahref="../../typinferenz/TypeAssumptions.html"title="class in typinferenz">TypeAssumptions</a> assumptions)</pre>
<divclass="block">Spezifikation:
TYPEStmt( Ass, stmt ) =
let (stmt : rty, ConS) = TYPEExpr( Ass, stmt )
in (stmt : Void, ConS)</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><ahref="../../mycompiler/mystatement/Expr.html#TYPEStmt(typinferenz.TypeAssumptions)">TYPEStmt</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>