2
0

Compare commits

...

77 Commits

Author SHA1 Message Date
9cdb5f05ef generics in Construct 2018-03-21 14:09:28 +01:00
4263ff671d generics in Construct 2018-03-21 14:06:59 +01:00
6fc78b9ad3 Construct bis auf Generics fertig, Printausgabe fuer generics angepasst 2018-03-20 21:24:48 +01:00
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
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
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
7e88ddc3d5 Type implementiert 2018-03-14 13:02:10 +01:00
9e14473975 Studienarbeit beginnen 2018-02-07 14:41:41 +01:00
f00f9c9215 Temporär Lauffähige Version 2017-11-14 19:36:24 +01:00
b2825e2fa1 Merge branch 'bigRefactoring' into strucTypesVollmer 2017-11-14 19:31:28 +01:00
48dc76646b createPair Methode entfernen. Die Generics können nicht generell aufgelöst werden. (unvollständiger Zustand) 2017-11-14 19:28:46 +01:00
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
1d767a7696 Matrix Test 2017-11-03 13:56:04 +01:00
d2fa9e00f8 Fix bug 2017-10-30 18:08:40 +01:00
934e5f85f8 Unterschied zwischen Expr-Receiver und Classname-Receiver 2017-10-26 21:45:04 +02:00
2d598d28e9 Erste Tests für strucTypes 2017-10-18 17:39:16 +02:00
bfa106913b extends in Parser implementieren. Dirty fix für fehlende Object-Klasse in der JavaClassNameRegistry 2017-10-18 16:40:27 +02:00
44f4aa4b27 Test anfügen 2017-10-18 16:18:46 +02:00
9faf25d670 Documentation anfügen 2017-10-18 14:30:31 +02:00
a69b827805 Var Keyword ist kein keyword mehr, kann also auch als Variablennamen verwendet werden 2017-10-18 00:22:42 +02:00
0c80a4c343 Fix bei Typeinsetzung 2017-10-16 19:19:42 +02:00
e18439918c Merge 2017-10-15 23:09:46 +02:00
b116139357 Guava Version update 2017-10-15 22:49:23 +02:00
040300d78e unnötige Imports entfernen 2017-10-10 17:05:32 +02:00
c442e2ac17 Merge branch 'bigRefactoring' 2017-10-10 15:51:13 +02:00
9607fcf980 Imports in parser implementieren 2017-10-10 15:34:52 +02:00
cecec91f74 Merge 2017-10-10 14:51:53 +02:00
8c00d89731 Finite Closure beachtet imports 2017-10-10 14:47:05 +02:00
d5d74fef85 Merge 2017-10-06 14:13:31 +02:00
36bb442bff Aufräumen 2017-10-06 13:34:03 +02:00
c595925112 Fehlende Tests anfügen 2017-10-06 13:31:36 +02:00
0116643bc1 .gitignore erweitern 2017-10-06 13:24:17 +02:00
8d6a722cec .gitignore erweitern 2017-10-06 13:23:48 +02:00
672d40c557 Merge branch 'bytecode2' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bytecode2 2017-10-06 09:16:42 +02:00
94c69cca55 Merge branch 'bigRefactoring' into bytecode2 2017-10-06 03:59:58 +02:00
843dd7453d ANTLR Plugin + Configuration an pom.xml anfügen 2017-10-06 03:59:35 +02:00
ad36158a47 Test dateien 2017-10-05 20:23:27 +02:00
7de617f0c1 test 2017-10-05 20:02:11 +02:00
6738eecdf3 Merge 2017-10-05 19:21:30 +02:00
a011061f22 Merge branch 'bytecode2' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bytecode2 2017-10-05 18:29:37 +02:00
15e18c5907 merge unvollständig 2017-10-05 18:29:27 +02:00
4c213eb3cf generate bytecode 2017-10-05 18:25:52 +02:00
a194bdbc9f Aufräumen 2017-10-05 18:23:28 +02:00
e341d9075e Alle Klassen aus Standard Library laden 2017-10-05 01:13:08 +02:00
b104ff591f Aufräumen 2017-10-05 00:47:05 +02:00
bf8e6d1492 merge 2017-10-04 16:46:31 +02:00
bd024d9f4a Aufräumen 2017-10-04 16:39:02 +02:00
a78b7c5af3 unnötige librarys löschen 2017-10-04 13:26:18 +02:00
5d5132faf4 Merge branch 'bigRefactoring' 2017-10-04 13:23:56 +02:00
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
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
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
43413d5e3c Bugfix in Test 2017-09-28 16:55:29 +02:00
d24b2fa7d6 bcel entfernen. pom.xml anlegen 2017-09-28 16:52:07 +02:00
db9298e383 library adden 2017-09-26 12:37:21 +02:00
1e0da98c4b auto-keyword zu var-keyword ändern 2017-09-25 23:47:38 +02:00
4b44fba421 Bugfix 2017-09-25 16:49:27 +02:00
07b159f9a3 Bugfix 2017-09-25 15:57:35 +02:00
276ff44756 Berücksichtige TPH =. TPH Ergebnisse im ResultSet 2017-09-25 11:22:53 +02:00
b31da88902 Logik für Generics implementieren. Unvollständig 2017-09-25 01:14:02 +02:00
6a1f5dc248 Unvollständiger Stand bei der Implementierung von Generics 2017-09-22 18:31:47 +02:00
0e2390a80a GlobalGenerics eingeführt 2017-09-20 23:41:06 +02:00
8ce017c2f2 Fehler beheben. PackageCrawler lauffähig 2017-09-20 18:20:52 +02:00
b8a5795bb3 PackageCrawler und CompilationEnvironment implementieren 2017-09-20 17:26:09 +02:00
9b960329fc PackageCrawler wieder einführen. Unvollständig 2017-09-20 15:52:14 +02:00
b1adc4671d Environment einführen 2017-09-20 14:00:44 +02:00
6e03d24582 Tests auslagern 2017-09-19 18:51:44 +02:00
f81496fe1f Fehler in TypeStmt beheben 2017-09-18 18:32:22 +02:00
995af3004a Merge branch 'bigRefactoring' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bytecode2 2017-09-07 16:42:19 +02:00
9a233e437b bytecode 2017-08-30 18:08:05 +02:00
9918e78f97 Merge branch 'master' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bytecode2 2017-08-30 17:21:17 +02:00
d245aa7367 Added Modifier to Method 2017-08-30 17:20:59 +02:00
3d07f60145 Merge branch 'master' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bytecode2 2017-08-30 17:11:46 +02:00
276f235b56 Merge branch 'bigRefactoring' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bytecode2 2017-08-30 14:43:53 +02:00
866429ffe7 Merge branch 'bigRefactoring' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bytecode2 2017-08-30 14:43:31 +02:00
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
43f017a224 Bytecode TEst 2017-08-23 17:26:59 +02:00
1114 changed files with 9880 additions and 19906 deletions
.classpath.gitignore
.idea/libraries
.project
.settings
classes
doc
Generics
Javadoc
allclasses-frame.htmlallclasses-noframe.htmlconstant-values.htmldeprecated-list.htmlhelp-doc.html
index-files
index.html
mycompiler
MyCompiler.htmlMyCompilerAPI.htmlSourceFile.html
class-use
mybytecode
myclass
myexception
mymodifier
myoperator
myparser
mystatement
mytest
mytype
mytypereconstruction
CHelper.htmlCIntersectionType.htmlCMultiplyTuple.htmlCReconstructionTuple.htmlCSubstitution.htmlCSupportData.htmlCTriple.htmlCTypeReconstructionResult.html
class-use
package-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.html
replacementlistener
set
typeassumption
typeassumptionkey
unify
package-frame.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.html
unused
overview-frame.htmloverview-summary.htmloverview-tree.htmlpackage-list
resources
serialized-form.htmlstylesheet.css
OldStuff
ClassDiagram.ucd
JavaDoc
Abstract.htmlAddOp.htmlAndOp.htmlArgumentList.htmlAssign.htmlAttribute.htmlAttributeInfo.htmlBaseType.htmlBinary.htmlBinaryExpr.htmlBlock.htmlBoolLiteral.htmlBooleanType.htmlCONSTANT_Class_info.htmlCONSTANT_Double_info.htmlCONSTANT_Fieldref_info.htmlCONSTANT_Float_info.htmlCONSTANT_Integer_info.htmlCONSTANT_InterfaceMethodref_info.htmlCONSTANT_Long_info.htmlCONSTANT_Methodref_info.htmlCONSTANT_NameAndType_info.htmlCONSTANT_String_info.htmlCONSTANT_Utf8_info.htmlCPInfo.htmlCastExpr.htmlCharLiteral.htmlCharacterType.htmlClass.htmlClassBody.htmlClassDeclId.htmlClassFile.htmlCodeAttribute.htmlConstantValueAttribute.htmlConstructor.htmlDeclId.htmlDivideOp.htmlEmptyStmt.htmlEqualOp.htmlExceptionList.htmlExceptionTable.htmlExpr.htmlExprStmt.htmlFieldDecl.htmlFieldInfo.htmlFormalParameter.htmlGreaterEquOp.htmlGreaterOp.htmlIfStmt.htmlImport.htmlInstVar.htmlInstVarDecl.htmlInstanceOf.htmlIntLiteral.htmlIntegerType.htmlJVMCode.htmlJVMCodeException.htmlJavaCompiler.htmlJavaLexer.htmlJavaParser.htmlJavaParser.yyException.htmlJavaParser.yyInput.htmlKey.htmlLessEquOp.htmlLessOp.htmlLiteral.htmlLocalOrFieldVar.htmlLocalVarDecl.htmlLogOp.htmlMethod.htmlMethodCall.htmlMethodInfo.htmlMinusOp.htmlModifier.htmlModifiers.htmlModuloOp.htmlMulOp.htmlMyCompiler.htmlNegativeExpr.htmlNewArray.htmlNewClass.htmlNoReceiver.htmlNotEqualOp.htmlNotExpr.htmlNull.htmlOperator.htmlOrOp.htmlPair.htmlParaList.htmlParameterList.htmlPlusOp.htmlPositivExpr.htmlPostDecExpr.htmlPostIncExpr.htmlPreDecExpr.htmlPreIncExpr.htmlPrivate.htmlProtected.htmlPublic.htmlReceiver.htmlRefType.htmlRelOp.htmlReturn.htmlReturnType.htmlSCClassBodyException.htmlSCClassException.htmlSCExcept.htmlSCException.htmlSCMethodException.htmlSCStatementException.htmlScanner.htmlSourceFile.htmlStatement.htmlStatic.htmlStatus.htmlStringLiteral.htmlThis.htmlTimesOp.htmlToken.htmlType.htmlTypeSpec.htmlTyploseVariable.htmlUnaryExpr.htmlUnaryMinus.htmlUnaryNot.htmlUnaryPlus.htmlUsedId.htmlUserDef.htmlVoid.htmlWhileStmt.htmlallclasses-frame.htmlallclasses-noframe.html
class-use
Abstract.htmlAddOp.htmlAndOp.htmlArgumentList.htmlAssign.htmlAttribute.htmlAttributeInfo.htmlBaseType.htmlBinary.htmlBinaryExpr.htmlBlock.htmlBoolLiteral.htmlBooleanType.htmlCONSTANT_Class_info.htmlCONSTANT_Double_info.htmlCONSTANT_Fieldref_info.htmlCONSTANT_Float_info.htmlCONSTANT_Integer_info.htmlCONSTANT_InterfaceMethodref_info.htmlCONSTANT_Long_info.htmlCONSTANT_Methodref_info.htmlCONSTANT_NameAndType_info.htmlCONSTANT_String_info.htmlCONSTANT_Utf8_info.htmlCPInfo.htmlCastExpr.htmlCharLiteral.htmlCharacterType.htmlClass.htmlClassBody.htmlClassDeclId.htmlClassFile.htmlCodeAttribute.htmlConstantValueAttribute.htmlConstructor.htmlDeclId.htmlDivideOp.htmlEmptyStmt.htmlEqualOp.htmlExceptionList.htmlExceptionTable.htmlExpr.htmlExprStmt.htmlFieldDecl.htmlFieldInfo.htmlFormalParameter.htmlGreaterEquOp.htmlGreaterOp.htmlIfStmt.htmlImport.htmlInstVar.htmlInstVarDecl.htmlInstanceOf.htmlIntLiteral.htmlIntegerType.htmlJVMCode.htmlJVMCodeException.htmlJavaCompiler.htmlJavaLexer.htmlJavaParser.htmlJavaParser.yyException.htmlJavaParser.yyInput.htmlKey.htmlLessEquOp.htmlLessOp.htmlLiteral.htmlLocalOrFieldVar.htmlLocalVarDecl.htmlLogOp.htmlMethod.htmlMethodCall.htmlMethodInfo.htmlMinusOp.htmlModifier.htmlModifiers.htmlModuloOp.htmlMulOp.htmlMyCompiler.htmlNegativeExpr.htmlNewArray.htmlNewClass.htmlNoReceiver.htmlNotEqualOp.htmlNotExpr.htmlNull.htmlOperator.htmlOrOp.htmlPair.htmlParaList.htmlParameterList.htmlPlusOp.htmlPositivExpr.htmlPostDecExpr.htmlPostIncExpr.htmlPreDecExpr.htmlPreIncExpr.htmlPrivate.htmlProtected.htmlPublic.htmlReceiver.htmlRefType.htmlRelOp.htmlReturn.htmlReturnType.htmlSCClassBodyException.htmlSCClassException.htmlSCExcept.htmlSCException.htmlSCMethodException.htmlSCStatementException.htmlScanner.htmlSourceFile.htmlStatement.htmlStatic.htmlStatus.htmlStringLiteral.htmlThis.htmlTimesOp.htmlToken.htmlType.htmlTypeSpec.htmlTyploseVariable.htmlUnaryExpr.htmlUnaryMinus.htmlUnaryNot.htmlUnaryPlus.htmlUsedId.htmlUserDef.htmlVoid.htmlWhileStmt.htmlyyCheck0.htmlyyCheck1.htmlyyCheckInit.html
constant-values.htmldeprecated-list.htmlhelp-doc.html
index-files
index.htmloverview-tree.htmlpackage-listpackage-use.htmlpackages.htmlserialized-form.htmlstylesheet.cssyyCheck0.htmlyyCheck1.htmlyyCheckInit.html
Operator.ucdRest.ucd
Rest
Statement.ucdUML Juni 2005.zip
Papers
Studienarbeiten
UML
doc.iml
lib
pom.xml
src
JavaCompilerCore1.imlbuild_compiler.sh
de
dhbwstuttgart
.DS_Store
bytecode
core
environment
exceptions
parser
strucTypes
syntaxtree
typecheck
typedeployment
typeinference
test
testBytecode
tools
.cvsignoreAntParserBuilder.xmlAntParserBuilderDarwin.xmlAntParserBuilderLinux.xmlAntParserBuilderWindows.xmlJLex.jarJLex_neu.jarJavaParser.jay
Lambda
RunJay.batRunJay.shRunJayDarwin.sh
cygwin
Cygwin-Files
ftp%3a%2f%2fftp-stud.fht-esslingen.de%2fpub%2fMirrors%2fsources.redhat.com%2fcygwin
release
_update-info-dir
ash
base-files
base-passwd
bash
bzip2
cygutils
cygwin-doc
cygwin
diffutils
editrights
fileutils
findutils
gawk
gdbm
gettext
grep
groff
gzip
less
libiconv
login
man
mktemp
ncurses
pcre
popt
readline
sed
sh-utils
tar
termcap
terminfo
texinfo
textutils
which
zlib
setup.ini
setup.logsetup.log.full
cygwin_setup.exesetup.exe
cygwin1.dlljayjay.cygwin32jay.darwin
old
skeletontools.iml

@ -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
.gitignore vendored

@ -10,3 +10,13 @@ bin
*.jar
*.war
*.ear
# IDEs
.classpath
*.iml
.idea/
/target/
.DS_Store
.project
.settings/
/target/

@ -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>

@ -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>

@ -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

@ -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
doc/Generics/generics.tex Normal 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}

0
doc/Javadoc/allclasses-frame.html Executable file → Normal file

0
doc/Javadoc/allclasses-noframe.html Executable file → Normal file

0
doc/Javadoc/constant-values.html Executable file → Normal file

0
doc/Javadoc/deprecated-list.html Executable file → Normal file

0
doc/Javadoc/help-doc.html Executable file → Normal file

0
doc/Javadoc/index-files/index-1.html Executable file → Normal file

0
doc/Javadoc/index-files/index-10.html Executable file → Normal file

0
doc/Javadoc/index-files/index-11.html Executable file → Normal file

0
doc/Javadoc/index-files/index-12.html Executable file → Normal file

0
doc/Javadoc/index-files/index-13.html Executable file → Normal file

0
doc/Javadoc/index-files/index-14.html Executable file → Normal file

0
doc/Javadoc/index-files/index-15.html Executable file → Normal file

0
doc/Javadoc/index-files/index-16.html Executable file → Normal file

0
doc/Javadoc/index-files/index-17.html Executable file → Normal file

0
doc/Javadoc/index-files/index-18.html Executable file → Normal file

0
doc/Javadoc/index-files/index-19.html Executable file → Normal file

0
doc/Javadoc/index-files/index-2.html Executable file → Normal file

0
doc/Javadoc/index-files/index-20.html Executable file → Normal file

0
doc/Javadoc/index-files/index-21.html Executable file → Normal file

0
doc/Javadoc/index-files/index-22.html Executable file → Normal file

0
doc/Javadoc/index-files/index-23.html Executable file → Normal file

0
doc/Javadoc/index-files/index-24.html Executable file → Normal file

0
doc/Javadoc/index-files/index-3.html Executable file → Normal file

0
doc/Javadoc/index-files/index-4.html Executable file → Normal file

0
doc/Javadoc/index-files/index-5.html Executable file → Normal file

0
doc/Javadoc/index-files/index-6.html Executable file → Normal file

0
doc/Javadoc/index-files/index-7.html Executable file → Normal file

0
doc/Javadoc/index-files/index-8.html Executable file → Normal file

0
doc/Javadoc/index-files/index-9.html Executable file → Normal file

0
doc/Javadoc/index.html Executable file → Normal file

0
doc/Javadoc/mycompiler/MyCompiler.html Executable file → Normal file

0
doc/Javadoc/mycompiler/MyCompilerAPI.html Executable file → Normal file

0
doc/Javadoc/mycompiler/SourceFile.html Executable file → Normal file

0
doc/Javadoc/mycompiler/class-use/MyCompiler.html Executable file → Normal file

0
doc/Javadoc/mycompiler/class-use/MyCompilerAPI.html Executable file → Normal file

0
doc/Javadoc/mycompiler/class-use/SourceFile.html Executable file → Normal file

0
doc/Javadoc/mycompiler/mybytecode/Attribute.html Executable file → Normal file

0
doc/Javadoc/mycompiler/mybytecode/AttributeInfo.html Executable file → Normal file

0
doc/Javadoc/mycompiler/mybytecode/CPInfo.html Executable file → Normal file

0
doc/Javadoc/mycompiler/mybytecode/ClassFile.html Executable file → Normal file

0
doc/Javadoc/mycompiler/mybytecode/CodeAttribute.html Executable file → Normal file

0
doc/Javadoc/mycompiler/mybytecode/ExceptionTable.html Executable file → Normal file

0
doc/Javadoc/mycompiler/mybytecode/FieldInfo.html Executable file → Normal file

0
doc/Javadoc/mycompiler/mybytecode/JVMCode.html Executable file → Normal file

0
doc/Javadoc/mycompiler/mybytecode/Key.html Executable file → Normal file

0
doc/Javadoc/mycompiler/mybytecode/MethodInfo.html Executable file → Normal file

0
doc/Javadoc/mycompiler/mybytecode/class-use/Key.html Executable file → Normal file

0
doc/Javadoc/mycompiler/mybytecode/package-frame.html Executable file → Normal file

0
doc/Javadoc/mycompiler/mybytecode/package-summary.html Executable file → Normal file

0
doc/Javadoc/mycompiler/mybytecode/package-tree.html Executable file → Normal file

0
doc/Javadoc/mycompiler/mybytecode/package-use.html Executable file → Normal file

0
doc/Javadoc/mycompiler/myclass/Class.html Executable file → Normal file

0
doc/Javadoc/mycompiler/myclass/ClassBody.html Executable file → Normal file

0
doc/Javadoc/mycompiler/myclass/ClassDeclId.html Executable file → Normal file

0
doc/Javadoc/mycompiler/myclass/Constructor.html Executable file → Normal file

0
doc/Javadoc/mycompiler/myclass/DeclId.html Executable file → Normal file

0
doc/Javadoc/mycompiler/myclass/ExceptionList.html Executable file → Normal file

0
doc/Javadoc/mycompiler/myclass/FieldDecl.html Executable file → Normal file

0
doc/Javadoc/mycompiler/myclass/FormalParameter.html Executable file → Normal file

0
doc/Javadoc/mycompiler/myclass/InstVarDecl.html Executable file → Normal file

0
doc/Javadoc/mycompiler/myclass/Method.html Executable file → Normal file

0
doc/Javadoc/mycompiler/myclass/ParameterList.html Executable file → Normal file

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