public static int getArrayRank(final TypeReference t) { if (t == null) { return 0; } int rank = 0; TypeReference current = t; while (current.isArray()) { ++rank; current = current.getElementType(); } return rank; }
/** * @param type * @return true if type is known to be mutable */ public static boolean isMutable(TypeReference type) { if (type.isArray()) return true; return MUTABLE_TYPES.contains(type.getInternalName()); }
public static int getArrayRank(final TypeReference t) { if (t == null) { return 0; } int rank = 0; TypeReference current = t; while (current.isArray()) { ++rank; current = current.getElementType(); } return rank; }
public static int getArrayRank(final TypeReference t) { if (t == null) { return 0; } int rank = 0; TypeReference current = t; while (current.isArray()) { ++rank; current = current.getElementType(); } return rank; }
@Override public Boolean visitArrayType(final ArrayType t, final TypeReference s) { return s.isArray() && containsTypeEquivalent(getElementType(t), getElementType(s)); }
@Override public Boolean visitArrayType(final ArrayType t, final TypeReference s) { return s.isArray() && containsTypeEquivalent(getElementType(t), getElementType(s)); }
@Override public Void visitArrayType(final ArrayType source, final TypeReference target) { if (target.isArray()) { adaptRecursive(getElementType(source), getElementType(target)); } return null; }
@Override public Void visitArrayType(final ArrayType t, final Map<TypeReference, TypeReference> map) { final TypeReference a = argumentType; if (a.isArray()) { argumentType = a.getElementType(); visit(t.getElementType(), map); } return null; }
@Override public Void visitArrayType(final ArrayType source, final TypeReference target) { if (target.isArray()) { adaptRecursive(getElementType(source), getElementType(target)); } return null; }
public boolean checkMethod(MethodDefinition md) { if(!md.getReturnType().isArray() && !TYPE_TO_WARNING.containsKey(md.getReturnType().getInternalName())) return false; if(md.getName().equals("getName") && md.getReturnType().getSignature().equals("[B") && md.getParameters().size() == 1 && Types.isInstance(md.getDeclaringType(), "java/sql/ResultSet")) return false; return true; }
public static TypeReference getElementType(final TypeReference t) { if (t.isArray()) { return t.getElementType(); } if (t.isWildcardType()) { return getElementType(getUpperBound(t)); } return null; }
public static TypeReference getElementType(final TypeReference t) { if (t.isArray()) { return t.getElementType(); } if (t.isWildcardType()) { return getElementType(getUpperBound(t)); } return null; }
@Override public Void visitArrayType(final ArrayType t, final Map<TypeReference, TypeReference> map) { final TypeReference a = argumentType; if (a.isArray() && t.isArray()) { argumentType = a.getElementType(); visit(t.getElementType(), map); } return null; }
@Override public Void visitArrayType(final ArrayType t, final Map<TypeReference, TypeReference> map) { final TypeReference a = argumentType; if (a.isArray() && t.isArray()) { argumentType = a.getElementType(); visit(t.getElementType(), map); } return null; }
@Override public Void visitArrayType(final ArrayType t, final Map<TypeReference, TypeReference> map) { final TypeReference a = argumentType; if (a.isArray() && t.isArray()) { argumentType = a.getElementType(); visit(t.getElementType(), map); } return null; }
public static TypeReference getElementType(final TypeReference t) { if (t.isArray()) { return t.getElementType(); } if (t.isWildcardType()) { return getElementType(getUpperBound(t)); } return null; }
@Override public Void visitArrayType(final ArrayType t, final Map<TypeReference, TypeReference> map) { final TypeReference a = argumentType; if (a.isArray() && t.isArray()) { argumentType = a.getElementType(); visit(t.getElementType(), map); } return null; }
@Override public Void visitArrayType(final ArrayType t, final Map<TypeReference, TypeReference> map) { final TypeReference a = argumentType; if (a.isArray() && t.isArray()) { argumentType = a.getElementType(); visit(t.getElementType(), map); } return null; }
@Override public ResolveResult visitIndexerExpression(final IndexerExpression node, final Void data) { final ResolveResult childResult = node.getTarget().acceptVisitor(this, data); if (childResult == null || childResult.getType() == null || !childResult.getType().isArray()) { return null; } final TypeReference elementType = childResult.getType().getElementType(); if (elementType == null) { return null; } return new ResolveResult(elementType); }
@Override public ResolveResult visitIndexerExpression(final IndexerExpression node, final Void data) { final ResolveResult childResult = node.getTarget().acceptVisitor(this, data); if (childResult == null || childResult.getType() == null || !childResult.getType().isArray()) { return null; } final TypeReference elementType = childResult.getType().getElementType(); if (elementType == null) { return null; } return new ResolveResult(elementType); }