From 6299086297cb35176f455340bb01bc09800fa56f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Thu, 15 Mar 2018 20:47:16 +0100 Subject: [PATCH] modified: typeinference/unify/TypeUnifyTask.java modified: typeinference/unify/model/UnifyPair.java --- .../typeinference/unify/TypeUnifyTask.java | 15 +++++++++------ .../typeinference/unify/model/UnifyPair.java | 4 ++++ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index b2c9f458..15eef7c2 100644 --- a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -158,8 +158,7 @@ public class TypeUnifyTask extends RecursiveTask>> { writeLog("UndefinedPairs; " + undefinedPairs); Set> error = new HashSet<>(); error.add(undefinedPairs); - //return error; - return new HashSet<>(); + return error; } /* Up to here, no cartesian products are calculated. @@ -363,10 +362,6 @@ public class TypeUnifyTask extends RecursiveTask>> { else { result.addAll(computeCartesianRecursive(elems, remainingSets, eq, fc, parallel)); } - //if (result.size() == 1) { - // System.out.println(result.toString()); - // result.remove(result.iterator().next()); - //} if (!result.isEmpty()) { if (variance == 1) { if (a.iterator().next().getLhsType().getName().equals("WL")) @@ -400,6 +395,14 @@ public class TypeUnifyTask extends RecursiveTask>> { return result; } + protected boolean isUndefinedPairSet(Set> s) { + boolean res = true; + if (s.size() ==1) { + s.iterator().next().stream().forEach(x -> { res = res && x.isUndefinedPair(); return; }); + return res; + } + + } /** * Checks whether a set of pairs is in solved form. * @param eqPrimePrime The set of pair diff --git a/src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java b/src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java index 82194363..52dc605a 100644 --- a/src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java +++ b/src/de/dhbwstuttgart/typeinference/unify/model/UnifyPair.java @@ -75,6 +75,10 @@ public class UnifyPair { public void setVariance(byte v) { variance = v; } + + public boolean isUndefinedPair() { + return undefinedPair; + } @Override public boolean equals(Object obj) { if(!(obj instanceof UnifyPair))