--- old/src/java.base/share/classes/java/lang/reflect/Executable.java 2016-07-26 12:13:58.189803811 -0700 +++ new/src/java.base/share/classes/java/lang/reflect/Executable.java 2016-07-26 12:13:58.065803807 -0700 @@ -122,7 +122,7 @@ sb.append(')'); if (exceptionTypes.length > 0) { - StringJoiner joiner = new StringJoiner(",", "throws ", ""); + StringJoiner joiner = new StringJoiner(",", " throws ", ""); for (Class exceptionType : exceptionTypes) { joiner.add(exceptionType.getTypeName()); } --- old/test/java/lang/reflect/Constructor/GenericStringTest.java 2016-07-26 12:13:58.549803824 -0700 +++ new/test/java/lang/reflect/Constructor/GenericStringTest.java 2016-07-26 12:13:58.425803819 -0700 @@ -23,7 +23,7 @@ /* * @test - * @bug 5033583 6316717 6470106 8161500 + * @bug 5033583 6316717 6470106 8161500 8162539 * @summary Check toGenericString() and toString() methods * @author Joseph D. Darcy */ @@ -41,20 +41,11 @@ ExpectedGenericString egs = ctor.getAnnotation(ExpectedGenericString.class); String actual = ctor.toGenericString(); System.out.println(actual); - if (! egs.value().equals(actual)) { - failures++; - System.err.printf("ERROR: Expected generic string ''%s''; got ''%s''.\n", - egs.value(), actual); - } + failures += checkForFailure(egs.value(), actual); if (ctor.isAnnotationPresent(ExpectedString.class)) { - ExpectedString es = ctor.getAnnotation(ExpectedString.class); - String result = ctor.toString(); - if (! es.value().equals(result)) { - failures++; - System.err.printf("ERROR: Expected ''%s''; got ''%s''.\n", - es.value(), result); - } + failures += checkForFailure(ctor.getAnnotation(ExpectedString.class).value(), + ctor.toString()); } } @@ -63,6 +54,15 @@ throw new RuntimeException(); } } + + private static int checkForFailure(String expected, String actual) { + if (!expected.equals(actual)) { + System.err.printf("ERROR: Expected ''%s'';%ngot ''%s''.\n", + expected, actual); + return 1; + } else + return 0; + } } class TestClass1 { @@ -76,13 +76,23 @@ @ExpectedGenericString( "private TestClass1(java.lang.Object) throws java.lang.RuntimeException") + @ExpectedString( + "private TestClass1(java.lang.Object) throws java.lang.RuntimeException") private TestClass1(Object o) throws RuntimeException {} @ExpectedGenericString( "protected TestClass1(S,T) throws java.lang.Exception") + @ExpectedString( + "protected TestClass1(java.lang.Object,java.lang.Object) throws java.lang.Exception") protected TestClass1(S s, T t) throws Exception{} @ExpectedGenericString( + " TestClass1() throws E") + @ExpectedString( + "TestClass1() throws java.lang.Exception") + TestClass1() throws E {} + + @ExpectedGenericString( "TestClass1(java.lang.Object...)") @ExpectedString( "TestClass1(java.lang.Object[])") --- old/test/java/lang/reflect/Method/GenericStringTest.java 2016-07-26 12:13:58.901803836 -0700 +++ new/test/java/lang/reflect/Method/GenericStringTest.java 2016-07-26 12:13:58.773803832 -0700 @@ -23,7 +23,7 @@ /* * @test - * @bug 5033583 6316717 6470106 8004979 8161500 + * @bug 5033583 6316717 6470106 8004979 8161500 8162539 * @summary Check toGenericString() and toString() methods * @author Joseph D. Darcy */ @@ -44,28 +44,16 @@ String actual = method.toGenericString(); System.out.println(actual); if (method.isBridge()) { - if (! egs.bridgeValue().equals(actual)) { - failures++; - System.err.printf("ERROR: Expected ''%s''; got ''%s''.\n", - egs.value(), actual); - } + failures += checkForFailure(egs.bridgeValue(), actual); } else { - if (! egs.value().equals(actual)) { - failures++; - System.err.printf("ERROR: Expected ''%s''; got ''%s''.\n", - egs.value(), actual); - } + failures += checkForFailure(egs.value(), actual); } } if (method.isAnnotationPresent(ExpectedString.class)) { ExpectedString es = method.getAnnotation(ExpectedString.class); String actual = method.toString(); - if (! es.value().equals(actual)) { - failures++; - System.err.printf("ERROR: Expected ''%s''; got ''%s''.\n", - es.value(), actual); - } + failures += checkForFailure(es.value(), actual); } } @@ -88,6 +76,15 @@ throw new RuntimeException(); } } + + private static int checkForFailure(String expected, String actual) { + if (!expected.equals(actual)) { + System.err.printf("ERROR: Expected ''%s'';%ngot ''%s''.\n", + expected, actual); + return 1; + } else + return 0; + } } class TestClass1 { @@ -115,6 +112,8 @@ @ExpectedGenericString( "public void TestClass2.method2() throws F") + @ExpectedString( + "public void TestClass2.method2() throws java.lang.Exception") public void method2() throws F {return;} @ExpectedGenericString(