1 /******************************************************************************* 2 * Copyright (c) 2007 BEA Systems, Inc. 3 * 4 * This program and the accompanying materials 5 * are made available under the terms of the Eclipse Public License 2.0 6 * which accompanies this distribution, and is available at 7 * https://www.eclipse.org/legal/epl-2.0/ 8 * 9 * SPDX-License-Identifier: EPL-2.0 10 * 11 * Contributors: 12 * wharley@bea.com - initial implementation 13 * 14 *******************************************************************************/ 15 package org.eclipse.jdt.compiler.apt.tests.annotations; 16 17 /** 18 * These annotation types are visible to processor code and can thus be used 19 * with {@link javax.lang.model.element.Element#getAnnotation(Class)}, which 20 * returns a reflection proxy of the actual annotation class rather than just 21 * an AnnotationMirror. 22 */ 23 public @interface TypedAnnos 24 { 25 public enum Enum { A, B, C } 26 27 public @interface AnnoByte { value()28 byte value(); 29 } 30 public @interface AnnoBoolean { value()31 boolean value(); 32 } 33 public @interface AnnoChar { value()34 char value(); 35 } 36 public @interface AnnoDouble { value()37 double value(); 38 } 39 public @interface AnnoFloat { value()40 float value(); 41 } 42 public @interface AnnoInt { value()43 int value(); 44 } 45 public @interface AnnoLong { value()46 long value(); 47 } 48 public @interface AnnoShort { value()49 short value(); 50 } 51 public @interface AnnoString { value()52 String value(); 53 } 54 public @interface AnnoEnumConst { value()55 Enum value(); 56 } 57 public @interface AnnoType { value()58 Class<?> value(); 59 } 60 public @interface AnnoAnnoChar { value()61 AnnoChar value(); 62 } 63 public @interface AnnoArrayInt { value()64 int[] value(); 65 } 66 public @interface AnnoArrayString { value()67 String[] value(); 68 } 69 public @interface AnnoArrayEnumConst { value()70 Enum[] value(); 71 } 72 public @interface AnnoArrayAnnoChar { value()73 AnnoChar[] value(); 74 } 75 public @interface AnnoArrayType { value()76 Class<?>[] value(); 77 } 78 } 79