< prev index next >
test/jdk/java/lang/annotation/AnnotationToStringTest.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, 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.
@@ -25,10 +25,13 @@
* @test
* @bug 8162817 8168921
* @summary Test of toString on normal annotations
*/
+// See also the sibling compile-time test
+// test/langtools/tools/javac/processing/model/element/AnnotationToStringTest.java
+
import java.lang.annotation.*;
import java.lang.reflect.*;
import java.util.*;
/**
@@ -60,26 +63,29 @@
}
@ExpectedString(
"@MostlyPrimitive(c0='a', "+
"c1='\\'', " +
+ "b0=(byte)0x01, " +
"i0=1, " +
"i1=2, " +
"f0=1.0f, " +
"f1=0.0f/0.0f, " +
"d0=0.0, " +
"d1=1.0/0.0, " +
- "l0=5, " +
+ "l0=5L, " +
"l1=9223372036854775807L, " +
"l2=-9223372036854775808L, " +
- "l3=-2147483648, " +
+ "l3=-2147483648L, " +
"s0=\"Hello world.\", " +
"s1=\"a\\\"b\", " +
- "class0=Obj[].class)")
+ "class0=Obj[].class, " +
+ "classArray={Obj[].class})")
@MostlyPrimitive(
c0='a',
c1='\'',
+ b0=1,
i0=1,
i1=2,
f0=1.0f,
f1=Float.NaN,
d0=0.0,
@@ -88,11 +94,12 @@
l1=Long.MAX_VALUE,
l2=Long.MIN_VALUE,
l3=Integer.MIN_VALUE,
s0="Hello world.",
s1="a\"b",
- class0=Obj[].class
+ class0=Obj[].class,
+ classArray={Obj[].class}
)
static class PrimHost{}
private static int classyTest() {
int failures = 0;
@@ -105,37 +112,37 @@
return failures;
}
static class AnnotationHost {
@ExpectedString(
- "@Classy(value=Obj.class)")
- @Classy(value=Obj.class)
+ "@Classy(Obj.class)")
+ @Classy(Obj.class)
public int f0;
@ExpectedString(
- "@Classy(value=Obj[].class)")
- @Classy(value=Obj[].class)
+ "@Classy(Obj[].class)")
+ @Classy(Obj[].class)
public int f1;
@ExpectedString(
- "@Classy(value=Obj[][].class)")
- @Classy(value=Obj[][].class)
+ "@Classy(Obj[][].class)")
+ @Classy(Obj[][].class)
public int f2;
@ExpectedString(
- "@Classy(value=Obj[][][].class)")
- @Classy(value=Obj[][][].class)
+ "@Classy(Obj[][][].class)")
+ @Classy(Obj[][][].class)
public int f3;
@ExpectedString(
- "@Classy(value=int.class)")
- @Classy(value=int.class)
+ "@Classy(int.class)")
+ @Classy(int.class)
public int f4;
@ExpectedString(
- "@Classy(value=int[][][].class)")
- @Classy(value=int[][][].class)
+ "@Classy(int[][][].class)")
+ @Classy(int[][][].class)
public int f5;
}
/**
* Each field should have two annotations, the first being
@@ -152,64 +159,64 @@
return failures;
}
static class ArrayAnnotationHost {
@ExpectedString(
- "@BooleanArray(value={true, false, true})")
- @BooleanArray(value={true, false, true})
+ "@BooleanArray({true, false, true})")
+ @BooleanArray({true, false, true})
public boolean[] f0;
@ExpectedString(
- "@FloatArray(value={3.0f, 4.0f, 0.0f/0.0f, -1.0f/0.0f, 1.0f/0.0f})")
- @FloatArray(value={3.0f, 4.0f, Float.NaN, Float.NEGATIVE_INFINITY, Float.POSITIVE_INFINITY})
+ "@FloatArray({3.0f, 4.0f, 0.0f/0.0f, -1.0f/0.0f, 1.0f/0.0f})")
+ @FloatArray({3.0f, 4.0f, Float.NaN, Float.NEGATIVE_INFINITY, Float.POSITIVE_INFINITY})
public float[] f1;
@ExpectedString(
- "@DoubleArray(value={1.0, 2.0, 0.0/0.0, 1.0/0.0, -1.0/0.0})")
- @DoubleArray(value={1.0, 2.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY,})
+ "@DoubleArray({1.0, 2.0, 0.0/0.0, 1.0/0.0, -1.0/0.0})")
+ @DoubleArray({1.0, 2.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY,})
public double[] f2;
@ExpectedString(
- "@ByteArray(value={10, 11, 12})")
- @ByteArray(value={10, 11, 12})
+ "@ByteArray({(byte)0x0a, (byte)0x0b, (byte)0x0c})")
+ @ByteArray({10, 11, 12})
public byte[] f3;
@ExpectedString(
- "@ShortArray(value={0, 4, 5})")
- @ShortArray(value={0, 4, 5})
+ "@ShortArray({0, 4, 5})")
+ @ShortArray({0, 4, 5})
public short[] f4;
@ExpectedString(
- "@CharArray(value={'a', 'b', 'c', '\\''})")
- @CharArray(value={'a', 'b', 'c', '\''})
+ "@CharArray({'a', 'b', 'c', '\\''})")
+ @CharArray({'a', 'b', 'c', '\''})
public char[] f5;
@ExpectedString(
- "@IntArray(value={1})")
- @IntArray(value={1})
+ "@IntArray({1})")
+ @IntArray({1})
public int[] f6;
@ExpectedString(
- "@LongArray(value={-9223372036854775808L, -2147483649L, -2147483648," +
- " -2147483647, 2147483648L, 9223372036854775807L})")
- @LongArray(value={Long.MIN_VALUE, Integer.MIN_VALUE-1L, Integer.MIN_VALUE,
+ "@LongArray({-9223372036854775808L, -2147483649L, -2147483648L," +
+ " -2147483647L, 2147483648L, 9223372036854775807L})")
+ @LongArray({Long.MIN_VALUE, Integer.MIN_VALUE-1L, Integer.MIN_VALUE,
-Integer.MAX_VALUE, Integer.MAX_VALUE+1L, Long.MAX_VALUE})
public long[] f7;
@ExpectedString(
- "@StringArray(value={\"A\", \"B\", \"C\", \"\\\"Quote\\\"\"})")
- @StringArray(value={"A", "B", "C", "\"Quote\""})
+ "@StringArray({\"A\", \"B\", \"C\", \"\\\"Quote\\\"\"})")
+ @StringArray({"A", "B", "C", "\"Quote\""})
public String[] f8;
@ExpectedString(
- "@ClassArray(value={int.class, Obj[].class})")
- @ClassArray(value={int.class, Obj[].class})
+ "@ClassArray({int.class, Obj[].class})")
+ @ClassArray({int.class, Obj[].class})
public Class<?>[] f9;
@ExpectedString(
- "@EnumArray(value={SOURCE})")
- @EnumArray(value={RetentionPolicy.SOURCE})
+ "@EnumArray({SOURCE})")
+ @EnumArray({RetentionPolicy.SOURCE})
public RetentionPolicy[] f10;
}
}
// ------------ Supporting types ------------
@@ -283,10 +290,11 @@
@Retention(RetentionPolicy.RUNTIME)
@interface MostlyPrimitive {
char c0();
char c1();
+ byte b0();
int i0();
int i1();
float f0();
float f1();
double d0();
@@ -296,6 +304,7 @@
long l2();
long l3();
String s0();
String s1();
Class<?> class0();
+ Class<?>[] classArray();
}
< prev index next >