From 78db0f01777fd54f81f847924a01690d97ca4e4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Mon, 19 Mar 2018 09:38:37 +0100 Subject: [PATCH] modified: src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java Errorrueckgabe auskommentiert new file: src/de/dhbwstuttgart/typeinference/unify/interfaces/UnifyTypeVisitor.java eingecheckt vorher vergessen modified: test/javFiles/Matrix.jav add und mul aktiviert --- .../typeinference/unify/TypeUnifyTask.java | 7 +++--- .../unify/interfaces/UnifyTypeVisitor.java | 23 +++++++++++++++++++ test/javFiles/Matrix.jav | 2 +- 3 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 src/de/dhbwstuttgart/typeinference/unify/interfaces/UnifyTypeVisitor.java diff --git a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index 6eb74d16..cd7288e8 100644 --- a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -160,7 +160,7 @@ public class TypeUnifyTask extends RecursiveTask>> { writeLog("UndefinedPairs; " + undefinedPairs); Set> error = new HashSet<>(); undefinedPairs = undefinedPairs.stream().map(x -> { x.setUndefinedPair(); return x;}).collect(Collectors.toCollection(HashSet::new)); - error.add(undefinedPairs); + //error.add(undefinedPairs); return error; } @@ -755,8 +755,9 @@ public class TypeUnifyTask extends RecursiveTask>> { HashMap hm = tqp.getInvolvedPlaceholderTypes().stream() .reduce(new HashMap(), (x, y)-> { x.put(y,PlaceholderType.freshPlaceholder()); return x; }, combiner); - Optional opt = stdUnify.unify(tqp.accept(new freshPlaceholder(), hm), thetaPrime); - if (!opt.isPresent()) { //tpq muesse freshtv gesetzt werden PL 2018-03-16 + Optional opt = stdUnify.unify( + tqp.accept(new freshPlaceholder(), hm), thetaPrime); + if (!opt.isPresent()) { //tqp muesse fresh Typvars gesetzt werden PL 2018-03-16 continue; } diff --git a/src/de/dhbwstuttgart/typeinference/unify/interfaces/UnifyTypeVisitor.java b/src/de/dhbwstuttgart/typeinference/unify/interfaces/UnifyTypeVisitor.java new file mode 100644 index 00000000..bf435f9c --- /dev/null +++ b/src/de/dhbwstuttgart/typeinference/unify/interfaces/UnifyTypeVisitor.java @@ -0,0 +1,23 @@ +package de.dhbwstuttgart.typeinference.unify.interfaces; + +import java.util.HashMap; + +import de.dhbwstuttgart.typeinference.unify.model.ExtendsType; +import de.dhbwstuttgart.typeinference.unify.model.FunNType; +import de.dhbwstuttgart.typeinference.unify.model.PlaceholderType; +import de.dhbwstuttgart.typeinference.unify.model.ReferenceType; +import de.dhbwstuttgart.typeinference.unify.model.SuperType; + +public interface UnifyTypeVisitor { + + public ReferenceType visit(ReferenceType refty, HashMap ht); + + public PlaceholderType visit(PlaceholderType phty, HashMap ht); + + public FunNType visit(FunNType funnty, HashMap ht); + + public SuperType visit(SuperType suty, HashMap ht); + + public ExtendsType visit(ExtendsType extty, HashMap ht); + +} diff --git a/test/javFiles/Matrix.jav b/test/javFiles/Matrix.jav index a680370f..ec3fdb93 100644 --- a/test/javFiles/Matrix.jav +++ b/test/javFiles/Matrix.jav @@ -17,7 +17,7 @@ class Matrix extends Vector> { var k = 0; while(k < v1.size()) { //erg = erg + v1.elementAt(k) * m.elementAt(k).elementAt(j); - erg = add1(erg, mul1(v1.elementAt(k), + erg = add(erg, mul1(v1.elementAt(k), m.elementAt(k).elementAt(j))); k++; } v2.addElement(new Integer(erg));