@Override public Type<?> getReturnType() { return _methodInfo.getReturnType(); }
@Override public boolean isEquivalentTo(final MemberInfo m) { return m instanceof MethodInfo && super.isEquivalentTo(m) && ((MethodInfo) m).getReturnType().isEquivalentTo(getReturnType()); }
public static boolean returnTypeSubstitutable(final MethodInfo r1, final MethodInfo r2) { if (hasSameArgs(r1, r2)) { return resultSubtype(r1, r2); } return covariantReturnType( r1.getReturnType(), erasure(r2.getReturnType()) ); }
public static boolean resultSubtype(final MethodInfo t, final MethodInfo s) { final TypeList tVars = t.getTypeArguments(); final TypeList sVars = s.getTypeArguments(); final Type tReturn = t.getReturnType(); final Type sReturn = substitute(s.getReturnType(), sVars, tVars); return covariantReturnType(tReturn, sReturn); }
public static boolean resultSubtype(final MethodInfo t, final MethodInfo s) { final TypeList tVars = t.getTypeArguments(); final TypeList sVars = s.getTypeArguments(); final Type tReturn = t.getReturnType(); final Type sReturn = substitute(s.getReturnType(), sVars, tVars); return covariantReturnType(tReturn, sReturn); }
public static boolean resultSubtype(final MethodInfo t, final MethodInfo s) { final TypeList tVars = t.getTypeArguments(); final TypeList sVars = s.getTypeArguments(); final Type tReturn = t.getReturnType(); final Type sReturn = substitute(s.getReturnType(), sVars, tVars); return covariantReturnType(tReturn, sReturn); }
public static boolean returnTypeSubstitutable(final MethodInfo r1, final MethodInfo r2) { if (hasSameArgs(r1, r2)) { return resultSubtype(r1, r2); } return covariantReturnType( r1.getReturnType(), erasure(r2.getReturnType()) ); }
public static boolean returnTypeSubstitutable(final MethodInfo r1, final MethodInfo r2) { if (hasSameArgs(r1, r2)) { return resultSubtype(r1, r2); } return covariantReturnType( r1.getReturnType(), erasure(r2.getReturnType()) ); }
@Override public StringBuilder appendErasedSignature(final StringBuilder sb) { StringBuilder s = sb; s.append('('); final TypeList parameterTypes = getParameters().getParameterTypes(); for (int i = 0, n = parameterTypes.size(); i < n; ++i) { s = parameterTypes.get(i).appendErasedSignature(s); } s.append(')'); s = getReturnType().appendErasedSignature(s); return s; }
@Override public StringBuilder appendErasedSignature(final StringBuilder sb) { StringBuilder s = sb; s.append('('); final TypeList parameterTypes = getParameters().getParameterTypes(); for (int i = 0, n = parameterTypes.size(); i < n; ++i) { s = parameterTypes.get(i).appendErasedSignature(s); } s.append(')'); s = getReturnType().appendErasedSignature(s); return s; }
@Override public StringBuilder appendErasedSignature(final StringBuilder sb) { StringBuilder s = sb; s.append('('); final TypeList parameterTypes = getParameters().getParameterTypes(); for (int i = 0, n = parameterTypes.size(); i < n; ++i) { s = parameterTypes.get(i).appendErasedSignature(s); } s.append(')'); s = getReturnType().appendErasedSignature(s); return s; }
@Override public StringBuilder appendErasedDescription(final StringBuilder sb) { if (isGenericMethod() && !isGenericMethodDefinition()) { return getGenericMethodDefinition().appendErasedDescription(sb); } for (final javax.lang.model.element.Modifier modifier : Flags.asModifierSet(getModifiers())) { sb.append(modifier.toString()); sb.append(' '); } final TypeList parameterTypes = getParameters().getParameterTypes(); StringBuilder s = getReturnType().appendErasedDescription(sb); s.append(' '); s.append(getName()); s.append('('); for (int i = 0, n = parameterTypes.size(); i < n; ++i) { if (i != 0) { s.append(", "); } s = parameterTypes.get(i).appendErasedDescription(s); } s.append(')'); return s; }
@Override public StringBuilder appendErasedDescription(final StringBuilder sb) { if (isGenericMethod() && !isGenericMethodDefinition()) { return getGenericMethodDefinition().appendErasedDescription(sb); } for (final javax.lang.model.element.Modifier modifier : Flags.asModifierSet(getModifiers())) { sb.append(modifier.toString()); sb.append(' '); } final TypeList parameterTypes = getParameters().getParameterTypes(); StringBuilder s = getReturnType().appendErasedDescription(sb); s.append(' '); s.append(getName()); s.append('('); for (int i = 0, n = parameterTypes.size(); i < n; ++i) { if (i != 0) { s.append(", "); } s = parameterTypes.get(i).appendErasedDescription(s); } s.append(')'); return s; }
@Override public StringBuilder appendErasedDescription(final StringBuilder sb) { if (isGenericMethod() && !isGenericMethodDefinition()) { return getGenericMethodDefinition().appendErasedDescription(sb); } for (final javax.lang.model.element.Modifier modifier : Flags.asModifierSet(getModifiers())) { sb.append(modifier.toString()); sb.append(' '); } final TypeList parameterTypes = getParameters().getParameterTypes(); StringBuilder s = getReturnType().appendErasedDescription(sb); s.append(' '); s.append(getName()); s.append('('); for (int i = 0, n = parameterTypes.size(); i < n; ++i) { if (i != 0) { s.append(", "); } s = parameterTypes.get(i).appendErasedDescription(s); } s.append(')'); return s; }
public boolean containsGenericParameters() { if (getReturnType().containsGenericParameters()) { return true; } final ParameterList parameters = getParameters(); for (int i = 0, n = parameters.size(); i < n; i++) { final ParameterInfo parameter = parameters.get(i); if (parameter.getParameterType().containsGenericParameters()) { return true; } } return false; }
public boolean containsGenericParameters() { if (getReturnType().containsGenericParameters()) { return true; } final ParameterList parameters = getParameters(); for (int i = 0, n = parameters.size(); i < n; i++) { final ParameterInfo parameter = parameters.get(i); if (parameter.getParameterType().containsGenericParameters()) { return true; } } return false; }
public boolean containsGenericParameters() { if (getReturnType().containsGenericParameters()) { return true; } final ParameterList parameters = getParameters(); for (int i = 0, n = parameters.size(); i < n; i++) { final ParameterInfo parameter = parameters.get(i); if (parameter.getParameterType().containsGenericParameters()) { return true; } } return false; }
public static MethodInfo getBoxMethod(final Type<?> type) { final Type<?> boxedType; final Type<?> primitiveType; if (type.isPrimitive()) { boxedType = TypeUtils.getBoxedType(type); } else if (TypeUtils.isAutoUnboxed(type)) { boxedType = type; } else { return null; } primitiveType = TypeUtils.getUnderlyingPrimitive(boxedType); final MethodInfo boxMethod = boxedType.getMethod( "valueOf", BindingFlags.PublicStatic, primitiveType ); if (boxMethod == null || !areEquivalent(boxMethod.getReturnType(), boxedType)) { return null; } return boxMethod; }
public static MethodInfo getBoxMethod(final Type<?> type) { final Type<?> boxedType; final Type<?> primitiveType; if (type.isPrimitive()) { boxedType = TypeUtils.getBoxedType(type); } else if (TypeUtils.isAutoUnboxed(type)) { boxedType = type; } else { return null; } primitiveType = TypeUtils.getUnderlyingPrimitive(boxedType); final MethodInfo boxMethod = boxedType.getMethod( "valueOf", BindingFlags.PublicStatic, primitiveType ); if (boxMethod == null || !areEquivalent(boxMethod.getReturnType(), boxedType)) { return null; } return boxMethod; }
public static MethodInfo getBoxMethod(final Type<?> type) { final Type<?> boxedType; final Type<?> primitiveType; if (type.isPrimitive()) { boxedType = TypeUtils.getBoxedType(type); } else if (TypeUtils.isAutoUnboxed(type)) { boxedType = type; } else { return null; } primitiveType = TypeUtils.getUnderlyingPrimitive(boxedType); final MethodInfo boxMethod = boxedType.getMethod( "valueOf", BindingFlags.PublicStatic, primitiveType ); if (boxMethod == null || !areEquivalent(boxMethod.getReturnType(), boxedType)) { return null; } return boxMethod; }