From 5c80215516d642b6f4e187244cbe6c943b5041ce Mon Sep 17 00:00:00 2001 From: Sascha Speidel Date: Tue, 5 Aug 2014 14:24:58 +0200 Subject: [PATCH] Andis letzter Stand --- .gitignore | 0 README.me | 0 Readme.md | 0 bin/.gitignore | 0 src/mycompiler/SyntaxTreeNode.java | 0 src/mycompiler/mybytecode/ClassFileMember.java | 0 src/mycompiler/myclass/Constructor.java | 0 src/mycompiler/myclass/Field.java | 0 src/mycompiler/myclass/FieldDeclaration.java | 0 src/mycompiler/myclass/Generic.java | 0 .../myclass/GenericDeclarationList.java | 0 .../myparser/BoundedClassIdentifierList.java | 0 .../myparser/GenericVarDeclarationList.java | 0 src/mycompiler/myparser/JavaLexer.java | 0 src/mycompiler/myparser/JavaParser.java | 0 src/mycompiler/mystatement/LambdaParameter.java | 0 src/typinferenz/FunNInterface.java | 0 src/typinferenz/FunNMethod.java | 0 src/typinferenz/GenericTypeInsertable.java | 0 src/typinferenz/JavaCodeResult.java | 6 +++++- src/typinferenz/TIPConstraints.java | 0 src/typinferenz/TypeInsertable.java | 0 src/typinferenz/assumptions/Assumption.java | 0 .../assumptions/ClassAssumption.java | 0 .../assumptions/ConstructorAssumption.java | 0 .../assumptions/FieldAssumption.java | 0 .../assumptions/GenericVarAssumption.java | 0 .../assumptions/LocalVarAssumption.java | 0 .../assumptions/MethodAssumption.java | 0 .../assumptions/ParameterAssumption.java | 0 src/typinferenz/exceptions/DebugException.java | 0 src/typinferenz/exceptions/ParserError.java | 0 .../typedeployment/GenericTypeInsertPoint.java | 0 .../typedeployment/SourcePatchPoint.java | 0 .../typedeployment/TypeInsertPoint.java | 2 +- .../typedeployment/TypeInsertSet.java | 0 test/bytecode/BytecodeTester.java | 0 test/bytecode/EmptyClassTest.java | 0 test/bytecode/FieldTest.jav | 0 test/bytecode/GeneralTest.java | 0 test/bytecode/MethodTest.java | 0 .../test/lambda/GenericParameterTest.jav | 0 .../test/lambda/GenericParameterTest.java | 0 test/mycompiler/test/lambda/TestInterface.jav | 0 test/mycompiler/test/lambda/TestInterface.java | 0 .../test/lambda/testResults/LambdaTest.log | 0 test/parser/BoundedParameter.jav | 0 test/parser/FieldInitializationTest.jav | 0 test/parser/GeneralParserTest.java | 0 test/parser/GenericFieldVarTest.jav | 0 test/parser/ImportTest.jav | 0 .../plugindevelopment/InsertSingleTypeTest.java | 0 test/plugindevelopment/MartinTestCases/Id.jav | 0 .../MartinTestCases/MatrixVectorMul.jav | 0 .../MartinTestCases/MatrixWhile.jav | 0 .../MartinTestCases/Matrix_lambda.jav | 0 .../MartinTestCases/MethodId.jav | 0 .../MartinTestCases/MethodIntegerUse.jav | 0 .../MartinTestCases/MethodUse.jav | 0 test/plugindevelopment/MartinTestCases/OL3.jav | 0 .../plugindevelopment/MartinTestCases/Plus1.jav | 0 .../MartinTestCases/Plus1_Float_Double.jav | 0 .../MartinTestCases/Tester.java | 0 .../jav/Lambda_usecases/Fehler Report | 0 .../MartinTestCases/jav/Lambda_usecases/Id.jav | 0 .../jav/Lambda_usecases/MatrixVectorMul.jav | 0 .../jav/Lambda_usecases/Matrix_lambda.jav | 0 .../jav/Lambda_usecases/MethodId.jav | 0 .../jav/Lambda_usecases/MethodIntegerUse.jav | 0 .../jav/Lambda_usecases/MethodUse.jav | 0 .../MartinTestCases/jav/Lambda_usecases/OL.jav | 0 .../jav/Lambda_usecases/Plus1.jav | 0 .../jav/Lambda_usecases/Plus1_Float_Double.jav | 0 test/plugindevelopment/MethodTypeInsertTest.jav | 0 .../plugindevelopment/MethodTypeInsertTest.java | 0 .../MethodTypeInsertTestSolution.jav | 0 test/plugindevelopment/ParameterInsertTest.java | 0 .../ParameterTypeInsertTest.jav | 0 .../ParameterTypeInsertTestSolution.jav | 0 test/plugindevelopment/SingleTypeInsertTest.jav | 0 test/plugindevelopment/SyntaxTreeTests.java | 0 test/plugindevelopment/TRMEqualTest.java | 0 .../TypeInsertSetEqualTest.jav | 0 .../TypeInsertSetEqualTest.java | 0 test/plugindevelopment/TypeInsertTester.java | 0 .../TypeInsertTests/BoundedGenericTest.jav | 0 .../TypeInsertTests/BoundedGenericsTest.java | 0 .../TypeInsertTests/FunNInsertTest.jav | 0 .../TypeInsertTests/FunNInsertTest.java | 0 .../GenericParaListInsertTest.jav | 0 .../GenericParaListInsertTest.java | 0 .../TypeInsertTests/GenericTypeVarTest.jav | 0 .../TypeInsertTests/GenericTypeVarTest.java | 0 .../TypeInsertTests/GenericTypeVarTest2.jav | 0 .../TypeInsertTests/GenericVarInsertTest.jav | 0 .../TypeInsertTests/GenericVarInsertTest.java | 0 .../TypeInsertTests/ImportTest.jav | 0 .../TypeInsertTests/ImportTest.java | 0 .../TypeInsertTests/ImportTest2.jav | 0 .../TypeInsertTests/ImportTest2.java | 0 .../TypeInsertTests/IntTest.jav | 0 .../TypeInsertTests/IntTest.java | 0 .../TypeInsertTests/LambdaTest1.jav | 0 .../TypeInsertTests/LambdaTest1.java | 0 .../TypeInsertTests/LambdaTest10.jav | 0 .../TypeInsertTests/LambdaTest10.java | 0 .../TypeInsertTests/LambdaTest11.jav | 0 .../TypeInsertTests/LambdaTest11.java | 0 .../TypeInsertTests/LambdaTest12.jav | 0 .../TypeInsertTests/LambdaTest12.java | 0 .../TypeInsertTests/LambdaTest13.jav | 0 .../TypeInsertTests/LambdaTest13.java | 0 .../TypeInsertTests/LambdaTest14.jav | 0 .../TypeInsertTests/LambdaTest14.java | 0 .../TypeInsertTests/LambdaTest15.jav | 0 .../TypeInsertTests/LambdaTest15.java | 0 .../TypeInsertTests/LambdaTest2.jav | 0 .../TypeInsertTests/LambdaTest2.java | 0 .../TypeInsertTests/LambdaTest3.jav | 0 .../TypeInsertTests/LambdaTest3.java | 0 .../TypeInsertTests/LambdaTest4.jav | 0 .../TypeInsertTests/LambdaTest4.java | 0 .../TypeInsertTests/LambdaTest5.jav | 0 .../TypeInsertTests/LambdaTest5.java | 0 .../TypeInsertTests/LambdaTest6.jav | 0 .../TypeInsertTests/LambdaTest6.java | 0 .../TypeInsertTests/LambdaTest7.jav | 0 .../TypeInsertTests/LambdaTest7.java | 0 .../TypeInsertTests/LambdaTest8.jav | 0 .../TypeInsertTests/LambdaTest8.java | 0 .../TypeInsertTests/LambdaTest9.jav | 0 .../TypeInsertTests/LambdaTest9.java | 0 .../MultipleTypesInsertTester.java | 0 .../TypeInsertTests/MutlitpleTestCases.java | 0 .../TypeInsertTests/OverloadingInsertTest.jav | 0 .../TypeInsertTests/OverloadingInsertTest.java | 0 .../TypeInsertTests/Recursive.jav | 0 .../TypeInsertTests/Recursive2.jav | 0 .../TypeInsertTests/ReursiveTest.java | 0 .../TypeInsertTests/ReursiveTest2.java | 0 .../plugindevelopment/TypeInsertTests/Test1.jav | 0 .../plugindevelopment/TypeInsertTests/Test2.jav | 0 .../VariableTypeInsertTest.jav | 0 .../VariableTypeInsertTest.java | 0 .../VariableTypeInsertTestSolution.jav | 0 test/syntaxTree/NodeEqualTest.jav | 0 test/syntaxTree/NodeEqualTest.java | 0 tools/JLex_neu.jar | Bin 53587 -> 0 bytes 148 files changed, 6 insertions(+), 2 deletions(-) mode change 100644 => 100755 .gitignore mode change 100644 => 100755 README.me mode change 100644 => 100755 Readme.md mode change 100644 => 100755 bin/.gitignore mode change 100644 => 100755 src/mycompiler/SyntaxTreeNode.java mode change 100644 => 100755 src/mycompiler/mybytecode/ClassFileMember.java mode change 100644 => 100755 src/mycompiler/myclass/Constructor.java mode change 100644 => 100755 src/mycompiler/myclass/Field.java mode change 100644 => 100755 src/mycompiler/myclass/FieldDeclaration.java mode change 100644 => 100755 src/mycompiler/myclass/Generic.java mode change 100644 => 100755 src/mycompiler/myclass/GenericDeclarationList.java mode change 100644 => 100755 src/mycompiler/myparser/BoundedClassIdentifierList.java mode change 100644 => 100755 src/mycompiler/myparser/GenericVarDeclarationList.java mode change 100644 => 100755 src/mycompiler/myparser/JavaLexer.java mode change 100644 => 100755 src/mycompiler/myparser/JavaParser.java mode change 100644 => 100755 src/mycompiler/mystatement/LambdaParameter.java mode change 100644 => 100755 src/typinferenz/FunNInterface.java mode change 100644 => 100755 src/typinferenz/FunNMethod.java mode change 100644 => 100755 src/typinferenz/GenericTypeInsertable.java mode change 100644 => 100755 src/typinferenz/TIPConstraints.java mode change 100644 => 100755 src/typinferenz/TypeInsertable.java mode change 100644 => 100755 src/typinferenz/assumptions/Assumption.java mode change 100644 => 100755 src/typinferenz/assumptions/ClassAssumption.java mode change 100644 => 100755 src/typinferenz/assumptions/ConstructorAssumption.java mode change 100644 => 100755 src/typinferenz/assumptions/FieldAssumption.java mode change 100644 => 100755 src/typinferenz/assumptions/GenericVarAssumption.java mode change 100644 => 100755 src/typinferenz/assumptions/LocalVarAssumption.java mode change 100644 => 100755 src/typinferenz/assumptions/MethodAssumption.java mode change 100644 => 100755 src/typinferenz/assumptions/ParameterAssumption.java mode change 100644 => 100755 src/typinferenz/exceptions/DebugException.java mode change 100644 => 100755 src/typinferenz/exceptions/ParserError.java mode change 100644 => 100755 src/typinferenz/typedeployment/GenericTypeInsertPoint.java mode change 100644 => 100755 src/typinferenz/typedeployment/SourcePatchPoint.java mode change 100644 => 100755 src/typinferenz/typedeployment/TypeInsertPoint.java mode change 100644 => 100755 src/typinferenz/typedeployment/TypeInsertSet.java mode change 100644 => 100755 test/bytecode/BytecodeTester.java mode change 100644 => 100755 test/bytecode/EmptyClassTest.java mode change 100644 => 100755 test/bytecode/FieldTest.jav mode change 100644 => 100755 test/bytecode/GeneralTest.java mode change 100644 => 100755 test/bytecode/MethodTest.java mode change 100644 => 100755 test/mycompiler/test/lambda/GenericParameterTest.jav mode change 100644 => 100755 test/mycompiler/test/lambda/GenericParameterTest.java mode change 100644 => 100755 test/mycompiler/test/lambda/TestInterface.jav mode change 100644 => 100755 test/mycompiler/test/lambda/TestInterface.java mode change 100644 => 100755 test/mycompiler/test/lambda/testResults/LambdaTest.log mode change 100644 => 100755 test/parser/BoundedParameter.jav mode change 100644 => 100755 test/parser/FieldInitializationTest.jav mode change 100644 => 100755 test/parser/GeneralParserTest.java mode change 100644 => 100755 test/parser/GenericFieldVarTest.jav mode change 100644 => 100755 test/parser/ImportTest.jav mode change 100644 => 100755 test/plugindevelopment/InsertSingleTypeTest.java mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/Id.jav mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/MatrixVectorMul.jav mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/MatrixWhile.jav mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/Matrix_lambda.jav mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/MethodId.jav mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/MethodIntegerUse.jav mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/MethodUse.jav mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/OL3.jav mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/Plus1.jav mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/Plus1_Float_Double.jav mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/Tester.java mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Fehler Report mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Id.jav mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MatrixVectorMul.jav mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Matrix_lambda.jav mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodId.jav mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodIntegerUse.jav mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodUse.jav mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/OL.jav mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Plus1.jav mode change 100644 => 100755 test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Plus1_Float_Double.jav mode change 100644 => 100755 test/plugindevelopment/MethodTypeInsertTest.jav mode change 100644 => 100755 test/plugindevelopment/MethodTypeInsertTest.java mode change 100644 => 100755 test/plugindevelopment/MethodTypeInsertTestSolution.jav mode change 100644 => 100755 test/plugindevelopment/ParameterInsertTest.java mode change 100644 => 100755 test/plugindevelopment/ParameterTypeInsertTest.jav mode change 100644 => 100755 test/plugindevelopment/ParameterTypeInsertTestSolution.jav mode change 100644 => 100755 test/plugindevelopment/SingleTypeInsertTest.jav mode change 100644 => 100755 test/plugindevelopment/SyntaxTreeTests.java mode change 100644 => 100755 test/plugindevelopment/TRMEqualTest.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertSetEqualTest.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertSetEqualTest.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTester.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/BoundedGenericTest.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/BoundedGenericsTest.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/FunNInsertTest.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/FunNInsertTest.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/GenericParaListInsertTest.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/GenericParaListInsertTest.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/GenericTypeVarTest2.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/GenericVarInsertTest.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/GenericVarInsertTest.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/ImportTest.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/ImportTest.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/ImportTest2.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/ImportTest2.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/IntTest.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/IntTest.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest1.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest1.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest10.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest10.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest11.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest11.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest12.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest12.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest13.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest13.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest14.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest14.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest15.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest15.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest2.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest2.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest3.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest3.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest4.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest4.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest5.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest5.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest6.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest6.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest7.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest7.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest8.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest8.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest9.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/LambdaTest9.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/MultipleTypesInsertTester.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/MutlitpleTestCases.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/OverloadingInsertTest.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/OverloadingInsertTest.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/Recursive.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/Recursive2.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/ReursiveTest.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/ReursiveTest2.java mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/Test1.jav mode change 100644 => 100755 test/plugindevelopment/TypeInsertTests/Test2.jav mode change 100644 => 100755 test/plugindevelopment/VariableTypeInsertTest.jav mode change 100644 => 100755 test/plugindevelopment/VariableTypeInsertTest.java mode change 100644 => 100755 test/plugindevelopment/VariableTypeInsertTestSolution.jav mode change 100644 => 100755 test/syntaxTree/NodeEqualTest.jav mode change 100644 => 100755 test/syntaxTree/NodeEqualTest.java delete mode 100755 tools/JLex_neu.jar diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/README.me b/README.me old mode 100644 new mode 100755 diff --git a/Readme.md b/Readme.md old mode 100644 new mode 100755 diff --git a/bin/.gitignore b/bin/.gitignore old mode 100644 new mode 100755 diff --git a/src/mycompiler/SyntaxTreeNode.java b/src/mycompiler/SyntaxTreeNode.java old mode 100644 new mode 100755 diff --git a/src/mycompiler/mybytecode/ClassFileMember.java b/src/mycompiler/mybytecode/ClassFileMember.java old mode 100644 new mode 100755 diff --git a/src/mycompiler/myclass/Constructor.java b/src/mycompiler/myclass/Constructor.java old mode 100644 new mode 100755 diff --git a/src/mycompiler/myclass/Field.java b/src/mycompiler/myclass/Field.java old mode 100644 new mode 100755 diff --git a/src/mycompiler/myclass/FieldDeclaration.java b/src/mycompiler/myclass/FieldDeclaration.java old mode 100644 new mode 100755 diff --git a/src/mycompiler/myclass/Generic.java b/src/mycompiler/myclass/Generic.java old mode 100644 new mode 100755 diff --git a/src/mycompiler/myclass/GenericDeclarationList.java b/src/mycompiler/myclass/GenericDeclarationList.java old mode 100644 new mode 100755 diff --git a/src/mycompiler/myparser/BoundedClassIdentifierList.java b/src/mycompiler/myparser/BoundedClassIdentifierList.java old mode 100644 new mode 100755 diff --git a/src/mycompiler/myparser/GenericVarDeclarationList.java b/src/mycompiler/myparser/GenericVarDeclarationList.java old mode 100644 new mode 100755 diff --git a/src/mycompiler/myparser/JavaLexer.java b/src/mycompiler/myparser/JavaLexer.java old mode 100644 new mode 100755 diff --git a/src/mycompiler/myparser/JavaParser.java b/src/mycompiler/myparser/JavaParser.java old mode 100644 new mode 100755 diff --git a/src/mycompiler/mystatement/LambdaParameter.java b/src/mycompiler/mystatement/LambdaParameter.java old mode 100644 new mode 100755 diff --git a/src/typinferenz/FunNInterface.java b/src/typinferenz/FunNInterface.java old mode 100644 new mode 100755 diff --git a/src/typinferenz/FunNMethod.java b/src/typinferenz/FunNMethod.java old mode 100644 new mode 100755 diff --git a/src/typinferenz/GenericTypeInsertable.java b/src/typinferenz/GenericTypeInsertable.java old mode 100644 new mode 100755 diff --git a/src/typinferenz/JavaCodeResult.java b/src/typinferenz/JavaCodeResult.java index 4fa8ebac..4ec7160c 100755 --- a/src/typinferenz/JavaCodeResult.java +++ b/src/typinferenz/JavaCodeResult.java @@ -56,7 +56,11 @@ public class JavaCodeResult{ @Override public boolean equals(Object obj){ - throw new NotImplementedException(); + if(!(obj instanceof JavaCodeResult))return false; + JavaCodeResult equals = (JavaCodeResult)obj; + if(!equals.getJavaCode().equals(this.getJavaCode()))return false; + if(!equals.getUnresolvedTPH().equals(this.getUnresolvedTPH()))return false; + return true; } } diff --git a/src/typinferenz/TIPConstraints.java b/src/typinferenz/TIPConstraints.java old mode 100644 new mode 100755 diff --git a/src/typinferenz/TypeInsertable.java b/src/typinferenz/TypeInsertable.java old mode 100644 new mode 100755 diff --git a/src/typinferenz/assumptions/Assumption.java b/src/typinferenz/assumptions/Assumption.java old mode 100644 new mode 100755 diff --git a/src/typinferenz/assumptions/ClassAssumption.java b/src/typinferenz/assumptions/ClassAssumption.java old mode 100644 new mode 100755 diff --git a/src/typinferenz/assumptions/ConstructorAssumption.java b/src/typinferenz/assumptions/ConstructorAssumption.java old mode 100644 new mode 100755 diff --git a/src/typinferenz/assumptions/FieldAssumption.java b/src/typinferenz/assumptions/FieldAssumption.java old mode 100644 new mode 100755 diff --git a/src/typinferenz/assumptions/GenericVarAssumption.java b/src/typinferenz/assumptions/GenericVarAssumption.java old mode 100644 new mode 100755 diff --git a/src/typinferenz/assumptions/LocalVarAssumption.java b/src/typinferenz/assumptions/LocalVarAssumption.java old mode 100644 new mode 100755 diff --git a/src/typinferenz/assumptions/MethodAssumption.java b/src/typinferenz/assumptions/MethodAssumption.java old mode 100644 new mode 100755 diff --git a/src/typinferenz/assumptions/ParameterAssumption.java b/src/typinferenz/assumptions/ParameterAssumption.java old mode 100644 new mode 100755 diff --git a/src/typinferenz/exceptions/DebugException.java b/src/typinferenz/exceptions/DebugException.java old mode 100644 new mode 100755 diff --git a/src/typinferenz/exceptions/ParserError.java b/src/typinferenz/exceptions/ParserError.java old mode 100644 new mode 100755 diff --git a/src/typinferenz/typedeployment/GenericTypeInsertPoint.java b/src/typinferenz/typedeployment/GenericTypeInsertPoint.java old mode 100644 new mode 100755 diff --git a/src/typinferenz/typedeployment/SourcePatchPoint.java b/src/typinferenz/typedeployment/SourcePatchPoint.java old mode 100644 new mode 100755 diff --git a/src/typinferenz/typedeployment/TypeInsertPoint.java b/src/typinferenz/typedeployment/TypeInsertPoint.java old mode 100644 new mode 100755 index 4e6c5d75..a00258b1 --- a/src/typinferenz/typedeployment/TypeInsertPoint.java +++ b/src/typinferenz/typedeployment/TypeInsertPoint.java @@ -40,7 +40,7 @@ public class TypeInsertPoint extends SourcePatchPoint { this.resultSet = resultSet; this.node = insertNode; } - + /** * Setzt den Typ dieses TypeInsertPoint in den übergebenen Quelltext ein. * @param fileContent - der Quelltext diff --git a/src/typinferenz/typedeployment/TypeInsertSet.java b/src/typinferenz/typedeployment/TypeInsertSet.java old mode 100644 new mode 100755 diff --git a/test/bytecode/BytecodeTester.java b/test/bytecode/BytecodeTester.java old mode 100644 new mode 100755 diff --git a/test/bytecode/EmptyClassTest.java b/test/bytecode/EmptyClassTest.java old mode 100644 new mode 100755 diff --git a/test/bytecode/FieldTest.jav b/test/bytecode/FieldTest.jav old mode 100644 new mode 100755 diff --git a/test/bytecode/GeneralTest.java b/test/bytecode/GeneralTest.java old mode 100644 new mode 100755 diff --git a/test/bytecode/MethodTest.java b/test/bytecode/MethodTest.java old mode 100644 new mode 100755 diff --git a/test/mycompiler/test/lambda/GenericParameterTest.jav b/test/mycompiler/test/lambda/GenericParameterTest.jav old mode 100644 new mode 100755 diff --git a/test/mycompiler/test/lambda/GenericParameterTest.java b/test/mycompiler/test/lambda/GenericParameterTest.java old mode 100644 new mode 100755 diff --git a/test/mycompiler/test/lambda/TestInterface.jav b/test/mycompiler/test/lambda/TestInterface.jav old mode 100644 new mode 100755 diff --git a/test/mycompiler/test/lambda/TestInterface.java b/test/mycompiler/test/lambda/TestInterface.java old mode 100644 new mode 100755 diff --git a/test/mycompiler/test/lambda/testResults/LambdaTest.log b/test/mycompiler/test/lambda/testResults/LambdaTest.log old mode 100644 new mode 100755 diff --git a/test/parser/BoundedParameter.jav b/test/parser/BoundedParameter.jav old mode 100644 new mode 100755 diff --git a/test/parser/FieldInitializationTest.jav b/test/parser/FieldInitializationTest.jav old mode 100644 new mode 100755 diff --git a/test/parser/GeneralParserTest.java b/test/parser/GeneralParserTest.java old mode 100644 new mode 100755 diff --git a/test/parser/GenericFieldVarTest.jav b/test/parser/GenericFieldVarTest.jav old mode 100644 new mode 100755 diff --git a/test/parser/ImportTest.jav b/test/parser/ImportTest.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/InsertSingleTypeTest.java b/test/plugindevelopment/InsertSingleTypeTest.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/Id.jav b/test/plugindevelopment/MartinTestCases/Id.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/MatrixVectorMul.jav b/test/plugindevelopment/MartinTestCases/MatrixVectorMul.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/MatrixWhile.jav b/test/plugindevelopment/MartinTestCases/MatrixWhile.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/Matrix_lambda.jav b/test/plugindevelopment/MartinTestCases/Matrix_lambda.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/MethodId.jav b/test/plugindevelopment/MartinTestCases/MethodId.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/MethodIntegerUse.jav b/test/plugindevelopment/MartinTestCases/MethodIntegerUse.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/MethodUse.jav b/test/plugindevelopment/MartinTestCases/MethodUse.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/OL3.jav b/test/plugindevelopment/MartinTestCases/OL3.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/Plus1.jav b/test/plugindevelopment/MartinTestCases/Plus1.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/Plus1_Float_Double.jav b/test/plugindevelopment/MartinTestCases/Plus1_Float_Double.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/Tester.java b/test/plugindevelopment/MartinTestCases/Tester.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Fehler Report b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Fehler Report old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Id.jav b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Id.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MatrixVectorMul.jav b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MatrixVectorMul.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Matrix_lambda.jav b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Matrix_lambda.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodId.jav b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodId.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodIntegerUse.jav b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodIntegerUse.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodUse.jav b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/MethodUse.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/OL.jav b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/OL.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Plus1.jav b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Plus1.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Plus1_Float_Double.jav b/test/plugindevelopment/MartinTestCases/jav/Lambda_usecases/Plus1_Float_Double.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MethodTypeInsertTest.jav b/test/plugindevelopment/MethodTypeInsertTest.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MethodTypeInsertTest.java b/test/plugindevelopment/MethodTypeInsertTest.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/MethodTypeInsertTestSolution.jav b/test/plugindevelopment/MethodTypeInsertTestSolution.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/ParameterInsertTest.java b/test/plugindevelopment/ParameterInsertTest.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/ParameterTypeInsertTest.jav b/test/plugindevelopment/ParameterTypeInsertTest.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/ParameterTypeInsertTestSolution.jav b/test/plugindevelopment/ParameterTypeInsertTestSolution.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/SingleTypeInsertTest.jav b/test/plugindevelopment/SingleTypeInsertTest.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/SyntaxTreeTests.java b/test/plugindevelopment/SyntaxTreeTests.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TRMEqualTest.java b/test/plugindevelopment/TRMEqualTest.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertSetEqualTest.jav b/test/plugindevelopment/TypeInsertSetEqualTest.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertSetEqualTest.java b/test/plugindevelopment/TypeInsertSetEqualTest.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTester.java b/test/plugindevelopment/TypeInsertTester.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/BoundedGenericTest.jav b/test/plugindevelopment/TypeInsertTests/BoundedGenericTest.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/BoundedGenericsTest.java b/test/plugindevelopment/TypeInsertTests/BoundedGenericsTest.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/FunNInsertTest.jav b/test/plugindevelopment/TypeInsertTests/FunNInsertTest.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/FunNInsertTest.java b/test/plugindevelopment/TypeInsertTests/FunNInsertTest.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/GenericParaListInsertTest.jav b/test/plugindevelopment/TypeInsertTests/GenericParaListInsertTest.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/GenericParaListInsertTest.java b/test/plugindevelopment/TypeInsertTests/GenericParaListInsertTest.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.jav b/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.java b/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest2.jav b/test/plugindevelopment/TypeInsertTests/GenericTypeVarTest2.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/GenericVarInsertTest.jav b/test/plugindevelopment/TypeInsertTests/GenericVarInsertTest.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/GenericVarInsertTest.java b/test/plugindevelopment/TypeInsertTests/GenericVarInsertTest.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/ImportTest.jav b/test/plugindevelopment/TypeInsertTests/ImportTest.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/ImportTest.java b/test/plugindevelopment/TypeInsertTests/ImportTest.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/ImportTest2.jav b/test/plugindevelopment/TypeInsertTests/ImportTest2.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/ImportTest2.java b/test/plugindevelopment/TypeInsertTests/ImportTest2.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/IntTest.jav b/test/plugindevelopment/TypeInsertTests/IntTest.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/IntTest.java b/test/plugindevelopment/TypeInsertTests/IntTest.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest1.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest1.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest1.java b/test/plugindevelopment/TypeInsertTests/LambdaTest1.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest10.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest10.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest10.java b/test/plugindevelopment/TypeInsertTests/LambdaTest10.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest11.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest11.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest11.java b/test/plugindevelopment/TypeInsertTests/LambdaTest11.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest12.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest12.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest12.java b/test/plugindevelopment/TypeInsertTests/LambdaTest12.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest13.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest13.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest13.java b/test/plugindevelopment/TypeInsertTests/LambdaTest13.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest14.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest14.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest14.java b/test/plugindevelopment/TypeInsertTests/LambdaTest14.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest15.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest15.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest15.java b/test/plugindevelopment/TypeInsertTests/LambdaTest15.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest2.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest2.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest2.java b/test/plugindevelopment/TypeInsertTests/LambdaTest2.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest3.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest3.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest3.java b/test/plugindevelopment/TypeInsertTests/LambdaTest3.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest4.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest4.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest4.java b/test/plugindevelopment/TypeInsertTests/LambdaTest4.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest5.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest5.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest5.java b/test/plugindevelopment/TypeInsertTests/LambdaTest5.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest6.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest6.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest6.java b/test/plugindevelopment/TypeInsertTests/LambdaTest6.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest7.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest7.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest7.java b/test/plugindevelopment/TypeInsertTests/LambdaTest7.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest8.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest8.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest8.java b/test/plugindevelopment/TypeInsertTests/LambdaTest8.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest9.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest9.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest9.java b/test/plugindevelopment/TypeInsertTests/LambdaTest9.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/MultipleTypesInsertTester.java b/test/plugindevelopment/TypeInsertTests/MultipleTypesInsertTester.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/MutlitpleTestCases.java b/test/plugindevelopment/TypeInsertTests/MutlitpleTestCases.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/OverloadingInsertTest.jav b/test/plugindevelopment/TypeInsertTests/OverloadingInsertTest.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/OverloadingInsertTest.java b/test/plugindevelopment/TypeInsertTests/OverloadingInsertTest.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/Recursive.jav b/test/plugindevelopment/TypeInsertTests/Recursive.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/Recursive2.jav b/test/plugindevelopment/TypeInsertTests/Recursive2.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/ReursiveTest.java b/test/plugindevelopment/TypeInsertTests/ReursiveTest.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/ReursiveTest2.java b/test/plugindevelopment/TypeInsertTests/ReursiveTest2.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/Test1.jav b/test/plugindevelopment/TypeInsertTests/Test1.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/TypeInsertTests/Test2.jav b/test/plugindevelopment/TypeInsertTests/Test2.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/VariableTypeInsertTest.jav b/test/plugindevelopment/VariableTypeInsertTest.jav old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/VariableTypeInsertTest.java b/test/plugindevelopment/VariableTypeInsertTest.java old mode 100644 new mode 100755 diff --git a/test/plugindevelopment/VariableTypeInsertTestSolution.jav b/test/plugindevelopment/VariableTypeInsertTestSolution.jav old mode 100644 new mode 100755 diff --git a/test/syntaxTree/NodeEqualTest.jav b/test/syntaxTree/NodeEqualTest.jav old mode 100644 new mode 100755 diff --git a/test/syntaxTree/NodeEqualTest.java b/test/syntaxTree/NodeEqualTest.java old mode 100644 new mode 100755 diff --git a/tools/JLex_neu.jar b/tools/JLex_neu.jar deleted file mode 100755 index df8053ff7a66c08c287218533ee37706aa3de244..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53587 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