public void visitCtTypeParameterReference(CtTypeParameterReference ref) { printTypeAnnotations(ref); if (importsContext.isImported(ref)) { write(ref.getSimpleName()); } else { write(ref.getQualifiedName()); } if ((!context.isInvocation || "?".equals(ref.getSimpleName())) && !(ref.getBounds() == null) && !ref.getBounds().isEmpty() && !((ref.getBounds().size() == 1) && "java.lang.Object" .equals(ref.getBounds().get(0).getQualifiedName()))) { if (ref.isUpper()) { write(" extends "); } else { write(" super "); } for (CtTypeReference<?> b : ref.getBounds()) { scan(b); write(" & "); } removeLastChar(); } }
public void visitCtTypeReferenceWithoutGenerics(CtTypeReference<?> ref) { if (ref.isPrimitive()) { write(ref.getSimpleName()); return; } if (importsContext.isImported(ref) && ref.getPackage() != null) { printTypeAnnotations(ref); write(ref.getSimpleName()); } else { if (ref.getDeclaringType() != null) { if (!context.currentThis.contains(ref.getDeclaringType()) || ref.getModifiers().contains(ModifierKind.STATIC) || hasDeclaringTypeWithGenerics(ref)) { if (!context.ignoreEnclosingClass) { boolean ign = context.ignoreGenerics; context.ignoreGenerics = true; scan(ref.getDeclaringType()); write("."); context.ignoreGenerics = ign; } } write(ref.getSimpleName()); } else { write(ref.getQualifiedName()); } } }
public <T> void visitCtTypeReference(CtTypeReference<T> ref) { if (ref.isPrimitive()) { write(ref.getSimpleName()); return; } if (importsContext.isImported(ref) && ref.getPackage() != null) { printTypeAnnotations(ref); write(ref.getSimpleName()); } else { if (ref.getDeclaringType() != null) { if (!context.currentThis.contains(ref.getDeclaringType()) || ref.getModifiers().contains(ModifierKind.STATIC) || hasDeclaringTypeWithGenerics(ref)) { if (!context.ignoreEnclosingClass) { boolean ign = context.ignoreGenerics; context.ignoreGenerics = false; scan(ref.getDeclaringType()); write("."); context.ignoreGenerics = ign; } } write(ref.getSimpleName()); } else { write(ref.getQualifiedName()); } } if (!context.ignoreGenerics) { writeActualTypeArguments(ref); } }