public void processing(RoundEnvironment roundEnv) { for (Element element : roundEnv.getRootElements()) { markAsProcessed(element); } }
@Override public boolean process(final Set<? extends TypeElement> annotations, final RoundEnvironment roundEnv) { roundEnv.getRootElements().forEach(this::processElement); return false; }
@Override public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { this.metadataCollector.processing(roundEnv); roundEnv.getRootElements().forEach(this::processElement); if (roundEnv.processingOver()) { writeMetaData(); } return false; }
private void getAllElements( RoundEnvironment env, List<Element> result, Map<Element, Element> parametersToTheirMethods) { for (Element element : env.getRootElements()) { addAllEnclosed(element, result, parametersToTheirMethods); } }
@Override public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { if (annotations.isEmpty()) { return false; } validateElements(roundEnv.getRootElements()); return false; }
for (Element e : roundEnv.getRootElements()) { if (e.getKind() == ElementKind.PACKAGE) { // JENKINS-11739 continue;
for (Element elt : elts) { env.getMessager().printMessage(Kind.WARNING, String.format("%s : thou shalt not hack %s", roundEnv.getRootElements(), elt), elt);
@Override public boolean process(Set<? extends TypeElement> elements, RoundEnvironment roundEnv) { for (Element element : roundEnv.getRootElements()) { try { ProvidersClass testClass = getProvidersClass.from(element); if (testClass == null) continue; if (testClass.methods.isEmpty()) continue; JavaFile javaFile = brewJavaFile.from(testClass); javaFile.writeTo(filer); } catch (GetProvidersClass.ValidationException e) { messager.printMessage(Diagnostic.Kind.ERROR, e.getMessage(), e.getElement()); } catch (IOException e) { messager.printMessage(Diagnostic.Kind.ERROR, e.getMessage(), element); } } return false; }
/** * Extracts annotated elements on elements given to the annotation processor as * well as annotations in their superclasses */ public AnnotationElementsHolder extract(Set<? extends TypeElement> annotations, Set<String> annotationTypesToCheck, RoundEnvironment roundEnv) { AnnotationElementsHolder extractedModel = new AnnotationElementsHolder(); Set<? extends Element> rootElements = roundEnv.getRootElements(); Set<TypeElement> rootTypeElements = findRootTypeElements(rootElements); extractAncestorsAnnotations(extractedModel, annotationTypesToCheck, rootTypeElements); extractRootElementsAnnotations(annotations, roundEnv, extractedModel); return extractedModel; }
RoundEnvironment roundEnv) { for (TypeElement type : ElementFilter.typesIn(roundEnv.getRootElements())) { if (requiresDefaultConstructor(type)) checkForDefaultConstructor(type);
final Collection<JCTree> toClean = new LinkedList<JCTree>(); for (Element el : roundEnv.getRootElements()) { if (el.getKind().isClass() || el.getKind().isInterface()) { seenElements.add(((TypeElement) el).getQualifiedName().toString());
for (Element rootElt : roundEnv.getRootElements()) { Set<Modifier> modifiers = rootElt.getModifiers(); if (rootElt.getKind() == ElementKind.CLASS &&
@Override public boolean process(final Set<? extends TypeElement> annotations, final RoundEnvironment roundEnvironment) { // see also METAGEN-45 if ( roundEnvironment.processingOver() || annotations.size() == 0 ) { return ALLOW_OTHER_PROCESSORS_TO_CLAIM_ANNOTATIONS; } if ( context.isFullyXmlConfigured() ) { context.logMessage( Diagnostic.Kind.OTHER, "Skipping the processing of annotations since persistence unit is purely xml configured." ); return ALLOW_OTHER_PROCESSORS_TO_CLAIM_ANNOTATIONS; } Set<? extends Element> elements = roundEnvironment.getRootElements(); for ( Element element : elements ) { if ( isJPAEntity( element ) ) { context.logMessage( Diagnostic.Kind.OTHER, "Processing annotated class " + element.toString() ); handleRootElementAnnotationMirrors( element ); } } createMetaModelClasses(); return ALLOW_OTHER_PROCESSORS_TO_CLAIM_ANNOTATIONS; }
processingEnv.getMessager().printMessage(Kind.WARNING, "#196556: reading " + pkg + " failed with " + x + " in " + x.getStackTrace()[0] + "; do a clean build!"); unscannedTopElements.removeAll(roundEnv.getRootElements()); addToAnnotatedElements(unscannedTopElements, annotatedElements); } else {
@Override public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { timeStats.clear(); timeStats.start("Whole Processing"); Set<? extends Element> rootElements = roundEnv.getRootElements(); if (LOGGER.isLoggable(Level.TRACE)) { LOGGER.trace("Start processing for {} annotations {} on {} elements {}", annotations.size(), annotations, rootElements.size(), rootElements); } else { LOGGER.info("Start processing for {} annotations on {} elements", annotations.size(), rootElements.size()); } try { checkApiAndProcessorVersions(); processThrowing(annotations, roundEnv); } catch (ProcessingException e) { handleException(annotations, roundEnv, e); } catch (Exception e) { handleException(annotations, roundEnv, new ProcessingException(e, null)); } timeStats.stop("Whole Processing"); timeStats.logStats(); LOGGER.info("Finish processing"); LoggerContext.getInstance().close(roundEnv.processingOver()); return true; }
@Override public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { setLogInfo(); logInfo("Running " + getClass().getSimpleName()); if (roundEnv.processingOver() || annotations.size() == 0) { return ALLOW_OTHER_PROCESSORS_TO_CLAIM_ANNOTATIONS; } if (roundEnv.getRootElements() == null || roundEnv.getRootElements().isEmpty()) { logInfo("No sources to process"); return ALLOW_OTHER_PROCESSORS_TO_CLAIM_ANNOTATIONS; } conf = createConfiguration(roundEnv); context = new Context(); Set<Class<? extends Annotation>> entityAnnotations = conf.getEntityAnnotations(); TypeMappings typeMappings = conf.getTypeMappings(); QueryTypeFactory queryTypeFactory = conf.getQueryTypeFactory(); this.typeFactory = new ExtendedTypeFactory(processingEnv, entityAnnotations, typeMappings, queryTypeFactory, conf.getVariableNameFunction()); elementHandler = new TypeElementHandler(conf, typeFactory, typeMappings, queryTypeFactory); this.roundEnv = roundEnv; // process annotations processAnnotations(); validateMetaTypes(); // serialize created types serializeMetaTypes(); return ALLOW_OTHER_PROCESSORS_TO_CLAIM_ANNOTATIONS; }
private Set<TypeElement> getTypesToProcess(State state, RoundEnvironment roundEnv) { if (rootOverride == null) { return ElementFilter.typesIn(roundEnv.getRootElements()); } Set<TypeElement> toScan = new HashSet<TypeElement>(); for (String binaryTypeName : rootOverride) { TypeElement found = state.elements.getTypeElement(BinaryName.toSourceName(binaryTypeName.trim())); if (found == null) { state.poison(null, Messages.noSuchType(binaryTypeName)); } else { toScan.add(found); } } rootOverride = null; return toScan; } }
for ( Element element : roundEnvironment.getRootElements() ) { element.accept( classVisitor, null );
processingEnv.getMessager().printMessage(Kind.WARNING, "#196556: reading " + pkg + " failed with " + x + " in " + x.getStackTrace()[0] + "; do a clean build!"); unscannedTopElements.removeAll(roundEnv.getRootElements()); addToAnnotatedElements(unscannedTopElements, annotatedElements); } else {
/** * Annotation processor entry point, we are using a visitor pattern the visit * only the class declaration. */ @Override public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { ListClassVisitor listClassVisitor = new ListClassVisitor(); Collection<TypeElement> classes = new ArrayList<TypeElement>(); filterClasses(classes, roundEnv.getRootElements()); for (TypeElement typeDecl : classes) typeDecl.accept(listClassVisitor, null); for (ServiceFileInfo info : serviceFiles.values()) { if (info.isDirty()) { if (debug) { printNote("Creating META-INF/services " + info.getServiceName() + " file"); } PrintWriter writer = new PrintWriter(info.getWriter()); for (String implementor : info.getImplementors()) { if (debug) { printNote(" Implementor " + implementor); } writer.println(implementor); } writer.close(); } } return true; }