@Override public final R visitExecutable(ExecutableElement e, P p) { if (!(e instanceof CodeExecutableElement)) { throw new ClassCastException(e.toString()); } return visitExecutable(cast(e, CodeExecutableElement.class), p); }
public <P> void accept(CodeElementScanner<?, P> s, P p) { s.visitImport(this, p); }
@Override public R visitVariable(VariableElement e, P p) { if (e instanceof CodeVariableElement) { CodeTree init = ((CodeVariableElement) e).getInit(); if (init != null) { visitTree(init, p, e); } } return super.visitVariable(e, p); }
@Override public Void visitExecutable(CodeExecutableElement e, Void p) { if (e.getParameters().isEmpty()) { return null; } else if (e.getModifiers().contains(Modifier.ABSTRACT)) { return null; } else if (containsOverride(e)) { return null; } symbolsUsed.clear(); super.visitExecutable(e, p); for (VariableElement parameter : e.getParameters()) { if (!symbolsUsed.contains(parameter.getSimpleName().toString())) { e.getAnnotationMirrors().add(createUnusedAnnotationMirror()); break; } } return null; }
@Override public Void visitType(CodeTypeElement e, Void p) { List<TypeElement> superTypes = ElementUtils.getSuperTypes(e); for (TypeElement type : superTypes) { String qualifiedName = ElementUtils.getQualifiedName(type); if (qualifiedName.equals(Serializable.class.getCanonicalName())) { if (!e.containsField("serialVersionUID")) { e.add(new CodeVariableElement(modifiers(PRIVATE, STATIC, FINAL), ElementUtils.getType(processingEnv, long.class), "serialVersionUID", "1L")); } break; } } return super.visitType(e, p); }
@Override public Void visitVariable(VariableElement f, Void p) { visitAnnotations(f, f.getAnnotationMirrors()); visitTypeReference(f, f.asType()); return super.visitVariable(f, p); }
public void visitTree(CodeTree e, P p, Element parent) { List<CodeTree> elements = e.getEnclosedElements(); if (elements != null) { for (CodeTree tree : e.getEnclosedElements()) { visitTree(tree, p, parent); } } }
@Override public Void visitExecutable(CodeExecutableElement e, Void p) { if (e.getParameters().isEmpty()) { return null; } else if (e.getModifiers().contains(Modifier.ABSTRACT)) { return null; } else if (containsOverride(e)) { return null; } symbolsUsed.clear(); super.visitExecutable(e, p); for (VariableElement parameter : e.getParameters()) { if (!symbolsUsed.contains(parameter.getSimpleName().toString())) { e.getAnnotationMirrors().add(createUnusedAnnotationMirror()); break; } } return null; }
@Override public Void visitType(CodeTypeElement e, Void p) { List<TypeElement> superTypes = ElementUtils.getSuperTypes(e); for (TypeElement type : superTypes) { String qualifiedName = ElementUtils.getQualifiedName(type); if (qualifiedName.equals(Serializable.class.getCanonicalName())) { if (!e.containsField("serialVersionUID")) { e.add(new CodeVariableElement(modifiers(PRIVATE, STATIC, FINAL), ElementUtils.getType(processingEnv, long.class), "serialVersionUID", "1L")); } break; } } return super.visitType(e, p); }
@Override public Void visitVariable(VariableElement f, Void p) { visitAnnotations(f, f.getAnnotationMirrors()); visitTypeReference(f, f.asType()); return super.visitVariable(f, p); }
@Override public R visitVariable(VariableElement e, P p) { if (e instanceof CodeVariableElement) { CodeTree init = ((CodeVariableElement) e).getInit(); if (init != null) { visitTree(init, p, e); } } return super.visitVariable(e, p); }
@Override public final R visitExecutable(ExecutableElement e, P p) { if (!(e instanceof CodeExecutableElement)) { throw new ClassCastException(e.toString()); } return visitExecutable(cast(e, CodeExecutableElement.class), p); }
@Override public Void visitExecutable(CodeExecutableElement e, Void p) { if (!e.getModifiers().contains(Modifier.STATIC) && !e.getModifiers().contains(Modifier.PRIVATE)) { String name = e.getSimpleName().toString(); TypeMirror[] params = e.getParameterTypes(); for (AnnotationMirror mirror : e.getAnnotationMirrors()) { if (ElementUtils.typeEquals(overrideType, mirror.getAnnotationType())) { // already declared (may happen if method copied from super class) return super.visitExecutable(e, p); } } if (isDeclaredMethodInSuperType(e.getEnclosingClass(), name, params)) { e.addAnnotationMirror(new CodeAnnotationMirror(overrideType)); } } return super.visitExecutable(e, p); }
@Override public Void visitType(CodeTypeElement e, Void p) { visitAnnotations(e, e.getAnnotationMirrors()); visitTypeReference(e, e.getSuperclass()); for (TypeMirror type : e.getImplements()) { visitTypeReference(e, type); } return super.visitType(e, p); }
public <P> void accept(CodeElementScanner<?, P> s, P p) { s.visitImport(this, p); }
public void visitTree(CodeTree e, P p, Element parent) { List<CodeTree> elements = e.getEnclosedElements(); if (elements != null) { for (CodeTree tree : e.getEnclosedElements()) { visitTree(tree, p, parent); } } }
@Override public Void visitExecutable(CodeExecutableElement e, Void p) { if (!e.getModifiers().contains(Modifier.STATIC) && !e.getModifiers().contains(Modifier.PRIVATE)) { String name = e.getSimpleName().toString(); TypeMirror[] params = e.getParameterTypes(); for (AnnotationMirror mirror : e.getAnnotationMirrors()) { if (ElementUtils.typeEquals(overrideType, mirror.getAnnotationType())) { // already declared (may happen if method copied from super class) return super.visitExecutable(e, p); } } if (isDeclaredMethodInSuperType(e.getEnclosingClass(), name, params)) { e.addAnnotationMirror(new CodeAnnotationMirror(overrideType)); } } return super.visitExecutable(e, p); }
@Override public Void visitType(CodeTypeElement e, Void p) { visitAnnotations(e, e.getAnnotationMirrors()); visitTypeReference(e, e.getSuperclass()); for (TypeMirror type : e.getImplements()) { visitTypeReference(e, type); } return super.visitType(e, p); }