private boolean isSameType(final TypeReference t1, final TypeReference t2) { /* //noinspection SimplifiableIfStatement if (t1 == t2) { return true; } return t1 != null && t2 != null && Comparer.equals(t1.getFullName(), t2.getFullName()); */ return MetadataHelper.isSameType(t1, t2, true); }
@Override public boolean equals(final Object obj) { return obj instanceof TypeReference && MetadataHelper.isSameType(this, (TypeReference) obj, true); }
private boolean isSameType(final TypeReference t1, final TypeReference t2) { /* //noinspection SimplifiableIfStatement if (t1 == t2) { return true; } return t1 != null && t2 != null && Comparer.equals(t1.getFullName(), t2.getFullName()); */ return MetadataHelper.isSameType(t1, t2, true); }
@Override public final boolean hasExtendsBound() { return _extendsBound != null && !MetadataHelper.isSameType(_extendsBound, BuiltinTypes.Object); }
@Override public boolean equals(final Object obj) { return obj instanceof TypeReference && MetadataHelper.isSameType(this, (TypeReference) obj, true); }
@Override public final boolean hasExtendsBound() { return _extendsBound != null && !MetadataHelper.isSameType(_extendsBound, BuiltinTypes.Object); }
@Override public final boolean hasExtendsBound() { return _extendsBound != null && !MetadataHelper.isSameType(_extendsBound, BuiltinTypes.Object); }
@Override public boolean equals(final Object obj) { return obj instanceof TypeReference && MetadataHelper.isSameType(this, (TypeReference) obj, true); }
private boolean isSameType(final TypeReference t1, final TypeReference t2) { return MetadataHelper.isSameType(t1, t2, true); }
public static boolean areSameTypes( final List<? extends TypeReference> t, final List<? extends TypeReference> s, final boolean strict) { if (t.size() != s.size()) { return false; } for (int i = 0, n = t.size(); i < n; i++) { if (!isSameType(t.get(i), s.get(i), strict)) { return false; } } return true; }
private static boolean compareMethodSignatureAndName(final MethodReference m1, final MethodReference m2) { final List<ParameterDefinition> p1 = m1.getParameters(); final List<ParameterDefinition> p2 = m2.getParameters(); if (p1.size() != p2.size()) { return false; } for (int i = 0, n = p1.size(); i < n; i++) { if (!MetadataHelper.isSameType(p1.get(i).getParameterType(), p2.get(i).getParameterType(), false)) { return false; } } return true; }
@Override public TypeReference visitGenericParameter(final GenericParameter t, final TypeReference s) { if (isSameType(t, s)) { return t; } return asSuper(s, t.hasExtendsBound() ? t.getExtendsBound() : BuiltinTypes.Object); }
@Override public TypeReference visitGenericParameter(final GenericParameter t, final TypeReference s) { if (isSameType(t, s)) { return t; } return asSuper(s, t.hasExtendsBound() ? t.getExtendsBound() : BuiltinTypes.Object); }
@Override public TypeReference visitGenericParameter(final GenericParameter t, final TypeReference s) { if (isSameType(t, s)) { return t; } return asSuper(s, t.hasExtendsBound() ? t.getExtendsBound() : BuiltinTypes.Object); }
@Override public TypeReference visitArrayType(final ArrayType t, final Void ignored) { final TypeReference et = getElementType(t); if (et.isPrimitive() || isSameType(et, BuiltinTypes.Object)) { return arraySuperType(et); } final TypeReference superType = getSuperType(et); return superType != null ? superType.makeArrayType() : null; }
private boolean isCastRequired(final TypeReference targetType, final TypeReference sourceType, final boolean exactMatch) { if (targetType == null || sourceType == null) { return false; } if (targetType.isPrimitive()) { return sourceType.getSimpleType() != targetType.getSimpleType(); } if (exactMatch) { return !MetadataHelper.isSameType(targetType, sourceType, true); } return !MetadataHelper.isAssignableFrom(targetType, sourceType); }
@Override public TypeReference visitArrayType(final ArrayType t, final Void ignored) { final TypeReference et = getElementType(t); assert et != null; if (et.isPrimitive() || isSameType(et, BuiltinTypes.Object)) { return arraySuperType(et); } final TypeReference superType = getSuperType(et); return superType != null ? superType.makeArrayType() : null; }
@Override public TypeReference visitArrayType(final ArrayType t, final Void ignored) { final TypeReference et = getElementType(t); if (et.isPrimitive() || isSameType(et, BuiltinTypes.Object)) { return arraySuperType(et); } final TypeReference superType = getSuperType(et); return superType != null ? superType.makeArrayType() : null; }
private boolean isCastRequired(final TypeReference targetType, final TypeReference sourceType, final boolean exactMatch) { if (targetType == null || sourceType == null) { return false; } if (targetType.isPrimitive()) { return sourceType.getSimpleType() != targetType.getSimpleType(); } if (exactMatch) { return !MetadataHelper.isSameType(targetType, sourceType, true); } return !MetadataHelper.isAssignableFrom(targetType, sourceType); }
private boolean isCastRequired(final TypeReference targetType, final TypeReference sourceType, final boolean exactMatch) { if (targetType == null || sourceType == null) { return false; } if (targetType.isPrimitive()) { return sourceType.getSimpleType() != targetType.getSimpleType(); } if (exactMatch) { return !MetadataHelper.isSameType(targetType, sourceType, true); } return !MetadataHelper.isAssignableFrom(targetType, sourceType); }