8164819: Make javac's toString() on annotation objects consistent with core reflection
Reviewed-by: jjg, coleenp
--- a/src/java.base/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java Thu Jun 13 11:21:50 2019 -0700
+++ b/src/java.base/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -145,14 +145,20 @@
result.append(type.getName());
result.append('(');
boolean firstMember = true;
- for (Map.Entry<String, Object> e : memberValues.entrySet()) {
+ Set<Map.Entry<String, Object>> entries = memberValues.entrySet();
+ boolean loneValue = entries.size() == 1;
+ for (Map.Entry<String, Object> e : entries) {
if (firstMember)
firstMember = false;
else
result.append(", ");
- result.append(e.getKey());
- result.append('=');
+ String key = e.getKey();
+ if (!loneValue || !"value".equals(key)) {
+ result.append(key);
+ result.append('=');
+ }
+ loneValue = false;
result.append(memberValueToString(e.getValue()));
}
result.append(')');
@@ -178,6 +184,8 @@
return toSourceString((float) value);
else if (type == Long.class)
return toSourceString((long) value);
+ else if (type == Byte.class)
+ return toSourceString((byte) value);
else
return value.toString();
} else {
@@ -221,14 +229,14 @@
*/
private static String toSourceString(Class<?> clazz) {
Class<?> finalComponent = clazz;
- StringBuilder arrayBackets = new StringBuilder();
+ StringBuilder arrayBrackets = new StringBuilder();
while(finalComponent.isArray()) {
finalComponent = finalComponent.getComponentType();
- arrayBackets.append("[]");
+ arrayBrackets.append("[]");
}
- return finalComponent.getName() + arrayBackets.toString() + ".class" ;
+ return finalComponent.getName() + arrayBrackets.toString() + ".class";
}
private static String toSourceString(float f) {
@@ -256,18 +264,44 @@
private static String toSourceString(char c) {
StringBuilder sb = new StringBuilder(4);
sb.append('\'');
- if (c == '\'')
- sb.append("\\'");
- else
- sb.append(c);
- return sb.append('\'')
- .toString();
+ sb.append(quote(c));
+ return sb.append('\'') .toString();
+ }
+
+ /**
+ * Escapes a character if it has an escape sequence or is
+ * non-printable ASCII. Leaves non-ASCII characters alone.
+ */
+ private static String quote(char ch) {
+ switch (ch) {
+ case '\b': return "\\b";
+ case '\f': return "\\f";
+ case '\n': return "\\n";
+ case '\r': return "\\r";
+ case '\t': return "\\t";
+ case '\'': return "\\'";
+ case '\"': return "\\\"";
+ case '\\': return "\\\\";
+ default:
+ return (isPrintableAscii(ch))
+ ? String.valueOf(ch)
+ : String.format("\\u%04x", (int) ch);
+ }
+ }
+
+ /**
+ * Is a character printable ASCII?
+ */
+ private static boolean isPrintableAscii(char ch) {
+ return ch >= ' ' && ch <= '~';
+ }
+
+ private static String toSourceString(byte b) {
+ return String.format("(byte)0x%02x", b);
}
private static String toSourceString(long ell) {
- String str = String.valueOf(ell);
- return (ell < Integer.MIN_VALUE || ell > Integer.MAX_VALUE)
- ? (str + 'L') : str;
+ return String.valueOf(ell) + "L";
}
/**
@@ -277,9 +311,9 @@
private static String toSourceString(String s) {
StringBuilder sb = new StringBuilder();
sb.append('"');
- // Escape embedded quote characters, if present, but don't do
- // anything more heroic.
- sb.append(s.replace("\"", "\\\""));
+ for (int i = 0; i < s.length(); i++) {
+ sb.append(quote(s.charAt(i)));
+ }
sb.append('"');
return sb.toString();
}
@@ -287,7 +321,7 @@
private static Stream<String> convert(byte[] values) {
List<String> list = new ArrayList<>(values.length);
for (byte b : values)
- list.add(Byte.toString(b));
+ list.add(toSourceString(b));
return list.stream();
}
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Attribute.java Thu Jun 13 11:21:50 2019 -0700
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Attribute.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -247,7 +247,8 @@
buf.append('(');
boolean first = true;
for (Pair<MethodSymbol, Attribute> value : values) {
- if (!first) buf.append(", ");
+ if (!first)
+ buf.append(", ");
first = false;
Name name = value.fst.name;
@@ -368,7 +369,7 @@
public void accept(Visitor v) { v.visitEnum(this); }
@DefinedBy(Api.LANGUAGE_MODEL)
public String toString() {
- return value.enclClass() + "." + value; // qualified name
+ return value.toString();
}
@DefinedBy(Api.LANGUAGE_MODEL)
public VarSymbol getValue() {
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java Thu Jun 13 11:21:50 2019 -0700
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -32,6 +32,7 @@
import java.lang.reflect.Method;
import java.util.LinkedHashMap;
import java.util.Map;
+import java.util.stream.Collectors;
import sun.reflect.annotation.*;
import javax.lang.model.type.MirroredTypeException;
@@ -292,7 +293,7 @@
}
public String toString() {
- return typeString;
+ return typeString + ".class";
}
public int hashCode() {
@@ -335,7 +336,9 @@
}
public String toString() {
- return typeStrings;
+ return types.stream()
+ .map(t -> t.toString() + ".class")
+ .collect(Collectors.joining(", ", "{", "}"));
}
public int hashCode() {
--- a/test/hotspot/jtreg/runtime/8007320/ConstMethodTest.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/hotspot/jtreg/runtime/8007320/ConstMethodTest.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -122,8 +122,8 @@
equal(ann.length, 3);
Annotation foo = ann[0][0];
Annotation bar = ann[1][0];
- equal(foo.toString(), "@Named(value=\"aName\")");
- equal(bar.toString(), "@Named(value=\"bName\")");
+ equal(foo.toString(), "@Named(\"aName\")");
+ equal(bar.toString(), "@Named(\"bName\")");
check(foo.equals(foo));
check(bar.equals(bar));
check(! foo.equals(bar));
--- a/test/jdk/java/lang/annotation/AnnotationToStringTest.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/jdk/java/lang/annotation/AnnotationToStringTest.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * 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
@@ -27,6 +27,9 @@
* @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.*;
@@ -62,22 +65,25 @@
@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,
@@ -90,7 +96,8 @@
l3=Integer.MIN_VALUE,
s0="Hello world.",
s1="a\"b",
- class0=Obj[].class
+ class0=Obj[].class,
+ classArray={Obj[].class}
)
static class PrimHost{}
@@ -107,33 +114,33 @@
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;
}
@@ -154,60 +161,60 @@
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;
}
}
@@ -285,6 +292,7 @@
@interface MostlyPrimitive {
char c0();
char c1();
+ byte b0();
int i0();
int i1();
float f0();
@@ -298,4 +306,5 @@
String s0();
String s1();
Class<?> class0();
+ Class<?>[] classArray();
}
--- a/test/jdk/java/lang/annotation/ParameterAnnotations.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/jdk/java/lang/annotation/ParameterAnnotations.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -89,8 +89,8 @@
equal(ann.length, 2);
Annotation foo = ann[0][0];
Annotation bar = ann[1][0];
- equal(foo.toString(), "@Named(value=\"foo\")");
- equal(bar.toString(), "@Named(value=\"bar\")");
+ equal(foo.toString(), "@Named(\"foo\")");
+ equal(bar.toString(), "@Named(\"bar\")");
check(foo.equals(foo));
check(! foo.equals(bar));
}
--- a/test/jdk/java/lang/annotation/TestConstructorParameterAnnotations.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/jdk/java/lang/annotation/TestConstructorParameterAnnotations.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 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
@@ -129,21 +129,21 @@
@ExpectedGetParameterAnnotations(
"[[], " +
- "[@TestConstructorParameterAnnotations$MarkerAnnotation(value=1)]]")
+ "[@TestConstructorParameterAnnotations$MarkerAnnotation(1)]]")
@ExpectedParameterAnnotations({
"null",
- "@TestConstructorParameterAnnotations$MarkerAnnotation(value=1)"})
+ "@TestConstructorParameterAnnotations$MarkerAnnotation(1)"})
public class NestedClass1 {
public NestedClass1(@MarkerAnnotation(1) int parameter) {}
}
@ExpectedGetParameterAnnotations(
"[[], " +
- "[@TestConstructorParameterAnnotations$MarkerAnnotation(value=2)], " +
+ "[@TestConstructorParameterAnnotations$MarkerAnnotation(2)], " +
"[]]")
@ExpectedParameterAnnotations({
"null",
- "@TestConstructorParameterAnnotations$MarkerAnnotation(value=2)",
+ "@TestConstructorParameterAnnotations$MarkerAnnotation(2)",
"null"})
public class NestedClass2 {
public NestedClass2(@MarkerAnnotation(2) int parameter1,
@@ -152,11 +152,11 @@
@ExpectedGetParameterAnnotations(
"[[], " +
- "[@TestConstructorParameterAnnotations$MarkerAnnotation(value=3)], " +
+ "[@TestConstructorParameterAnnotations$MarkerAnnotation(3)], " +
"[]]")
@ExpectedParameterAnnotations({
"null",
- "@TestConstructorParameterAnnotations$MarkerAnnotation(value=3)",
+ "@TestConstructorParameterAnnotations$MarkerAnnotation(3)",
"null"})
public class NestedClass3 {
public <P> NestedClass3(@MarkerAnnotation(3) P parameter1,
@@ -165,11 +165,11 @@
@ExpectedGetParameterAnnotations(
"[[], " +
- "[@TestConstructorParameterAnnotations$MarkerAnnotation(value=4)], " +
+ "[@TestConstructorParameterAnnotations$MarkerAnnotation(4)], " +
"[]]")
@ExpectedParameterAnnotations({
"null",
- "@TestConstructorParameterAnnotations$MarkerAnnotation(value=4)",
+ "@TestConstructorParameterAnnotations$MarkerAnnotation(4)",
"null"})
public class NestedClass4 {
public <P, Q> NestedClass4(@MarkerAnnotation(4) P parameter1,
@@ -183,18 +183,18 @@
}
@ExpectedGetParameterAnnotations(
- "[[@TestConstructorParameterAnnotations$MarkerAnnotation(value=1)]]")
+ "[[@TestConstructorParameterAnnotations$MarkerAnnotation(1)]]")
@ExpectedParameterAnnotations({
- "@TestConstructorParameterAnnotations$MarkerAnnotation(value=1)"})
+ "@TestConstructorParameterAnnotations$MarkerAnnotation(1)"})
public static class StaticNestedClass1 {
public StaticNestedClass1(@MarkerAnnotation(1) int parameter) {}
}
@ExpectedGetParameterAnnotations(
- "[[@TestConstructorParameterAnnotations$MarkerAnnotation(value=2)], " +
+ "[[@TestConstructorParameterAnnotations$MarkerAnnotation(2)], " +
"[]]")
@ExpectedParameterAnnotations({
- "@TestConstructorParameterAnnotations$MarkerAnnotation(value=2)",
+ "@TestConstructorParameterAnnotations$MarkerAnnotation(2)",
"null"})
public static class StaticNestedClass2 {
public StaticNestedClass2(@MarkerAnnotation(2) int parameter1,
@@ -202,10 +202,10 @@
}
@ExpectedGetParameterAnnotations(
- "[[@TestConstructorParameterAnnotations$MarkerAnnotation(value=3)], " +
+ "[[@TestConstructorParameterAnnotations$MarkerAnnotation(3)], " +
"[]]")
@ExpectedParameterAnnotations({
- "@TestConstructorParameterAnnotations$MarkerAnnotation(value=3)",
+ "@TestConstructorParameterAnnotations$MarkerAnnotation(3)",
"null"})
public static class StaticNestedClass3 {
public <P> StaticNestedClass3(@MarkerAnnotation(3) P parameter1,
@@ -213,10 +213,10 @@
}
@ExpectedGetParameterAnnotations(
- "[[@TestConstructorParameterAnnotations$MarkerAnnotation(value=4)], " +
+ "[[@TestConstructorParameterAnnotations$MarkerAnnotation(4)], " +
"[]]")
@ExpectedParameterAnnotations({
- "@TestConstructorParameterAnnotations$MarkerAnnotation(value=4)",
+ "@TestConstructorParameterAnnotations$MarkerAnnotation(4)",
"null"})
public static class StaticNestedClass4 {
public <P, Q> StaticNestedClass4(@MarkerAnnotation(4) P parameter1,
--- a/test/jdk/java/lang/annotation/typeAnnotations/TestConstructorParameterTypeAnnotations.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/jdk/java/lang/annotation/typeAnnotations/TestConstructorParameterTypeAnnotations.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 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
@@ -128,7 +128,7 @@
@ExpectedGetParameterAnnotations("[[], []]")
@ExpectedParameterTypeAnnotations({
"null",
- "@TestConstructorParameterTypeAnnotations$MarkerTypeAnnotation(value=1)"})
+ "@TestConstructorParameterTypeAnnotations$MarkerTypeAnnotation(1)"})
public class NestedClass1 {
public NestedClass1(@MarkerTypeAnnotation(1) int parameter) {}
}
@@ -136,7 +136,7 @@
@ExpectedGetParameterAnnotations("[[], [], []]")
@ExpectedParameterTypeAnnotations({
"null",
- "@TestConstructorParameterTypeAnnotations$MarkerTypeAnnotation(value=2)",
+ "@TestConstructorParameterTypeAnnotations$MarkerTypeAnnotation(2)",
"null"})
public class NestedClass2 {
public NestedClass2(@MarkerTypeAnnotation(2) int parameter1,
@@ -146,7 +146,7 @@
@ExpectedGetParameterAnnotations("[[], [], []]")
@ExpectedParameterTypeAnnotations({
"null",
- "@TestConstructorParameterTypeAnnotations$MarkerTypeAnnotation(value=3)",
+ "@TestConstructorParameterTypeAnnotations$MarkerTypeAnnotation(3)",
"null"})
public class NestedClass3 {
public <P> NestedClass3(@MarkerTypeAnnotation(3) P parameter1,
@@ -156,7 +156,7 @@
@ExpectedGetParameterAnnotations("[[], [], []]")
@ExpectedParameterTypeAnnotations({
"null",
- "@TestConstructorParameterTypeAnnotations$MarkerTypeAnnotation(value=4)",
+ "@TestConstructorParameterTypeAnnotations$MarkerTypeAnnotation(4)",
"null"})
public class NestedClass4 {
public <P, Q> NestedClass4(@MarkerTypeAnnotation(4) P parameter1,
@@ -171,14 +171,14 @@
@ExpectedGetParameterAnnotations("[[]]")
@ExpectedParameterTypeAnnotations({
- "@TestConstructorParameterTypeAnnotations$MarkerTypeAnnotation(value=1)"})
+ "@TestConstructorParameterTypeAnnotations$MarkerTypeAnnotation(1)"})
public static class StaticNestedClass1 {
public StaticNestedClass1(@MarkerTypeAnnotation(1) int parameter) {}
}
@ExpectedGetParameterAnnotations("[[], []]")
@ExpectedParameterTypeAnnotations({
- "@TestConstructorParameterTypeAnnotations$MarkerTypeAnnotation(value=2)",
+ "@TestConstructorParameterTypeAnnotations$MarkerTypeAnnotation(2)",
"null"})
public static class StaticNestedClass2 {
public StaticNestedClass2(@MarkerTypeAnnotation(2) int parameter1,
@@ -187,7 +187,7 @@
@ExpectedGetParameterAnnotations("[[], []]")
@ExpectedParameterTypeAnnotations({
- "@TestConstructorParameterTypeAnnotations$MarkerTypeAnnotation(value=3)",
+ "@TestConstructorParameterTypeAnnotations$MarkerTypeAnnotation(3)",
"null"})
public static class StaticNestedClass3 {
public <P> StaticNestedClass3(@MarkerTypeAnnotation(3) P parameter1,
@@ -196,7 +196,7 @@
@ExpectedGetParameterAnnotations("[[], []]")
@ExpectedParameterTypeAnnotations({
- "@TestConstructorParameterTypeAnnotations$MarkerTypeAnnotation(value=4)",
+ "@TestConstructorParameterTypeAnnotations$MarkerTypeAnnotation(4)",
"null"})
public static class StaticNestedClass4 {
public <P, Q> StaticNestedClass4(@MarkerTypeAnnotation(4) P parameter1,
--- a/test/jdk/java/lang/annotation/typeAnnotations/TestObjectMethods.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/jdk/java/lang/annotation/typeAnnotations/TestObjectMethods.java Thu Jun 13 11:50:45 2019 -0700
@@ -177,7 +177,7 @@
}
}
- private static final Pattern annotationRegex = Pattern.compile("@TestObjectMethods\\$AnnotType\\(value=(\\p{Digit})+\\)");
+ private static final Pattern annotationRegex = Pattern.compile("@TestObjectMethods\\$AnnotType\\((\\p{Digit})+\\)");
static void testGetAnnotations(Class<?> clazz, boolean annotationsExpectedOnMethods) {
System.err.println("Testing getAnnotations on methods of class " + clazz.getName());
--- a/test/langtools/tools/javac/annotations/repeatingAnnotations/combo/ReflectionTest.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/annotations/repeatingAnnotations/combo/ReflectionTest.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -193,12 +193,12 @@
enum TestCase {
BasicNonRepeatable_Legacy(
"@ExpectedBase(value=Foo.class, "
- + "getAnnotationVal = \"@Foo(value=0)\", "
- + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\"}, "
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\"}, "
- + "getDeclAnnoVal = \"@Foo(value=0)\", "
- + "getAnnosArgs = {\"@Foo(value=0)\"}, "
- + "getDeclAnnosArgs = {\"@Foo(value=0)\"}) ",
+ + "getAnnotationVal = \"@Foo(0)\", "
+ + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\"}, "
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\"}, "
+ + "getDeclAnnoVal = \"@Foo(0)\", "
+ + "getAnnosArgs = {\"@Foo(0)\"}, "
+ + "getDeclAnnosArgs = {\"@Foo(0)\"}) ",
"@ExpectedContainer") {
@Override
@@ -274,11 +274,11 @@
},
SingleAnnoInherited_Legacy(
"@ExpectedBase(value=Foo.class, "
- + "getAnnotationVal = \"@Foo(value=0)\", "
- + "getAnnotationsVals = {\"@Foo(value=0)\", \"ExpectedBase\", \"ExpectedContainer\"}, "
+ + "getAnnotationVal = \"@Foo(0)\", "
+ + "getAnnotationsVals = {\"@Foo(0)\", \"ExpectedBase\", \"ExpectedContainer\"}, "
+ "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\"}, "
+ "getDeclAnnoVal = \"NULL\", "
- + "getAnnosArgs = {\"@Foo(value=0)\"}, "
+ + "getAnnosArgs = {\"@Foo(0)\"}, "
+ "getDeclAnnosArgs = {})",
"@ExpectedContainer") {
@@ -401,18 +401,18 @@
},
AnnoOnSuperAndSubClass_Inherited_Legacy(
"@ExpectedBase(value=Foo.class, "
- + "getAnnotationVal = \"@Foo(value=2)\", "
- + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=2)\"}, "
+ + "getAnnotationVal = \"@Foo(2)\", "
+ + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(2)\"}, "
+ // override every annotation on superClass
- "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=2)\"}, "
+ "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(2)\"}, "
+ // ignores inherited annotations
- "getDeclAnnoVal = \"@Foo(value=2)\", " // ignores inherited
- + "getAnnosArgs = {\"@Foo(value=2)\"}, "
- + "getDeclAnnosArgs = { \"@Foo(value=2)\" })", // ignores inherited
+ "getDeclAnnoVal = \"@Foo(2)\", " // ignores inherited
+ + "getAnnosArgs = {\"@Foo(2)\"}, "
+ + "getDeclAnnosArgs = { \"@Foo(2)\" })", // ignores inherited
"@ExpectedContainer(value=FooContainer.class, "
+ "getAnnotationVal = \"NULL\", "
- + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=2)\"}, "
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=2)\"}, "
+ + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(2)\"}, "
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(2)\"}, "
+ // ignores inherited annotations
"getDeclAnnoVal = \"NULL\", " + // ignores inherited
"getAnnosArgs = {}, " + "getDeclAnnosArgs = {})") { // ignores inherited
@@ -481,19 +481,19 @@
}
},
BasicContainer_Legacy(
- "@ExpectedBase(value = Foo.class, "
+ "@ExpectedBase(value=Foo.class, "
+ "getAnnotationVal = \"NULL\","
- + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
+ + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ "getDeclAnnoVal = \"NULL\", " + "getAnnosArgs = {}, "
+ "getDeclAnnosArgs = {} )",
"@ExpectedContainer(value=FooContainer.class, "
- + "getAnnotationVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", "
- + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnoVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", "
- + "getAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"} )") {
+ + "getAnnotationVal = \"@FooContainer({@Foo(1), @Foo(2)})\", "
+ + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnoVal = \"@FooContainer({@Foo(1), @Foo(2)})\", "
+ + "getAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"} )") {
@Override
public Iterable<? extends JavaFileObject> getTestFiles(SrcType srcType,
@@ -580,24 +580,24 @@
}
},
SingleAndContainerOnSuper_Legacy(
- "@ExpectedBase(value = Foo.class, "
- + "getAnnotationVal = \"@Foo(value=0)\","
+ "@ExpectedBase(value=Foo.class, "
+ + "getAnnotationVal = \"@Foo(0)\","
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ "getDeclAnnosVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnoVal = \"@Foo(value=0)\", "
- + "getAnnosArgs = {\"@Foo(value=0)\"}, "
- + "getDeclAnnosArgs = {\"@Foo(value=0)\"} )",
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnoVal = \"@Foo(0)\", "
+ + "getAnnosArgs = {\"@Foo(0)\"}, "
+ + "getDeclAnnosArgs = {\"@Foo(0)\"} )",
"@ExpectedContainer(value=FooContainer.class, "
- + "getAnnotationVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", "
+ + "getAnnotationVal = \"@FooContainer({@Foo(1), @Foo(2)})\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ "getDeclAnnosVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnoVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", "
- + "getAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"} )") {
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnoVal = \"@FooContainer({@Foo(1), @Foo(2)})\", "
+ + "getAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"} )") {
@Override
public Iterable<? extends JavaFileObject> getTestFiles(SrcType srcType,
@@ -689,19 +689,19 @@
}
},
BasicContainer_Inherited_Legacy(
- "@ExpectedBase(value = Foo.class, "
+ "@ExpectedBase(value=Foo.class, "
+ "getAnnotationVal = \"NULL\","
- + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
+ + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\"}, "
+ "getDeclAnnoVal = \"NULL\", "
+ "getAnnosArgs = {}, "
+ "getDeclAnnosArgs = {} )",
"@ExpectedContainer(value=FooContainer.class, "
- + "getAnnotationVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", "
- + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
+ + "getAnnotationVal = \"@FooContainer({@Foo(1), @Foo(2)})\", "
+ + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\"}, "
+ "getDeclAnnoVal = \"NULL\", "
- + "getAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
+ + "getAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ "getDeclAnnosArgs = {} )") {
@Override
@@ -763,20 +763,20 @@
},
ContainerOnSuperSingleOnSub_Inherited_Legacy(
"@ExpectedBase(value=Foo.class, "
- + "getAnnotationVal = \"@Foo(value=0)\", "
+ + "getAnnotationVal = \"@Foo(0)\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", \"@Foo(value=0)\"}, "
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\"},"
- + "getDeclAnnoVal = \"@Foo(value=0)\","
- + "getAnnosArgs = {\"@Foo(value=0)\"},"
- + "getDeclAnnosArgs = {\"@Foo(value=0)\"})",
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\", \"@Foo(0)\"}, "
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\"},"
+ + "getDeclAnnoVal = \"@Foo(0)\","
+ + "getAnnosArgs = {\"@Foo(0)\"},"
+ + "getDeclAnnosArgs = {\"@Foo(0)\"})",
"@ExpectedContainer(value=FooContainer.class, "
- + "getAnnotationVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", "
+ + "getAnnotationVal = \"@FooContainer({@Foo(1), @Foo(2)})\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", \"@Foo(value=0)\"}, "
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\"},"
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\", \"@Foo(0)\"}, "
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\"},"
+ "getDeclAnnoVal = \"NULL\","
- + "getAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
+ + "getAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ "getDeclAnnosArgs = {})") {
@Override
@@ -842,20 +842,20 @@
// fail with ordering issues
ContainerAndSingleOnSuperSingleOnSub_Inherited_Legacy(
"@ExpectedBase(value=Foo.class, "
- + "getAnnotationVal = \"@Foo(value=0)\", "
+ + "getAnnotationVal = \"@Foo(0)\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", \"@Foo(value=0)\"}, "
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\"},"
- + "getDeclAnnoVal = \"@Foo(value=0)\","
- + "getAnnosArgs = {\"@Foo(value=0)\"},"
- + "getDeclAnnosArgs = {\"@Foo(value=0)\"})",
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\", \"@Foo(0)\"}, "
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\"},"
+ + "getDeclAnnoVal = \"@Foo(0)\","
+ + "getAnnosArgs = {\"@Foo(0)\"},"
+ + "getDeclAnnosArgs = {\"@Foo(0)\"})",
"@ExpectedContainer(value=FooContainer.class, "
- + "getAnnotationVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", "
+ + "getAnnotationVal = \"@FooContainer({@Foo(1), @Foo(2)})\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", \"@Foo(value=0)\"}, "
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\"},"
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\", \"@Foo(0)\"}, "
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\"},"
+ "getDeclAnnoVal = \"NULL\","
- + "getAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
+ + "getAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ "getDeclAnnosArgs = {})") {
@Override
@@ -921,21 +921,21 @@
// fail with ordering issues
SingleOnSuperContainerOnSub_Inherited_Legacy(
"@ExpectedBase(value=Foo.class, "
- + "getAnnotationVal = \"@Foo(value=0)\", "
+ + "getAnnotationVal = \"@Foo(0)\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ "getDeclAnnoVal = \"NULL\","
- + "getAnnosArgs = {\"@Foo(value=0)\"},"
+ + "getAnnosArgs = {\"@Foo(0)\"},"
+ "getDeclAnnosArgs = {})",
"@ExpectedContainer(value=FooContainer.class, "
- + "getAnnotationVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", "
+ + "getAnnotationVal = \"@FooContainer({@Foo(1), @Foo(2)})\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
- + "getDeclAnnoVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\","
- + "getAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
- + "getDeclAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"})") {
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ + "getDeclAnnoVal = \"@FooContainer({@Foo(1), @Foo(2)})\","
+ + "getAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ + "getDeclAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"})") {
@Override
public Iterable<? extends JavaFileObject> getTestFiles(SrcType srcType,
@@ -998,23 +998,23 @@
// fail with ordering issues
SingleOnSuperContainerAndSingleOnSub_Inherited_Legacy(
"@ExpectedBase(value=Foo.class, "
- + "getAnnotationVal = \"@Foo(value=3)\", "
+ + "getAnnotationVal = \"@Foo(3)\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", \"@Foo(value=3)\"}, "
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\", \"@Foo(3)\"}, "
+ "getDeclAnnosVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", \"@Foo(value=3)\"},"
- + "getDeclAnnoVal = \"@Foo(value=3)\","
- + "getAnnosArgs = {\"@Foo(value=3)\"},"
- + "getDeclAnnosArgs = {\"@Foo(value=3)\"})",
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\", \"@Foo(3)\"},"
+ + "getDeclAnnoVal = \"@Foo(3)\","
+ + "getAnnosArgs = {\"@Foo(3)\"},"
+ + "getDeclAnnosArgs = {\"@Foo(3)\"})",
"@ExpectedContainer(value=FooContainer.class, "
- + "getAnnotationVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", "
+ + "getAnnotationVal = \"@FooContainer({@Foo(1), @Foo(2)})\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", \"@Foo(value=3)\"}, "
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\", \"@Foo(3)\"}, "
+ "getDeclAnnosVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", \"@Foo(value=3)\"},"
- + "getDeclAnnoVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\","
- + "getAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
- + "getDeclAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"})") {
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\", \"@Foo(3)\"},"
+ + "getDeclAnnoVal = \"@FooContainer({@Foo(1), @Foo(2)})\","
+ + "getAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ + "getDeclAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"})") {
@Override
public Iterable<? extends JavaFileObject> getTestFiles(SrcType srcType,
@@ -1077,18 +1077,18 @@
BasicRepeatable(
"@ExpectedBase(value=Foo.class, "
+ "getAnnotationVal = \"NULL\", "
- + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\" }, "
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
+ + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\" }, "
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ "getDeclAnnoVal = \"NULL\","
- + "getAnnosArgs = {\"@Foo(value=1)\", \"@Foo(value=2)\"},"
- + "getDeclAnnosArgs = {\"@Foo(value=1)\", \"@Foo(value=2)\"})",
+ + "getAnnosArgs = {\"@Foo(1)\", \"@Foo(2)\"},"
+ + "getDeclAnnosArgs = {\"@Foo(1)\", \"@Foo(2)\"})",
"@ExpectedContainer(value=FooContainer.class, "
- + "getAnnotationVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\","
- + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnoVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\","
- + "getAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
- + "getDeclAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"} )") {
+ + "getAnnotationVal = \"@FooContainer({@Foo(1), @Foo(2)})\","
+ + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnoVal = \"@FooContainer({@Foo(1), @Foo(2)})\","
+ + "getAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ + "getDeclAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"} )") {
@Override
public Iterable<? extends JavaFileObject> getTestFiles(SrcType srcType,
@@ -1179,21 +1179,21 @@
"@ExpectedBase(value=Foo.class, "
+ "getAnnotationVal = \"NULL\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ "getDeclAnnosVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ "getDeclAnnoVal = \"NULL\","
- + "getAnnosArgs = {\"@Foo(value=1)\", \"@Foo(value=2)\"},"
- + "getDeclAnnosArgs = {\"@Foo(value=1)\", \"@Foo(value=2)\"})",
+ + "getAnnosArgs = {\"@Foo(1)\", \"@Foo(2)\"},"
+ + "getDeclAnnosArgs = {\"@Foo(1)\", \"@Foo(2)\"})",
"@ExpectedContainer(value=FooContainer.class, "
- + "getAnnotationVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\","
+ + "getAnnotationVal = \"@FooContainer({@Foo(1), @Foo(2)})\","
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ "getDeclAnnosVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnoVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\","
- + "getAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
- + "getDeclAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"} )") {
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnoVal = \"@FooContainer({@Foo(1), @Foo(2)})\","
+ + "getAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ + "getDeclAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"} )") {
@Override
public Iterable<? extends JavaFileObject> getTestFiles(SrcType srcType,
@@ -1283,17 +1283,17 @@
BasicContainerRepeatable_Inherited(
"@ExpectedBase(value=Foo.class, "
+ "getAnnotationVal = \"NULL\", "
- + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
+ + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\"}, "
+ "getDeclAnnoVal = \"NULL\", "
- + "getAnnosArgs = {\"@Foo(value=1)\", \"@Foo(value=2)\"}, "
+ + "getAnnosArgs = {\"@Foo(1)\", \"@Foo(2)\"}, "
+ "getDeclAnnosArgs = {})",
"@ExpectedContainer(value=FooContainer.class, "
- + "getAnnotationVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", "
- + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
+ + "getAnnotationVal = \"@FooContainer({@Foo(1), @Foo(2)})\", "
+ + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ "getDeclAnnosVals = { \"ExpectedBase\", \"ExpectedContainer\"}, "
+ "getDeclAnnoVal = \"NULL\", "
- + "getAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
+ + "getAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ "getDeclAnnosArgs = {})") {
@Override
@@ -1356,21 +1356,21 @@
RepeatableAnnoInherited(
"@ExpectedBase(value=Foo.class, "
+ "getAnnotationVal = \"NULL\", "
- + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
+ + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\"}, "
+ // ignores inherited annotations
"getDeclAnnoVal = \"NULL\", "
+ // ignores inherited
- "getAnnosArgs = {\"@Foo(value=1)\", \"@Foo(value=2)\"}, "
+ "getAnnosArgs = {\"@Foo(1)\", \"@Foo(2)\"}, "
+ "getDeclAnnosArgs = {})", // ignores inherited
"@ExpectedContainer(value=FooContainer.class, "
- + "getAnnotationVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", "
- + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
+ + "getAnnotationVal = \"@FooContainer({@Foo(1), @Foo(2)})\", "
+ + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ "getDeclAnnosVals = { \"ExpectedBase\", \"ExpectedContainer\"}, "
+ // ignores inherited annotations
"getDeclAnnoVal = \"NULL\", "
+ // ignores inherited
- "getAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
+ "getAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ "getDeclAnnosArgs = {})") { // ignores inherited
@Override
@@ -1434,23 +1434,23 @@
// fail with ordering issues
SingleAnnoWithContainer(
"@ExpectedBase(value=Foo.class, "
- + "getAnnotationVal = \"@Foo(value=0)\", "
+ + "getAnnotationVal = \"@Foo(0)\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\", \"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ "getDeclAnnosVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
- + "getDeclAnnoVal = \"@Foo(value=0)\","
- + "getAnnosArgs = {\"@Foo(value=0)\", \"@Foo(value=1)\", \"@Foo(value=2)\"},"
- + "getDeclAnnosArgs = {\"@Foo(value=0)\", \"@Foo(value=1)\",\"@Foo(value=2)\"})",
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\", \"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ + "getDeclAnnoVal = \"@Foo(0)\","
+ + "getAnnosArgs = {\"@Foo(0)\", \"@Foo(1)\", \"@Foo(2)\"},"
+ + "getDeclAnnosArgs = {\"@Foo(0)\", \"@Foo(1)\",\"@Foo(2)\"})",
"@ExpectedContainer(value=FooContainer.class, "
- + "getAnnotationVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", "
+ + "getAnnotationVal = \"@FooContainer({@Foo(1), @Foo(2)})\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\", \"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ "getDeclAnnosVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnoVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\","
- + "getDeclAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
- + "getAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"})") {
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnoVal = \"@FooContainer({@Foo(1), @Foo(2)})\","
+ + "getDeclAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ + "getAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"})") {
@Override
public Iterable<? extends JavaFileObject> getTestFiles(SrcType srcType,
@@ -1543,18 +1543,18 @@
},
AnnoOnSuperAndSubClass_Inherited(
"@ExpectedBase(value=Foo.class, "
- + "getAnnotationVal = \"@Foo(value=1)\", "
- + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=1)\" }, "
+ + "getAnnotationVal = \"@Foo(1)\", "
+ + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(1)\" }, "
+ // override every annotation on superClass
- "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=1)\"}, "
+ "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(1)\"}, "
+ // ignores inherited annotations
- "getDeclAnnoVal = \"@Foo(value=1)\", " // ignores inherited
- + "getAnnosArgs = {\"@Foo(value=1)\"}, "
- + "getDeclAnnosArgs = { \"@Foo(value=1)\" })", // ignores inherited
+ "getDeclAnnoVal = \"@Foo(1)\", " // ignores inherited
+ + "getAnnosArgs = {\"@Foo(1)\"}, "
+ + "getDeclAnnosArgs = { \"@Foo(1)\" })", // ignores inherited
"@ExpectedContainer(value=FooContainer.class, "
+ "getAnnotationVal = \"NULL\", "
- + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=1)\" }, "
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=1)\"}, "
+ + "getAnnotationsVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(1)\" }, "
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(1)\"}, "
+ // ignores inherited annotations
"getDeclAnnoVal = \"NULL\", " + // ignores inherited
"getAnnosArgs = {}, " + "getDeclAnnosArgs = {})") {
@@ -1622,23 +1622,23 @@
// fail with ordering issues
RepeatableOnSuperSingleOnSub_Inherited(
"@ExpectedBase(value=Foo.class, "
- + "getAnnotationVal = \"@Foo(value=3)\", "
+ + "getAnnotationVal = \"@Foo(3)\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=3)\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(3)\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ //override every annotation on superClass
- "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=3)\"}, "
+ "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(3)\"}, "
+ // ignores inherited annotations
- "getDeclAnnoVal = \"@Foo(value=3)\", " // ignores inherited
- + "getAnnosArgs = {\"@Foo(value=3)\"}, "
- + "getDeclAnnosArgs = { \"@Foo(value=3)\" })", // ignores inherited
+ "getDeclAnnoVal = \"@Foo(3)\", " // ignores inherited
+ + "getAnnosArgs = {\"@Foo(3)\"}, "
+ + "getDeclAnnosArgs = { \"@Foo(3)\" })", // ignores inherited
"@ExpectedContainer(value=FooContainer.class, "
- + "getAnnotationVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", "
+ + "getAnnotationVal = \"@FooContainer({@Foo(1), @Foo(2)})\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=3)\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=3)\"}, "
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(3)\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(3)\"}, "
+ // ignores inherited annotations
"getDeclAnnoVal = \"NULL\", "
- + "getAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
+ + "getAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ "getDeclAnnosArgs = {}) // ignores inherited ") {
@Override
@@ -1702,24 +1702,24 @@
// fail with ordering issues
SingleOnSuperRepeatableOnSub_Inherited(
"@ExpectedBase(value=Foo.class, "
- + "getAnnotationVal = \"@Foo(value=0)\", "
+ + "getAnnotationVal = \"@Foo(0)\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ //override every annotation on superClass
- "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
+ "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ // ignores inherited annotations
"getDeclAnnoVal = \"NULL\","// ignores inherited
- + "getAnnosArgs = {\"@Foo(value=1)\", \"@Foo(value=2)\"}, "
- + "getDeclAnnosArgs = { \"@Foo(value=1)\", \"@Foo(value=2)\"})",
+ + "getAnnosArgs = {\"@Foo(1)\", \"@Foo(2)\"}, "
+ + "getDeclAnnosArgs = { \"@Foo(1)\", \"@Foo(2)\"})",
"@ExpectedContainer(value=FooContainer.class, "
- + "getAnnotationVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", "
+ + "getAnnotationVal = \"@FooContainer({@Foo(1), @Foo(2)})\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ // ignores inherited annotations
- "getDeclAnnoVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", "// ignores inherited
- + "getAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"})") {
+ "getDeclAnnoVal = \"@FooContainer({@Foo(1), @Foo(2)})\", "// ignores inherited
+ + "getAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"})") {
@Override
public Iterable<? extends JavaFileObject> getTestFiles(SrcType srcType,
@@ -1783,20 +1783,20 @@
// fail with ordering issues
ContainerOnSuperSingleOnSub_Inherited(
"@ExpectedBase(value=Foo.class, "
- + "getAnnotationVal = \"@Foo(value=0)\", "
+ + "getAnnotationVal = \"@Foo(0)\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\"},"
- + "getDeclAnnoVal = \"@Foo(value=0)\","
- + "getAnnosArgs = {\"@Foo(value=0)\"},"
- + "getDeclAnnosArgs = {\"@Foo(value=0)\"})",
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\"},"
+ + "getDeclAnnoVal = \"@Foo(0)\","
+ + "getAnnosArgs = {\"@Foo(0)\"},"
+ + "getDeclAnnosArgs = {\"@Foo(0)\"})",
"@ExpectedContainer(value=FooContainer.class, "
- + "getAnnotationVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", "
+ + "getAnnotationVal = \"@FooContainer({@Foo(1), @Foo(2)})\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\"},"
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\"},"
+ "getDeclAnnoVal = \"NULL\","
- + "getAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
+ + "getAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ "getDeclAnnosArgs = {})") {
@Override
@@ -1861,21 +1861,21 @@
// fail with ordering issues
SingleOnSuperContainerOnSub_Inherited(
"@ExpectedBase(value=Foo.class, "
- + "getAnnotationVal = \"@Foo(value=0)\", "
+ + "getAnnotationVal = \"@Foo(0)\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ "getDeclAnnoVal = \"NULL\","
- + "getAnnosArgs = {\"@Foo(value=1)\", \"@Foo(value=2)\"},"
- + "getDeclAnnosArgs = {\"@Foo(value=1)\", \"@Foo(value=2)\"})",
+ + "getAnnosArgs = {\"@Foo(1)\", \"@Foo(2)\"},"
+ + "getDeclAnnosArgs = {\"@Foo(1)\", \"@Foo(2)\"})",
"@ExpectedContainer(value=FooContainer.class, "
- + "getAnnotationVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", "
+ + "getAnnotationVal = \"@FooContainer({@Foo(1), @Foo(2)})\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
- + "getDeclAnnoVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\","
- + "getAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
- + "getDeclAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"})") {
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ + "getDeclAnnoVal = \"@FooContainer({@Foo(1), @Foo(2)})\","
+ + "getAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ + "getDeclAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"})") {
@Override
public Iterable<? extends JavaFileObject> getTestFiles(SrcType srcType,
@@ -1939,23 +1939,23 @@
// fail with ordering issues
SingleOnSuperContainerAndSingleOnSub_Inherited(
"@ExpectedBase(value=Foo.class, "
- + "getAnnotationVal = \"@Foo(value=3)\", "
+ + "getAnnotationVal = \"@Foo(3)\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", \"@Foo(value=3)\"}, "
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\", \"@Foo(3)\"}, "
+ "getDeclAnnosVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", \"@Foo(value=3)\"},"
- + "getDeclAnnoVal = \"@Foo(value=3)\","
- + "getAnnosArgs = {\"@Foo(value=1)\", \"@Foo(value=2)\", \"@Foo(value=3)\"},"
- + "getDeclAnnosArgs = {\"@Foo(value=1)\", \"@Foo(value=2)\", \"@Foo(value=3)\"})",
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\", \"@Foo(3)\"},"
+ + "getDeclAnnoVal = \"@Foo(3)\","
+ + "getAnnosArgs = {\"@Foo(1)\", \"@Foo(2)\", \"@Foo(3)\"},"
+ + "getDeclAnnosArgs = {\"@Foo(1)\", \"@Foo(2)\", \"@Foo(3)\"})",
"@ExpectedContainer(value=FooContainer.class, "
- + "getAnnotationVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", "
+ + "getAnnotationVal = \"@FooContainer({@Foo(1), @Foo(2)})\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", \"@Foo(value=3)\"}, "
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\", \"@Foo(3)\"}, "
+ "getDeclAnnosVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", \"@Foo(value=3)\"},"
- + "getDeclAnnoVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\","
- + "getAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
- + "getDeclAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"})") {
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer({@Foo(1), @Foo(2)})\", \"@Foo(3)\"},"
+ + "getDeclAnnoVal = \"@FooContainer({@Foo(1), @Foo(2)})\","
+ + "getAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ + "getDeclAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"})") {
@Override
public Iterable<? extends JavaFileObject> getTestFiles(SrcType srcType,
@@ -2019,20 +2019,20 @@
// fail with ordering issues
ContainerAndSingleOnSuperSingleOnSub_Inherited(
"@ExpectedBase(value=Foo.class, "
- + "getAnnotationVal = \"@Foo(value=0)\", "
+ + "getAnnotationVal = \"@Foo(0)\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\"},"
- + "getDeclAnnoVal = \"@Foo(value=0)\","
- + "getAnnosArgs = {\"@Foo(value=0)\"},"
- + "getDeclAnnosArgs = {\"@Foo(value=0)\"})",
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\"},"
+ + "getDeclAnnoVal = \"@Foo(0)\","
+ + "getAnnosArgs = {\"@Foo(0)\"},"
+ + "getDeclAnnosArgs = {\"@Foo(0)\"})",
"@ExpectedContainer(value=FooContainer.class, "
- + "getAnnotationVal = \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\", "
+ + "getAnnotationVal = \"@FooContainer({@Foo(1), @Foo(2)})\", "
+ "getAnnotationsVals = {"
- + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"}, "
- + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\"},"
+ + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\", \"@FooContainer({@Foo(1), @Foo(2)})\"}, "
+ + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(0)\"},"
+ "getDeclAnnoVal = \"NULL\","
- + "getAnnosArgs = {\"@FooContainer(value={@Foo(value=1), @Foo(value=2)})\"},"
+ + "getAnnosArgs = {\"@FooContainer({@Foo(1), @Foo(2)})\"},"
+ "getDeclAnnosArgs = {})") {
@Override
--- a/test/langtools/tools/javac/annotations/typeAnnotations/classfile/AnonymousExtendsTest.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/annotations/typeAnnotations/classfile/AnonymousExtendsTest.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * 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
@@ -52,10 +52,10 @@
public void testIt() {
checkAnnotations(TestClass.class.getAnnotatedSuperclass(),
- "[@AnonymousExtendsTest$TA(value=1)],[@AnonymousExtendsTest$TA(value=2)]");
+ "[@AnonymousExtendsTest$TA(1)],[@AnonymousExtendsTest$TA(2)]");
checkAnnotations(new @TA(3) ArrayList<@TA(4) List<Number>>() {
}.getClass().getAnnotatedSuperclass(),
- "[@AnonymousExtendsTest$TA(value=3)],[@AnonymousExtendsTest$TA(value=4)]");
+ "[@AnonymousExtendsTest$TA(3)],[@AnonymousExtendsTest$TA(4)]");
}
public void checkAnnotations(AnnotatedType type, String expected) {
@@ -74,4 +74,4 @@
public static void main(String[] args) {
new AnonymousExtendsTest().testIt();
}
-}
\ No newline at end of file
+}
--- a/test/langtools/tools/javac/modules/AnnotationsOnModules.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/modules/AnnotationsOnModules.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * 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
@@ -609,11 +609,11 @@
new TestCase("package test; public enum E {A, B;}",
"public E value();",
"test.E.A",
- "@test.A(test.E.A)"),
+ "@test.A(A)"),
new TestCase("package test; public enum E {A, B;}",
"public E[] value();",
"{test.E.A, test.E.B}",
- "@test.A({test.E.A, test.E.B})"),
+ "@test.A({A, B})"),
new TestCase("package test; public class Extra {}",
"public Class value();",
"test.Extra.class",
@@ -641,7 +641,7 @@
new TestCase("package test; public enum E {A;}",
"int integer(); boolean flag(); double value(); String string(); E enumeration(); ",
"enumeration = test.E.A, integer = 42, flag = true, value = 3.5, string = \"Text\"",
- "@test.A(enumeration=test.E.A, integer=42, flag=true, value=3.5, string=\"Text\")"),
+ "@test.A(enumeration=A, integer=42, flag=true, value=3.5, string=\"Text\")"),
};
Path extraSrc = base.resolve("extra-src");
--- a/test/langtools/tools/javac/processing/messager/6388543/T6388543.out Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/messager/6388543/T6388543.out Thu Jun 13 11:50:45 2019 -0700
@@ -7,9 +7,9 @@
T6388543.java:33:16: compiler.note.proc.messager: note:value @A({4, 5}) + {4, 5}
T6388543.java:33:17: compiler.note.proc.messager: note:value @A({4, 5}) + 4
T6388543.java:33:20: compiler.note.proc.messager: note:value @A({4, 5}) + 5
-T6388543.java:36:12: compiler.note.proc.messager: note:value @B(x=@C(x=E.ONE, y=E.TWO), y=@C(x=E.ONE, y=E.TWO)) + @C(x=E.ONE, y=E.TWO)
-T6388543.java:36:20: compiler.note.proc.messager: note:value @B(x=@C(x=E.ONE, y=E.TWO), y=@C(x=E.ONE, y=E.TWO)) + E.ONE
-T6388543.java:36:31: compiler.note.proc.messager: note:value @B(x=@C(x=E.ONE, y=E.TWO), y=@C(x=E.ONE, y=E.TWO)) + E.TWO
-T6388543.java:36:42: compiler.note.proc.messager: note:value @B(x=@C(x=E.ONE, y=E.TWO), y=@C(x=E.ONE, y=E.TWO)) + @C(x=E.ONE, y=E.TWO)
-T6388543.java:36:50: compiler.note.proc.messager: note:value @B(x=@C(x=E.ONE, y=E.TWO), y=@C(x=E.ONE, y=E.TWO)) + E.ONE
-T6388543.java:36:61: compiler.note.proc.messager: note:value @B(x=@C(x=E.ONE, y=E.TWO), y=@C(x=E.ONE, y=E.TWO)) + E.TWO
+T6388543.java:36:12: compiler.note.proc.messager: note:value @B(x=@C(x=ONE, y=TWO), y=@C(x=ONE, y=TWO)) + @C(x=ONE, y=TWO)
+T6388543.java:36:20: compiler.note.proc.messager: note:value @B(x=@C(x=ONE, y=TWO), y=@C(x=ONE, y=TWO)) + ONE
+T6388543.java:36:31: compiler.note.proc.messager: note:value @B(x=@C(x=ONE, y=TWO), y=@C(x=ONE, y=TWO)) + TWO
+T6388543.java:36:42: compiler.note.proc.messager: note:value @B(x=@C(x=ONE, y=TWO), y=@C(x=ONE, y=TWO)) + @C(x=ONE, y=TWO)
+T6388543.java:36:50: compiler.note.proc.messager: note:value @B(x=@C(x=ONE, y=TWO), y=@C(x=ONE, y=TWO)) + ONE
+T6388543.java:36:61: compiler.note.proc.messager: note:value @B(x=@C(x=ONE, y=TWO), y=@C(x=ONE, y=TWO)) + TWO
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/tools/javac/processing/model/element/AnnotationToStringTest.java Thu Jun 13 11:50:45 2019 -0700
@@ -0,0 +1,405 @@
+/*
+ * 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.
+ *
+ * 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 8164819
+ * @summary Test of toString on normal annotations
+ * @library /tools/javac/lib
+ * @build JavacTestingAbstractProcessor AnnotationToStringTest
+ * @compile -processor AnnotationToStringTest -proc:only AnnotationToStringTest.java
+ */
+
+// See also the sibling core reflection test
+// test/jdk/java/lang/annotation/AnnotationToStringTest.java
+
+import java.lang.annotation.*;
+import java.lang.reflect.*;
+import java.util.*;
+import javax.annotation.processing.*;
+import javax.lang.model.AnnotatedConstruct;
+import javax.lang.model.element.*;
+import javax.lang.model.util.*;
+
+/**
+ * The expected string values are stored in @ExpectedString
+ * annotations. The essence of the test is comparing the toString()
+ * result of annotations to the corresponding ExpectedString.value().
+ *
+ * Two flavors of comparison are made:
+ *
+ * 1) Against the AnnotationMirror value from getAnnotationMirrors()
+ *
+ * 2) Against the *Annotation* from getAnnotation(Class<A>)
+ *
+ * These have separate but related implementations.
+ */
+public class AnnotationToStringTest extends JavacTestingAbstractProcessor {
+ public boolean process(Set<? extends TypeElement> annotations,
+ RoundEnvironment roundEnv) {
+ if (!roundEnv.processingOver()) {
+
+ int failures = 0;
+
+ TypeElement primHostElt =
+ Objects.requireNonNull(elements.getTypeElement("AnnotationToStringTest.PrimHost"));
+
+ List<? extends AnnotationMirror> annotMirrors = primHostElt.getAnnotationMirrors();
+
+ String expectedString = primHostElt.getAnnotation(MostlyPrimitive.class).toString();
+
+ failures += check(expectedString,
+ primHostElt.getAnnotation(ExpectedString.class).value());
+
+ failures += check(expectedString,
+ retrieveAnnotationMirrorAsString(primHostElt,
+ "MostlyPrimitive"));
+ failures += classyTest();
+ failures += arrayAnnotationTest();
+
+ if (failures > 0)
+ throw new RuntimeException(failures + " failures");
+ }
+ return true;
+ }
+
+ /**
+ * Examine annotation mirrors, find the one that matches
+ * annotationName, and return its toString value.
+ */
+ private String retrieveAnnotationMirrorAsString(AnnotatedConstruct annotated,
+ String annotationName) {
+ return retrieveAnnotationMirror(annotated, annotationName).toString();
+ }
+
+ private String retrieveAnnotationMirrorValue(AnnotatedConstruct annotated,
+ String annotationName) {
+ AnnotationMirror annotationMirror =
+ retrieveAnnotationMirror(annotated, annotationName);
+ for (var entry : annotationMirror.getElementValues().entrySet()) {
+ if (entry.getKey().getSimpleName().contentEquals("value")) {
+ return entry.getValue().toString();
+ }
+ }
+ throw new RuntimeException("Annotation value() method not found: " +
+ annotationMirror.toString());
+ }
+
+ private AnnotationMirror retrieveAnnotationMirror(AnnotatedConstruct annotated,
+ String annotationName) {
+ for (AnnotationMirror annotationMirror : annotated.getAnnotationMirrors()) {
+ System.out.println(annotationMirror.getAnnotationType());
+ if (annotationMirror
+ .getAnnotationType()
+ .toString()
+ .equals(annotationName) ) {
+ return annotationMirror;
+ }
+ }
+ throw new RuntimeException("Annotation " + annotationName + " not found.");
+ }
+
+ private static int check(String expected, String actual) {
+ if (!expected.equals(actual)) {
+ System.err.printf("ERROR: Expected ''%s'';%ngot ''%s''.\n",
+ expected, actual);
+ return 1;
+ } else
+ return 0;
+ }
+
+ @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=5L, " +
+ "l1=9223372036854775807L, " +
+ "l2=-9223372036854775808L, " +
+ "l3=-2147483648L, " +
+ "s0=\"Hello world.\", " +
+ "s1=\"a\\\"b\", " +
+ "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,
+ d1=2.0/0.0,
+ l0=5,
+ l1=Long.MAX_VALUE,
+ l2=Long.MIN_VALUE,
+ l3=Integer.MIN_VALUE,
+ s0="Hello world.",
+ s1="a\"b",
+ class0=Obj[].class,
+ classArray={Obj[].class}
+ )
+ static class PrimHost{}
+
+ private int classyTest() {
+ int failures = 0;
+
+ TypeElement annotationHostElt =
+ Objects.requireNonNull(elements.getTypeElement("AnnotationToStringTest.AnnotationHost"));
+
+ for (VariableElement f : ElementFilter.fieldsIn(annotationHostElt.getEnclosedElements())) {
+ String expected = f.getAnnotation(ExpectedString.class).value();
+ Annotation a = f.getAnnotation(Classy.class);
+
+ System.out.println(a);
+ failures += check(expected, a.toString());
+
+ failures += check(expected,
+ retrieveAnnotationMirrorAsString(f, "Classy") );
+ }
+ return failures;
+ }
+
+ static class AnnotationHost {
+ @ExpectedString(
+ "@Classy(Obj.class)")
+ @Classy(Obj.class)
+ public int f0;
+
+ @ExpectedString(
+ "@Classy(Obj[].class)")
+ @Classy(Obj[].class)
+ public int f1;
+
+ @ExpectedString(
+ "@Classy(Obj[][].class)")
+ @Classy(Obj[][].class)
+ public int f2;
+
+ @ExpectedString(
+ "@Classy(Obj[][][].class)")
+ @Classy(Obj[][][].class)
+ public int f3;
+
+ @ExpectedString(
+ "@Classy(int.class)")
+ @Classy(int.class)
+ public int f4;
+
+ @ExpectedString(
+ "@Classy(int[][][].class)")
+ @Classy(int[][][].class)
+ public int f5;
+ }
+
+ /**
+ * Each field should have two annotations, the first being
+ * @ExpectedString and the second the annotation under test.
+ */
+ private int arrayAnnotationTest() {
+ int failures = 0;
+
+ TypeElement arrayAnnotationHostElt =
+ Objects.requireNonNull(elements
+ .getTypeElement("AnnotationToStringTest.ArrayAnnotationHost"));
+
+ for (VariableElement f :
+ ElementFilter.fieldsIn(arrayAnnotationHostElt.getEnclosedElements())) {
+ var annotations = f.getAnnotationMirrors();
+ // String expected = retrieveAnnotationMirrorValue(f, "ExpectedString");
+ String expected = f.getAnnotation(ExpectedString.class).value();
+
+ // Problem with
+ // Need a de-quote method...
+ // expected = expected.substring(1, expected.length() - 1);
+
+ failures +=
+ check(expected,
+ annotations.get(1).toString());
+
+ // Get the array-valued annotation as an annotation
+ failures +=
+ check(expected,
+ retrieveAnnotationMirrorAsString(f,
+ annotations.get(1)
+ .getAnnotationType().toString()));
+ }
+ return failures;
+ }
+
+ static class ArrayAnnotationHost {
+ @ExpectedString(
+ "@BooleanArray({true, false, true})")
+ @BooleanArray({true, false, true})
+ public boolean[] f0;
+
+ @ExpectedString(
+ "@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({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({(byte)0x0a, (byte)0x0b, (byte)0x0c})")
+ @ByteArray({10, 11, 12})
+ public byte[] f3;
+
+ @ExpectedString(
+ "@ShortArray({0, 4, 5})")
+ @ShortArray({0, 4, 5})
+ public short[] f4;
+
+ @ExpectedString(
+ "@CharArray({'a', 'b', 'c', '\\''})")
+ @CharArray({'a', 'b', 'c', '\''})
+ public char[] f5;
+
+ @ExpectedString(
+ "@IntArray({1})")
+ @IntArray({1})
+ public int[] f6;
+
+ @ExpectedString(
+ "@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({\"A\", \"B\", \"C\", \"\\\"Quote\\\"\"})")
+ @StringArray({"A", "B", "C", "\"Quote\""})
+ public String[] f8;
+
+ @ExpectedString(
+ "@ClassArray({int.class, Obj[].class})")
+ @ClassArray({int.class, Obj[].class})
+ public Class<?>[] f9;
+
+ @ExpectedString(
+ "@EnumArray({SOURCE})")
+ @EnumArray({RetentionPolicy.SOURCE})
+ public RetentionPolicy[] f10;
+ }
+}
+
+// ------------ Supporting types ------------
+
+class Obj {}
+
+@Retention(RetentionPolicy.RUNTIME)
+@interface ExpectedString {
+ String value();
+}
+
+@Retention(RetentionPolicy.RUNTIME)
+@interface Classy {
+ Class<?> value();
+}
+
+@Retention(RetentionPolicy.RUNTIME)
+@interface BooleanArray {
+ boolean[] value();
+}
+
+@Retention(RetentionPolicy.RUNTIME)
+@interface FloatArray {
+ float[] value();
+}
+
+@Retention(RetentionPolicy.RUNTIME)
+@interface DoubleArray {
+ double[] value();
+}
+
+@Retention(RetentionPolicy.RUNTIME)
+@interface ByteArray {
+ byte[] value();
+}
+
+@Retention(RetentionPolicy.RUNTIME)
+@interface ShortArray {
+ short[] value();
+}
+
+@Retention(RetentionPolicy.RUNTIME)
+@interface CharArray {
+ char[] value();
+}
+
+@Retention(RetentionPolicy.RUNTIME)
+@interface IntArray {
+ int[] value();
+}
+
+@Retention(RetentionPolicy.RUNTIME)
+@interface LongArray {
+ long[] value();
+}
+
+@Retention(RetentionPolicy.RUNTIME)
+@interface ClassArray {
+ Class<?>[] value() default {int.class, Obj[].class};
+}
+
+@Retention(RetentionPolicy.RUNTIME)
+@interface StringArray {
+ String[] value();
+}
+
+@Retention(RetentionPolicy.RUNTIME)
+@interface EnumArray {
+ RetentionPolicy[] value();
+}
+
+@Retention(RetentionPolicy.RUNTIME)
+@interface MostlyPrimitive {
+ char c0();
+ char c1();
+ byte b0();
+ int i0();
+ int i1();
+ float f0();
+ float f1();
+ double d0();
+ double d1();
+ long l0();
+ long l1();
+ long l2();
+ long l3();
+ String s0();
+ String s1();
+ Class<?> class0();
+ Class<?>[] classArray();
+}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerBasicTest.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerBasicTest.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -37,11 +37,11 @@
@ExpectedBase(
value = Bar.class,
- getAnnotation = "@Bar(value=0)",
+ getAnnotation = "@Bar(0)",
getAnnotationsByType = {
- "@Bar(value=0)",
- "@Bar(value=1)",
- "@Bar(value=2)"
+ "@Bar(0)",
+ "@Bar(1)",
+ "@Bar(2)"
},
getAllAnnotationMirrors = {
"@Bar(0)",
@@ -57,19 +57,19 @@
})
@ExpectedContainer(
value = BarContainer.class,
- getAnnotation = "@BarContainer(value={@Bar(value=1), @Bar(value=2)})",
- getAnnotationsByType = {"@BarContainer(value={@Bar(value=1), @Bar(value=2)})"})
+ getAnnotation = "@BarContainer({@Bar(1), @Bar(2)})",
+ getAnnotationsByType = {"@BarContainer({@Bar(1), @Bar(2)})"})
@Bar(value = 0)
@BarContainer(value = {@Bar(value = 1), @Bar(value = 2)})
class MixRepeatableAndOfficialContainerBasicTest {
@ExpectedBase(
value = Bar.class,
- getAnnotation = "@Bar(value=0)",
+ getAnnotation = "@Bar(0)",
getAnnotationsByType = {
- "@Bar(value=0)",
- "@Bar(value=1)",
- "@Bar(value=2)"
+ "@Bar(0)",
+ "@Bar(1)",
+ "@Bar(2)"
},
getAllAnnotationMirrors = {
"@Bar(0)",
@@ -85,19 +85,19 @@
})
@ExpectedContainer(
value = BarContainer.class,
- getAnnotation = "@BarContainer(value={@Bar(value=1), @Bar(value=2)})",
- getAnnotationsByType = {"@BarContainer(value={@Bar(value=1), @Bar(value=2)})"})
+ getAnnotation = "@BarContainer({@Bar(1), @Bar(2)})",
+ getAnnotationsByType = {"@BarContainer({@Bar(1), @Bar(2)})"})
@Bar(value = 0)
@BarContainer(value = {@Bar(value = 1), @Bar(value = 2)})
int testField = 0;
@ExpectedBase(
value = Bar.class,
- getAnnotation = "@Bar(value=0)",
+ getAnnotation = "@Bar(0)",
getAnnotationsByType = {
- "@Bar(value=0)",
- "@Bar(value=1)",
- "@Bar(value=2)"
+ "@Bar(0)",
+ "@Bar(1)",
+ "@Bar(2)"
},
getAllAnnotationMirrors = {
"@Bar(0)",
@@ -113,8 +113,8 @@
})
@ExpectedContainer(
value = BarContainer.class,
- getAnnotation = "@BarContainer(value={@Bar(value=1), @Bar(value=2)})",
- getAnnotationsByType = {"@BarContainer(value={@Bar(value=1), @Bar(value=2)})"})
+ getAnnotation = "@BarContainer({@Bar(1), @Bar(2)})",
+ getAnnotationsByType = {"@BarContainer({@Bar(1), @Bar(2)})"})
@Bar(value = 0)
@BarContainer(value = {@Bar(value = 1), @Bar(value = 2)})
void testMethod() {}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedA1Test.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedA1Test.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -35,15 +35,15 @@
* MixRepeatableAndOfficialContainerInheritedA1Test.java
*/
-@BarInherited(value = 0)
+@BarInherited(0)
class E {}
@ExpectedBase(
value = BarInherited.class,
- getAnnotation = "@BarInherited(value=0)",
+ getAnnotation = "@BarInherited(0)",
getAnnotationsByType = {
- "@BarInherited(value=1)",
- "@BarInherited(value=2)"
+ "@BarInherited(1)",
+ "@BarInherited(2)"
},
getAllAnnotationMirrors = {
"@BarInherited(0)",
@@ -59,8 +59,8 @@
@ExpectedContainer(
value = BarInheritedContainer.class,
getAnnotation = "@BarInheritedContainer("
- + "value={@BarInherited(value=1), @BarInherited(value=2)})",
+ + "{@BarInherited(1), @BarInherited(2)})",
getAnnotationsByType = {"@BarInheritedContainer("
- + "value={@BarInherited(value=1), @BarInherited(value=2)})"})
-@BarInheritedContainer(value = {@BarInherited(value = 1), @BarInherited(value = 2)})
+ + "{@BarInherited(1), @BarInherited(2)})"})
+@BarInheritedContainer({@BarInherited(1), @BarInherited(2)})
class MixRepeatableAndOfficialContainerInheritedA1Test extends E {}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedA2Test.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedA2Test.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -35,16 +35,16 @@
* MixRepeatableAndOfficialContainerInheritedA2Test.java
*/
-@BarInherited(value = 0)
+@BarInherited(0)
class N {}
@ExpectedBase(
value = BarInherited.class,
- getAnnotation = "@BarInherited(value=3)",
+ getAnnotation = "@BarInherited(3)",
getAnnotationsByType = {
- "@BarInherited(value=1)",
- "@BarInherited(value=2)",
- "@BarInherited(value=3)"
+ "@BarInherited(1)",
+ "@BarInherited(2)",
+ "@BarInherited(3)"
},
getAllAnnotationMirrors = {
"@BarInherited(3)",
@@ -61,9 +61,9 @@
@ExpectedContainer(
value = BarInheritedContainer.class,
getAnnotation = "@BarInheritedContainer("
- + "value={@BarInherited(value=1), @BarInherited(value=2)})",
+ + "{@BarInherited(1), @BarInherited(2)})",
getAnnotationsByType = {"@BarInheritedContainer("
- + "value={@BarInherited(value=1), @BarInherited(value=2)})"})
-@BarInheritedContainer(value = {@BarInherited(value = 1), @BarInherited(value = 2)})
-@BarInherited(value = 3)
+ + "{@BarInherited(1), @BarInherited(2)})"})
+@BarInheritedContainer({@BarInherited(1), @BarInherited(2)})
+@BarInherited(3)
class MixRepeatableAndOfficialContainerInheritedA2Test extends N {}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedB1Test.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedB1Test.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -40,8 +40,8 @@
@ExpectedBase(
value = BarInherited.class,
- getAnnotation = "@BarInherited(value=0)",
- getAnnotationsByType = {"@BarInherited(value=0)"},
+ getAnnotation = "@BarInherited(0)",
+ getAnnotationsByType = {"@BarInherited(0)"},
getAllAnnotationMirrors = {
"@BarInherited(0)",
"@BarInheritedContainer({@BarInherited(1), @BarInherited(2)})",
@@ -56,8 +56,8 @@
@ExpectedContainer(
value = BarInheritedContainer.class,
getAnnotation = "@BarInheritedContainer("
- + "value={@BarInherited(value=1), @BarInherited(value=2)})",
+ + "{@BarInherited(1), @BarInherited(2)})",
getAnnotationsByType = {"@BarInheritedContainer("
- + "value={@BarInherited(value=1), @BarInherited(value=2)})"})
-@BarInherited(value = 0)
+ + "{@BarInherited(1), @BarInherited(2)})"})
+@BarInherited(0)
class MixRepeatableAndOfficialContainerInheritedB1Test extends M {}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedB2Test.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedB2Test.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -35,14 +35,14 @@
* MixRepeatableAndOfficialContainerInheritedB2Test.java
*/
-@BarInheritedContainer(value = {@BarInherited(value = 1), @BarInherited(value = 2)})
-@BarInherited(value = 3)
+@BarInheritedContainer({@BarInherited(1), @BarInherited(2)})
+@BarInherited(3)
class H {}
@ExpectedBase(
value = BarInherited.class,
- getAnnotation = "@BarInherited(value=0)",
- getAnnotationsByType = {"@BarInherited(value=0)"},
+ getAnnotation = "@BarInherited(0)",
+ getAnnotationsByType = {"@BarInherited(0)"},
getAllAnnotationMirrors = {
"@BarInherited(0)",
"@BarInheritedContainer({@BarInherited(1), @BarInherited(2)})",
@@ -57,8 +57,8 @@
@ExpectedContainer(
value = BarInheritedContainer.class,
getAnnotation = "@BarInheritedContainer("
- + "value={@BarInherited(value=1), @BarInherited(value=2)})",
+ + "{@BarInherited(1), @BarInherited(2)})",
getAnnotationsByType = {"@BarInheritedContainer("
- + "value={@BarInherited(value=1), @BarInherited(value=2)})"})
-@BarInherited(value = 0)
+ + "{@BarInherited(1), @BarInherited(2)})"})
+@BarInherited(0)
class MixRepeatableAndOfficialContainerInheritedB2Test extends H {}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerBasicTest.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerBasicTest.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -36,8 +36,8 @@
@ExpectedBase(
value = Foo.class,
- getAnnotation = "@Foo(value=0)",
- getAnnotationsByType = {"@Foo(value=0)"},
+ getAnnotation = "@Foo(0)",
+ getAnnotationsByType = {"@Foo(0)"},
getAllAnnotationMirrors = {
"@Foo(0)",
"@UnofficialContainer({@Foo(1), @Foo(2)})",
@@ -53,17 +53,17 @@
@ExpectedContainer(
value = UnofficialContainer.class,
getAnnotation = "@UnofficialContainer("
- + "value={@Foo(value=1), @Foo(value=2)})",
+ + "{@Foo(1), @Foo(2)})",
getAnnotationsByType = {"@UnofficialContainer("
- + "value={@Foo(value=1), @Foo(value=2)})"})
-@Foo(value = 0)
-@UnofficialContainer(value = {@Foo(value = 1), @Foo(value = 2)})
+ + "{@Foo(1), @Foo(2)})"})
+@Foo(0)
+@UnofficialContainer({@Foo(1), @Foo(2)})
class MixSingularAndUnofficialContainerBasicTest {
@ExpectedBase(
value = Foo.class,
- getAnnotation = "@Foo(value=0)",
- getAnnotationsByType = {"@Foo(value=0)"},
+ getAnnotation = "@Foo(0)",
+ getAnnotationsByType = {"@Foo(0)"},
getAllAnnotationMirrors = {
"@Foo(0)",
"@UnofficialContainer({@Foo(1), @Foo(2)})",
@@ -79,17 +79,17 @@
@ExpectedContainer(
value = UnofficialContainer.class,
getAnnotation = "@UnofficialContainer("
- + "value={@Foo(value=1), @Foo(value=2)})",
+ + "{@Foo(1), @Foo(2)})",
getAnnotationsByType = {"@UnofficialContainer("
- + "value={@Foo(value=1), @Foo(value=2)})"})
- @Foo(value = 0)
- @UnofficialContainer(value = {@Foo(value = 1), @Foo(value = 2)})
+ + "{@Foo(1), @Foo(2)})"})
+ @Foo(0)
+ @UnofficialContainer({@Foo(1), @Foo(2)})
int testField = 0;
@ExpectedBase(
value = Foo.class,
- getAnnotation = "@Foo(value=0)",
- getAnnotationsByType = {"@Foo(value=0)"},
+ getAnnotation = "@Foo(0)",
+ getAnnotationsByType = {"@Foo(0)"},
getAllAnnotationMirrors = {
"@Foo(0)",
"@UnofficialContainer({@Foo(1), @Foo(2)})",
@@ -105,10 +105,10 @@
@ExpectedContainer(
value = UnofficialContainer.class,
getAnnotation = "@UnofficialContainer("
- + "value={@Foo(value=1), @Foo(value=2)})",
+ + "{@Foo(1), @Foo(2)})",
getAnnotationsByType = {"@UnofficialContainer("
- + "value={@Foo(value=1), @Foo(value=2)})"})
- @Foo(value = 0)
- @UnofficialContainer(value = {@Foo(value = 1), @Foo(value = 2)})
+ + "{@Foo(1), @Foo(2)})"})
+ @Foo(0)
+ @UnofficialContainer({@Foo(1), @Foo(2)})
void testMethod() {}
}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedA1Test.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedA1Test.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -35,13 +35,13 @@
* MixSingularAndUnofficialContainerInheritedA1Test.java
*/
-@FooInherited(value = 0)
+@FooInherited(0)
class L {}
@ExpectedBase(
value = FooInherited.class,
- getAnnotation = "@FooInherited(value=0)",
- getAnnotationsByType = {"@FooInherited(value=0)"},
+ getAnnotation = "@FooInherited(0)",
+ getAnnotationsByType = {"@FooInherited(0)"},
getAllAnnotationMirrors = {
"@FooInherited(0)",
"@UnofficialInheritedContainer({@FooInherited(1), @FooInherited(2)})",
@@ -56,8 +56,8 @@
@ExpectedContainer(
value = UnofficialInheritedContainer.class,
getAnnotation = "@UnofficialInheritedContainer("
- + "value={@FooInherited(value=1), @FooInherited(value=2)})",
+ + "{@FooInherited(1), @FooInherited(2)})",
getAnnotationsByType = {"@UnofficialInheritedContainer("
- + "value={@FooInherited(value=1), @FooInherited(value=2)})"})
-@UnofficialInheritedContainer(value = {@FooInherited(value = 1), @FooInherited(value = 2)})
+ + "{@FooInherited(1), @FooInherited(2)})"})
+@UnofficialInheritedContainer({@FooInherited(1), @FooInherited(2)})
class MixSingularAndUnofficialContainerInheritedA1Test extends L {}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedA2Test.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedA2Test.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -35,13 +35,13 @@
* MixSingularAndUnofficialContainerInheritedA2Test.java
*/
-@FooInherited(value = 0)
+@FooInherited(0)
class K {}
@ExpectedBase(
value = FooInherited.class,
- getAnnotation = "@FooInherited(value=3)",
- getAnnotationsByType = {"@FooInherited(value=3)"},
+ getAnnotation = "@FooInherited(3)",
+ getAnnotationsByType = {"@FooInherited(3)"},
getAllAnnotationMirrors = {
"@FooInherited(3)",
"@UnofficialInheritedContainer({@FooInherited(1), @FooInherited(2)})",
@@ -57,9 +57,9 @@
@ExpectedContainer(
value = UnofficialInheritedContainer.class,
getAnnotation = "@UnofficialInheritedContainer("
- + "value={@FooInherited(value=1), @FooInherited(value=2)})",
+ + "{@FooInherited(1), @FooInherited(2)})",
getAnnotationsByType = {"@UnofficialInheritedContainer("
- + "value={@FooInherited(value=1), @FooInherited(value=2)})"})
-@UnofficialInheritedContainer(value = {@FooInherited(value = 1), @FooInherited(value = 2)})
-@FooInherited(value = 3)
+ + "{@FooInherited(1), @FooInherited(2)})"})
+@UnofficialInheritedContainer({@FooInherited(1), @FooInherited(2)})
+@FooInherited(3)
class MixSingularAndUnofficialContainerInheritedA2Test extends K {}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedB1Test.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedB1Test.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -35,13 +35,13 @@
* MixSingularAndUnofficialContainerInheritedB1Test.java
*/
-@UnofficialInheritedContainer(value = {@FooInherited(value = 1),@FooInherited(value = 2)})
+@UnofficialInheritedContainer({@FooInherited(1),@FooInherited(2)})
class J {}
@ExpectedBase(
value = FooInherited.class,
- getAnnotation = "@FooInherited(value=0)",
- getAnnotationsByType = {"@FooInherited(value=0)"},
+ getAnnotation = "@FooInherited(0)",
+ getAnnotationsByType = {"@FooInherited(0)"},
getAllAnnotationMirrors = {
"@FooInherited(0)",
"@UnofficialInheritedContainer({@FooInherited(1), @FooInherited(2)})",
@@ -56,8 +56,8 @@
@ExpectedContainer(
value = UnofficialInheritedContainer.class,
getAnnotation = "@UnofficialInheritedContainer("
- + "value={@FooInherited(value=1), @FooInherited(value=2)})",
+ + "{@FooInherited(1), @FooInherited(2)})",
getAnnotationsByType = {"@UnofficialInheritedContainer("
- + "value={@FooInherited(value=1), @FooInherited(value=2)})"})
-@FooInherited(value = 0)
+ + "{@FooInherited(1), @FooInherited(2)})"})
+@FooInherited(0)
class MixSingularAndUnofficialContainerInheritedB1Test extends J {}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedB2Test.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedB2Test.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -35,14 +35,14 @@
* MixSingularAndUnofficialContainerInheritedB2Test.java
*/
-@UnofficialInheritedContainer(value = {@FooInherited(value = 1), @FooInherited(value = 2)})
-@FooInherited(value = 3)
+@UnofficialInheritedContainer({@FooInherited(1), @FooInherited(2)})
+@FooInherited(3)
class G {}
@ExpectedBase(
value = FooInherited.class,
- getAnnotation = "@FooInherited(value=0)",
- getAnnotationsByType = {"@FooInherited(value=0)"},
+ getAnnotation = "@FooInherited(0)",
+ getAnnotationsByType = {"@FooInherited(0)"},
getAllAnnotationMirrors = {
"@FooInherited(0)",
"@UnofficialInheritedContainer({@FooInherited(1), @FooInherited(2)})",
@@ -57,8 +57,8 @@
@ExpectedContainer(
value = UnofficialInheritedContainer.class,
getAnnotation = "@UnofficialInheritedContainer("
- + "value={@FooInherited(value=1), @FooInherited(value=2)})",
+ + "{@FooInherited(1), @FooInherited(2)})",
getAnnotationsByType = {"@UnofficialInheritedContainer("
- + "value={@FooInherited(value=1), @FooInherited(value=2)})"})
-@FooInherited(value = 0)
+ + "{@FooInherited(1), @FooInherited(2)})"})
+@FooInherited(0)
class MixSingularAndUnofficialContainerInheritedB2Test extends G{}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/OfficialContainerBasicTest.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/OfficialContainerBasicTest.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -38,8 +38,8 @@
value = Bar.class,
getAnnotation = "null",
getAnnotationsByType = {
- "@Bar(value=1)",
- "@Bar(value=2)"
+ "@Bar(1)",
+ "@Bar(2)"
},
getAllAnnotationMirrors = {
"@BarContainer({@Bar(1), @Bar(2)})",
@@ -53,17 +53,17 @@
})
@ExpectedContainer(
value = BarContainer.class,
- getAnnotation = "@BarContainer(value={@Bar(value=1), @Bar(value=2)})",
- getAnnotationsByType = {"@BarContainer(value={@Bar(value=1), @Bar(value=2)})"})
-@BarContainer(value = {@Bar(value = 1), @Bar(value = 2)})
+ getAnnotation = "@BarContainer({@Bar(1), @Bar(2)})",
+ getAnnotationsByType = {"@BarContainer({@Bar(1), @Bar(2)})"})
+@BarContainer({@Bar(1), @Bar(2)})
class OfficialContainerBasicTest {
@ExpectedBase(
value = Bar.class,
getAnnotation = "null",
getAnnotationsByType = {
- "@Bar(value=1)",
- "@Bar(value=2)"
+ "@Bar(1)",
+ "@Bar(2)"
},
getAllAnnotationMirrors = {
"@BarContainer({@Bar(1), @Bar(2)})",
@@ -77,17 +77,17 @@
})
@ExpectedContainer(
value = BarContainer.class,
- getAnnotation = "@BarContainer(value={@Bar(value=1), @Bar(value=2)})",
- getAnnotationsByType = {"@BarContainer(value={@Bar(value=1), @Bar(value=2)})"})
- @BarContainer(value = {@Bar(value = 1), @Bar(value = 2)})
+ getAnnotation = "@BarContainer({@Bar(1), @Bar(2)})",
+ getAnnotationsByType = {"@BarContainer({@Bar(1), @Bar(2)})"})
+ @BarContainer({@Bar(1), @Bar(2)})
int testField = 0;
@ExpectedBase(
value = Bar.class,
getAnnotation = "null",
getAnnotationsByType = {
- "@Bar(value=1)",
- "@Bar(value=2)"
+ "@Bar(1)",
+ "@Bar(2)"
},
getAllAnnotationMirrors = {
"@BarContainer({@Bar(1), @Bar(2)})",
@@ -101,8 +101,8 @@
})
@ExpectedContainer(
value = BarContainer.class,
- getAnnotation = "@BarContainer(value={@Bar(value=1), @Bar(value=2)})",
- getAnnotationsByType = {"@BarContainer(value={@Bar(value=1), @Bar(value=2)})"})
- @BarContainer(value = {@Bar(value = 1), @Bar(value = 2)})
+ getAnnotation = "@BarContainer({@Bar(1), @Bar(2)})",
+ getAnnotationsByType = {"@BarContainer({@Bar(1), @Bar(2)})"})
+ @BarContainer({@Bar(1), @Bar(2)})
void testMethod() {}
}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/OfficialContainerInheritedTest.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/OfficialContainerInheritedTest.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -34,15 +34,15 @@
* @compile -processor ElementRepAnnoTester -proc:only OfficialContainerInheritedTest.java
*/
-@BarInheritedContainer(value = {@BarInherited(value = 1), @BarInherited(value = 2)})
+@BarInheritedContainer({@BarInherited(1), @BarInherited(2)})
class D {}
@ExpectedBase(
value = BarInherited.class,
getAnnotation = "null",
getAnnotationsByType = {
- "@BarInherited(value=1)",
- "@BarInherited(value=2)"
+ "@BarInherited(1)",
+ "@BarInherited(2)"
},
getAllAnnotationMirrors = {
"@BarInheritedContainer({@BarInherited(1), @BarInherited(2)})",
@@ -56,7 +56,7 @@
@ExpectedContainer(
value = BarInheritedContainer.class,
getAnnotation = "@BarInheritedContainer("
- + "value={@BarInherited(value=1), @BarInherited(value=2)})",
+ + "{@BarInherited(1), @BarInherited(2)})",
getAnnotationsByType = {"@BarInheritedContainer("
- + "value={@BarInherited(value=1), @BarInherited(value=2)})"})
+ + "{@BarInherited(1), @BarInherited(2)})"})
class OfficialContainerInheritedTest extends D {}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/RepeatableBasicTest.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/RepeatableBasicTest.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -38,8 +38,8 @@
value = Bar.class,
getAnnotation = "null",
getAnnotationsByType = {
- "@Bar(value=1)",
- "@Bar(value=2)"
+ "@Bar(1)",
+ "@Bar(2)"
},
getAllAnnotationMirrors = {
"@BarContainer({@Bar(1), @Bar(2)})",
@@ -53,18 +53,18 @@
})
@ExpectedContainer(
value = BarContainer.class,
- getAnnotation = "@BarContainer(value={@Bar(value=1), @Bar(value=2)})",
- getAnnotationsByType = {"@BarContainer(value={@Bar(value=1), @Bar(value=2)})"})
-@Bar(value = 1)
-@Bar(value = 2)
+ getAnnotation = "@BarContainer({@Bar(1), @Bar(2)})",
+ getAnnotationsByType = {"@BarContainer({@Bar(1), @Bar(2)})"})
+@Bar(1)
+@Bar(2)
class RepeatableBasicTest {
@ExpectedBase(
value = Bar.class,
getAnnotation = "null",
getAnnotationsByType = {
- "@Bar(value=1)",
- "@Bar(value=2)"
+ "@Bar(1)",
+ "@Bar(2)"
},
getAllAnnotationMirrors = {
"@BarContainer({@Bar(1), @Bar(2)})",
@@ -78,18 +78,18 @@
})
@ExpectedContainer(
value = BarContainer.class,
- getAnnotation = "@BarContainer(value={@Bar(value=1), @Bar(value=2)})",
- getAnnotationsByType = {"@BarContainer(value={@Bar(value=1), @Bar(value=2)})"})
- @Bar(value = 1)
- @Bar(value = 2)
+ getAnnotation = "@BarContainer({@Bar(1), @Bar(2)})",
+ getAnnotationsByType = {"@BarContainer({@Bar(1), @Bar(2)})"})
+ @Bar(1)
+ @Bar(2)
int testField = 0;
@ExpectedBase(
value = Bar.class,
getAnnotation = "null",
getAnnotationsByType = {
- "@Bar(value=1)",
- "@Bar(value=2)"
+ "@Bar(1)",
+ "@Bar(2)"
},
getAllAnnotationMirrors = {
"@BarContainer({@Bar(1), @Bar(2)})",
@@ -103,9 +103,9 @@
})
@ExpectedContainer(
value = BarContainer.class,
- getAnnotation = "@BarContainer(value={@Bar(value=1), @Bar(value=2)})",
- getAnnotationsByType = {"@BarContainer(value={@Bar(value=1), @Bar(value=2)})"})
- @Bar(value = 1)
- @Bar(value = 2)
+ getAnnotation = "@BarContainer({@Bar(1), @Bar(2)})",
+ getAnnotationsByType = {"@BarContainer({@Bar(1), @Bar(2)})"})
+ @Bar(1)
+ @Bar(2)
void testMethod() {}
}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/RepeatableInheritedTest.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/RepeatableInheritedTest.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -34,16 +34,16 @@
* @compile -processor ElementRepAnnoTester -proc:only RepeatableInheritedTest.java
*/
-@BarInherited(value = 1)
-@BarInherited(value = 2)
+@BarInherited(1)
+@BarInherited(2)
class I {}
@ExpectedBase(
value = BarInherited.class,
getAnnotation = "null",
getAnnotationsByType = {
- "@BarInherited(value=1)",
- "@BarInherited(value=2)"
+ "@BarInherited(1)",
+ "@BarInherited(2)"
},
getAllAnnotationMirrors = {
"@BarInheritedContainer({@BarInherited(1), @BarInherited(2)})",
@@ -57,7 +57,7 @@
@ExpectedContainer(
value = BarInheritedContainer.class,
getAnnotation = "@BarInheritedContainer("
- + "value={@BarInherited(value=1), @BarInherited(value=2)})",
+ + "{@BarInherited(1), @BarInherited(2)})",
getAnnotationsByType = {"@BarInheritedContainer("
- + "value={@BarInherited(value=1), @BarInherited(value=2)})"})
+ + "{@BarInherited(1), @BarInherited(2)})"})
class RepeatableInheritedTest extends I {}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOfficialContainerBasicTest.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOfficialContainerBasicTest.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -52,10 +52,10 @@
value = BarContainer.class,
getAnnotation = "null",
getAnnotationsByType = {
- "@BarContainer(value={@Bar(value=1)})",
- "@BarContainer(value={@Bar(value=2)})"})
-@BarContainer(value = {@Bar(value = 1)})
-@BarContainer(value = {@Bar(value = 2)})
+ "@BarContainer({@Bar(1)})",
+ "@BarContainer({@Bar(2)})"})
+@BarContainer({@Bar(1)})
+@BarContainer({@Bar(2)})
class RepeatableOfficialContainerBasicTest {
@ExpectedBase(
@@ -76,10 +76,10 @@
value = BarContainer.class,
getAnnotation = "null",
getAnnotationsByType = {
- "@BarContainer(value={@Bar(value=1)})",
- "@BarContainer(value={@Bar(value=2)})"})
- @BarContainer(value = {@Bar(value = 1)})
- @BarContainer(value = {@Bar(value = 2)})
+ "@BarContainer({@Bar(1)})",
+ "@BarContainer({@Bar(2)})"})
+ @BarContainer({@Bar(1)})
+ @BarContainer({@Bar(2)})
int testField = 0;
@ExpectedBase(
@@ -100,9 +100,9 @@
value = BarContainer.class,
getAnnotation = "null",
getAnnotationsByType = {
- "@BarContainer(value={@Bar(value=1)})",
- "@BarContainer(value={@Bar(value=2)})"})
- @BarContainer(value = {@Bar(value = 1)})
- @BarContainer(value = {@Bar(value = 2)})
+ "@BarContainer({@Bar(1)})",
+ "@BarContainer({@Bar(2)})"})
+ @BarContainer({@Bar(1)})
+ @BarContainer({@Bar(2)})
void testMethod() {}
}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOfficialContainerInheritedTest.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOfficialContainerInheritedTest.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -35,16 +35,16 @@
* RepeatableOfficialContainerInheritedTest.java
*/
-@BarInheritedContainer(value = {@BarInherited(value = 1)})
-@BarInheritedContainer(value = {@BarInherited(value = 2)})
+@BarInheritedContainer({@BarInherited(1)})
+@BarInheritedContainer({@BarInherited(2)})
class O {}
@ExpectedBase(
value = BarInheritedContainer.class,
getAnnotation = "null",
getAnnotationsByType = {
- "@BarInheritedContainer(value={@BarInherited(value=1)})",
- "@BarInheritedContainer(value={@BarInherited(value=2)})"
+ "@BarInheritedContainer({@BarInherited(1)})",
+ "@BarInheritedContainer({@BarInherited(2)})"
},
getAllAnnotationMirrors = {
"@BarInheritedContainerContainer("
@@ -60,9 +60,9 @@
@ExpectedContainer(
value = BarInheritedContainerContainer.class,
getAnnotation = "@BarInheritedContainerContainer("
- + "value={@BarInheritedContainer(value={@BarInherited(value=1)}),"
- + " @BarInheritedContainer(value={@BarInherited(value=2)})})",
+ + "{@BarInheritedContainer({@BarInherited(1)}),"
+ + " @BarInheritedContainer({@BarInherited(2)})})",
getAnnotationsByType = {"@BarInheritedContainerContainer("
- + "value={@BarInheritedContainer(value={@BarInherited(value=1)}),"
- + " @BarInheritedContainer(value={@BarInherited(value=2)})})"})
+ + "{@BarInheritedContainer({@BarInherited(1)}),"
+ + " @BarInheritedContainer({@BarInherited(2)})})"})
class RepeatableOfficialContainerInheritedTest extends O {}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOverrideATest.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOverrideATest.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -34,14 +34,14 @@
* @compile -processor ElementRepAnnoTester -proc:only RepeatableOverrideATest.java
*/
-@BarInherited(value = 1)
-@BarInherited(value = 2)
+@BarInherited(1)
+@BarInherited(2)
class B {}
@ExpectedBase(
value = BarInherited.class,
- getAnnotation = "@BarInherited(value=3)",
- getAnnotationsByType = {"@BarInherited(value=3)"},
+ getAnnotation = "@BarInherited(3)",
+ getAnnotationsByType = {"@BarInherited(3)"},
getAllAnnotationMirrors = {
"@BarInherited(3)",
"@BarInheritedContainer({@BarInherited(1), @BarInherited(2)})",
@@ -56,8 +56,8 @@
@ExpectedContainer(
value = BarInheritedContainer.class,
getAnnotation = "@BarInheritedContainer("
- + "value={@BarInherited(value=1), @BarInherited(value=2)})",
+ + "{@BarInherited(1), @BarInherited(2)})",
getAnnotationsByType = {"@BarInheritedContainer("
- + "value={@BarInherited(value=1), @BarInherited(value=2)})"})
-@BarInherited(value = 3)
+ + "{@BarInherited(1), @BarInherited(2)})"})
+@BarInherited(3)
class RepeatableOverrideATest extends B {}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOverrideBTest.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOverrideBTest.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -34,15 +34,15 @@
* @compile -processor ElementRepAnnoTester -proc:only RepeatableOverrideBTest.java
*/
-@BarInherited(value = 0)
+@BarInherited(0)
class C {}
@ExpectedBase(
value = BarInherited.class,
- getAnnotation = "@BarInherited(value=0)",
+ getAnnotation = "@BarInherited(0)",
getAnnotationsByType = {
- "@BarInherited(value=1)",
- "@BarInherited(value=2)"
+ "@BarInherited(1)",
+ "@BarInherited(2)"
},
getAllAnnotationMirrors = {
"@BarInherited(0)",
@@ -58,9 +58,9 @@
@ExpectedContainer(
value = BarInheritedContainer.class,
getAnnotation = "@BarInheritedContainer("
- + "value={@BarInherited(value=1), @BarInherited(value=2)})",
+ + "{@BarInherited(1), @BarInherited(2)})",
getAnnotationsByType = {"@BarInheritedContainer("
- + "value={@BarInherited(value=1), @BarInherited(value=2)})"})
-@BarInherited(value = 1)
-@BarInherited(value = 2)
+ + "{@BarInherited(1), @BarInherited(2)})"})
+@BarInherited(1)
+@BarInherited(2)
class RepeatableOverrideBTest extends C {}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/SingularBasicTest.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/SingularBasicTest.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -36,8 +36,8 @@
@ExpectedBase(
value = Foo.class,
- getAnnotation = "@Foo(value=0)",
- getAnnotationsByType = {"@Foo(value=0)"},
+ getAnnotation = "@Foo(0)",
+ getAnnotationsByType = {"@Foo(0)"},
getAllAnnotationMirrors = {
"@Foo(0)",
"ExpectedBase",
@@ -49,13 +49,13 @@
"ExpectedContainer"
})
@ExpectedContainer
-@Foo(value = 0)
+@Foo(0)
public class SingularBasicTest {
@ExpectedBase(
value = Foo.class,
- getAnnotation = "@Foo(value=0)",
- getAnnotationsByType = {"@Foo(value=0)"},
+ getAnnotation = "@Foo(0)",
+ getAnnotationsByType = {"@Foo(0)"},
getAllAnnotationMirrors = {
"@Foo(0)",
"ExpectedBase",
@@ -67,13 +67,13 @@
"ExpectedContainer"
})
@ExpectedContainer
- @Foo(value = 0)
+ @Foo(0)
int testField = 0;
@ExpectedBase(
value = Foo.class,
- getAnnotation = "@Foo(value=0)",
- getAnnotationsByType = {"@Foo(value=0)"},
+ getAnnotation = "@Foo(0)",
+ getAnnotationsByType = {"@Foo(0)"},
getAllAnnotationMirrors = {
"@Foo(0)",
"ExpectedBase",
@@ -85,7 +85,7 @@
"ExpectedContainer"
})
@ExpectedContainer
- @Foo(value = 0)
+ @Foo(0)
void testMethod() {
}
}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/SingularInheritedATest.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/SingularInheritedATest.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -34,13 +34,13 @@
* @compile -processor ElementRepAnnoTester -proc:only SingularInheritedATest.java
*/
-@FooInherited(value = 0)
+@FooInherited(0)
class A {}
@ExpectedBase(
value = FooInherited.class,
- getAnnotation = "@FooInherited(value=0)",
- getAnnotationsByType = {"@FooInherited(value=0)"},
+ getAnnotation = "@FooInherited(0)",
+ getAnnotationsByType = {"@FooInherited(0)"},
getAllAnnotationMirrors = {
"@FooInherited(0)",
"ExpectedBase",
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/SingularInheritedBTest.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/SingularInheritedBTest.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -34,13 +34,13 @@
* @compile -processor ElementRepAnnoTester -proc:only SingularInheritedBTest.java
*/
-@FooInherited(value = 1)
+@FooInherited(1)
class P {}
@ExpectedBase(
value = FooInherited.class,
- getAnnotation = "@FooInherited(value=2)",
- getAnnotationsByType = {"@FooInherited(value=2)"},
+ getAnnotation = "@FooInherited(2)",
+ getAnnotationsByType = {"@FooInherited(2)"},
getAllAnnotationMirrors = {
"@FooInherited(2)",
"ExpectedBase",
@@ -55,5 +55,5 @@
value = UnofficialInheritedContainer.class,
getAnnotation = "null",
getAnnotationsByType = {})
-@FooInherited(value = 2)
+@FooInherited(2)
class SingularInheritedBTest extends P {}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/UnofficialContainerBasicTest.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/UnofficialContainerBasicTest.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -50,9 +50,9 @@
})
@ExpectedContainer(
value = UnofficialContainer.class,
- getAnnotation = "@UnofficialContainer(value={@Foo(value=1), @Foo(value=2)})",
- getAnnotationsByType = {"@UnofficialContainer(value={@Foo(value=1), @Foo(value=2)})"})
-@UnofficialContainer(value = {@Foo(value = 1), @Foo(value = 2)})
+ getAnnotation = "@UnofficialContainer({@Foo(1), @Foo(2)})",
+ getAnnotationsByType = {"@UnofficialContainer({@Foo(1), @Foo(2)})"})
+@UnofficialContainer({@Foo(1), @Foo(2)})
class UnofficialContainerBasicTest {
@ExpectedBase(
@@ -71,9 +71,9 @@
})
@ExpectedContainer(
value = UnofficialContainer.class,
- getAnnotation = "@UnofficialContainer(value={@Foo(value=1), @Foo(value=2)})",
- getAnnotationsByType = {"@UnofficialContainer(value={@Foo(value=1), @Foo(value=2)})"})
- @UnofficialContainer(value = {@Foo(value = 1), @Foo(value = 2)})
+ getAnnotation = "@UnofficialContainer({@Foo(1), @Foo(2)})",
+ getAnnotationsByType = {"@UnofficialContainer({@Foo(1), @Foo(2)})"})
+ @UnofficialContainer({@Foo(1), @Foo(2)})
int testField = 0;
@ExpectedBase(
@@ -92,8 +92,8 @@
})
@ExpectedContainer(
value = UnofficialContainer.class,
- getAnnotation = "@UnofficialContainer(value={@Foo(value=1), @Foo(value=2)})",
- getAnnotationsByType = {"@UnofficialContainer(value={@Foo(value=1), @Foo(value=2)})"})
- @UnofficialContainer(value = {@Foo(value = 1), @Foo(value = 2)})
+ getAnnotation = "@UnofficialContainer({@Foo(1), @Foo(2)})",
+ getAnnotationsByType = {"@UnofficialContainer({@Foo(1), @Foo(2)})"})
+ @UnofficialContainer({@Foo(1), @Foo(2)})
void testMethod() {}
}
--- a/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/UnofficialContainerInheritedTest.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/processing/model/element/repeatingAnnotations/UnofficialContainerInheritedTest.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -35,7 +35,7 @@
* UnofficialContainerInheritedTest.java
*/
-@UnofficialInheritedContainer(value = {@FooInherited(value = 1),@FooInherited(value = 2)})
+@UnofficialInheritedContainer({@FooInherited(1),@FooInherited(2)})
class F {}
@ExpectedBase(
@@ -54,7 +54,7 @@
@ExpectedContainer(
value = UnofficialInheritedContainer.class,
getAnnotation = "@UnofficialInheritedContainer("
- + "value={@FooInherited(value=1), @FooInherited(value=2)})",
+ + "{@FooInherited(1), @FooInherited(2)})",
getAnnotationsByType = {"@UnofficialInheritedContainer("
- + "value={@FooInherited(value=1), @FooInherited(value=2)})"})
+ + "{@FooInherited(1), @FooInherited(2)})"})
class UnofficialContainerInheritedTest extends F {}
--- a/test/langtools/tools/javac/sym/ElementStructureTest.java Thu Jun 13 11:21:50 2019 -0700
+++ b/test/langtools/tools/javac/sym/ElementStructureTest.java Thu Jun 13 11:50:45 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 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
@@ -128,16 +128,16 @@
(byte) 0xB7, (byte) 0x52, (byte) 0x0F, (byte) 0x68
};
static final byte[] hash7 = new byte[] {
- (byte) 0x6B, (byte) 0xA2, (byte) 0xE9, (byte) 0x8E,
- (byte) 0xE1, (byte) 0x8E, (byte) 0x60, (byte) 0xBE,
- (byte) 0x54, (byte) 0xC4, (byte) 0x33, (byte) 0x3E,
- (byte) 0x0C, (byte) 0x2D, (byte) 0x3A, (byte) 0x7C
+ (byte) 0x3C, (byte) 0x03, (byte) 0xEA, (byte) 0x4A,
+ (byte) 0x62, (byte) 0xD2, (byte) 0x18, (byte) 0xE5,
+ (byte) 0xA5, (byte) 0xC2, (byte) 0xB7, (byte) 0x85,
+ (byte) 0x90, (byte) 0xFA, (byte) 0x98, (byte) 0xCD
};
static final byte[] hash8 = new byte[] {
- (byte) 0x44, (byte) 0x77, (byte) 0x6E, (byte) 0x52,
- (byte) 0x2B, (byte) 0x16, (byte) 0xD3, (byte) 0x3C,
- (byte) 0x78, (byte) 0x75, (byte) 0xF5, (byte) 0x0A,
- (byte) 0x01, (byte) 0x24, (byte) 0xBD, (byte) 0x2A
+ (byte) 0x0B, (byte) 0xEB, (byte) 0x16, (byte) 0xF5,
+ (byte) 0x7F, (byte) 0xB0, (byte) 0x18, (byte) 0xF1,
+ (byte) 0x78, (byte) 0x11, (byte) 0xED, (byte) 0x30,
+ (byte) 0x19, (byte) 0x4D, (byte) 0xDE, (byte) 0x8A
};
final static Map<String, byte[]> version2Hash = new HashMap<>();