1 package net.florianschoppmann.java.reflect; 2 3 import javax.annotation.Nullable; 4 import javax.lang.model.type.NoType; 5 import javax.lang.model.type.TypeKind; 6 import javax.lang.model.type.TypeVisitor; 7 8 final class NoTypeImpl extends AnnotatedConstructImpl implements ReflectionTypeMirror, NoType { 9 static final NoTypeImpl VOID = new NoTypeImpl(TypeKind.VOID); 10 static final NoTypeImpl NONE = new NoTypeImpl(TypeKind.NONE); 11 12 private final TypeKind typeKind; 13 14 NoTypeImpl(TypeKind typeKind) { 15 this.typeKind = typeKind; 16 } 17 18 @Override 19 public String toString() { 20 return ReflectionTypes.getInstance().toString(this); 21 } 22 23 @Override 24 public <R, P> R accept(TypeVisitor<R, P> visitor, @Nullable P parameter) { 25 return visitor.visitNoType(this, parameter); 26 } 27 28 @Override 29 public TypeKind getKind() { 30 return typeKind; 31 } 32 }