105 }
106
107 String sharedToString(int modifierMask,
108 boolean isDefault,
109 Class<?>[] parameterTypes,
110 Class<?>[] exceptionTypes) {
111 try {
112 StringBuilder sb = new StringBuilder();
113
114 printModifiersIfNonzero(sb, modifierMask, isDefault);
115 specificToStringHeader(sb);
116 sb.append('(');
117 StringJoiner sj = new StringJoiner(",");
118 for (Class<?> parameterType : parameterTypes) {
119 sj.add(parameterType.getTypeName());
120 }
121 sb.append(sj.toString());
122 sb.append(')');
123
124 if (exceptionTypes.length > 0) {
125 StringJoiner joiner = new StringJoiner(",", "throws ", "");
126 for (Class<?> exceptionType : exceptionTypes) {
127 joiner.add(exceptionType.getTypeName());
128 }
129 sb.append(joiner.toString());
130 }
131 return sb.toString();
132 } catch (Exception e) {
133 return "<" + e + ">";
134 }
135 }
136
137 /**
138 * Generate toString header information specific to a method or
139 * constructor.
140 */
141 abstract void specificToStringHeader(StringBuilder sb);
142
143 String sharedToGenericString(int modifierMask, boolean isDefault) {
144 try {
145 StringBuilder sb = new StringBuilder();
|
105 }
106
107 String sharedToString(int modifierMask,
108 boolean isDefault,
109 Class<?>[] parameterTypes,
110 Class<?>[] exceptionTypes) {
111 try {
112 StringBuilder sb = new StringBuilder();
113
114 printModifiersIfNonzero(sb, modifierMask, isDefault);
115 specificToStringHeader(sb);
116 sb.append('(');
117 StringJoiner sj = new StringJoiner(",");
118 for (Class<?> parameterType : parameterTypes) {
119 sj.add(parameterType.getTypeName());
120 }
121 sb.append(sj.toString());
122 sb.append(')');
123
124 if (exceptionTypes.length > 0) {
125 StringJoiner joiner = new StringJoiner(",", " throws ", "");
126 for (Class<?> exceptionType : exceptionTypes) {
127 joiner.add(exceptionType.getTypeName());
128 }
129 sb.append(joiner.toString());
130 }
131 return sb.toString();
132 } catch (Exception e) {
133 return "<" + e + ">";
134 }
135 }
136
137 /**
138 * Generate toString header information specific to a method or
139 * constructor.
140 */
141 abstract void specificToStringHeader(StringBuilder sb);
142
143 String sharedToGenericString(int modifierMask, boolean isDefault) {
144 try {
145 StringBuilder sb = new StringBuilder();
|