public boolean isEmpty() { return _genericParameters.isEmpty(); } }
public boolean isEmpty() { return _genericParameters.isEmpty(); } }
public boolean isEmpty() { return _genericParameters.isEmpty(); } }
public Key(final Class<?> erasedType, final TypeList typeArguments) { _erasedType = erasedType; _typeParameters = typeArguments; int h = erasedType.getName().hashCode(); if (typeArguments != null && !typeArguments.isEmpty()) { h = h * 31 + typeArguments.size(); } _hashCode = h; }
public Key(final Class<?> erasedType, final TypeList typeArguments) { _erasedType = erasedType; _typeParameters = typeArguments; int h = erasedType.getName().hashCode(); if (typeArguments != null && !typeArguments.isEmpty()) { h = h * 31 + typeArguments.size(); } _hashCode = h; }
@Override public StringBuilder appendSignature(final StringBuilder sb) { StringBuilder s = sb; if (_baseType != null && _baseType != Types.Object) s = _baseType.appendSignature(s); if (_interfaces.isEmpty()) return s; s.append(':'); for (final Type interfaceType : _interfaces) { s = interfaceType.appendSignature(s); } return s; }
@Override public StringBuilder appendSignature(final StringBuilder sb) { StringBuilder s = sb; if (_baseType != null && _baseType != Types.Object) s = _baseType.appendSignature(s); if (_interfaces.isEmpty()) return s; s.append(':'); for (final Type interfaceType : _interfaces) { s = interfaceType.appendSignature(s); } return s; }
@Override public StringBuilder appendSignature(final StringBuilder sb) { StringBuilder s = sb; if (_baseType != null && _baseType != Types.Object) s = _baseType.appendSignature(s); if (_interfaces.isEmpty()) return s; s.append(':'); for (final Type interfaceType : _interfaces) { s = interfaceType.appendSignature(s); } return s; }
public Key(final Type<?> type, final TypeList typeArguments) { this.descriptor = type.getInternalName(); this.typeArguments = typeArguments; int h = this.descriptor.hashCode(); if (typeArguments != null && !typeArguments.isEmpty()) { for (final Type<?> argument : typeArguments) { h = HashUtilities.combineHashCodes(h, argument.hashCode()); } } this.hashCode = h; }
private void updateExtendsBound() { if (!isGenericParameter()) { return; } _extendsBound = _baseType == Types.Object ? null : _baseType; if (_interfaces.isEmpty()) { return; } if (_interfaces.size() == 1 && _extendsBound == null) { _extendsBound = _interfaces.get(0); return; } _extendsBound = Type.makeCompoundType(_baseType, _interfaces); }
public final TypeList getErasedTypes() { if (isEmpty()) { return empty(); } final int size = size(); final Type<?>[] erasedTypes = new Type<?>[size]; for (int i = 0; i < size; i++) { erasedTypes[i] = get(i).getErasedType(); } return new TypeList(erasedTypes); }
public final TypeList getErasedTypes() { if (isEmpty()) { return empty(); } final int size = size(); final Type<?>[] erasedTypes = new Type<?>[size]; for (int i = 0; i < size; i++) { erasedTypes[i] = get(i).getErasedType(); } return new TypeList(erasedTypes); }
public final TypeList getErasedTypes() { if (isEmpty()) { return empty(); } final int size = size(); final Type<?>[] erasedTypes = new Type<?>[size]; for (int i = 0; i < size; i++) { erasedTypes[i] = get(i).getErasedType(); } return new TypeList(erasedTypes); }
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; }
static boolean containsType(final TypeList ts, final TypeList ss) { if (ts.size() != ss.size()) { return false; } if (ts.isEmpty()) { return true; } for (int i = 0, n = ts.size(); i < n; i++) { if (!containsType(ts.get(i), ss.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; }
static boolean containsType(final TypeList ts, final TypeList ss) { if (ts.size() != ss.size()) { return false; } if (ts.isEmpty()) { return true; } for (int i = 0, n = ts.size(); i < n; i++) { if (!containsType(ts.get(i), ss.get(i))) { return false; } } return true; }
static boolean containsTypeEquivalent(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 (!containsTypeEquivalent(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; }
@Override public ImmutableList<Type<?>> visitClassType(final Type<?> t, final ImmutableList<Type<?>> list) { final TypeList interfaces = t.getExplicitInterfaces(); if (interfaces.isEmpty()) { return ImmutableList.empty(); } ImmutableList<Type<?>> result = union(list, ImmutableList.from(t.getExplicitInterfaces().toArray())); for (final Type ifType : interfaces) { if (!list.contains(ifType)) { result = union(result, visit(ifType, result)); } } return result; }