7

Eclipse JunoComplexityProcessorは、クラスをコンパイルするときに次のアノテーションプロセッサが出力するメッセージをどこに出力しますSimpleAnnotationTestか?コンパイル後、コンソールペインにメッセージが表示されるはずですが、空です。

public @interface Complexity
{
    public enum Level
    {
        VERY_SIMPLE,
        SIMPLE,
        MEDIUM,
        COMPLEX,
        VERY_COMPLEX;
    }

    Level value() default Level.MEDIUM;
}

@SupportedAnnotationTypes("com.intelerad.annotations.Complexity")
@SupportedSourceVersion(SourceVersion.RELEASE_6)
public class ComplexityProcessor extends AbstractProcessor
{
    @Override
    public boolean process( final Set<? extends TypeElement> annotations,
                            final RoundEnvironment environment )
    {
        for ( final Element element : environment.getElementsAnnotatedWith( Complexity.class ) )
        {
            final Complexity complexity = element.getAnnotation( Complexity.class );
            String message =
                "Annotation found in " + element.getSimpleName() + " with complexity " +
                complexity.value();

            // Where does Eclipse print this message?
            processingEnv.getMessager().printMessage( Diagnostic.Kind.NOTE, message );
        }
        return true;
    }
}

@Complexity(Level.VERY_SIMPLE)
public class SimpleAnnotationTest
{
    @Complexity()
    public void theMethod()
    {
        System.out.println( "console output" );
    }
}
4

1 に答える 1

9

Eclipseで出力を見つけました.metadata/.log

!ENTRY org.eclipse.jdt.apt.pluggable.core 1 1 2013-01-23 16:45:35.102
!MESSAGE Annotation found in SimpleAnnotationTest with complexity VERY_SIMPLE

!ENTRY org.eclipse.jdt.apt.pluggable.core 1 1 2013-01-23 16:45:35.102
!MESSAGE Annotation found in theMethod with complexity MEDIUM
于 2013-01-24T15:37:57.543 に答える