@Override public boolean equals(final Object obj) { if (!(obj instanceof TypePair)) { return false; } final TypePair typePair = (TypePair)obj; return Helper.isSameType(t1, typePair.t1) && Helper.isSameType(t2, typePair.t2); } }
@Override public boolean equals(final Object obj) { if (!(obj instanceof TypePair)) { return false; } final TypePair typePair = (TypePair)obj; return Helper.isSameType(t1, typePair.t1) && Helper.isSameType(t2, typePair.t2); } }
@Override public boolean equals(final Object obj) { if (!(obj instanceof TypePair)) { return false; } final TypePair typePair = (TypePair)obj; return Helper.isSameType(t1, typePair.t1) && Helper.isSameType(t2, typePair.t2); } }
public Boolean visitType(final Type t, final Type p) { return isSameType(t, p); }
public Boolean visitType(final Type t, final Type p) { return isSameType(t, p); }
private static boolean containsTypeEquivalent(final Type t, final Type p) { return isSameType(t, p) || // shortcut containsType(t, p) && containsType(p, t); }
private static boolean containsTypeEquivalent(final Type t, final Type p) { return isSameType(t, p) || // shortcut containsType(t, p) && containsType(p, t); }
private static boolean containsTypeEquivalent(final Type t, final Type p) { return isSameType(t, p) || // shortcut containsType(t, p) && containsType(p, t); }
public static boolean covariantReturnType(final Type t, final Type s) { return isSameType(t, s) || !t.isPrimitive() && !s.isPrimitive() && isAssignable(t, s); }
public static boolean covariantReturnType(final Type t, final Type s) { return isSameType(t, s) || !t.isPrimitive() && !s.isPrimitive() && isAssignable(t, s); }
public static boolean covariantReturnType(final Type t, final Type s) { return isSameType(t, s) || !t.isPrimitive() && !s.isPrimitive() && isAssignable(t, s); }
@Override public Type visitArrayType(final Type t, final Void ignored) { final Type elementType = t.getElementType(); if (elementType.isPrimitive() || isSameType(elementType, Types.Object)) { return arraySuperType(); } else { return new ArrayType(superType(elementType)); } } };
@Override public Type visitArrayType(final Type t, final Void ignored) { final Type elementType = t.getElementType(); if (elementType.isPrimitive() || isSameType(elementType, Types.Object)) { return arraySuperType(); } else { return new ArrayType(superType(elementType)); } } };
@Override public Type visitArrayType(final Type t, final Void ignored) { final Type elementType = t.getElementType(); if (elementType.isPrimitive() || isSameType(elementType, Types.Object)) { return arraySuperType(); } else { return new ArrayType(superType(elementType)); } } };
@Override public Boolean visitArrayType(final Type t, final Type s) { final Type elementType = t.getElementType(); if (elementType.isPrimitive()) { return isSameType(elementType, elementType(s)); } return isSubtypeNoCapture(elementType, elementType(s)); } };
@Override public Boolean visitArrayType(final Type t, final Type s) { final Type elementType = t.getElementType(); if (elementType.isPrimitive()) { return isSameType(elementType, elementType(s)); } return isSubtypeNoCapture(elementType, elementType(s)); } };
@Override public Boolean visitArrayType(final Type t, final Type s) { final Type elementType = t.getElementType(); if (elementType.isPrimitive()) { return isSameType(elementType, elementType(s)); } return isSubtypeNoCapture(elementType, elementType(s)); } };
public static boolean isSameWildcard(final Type t, final Type p) { if (!p.isWildcardType() || !t.isWildcardType()) { return false; } if (p.isUnbounded()) { return t.isUnbounded(); } if (p.hasSuperBound()) { return t.hasSuperBound() && isSameType(p.getSuperBound(), t.getSuperBound()); } return p.hasExtendsBound() && t.hasExtendsBound() && isSameType(p.getExtendsBound(), t.getExtendsBound()); }
public static boolean areSameTypes(final TypeList ts, final TypeList tp) { if (ts.size() != tp.size()) { return false; } if (ts.isEmpty()) { return true; } for (int i = 0, n = ts.size(); i < n; i++) { if (!isSameType(ts.get(i), tp.get(i))) { return false; } } return true; }
public static boolean areSameTypes(final TypeList ts, final TypeList tp) { if (ts.size() != tp.size()) { return false; } if (ts.isEmpty()) { return true; } for (int i = 0, n = ts.size(); i < n; i++) { if (!isSameType(ts.get(i), tp.get(i))) { return false; } } return true; }