--- a/jdk/src/share/classes/java/lang/reflect/Executable.java Tue Apr 02 11:59:34 2013 -0700
+++ b/jdk/src/share/classes/java/lang/reflect/Executable.java Tue Apr 02 16:26:54 2013 -0700
@@ -89,20 +89,31 @@
}
- void printModifiersIfNonzero(StringBuilder sb, int mask) {
+ void printModifiersIfNonzero(StringBuilder sb, int mask, boolean isDefault) {
int mod = getModifiers() & mask;
- if (mod != 0) {
+
+ if (mod != 0 && !isDefault) {
sb.append(Modifier.toString(mod)).append(' ');
+ } else {
+ int access_mod = mod & Modifier.ACCESS_MODIFIERS;
+ if (access_mod != 0)
+ sb.append(Modifier.toString(access_mod)).append(' ');
+ if (isDefault)
+ sb.append("default ");
+ mod = (mod & ~Modifier.ACCESS_MODIFIERS);
+ if (mod != 0)
+ sb.append(Modifier.toString(mod)).append(' ');
}
}
String sharedToString(int modifierMask,
+ boolean isDefault,
Class<?>[] parameterTypes,
Class<?>[] exceptionTypes) {
try {
StringBuilder sb = new StringBuilder();
- printModifiersIfNonzero(sb, modifierMask);
+ printModifiersIfNonzero(sb, modifierMask, isDefault);
specificToStringHeader(sb);
sb.append('(');
@@ -124,11 +135,11 @@
*/
abstract void specificToStringHeader(StringBuilder sb);
- String sharedToGenericString(int modifierMask) {
+ String sharedToGenericString(int modifierMask, boolean isDefault) {
try {
StringBuilder sb = new StringBuilder();
- printModifiersIfNonzero(sb, modifierMask);
+ printModifiersIfNonzero(sb, modifierMask, isDefault);
TypeVariable<?>[] typeparms = getTypeParameters();
if (typeparms.length > 0) {