Compare commits

...

114 Commits

Author SHA1 Message Date
0aead27bbd Small change 2022-10-24 10:28:26 +02:00
b4172066e7 Small change 2022-10-24 06:39:36 +02:00
3efc7dc7a2 Small change 2022-10-24 05:20:34 +02:00
5760fa2d4c Small change 2022-10-24 04:44:54 +02:00
2060e08f86 Small change 2022-10-24 04:26:06 +02:00
1f0ea6f49c Small change 2022-10-24 03:48:09 +02:00
57b61c2b2f Small change 2022-10-24 03:38:31 +02:00
1d0bb99b7e Small change 2022-10-24 03:22:40 +02:00
dd33b17f5c Small change 2022-10-24 01:55:54 +02:00
cf3519c2cc Small change 2022-10-24 01:34:17 +02:00
fc70f99e73 Small change 2022-10-24 01:26:00 +02:00
d4ded3572d Small change 2022-10-24 01:25:41 +02:00
440fa33793 Small change 2022-10-24 01:16:31 +02:00
6c688b8aeb Small change 2022-10-23 22:18:01 +02:00
5ea3deacfd Small change 2022-10-23 21:47:07 +02:00
26a539e440 Change to ANTLR 2022-10-23 19:51:59 +02:00
2a89c4e69a Refactor 2022-10-23 18:38:36 +02:00
6e1786ec7c Test cases and some fixes 2022-07-13 14:38:17 +02:00
699155e21a Equalize type variables in covariant and contravariant position 2022-07-03 19:24:54 +02:00
de417d3ee6 Remove inner type variables 2022-07-03 18:10:40 +02:00
ef06a8de38 Actually replace instead of removing pairs 2022-07-03 15:25:35 +02:00
560f0c5a6f Filter out cycles and infima 2022-07-03 15:17:12 +02:00
d7380c6cb7 Remove duplicate testcase 2022-07-02 16:14:46 +02:00
b43afd40ee Decouple Sigma from Target 2022-07-02 15:57:33 +02:00
a8be387dd9 Add generics to the generated class file 2022-06-23 20:39:34 +02:00
7e259e2597 Mostly finish up populating generics 2022-06-23 18:52:30 +02:00
f00ee2598f Start implementing family of generics 2022-06-22 17:06:49 +02:00
3b439a49cd IDEA wants it that way 2022-06-17 15:16:56 +02:00
29112e7bd7 First implementation for overloaded functions and test case 2022-06-17 15:15:08 +02:00
0a1a596bb9 Add Field transform 2022-05-31 14:02:39 +02:00
372182aa8b Convert the AST 2022-05-29 20:06:08 +02:00
1ef3f22c18 Add AST To Target AST emptyClass testcase 2022-05-24 15:42:41 +02:00
20f11a5bef Changes 2022-05-24 14:35:30 +02:00
6c584f92e9 More tests 2022-05-16 14:18:58 +02:00
8666bfdf17 Start testing 2022-05-15 18:45:49 +02:00
590a4f04ae Implement target t AST 2022-05-03 21:37:14 +02:00
e8cc6ade11 Start working on the code generator 2022-04-27 13:05:01 +02:00
8e80cc2985 Add TargetExpression 2022-03-30 03:17:55 +02:00
f03d3f5e64 Merge branch 'refactorToAPIs' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into refactorToAPIs 2022-03-29 19:25:13 +02:00
dfd12422a6 Set language level to Java 17. Add target AST as records 2022-03-29 19:25:01 +02:00
eebb07ec8b Verbesserung FunNGenerator:
Generics werden nicht mehr mehrfach hinzugefügt.
TPHS werden im Klassenname als LTPH angegeben, so entsteht keine Uneindeutigkeit zu Klassen mit Object (ohne TPH) im Klassenname.
2022-03-29 19:19:31 +02:00
c65102d89a Hinzufügen von OLFun2 und Änderung der Spezialisierungen von FunN, dass diese statt des TPH im Namen Object haben.
Ansonsten werden diese nicht wieder gefunden.
2022-03-29 17:00:06 +02:00
ed00aeb056 Fixed bug mit der korrekten Signatur im Bytecode der FunN Typen.
Verbesserung der BytecodeGenMethod -> Nun werden die korrekt resolveten Typen verwendet.
2022-03-29 16:20:14 +02:00
7012010462 Korrektur in TypeToDescriptor und TypeToSignature -> Ohne Angabe im Deskriptor wird automatisch angenommen es soll eine spezialisierte Signatur erstellt werden. 2022-03-29 15:58:10 +02:00
9444ee38d6 Änderung generateSuperBytecode() sodass dies nun korrekten Bytecode generiert. 2022-03-29 15:43:43 +02:00
4ed30f11f7 Änderung: Spezialisierte FunN beinhaltet TPH im Namen und dieser wird FunN als Generic hinzugefügt. 2022-03-29 15:00:52 +02:00
fcedec60e7 Hinzufügen OLFunTest. 2022-03-29 09:02:32 +02:00
d8bdcf854c Refactoring der Bytecodegenerierung und Anpassung von Kommentaren. 2022-03-29 08:56:38 +02:00
0e363cfae3 Löchen des Intermediate-Packages und Erstellung einer Utility-Klasse zur FunN Bytecodegenerierung.
Übertragung der Funktionalität zur Generierung von FunN auf FunNGenerator.
2022-03-28 22:34:07 +02:00
fedf33a006 Alle Tests der Bytecode-Generierung sind nun auf grün mit den Spezialisierungen der FunN Typen.
Bytecode muss noch manuell überprüft werden, ob überall korrekt!
2022-03-28 11:56:14 +02:00
4522aeff36 Verbesserung der Bytecodegenerierung für FunN Typen.
Immernoch in drei Tests fehlerhaft.
2022-03-28 10:47:49 +02:00
bcf56e6bdd Verbesserung der Generierung von FunN-Typen.
Lambda Expressions noch fehlerhaft.
2022-03-24 10:38:12 +01:00
15c05e5cba Verbesserung der Konvertierung und der Bytecodegenerierung für FunN Typen.
Beinhaltet noch Fehler!
2022-03-23 16:12:25 +01:00
dc9a54be3b Hinzufügen der ersten Einbeziehung der API zur Generierung der spezialisierten FunN Typen, ohne Tests. 2022-03-22 20:42:16 +01:00
21adeb7f26 Implementierung der von convert(..) in ASTToIntermediate. 2022-03-21 17:15:03 +01:00
6381d09174 Implementierung von getBytecode() in FunN und Hinzufügen entsprechender Tests. 2022-03-21 11:29:37 +01:00
918a2cc04d Implementierung in FunN von getSuperBytecode() und Hinzufügen entsprechender Test.
Umbenennung in IntermediateRefType: getTypParameter() -> getTypArgument() und getTypParameterSize() -> getTypArgumentSize().
2022-03-21 08:42:50 +01:00
ac1e0340c3 Hinzufügen von FunN zur Generierung von echten Funktionstypen.
FunN ist Subtyp von IntermediateRefType.
Hinzufügen erster FunNTests.
2022-03-20 22:25:55 +01:00
0d84e8361f Hinzufügen von IntermediateWildcard und dessen Tests.
Hinzufügen der Tests für IntermediateSuperWildcard und IntermediateExtendsWildcard.
Verbesserung von IntermediateRefType: typParameter können IntermediateType sein und nicht nur IntermediateInnerType.
2022-03-20 20:38:54 +01:00
0207c7d1b0 Verbesserung typParameter von IntermediateRefType: Können IntermediateInnerType sein! Nicht nur IntermediateRefType wie zuvor.
Hizufügen entsprechender Tests.
2022-03-20 16:59:24 +01:00
f1f028f0b9 Hinzufügen von equals() und hashCode() Tests zu IntermediateRefTypeTest und IntermediateGenericTypeTest. 2022-03-20 16:42:12 +01:00
8b58259fe0 Hinzufügen von Test zu IntermediateRefTypeTest und IntermediateGenericTypeTest. 2022-03-20 16:34:01 +01:00
55a75b04a0 Refactoring für innere Typen, welche ausschließlich einen Descriptor besitzen.
Innere Typen sind dabei IntermediateRefType und IntermediateGenericType.
Implementierung der IntermediateWildcard Typen und Hinzufügen leerer Tests.
2022-03-20 16:08:38 +01:00
06b27dabd2 Änderung von hashCode() und equals() zurück zur Benutzung von getFullyQualifiedName(), da dies eindeutig ist im Gegensatz zu getSignature(). 2022-03-20 15:07:02 +01:00
9baf89acc2 Änderung von hashCode() und equals(), in IntermediateGenericType und IntermediateRefType, auf Basis von getSignature() und nicht mehr getFullyQualifiedName(). 2022-03-19 18:32:12 +01:00
be307e95a6 Hizufügen von isParametrized zu IntermediateRefType. 2022-03-19 18:19:42 +01:00
df4faebd92 Hinzufügen der extends-Beziehung von IntermediateExtendsWildcard und IntermediateSuperWildcard zu IntermediateType, ohne Implementierungen. 2022-03-19 18:16:50 +01:00
36ef1e124a Änderung von toSting(): gibt nun getSignature() statt getFullyQualifiedName() zurück. 2022-03-19 18:12:46 +01:00
2706c31beb Kleine Anpassung von Kommentaren. 2022-03-19 18:07:24 +01:00
c32a0cc222 Refactoring access-Modifier von IntermediateType (Klassen-Name Methoden).
Refactoring Signature- und Descriptor-Methoden und caching des Descriptors.
2022-03-19 18:03:54 +01:00
eaec7f613a Hinzufügen von abstract getClassDescriptor in IntermediateType und Implementierung von IntermediateGenericType. 2022-03-19 17:22:23 +01:00
c681396061 Implementierung und Tests von IntermediateRefType. 2022-03-19 16:33:13 +01:00
3d19d8d729 Hinzufügen der Klassenbeschreibung im JavaDoc für IntermediateType. 2022-03-18 12:53:06 +01:00
f457e7e4d0 Erste Implementierung des IntermediateType und unvollständige Implementierung von IntermediateRefType. 2022-03-18 09:09:33 +01:00
c22d12f6b0 Hinzufügen des Grundkonstrukts der Intermediate-Typen. 2022-03-17 17:36:34 +01:00
0aab2d9f53 modified: ../../../../main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/StatementGenerator.java
this wird nicht als Field betrachtet

	new file:   ../../javFiles/packageTest/Pair2.jav
	new file:   ../../javFiles/packageTest/de/test/Pair.jav
2021-06-04 00:52:50 +02:00
33d6adf899 Merge branch 'bigRefactoring' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bigRefactoring 2021-05-27 12:10:15 +02:00
00add07132 Fix Object has null Constructor 2021-05-27 12:10:05 +02:00
48964d57ad 2
new file:   README_aktuelle_Branches
	modified:   src/main/java/de/dhbwstuttgart/syntaxtree/type/GenericRefType.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
2021-05-25 15:32:11 +02:00
18d9edfeea modified: src/main/java/de/dhbwstuttgart/bytecode/genericsGenerator/GeneratedGenericsFinder.java
new file:   src/test/java/insertGenerics/TestVectorArg.java
	modified:   src/test/resources/bytecode/javFiles/Fac.jav
	new file:   src/test/resources/insertGenericsJav/TestVectorArg.jav
2021-05-21 09:52:22 +02:00
1b9e824b86 modified: src/main/java/de/dhbwstuttgart/bytecode/genericsGenerator/GeneratedGenericsFinder.java
modified:   src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java
2021-04-19 16:18:31 +02:00
b40cb49b9f In PairTPHsmallerTPH origPair eingefuegt, was das OriginalPair darstellt,
entweder vor oder waehrend der Unikation

	modified:   src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java
	new file:   src/main/java/de/dhbwstuttgart/typeinference/result/PairNoResult.java
noetig da als oriPairs auch Paare nicht solved form vorkommen koennen

	modified:   src/main/java/de/dhbwstuttgart/typeinference/result/PairTPHsmallerTPH.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/result/ResultPairVisitor.java
2021-04-19 14:22:40 +02:00
be9ee49878 modified: src/main/java/de/dhbwstuttgart/bytecode/TPHExtractor.java
modified:   src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java
	modified:   src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/StatementGenerator.java
	modified:   src/main/java/de/dhbwstuttgart/syntaxtree/statement/MethodCall.java
	modified:   src/main/java/de/dhbwstuttgart/syntaxtree/statement/Statement.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/constraints/Constraint.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java
	modified:   src/test/java/insertGenerics/TestLocalVarLambda.java
2021-04-13 10:03:48 +02:00
3363037854 modified: src/main/java/de/dhbwstuttgart/bytecode/TPHExtractor.java
modified:   src/main/java/de/dhbwstuttgart/bytecode/genericsGenerator/GeneratedGenericsFinder.java
	modified:   src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java
	modified:   src/main/java/de/dhbwstuttgart/bytecode/utilities/MethodAndTPH.java
Neue Methode addTph

	modified:   src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/StatementGenerator.java
Methodcall-Steatements mit Void als Returntyp
2021-04-09 09:15:10 +02:00
c8d4301e5e modified: src/main/java/de/dhbwstuttgart/bytecode/genericsGenerator/GeneratedGenericsFinder.java
Alis Ansatz zur Bytecodeerzeugung eingesetzt

	modified:   src/main/java/de/dhbwstuttgart/bytecode/genericsGeneratorTypes/MethodAndConstraints.java
ToString ausprogramnmiert

	modified:   src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java
Einige bytecode-Usecases laufen noch nicht (z.B. Put.jav) Erste Ansaetze versucht.
Muss noch erweitert werden.
2021-04-08 09:56:49 +02:00
b46415e45a modified: src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java
reset Typevars-Namen wieder rausgenommen

	modified:   src/main/java/de/dhbwstuttgart/syntaxtree/factory/NameGenerator.java

	modified:   src/test/java/insertGenerics/TestAny.java
	modified:   src/test/java/insertGenerics/TestClassField.java
	modified:   src/test/java/insertGenerics/TestContraVariant.java
	modified:   src/test/java/insertGenerics/TestGGFinder.java
	modified:   src/test/java/insertGenerics/TestLocalVarLambda.java
	modified:   src/test/java/insertGenerics/TestMutualRecursion.java
	modified:   src/test/java/insertGenerics/TestReturnVar.java
	modified:   src/test/java/insertGenerics/TestSecondLineOfClassConstraints.java
	modified:   src/test/java/insertGenerics/TestTPHsAndGenerics.java
	modified:   src/test/java/insertGenerics/TestTPHsAndGenerics2.java
	modified:   src/test/java/insertGenerics/TestThreeArgs.java
	modified:   src/test/java/insertGenerics/TestTwoArgs.java
	modified:   src/test/java/insertGenerics/TestTwoArgs2.java
	modified:   src/test/java/insertGenerics/TestTwoCalls.java
	modified:   src/test/java/insertGenerics/TestVector.java
	modified:   src/test/java/insertGenerics/TestVoidMeth.java
Reset Typevar-Namen in @BeforeClass eingefuegt
2021-04-01 19:16:57 +02:00
bbfd8aa203 modified: src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java 2021-04-01 17:13:06 +02:00
0cb1f244bc modified: src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java
Tests insertGenerics funtionieren
	modified:   src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java
	modified:   src/main/java/de/dhbwstuttgart/syntaxtree/factory/NameGenerator.java
reset-Funktion eingefuegt, damit bei jedem Test die Namen der TypepLaceholdert von vorne beginnen

	modified:   src/test/java/insertGenerics/TestContraVariant.java
	modified:   src/test/java/insertGenerics/TestTPHsAndGenerics.java
	modified:   src/test/java/insertGenerics/TestThreeArgs.java
2021-04-01 16:59:14 +02:00
9be64e4905 modified: src/main/java/de/dhbwstuttgart/bytecode/constraint/TPHConstraint.java
modified:   src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java
	modified:   src/main/java/de/dhbwstuttgart/bytecode/utilities/MethodAndTPH.java
	modified:   src/test/java/insertGenerics/TestContraVariant.java
	modified:   src/test/java/insertGenerics/TestLocalVarLambda.java
	modified:   src/test/java/insertGenerics/TestTransitiveClosure.java
Transitiv Closure auf new umgestellt
2021-03-31 18:18:16 +02:00
d1ad6e218a modified: src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java
modified:   src/test/java/insertGenerics/TestTwoArgs.java
2021-03-29 10:45:21 +02:00
bf8d4fe647 new file: src/test/resources/insertGenericsJav/TestContraVariant.jav
new file:   src/test/resources/insertGenericsJav/TestMutualRecursionWithField2.jav
	new file:   src/test/resources/insertGenericsJav/TestMutualRecursionWithField3.jav
2021-03-29 10:00:04 +02:00
e229093017 new file: src/test/java/insertGenerics/TestContraVariant.java
modified:   src/test/java/insertGenerics/TestTPHsAndGenerics.java
	new file:   src/test/java/insertGenerics/TestThreeArgs.java
2021-03-29 09:57:45 +02:00
66a25a56c0 Merge branch 'bytecodeGenericsSecond' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bytecodeGenericsSecond 2021-03-26 20:55:25 +01:00
af223a4d8a modified: src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java 2021-03-26 20:53:24 +01:00
14cb2c8909 Merge branch 'bytecodeGenericsSecond' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bytecodeGenericsSecond 2021-03-26 20:19:16 +01:00
080eb2f6f3 modified: src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java 2021-03-26 20:18:45 +01:00
d8876457db Merge branch 'bytecodeGenericsSecond' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bytecodeGenericsSecond 2021-03-26 20:07:48 +01:00
32e9ce92a6 modified: src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java
modified:   src/test/java/insertGenerics/TestTwoArgs.java
2021-03-26 19:58:38 +01:00
3ad9007336 Merge branch 'bytecodeGenericsSecond' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bytecodeGenericsSecond 2021-03-26 19:27:33 +01:00
da2a17c794 modified: src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java
modified:   src/test/java/insertGenerics/TestTPHsAndGenerics.java
2021-03-26 18:33:36 +01:00
345b03b775 modified: src/test/java/insertGenerics/TestTPHsAndGenerics.java 2021-03-26 17:27:27 +01:00
ff93b0967e 2
modified:   src/test/java/insertGenerics/TestTPHsAndGenerics.java
2021-03-26 16:27:24 +01:00
db149eb588 modified: src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java
klein Korrekturen

	modified:   src/test/java/insertGenerics/TestTwoArgs2.java
List -> Set
2021-03-26 16:15:18 +01:00
f5f639c0f7 modified: src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java 2021-03-26 15:24:15 +01:00
a4c38b2bb0 Merge branch 'bytecodeGenericsSecond' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bytecodeGenericsSecond 2021-03-26 12:30:13 +01:00
e3625cb306 modified: src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java
modified:   src/test/java/insertGenerics/TestTwoCalls.java
2021-03-26 12:29:40 +01:00
86603ae343 modified: src/main/java/de/dhbwstuttgart/bytecode/constraint/TPHConstraint.java
equals korrigiert

	modified:   src/test/java/insertGenerics/TestGGFinder.java
	modified:   src/test/java/insertGenerics/TestLocalVarLambda.java
	modified:   src/test/java/insertGenerics/TestMutualRecursion.java
	modified:   src/test/java/insertGenerics/TestTPHsAndGenerics.java
	modified:   src/test/java/insertGenerics/TestTwoArgs.java
	modified:   src/test/java/insertGenerics/TestTwoCalls.java
	modified:   src/test/java/insertGenerics/TestVector.java
List -> Set vollendet
2021-03-26 10:51:59 +01:00
d276c7c044 modified: src/main/java/de/dhbwstuttgart/bytecode/constraint/TPHConstraint.java
modified:   src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/ClassConstraint.java
	modified:   src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java
toString wieder korrigiert

	modified:   src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/MethodConstraint.java
	modified:   src/test/java/insertGenerics/TestAny.java
List -> Set
Bei allen anderen Tests fehlt es noch
2021-03-25 19:55:16 +01:00
91c075829b Merge branch 'generateTestConstraints' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bytecodeGenericsSecond 2021-03-25 18:59:34 +01:00
d08e598649 modified: src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java 2021-03-19 22:02:23 +01:00
ba8df8b376 modified: src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java 2021-03-19 18:27:50 +01:00
b147430fb6 kommentierte neue Regeln 2021-03-19 15:05:40 +01:00
661fa53937 modified: src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java 2021-03-19 14:42:22 +01:00
13144d0ac9 modified: src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java 2021-03-19 14:23:07 +01:00
373 changed files with 9606 additions and 2708 deletions
README_aktuelle_Branches
doc/LambdaJavadoc/de/dhbwstuttgart
pom.xml
src
main
antlr4
astRefactor
java
de
dhbwstuttgart
bytecode
core
parser
syntaxtree
ASTVisitor.javaAbstractASTWalker.javaArgumentList.javaAssign.javaAssignLeftSide.javaAssignToField.javaBinaryExpr.javaBinaryExprInterface.javaBlock.javaCastExpr.javaClassOrInterface.javaConstructor.javaDoStmt.javaEmptyStmt.javaExceptionList.javaExpression.javaExpressionReceiver.javaExtendsWildcardType.javaField.javaFieldDeclaration.javaFieldInterface.javaFieldVar.javaForStmt.javaFormalParameter.javaGenericDeclarationList.javaGenericRefType.javaGenericTypeVar.javaIfStmt.javaInstanceOf.javaJavaInternalExpression.javaLambdaExpression.javaLiteral.javaLocalVar.javaLocalVarDecl.javaMethod.javaMethodCall.javaMethodCallInterface.javaMethodInterface.javaNewArray.javaNewClass.javaParameterList.javaReceiver.javaRefInterface.javaRefType.javaRefTypeOrTPHOrWildcardOrGeneric.javaReturn.javaReturnInterface.javaReturnVoid.javaSourceFile.javaStatement.javaStatementVisitor.javaStaticClassName.javaSuper.javaSuperCall.javaSuperWildcardType.javaSwitchTest.javaSyntaxTreeNode.javaThis.javaThisCall.javaTypableStatement.javaTypePlaceholder.javaTypeScope.javaTypeVisitor.javaUnaryExpr.javaVoid.javaWhileInterface.javaWhileStmt.javaWildcardType.javaWildcardTypeInterface.java
factory
statement
type
visual
target
typedeployment
typeinference
test

10
README_aktuelle_Branches Normal file

@ -0,0 +1,10 @@
Stand: 24.5.21
bigRefactoring: Master-Brach
bigRefactoringUnifyComment: Dokumentation Unify, Martin
bytecodeGenericsSecond: Generated Generics, Ali, Martin
inferWildcards, Wildcards, Till
master, derzeit nicht genutzt
plugin, eigemntlicher Branch fuer Plugin-Basis, derzeit nicht aktuelle (aktuelle Version in simplifyRes
simplifyRes, Basis fuer Plugin, sollte auf Plugin gemerged werden, noch keine Packages, Michael
strucTypesNew, Struturelle Typen, alte Basis, arbeite derzeit niemand

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/MethodCall.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.MethodCall</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/MethodCall.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.MethodCall</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.misc.ConstructorCall</li>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.ArgumentList</li>
<li>de.dhbwstuttgart.syntaxtree.ArgumentList</li>
</ul>
</li>
</ul>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.Assign</li>
<li>de.dhbwstuttgart.syntaxtree.Assign</li>
</ul>
</li>
</ul>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/BinaryExpr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.BinaryExpr</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/BinaryExpr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.BinaryExpr</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.Binary</li>

@ -97,7 +97,7 @@
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -106,7 +106,7 @@
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.BinaryExpr</li>
<li>de.dhbwstuttgart.syntaxtree.BinaryExpr</li>
</ul>
</li>
</ul>

@ -103,10 +103,10 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.Block</li>
<li>de.dhbwstuttgart.syntaxtree.Block</li>
</ul>
</li>
</ul>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Literal</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Literal</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.literal.BoolLiteral</li>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,10 +112,10 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.UnaryExpr</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.UnaryExpr</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.CastExpr</li>
<li>de.dhbwstuttgart.syntaxtree.CastExpr</li>
</ul>
</li>
</ul>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Literal</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Literal</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.literal.CharLiteral</li>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Literal</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Literal</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.literal.DoubleLiteral</li>

@ -103,10 +103,10 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.EmptyStmt</li>
<li>de.dhbwstuttgart.syntaxtree.EmptyStmt</li>
</ul>
</li>
</ul>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.ExprStmt</li>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Literal</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Literal</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.literal.FloatLiteral</li>

@ -103,10 +103,10 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.ForStmt</li>
<li>de.dhbwstuttgart.syntaxtree.ForStmt</li>
</ul>
</li>
</ul>

@ -103,10 +103,10 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.IfStmt</li>
<li>de.dhbwstuttgart.syntaxtree.IfStmt</li>
</ul>
</li>
</ul>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,10 +112,10 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/BinaryExpr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.BinaryExpr</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/BinaryExpr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.BinaryExpr</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.InstanceOf</li>
<li>de.dhbwstuttgart.syntaxtree.InstanceOf</li>
</ul>
</li>
</ul>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Literal</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Literal</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.literal.NumberLiteral</li>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.LambdaExpression</li>
<li>de.dhbwstuttgart.syntaxtree.LambdaExpression</li>
</ul>
</li>
</ul>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.Literal</li>
<li>de.dhbwstuttgart.syntaxtree.Literal</li>
</ul>
</li>
</ul>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.LocalVar</li>
<li>de.dhbwstuttgart.syntaxtree.LocalVar</li>
</ul>
</li>
</ul>

@ -103,10 +103,10 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.LocalVarDecl</li>
<li>de.dhbwstuttgart.syntaxtree.LocalVarDecl</li>
</ul>
</li>
</ul>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Literal</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Literal</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.LongLiteral</li>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.MethodCall</li>
<li>de.dhbwstuttgart.syntaxtree.MethodCall</li>
</ul>
</li>
</ul>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.UnaryExpr</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.UnaryExpr</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.javaInternal.NegativeExpr</li>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.NewArray</li>
<li>de.dhbwstuttgart.syntaxtree.NewArray</li>
</ul>
</li>
</ul>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.NewClass</li>
<li>de.dhbwstuttgart.syntaxtree.NewClass</li>
</ul>
</li>
</ul>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.UnaryExpr</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.UnaryExpr</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.javaInternal.NotExpr</li>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Literal</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Literal</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.literal.Null</li>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.UnaryExpr</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.UnaryExpr</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.javaInternal.PositivExpr</li>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.UnaryExpr</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.UnaryExpr</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.javaInternal.PostDecExpr</li>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.UnaryExpr</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.UnaryExpr</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.javaInternal.PostIncExpr</li>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.UnaryExpr</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.UnaryExpr</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.javaInternal.PreDecExpr</li>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.UnaryExpr</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/UnaryExpr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.UnaryExpr</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.javaInternal.PreIncExpr</li>

@ -100,7 +100,7 @@ var activeTableTab = "activeTableTab";
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.Receiver</li>
<li>de.dhbwstuttgart.syntaxtree.Receiver</li>
</ul>
</li>
</ul>

@ -103,10 +103,10 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.Return</li>
<li>de.dhbwstuttgart.syntaxtree.Return</li>
</ul>
</li>
</ul>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.Statement</li>
<li>de.dhbwstuttgart.syntaxtree.Statement</li>
</ul>
</li>
</ul>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Literal</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Literal.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Literal</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.literal.StringLiteral</li>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,13 +112,13 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/MethodCall.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.MethodCall</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/MethodCall.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.MethodCall</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ThisCall.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ThisCall</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ThisCall.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.ThisCall</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.SuperCall</li>
<li>de.dhbwstuttgart.syntaxtree.SuperCall</li>
</ul>
</li>
</ul>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.This</li>
<li>de.dhbwstuttgart.syntaxtree.This</li>
</ul>
</li>
</ul>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,10 +112,10 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/MethodCall.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.MethodCall</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/MethodCall.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.MethodCall</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.ThisCall</li>
<li>de.dhbwstuttgart.syntaxtree.ThisCall</li>
</ul>
</li>
</ul>

@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/ExprStmt.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.ExprStmt</a></li>
@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Expr.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Expr</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.UnaryExpr</li>
<li>de.dhbwstuttgart.syntaxtree.UnaryExpr</li>
</ul>
</li>
</ul>

@ -103,10 +103,10 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/SyntaxTreeNode.html" title="class in de.dhbwstuttgart.syntaxtree">de.dhbwstuttgart.syntaxtree.SyntaxTreeNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.statement.Statement</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/statement/Statement.html" title="class in de.dhbwstuttgart.syntaxtree.statement">de.dhbwstuttgart.syntaxtree.Statement</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.statement.WhileStmt</li>
<li>de.dhbwstuttgart.syntaxtree.WhileStmt</li>
</ul>
</li>
</ul>

@ -70,7 +70,7 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.ArgumentList" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.ArgumentList</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.ArgumentList" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.ArgumentList</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.Assign</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.Assign</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,9 +70,9 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.Assign" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.Assign</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.Assign" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.Assign</h2>
</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.statement.Assign</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.Assign</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.BinaryExpr</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.BinaryExpr</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,7 +70,7 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.BinaryExpr" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.BinaryExpr</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.BinaryExpr" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.BinaryExpr</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.Block</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.Block</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,7 +70,7 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.Block" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.Block</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.Block" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.Block</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.CastExpr</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.CastExpr</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,9 +70,9 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.CastExpr" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.CastExpr</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.CastExpr" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.CastExpr</h2>
</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.statement.CastExpr</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.CastExpr</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.EmptyStmt</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.EmptyStmt</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,9 +70,9 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.EmptyStmt" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.EmptyStmt</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.EmptyStmt" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.EmptyStmt</h2>
</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.statement.EmptyStmt</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.EmptyStmt</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.ForStmt</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.ForStmt</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,9 +70,9 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.ForStmt" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.ForStmt</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.ForStmt" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.ForStmt</h2>
</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.statement.ForStmt</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.ForStmt</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.IfStmt</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.IfStmt</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,9 +70,9 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.IfStmt" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.IfStmt</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.IfStmt" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.IfStmt</h2>
</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.statement.IfStmt</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.IfStmt</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.InstanceOf</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.InstanceOf</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,9 +70,9 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.InstanceOf" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.InstanceOf</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.InstanceOf" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.InstanceOf</h2>
</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.statement.InstanceOf</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.InstanceOf</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.LambdaExpression</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.LambdaExpression</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,9 +70,9 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.LambdaExpression" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.LambdaExpression</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.LambdaExpression" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.LambdaExpression</h2>
</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.statement.LambdaExpression</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.LambdaExpression</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.Literal</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.Literal</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,7 +70,7 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.Literal" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.Literal</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.Literal" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.Literal</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.LocalVar</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.LocalVar</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,9 +70,9 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.LocalVar" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.LocalOrFieldVar</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.LocalVar" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.LocalOrFieldVar</h2>
</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.statement.LocalVar</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.LocalVar</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.LocalVarDecl</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.LocalVarDecl</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,7 +70,7 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.LocalVarDecl" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.LocalVarDecl</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.LocalVarDecl" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.LocalVarDecl</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.MethodCall</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.MethodCall</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,7 +70,7 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.MethodCall" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.MethodCall</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.MethodCall" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.MethodCall</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.NewArray</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.NewArray</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,9 +70,9 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.NewArray" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.NewArray</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.NewArray" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.NewArray</h2>
</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.statement.NewArray</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.NewArray</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.NewClass</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.NewClass</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,9 +70,9 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.NewClass" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.NewClass</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.NewClass" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.NewClass</h2>
</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.statement.NewClass</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.NewClass</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.Receiver</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.Receiver</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,7 +70,7 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.Receiver" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.Receiver</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.Receiver" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.Receiver</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.Return</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.Return</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,7 +70,7 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.Return" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.Return</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.Return" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.Return</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.Statement</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.Statement</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,7 +70,7 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.Statement" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.Statement</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.Statement" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.Statement</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.SuperCall</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.SuperCall</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,9 +70,9 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.SuperCall" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.SuperCall</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.SuperCall" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.SuperCall</h2>
</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.statement.SuperCall</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.SuperCall</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.This</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.This</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,9 +70,9 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.This" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.This</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.This" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.This</h2>
</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.statement.This</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.This</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.ThisCall</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.ThisCall</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,7 +70,7 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.ThisCall" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.ThisCall</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.ThisCall" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.ThisCall</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.UnaryExpr</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.UnaryExpr</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,7 +70,7 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.UnaryExpr" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.UnaryExpr</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.UnaryExpr" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.UnaryExpr</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.statement.WhileStmt</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.WhileStmt</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,9 +70,9 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.statement.WhileStmt" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.statement.WhileStmt</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.WhileStmt" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.WhileStmt</h2>
</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.statement.WhileStmt</div>
<div class="classUseContainer">No usage of de.dhbwstuttgart.syntaxtree.WhileStmt</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->

@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/type/ObjectType.html" title="class in de.dhbwstuttgart.syntaxtree.type">de.dhbwstuttgart.syntaxtree.type.ObjectType</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/type/GenericTypeVar.html" title="class in de.dhbwstuttgart.syntaxtree.type">de.dhbwstuttgart.syntaxtree.type.GenericRefType</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/type/GenericTypeVar.html" title="class in de.dhbwstuttgart.syntaxtree.type">de.dhbwstuttgart.syntaxtree.GenericRefType</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.GenericTypeVar</li>

@ -106,10 +106,10 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/type/Type.html" title="class in de.dhbwstuttgart.syntaxtree.type">de.dhbwstuttgart.syntaxtree.type.Type</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/type/WildcardType.html" title="class in de.dhbwstuttgart.syntaxtree.type">de.dhbwstuttgart.syntaxtree.type.WildcardType</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/type/WildcardType.html" title="class in de.dhbwstuttgart.syntaxtree.type">de.dhbwstuttgart.syntaxtree.WildcardTypeInterface</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.type.ExtendsWildcardType</li>
<li>de.dhbwstuttgart.syntaxtree.ExtendsWildcardType</li>
</ul>
</li>
</ul>

@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/type/ObjectType.html" title="class in de.dhbwstuttgart.syntaxtree.type">de.dhbwstuttgart.syntaxtree.type.ObjectType</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.type.GenericRefType</li>
<li>de.dhbwstuttgart.syntaxtree.GenericRefType</li>
</ul>
</li>
</ul>

@ -106,10 +106,10 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/type/Type.html" title="class in de.dhbwstuttgart.syntaxtree.type">de.dhbwstuttgart.syntaxtree.type.Type</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/type/WildcardType.html" title="class in de.dhbwstuttgart.syntaxtree.type">de.dhbwstuttgart.syntaxtree.type.WildcardType</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/type/WildcardType.html" title="class in de.dhbwstuttgart.syntaxtree.type">de.dhbwstuttgart.syntaxtree.WildcardTypeInterface</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.type.SuperWildcardType</li>
<li>de.dhbwstuttgart.syntaxtree.SuperWildcardType</li>
</ul>
</li>
</ul>

@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/type/ObjectType.html" title="class in de.dhbwstuttgart.syntaxtree.type">de.dhbwstuttgart.syntaxtree.type.ObjectType</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.type.TypePlaceholder</li>
<li>de.dhbwstuttgart.syntaxtree.TypePlaceholder</li>
</ul>
</li>
</ul>

@ -109,10 +109,10 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/type/ObjectType.html" title="class in de.dhbwstuttgart.syntaxtree.type">de.dhbwstuttgart.syntaxtree.type.ObjectType</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/type/RefType.html" title="class in de.dhbwstuttgart.syntaxtree.type">de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric</a></li>
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/type/RefType.html" title="class in de.dhbwstuttgart.syntaxtree.type">de.dhbwstuttgart.syntaxtree.RefTypeOrTPHOrWildcardOrGeneric</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.type.Void</li>
<li>de.dhbwstuttgart.syntaxtree.Void</li>
</ul>
</li>
</ul>

@ -106,7 +106,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../de/dhbwstuttgart/syntaxtree/type/Type.html" title="class in de.dhbwstuttgart.syntaxtree.type">de.dhbwstuttgart.syntaxtree.type.Type</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.syntaxtree.type.WildcardType</li>
<li>de.dhbwstuttgart.syntaxtree.WildcardTypeInterface</li>
</ul>
</li>
</ul>

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.type.ExtendsWildcardType</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.ExtendsWildcardType</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,7 +70,7 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.type.ExtendsWildcardType" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.type.ExtendsWildcardType</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.ExtendsWildcardType" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.ExtendsWildcardType</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.type.GenericRefType</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.GenericRefType</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,7 +70,7 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.type.GenericRefType" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.type.GenericTypeVar</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.GenericRefType" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.type.GenericTypeVar</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.RefTypeOrTPHOrWildcardOrGeneric</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,7 +70,7 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.type.RefType</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.RefTypeOrTPHOrWildcardOrGeneric" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.RefType</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.type.SuperWildcardType</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.SuperWildcardType</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,7 +70,7 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.type.SuperWildcardType" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.type.SuperWildcardType</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.SuperWildcardType" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.SuperWildcardType</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.type.TypePlaceholder</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.TypePlaceholder</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,7 +70,7 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.type.TypePlaceholder" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.type.TypePlaceholder</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.TypePlaceholder" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.TypePlaceholder</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.type.Void</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.Void</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,7 +70,7 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.type.Void" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.type.Void</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.Void" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.Void</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">

@ -3,7 +3,7 @@
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_05) on Tue May 12 19:56:24 CEST 2015 -->
<title>Uses of Class de.dhbwstuttgart.syntaxtree.type.WildcardType</title>
<title>Uses of Class de.dhbwstuttgart.syntaxtree.WildcardTypeInterface</title>
<meta name="date" content="2015-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
@ -70,7 +70,7 @@
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.type.WildcardType" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.type.WildcardType</h2>
<h2 title="Uses of Class de.dhbwstuttgart.syntaxtree.WildcardTypeInterface" class="title">Uses of Class<br>de.dhbwstuttgart.syntaxtree.WildcardTypeInterface</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">

@ -9,7 +9,7 @@
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
<script type="text/javascript">//<!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="FunN";
@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../de/dhbwstuttgart/syntaxtree/type/ObjectType.html" title="class in de.dhbwstuttgart.syntaxtree.type">de.dhbwstuttgart.syntaxtree.type.ObjectType</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../de/dhbwstuttgart/syntaxtree/type/RefType.html" title="class in de.dhbwstuttgart.syntaxtree.type">de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric</a></li>
<li><a href="../../../de/dhbwstuttgart/syntaxtree/type/RefType.html" title="class in de.dhbwstuttgart.syntaxtree.type">de.dhbwstuttgart.syntaxtree.RefTypeOrTPHOrWildcardOrGeneric</a></li>
<li>
<ul class="inheritance">
<li>de.dhbwstuttgart.typeinference.FunN</li>

16
pom.xml

@ -118,6 +118,15 @@ http://maven.apache.org/maven-v4_0_0.xsd">
</descriptorRefs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>17</source>
<target>17</target>
<compilerArgs>--enable-preview</compilerArgs>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
@ -129,8 +138,11 @@ http://maven.apache.org/maven-v4_0_0.xsd">
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<compilerArgs>
--enable-preview
</compilerArgs>
<tycho.version>0.23.0</tycho.version>
<mainClass>de.dhbwstuttgart.core.ConsoleInterface</mainClass>
</properties>

@ -0,0 +1,162 @@
grammar astRefactor;
/*
* Parser Rules
*/
syntaxtreenode: typablestatement | reftypeortphorwildcardorgeneric | methodinterface | fieldinterface | formalparameter | parameterlist | generictypevar | sourcefile | genericdecllist | argumentlist | classorinterface;
class : ACCESSMODIFIER WHITESPACE CLASS WHITESPACE CLASSNAME '{'(NEWLINE)* classbody'}';
classbody : ( method | variable | NEWLINE | syntaxtreenode)*;
variable : ACCESSMODIFIER WHITESPACE ( syntaxtreenode ) WHITESPACE NAME WHITESPACE '=' WHITESPACE ( WORD | NUMBER) (';')?
| ACCESSMODIFIER WHITESPACE ( syntaxtreenode ) WHITESPACE NAME (';')?
| ( formalparameter | typeplaceholder) WHITESPACE NAME (';')?;
method : ACCESSMODIFIER WHITESPACE ( syntaxtreenode ) WHITESPACE NAME '(' ( formalparameter | typeplaceholder ) WHITESPACE WORD ')''{''}';
classorinterface: class;
argumentlist: variable (',' WHITESPACE variable)+;
genericdecllist: GENERICDECLLIST;
sourcefile: SOURCEFILE;
generictypevar: GENERICTYPEVAR;
parameterlist: variable (',' WHITESPACE variable)+;
formalparameter: FORMALPARAMETER;
fieldinterface: fielddeclaration | field;
fielddeclaration: variable;
field: NAME;
methodinterface: method | constructor;
constructor: CONSTRUCTOR;
reftypeortphorwildcardorgeneric: genericreftype | typeplaceholder | wildcardtypeinterface | refinterface;
refinterface: reftype | void;
void: VOID;
reftype: REFTYPE;
wildcardtypeinterface: superwildcardtype | wildcardtype | extendswildcardType;
extendswildcardType: EXTENDSWILDARDTYPE;
wildcardtype: WILDCARDTYPE;
superwildcardtype: SUPERWILDCARDTYPE;
typeplaceholder: TYPEPLACEHOLDER;
genericreftype: GENERICREFTYPE;
typablestatement: expression | assignleft;
expression: statement | receiver | binaryexprinterface | THIS | SUPER | FIELDVAR | NEWARRAY | LITERAL | CASTEXPR | LAMBDAEXPRESSION;
binaryexprinterface: binaryexpr | instanceof;
instanceof: INSTANCEOF;
binaryexpr: BINARYEXPR;
receiver: staticclassname | expressionreceiver;
expressionreceiver: EXPRESSIONRECEIVER;
staticclassname: STATICCLASSNAME;
statement: whileinterface | methodcallinterface | returninterface | javainternalexpressioninterface | forstmt | ifstmt | BLOCK | EMPTYSTMT | LOCALVARDECL | ASSIGN | LOCALVAR;
ifstmt: IFSTMT ( syntaxtreenode )* ')''{'( syntaxtreenode )*'}';
forstmt: FORSMT ( syntaxtreenode )* ')''{'( syntaxtreenode )*'}';
javainternalexpressioninterface: UNARYEXPR;
returninterface: RETURN | returnvoid;
returnvoid: RETURN WHITESPACE VOID';';
methodcallinterface: METHODCALL | THISCALL | SUPERCALL | NEWCLASS;
whileinterface: whilestmt | dostmt;
dostmt: DOSTMT ( syntaxtreenode )*'}' WHILESTMT ( syntaxtreenode )+')';
whilestmt: WHILESTMT( syntaxtreenode )*')''{'( syntaxtreenode )*'}';
assignleft: assigntofield | ASSIGNLEFTSIDE;
assigntofield: ASSIGNTOFIELD;
/*
* Lexer Rules
*/
fragment LOWERCASE : [a-z] ;
fragment UPPERCASE : [A-Z] ;
NUMBER : [0-9]+;
CLASS : 'class';
ACCESSMODIFIER : ('public' | 'private');
WHITESPACE : ' ';
NEWLINE : ('\r'? '\n' | '\r')+ ;
GENERICDECLLIST : 'List<T>';
SOURCEFILE : WORD '.java';
ASSIGNTOFIELD : 'assigntofield';
ASSIGNLEFTSIDE : 'assignleftside';
WHILESTMT : 'while(';
DOSTMT : 'do{';
GENERICTYPEVAR : 'generictypevar';
FORMALPARAMETER : ('int' | 'String' | 'double' | 'float' | 'boolean');
FIELDDECLARATION : 'fielddeclaration';
CONSTRUCTOR : 'constructor';
VOID : 'void';
REFTYPE : 'reftype';
EXTENDSWILDARDTYPE : 'extendwildcardType';
WILDCARDTYPE : 'wildcardtype';
SUPERWILDCARDTYPE : 'superwildcardtype';
TYPEPLACEHOLDER : 'typeplaceholder';
GENERICREFTYPE : 'genericreftype';
THIS : 'this';
SUPER : 'super';
FIELDVAR : 'fieldvar';
NEWARRAY : 'new ArrayList';
LITERAL : 'literal';
CASTEXPR : 'castexpr';
LAMBDAEXPRESSION : 'lambdaexpression';
INSTANCEOF : 'instanceof';
BINARYEXPR : 'binaryexpr';
EXPRESSIONRECEIVER : 'expressionreceiver';
STATICCLASSNAME : 'staticclassname';
FORSMT : 'for(';
BLOCK : 'block';
EMPTYSTMT : 'emptystmt';
LOCALVARDECL : 'localvardecl';
ASSIGN : 'assign';
IFSTMT : 'if(';
LOCALVAR : 'localvar';
RETURN : 'return';
METHODCALL : 'methodcall';
THISCALL : 'this(';
SUPERCALL : 'super(';
NEWCLASS : 'newclass';
UNARYEXPR : ('+' | '-' | '++' | '--' | '!');
CLASSNAME : UPPERCASE ( LOWERCASE | UPPERCASE)*;
NAME : LOWERCASE( LOWERCASE | UPPERCASE )*;
WORD : (LOWERCASE | UPPERCASE | '_')+;

@ -4,8 +4,8 @@ import org.objectweb.asm.Label;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Opcodes;
import de.dhbwstuttgart.syntaxtree.statement.BinaryExpr;
import de.dhbwstuttgart.syntaxtree.statement.Expression;
import de.dhbwstuttgart.syntaxtree.BinaryExpr;
import de.dhbwstuttgart.syntaxtree.Expression;
public abstract class AStatement implements IStatement {
protected Expression expr;

@ -1,6 +1,6 @@
package de.dhbwstuttgart.bytecode;
import de.dhbwstuttgart.syntaxtree.statement.Expression;
import de.dhbwstuttgart.syntaxtree.Expression;
public class ArgumentExpr extends AStatement {

@ -4,34 +4,34 @@ import java.util.List;
import de.dhbwstuttgart.parser.SyntaxTreeGenerator.AssignToLocal;
import de.dhbwstuttgart.syntaxtree.StatementVisitor;
import de.dhbwstuttgart.syntaxtree.statement.ArgumentList;
import de.dhbwstuttgart.syntaxtree.statement.Assign;
import de.dhbwstuttgart.syntaxtree.statement.AssignToField;
import de.dhbwstuttgart.syntaxtree.statement.BinaryExpr;
import de.dhbwstuttgart.syntaxtree.statement.Block;
import de.dhbwstuttgart.syntaxtree.statement.CastExpr;
import de.dhbwstuttgart.syntaxtree.statement.DoStmt;
import de.dhbwstuttgart.syntaxtree.statement.EmptyStmt;
import de.dhbwstuttgart.syntaxtree.statement.ExpressionReceiver;
import de.dhbwstuttgart.syntaxtree.statement.FieldVar;
import de.dhbwstuttgart.syntaxtree.statement.ForStmt;
import de.dhbwstuttgart.syntaxtree.statement.IfStmt;
import de.dhbwstuttgart.syntaxtree.statement.InstanceOf;
import de.dhbwstuttgart.syntaxtree.statement.LambdaExpression;
import de.dhbwstuttgart.syntaxtree.statement.Literal;
import de.dhbwstuttgart.syntaxtree.statement.LocalVar;
import de.dhbwstuttgart.syntaxtree.statement.LocalVarDecl;
import de.dhbwstuttgart.syntaxtree.statement.MethodCall;
import de.dhbwstuttgart.syntaxtree.statement.NewArray;
import de.dhbwstuttgart.syntaxtree.statement.NewClass;
import de.dhbwstuttgart.syntaxtree.statement.Return;
import de.dhbwstuttgart.syntaxtree.statement.ReturnVoid;
import de.dhbwstuttgart.syntaxtree.statement.StaticClassName;
import de.dhbwstuttgart.syntaxtree.statement.Super;
import de.dhbwstuttgart.syntaxtree.statement.SuperCall;
import de.dhbwstuttgart.syntaxtree.statement.This;
import de.dhbwstuttgart.syntaxtree.statement.UnaryExpr;
import de.dhbwstuttgart.syntaxtree.statement.WhileStmt;
import de.dhbwstuttgart.syntaxtree.ArgumentList;
import de.dhbwstuttgart.syntaxtree.Assign;
import de.dhbwstuttgart.syntaxtree.AssignToField;
import de.dhbwstuttgart.syntaxtree.BinaryExpr;
import de.dhbwstuttgart.syntaxtree.Block;
import de.dhbwstuttgart.syntaxtree.CastExpr;
import de.dhbwstuttgart.syntaxtree.DoStmt;
import de.dhbwstuttgart.syntaxtree.EmptyStmt;
import de.dhbwstuttgart.syntaxtree.ExpressionReceiver;
import de.dhbwstuttgart.syntaxtree.FieldVar;
import de.dhbwstuttgart.syntaxtree.ForStmt;
import de.dhbwstuttgart.syntaxtree.IfStmt;
import de.dhbwstuttgart.syntaxtree.InstanceOf;
import de.dhbwstuttgart.syntaxtree.LambdaExpression;
import de.dhbwstuttgart.syntaxtree.Literal;
import de.dhbwstuttgart.syntaxtree.LocalVar;
import de.dhbwstuttgart.syntaxtree.LocalVarDecl;
import de.dhbwstuttgart.syntaxtree.MethodCall;
import de.dhbwstuttgart.syntaxtree.NewArray;
import de.dhbwstuttgart.syntaxtree.NewClass;
import de.dhbwstuttgart.syntaxtree.Return;
import de.dhbwstuttgart.syntaxtree.ReturnVoid;
import de.dhbwstuttgart.syntaxtree.StaticClassName;
import de.dhbwstuttgart.syntaxtree.Super;
import de.dhbwstuttgart.syntaxtree.SuperCall;
import de.dhbwstuttgart.syntaxtree.This;
import de.dhbwstuttgart.syntaxtree.UnaryExpr;
import de.dhbwstuttgart.syntaxtree.WhileStmt;
public class ArgumentVisitor implements StatementVisitor {
private List<Boolean> argListMethCall;

@ -1,6 +1,6 @@
package de.dhbwstuttgart.bytecode;
import de.dhbwstuttgart.syntaxtree.statement.Expression;
import de.dhbwstuttgart.syntaxtree.Expression;
public class AssignStmt extends AStatement {

@ -9,6 +9,7 @@ import java.util.List;
import java.util.Optional;
import de.dhbwstuttgart.parser.scope.JavaClassName;
import de.dhbwstuttgart.syntaxtree.*;
import org.objectweb.asm.ClassWriter;
import org.objectweb.asm.FieldVisitor;
import org.objectweb.asm.MethodVisitor;
@ -30,50 +31,7 @@ import de.dhbwstuttgart.bytecode.utilities.NormalMethod;
import de.dhbwstuttgart.bytecode.utilities.Resolver;
import de.dhbwstuttgart.exceptions.NotImplementedException;
import de.dhbwstuttgart.parser.SyntaxTreeGenerator.AssignToLocal;
import de.dhbwstuttgart.syntaxtree.ASTVisitor;
import de.dhbwstuttgart.syntaxtree.ClassOrInterface;
import de.dhbwstuttgart.syntaxtree.Constructor;
import de.dhbwstuttgart.syntaxtree.Field;
import de.dhbwstuttgart.syntaxtree.FormalParameter;
import de.dhbwstuttgart.syntaxtree.GenericDeclarationList;
import de.dhbwstuttgart.syntaxtree.GenericTypeVar;
import de.dhbwstuttgart.syntaxtree.Method;
import de.dhbwstuttgart.syntaxtree.ParameterList;
import de.dhbwstuttgart.syntaxtree.SourceFile;
import de.dhbwstuttgart.syntaxtree.statement.ArgumentList;
import de.dhbwstuttgart.syntaxtree.statement.Assign;
import de.dhbwstuttgart.syntaxtree.statement.AssignToField;
import de.dhbwstuttgart.syntaxtree.statement.BinaryExpr;
import de.dhbwstuttgart.syntaxtree.statement.Block;
import de.dhbwstuttgart.syntaxtree.statement.CastExpr;
import de.dhbwstuttgart.syntaxtree.statement.DoStmt;
import de.dhbwstuttgart.syntaxtree.statement.EmptyStmt;
import de.dhbwstuttgart.syntaxtree.statement.ExpressionReceiver;
import de.dhbwstuttgart.syntaxtree.statement.FieldVar;
import de.dhbwstuttgart.syntaxtree.statement.ForStmt;
import de.dhbwstuttgart.syntaxtree.statement.IfStmt;
import de.dhbwstuttgart.syntaxtree.statement.InstanceOf;
import de.dhbwstuttgart.syntaxtree.statement.LambdaExpression;
import de.dhbwstuttgart.syntaxtree.statement.Literal;
import de.dhbwstuttgart.syntaxtree.statement.LocalVar;
import de.dhbwstuttgart.syntaxtree.statement.LocalVarDecl;
import de.dhbwstuttgart.syntaxtree.statement.MethodCall;
import de.dhbwstuttgart.syntaxtree.statement.NewArray;
import de.dhbwstuttgart.syntaxtree.statement.NewClass;
import de.dhbwstuttgart.syntaxtree.statement.Return;
import de.dhbwstuttgart.syntaxtree.statement.ReturnVoid;
import de.dhbwstuttgart.syntaxtree.statement.StaticClassName;
import de.dhbwstuttgart.syntaxtree.statement.Super;
import de.dhbwstuttgart.syntaxtree.statement.SuperCall;
import de.dhbwstuttgart.syntaxtree.statement.This;
import de.dhbwstuttgart.syntaxtree.statement.UnaryExpr;
import de.dhbwstuttgart.syntaxtree.statement.WhileStmt;
import de.dhbwstuttgart.syntaxtree.type.ExtendsWildcardType;
import de.dhbwstuttgart.syntaxtree.type.GenericRefType;
import de.dhbwstuttgart.syntaxtree.type.RefType;
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;
import de.dhbwstuttgart.syntaxtree.type.SuperWildcardType;
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
import de.dhbwstuttgart.syntaxtree.SuperWildcardType;
import de.dhbwstuttgart.typeinference.result.ResultSet;
public class BytecodeGen implements ASTVisitor {
@ -232,13 +190,13 @@ public class BytecodeGen implements ASTVisitor {
field.getParameterList().accept(this);
String id = MethodUtility.createID(resolver, field);
String id = MethodUtility.createID(resolver, field.getMethod());
if (methodNameAndParamsT.contains(id)) {
return;
}
methodNameAndParamsT.add(id);
System.out.println("Constructor: " + field.name + " , paramsType: " + id);
System.out.println("Constructor: " + field.name() + " , paramsType: " + id);
String desc = null;
boolean hasGen = false;
@ -268,14 +226,14 @@ public class BytecodeGen implements ASTVisitor {
MethodVisitor mv = cw.visitMethod(Opcodes.ACC_PUBLIC, "<init>", desc, sig, null);
mv.visitCode();
Block block = fieldInitializations.get().block;
Block block = fieldInitializations.get().block();
constructorPos += 1;
BytecodeGenMethod gen = new BytecodeGenMethod(className, superClass, resultSet, field, mv, paramsAndLocals, cw,
BytecodeGenMethod gen = new BytecodeGenMethod(className, superClass, resultSet, field.getMethod(), mv, paramsAndLocals, cw,
genericsAndBoundsMethod, genericsAndBounds, isInterface, classFiles, sf, path, block, constructorPos, classLoader);
if (!field.getParameterList().iterator().hasNext()
&& !(field.block.statements.get(field.block.statements.size() - 1) instanceof ReturnVoid)) {
&& !(field.block().statements().get(field.block().statements().size() - 1) instanceof ReturnVoid)) {
mv.visitInsn(Opcodes.RETURN);
}
mv.visitMaxs(0, 0);
@ -295,7 +253,7 @@ public class BytecodeGen implements ASTVisitor {
return;
}
methodNameAndParamsT.add(id);
System.out.println("Method: " + method.name + " , paramsType: " + id);
System.out.println("Method: " + method.name() + " , paramsType: " + id);
// stores generics and their bounds of method
HashMap<String, String> genericsAndBoundsMethod = new HashMap<>();
@ -304,7 +262,7 @@ public class BytecodeGen implements ASTVisitor {
String methDesc = null;
// Method getModifiers() ?
int acc = isInterface ? Opcodes.ACC_ABSTRACT : method.modifier;
int acc = isInterface ? Opcodes.ACC_ABSTRACT : method.modifier();
System.out.println(acc);
/* Prüfe, ob die Rückgabe-Type der Methode eine Type-Variable ist */
@ -414,7 +372,7 @@ public class BytecodeGen implements ASTVisitor {
public void visit(FieldVar fieldVar) {
System.out.println("In FieldVar ---");
// cw.newField(fieldVar.receiver.toString(), fieldVar.fieldVarName.toString(), fieldVar.getType().toString());
FieldVisitor fv = cw.visitField(Opcodes.ACC_PRIVATE, fieldVar.fieldVarName, "L" + fieldVar.getType() + ";",
FieldVisitor fv = cw.visitField(Opcodes.ACC_PRIVATE, fieldVar.fieldVarName(), "L" + fieldVar.getType() + ";",
null, null);
fv.visitEnd();
}
@ -446,7 +404,7 @@ public class BytecodeGen implements ASTVisitor {
fieldNameAndParamsT.add(nameAndDesc);
fieldNameSignature.add(nameAndSig);
cw.visitField(field.modifier, field.getName(), des, sig, null);
cw.visitField(field.modifier(), field.getName(), des, sig, null);
}
@Override

@ -6,21 +6,22 @@ import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
import java.lang.reflect.Parameter;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
import de.dhbwstuttgart.bytecode.funN.FunNGenerator;
import de.dhbwstuttgart.bytecode.funN.FunNUtilities;
import de.dhbwstuttgart.bytecode.utilities.*;
import de.dhbwstuttgart.environment.DirectoryClassLoader;
import de.dhbwstuttgart.exceptions.NotImplementedException;
import de.dhbwstuttgart.parser.scope.JavaClassName;
import de.dhbwstuttgart.syntaxtree.statement.*;
import de.dhbwstuttgart.syntaxtree.statement.BinaryExpr.Operator;
import de.dhbwstuttgart.syntaxtree.statement.UnaryExpr.Operation;
import de.dhbwstuttgart.syntaxtree.*;
import de.dhbwstuttgart.syntaxtree.BinaryExpr.Operator;
import de.dhbwstuttgart.syntaxtree.UnaryExpr.Operation;
import org.objectweb.asm.ClassWriter;
import org.objectweb.asm.Handle;
@ -33,12 +34,8 @@ import de.dhbwstuttgart.bytecode.Exception.NotInCurrentPackageException;
import de.dhbwstuttgart.bytecode.descriptor.DescriptorToString;
import de.dhbwstuttgart.bytecode.descriptor.TypeToDescriptor;
import de.dhbwstuttgart.parser.SyntaxTreeGenerator.AssignToLocal;
import de.dhbwstuttgart.syntaxtree.FormalParameter;
import de.dhbwstuttgart.syntaxtree.Method;
import de.dhbwstuttgart.syntaxtree.SourceFile;
import de.dhbwstuttgart.syntaxtree.StatementVisitor;
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
import de.dhbwstuttgart.syntaxtree.RefTypeOrTPHOrWildcardOrGeneric;
import de.dhbwstuttgart.syntaxtree.TypePlaceholder;
import de.dhbwstuttgart.typeinference.result.ResultSet;
import javassist.NotFoundException;
@ -106,7 +103,7 @@ public class BytecodeGenMethod implements StatementVisitor {
this.classLoader = classLoader;
if(block != null)
this.blockFieldInit = block;
this.m.block.accept(this);
Method.block.accept((ASTVisitor) this);
}
public BytecodeGenMethod(JavaClassName className, String superClass,ResultSet resultSet, Method m, MethodVisitor mv,
@ -130,7 +127,7 @@ public class BytecodeGenMethod implements StatementVisitor {
this.lamCounter = -1;
this.classLoader = classLoader;
if (!isInterface)
this.m.block.accept(this);
Method.block.accept((ASTVisitor) this);
}
public BytecodeGenMethod(JavaClassName className, ClassWriter cw, LambdaExpression lambdaExpression, ArrayList<String> usedVars, ResultSet resultSet, MethodVisitor mv,
@ -150,7 +147,7 @@ public class BytecodeGenMethod implements StatementVisitor {
this.genericsAndBounds = genericsAndBounds;
this.classLoader = classLoader;
Iterator<FormalParameter> itr = lambdaExpression.params.iterator();
Iterator<FormalParameter> itr = lambdaExpression.params().iterator();
int i = indexOfFirstParamLam;
for(String var : usedVars) {
@ -163,7 +160,7 @@ public class BytecodeGenMethod implements StatementVisitor {
this.paramsAndLocals.put(fp.getName(), i);
i++;
}
lambdaExpression.methodBody.accept(this);
lambdaExpression.methodBody().accept(this);
}
public Resolver getResolver() {
@ -191,15 +188,15 @@ public class BytecodeGenMethod implements StatementVisitor {
@Override
public void visit(SuperCall superCall) {
superCall.receiver.accept(this);
superCall.arglist.accept(this);
mv.visitMethodInsn(Opcodes.INVOKESPECIAL, this.superClass, superCall.name, "()V",
superCall.getReceiver().accept((ASTVisitor) this);
superCall.arglist().accept(this);
mv.visitMethodInsn(Opcodes.INVOKESPECIAL, this.superClass, superCall.name(), "()V",
isInterface);
if(blockFieldInit!=null && !isBlockFieldInitVisited) {
isBlockFieldInitVisited =true;
//blockFieldInit.accept(this);
for(Statement stmt : blockFieldInit.statements) {
for(Statement stmt : blockFieldInit.statements()) {
if(stmt instanceof SuperCall)
continue;
@ -213,8 +210,8 @@ public class BytecodeGenMethod implements StatementVisitor {
public void visit(LocalVar localVar) {
// wenn String + String zuerst wird ein StringBuilder initialisiert dann
// wird die lokale Var geladen. Sonst wird zuerst die lokale Var geladen.
System.out.println(localVar.name);
mv.visitVarInsn(Opcodes.ALOAD, paramsAndLocals.get(localVar.name));
System.out.println(localVar.name());
mv.visitVarInsn(Opcodes.ALOAD, paramsAndLocals.get(localVar.name()));
if (isBinaryExp) {
doUnboxing(resolver.getResolvedType(localVar.getType()));
@ -229,9 +226,9 @@ public class BytecodeGenMethod implements StatementVisitor {
@Override
public void visit(Assign assign) {
statement = new AssignStmt(assign.rightSide);
statement = new AssignStmt(assign.rightSide());
// if the right side is a lambda => the left side must be a functional interface
if (assign.rightSide instanceof LambdaExpression) {
if (assign.rightSide() instanceof LambdaExpression) {
isRightSideALambda = true;
} else {
isRightSideALambda = false;
@ -239,29 +236,29 @@ public class BytecodeGenMethod implements StatementVisitor {
isBinaryExp = statement.isExprBinary();
if (assign.lefSide instanceof AssignToField) {
if (assign.lefSide() instanceof AssignToField) {
// load_0, ldc or .. then putfield
this.rightSideTemp = assign.rightSide;
this.rightSideTemp = assign.rightSide();
} else {
assign.rightSide.accept(this);
assign.rightSide().accept(this);
}
statement = new AssignStmt(assign.rightSide);
statement = new AssignStmt(assign.rightSide());
isBinaryExp = statement.isExprBinary();
if (isBinaryExp) {
BinaryExpr binary = (BinaryExpr) assign.rightSide;
BinaryExpr binary = (BinaryExpr) assign.rightSide();
String binaryType = resolver.getResolvedType(binary.getType());
doBoxing(binaryType);
isBinaryExp = false;
}
System.out.println("ASSIGN TYPE R: " + resolver.getResolvedType(assign.rightSide.getType()));
String typeOfRightSide = resolver.getResolvedType(assign.rightSide.getType());
System.out.println("ASSIGN TYPE R: " + resolver.getResolvedType(assign.rightSide().getType()));
String typeOfRightSide = resolver.getResolvedType(assign.rightSide().getType());
if(typeOfRightSide.contains(CONSTANTS.ANGLEBRACKET)) {
mv.visitTypeInsn(Opcodes.CHECKCAST, typeOfRightSide.substring(0, typeOfRightSide.indexOf('<')));
}
assign.lefSide.accept(this);
assign.lefSide().accept((ASTVisitor) this);
statement = null;
}
@ -269,8 +266,8 @@ public class BytecodeGenMethod implements StatementVisitor {
@Override
public void visit(BinaryExpr binary) {
isParentBinary = true;
String lexpType = resolver.getResolvedType(binary.lexpr.getType());
String rexpType = resolver.getResolvedType(binary.rexpr.getType());
String lexpType = resolver.getResolvedType(binary.lexpr().getType());
String rexpType = resolver.getResolvedType(binary.rexpr().getType());
String largerType = getLargerType(lexpType, rexpType);
String typeOfBinary = resolver.getResolvedType(binary.getType());
@ -287,10 +284,10 @@ public class BytecodeGenMethod implements StatementVisitor {
if (statement instanceof LoopStmt)
mv.visitLabel(endLabel);
if(binary.lexpr instanceof UnaryExpr)
if(binary.lexpr() instanceof UnaryExpr)
needDUP = true;
binary.lexpr.accept(this);
binary.lexpr().accept(this);
if(lexpType.equals(Type.getInternalName(String.class))) {
mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, Type.getInternalName(StringBuilder.class), "append",
@ -300,10 +297,10 @@ public class BytecodeGenMethod implements StatementVisitor {
if (!lexpType.equals(rexpType) && !lexpType.equals(largerType))
doCast(lexpType, largerType);
if(binary.rexpr instanceof UnaryExpr)
if(binary.rexpr() instanceof UnaryExpr)
needDUP = true;
binary.rexpr.accept(this);
binary.rexpr().accept(this);
if(rexpType.equals(Type.getInternalName(String.class))) {
mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, Type.getInternalName(StringBuilder.class), "append",
"(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
@ -313,7 +310,7 @@ public class BytecodeGenMethod implements StatementVisitor {
if (!lexpType.equals(rexpType) && !rexpType.equals(largerType))
doCast(rexpType, largerType);
Operator op = binary.operation;
Operator op = binary.operation();
switch (op) {
case ADD:
@ -589,10 +586,21 @@ public class BytecodeGenMethod implements StatementVisitor {
this.lamCounter++;
String typeErasure = createDescriptorWithTypeErasure(lambdaExpression);
//ToDo Etienne: Double Check
RefTypeOrTPHOrWildcardOrGeneric returnType = resolver.resolve(lambdaExpression.getReturnType());
List<RefTypeOrTPHOrWildcardOrGeneric> argumentTypes = lambdaExpression
.params()
.getFormalparalist()
.stream()
.map(FormalParameter::getType)
.map(resolver::resolve)
.collect(Collectors.toList());
FunNUtilities funNUtilities = FunNGenerator.getInstance();
FunNUtilities.writeClassFile(funNUtilities.getSuperClassName(argumentTypes.size()),
funNUtilities.generateSuperBytecode(argumentTypes.size()), path);
FunNUtilities.writeClassFile(funNUtilities.getSpecializedClassName(argumentTypes, returnType),
funNUtilities.generateSpecializedBytecode(argumentTypes, returnType), path);
ByteCodeForFunNGenerator.generateBCForFunN(lambdaExpression, typeErasure,path);
Lambda lam = new Lambda(lambdaExpression);
String lamDesc = lam.accept(new DescriptorToString(resultSet));
// Call site, which, when invoked, returns an instance of the functional
@ -676,7 +684,7 @@ public class BytecodeGenMethod implements StatementVisitor {
private String createDescriptorWithTypeErasure(LambdaExpression lambdaExpression) {
String typeErasure = "(";
Iterator<FormalParameter> itr = lambdaExpression.params.iterator();
Iterator<FormalParameter> itr = lambdaExpression.params().iterator();
while (itr.hasNext()) {
itr.next();
typeErasure += "L" + Type.getInternalName(Object.class) + ";";
@ -701,7 +709,7 @@ public class BytecodeGenMethod implements StatementVisitor {
@Override
public void visit(FieldVar fieldVar) {
fieldName = fieldVar.fieldVarName;
fieldName = fieldVar.fieldVarName();
fieldDesc = "L";
if(resultSet.resolveType(fieldVar.getType()).resolvedType instanceof TypePlaceholder) {
fieldDesc += Type.getInternalName(Object.class);
@ -710,10 +718,10 @@ public class BytecodeGenMethod implements StatementVisitor {
}
fieldDesc +=";";
fieldVar.receiver.accept(this);
fieldVar.receiver().accept(this);
// test (if)
if (!fieldVar.receiver.getClass().equals(StaticClassName.class)) {
mv.visitFieldInsn(Opcodes.GETFIELD, resolver.getResolvedType(fieldVar.receiver.getType()), fieldName, fieldDesc);
if (!fieldVar.receiver().getClass().equals(StaticClassName.class)) {
mv.visitFieldInsn(Opcodes.GETFIELD, resolver.getResolvedType(fieldVar.receiver().getType()), fieldName, fieldDesc);
}
if (isBinaryExp) {
@ -732,11 +740,11 @@ public class BytecodeGenMethod implements StatementVisitor {
@Override
public void visit(IfStmt ifStmt) {
statement = new IfStatement(ifStmt.expr, ifStmt.then_block, ifStmt.else_block);
statement = new IfStatement(ifStmt.expr(), ifStmt.then_block(), ifStmt.else_block());
isBinaryExp = statement.isExprBinary();
ifStmt.expr.accept(this);
if(!(ifStmt.expr instanceof BinaryExpr)) {
doUnboxing(resolver.getResolvedType(ifStmt.expr.getType()));
ifStmt.expr().accept(this);
if(!(ifStmt.expr() instanceof BinaryExpr)) {
doUnboxing(resolver.getResolvedType(ifStmt.expr().getType()));
Label branchLabel = new Label();
Label endLabel = new Label();
mv.visitJumpInsn(Opcodes.IFEQ, branchLabel);
@ -753,8 +761,8 @@ public class BytecodeGenMethod implements StatementVisitor {
@Override
public void visit(MethodCall methodCall) {
boolean parentBinary = isParentBinary;
System.out.println("In MethodCall = " + methodCall.name);
String receiverName = resolver.getResolvedType(methodCall.receiver.getType());
System.out.println("In MethodCall = " + methodCall.name());
String receiverName = resolver.getResolvedType(methodCall.receiver().getType());
System.out.println("Methods of " + receiverName + " ");
java.lang.reflect.Method methodRefl = null;
String clazz = receiverName.replace("/", ".");
@ -768,13 +776,13 @@ public class BytecodeGenMethod implements StatementVisitor {
ClassLoader cLoader2;
String methCallType = resultSet.resolveType(methodCall.getType()).resolvedType.acceptTV(new TypeToDescriptor());
String[] typesOfParams = getTypes(methodCall.arglist.getArguments());
String[] typesOfParams = getTypes(methodCall.arglist().getArguments());
try {
clazz = getRawClassName(receiverName, clazz);
java.lang.reflect.Method[] methods = cLoader.loadClass(clazz).getMethods();
System.out.println("Methods of " + receiverName + " ");
methodRefl = getMethod(methodCall.name, methodCall.arglist.getArguments().size(),methCallType, typesOfParams, methods);
methodRefl = getMethod(methodCall.name(), methodCall.arglist().getArguments().size(),methCallType, typesOfParams, methods);
} catch (Exception e) {
String superClass = "";
@ -788,7 +796,7 @@ public class BytecodeGenMethod implements StatementVisitor {
java.lang.reflect.Method[] methods = cLoader.loadClass(superClazz).getMethods();
System.out.println("Methods of " + superClass + " ");
methodRefl = getMethod(methodCall.name, methodCall.arglist.getArguments().size(), methCallType, typesOfParams, methods);
methodRefl = getMethod(methodCall.name(), methodCall.arglist().getArguments().size(), methCallType, typesOfParams, methods);
break;
} catch (Exception e3) {
@ -814,8 +822,20 @@ public class BytecodeGenMethod implements StatementVisitor {
} else if(!helper.isInCurrPkg(clazz)){
if(clazz.contains(CONSTANTS.$$)) {
mDesc = helper.getDescriptorOfApplyMethod(methCallType);
helper.generateBCForFunN(mDesc);
// mDesc = helper.generateBCForFunN(methCallType,typesOfParams);
//ToDo Etienne: Double Check
RefTypeOrTPHOrWildcardOrGeneric returnType = resolver.resolve(methodCall.getType());
List<RefTypeOrTPHOrWildcardOrGeneric> argumentTypes = methodCall
.arglist()
.getArguments()
.stream()
.map(TypableStatement::getType)
.map(resolver::resolve)
.collect(Collectors.toList());
FunNUtilities funNUtilities = FunNGenerator.getInstance();
FunNUtilities.writeClassFile(funNUtilities.getSuperClassName(argumentTypes.size()),
funNUtilities.generateSuperBytecode(argumentTypes.size()), path);
FunNUtilities.writeClassFile(funNUtilities.getSpecializedClassName(argumentTypes, returnType),
funNUtilities.generateSpecializedBytecode(argumentTypes, returnType), path);
}else {
try {
cLoader2 = new DirectoryClassLoader(path, classLoader);
@ -824,7 +844,7 @@ public class BytecodeGenMethod implements StatementVisitor {
for(int i = 0; i<methods.length; i++) {
System.out.println(methods[i]);
}
methodRefl = getMethod(methodCall.name,methodCall.arglist.getArguments().size(),methCallType, typesOfParams,methods);
methodRefl = getMethod(methodCall.name(),methodCall.arglist().getArguments().size(),methCallType, typesOfParams,methods);
}
catch (Exception e2) {
e2.printStackTrace();
@ -834,28 +854,28 @@ public class BytecodeGenMethod implements StatementVisitor {
}
methodCall.receiver.accept(this);
methodCall.receiver().accept(this);
System.out.println("Methodcall type : " + resultSet.resolveType(methodCall.getType()).resolvedType.acceptTV(new TypeToDescriptor()));
List<Boolean> argListMethCall = new LinkedList<>();
String receiverRefl="";
if(methodRefl == null && receiverName.equals(className.getClassName())) {
MethodFromMethodCall method = new MethodFromMethodCall(methodCall.arglist, methodCall.getType(),
MethodFromMethodCall method = new MethodFromMethodCall(methodCall.arglist(), methodCall.getType(),
receiverName, genericsAndBoundsMethod, genericsAndBounds);
mDesc = method.accept(new DescriptorToString(resultSet));
methodCall.arglist.accept(this);
methodCall.arglist().accept(this);
} else if(methodRefl != null) {
System.out.println(methodCall.name + " -> Refl != null");
System.out.println(methodCall.name() + " -> Refl != null");
receiverRefl = methodRefl.getAnnotatedReceiverType().getType().toString();
getBoolListOfType(methodRefl, argListMethCall);
System.out.println("Receiver = " + methodRefl.getAnnotatedReceiverType().getType().toString());
mDesc = getMethodDesc(methodRefl);
visitArgumentListOfMethodCallFromStandardAPI(methodCall, argListMethCall);
} else {
methodCall.arglist.accept(this);
methodCall.arglist().accept(this);
}
System.out.println("Methodcall ("+ methodCall.name +") Desc : " + mDesc);
System.out.println("Methodcall ("+ methodCall.name()+") Desc : " + mDesc);
// methodCall.arglist.accept(this);
@ -891,7 +911,7 @@ public class BytecodeGenMethod implements StatementVisitor {
}
private void visitArgumentListOfMethodCallFromStandardAPI(MethodCall methodCall, List<Boolean> argListMethCall) {
for (Expression al : methodCall.arglist.getArguments()) {
for (Expression al : methodCall.arglist().getArguments()) {
statement = new ArgumentExpr(al);
ArgumentVisitor argV = new ArgumentVisitor(argListMethCall,this);
al.accept(argV);
@ -901,12 +921,12 @@ public class BytecodeGenMethod implements StatementVisitor {
private void visitInvokeInsn(MethodCall methodCall, String receiverName, java.lang.reflect.Method methodRefl, String clazz, String mDesc, String receiverRefl) {
// is methodCall.receiver functional Interface)?
if (varsFunInterface.contains(methodCall.receiver.getType()) || (methodRefl!= null && receiverRefl.contains("interface")) ||
if (varsFunInterface.contains(methodCall.receiver().getType()) || (methodRefl!= null && receiverRefl.contains("interface")) ||
receiverName.contains(CONSTANTS.$$)) {
mv.visitMethodInsn(Opcodes.INVOKEINTERFACE, clazz.replace(".", "/"), methodCall.name,
mv.visitMethodInsn(Opcodes.INVOKEINTERFACE, clazz.replace(".", "/"), methodCall.name(),
mDesc, true);
} else {
mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, clazz.replace(".", "/"), methodCall.name,
mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, clazz.replace(".", "/"), methodCall.name(),
mDesc, isInterface);
}
}
@ -1035,18 +1055,18 @@ public class BytecodeGenMethod implements StatementVisitor {
@Override
public void visit(NewClass methodCall) {
mv.visitTypeInsn(Opcodes.NEW, methodCall.name.replace(".", "/"));
mv.visitTypeInsn(Opcodes.NEW, methodCall.name().toString().replace(".", "/"));
mv.visitInsn(Opcodes.DUP);
// creates Descriptor
methodCall.arglist.accept(this);
methodCall.arglist().accept(this);
String d = createDescriptorForInitMethod(methodCall);
mv.visitMethodInsn(Opcodes.INVOKESPECIAL, methodCall.name.replace(".", "/"), "<init>", d, isInterface);
mv.visitMethodInsn(Opcodes.INVOKESPECIAL, methodCall.name().toString().replace(".", "/"), "<init>", d, isInterface);
}
private String createDescriptorForInitMethod(NewClass methodCall) {
String d = "(";
for (Expression e : methodCall.arglist.getArguments()) {
for (Expression e : methodCall.arglist().getArguments()) {
String type = resolver.getResolvedType(e.getType());
if(type.contains("TPH ")){
type = Type.getInternalName(Object.class);
@ -1065,13 +1085,13 @@ public class BytecodeGenMethod implements StatementVisitor {
@Override
public void visit(ExpressionReceiver receiver) {
receiver.expr.accept(this);
receiver.expr().accept(this);
}
@Override
public void visit(UnaryExpr unaryExpr) {
unaryExpr.expr.accept(this);
Operation op = unaryExpr.operation;
unaryExpr.expr().accept(this);
Operation op = unaryExpr.operation();
String typeOfUnary = resolver.getResolvedType(unaryExpr.getType());
@ -1105,13 +1125,13 @@ public class BytecodeGenMethod implements StatementVisitor {
// Für Byte und Short muss noch einen Cast geben i2b, i2s
// das wird später gemacht, da bytecode für cast noch nicht erzeugt wird
if (isIncOrDec && (unaryExpr.expr instanceof LocalVar)) {
if (isIncOrDec && (unaryExpr.expr() instanceof LocalVar)) {
if(needDUP) {
mv.visitInsn(Opcodes.DUP);
needDUP = false;
}
LocalVar local = (LocalVar) unaryExpr.expr;
mv.visitVarInsn(Opcodes.ASTORE, paramsAndLocals.get(local.name));
LocalVar local = (LocalVar) unaryExpr.expr();
mv.visitVarInsn(Opcodes.ASTORE, paramsAndLocals.get(local.name()));
}
}
@ -1156,17 +1176,17 @@ public class BytecodeGenMethod implements StatementVisitor {
@Override
public void visit(Return aReturn) {
statement = new ReturnStmt(aReturn.retexpr);
statement = new ReturnStmt(aReturn.retexpr());
isReturnStmt = true;
isBinaryExp = statement.isExprBinary();
boolean isBinary = isBinaryExp;
if(aReturn.retexpr instanceof UnaryExpr)
if(aReturn.retexpr() instanceof UnaryExpr)
needDUP = true;
aReturn.retexpr.accept(this);
aReturn.retexpr().accept(this);
if (isBinary) {
BinaryExpr binary = (BinaryExpr) aReturn.retexpr;
BinaryExpr binary = (BinaryExpr) aReturn.retexpr();
doBoxing(resolver.getResolvedType(binary.getType()));
// isBinaryExp = false;
}
@ -1207,22 +1227,22 @@ public class BytecodeGenMethod implements StatementVisitor {
@Override
public void visit(WhileStmt whileStmt) {
statement = new LoopStmt(whileStmt.expr, whileStmt.loopBlock);
statement = new LoopStmt(whileStmt.expr(), whileStmt.loopBlock());
isBinaryExp = statement.isExprBinary();
whileStmt.expr.accept(this);
whileStmt.expr().accept(this);
// isBinaryExp = false;
statement = null;
}
@Override
public void visit(DoStmt whileStmt) {
whileStmt.expr.accept(this);
whileStmt.expr().accept(this);
// TODO:
}
@Override
public void visit(Literal literal) {
Object value = literal.value;
Object value = literal.value();
String typeOfLiteral = resolver.getResolvedType(literal.getType());
System.out.println("typeOfLiteral :=> "+ typeOfLiteral);
// Der Wert des Literals wird auf den Stack geladen und
@ -1469,7 +1489,7 @@ public class BytecodeGenMethod implements StatementVisitor {
varsFunInterface.add(assignLeftSide.field.getType());
// Loads the an object reference from the local variable
// array slot onto the top of the operand stack.
assignLeftSide.field.receiver.accept(this);
assignLeftSide.field.receiver().accept(this);
this.rightSideTemp.accept(this);
String fDesc = "L";
if(resultSet.resolveType(assignLeftSide.field.getType()).resolvedType instanceof TypePlaceholder) {
@ -1480,9 +1500,9 @@ public class BytecodeGenMethod implements StatementVisitor {
fDesc +=";";
System.out.println("Receiver = " + resolver.getResolvedType(assignLeftSide.field.receiver.getType()));
mv.visitFieldInsn(Opcodes.PUTFIELD, resolver.getResolvedType(assignLeftSide.field.receiver.getType()),
assignLeftSide.field.fieldVarName, fDesc);
System.out.println("Receiver = " + resolver.getResolvedType(assignLeftSide.field.receiver().getType()));
mv.visitFieldInsn(Opcodes.PUTFIELD, resolver.getResolvedType(assignLeftSide.field.receiver().getType()),
assignLeftSide.field.fieldVarName(), fDesc);
}
@Override
@ -1490,7 +1510,7 @@ public class BytecodeGenMethod implements StatementVisitor {
if (isRightSideALambda)
varsFunInterface.add(assignLeftSide.localVar.getType());
int index = paramsAndLocals.size();
String var = assignLeftSide.localVar.name;
String var = assignLeftSide.localVar.name();
if (!paramsAndLocals.containsKey(var)) {
paramsAndLocals.put(var, index + 1);
}

@ -2,10 +2,9 @@ package de.dhbwstuttgart.bytecode;
import org.objectweb.asm.Label;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Opcodes;
import de.dhbwstuttgart.syntaxtree.statement.Expression;
import de.dhbwstuttgart.syntaxtree.statement.Statement;
import de.dhbwstuttgart.syntaxtree.Expression;
import de.dhbwstuttgart.syntaxtree.Statement;
public class IfStatement extends AStatement{

@ -4,8 +4,8 @@ import org.objectweb.asm.Label;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Opcodes;
import de.dhbwstuttgart.syntaxtree.statement.Expression;
import de.dhbwstuttgart.syntaxtree.statement.Statement;
import de.dhbwstuttgart.syntaxtree.Expression;
import de.dhbwstuttgart.syntaxtree.Statement;
public class LoopStmt extends AStatement {

@ -1,9 +1,6 @@
package de.dhbwstuttgart.bytecode;
import org.objectweb.asm.MethodVisitor;
import de.dhbwstuttgart.syntaxtree.statement.BinaryExpr;
import de.dhbwstuttgart.syntaxtree.statement.Expression;
import de.dhbwstuttgart.syntaxtree.Expression;
public class ReturnStmt extends AStatement {

@ -6,7 +6,6 @@ package de.dhbwstuttgart.bytecode;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
@ -16,23 +15,18 @@ import java.util.stream.Collectors;
import de.dhbwstuttgart.bytecode.constraint.ExtendsConstraint;
import de.dhbwstuttgart.bytecode.constraint.TPHConstraint;
import de.dhbwstuttgart.bytecode.constraint.TPHConstraint.Relation;
import de.dhbwstuttgart.bytecode.utilities.MethodAndTPH;
import de.dhbwstuttgart.bytecode.utilities.MethodUtility;
import de.dhbwstuttgart.bytecode.utilities.Resolver;
import de.dhbwstuttgart.syntaxtree.AbstractASTWalker;
import de.dhbwstuttgart.syntaxtree.ClassOrInterface;
import de.dhbwstuttgart.syntaxtree.Constructor;
import de.dhbwstuttgart.syntaxtree.Field;
import de.dhbwstuttgart.syntaxtree.FormalParameter;
import de.dhbwstuttgart.syntaxtree.Method;
import de.dhbwstuttgart.syntaxtree.ParameterList;
import de.dhbwstuttgart.syntaxtree.statement.LocalVar;
import de.dhbwstuttgart.syntaxtree.statement.LocalVarDecl;
import de.dhbwstuttgart.syntaxtree.type.GenericRefType;
import de.dhbwstuttgart.syntaxtree.type.RefType;
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
import de.dhbwstuttgart.syntaxtree.LocalVar;
import de.dhbwstuttgart.syntaxtree.LocalVarDecl;
import de.dhbwstuttgart.syntaxtree.GenericRefType;
import de.dhbwstuttgart.syntaxtree.RefType;
import de.dhbwstuttgart.syntaxtree.TypePlaceholder;
import de.dhbwstuttgart.typeinference.constraints.Constraint;
import de.dhbwstuttgart.typeinference.constraints.ConstraintSet;
import de.dhbwstuttgart.typeinference.constraints.Pair;
@ -92,7 +86,7 @@ public class TPHExtractor extends AbstractASTWalker {
if (inMethod && !tphsClass.contains(tphName)) {
ArrayList<String> tphs = null;
if (!(tphs = methodAndTph.getTphs()).contains(tphName)) {
tphs.add(tphName);
methodAndTph.addTph(tphName);
}
if (inLocalOrParamOrReturn) {
if (!(tphs = methodAndTph.getLocalTphs()).contains(tphName)) {
@ -173,7 +167,7 @@ public class TPHExtractor extends AbstractASTWalker {
public void visit(GenericRefType genericRefType) {
String name = genericRefType.getParsedName();
if (inMethod) {
methodAndTph.getTphs().add(name);
methodAndTph.addTph(name);
if (inLocalOrParamOrReturn)
methodAndTph.getLocalTphs().add(name);
}else {
@ -195,7 +189,7 @@ public class TPHExtractor extends AbstractASTWalker {
public void visit(Method method) {
inMethod = true;
String id = MethodUtility.createID(resolver,method);
Predicate<Pair> filterUndConstraints = cs -> ((cs.TA1 instanceof TypePlaceholder) && (cs.TA1 instanceof TypePlaceholder) &&
Predicate<Pair> filterUndConstraints = cs -> ((cs.TA1 instanceof TypePlaceholder) && (cs.TA2 instanceof TypePlaceholder) &&
(resultSet.resolveType((TypePlaceholder)(cs.TA1)).resolvedType instanceof TypePlaceholder) &&
(resultSet.resolveType((TypePlaceholder)(cs.TA2)).resolvedType instanceof TypePlaceholder));
@ -209,10 +203,12 @@ public class TPHExtractor extends AbstractASTWalker {
csS.getOderConstraints()
.forEach(oConSSet -> { Set<Constraint<Pair>> setCons = new HashSet<>();
oConSSet.forEach(OConS -> { setCons.add(
oConSSet.forEach(OConS -> { Constraint<Pair> newConsPair = new Constraint<Pair>();
newConsPair.isStatement = OConS.isStatement;
setCons.add(
OConS.stream()
.filter(filterUndConstraints)
.collect(Collectors.toCollection(Constraint<Pair>::new)) );
.collect(Collectors.toCollection(() -> newConsPair)) );
} );
ret.addOderConstraint(setCons);} );
return ret;
@ -238,8 +234,8 @@ public class TPHExtractor extends AbstractASTWalker {
inMethod = false;
//super.visit(cons);
cons.getParameterList().accept(this);
if(cons.block != null)
cons.block.accept(this);
if(cons.block() != null)
cons.block().accept(this);
inMethod = true;
}

@ -1,5 +1,9 @@
package de.dhbwstuttgart.bytecode.constraint;
import de.dhbwstuttgart.typeinference.constraints.Pair;
import de.dhbwstuttgart.typeinference.unify.model.PairOperator;
import de.dhbwstuttgart.syntaxtree.TypePlaceholder;
public class TPHConstraint {
protected String left;
protected String right;
@ -9,6 +13,12 @@ public class TPHConstraint {
EXTENDS, EQUAL
}
public TPHConstraint(Pair p) {
this.left = ((TypePlaceholder)p.TA1).getName();
this.right = ((TypePlaceholder)p.TA2).getName();
this.rel = p.GetOperator().equals(PairOperator.SMALLERDOT) ? Relation.EXTENDS : Relation.EQUAL;
}
public TPHConstraint(String left, String right, Relation rel) {
this.left = left;
this.right = right;
@ -58,14 +68,16 @@ public class TPHConstraint {
public boolean equals (Object o) {
if (o instanceof TPHConstraint) {
TPHConstraint o_tphcons = (TPHConstraint)o;
return (left+right).equals(o_tphcons.getLeft()+o_tphcons.getRight());
return (this.left.equals(o_tphcons.getLeft())
&& this.right.equals(o_tphcons.getRight())
&& this.rel.equals(o_tphcons.rel));
}
else {
return false;
}
}
/*
@Override
public String toString() {
if(rel == Relation.EXTENDS) {
@ -74,13 +86,4 @@ public class TPHConstraint {
return left + " = " + right;
}
}
*/
public String toString() {
if(rel == Relation.EXTENDS) {
return "new TPHConstraint(\"" + left + "\", \"" + right + "\", Relation.EXTENDS)";
}
else {
return "new TPHConstraint(\"" + left + "\", \"" + right + "\", Relation.EQUAL)";
}
}
}

@ -4,12 +4,12 @@ import java.util.HashMap;
import java.util.Iterator;
import de.dhbwstuttgart.bytecode.utilities.*;
import de.dhbwstuttgart.syntaxtree.statement.ArgumentList;
import de.dhbwstuttgart.syntaxtree.ArgumentList;
import org.objectweb.asm.Type;
import de.dhbwstuttgart.syntaxtree.FormalParameter;
import de.dhbwstuttgart.syntaxtree.statement.Expression;
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;
import de.dhbwstuttgart.syntaxtree.Expression;
import de.dhbwstuttgart.syntaxtree.RefTypeOrTPHOrWildcardOrGeneric;
import de.dhbwstuttgart.typeinference.result.ResultSet;
public class DescriptorToString implements DescriptorVisitor, CONSTANTS {
@ -153,6 +153,7 @@ public class DescriptorToString implements DescriptorVisitor, CONSTANTS {
return desc;
}
//ToDo Etienne: ändern
@Override
public String visit(Lambda lambdaExpression) {
String desc = "(";

@ -5,7 +5,7 @@ import de.dhbwstuttgart.bytecode.utilities.MethodFromMethodCall;
import de.dhbwstuttgart.bytecode.utilities.NormalConstructor;
import de.dhbwstuttgart.bytecode.utilities.NormalMethod;
import de.dhbwstuttgart.bytecode.utilities.SamMethod;
import de.dhbwstuttgart.syntaxtree.statement.ArgumentList;
import de.dhbwstuttgart.syntaxtree.ArgumentList;
public interface DescriptorVisitor {
String visit(NormalMethod method);

@ -1,17 +1,24 @@
package de.dhbwstuttgart.bytecode.descriptor;
import de.dhbwstuttgart.exceptions.NotImplementedException;
import de.dhbwstuttgart.syntaxtree.type.ExtendsWildcardType;
import de.dhbwstuttgart.syntaxtree.type.GenericRefType;
import de.dhbwstuttgart.syntaxtree.type.RefType;
import de.dhbwstuttgart.syntaxtree.type.SuperWildcardType;
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
import de.dhbwstuttgart.syntaxtree.type.TypeVisitor;
import de.dhbwstuttgart.bytecode.funN.FunNGenerator;
import de.dhbwstuttgart.bytecode.funN.FunNUtilities;
import de.dhbwstuttgart.syntaxtree.*;
public class TypeToDescriptor implements TypeVisitor<String>{
public class TypeToDescriptor implements TypeVisitor<String> {
private final boolean specializedFunN;
public TypeToDescriptor(){ this(true); }
public TypeToDescriptor(boolean specializedFunN) { this.specializedFunN = specializedFunN; }
@Override
public String visit(RefType refType) {
if (refType.getName().toString().matches("Fun\\d+\\$\\$") && specializedFunN) {
FunNUtilities funNUtilities = FunNGenerator.getInstance();
return funNUtilities.getSpecializedDescriptor(funNUtilities.getArguments(refType.getParaList()), funNUtilities.getReturnType(refType.getParaList()));
}
return refType.getName().toString().replace(".", "/");
// String t = refType.getName().toString().replace(".", "/");
// return t.equals("Fun1")?(t+"$$"):t;

Some files were not shown because too many files have changed in this diff Show More