Compare commits

..

77 Commits

Author SHA1 Message Date
Aldaron7 9cdb5f05ef generics in Construct 2018-03-21 14:09:28 +01:00
Aldaron7 4263ff671d generics in Construct 2018-03-21 14:06:59 +01:00
Aldaron7 6fc78b9ad3 Construct bis auf Generics fertig, Printausgabe fuer generics angepasst 2018-03-20 21:24:48 +01:00
Aldaron7 651c9ee68c TypeExpr angepasst bei method und fieldvar um den receiver This erkennen und verarbeiten zu koennen, Typen in Constraints werden mit den inferredTypes abgeleitet 2018-03-16 22:20:13 +01:00
Aldaron7 2eeb54e16a TypeExpr angepasst bei method und fieldvar um den receiver This erkennen und verarbeiten zu koennen, Typen in Constraints werden mit den inferredTypes abgeleitet 2018-03-16 22:19:06 +01:00
Aldaron7 492f11a91e Construct added, InferredTypes ausgelagert, TypeExpr fieldVar bei receiver = This keine Constraints mehr, InferredTypes transitive Typen aufgeloest 2018-03-16 19:39:11 +01:00
Aldaron7 7e88ddc3d5 Type implementiert 2018-03-14 13:02:10 +01:00
Aldaron7 9e14473975 Studienarbeit beginnen 2018-02-07 14:41:41 +01:00
JanUlrich f00f9c9215 Temporär Lauffähige Version 2017-11-14 19:36:24 +01:00
JanUlrich b2825e2fa1 Merge branch 'bigRefactoring' into strucTypesVollmer 2017-11-14 19:31:28 +01:00
JanUlrich 48dc76646b createPair Methode entfernen. Die Generics können nicht generell aufgelöst werden. (unvollständiger Zustand) 2017-11-14 19:28:46 +01:00
JanUlrich fea86460e8 Änderungen an der FC generierung und an dem Verhalten von GTVs im Type Algorithmus UNVOLLSTÄNDIG. Kleines Backup, da große Änderung am Type-Algorithmus noch ansteht. 2017-11-09 19:41:53 +01:00
JanUlrich 1d767a7696 Matrix Test 2017-11-03 13:56:04 +01:00
JanUlrich d2fa9e00f8 Fix bug #60 2017-10-30 18:08:40 +01:00
JanUlrich 934e5f85f8 Unterschied zwischen Expr-Receiver und Classname-Receiver 2017-10-26 21:45:04 +02:00
Aldaron7 2d598d28e9 Erste Tests für strucTypes 2017-10-18 17:39:16 +02:00
JanUlrich bfa106913b extends in Parser implementieren. Dirty fix für fehlende Object-Klasse in der JavaClassNameRegistry 2017-10-18 16:40:27 +02:00
JanUlrich 44f4aa4b27 Test anfügen 2017-10-18 16:18:46 +02:00
Aldaron7 9faf25d670 Documentation anfügen 2017-10-18 14:30:31 +02:00
JanUlrich a69b827805 Var Keyword ist kein keyword mehr, kann also auch als Variablennamen verwendet werden 2017-10-18 00:22:42 +02:00
JanUlrich 0c80a4c343 Fix bei Typeinsetzung 2017-10-16 19:19:42 +02:00
JanUlrich e18439918c Merge 2017-10-15 23:09:46 +02:00
JanUlrich b116139357 Guava Version update 2017-10-15 22:49:23 +02:00
JanUlrich 040300d78e unnötige Imports entfernen 2017-10-10 17:05:32 +02:00
JanUlrich c442e2ac17 Merge branch 'bigRefactoring' 2017-10-10 15:51:13 +02:00
JanUlrich 9607fcf980 Imports in parser implementieren 2017-10-10 15:34:52 +02:00
JanUlrich cecec91f74 Merge 2017-10-10 14:51:53 +02:00
JanUlrich 8c00d89731 Finite Closure beachtet imports 2017-10-10 14:47:05 +02:00
JanUlrich d5d74fef85 Merge 2017-10-06 14:13:31 +02:00
JanUlrich 36bb442bff Aufräumen 2017-10-06 13:34:03 +02:00
Fayez Abu Alia c595925112 Fehlende Tests anfügen 2017-10-06 13:31:36 +02:00
JanUlrich 0116643bc1 .gitignore erweitern 2017-10-06 13:24:17 +02:00
JanUlrich 8d6a722cec .gitignore erweitern 2017-10-06 13:23:48 +02:00
Fayez Abu Alia 672d40c557 Merge branch 'bytecode2' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bytecode2 2017-10-06 09:16:42 +02:00
JanUlrich 94c69cca55 Merge branch 'bigRefactoring' into bytecode2 2017-10-06 03:59:58 +02:00
JanUlrich 843dd7453d ANTLR Plugin + Configuration an pom.xml anfügen 2017-10-06 03:59:35 +02:00
Fayez Abu Alia ad36158a47 Test dateien 2017-10-05 20:23:27 +02:00
Fayez Abu Alia 7de617f0c1 test 2017-10-05 20:02:11 +02:00
JanUlrich 6738eecdf3 Merge 2017-10-05 19:21:30 +02:00
JanUlrich a011061f22 Merge branch 'bytecode2' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bytecode2 2017-10-05 18:29:37 +02:00
JanUlrich 15e18c5907 merge unvollständig 2017-10-05 18:29:27 +02:00
Fayez Abu Alia 4c213eb3cf generate bytecode 2017-10-05 18:25:52 +02:00
JanUlrich a194bdbc9f Aufräumen 2017-10-05 18:23:28 +02:00
JanUlrich e341d9075e Alle Klassen aus Standard Library laden 2017-10-05 01:13:08 +02:00
JanUlrich b104ff591f Aufräumen 2017-10-05 00:47:05 +02:00
JanUlrich bf8e6d1492 merge 2017-10-04 16:46:31 +02:00
JanUlrich bd024d9f4a Aufräumen 2017-10-04 16:39:02 +02:00
JanUlrich a78b7c5af3 unnötige librarys löschen 2017-10-04 13:26:18 +02:00
JanUlrich 5d5132faf4 Merge branch 'bigRefactoring' 2017-10-04 13:23:56 +02:00
Martin Plümicke 0a8236cd86 modified: src/de/dhbwstuttgart/typeinference/unify/RuleSet.java
In reduceFunN:
&& (pair.getPairOp() != PairOperator.EQUALSDOT))     //PL 2017-10-03 hinzugefuegt
		                                                       //da Regel auch fuer EQUALSDOT anwendbar
			                                                   //TODO: fuer allen anderen Relationen noch pruefen
2017-10-03 22:06:37 +02:00
Martin Plümicke 7f888a1bf8 modified: src/de/dhbwstuttgart/typeinference/unify/RuleSet.java
FunType von Bedingung <. auf beliebig zu gelassen
	modified:   src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
bei childrenaufruf unifyCase1 gleiches Element hinzugefuegt
	modified:   test/typeinference/JavaTXCompilerTest.java
typeinference-Aufruf vor die Schleife gezogen
2017-10-03 21:58:39 +02:00
Martin Plümicke fa92fee98d modified: .classpath
Keine Ahnung

	modified:   src/de/dhbwstuttgart/typeinference/unify/RuleSet.java
Aenderung Zeile 578
				rhsType = pair.getRhsType(); //PL eingefuegt 2017-09-29 statt !((rhsType = pair.getRhsType()) instanceof PlaceholderType)
			if(lhsType != null
					//&& !((rhsType = pair.getRhsType()) instanceof PlaceholderType) //PL geloescht am 2017-09-29 Begründung: auch Typvariablen muessen ersetzt werden.

	modified:   src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java

1. Aenderung: Zeile 168
/*
			 * Step 6 a) Restart (fork) for pairs where subst was applied
			 */
			if(parallel) {
				if //(eqPrime.equals(eq))         //PL 2017-09-29 auskommentiert und durch
					(!eqPrimePrime.isPresent())   //PL 2071-09-29 dies ersetzt
					                              //Begruendung: Wenn in der Substitution keine Veraenderung
					                              //(!eqPrimePrime.isPresent()) erfolgt ist, ist das Ergebnis erzielt.
					eqPrimePrimeSet.add(eqPrime);

2. Aenderung: Ziel 188
else { // sequentiell (Step 6b is included)
				if //(eqPrime.equals(eq))         //PL 2017-09-29 auskommentiert und durch
				(!eqPrimePrime.isPresent())       //PL 2071-09-29 dies ersetzt
                                                  //Begruendung: Wenn in der Substitution keine Veraenderung
                                                  //(!eqPrimePrime.isPresent()) erfolgt ist, ist das Ergebnis erzielt.
					eqPrimePrimeSet.add(eqPrime);
2017-09-30 14:51:05 +02:00
JanUlrich 43413d5e3c Bugfix in Test 2017-09-28 16:55:29 +02:00
JanUlrich d24b2fa7d6 bcel entfernen. pom.xml anlegen 2017-09-28 16:52:07 +02:00
JanUlrich db9298e383 library adden 2017-09-26 12:37:21 +02:00
JanUlrich 1e0da98c4b auto-keyword zu var-keyword ändern 2017-09-25 23:47:38 +02:00
JanUlrich 4b44fba421 Bugfix 2017-09-25 16:49:27 +02:00
JanUlrich 07b159f9a3 Bugfix 2017-09-25 15:57:35 +02:00
JanUlrich 276ff44756 Berücksichtige TPH =. TPH Ergebnisse im ResultSet 2017-09-25 11:22:53 +02:00
JanUlrich b31da88902 Logik für Generics implementieren. Unvollständig 2017-09-25 01:14:02 +02:00
JanUlrich 6a1f5dc248 Unvollständiger Stand bei der Implementierung von Generics 2017-09-22 18:31:47 +02:00
JanUlrich 0e2390a80a GlobalGenerics eingeführt 2017-09-20 23:41:06 +02:00
JanUlrich 8ce017c2f2 Fehler beheben. PackageCrawler lauffähig 2017-09-20 18:20:52 +02:00
stan b8a5795bb3 PackageCrawler und CompilationEnvironment implementieren 2017-09-20 17:26:09 +02:00
stan 9b960329fc PackageCrawler wieder einführen. Unvollständig 2017-09-20 15:52:14 +02:00
stan b1adc4671d Environment einführen 2017-09-20 14:00:44 +02:00
JanUlrich 6e03d24582 Tests auslagern 2017-09-19 18:51:44 +02:00
JanUlrich f81496fe1f Fehler in TypeStmt beheben 2017-09-18 18:32:22 +02:00
Fayez Abu Alia 995af3004a Merge branch 'bigRefactoring' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bytecode2 2017-09-07 16:42:19 +02:00
Fayez Abu Alia 9a233e437b bytecode 2017-08-30 18:08:05 +02:00
Fayez Abu Alia 9918e78f97 Merge branch 'master' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bytecode2 2017-08-30 17:21:17 +02:00
JanUlrich d245aa7367 Added Modifier to Method 2017-08-30 17:20:59 +02:00
Fayez Abu Alia 3d07f60145 Merge branch 'master' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bytecode2 2017-08-30 17:11:46 +02:00
Fayez Abu Alia 276f235b56 Merge branch 'bigRefactoring' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bytecode2 2017-08-30 14:43:53 +02:00
Fayez Abu Alia 866429ffe7 Merge branch 'bigRefactoring' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bytecode2 2017-08-30 14:43:31 +02:00
Fayez Abu Alia 6e72bbab16 Merge branch 'bigRefactoring' of ssh://gohorb.ba-horb.de/bahome/gast/abualia/test/JavaCompilerCore into bytecode2 2017-08-23 17:27:23 +02:00
Fayez Abu Alia 43f017a224 Bytecode TEst 2017-08-23 17:26:59 +02:00
1128 changed files with 9935 additions and 20237 deletions
-21
View File
@@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="test"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="lib" path="lib/bcel-6.1-SNAPSHOT.jar" sourcepath="lib/bcel-6.1-SNAPSHOT-sources.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="lib" path="lib/antlr-complete.jar"/>
<classpathentry kind="lib" path="lib/annotations-2.0.1.jar"/>
<classpathentry kind="lib" path="lib/bcel-6.1-SNAPSHOT-sources.jar"/>
<classpathentry kind="lib" path="lib/cloning.jar"/>
<classpathentry kind="lib" path="lib/commons-bcel6-6.0-SNAPSHOT.jar"/>
<classpathentry kind="lib" path="lib/javassist-3.19.0-GA.jar"/>
<classpathentry kind="lib" path="lib/junit-4.0.jar"/>
<classpathentry kind="lib" path="lib/log4j-1.2.12.jar"/>
<classpathentry kind="lib" path="lib/reflections-0.9.10-javadoc.jar"/>
<classpathentry kind="lib" path="lib/reflections-0.9.10-sources.jar"/>
<classpathentry kind="lib" path="lib/reflections-0.9.10.jar" sourcepath="/reflections/src"/>
<classpathentry kind="lib" path="lib/guava-22.0.jar" sourcepath="lib/guava-22.0-sources.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
+10
View File
@@ -10,3 +10,13 @@ bin
*.jar
*.war
*.ear
# IDEs
.classpath
*.iml
.idea/
/target/
.DS_Store
.project
.settings/
/target/
-22
View File
@@ -1,22 +0,0 @@
<component name="libraryTable">
<library name="lib">
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/log4j-1.2.12.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/guava-10.0.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/bcel-6.1-SNAPSHOT.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/bcel-6.1-SNAPSHOT-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/annotations-2.0.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/guava-15.0.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/junit-4.0.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/commons-bcel6-6.0-SNAPSHOT.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/reflections-0.9.10-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/reflections-0.9.10.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/cloning.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/javassist-3.19.0-GA.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/reflections-0.9.10-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/antlr-complete.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>
-17
View File
@@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>JavaCompilerCore</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
-12
View File
@@ -1,12 +0,0 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.8
-9
View File
@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
+25
View File
@@ -0,0 +1,25 @@
\documentclass{article}
\begin{document}
\section{Generics sind notwendig}
Generics können nicht ignoriert werden.
Folgender Fall ist Typisierbar:
\begin{program}
<T> T m1(T x){
return m2(x);
}
m2(x){
m1(1);
m2("Test");
return m1(x);
}
\end{program}
Beim weglassen des Generics T wäre es aber nicht mehr möglich.
Dann erhält jeder Constraint, welcher in Verbindung mit der Methode m1 steht
den selben TPH.
\end{document}
View File
View File
Executable → Regular
View File
Executable → Regular
View File
Executable → Regular
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
Executable → Regular
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File

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