|
|
|
@@ -1428,9 +1428,6 @@ public class UnifyTest {
|
|
|
|
|
type1 = new ReferenceType("java.lang.Comparable", new TypeParams(new ReferenceType("java.lang.Float")));
|
|
|
|
|
type2 = new ReferenceType("java.lang.Object");
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
type1 = new ReferenceType("java.lang.Float");
|
|
|
|
|
type2 = new ReferenceType("java.lang.Comparable", new TypeParams(new ReferenceType("java.lang.Float")));
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
//AbstractList<Vector<java.lang.Integer>> < java.lang.Object, AbstractList<Vector<java.lang.Integer>> < AbstractCollection<Vector<java.lang.Integer>>, Vector<Vector<java.lang.Integer>> < AbstractList<Vector<java.lang.Integer>>, Matrix < AbstractList<Vector<java.lang.Integer>>
|
|
|
|
|
type1 = new ReferenceType("AbstractList", new TypeParams(new ReferenceType("Vector", new TypeParams(new ReferenceType("java.lang.Integer")))));
|
|
|
|
|
type2 = new ReferenceType("java.lang.Object");
|
|
|
|
@@ -1451,9 +1448,6 @@ public class UnifyTest {
|
|
|
|
|
type1 = new ReferenceType("Vector", new TypeParams(new PlaceholderType("FED")));
|
|
|
|
|
type2 = new ReferenceType("AbstractList", new TypeParams(new PlaceholderType("FED")));
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
type1 = new ReferenceType("Vector", new TypeParams(new PlaceholderType("FED")));
|
|
|
|
|
type2 = new ReferenceType("AbstractCollection", new TypeParams(new PlaceholderType("FED")));
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
//java.lang.constant.ConstantDesc < java.lang.Object, java.lang.constant.ConstantDesc < java.lang.Float, java.lang.constant.ConstantDesc < java.lang.Integer
|
|
|
|
|
type1 = new ReferenceType("java.lang.constant.ConstantDesc");
|
|
|
|
|
type2 = new ReferenceType("java.lang.Object");
|
|
|
|
@@ -1468,22 +1462,10 @@ public class UnifyTest {
|
|
|
|
|
type1 = new ReferenceType("java.lang.constant.Constable");
|
|
|
|
|
type2 = new ReferenceType("java.lang.Object");
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
type1 = new ReferenceType("java.lang.Float");
|
|
|
|
|
type2 = new ReferenceType("java.lang.constant.Constable");
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
type1 = new ReferenceType("java.lang.Integer");
|
|
|
|
|
type2 = new ReferenceType("java.lang.constant.Constable");
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
//AbstractList<FED> < java.lang.Object, AbstractList<FED> < AbstractCollection<FED>, Vector<FED> < AbstractList<FED>
|
|
|
|
|
type1 = new ReferenceType("AbstractList", new TypeParams(new PlaceholderType("FED")));
|
|
|
|
|
type2 = new ReferenceType("java.lang.Object");
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
type1 = new ReferenceType("AbstractList", new TypeParams(new PlaceholderType("FED")));
|
|
|
|
|
type2 = new ReferenceType("AbstractCollection", new TypeParams(new PlaceholderType("FED")));
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
type1 = new ReferenceType("Vector", new TypeParams(new PlaceholderType("FED")));
|
|
|
|
|
type2 = new ReferenceType("AbstractList", new TypeParams(new PlaceholderType("FED")));
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
//java.io.Serializable < java.lang.Object, java.lang.Number < java.io.Serializable, java.lang.Float < java.io.Serializable, java.lang.Integer < java.io.Serializable
|
|
|
|
|
type1 = new ReferenceType("java.io.Serializable");
|
|
|
|
|
type2 = new ReferenceType("java.lang.Object");
|
|
|
|
@@ -1491,20 +1473,11 @@ public class UnifyTest {
|
|
|
|
|
type1 = new ReferenceType("java.lang.Number");
|
|
|
|
|
type2 = new ReferenceType("java.io.Serializable");
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
type1 = new ReferenceType("java.lang.Float");
|
|
|
|
|
type2 = new ReferenceType("java.io.Serializable");
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
type1 = new ReferenceType("java.lang.Integer");
|
|
|
|
|
type2 = new ReferenceType("java.io.Serializable");
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
//Vector<Vector<java.lang.Integer>> < java.lang.Object, Vector<Vector<java.lang.Integer>> < AbstractList<Vector<java.lang.Integer>>, Vector<Vector<java.lang.Integer>> < AbstractCollection<Vector<java.lang.Integer>>, Matrix < Vector<Vector<java.lang.Integer>>
|
|
|
|
|
type1 = new ReferenceType("Vector", new TypeParams(new ReferenceType("Vector", new TypeParams(new ReferenceType("java.lang.Integer")))));
|
|
|
|
|
type2 = new ReferenceType("java.lang.Object");
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
type1 = new ReferenceType("Vector", new TypeParams(new ReferenceType("Vector", new TypeParams(new ReferenceType("java.lang.Integer")))));
|
|
|
|
|
type2 = new ReferenceType("AbstractList", new TypeParams(new ReferenceType("Vector", new TypeParams(new ReferenceType("java.lang.Integer")))));
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
type1 = new ReferenceType("Vector", new TypeParams(new ReferenceType("Vector", new TypeParams(new ReferenceType("java.lang.Integer")))));
|
|
|
|
|
type2 = new ReferenceType("AbstractCollection", new TypeParams(new ReferenceType("Vector", new TypeParams(new ReferenceType("java.lang.Integer")))));
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
type1 = new ReferenceType("Matrix");
|
|
|
|
@@ -1515,34 +1488,16 @@ public class UnifyTest {
|
|
|
|
|
type2 = new ReferenceType("java.lang.Object");
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
type1 = new ReferenceType("Matrix");
|
|
|
|
|
type2 = new ReferenceType("Vector", new TypeParams(new ReferenceType("Vector", new TypeParams(new ReferenceType("java.lang.Integer")))));
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
type1 = new ReferenceType("Matrix");
|
|
|
|
|
type2 = new ReferenceType("AbstractList", new TypeParams(new ReferenceType("Vector", new TypeParams(new ReferenceType("java.lang.Integer")))));
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
type1 = new ReferenceType("Matrix");
|
|
|
|
|
type2 = new ReferenceType("AbstractCollection", new TypeParams(new ReferenceType("Vector", new TypeParams(new ReferenceType("java.lang.Integer")))));
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
//AbstractCollection<Vector<java.lang.Integer>> < java.lang.Object, Vector<Vector<java.lang.Integer>> < AbstractCollection<Vector<java.lang.Integer>>, AbstractList<Vector<java.lang.Integer>> < AbstractCollection<Vector<java.lang.Integer>>, Matrix < AbstractCollection<Vector<java.lang.Integer>>
|
|
|
|
|
type1 = new ReferenceType("AbstractCollection", new TypeParams(new ReferenceType("Vector", new TypeParams(new ReferenceType("java.lang.Integer")))));
|
|
|
|
|
type2 = new ReferenceType("java.lang.Object");
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
type1 = new ReferenceType("Vector", new TypeParams(new ReferenceType("Vector", new TypeParams(new ReferenceType("java.lang.Integer")))));
|
|
|
|
|
type2 = new ReferenceType("AbstractCollection", new TypeParams(new ReferenceType("Vector", new TypeParams(new ReferenceType("java.lang.Integer")))));
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
type1 = new ReferenceType("AbstractList", new TypeParams(new ReferenceType("Vector", new TypeParams(new ReferenceType("java.lang.Integer")))));
|
|
|
|
|
type2 = new ReferenceType("AbstractCollection", new TypeParams(new ReferenceType("Vector", new TypeParams(new ReferenceType("java.lang.Integer")))));
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
type1 = new ReferenceType("Matrix");
|
|
|
|
|
type2 = new ReferenceType("AbstractCollection", new TypeParams(new ReferenceType("Vector", new TypeParams(new ReferenceType("java.lang.Integer")))));
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
//java.lang.Comparable<java.lang.Integer> < java.lang.Object, java.lang.Integer < java.lang.Comparable<java.lang.Integer>
|
|
|
|
|
type1 = new ReferenceType("java.lang.Comparable", new TypeParams(new ReferenceType("java.lang.Integer")));
|
|
|
|
|
type2 = new ReferenceType("java.lang.Object");
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
type1 = new ReferenceType("java.lang.Integer");
|
|
|
|
|
type2 = new ReferenceType("java.lang.Comparable", new TypeParams(new ReferenceType("java.lang.Integer")));
|
|
|
|
|
constraints.add(new UnifyPair(type1, type2, PairOperator.SMALLER));
|
|
|
|
|
FiniteClosure finiteClosure = new FiniteClosure(constraints, new NullWriter());
|
|
|
|
|
|
|
|
|
|
TypeUnify unifyAlgo = new TypeUnify();
|
|
|
|
|