| ClassFileAnalyzer (Can) |
| Home |
|
Example: TestCanAnnotationDefaultTest directive
/* TestCanAnnotationDefault.java */
import java.lang.annotation.*;
@Retention(value = RetentionPolicy.RUNTIME)
@Target(value = { ElementType.ANNOTATION_TYPE,
ElementType.CONSTRUCTOR,
ElementType.FIELD,
ElementType.LOCAL_VARIABLE,
ElementType.METHOD,
ElementType.PACKAGE,
ElementType.PARAMETER,
ElementType.TYPE
})
public @interface TestCanAnnotationDefault {
byte byteValue() default 1;
char[] charValue() default { 'a', 'b' };
double doubleValue() default 1.23;
float floatValue() default 2.34f;
int[] intValue() default { 2, 3, 4 };
long longValue() default 5;
short shortValue() default 6;
boolean[] booleanValue() default { true, true, false };
String[] stringValue() default { "Hello", "Clara!" };
}
> javac TestCanAnnotationDefault.java > java ClassFileAnalyzer TestCanAnnotationDefault.class
; TestCanAnnotationDefault.j
; Generated by ClassFileAnalyzer (Can)
; Analyzer and Disassembler for Java class files
; (Jasmin syntax 2, http://jasmin.sourceforge.net)
;
; ClassFileAnalyzer, version 0.7.0
.bytecode 50.0
.source TestCanAnnotationDefault.java
.interface public abstract annotation TestCanAnnotationDefault
.super java/lang/Object
.implements java/lang/annotation/Annotation
.annotation visible Ljava/lang/annotation/Retention;
value e Ljava/lang/annotation/RetentionPolicy; = RUNTIME
.end annotation
.annotation visible Ljava/lang/annotation/Target;
; one line
value [e Ljava/lang/annotation/ElementType; = ANNOTATION_TYPE CONSTRUCTOR
FIELD LOCAL_VARIABLE METHOD PACKAGE PARAMETER TYPE
.end annotation
.method public abstract byteValue()B
.annotation default
B = 1
.end annotation
.end method
.method public abstract charValue()[C
.annotation default
[C = 97 98
.end annotation
.end method
.method public abstract doubleValue()D
.annotation default
D = 1.2300000190734863
.end annotation
.end method
.method public abstract floatValue()F
.annotation default
F = 2.34
.end annotation
.end method
.method public abstract intValue()[I
.annotation default
[I = 2 3 4
.end annotation
.end method
.method public abstract longValue()J
.annotation default
J = 5
.end annotation
.end method
.method public abstract shortValue()S
.annotation default
S = 6
.end annotation
.end method
.method public abstract booleanValue()[Z
.annotation default
[Z = 1 1 0
.end annotation
.end method
.method public abstract stringValue()[Ljava/lang/String;
.annotation default
[s = "Hello" "Clara!"
.end annotation
.end method
|