geändert: src/de/dhbwstuttgart/strucTypes/visitor/InferTypes.java
geändert: src/de/dhbwstuttgart/typeinference/unify/RuleSet.java
nach merge mit plugin-Branch
src/de/dhbwstuttgart/core/JavaTXCompiler.java
src/de/dhbwstuttgart/parser/SyntaxTreeGenerator/TypeGenerator.java
src/de/dhbwstuttgart/syntaxtree/GenericDeclarationList.java
It looks like you may be committing a merge.
If this is not correct, please remove the file
.git/MERGE_HEAD
and try again.
new file: Website/JavaTXExamples.zip
new file: Website/index.html
new file: Website/install/Restart.png
new file: Website/install/availableSoftware1.png
new file: Website/install/availableSoftware2.png
new file: Website/install/instal.html
new file: Website/install/install.html
new file: Website/install/installAnyway.png
new file: Website/install/installationDetails.png
new file: Website/install/licenseAgreement.png
new file: Website/install/newsoftware.png
new file: Website/install/selectInstallation.png
new file: Website/newJavaTXProject/addLibrary2.png
new file: Website/newJavaTXProject/buildPath1.png
new file: Website/newJavaTXProject/buildPath2.png
new file: Website/newJavaTXProject/buildPath3.png
new file: Website/newJavaTXProject/buildPath4.png
new file: Website/newJavaTXProject/newJavFile.png
new file: Website/newJavaTXProject/newJavFolder1.png
new file: Website/newJavaTXProject/newJavFolder2.png
new file: Website/newJavaTXProject/newJavaTXProject.html
new file: Website/newJavaTXProject/newJavaTXProject.png
new file: Website/usePlugin/usePlugin.html
new file: Website/usePlugin/usePlugin1.png
new file: Website/usePlugin/usePlugin2.png
modified: test/bytecode/javFiles/OL.jav
modified: ../../src/de/dhbwstuttgart/typeinference/constraints/Pair.java
modified: ../../src/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java
modified: ../../src/de/dhbwstuttgart/typeinference/unify/RuleSet.java
modified: ../../src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
modified: ../../src/de/dhbwstuttgart/typeinference/unify/model/PairOperator.java
Einführung eines neuen Operators SMALLERNEQDOT um Ungleichungen a <!=. Number für die Relationsoperatoren einfuehren zu koennen.
modified: ../../test/javFiles/Matrix.jav
Operatoren neue getypte
Returnargument bei FUNN nach hinten verschoben
modified: src/de/dhbwstuttgart/typeinference/unify/RuleSet.java
Returnargument bei FUNN nach hinten verschoben
Wildcards in Argumenten von als Undefined Pairs (funktioniert noch nicht)
Methode wrongWildcard eingefuegt
modified: src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java
Methode doubleWildcard ind wrongWildcard umbenannt
modified: src/de/dhbwstuttgart/typeinference/unify/model/UnifyType.java
Methode doubleWildcard ind wrongWildcard umbenannt
modified: src/de/dhbwstuttgart/typeinference/unify/model/WildcardType.java
Methode doubleWildcard ind wrongWildcard umbenannt
In Matrix.jav Binary-Operation eingefuegt.
new file: test/javFiles/Meth_Gen.jav
new file: test/typeinference/Meth_GenTest.java
Test zu Constraints ueber eine Methode hinaus
modified: ../../src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
Undefined Pairs auf oberster Ebene wird zu new HashTable<>() in compute
new file: ../../src/de/dhbwstuttgart/typeinference/unify/inheritVariance.java
modified: ../../src/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java
Unterscheidung zw. <. <? ein compere eingefuegt
modified: ../../src/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java
Attribut wildcardable eingefuegt
varianceInheritance nach TypeUnifyTask.java verschoben
Kommentar eingefuegt
TODO:
1. compare-Funktinen nochmals ueberpruefen
2. Undef-Pairs in JavaTXiCompiler.java abfangen
3. ? extends bei allen Argumenttypen und Returntypen rauslassen
resuat add in cartesion angepasst
modified: src/de/dhbwstuttgart/typeinference/unify/model/Unifier.java
modified: src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java
equals in UnfyPair auf UndefinedPairs angepasst
Zu beginn von unify werden doppelte wildcard konstruktionen entfernt
Variableneumbenennung bei smaller in Fall 1 weider entfernt
modified: ../../src/de/dhbwstuttgart/typeinference/unify/interfaces/IMatch.java
modified: ../../src/de/dhbwstuttgart/typeinference/unify/interfaces/IUnify.java
modified: ../../src/de/dhbwstuttgart/typeinference/unify/model/ExtendsType.java
modified: ../../src/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java
In computeGreater unify durch match ersetzt
modified: ../../src/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java
modified: ../../src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java
modified: ../../src/de/dhbwstuttgart/typeinference/unify/model/UnifyType.java
modified: ../../src/de/dhbwstuttgart/typeinference/unify/model/WildcardType.java
Abfrage ob eine doppelte wildcard konstruktion vorhanden ist eingefuegt
modified: src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java
UndefPairs werden zurueckgegegeben und die naechsten gefiltert
protected boolean isUndefinedPairSet(Set<UnifyPair> s) hat Fehler
? ext theta bei smaller eingefuegt
modified: src/de/dhbwstuttgart/typeinference/unify/model/Unifier.java
basiPair und Subsitution nur noch gefuegt, wen wirk etwas eingesetzt wurde
modified: src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java
unifier umbenannt in substitution
getBasePair und getSubsitutuon eingefuegt
new file: src/de/dhbwstuttgart/typeinference/unify/distributeVariance.java
modified: src/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java
new file: src/de/dhbwstuttgart/typeinference/unify/visitUnifyTypeVisitor.java
Mehrfache Aufrufe eines Receivers mit unterschiedlichen Methoden/Fields eingefügt
Fehler: die Interfaces werden zwar richtig generiert. Allerdings werden die Inerfaces
mehrfach mit unterschiedlichen generisches Typvariabeln generiert. Einmal würde reichen:
class: constructedinterface.DE <BoGTV MH, BoGTV MI, BoGTV MK>
field: g : TPH MH
method: m2 : TPH MI
parameter: MK : TPH MK
superClass: java.lang.Object
und
class: constructedinterface.DE <BoGTV MR, BoGTV MS, BoGTV MU>
field: g : TPH MR
method: m2 : TPH MS
parameter: MU : TPH MU
superClass: java.lang.Object
LogAusgabe FC
modified: src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
fresh TV in unifyCase1 auf alle cs ausgedehnt
modified: test/javFiles/Matrix.jav
Errorrueckgabe auskommentiert
new file: src/de/dhbwstuttgart/typeinference/unify/interfaces/UnifyTypeVisitor.java
eingecheckt vorher vergessen
modified: test/javFiles/Matrix.jav
add und mul aktiviert
modified: src/de/dhbwstuttgart/typeinference/unify/model/Unifier.java
modified: src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java
Links der substitierten Pare eingefuegt.
modified: ../../src/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java
modified: ../javFiles/Matrix.jav
mul1 und add ergaenzt.
Fehler bei elementAt: Liefert Object als Returntyp
modified: ../../src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
modified: ../../src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java
Varinace in UnfyPair eingefuegt und Abfrage in computeCartesianRecursive eingefuegt
Pruefen, ob Varianve bei Subst und andrene erhalten bleibt.
modified: ../../src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
modified: ../../src/de/dhbwstuttgart/typeinference/unify/interfaces/IRuleSet.java
modified: ../../src/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java
modified: ../../src/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java
1. Version mit compare von UnifyPairs
In Unfy:
- Bildung des kartesischen Produkts auf secondlevel-Ebene entfernt
In computeCartesianRecursive:
- Vereinigung der Ergebnisse ueber die Schleifen und die Rekursion eingefuegt
- Minimumbestimmung korrigiert
In reduceFunN:
&& (pair.getPairOp() != PairOperator.EQUALSDOT)) //PL 2017-10-03 hinzugefuegt
//da Regel auch fuer EQUALSDOT anwendbar
//TODO: fuer allen anderen Relationen noch pruefen
FunType von Bedingung <. auf beliebig zu gelassen
modified: src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
bei childrenaufruf unifyCase1 gleiches Element hinzugefuegt
modified: test/typeinference/JavaTXCompilerTest.java
typeinference-Aufruf vor die Schleife gezogen
Keine Ahnung
modified: src/de/dhbwstuttgart/typeinference/unify/RuleSet.java
Aenderung Zeile 578
rhsType = pair.getRhsType(); //PL eingefuegt 2017-09-29 statt !((rhsType = pair.getRhsType()) instanceof PlaceholderType)
if(lhsType != null
//&& !((rhsType = pair.getRhsType()) instanceof PlaceholderType) //PL geloescht am 2017-09-29 Begründung: auch Typvariablen muessen ersetzt werden.
modified: src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
1. Aenderung: Zeile 168
/*
* Step 6 a) Restart (fork) for pairs where subst was applied
*/
if(parallel) {
if //(eqPrime.equals(eq)) //PL 2017-09-29 auskommentiert und durch
(!eqPrimePrime.isPresent()) //PL 2071-09-29 dies ersetzt
//Begruendung: Wenn in der Substitution keine Veraenderung
//(!eqPrimePrime.isPresent()) erfolgt ist, ist das Ergebnis erzielt.
eqPrimePrimeSet.add(eqPrime);
2. Aenderung: Ziel 188
else { // sequentiell (Step 6b is included)
if //(eqPrime.equals(eq)) //PL 2017-09-29 auskommentiert und durch
(!eqPrimePrime.isPresent()) //PL 2071-09-29 dies ersetzt
//Begruendung: Wenn in der Substitution keine Veraenderung
//(!eqPrimePrime.isPresent()) erfolgt ist, ist das Ergebnis erzielt.
eqPrimePrimeSet.add(eqPrime);
RefType getBytecodeSignature unterscheidet zwischen RefType und TypePlacholder
Abstrakte ByteCodeTest Klasse um getClassLoader erweitert
Alle BytecodeTypeTests angepasst
Java-TX (Java Type eXtended) is an extension of Java in which a global type inference algorithm and real function types are added. Since the end of the nineties features from functional program- ming languages have been transferred to Java. Parametric polymorphism extended by wildcards, called generics, were transfered to Java 5.0. Higher-order functions and lambda expression were introduced in Java 8. Java 8 uses functional interfaces as target types of lambda expressions in contrast to real function types as in functional programming languages.
The powerful feature type inference from functional programming languages is incorporated into Java, as into other object-oriented
languages, i.e. only in a restricted way called local type inference. Local type inference allows certain type annotations to be omitted. For instance, it is often not necessary to specify the type of a variable. Type parameters of classes in the new-statement can be left out. Return types of methods can often also be omitted. Local type inference is at its most pronounced in Scala. In Java 10 an extention of local type inference is introduced, where types of local variables can be replaced by the keyword var and inferred automatically during the compilation. In contrast to global type inference, local type inference allows types of recursive methods and lambda expressions not to be omitted.<br>
The Java-TX project contributes to the design of object-oriented languages by developing global type inference algorithms for Java-like languages.
<h3>First Example</h3>
The class <tt>Id</tt> has the method <tt>id</tt>. The type annotations are omitted.
<br/>
<pre><codeclass="language-java">
class Id {
id(x) {
return x;
}
}
</code></pre>
The type inference algorithm inferrs the types, such that <tt>Id</tt> can be applied:
<pre>
new Id().id(1);
new Id().id("hallo");
</pre>
<h3>More complex example</h3>
<pre>
import java.lang.Integer;
import java.lang.Double;
import java.lang.String;
class OL {
m(x) { return x + x; }
}
class OLMain {
main(x) {
var ol;
ol = new OL();
return ol.m(x);
}
}
</pre>
The type inference mechanism considers only imported types. Therefore <tt>Integer</tt><tt>Double</tt>, and <tt>String</tt> are imported.
<br/>
As the operator <tt>+</tt> is overloaded by all numeric types and String the methods <tt>m</tt> in the class <tt>OL</tt> and <tt>main</tt> in the class <tt>OLMain</tt>, respectively, gets all these types. The generated classfile demonstrates this:
<pre>
> javap OL.class
Compiled from "OL.jav"
class OL {
public OL();
public java.lang.Integer m(java.lang.Integer);
public java.lang.Double m(java.lang.Double);
}
> javap OLMain.class
Compiled from "OLMain.jav"
class OLMain {
public OLMain();
public java.lang.Integer main(java.lang.Integer);
public java.lang.Double main(java.lang.Double);
}
</pre>
<hr>
<address></address>
<!-- hhmts start -->Last modified: Fri Jun 1 16:43:55 CEST 2018 <!-- hhmts end -->
<li><ahref="de/dhbwstuttgart/typeinference/unify/CSubstitutionSet.html"title="class in de.dhbwstuttgart.typeinference.unify"target="classFrame">CSubstitutionSet</a></li>
<li><ahref="de/dhbwstuttgart/myexception/CTypeReconstructionException.html"title="class in de.dhbwstuttgart.myexception"target="classFrame">CTypeReconstructionException</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/unify/CVectorSet.html"title="class in de.dhbwstuttgart.typeinference.unify"target="classFrame">CVectorSet</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/exceptions/DebugException.html"title="class in de.dhbwstuttgart.typeinference.exceptions"target="classFrame">DebugException</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/exceptions/DebugException.html"title="class in de.dhbwstuttgart.exceptions"target="classFrame">DebugException</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/misc/DeclId.html"title="class in de.dhbwstuttgart.syntaxtree.misc"target="classFrame">DeclId</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/operator/DivideOp.html"title="class in de.dhbwstuttgart.syntaxtree.operator"target="classFrame">DivideOp</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/statement/DoubleLiteral.html"title="class in de.dhbwstuttgart.syntaxtree.statement"target="classFrame">DoubleLiteral</a></li>
@@ -203,7 +203,7 @@
<li><ahref="syntaxTree/NodeEqualTest.html"title="class in syntaxTree"target="classFrame">NodeEqualTest</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/operator/NotEqualOp.html"title="class in de.dhbwstuttgart.syntaxtree.operator"target="classFrame">NotEqualOp</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/statement/NotExpr.html"title="class in de.dhbwstuttgart.syntaxtree.statement"target="classFrame">NotExpr</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/exceptions/NotImplementedException.html"title="class in de.dhbwstuttgart.typeinference.exceptions"target="classFrame">NotImplementedException</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/exceptions/NotImplementedException.html"title="class in de.dhbwstuttgart.exceptions"target="classFrame">NotImplementedException</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/statement/Null.html"title="class in de.dhbwstuttgart.syntaxtree.statement"target="classFrame">Null</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/type/ObjectType.html"title="class in de.dhbwstuttgart.syntaxtree.type"target="classFrame">ObjectType</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/OderConstraint.html"title="class in de.dhbwstuttgart.typeinference"target="classFrame">OderConstraint</a></li>
@@ -228,7 +228,7 @@
<li><ahref="de/dhbwstuttgart/typeinference/assumptions/ParameterAssumption.html"title="class in de.dhbwstuttgart.typeinference.assumptions"target="classFrame">ParameterAssumption</a></li>
<li><ahref="plugindevelopment/ParameterInsertTest.html"title="class in plugindevelopment"target="classFrame">ParameterInsertTest</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/ParameterList.html"title="class in de.dhbwstuttgart.syntaxtree"target="classFrame">ParameterList</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/exceptions/ParserError.html"title="class in de.dhbwstuttgart.typeinference.exceptions"target="classFrame">ParserError</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/exceptions/ParserError.html"title="class in de.dhbwstuttgart.exceptions"target="classFrame">ParserError</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/operator/PlusOp.html"title="class in de.dhbwstuttgart.syntaxtree.operator"target="classFrame">PlusOp</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/statement/PositivExpr.html"title="class in de.dhbwstuttgart.syntaxtree.statement"target="classFrame">PositivExpr</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/statement/PostDecExpr.html"title="class in de.dhbwstuttgart.syntaxtree.statement"target="classFrame">PostDecExpr</a></li>
@@ -282,7 +282,7 @@
<li><ahref="de/dhbwstuttgart/typeinference/assumptions/TypeAssumptions.html"title="class in de.dhbwstuttgart.typeinference.assumptions"target="classFrame">TypeAssumptions</a></li>
<li><ahref="plugindevelopment/TypeInsertTests/LargeSourceCodeTests/TypedMatrixSimpleTest.html"title="class in plugindevelopment.TypeInsertTests.LargeSourceCodeTests"target="classFrame">TypedMatrixSimpleTest</a></li>
<li><ahref="plugindevelopment/TypeInsertTests/LargeSourceCodeTests/TypedMatrixTest.html"title="class in plugindevelopment.TypeInsertTests.LargeSourceCodeTests"target="classFrame">TypedMatrixTest</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/exceptions/TypeinferenceException.html"title="class in de.dhbwstuttgart.typeinference.exceptions"target="classFrame">TypeinferenceException</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/exceptions/TypeinferenceException.html"title="class in de.dhbwstuttgart.exceptions"target="classFrame">TypeinferenceException</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/TypeinferenceResultSet.html"title="class in de.dhbwstuttgart.typeinference"target="classFrame">TypeinferenceResultSet</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/TypeInsertable.html"title="interface in de.dhbwstuttgart.typeinference"target="classFrame"><spanclass="interfaceName">TypeInsertable</span></a></li>
<li><ahref="de/dhbwstuttgart/typeinference/typedeployment/TypeInsertPoint.html"title="class in de.dhbwstuttgart.typeinference.typedeployment"target="classFrame">TypeInsertPoint</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/unify/CSubstitutionSet.html"title="class in de.dhbwstuttgart.typeinference.unify">CSubstitutionSet</a></li>
<li><ahref="de/dhbwstuttgart/myexception/CTypeReconstructionException.html"title="class in de.dhbwstuttgart.myexception">CTypeReconstructionException</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/unify/CVectorSet.html"title="class in de.dhbwstuttgart.typeinference.unify">CVectorSet</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/exceptions/DebugException.html"title="class in de.dhbwstuttgart.typeinference.exceptions">DebugException</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/exceptions/DebugException.html"title="class in de.dhbwstuttgart.exceptions">DebugException</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/misc/DeclId.html"title="class in de.dhbwstuttgart.syntaxtree.misc">DeclId</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/operator/DivideOp.html"title="class in de.dhbwstuttgart.syntaxtree.operator">DivideOp</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/statement/DoubleLiteral.html"title="class in de.dhbwstuttgart.syntaxtree.statement">DoubleLiteral</a></li>
@@ -203,7 +203,7 @@
<li><ahref="syntaxTree/NodeEqualTest.html"title="class in syntaxTree">NodeEqualTest</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/operator/NotEqualOp.html"title="class in de.dhbwstuttgart.syntaxtree.operator">NotEqualOp</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/statement/NotExpr.html"title="class in de.dhbwstuttgart.syntaxtree.statement">NotExpr</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/exceptions/NotImplementedException.html"title="class in de.dhbwstuttgart.typeinference.exceptions">NotImplementedException</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/exceptions/NotImplementedException.html"title="class in de.dhbwstuttgart.exceptions">NotImplementedException</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/statement/Null.html"title="class in de.dhbwstuttgart.syntaxtree.statement">Null</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/type/ObjectType.html"title="class in de.dhbwstuttgart.syntaxtree.type">ObjectType</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/OderConstraint.html"title="class in de.dhbwstuttgart.typeinference">OderConstraint</a></li>
@@ -228,7 +228,7 @@
<li><ahref="de/dhbwstuttgart/typeinference/assumptions/ParameterAssumption.html"title="class in de.dhbwstuttgart.typeinference.assumptions">ParameterAssumption</a></li>
<li><ahref="plugindevelopment/ParameterInsertTest.html"title="class in plugindevelopment">ParameterInsertTest</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/ParameterList.html"title="class in de.dhbwstuttgart.syntaxtree">ParameterList</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/exceptions/ParserError.html"title="class in de.dhbwstuttgart.typeinference.exceptions">ParserError</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/exceptions/ParserError.html"title="class in de.dhbwstuttgart.exceptions">ParserError</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/operator/PlusOp.html"title="class in de.dhbwstuttgart.syntaxtree.operator">PlusOp</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/statement/PositivExpr.html"title="class in de.dhbwstuttgart.syntaxtree.statement">PositivExpr</a></li>
<li><ahref="de/dhbwstuttgart/syntaxtree/statement/PostDecExpr.html"title="class in de.dhbwstuttgart.syntaxtree.statement">PostDecExpr</a></li>
@@ -282,7 +282,7 @@
<li><ahref="de/dhbwstuttgart/typeinference/assumptions/TypeAssumptions.html"title="class in de.dhbwstuttgart.typeinference.assumptions">TypeAssumptions</a></li>
<li><ahref="plugindevelopment/TypeInsertTests/LargeSourceCodeTests/TypedMatrixSimpleTest.html"title="class in plugindevelopment.TypeInsertTests.LargeSourceCodeTests">TypedMatrixSimpleTest</a></li>
<li><ahref="plugindevelopment/TypeInsertTests/LargeSourceCodeTests/TypedMatrixTest.html"title="class in plugindevelopment.TypeInsertTests.LargeSourceCodeTests">TypedMatrixTest</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/exceptions/TypeinferenceException.html"title="class in de.dhbwstuttgart.typeinference.exceptions">TypeinferenceException</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/exceptions/TypeinferenceException.html"title="class in de.dhbwstuttgart.exceptions">TypeinferenceException</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/TypeinferenceResultSet.html"title="class in de.dhbwstuttgart.typeinference">TypeinferenceResultSet</a></li>
<li><ahref="de/dhbwstuttgart/typeinference/TypeInsertable.html"title="interface in de.dhbwstuttgart.typeinference"><spanclass="interfaceName">TypeInsertable</span></a></li>
<li><ahref="de/dhbwstuttgart/typeinference/typedeployment/TypeInsertPoint.html"title="class in de.dhbwstuttgart.typeinference.typedeployment">TypeInsertPoint</a></li>
<pre>private <ahref="../../../de/dhbwstuttgart/syntaxtree/SourceFile.html"title="class in de.dhbwstuttgart.syntaxtree">SourceFile</a> parse2SyntaxTree(java.io.Reader fileContent)
throws <ahref="../../../de/dhbwstuttgart/typeinference/exceptions/ParserError.html"title="class in de.dhbwstuttgart.typeinference.exceptions">ParserError</a></pre>
throws <ahref="../../../de/dhbwstuttgart/typeinference/exceptions/ParserError.html"title="class in de.dhbwstuttgart.exceptions">ParserError</a></pre>
<divclass="block">Parst den Inhalt einer Datei zu einem Syntaxbaum.</div>
<dl>
<dt><spanclass="throwsLabel">Throws:</span></dt>
<dd><code><ahref="../../../de/dhbwstuttgart/typeinference/exceptions/ParserError.html"title="class in de.dhbwstuttgart.typeinference.exceptions">ParserError</a></code></dd>
<dd><code><ahref="../../../de/dhbwstuttgart/typeinference/exceptions/ParserError.html"title="class in de.dhbwstuttgart.exceptions">ParserError</a></code></dd>
<pre>public void parse(<ahref="../../../de/dhbwstuttgart/typeinference/Menge.html"title="class in de.dhbwstuttgart.typeinference">Menge</a><java.lang.String> filenames)
throws <ahref="../../../de/dhbwstuttgart/typeinference/exceptions/ParserError.html"title="class in de.dhbwstuttgart.typeinference.exceptions">ParserError</a></pre>
throws <ahref="../../../de/dhbwstuttgart/typeinference/exceptions/ParserError.html"title="class in de.dhbwstuttgart.exceptions">ParserError</a></pre>
<divclass="block">Diese Funktion nimmt einen Menge von Dateinamen. Alle diese Dateien werden zu einem SyntaxBaum geparst.</div>
<dd><code>filenames</code> - - Eine Liste von Quellcodedateien, welche gseparst werden sollen</dd>
<dt><spanclass="throwsLabel">Throws:</span></dt>
<dd><code><ahref="../../../de/dhbwstuttgart/typeinference/exceptions/ParserError.html"title="class in de.dhbwstuttgart.typeinference.exceptions">ParserError</a></code></dd>
<dd><code><ahref="../../../de/dhbwstuttgart/typeinference/exceptions/ParserError.html"title="class in de.dhbwstuttgart.exceptions">ParserError</a></code></dd>
@@ -237,7 +237,7 @@ var activeTableTab = "activeTableTab";
<h4>typeReconstruction</h4>
<pre><ahref="../../../de/dhbwstuttgart/typeinference/Menge.html"title="class in de.dhbwstuttgart.typeinference">Menge</a><<ahref="../../../de/dhbwstuttgart/typeinference/TypeinferenceResultSet.html"title="class in de.dhbwstuttgart.typeinference">TypeinferenceResultSet</a>> typeReconstruction()
throws java.lang.NullPointerException,
<ahref="../../../de/dhbwstuttgart/typeinference/exceptions/TypeinferenceException.html"title="class in de.dhbwstuttgart.typeinference.exceptions">TypeinferenceException</a></pre>
<ahref="../../../de/dhbwstuttgart/typeinference/exceptions/TypeinferenceException.html"title="class in de.dhbwstuttgart.exceptions">TypeinferenceException</a></pre>
<divclass="block">Author: Jörg Bäuerle<br/>
Ruft den Typrekonstruktionsalgorithmus auf.</div>
<dl>
@@ -247,7 +247,7 @@ var activeTableTab = "activeTableTab";
<dd><code>java.lang.NullPointerException</code> - Wenn noch kein abstrakter Syntaxbaum vorhanden
ist. @throws CTypeReconstructionException Wenn ein Fehler bei der
Typrekonstruktion auftritt.</dd>
<dd><code><ahref="../../../de/dhbwstuttgart/typeinference/exceptions/TypeinferenceException.html"title="class in de.dhbwstuttgart.typeinference.exceptions">TypeinferenceException</a></code></dd>
<dd><code><ahref="../../../de/dhbwstuttgart/typeinference/exceptions/TypeinferenceException.html"title="class in de.dhbwstuttgart.exceptions">TypeinferenceException</a></code></dd>
</dl>
</li>
</ul>
@@ -280,13 +280,13 @@ var activeTableTab = "activeTableTab";
<liclass="blockList">
<h4>parse</h4>
<pre>void parse(<ahref="../../../de/dhbwstuttgart/typeinference/Menge.html"title="class in de.dhbwstuttgart.typeinference">Menge</a><java.lang.String> filenames)
throws <ahref="../../../de/dhbwstuttgart/typeinference/exceptions/ParserError.html"title="class in de.dhbwstuttgart.typeinference.exceptions">ParserError</a></pre>
throws <ahref="../../../de/dhbwstuttgart/typeinference/exceptions/ParserError.html"title="class in de.dhbwstuttgart.exceptions">ParserError</a></pre>
<divclass="block">Parst zusammenhängende JavaKlassen in verschiedenen Dateien.</div>
<dd><code>filenames</code> - - Eine Liste von Quellcodedateien, welche gseparst werden sollen</dd>
<dt><spanclass="throwsLabel">Throws:</span></dt>
<dd><code><ahref="../../../de/dhbwstuttgart/typeinference/exceptions/ParserError.html"title="class in de.dhbwstuttgart.typeinference.exceptions">ParserError</a></code></dd>
<dd><code><ahref="../../../de/dhbwstuttgart/typeinference/exceptions/ParserError.html"title="class in de.dhbwstuttgart.exceptions">ParserError</a></code></dd>
</dl>
</li>
</ul>
@@ -297,7 +297,7 @@ var activeTableTab = "activeTableTab";
<liclass="blockList">
<h4>parse</h4>
<pre><ahref="../../../de/dhbwstuttgart/syntaxtree/SourceFile.html"title="class in de.dhbwstuttgart.syntaxtree">SourceFile</a> parse(java.lang.String sourceCode)
throws <ahref="../../../de/dhbwstuttgart/typeinference/exceptions/ParserError.html"title="class in de.dhbwstuttgart.typeinference.exceptions">ParserError</a></pre>
throws <ahref="../../../de/dhbwstuttgart/typeinference/exceptions/ParserError.html"title="class in de.dhbwstuttgart.exceptions">ParserError</a></pre>
<divclass="block">Parst den SourceCode einer Datei.</div>
@@ -305,7 +305,7 @@ var activeTableTab = "activeTableTab";
<dt><spanclass="returnLabel">Returns:</span></dt>
<dd>den aus dem sourceCode generierten Syntaxbaum</dd>
<dt><spanclass="throwsLabel">Throws:</span></dt>
<dd><code><ahref="../../../de/dhbwstuttgart/typeinference/exceptions/ParserError.html"title="class in de.dhbwstuttgart.typeinference.exceptions">ParserError</a></code></dd>
<dd><code><ahref="../../../de/dhbwstuttgart/typeinference/exceptions/ParserError.html"title="class in de.dhbwstuttgart.exceptions">ParserError</a></code></dd>
<h3>Uses of <ahref="../../../../de/dhbwstuttgart/parser/JavaParser.yyException.html"title="class in de.dhbwstuttgart.parser">JavaParser.yyException</a> in <ahref="../../../../de/dhbwstuttgart/typeinference/exceptions/package-summary.html">de.dhbwstuttgart.typeinference.exceptions</a></h3>
<h3>Uses of <ahref="../../../../de/dhbwstuttgart/parser/JavaParser.yyException.html"title="class in de.dhbwstuttgart.parser">JavaParser.yyException</a> in <ahref="../../../../de/dhbwstuttgart/typeinference/exceptions/package-summary.html">de.dhbwstuttgart.exceptions</a></h3>
<tableclass="useSummary"border="0"cellpadding="3"cellspacing="0"summary="Use table, listing constructors, and an explanation">
<caption><span>Constructors in <ahref="../../../../de/dhbwstuttgart/typeinference/exceptions/package-summary.html">de.dhbwstuttgart.typeinference.exceptions</a> with parameters of type <ahref="../../../../de/dhbwstuttgart/parser/JavaParser.yyException.html"title="class in de.dhbwstuttgart.parser">JavaParser.yyException</a></span><spanclass="tabEnd"> </span></caption>
<caption><span>Constructors in <ahref="../../../../de/dhbwstuttgart/typeinference/exceptions/package-summary.html">de.dhbwstuttgart.exceptions</a> with parameters of type <ahref="../../../../de/dhbwstuttgart/parser/JavaParser.yyException.html"title="class in de.dhbwstuttgart.parser">JavaParser.yyException</a></span><spanclass="tabEnd"> </span></caption>
<tr>
<thclass="colOne"scope="col">Constructor and Description</th>
<tableclass="useSummary"border="0"cellpadding="3"cellspacing="0"summary="Use table, listing classes, and an explanation">
<caption><span>Classes in <ahref="../../../de/dhbwstuttgart/parser/package-summary.html">de.dhbwstuttgart.parser</a> used by <ahref="../../../de/dhbwstuttgart/typeinference/exceptions/package-summary.html">de.dhbwstuttgart.typeinference.exceptions</a></span><spanclass="tabEnd"> </span></caption>
<caption><span>Classes in <ahref="../../../de/dhbwstuttgart/parser/package-summary.html">de.dhbwstuttgart.parser</a> used by <ahref="../../../de/dhbwstuttgart/typeinference/exceptions/package-summary.html">de.dhbwstuttgart.exceptions</a></span><spanclass="tabEnd"> </span></caption>
<tr>
<thclass="colOne"scope="col">Class and Description</th>
<li><ahref="../../../de/dhbwstuttgart/syntaxtree/GTVDeclarationContext.html"title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.GTVDeclarationContext</a></li>
<li>
<ulclass="inheritance">
<li><ahref="../../../de/dhbwstuttgart/syntaxtree/Class.html"title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.Class</a></li>
<li><ahref="../../../de/dhbwstuttgart/syntaxtree/Class.html"title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.ClassOrInterface</a></li>
<h3>Fields inherited from class de.dhbwstuttgart.syntaxtree.<ahref="../../../de/dhbwstuttgart/syntaxtree/Class.html"title="class in de.dhbwstuttgart.syntaxtree">Class</a></h3>
@@ -173,7 +173,7 @@ extends <a href="../../../de/dhbwstuttgart/syntaxtree/Class.html" title="class i
<h3>Methods inherited from class de.dhbwstuttgart.syntaxtree.<ahref="../../../de/dhbwstuttgart/syntaxtree/Class.html"title="class in de.dhbwstuttgart.syntaxtree">Class</a></h3>
@@ -287,9 +287,9 @@ extends <a href="../../../de/dhbwstuttgart/syntaxtree/Class.html" title="class i
@@ -106,7 +106,7 @@ var activeTableTab = "activeTableTab";
<li><ahref="../../../de/dhbwstuttgart/syntaxtree/GTVDeclarationContext.html"title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.GTVDeclarationContext</a></li>
@@ -106,7 +106,7 @@ var activeTableTab = "activeTableTab";
<li><ahref="../../../de/dhbwstuttgart/syntaxtree/GTVDeclarationContext.html"title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.GTVDeclarationContext</a></li>
<li>
<ulclass="inheritance">
<li><ahref="../../../de/dhbwstuttgart/syntaxtree/Class.html"title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.Class</a></li>
<li><ahref="../../../de/dhbwstuttgart/syntaxtree/Class.html"title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.ClassOrInterface</a></li>
<li>
<ulclass="inheritance">
<li>de.dhbwstuttgart.syntaxtree.Interface</li>
@@ -148,7 +148,7 @@ extends <a href="../../../de/dhbwstuttgart/syntaxtree/Class.html" title="class i
<h3>Fields inherited from class de.dhbwstuttgart.syntaxtree.<ahref="../../../de/dhbwstuttgart/syntaxtree/Class.html"title="class in de.dhbwstuttgart.syntaxtree">Class</a></h3>
@@ -205,7 +205,7 @@ extends <a href="../../../de/dhbwstuttgart/syntaxtree/Class.html" title="class i
<h3>Methods inherited from class de.dhbwstuttgart.syntaxtree.<ahref="../../../de/dhbwstuttgart/syntaxtree/Class.html"title="class in de.dhbwstuttgart.syntaxtree">Class</a></h3>
@@ -356,7 +356,7 @@ extends <a href="../../../de/dhbwstuttgart/syntaxtree/Class.html" title="class i
<h3>Uses of <ahref="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html"title="class in de.dhbwstuttgart.syntaxtree">SyntaxTreeNode</a> in <ahref="../../../../de/dhbwstuttgart/typeinference/exceptions/package-summary.html">de.dhbwstuttgart.typeinference.exceptions</a></h3>
<h3>Uses of <ahref="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html"title="class in de.dhbwstuttgart.syntaxtree">SyntaxTreeNode</a> in <ahref="../../../../de/dhbwstuttgart/typeinference/exceptions/package-summary.html">de.dhbwstuttgart.exceptions</a></h3>
<tableclass="useSummary"border="0"cellpadding="3"cellspacing="0"summary="Use table, listing constructors, and an explanation">
<caption><span>Constructors in <ahref="../../../../de/dhbwstuttgart/typeinference/exceptions/package-summary.html">de.dhbwstuttgart.typeinference.exceptions</a> with parameters of type <ahref="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html"title="class in de.dhbwstuttgart.syntaxtree">SyntaxTreeNode</a></span><spanclass="tabEnd"> </span></caption>
<caption><span>Constructors in <ahref="../../../../de/dhbwstuttgart/typeinference/exceptions/package-summary.html">de.dhbwstuttgart.exceptions</a> with parameters of type <ahref="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html"title="class in de.dhbwstuttgart.syntaxtree">SyntaxTreeNode</a></span><spanclass="tabEnd"> </span></caption>
<tr>
<thclass="colOne"scope="col">Constructor and Description</th>
<tableclass="useSummary"border="0"cellpadding="3"cellspacing="0"summary="Use table, listing classes, and an explanation">
<caption><span>Classes in <ahref="../../../de/dhbwstuttgart/syntaxtree/package-summary.html">de.dhbwstuttgart.syntaxtree</a> used by <ahref="../../../de/dhbwstuttgart/typeinference/exceptions/package-summary.html">de.dhbwstuttgart.typeinference.exceptions</a></span><spanclass="tabEnd"> </span></caption>
<caption><span>Classes in <ahref="../../../de/dhbwstuttgart/syntaxtree/package-summary.html">de.dhbwstuttgart.syntaxtree</a> used by <ahref="../../../de/dhbwstuttgart/typeinference/exceptions/package-summary.html">de.dhbwstuttgart.exceptions</a></span><spanclass="tabEnd"> </span></caption>
<tr>
<thclass="colOne"scope="col">Class and Description</th>
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
<li><ahref="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html"title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Literal</a></li>
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
<li><ahref="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html"title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Literal</a></li>
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
<li><ahref="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html"title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Literal</a></li>
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
<li><ahref="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html"title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Literal</a></li>
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
<li><ahref="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html"title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Literal</a></li>
@@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><ahref="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html"title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
<li><ahref="../../../../de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.html"title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.UnaryExpr</a></li>
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
<li><ahref="../../../../de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.html"title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.UnaryExpr</a></li>
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
<li><ahref="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html"title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Literal</a></li>
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.