mirror of
https://github.com/eclipse-aspectj/aspectj.git
synced 2024-08-26 17:58:43 +02:00
62 lines
1.5 KiB
Java
62 lines
1.5 KiB
Java
// Use all the variants of annotations - to exercise the
|
|
// eclipse transform code in EclipseSourceType
|
|
|
|
import java.lang.annotation.*;
|
|
|
|
@AnnotationStringElement(stringval="hello")
|
|
@SimpleAnnotation(id=1)
|
|
@AnnotationClassElement(clz=Integer.class)
|
|
@CombinedAnnotation({@SimpleAnnotation(id=4)})
|
|
@AnnotationEnumElement(enumval=SimpleEnum.Red)
|
|
@ComplexAnnotation(ival=4,bval=2,cval='5',fval=3.0f,dval=33.4,zval=false,jval=56,sval=99)
|
|
public class DecoratedClass {
|
|
public void m() {}
|
|
|
|
}
|
|
|
|
@Target(value={ElementType.TYPE})
|
|
@Retention(RetentionPolicy.RUNTIME)
|
|
@interface SimpleAnnotation {
|
|
int id();
|
|
String fruit() default "bananas";
|
|
}
|
|
enum SimpleEnum { Red,Orange,Yellow,Green,Blue,Indigo,Violet };
|
|
|
|
@Retention(RetentionPolicy.RUNTIME)
|
|
@interface SimpleStringAnnotation {
|
|
String fruit();
|
|
}
|
|
|
|
|
|
@Target({ElementType.TYPE,ElementType.FIELD})
|
|
@Retention(RetentionPolicy.RUNTIME)
|
|
@interface AnnotationClassElement {
|
|
Class clz();
|
|
}
|
|
|
|
@Retention(RetentionPolicy.RUNTIME)
|
|
@interface AnnotationEnumElement {
|
|
SimpleEnum enumval();
|
|
}
|
|
@Target({ElementType.TYPE,ElementType.METHOD,ElementType.FIELD})
|
|
@Retention(RetentionPolicy.RUNTIME)
|
|
@interface AnnotationStringElement {
|
|
String stringval();
|
|
}
|
|
@Retention(RetentionPolicy.RUNTIME)
|
|
@interface CombinedAnnotation {
|
|
SimpleAnnotation[] value();
|
|
}
|
|
@Retention(RetentionPolicy.RUNTIME)
|
|
@interface ComplexAnnotation {
|
|
int ival();
|
|
byte bval();
|
|
char cval();
|
|
long jval();
|
|
double dval();
|
|
boolean zval();
|
|
short sval();
|
|
float fval();
|
|
}
|
|
|