240 }
241
242 /**
243 * Visits a {@code DOUBLE} primitive type.
244 *
245 * @implSpec This implementation calls {@code defaultAction}.
246 *
247 * @param t the type to visit
248 * @param p a visitor-specified parameter
249 * @return the result of {@code defaultAction}
250 */
251 public R visitPrimitiveAsDouble(PrimitiveType t, P p) {
252 return defaultAction(t, p);
253 }
254
255 /**
256 * {@inheritDoc}
257 *
258 * @implSpec This implementation dispatches to the visit method for
259 * the specific {@linkplain TypeKind kind} of pseudo-type:
260 * {@code VOID}, {@code PACKAGE}, or {@code NONE}.
261 *
262 * @param t {@inheritDoc}
263 * @param p {@inheritDoc}
264 * @return the result of the kind-specific visit method
265 */
266 @Override
267 public R visitNoType(NoType t, P p) {
268 TypeKind k = t.getKind();
269 switch (k) {
270 case VOID:
271 return visitNoTypeAsVoid(t, p);
272
273 case PACKAGE:
274 return visitNoTypeAsPackage(t, p);
275
276 case NONE:
277 return visitNoTypeAsNone(t, p);
278
279 default:
280 throw new AssertionError("Bad kind " + k + " for NoType" + t);
281 }
282 }
283
284 /**
285 * Visits a {@link TypeKind#VOID VOID} pseudo-type.
286 *
287 * @implSpec This implementation calls {@code defaultAction}.
288 *
289 * @param t the type to visit
290 * @param p a visitor-specified parameter
291 * @return the result of {@code defaultAction}
292 */
293 public R visitNoTypeAsVoid(NoType t, P p) {
294 return defaultAction(t, p);
295 }
296
297 /**
298 * Visits a {@link TypeKind#PACKAGE PACKAGE} pseudo-type.
299 *
300 * @implSpec This implementation calls {@code defaultAction}.
301 *
302 * @param t the type to visit
303 * @param p a visitor-specified parameter
304 * @return the result of {@code defaultAction}
305 */
306 public R visitNoTypeAsPackage(NoType t, P p) {
307 return defaultAction(t, p);
308 }
309
310 /**
311 * Visits a {@link TypeKind#NONE NONE} pseudo-type.
312 *
313 * @implSpec This implementation calls {@code defaultAction}.
314 *
315 * @param t the type to visit
316 * @param p a visitor-specified parameter
317 * @return the result of {@code defaultAction}
318 */
319 public R visitNoTypeAsNone(NoType t, P p) {
320 return defaultAction(t, p);
321 }
322 }
|
240 }
241
242 /**
243 * Visits a {@code DOUBLE} primitive type.
244 *
245 * @implSpec This implementation calls {@code defaultAction}.
246 *
247 * @param t the type to visit
248 * @param p a visitor-specified parameter
249 * @return the result of {@code defaultAction}
250 */
251 public R visitPrimitiveAsDouble(PrimitiveType t, P p) {
252 return defaultAction(t, p);
253 }
254
255 /**
256 * {@inheritDoc}
257 *
258 * @implSpec This implementation dispatches to the visit method for
259 * the specific {@linkplain TypeKind kind} of pseudo-type:
260 * {@code VOID}, {@code PACKAGE}, {@code MODULE}, or {@code NONE}.
261 *
262 * @param t {@inheritDoc}
263 * @param p {@inheritDoc}
264 * @return the result of the kind-specific visit method
265 */
266 @Override
267 public R visitNoType(NoType t, P p) {
268 TypeKind k = t.getKind();
269 switch (k) {
270 case VOID:
271 return visitNoTypeAsVoid(t, p);
272
273 case PACKAGE:
274 return visitNoTypeAsPackage(t, p);
275
276 case MODULE:
277 return visitNoTypeAsModule(t, p);
278
279 case NONE:
280 return visitNoTypeAsNone(t, p);
281
282 default:
283 throw new AssertionError("Bad kind " + k + " for NoType" + t);
284 }
285 }
286
287 /**
288 * Visits a {@link TypeKind#VOID VOID} pseudo-type.
289 *
290 * @implSpec This implementation calls {@code defaultAction}.
291 *
292 * @param t the type to visit
293 * @param p a visitor-specified parameter
294 * @return the result of {@code defaultAction}
295 */
296 public R visitNoTypeAsVoid(NoType t, P p) {
297 return defaultAction(t, p);
298 }
299
300 /**
301 * Visits a {@link TypeKind#PACKAGE PACKAGE} pseudo-type.
302 *
303 * @implSpec This implementation calls {@code defaultAction}.
304 *
305 * @param t the type to visit
306 * @param p a visitor-specified parameter
307 * @return the result of {@code defaultAction}
308 */
309 public R visitNoTypeAsPackage(NoType t, P p) {
310 return defaultAction(t, p);
311 }
312
313 /**
314 * Visits a {@link TypeKind#MODULE MODULE} pseudo-type.
315 *
316 * @implSpec This implementation calls {@code visitUnknown}.
317 *
318 * @param t the type to visit
319 * @param p a visitor-specified parameter
320 * @return the result of {@code visitUnknown}
321 *
322 * @since 10
323 */
324 public R visitNoTypeAsModule(NoType t, P p) {
325 return visitUnknown(t, p);
326 }
327
328 /**
329 * Visits a {@link TypeKind#NONE NONE} pseudo-type.
330 *
331 * @implSpec This implementation calls {@code defaultAction}.
332 *
333 * @param t the type to visit
334 * @param p a visitor-specified parameter
335 * @return the result of {@code defaultAction}
336 */
337 public R visitNoTypeAsNone(NoType t, P p) {
338 return defaultAction(t, p);
339 }
340 }
|