Class TypeDescriptors
java.lang.Object
io.micronaut.expressions.parser.ast.util.TypeDescriptors
Set of constants and utility methods for working with type descriptors
while compiling evaluated expressions.
- Since:
- 4.0.0
- Author:
- Sergey Gavrilov
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final io.micronaut.sourcegen.model.TypeDef
static final io.micronaut.sourcegen.model.ClassTypeDef
static final io.micronaut.sourcegen.model.TypeDef
static final io.micronaut.sourcegen.model.ClassTypeDef
static final io.micronaut.sourcegen.model.TypeDef
static final io.micronaut.sourcegen.model.ClassTypeDef
static final io.micronaut.sourcegen.model.TypeDef
static final io.micronaut.sourcegen.model.TypeDef
static final io.micronaut.sourcegen.model.ClassTypeDef
static final io.micronaut.sourcegen.model.TypeDef
static final io.micronaut.sourcegen.model.ClassTypeDef
static final io.micronaut.sourcegen.model.TypeDef
static final io.micronaut.sourcegen.model.ClassTypeDef
static final io.micronaut.sourcegen.model.TypeDef
static final io.micronaut.sourcegen.model.ClassTypeDef
static final io.micronaut.sourcegen.model.TypeDef
static final io.micronaut.sourcegen.model.TypeDef
static final io.micronaut.sourcegen.model.ClassTypeDef
static final io.micronaut.sourcegen.model.TypeDef
static final io.micronaut.sourcegen.model.TypeDef
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic @NonNull io.micronaut.sourcegen.model.TypeDef
computeNumericOperationTargetType
(@NonNull io.micronaut.sourcegen.model.TypeDef leftOperandType, @NonNull io.micronaut.sourcegen.model.TypeDef rightOperandType) For two passed types computes result numeric operation type.static boolean
Checks if passed type is either boolean primitive or wrapper.static @io.micronaut.core.annotation.NonNull boolean
Checks if passed type is one of numeric primitives or numeric wrappers.static boolean
isOneOf
(io.micronaut.sourcegen.model.TypeDef type, io.micronaut.sourcegen.model.TypeDef... comparedTypes) Utility method to check if passed type (first argument) is the same as any of compared types (second and following args).static boolean
isPrimitive
(@NonNull io.micronaut.sourcegen.model.TypeDef type) Checks if passed type is a primitive.static @NonNull io.micronaut.sourcegen.model.ClassTypeDef
toBoxedIfNecessary
(@NonNull io.micronaut.sourcegen.model.TypeDef type) If passed type is primitive, returns responsive boxed type, otherwise returns original passed type.static @NonNull io.micronaut.sourcegen.model.TypeDef
toUnboxedIfNecessary
(@NonNull io.micronaut.sourcegen.model.TypeDef type) If passed type is boxed type, returns responsive primitive, otherwise returns original passed type.
-
Field Details
-
STRING
public static final io.micronaut.sourcegen.model.TypeDef STRING -
OBJECT
public static final io.micronaut.sourcegen.model.TypeDef OBJECT -
CLASS
public static final io.micronaut.sourcegen.model.TypeDef CLASS -
VOID
public static final io.micronaut.sourcegen.model.TypeDef VOID -
DOUBLE
public static final io.micronaut.sourcegen.model.TypeDef DOUBLE -
FLOAT
public static final io.micronaut.sourcegen.model.TypeDef FLOAT -
INT
public static final io.micronaut.sourcegen.model.TypeDef INT -
LONG
public static final io.micronaut.sourcegen.model.TypeDef LONG -
BOOLEAN
public static final io.micronaut.sourcegen.model.TypeDef BOOLEAN -
CHAR
public static final io.micronaut.sourcegen.model.TypeDef CHAR -
SHORT
public static final io.micronaut.sourcegen.model.TypeDef SHORT -
BYTE
public static final io.micronaut.sourcegen.model.TypeDef BYTE -
BOOLEAN_WRAPPER
public static final io.micronaut.sourcegen.model.ClassTypeDef BOOLEAN_WRAPPER -
INT_WRAPPER
public static final io.micronaut.sourcegen.model.ClassTypeDef INT_WRAPPER -
LONG_WRAPPER
public static final io.micronaut.sourcegen.model.ClassTypeDef LONG_WRAPPER -
DOUBLE_WRAPPER
public static final io.micronaut.sourcegen.model.ClassTypeDef DOUBLE_WRAPPER -
FLOAT_WRAPPER
public static final io.micronaut.sourcegen.model.ClassTypeDef FLOAT_WRAPPER -
SHORT_WRAPPER
public static final io.micronaut.sourcegen.model.ClassTypeDef SHORT_WRAPPER -
BYTE_WRAPPER
public static final io.micronaut.sourcegen.model.ClassTypeDef BYTE_WRAPPER -
CHAR_WRAPPER
public static final io.micronaut.sourcegen.model.ClassTypeDef CHAR_WRAPPER -
WRAPPER_TO_PRIMITIVE
-
-
Constructor Details
-
TypeDescriptors
public TypeDescriptors()
-
-
Method Details
-
isPrimitive
Checks if passed type is a primitive.- Parameters:
type
- type to check- Returns:
- true if it is
-
isBoolean
Checks if passed type is either boolean primitive or wrapper.- Parameters:
type
- type to check- Returns:
- true if it is
-
isNumeric
@NonNull public static @io.micronaut.core.annotation.NonNull boolean isNumeric(@NonNull @NonNull io.micronaut.sourcegen.model.TypeDef type) Checks if passed type is one of numeric primitives or numeric wrappers.- Parameters:
type
- type to check- Returns:
- true if it is
-
toUnboxedIfNecessary
@NonNull public static @NonNull io.micronaut.sourcegen.model.TypeDef toUnboxedIfNecessary(@NonNull @NonNull io.micronaut.sourcegen.model.TypeDef type) If passed type is boxed type, returns responsive primitive, otherwise returns original passed type.- Parameters:
type
- type to check- Returns:
- unboxed type or original passed type
-
toBoxedIfNecessary
@NonNull public static @NonNull io.micronaut.sourcegen.model.ClassTypeDef toBoxedIfNecessary(@NonNull @NonNull io.micronaut.sourcegen.model.TypeDef type) If passed type is primitive, returns responsive boxed type, otherwise returns original passed type.- Parameters:
type
- type to check- Returns:
- boxed type or original passed type
-
computeNumericOperationTargetType
@NonNull public static @NonNull io.micronaut.sourcegen.model.TypeDef computeNumericOperationTargetType(@NonNull @NonNull io.micronaut.sourcegen.model.TypeDef leftOperandType, @NonNull @NonNull io.micronaut.sourcegen.model.TypeDef rightOperandType) For two passed types computes result numeric operation type. This method accepts both primitive and wrapper types, but returns only primitive type.- Parameters:
leftOperandType
- left operand typerightOperandType
- right operand type- Returns:
- numeric operation result type
- Throws:
ExpressionCompilationException
- if ony of the passed types is not a numeric type
-
isOneOf
public static boolean isOneOf(io.micronaut.sourcegen.model.TypeDef type, io.micronaut.sourcegen.model.TypeDef... comparedTypes) Utility method to check if passed type (first argument) is the same as any of compared types (second and following args).- Parameters:
type
- type to checkcomparedTypes
- types against which checked types is compared- Returns:
- true if checked type is amount compared types
-