示例#1
0
 public override bool Process <T1>(ISet <T1> annotations, RoundEnvironment roundEnv) where T1 : javax.lang.model.element.TypeElement
 {
     foreach (TypeElement type in annotations)
     {
         foreach (Element annotated in roundEnv.getElementsAnnotatedWith(type))
         {
             foreach (AnnotationMirror mirror in annotated.AnnotationMirrors)
             {
                 if (mirror.AnnotationType.asElement().Equals(type))
                 {
                     try
                     {
                         Process(type, annotated, mirror, processingEnv.ElementUtils.getElementValuesWithDefaults(mirror));
                     }
                     catch (Exception e)
                     {
                         Console.WriteLine(e.ToString());
                         Console.Write(e.StackTrace);
                         processingEnv.Messager.printMessage(Kind.ERROR, "Internal error: " + e, annotated, mirror);
                     }
                 }
             }
         }
     }
     return(false);
 }
示例#2
0
        private void ProcessElements(RoundEnvironment roundEnv)
        {
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: java.util.Set<? extends javax.lang.model.element.Element> functions = roundEnv.getElementsAnnotatedWith(supportedAnnotationType);
            ISet <Element> functions = roundEnv.getElementsAnnotatedWith(_supportedAnnotationType);

            _visitedElements.addAll(functions);
            functions.stream().flatMap(this.validate).forEachOrdered(_messagePrinter.print);
        }
示例#3
0
 public override bool Process <T1>(ISet <T1> annotations, RoundEnvironment roundEnv) where T1 : javax.lang.model.element.TypeElement
 {
     ProcessElements(roundEnv);
     if (roundEnv.processingOver())
     {
         _duplicationValidator.apply(_visitedElements).forEach(_messagePrinter.print);
     }
     return(false);
 }