|
Java example source code file (TestElementsAnnotatedWith.java)
The TestElementsAnnotatedWith.java Java example source code/* * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ /* * @test * @bug 6397298 6400986 6425592 6449798 6453386 6508401 6498938 6911854 * @summary Tests that getElementsAnnotatedWith works properly. * @author Joseph D. Darcy * @library /tools/javac/lib * @build JavacTestingAbstractProcessor * @compile TestElementsAnnotatedWith.java * @compile InheritedAnnotation.java * @compile TpAnno.java * @compile -processor TestElementsAnnotatedWith -proc:only SurfaceAnnotations.java * @compile -processor TestElementsAnnotatedWith -proc:only BuriedAnnotations.java * @compile -processor TestElementsAnnotatedWith -proc:only Part1.java Part2.java * @compile -processor TestElementsAnnotatedWith -proc:only C2.java * @compile -processor TestElementsAnnotatedWith -proc:only Foo.java * @compile -processor TestElementsAnnotatedWith -proc:only TypeParameterAnnotations.java * @compile Foo.java * @compile/process -processor TestElementsAnnotatedWith -proc:only Foo */ import java.lang.annotation.Annotation; import java.io.*; import java.util.Collections; import java.util.Set; import java.util.HashSet; import java.util.List; import java.util.ArrayList; import java.util.Arrays; import javax.annotation.processing.*; import javax.tools.*; import javax.lang.model.SourceVersion; import javax.lang.model.element.*; import javax.lang.model.util.*; import static javax.lang.model.util.ElementFilter.*; /** * This processor verifies that the information returned by * getElementsAnnotatedWith is consistent with the expected results * stored in an AnnotatedElementInfo annotation. */ @AnnotatedElementInfo(annotationName="java.lang.SuppressWarnings", expectedSize=0, names={}) public class TestElementsAnnotatedWith extends JavacTestingAbstractProcessor { public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnvironment) { TypeElement annotatedElementInfoElement = elements.getTypeElement("AnnotatedElementInfo"); Set<? extends Element> resultsMeta = Collections.emptySet(); Set<? extends Element> resultsBase = Collections.emptySet(); if (!roundEnvironment.processingOver()) { testNonAnnotations(roundEnvironment); // Verify AnnotatedElementInfo is present on the first // specified type. TypeElement firstType = typesIn(roundEnvironment.getRootElements()).iterator().next(); AnnotatedElementInfo annotatedElementInfo = firstType.getAnnotation(AnnotatedElementInfo.class); boolean failed = false; if (annotatedElementInfo == null) throw new IllegalArgumentException("Missing AnnotatedElementInfo annotation on " + firstType); else { // Verify that the annotation information is as // expected. Set<String> expectedNames = new HashSet Other Java examples (source code examples)Here is a short list of links related to this Java TestElementsAnnotatedWith.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.