Class TypeParser

java.lang.Object
io.quarkus.deployment.types.TypeParser

public class TypeParser extends Object
Creates a Type by parsing the given string according to the following grammar:
 Type -> VoidType | PrimitiveType | ReferenceType
 VoidType -> 'void'
 PrimitiveType -> 'boolean' | 'byte' | 'short' | 'int'
                | 'long' | 'float' | 'double' | 'char'
 ReferenceType -> PrimitiveType ('[' ']')+
                | ClassType ('invalid input: '<'' TypeArgument (',' TypeArgument)* '>')? ('[' ']')*
 ClassType -> FULLY_QUALIFIED_NAME
 TypeArgument -> ReferenceType | WildcardType
 WildcardType -> '?' | '?' ('extends' | 'super') ReferenceType
 
Notice that the resulting type never contains type variables, only "proper" types. Also notice that the grammar above does not support all kinds of nested types; it should be possible to add that later, if there's an actual need.

Types produced by this parser can be transferred from build time to runtime via the recorder mechanism.

  • Method Details