195 return false; 196 } 197 198 @Override 199 public int hashCode() { 200 return 201 Arrays.hashCode(actualTypeArguments) ^ 202 Objects.hashCode(ownerType) ^ 203 Objects.hashCode(rawType); 204 } 205 206 public String toString() { 207 StringBuilder sb = new StringBuilder(); 208 209 if (ownerType != null) { 210 if (ownerType instanceof Class) 211 sb.append(((Class)ownerType).getName()); 212 else 213 sb.append(ownerType.toString()); 214 215 sb.append("."); 216 217 if (ownerType instanceof ParameterizedTypeImpl) { 218 // Find simple name of nested type by removing the 219 // shared prefix with owner. 220 sb.append(rawType.getName().replace( ((ParameterizedTypeImpl)ownerType).rawType.getName() + "$", 221 "")); 222 } else 223 sb.append(rawType.getName()); 224 } else 225 sb.append(rawType.getName()); 226 227 if (actualTypeArguments != null && 228 actualTypeArguments.length > 0) { 229 sb.append("<"); 230 boolean first = true; 231 for(Type t: actualTypeArguments) { 232 if (!first) 233 sb.append(", "); 234 sb.append(t.getTypeName()); 235 first = false; 236 } 237 sb.append(">"); 238 } 239 240 return sb.toString(); 241 } 242 } | 195 return false; 196 } 197 198 @Override 199 public int hashCode() { 200 return 201 Arrays.hashCode(actualTypeArguments) ^ 202 Objects.hashCode(ownerType) ^ 203 Objects.hashCode(rawType); 204 } 205 206 public String toString() { 207 StringBuilder sb = new StringBuilder(); 208 209 if (ownerType != null) { 210 if (ownerType instanceof Class) 211 sb.append(((Class)ownerType).getName()); 212 else 213 sb.append(ownerType.toString()); 214 215 sb.append("$"); 216 217 if (ownerType instanceof ParameterizedTypeImpl) { 218 // Find simple name of nested type by removing the 219 // shared prefix with owner. 220 sb.append(rawType.getName().replace( ((ParameterizedTypeImpl)ownerType).rawType.getName() + "$", 221 "")); 222 } else 223 sb.append(rawType.getSimpleName()); 224 } else 225 sb.append(rawType.getName()); 226 227 if (actualTypeArguments != null && 228 actualTypeArguments.length > 0) { 229 sb.append("<"); 230 boolean first = true; 231 for(Type t: actualTypeArguments) { 232 if (!first) 233 sb.append(", "); 234 sb.append(t.getTypeName()); 235 first = false; 236 } 237 sb.append(">"); 238 } 239 240 return sb.toString(); 241 } 242 } |