de.grogra.reflect
Interface TypeId

All Known Implementing Classes:
Add, And, ArrayGenerator, ArrayInit, Assert, AssignArrayComponent, AssignArrayGenerator, AssignField, AssignLocal, Assignment, BinaryExpression, Block, BooleanConst, Break, BreakTarget, ByteConst, Cast, Catch, CharConst, CheckNonNull, ClassConst, Compare, Comparison, Complement, ComplexMethod, Conditional, ConditionalAnd, ConditionalOr, ConstExpression, ControlTransfer, CreateArray, DisposeDescriptor, Div, Do, DoubleConst, EnterFrame, Equals, EvalExpression, Expression, ExpressionList, FieldObserver, FilterGuard, Finally, FinishIteratorGenerator, FloatConst, For, GE, GetArrayComponent, GetDescriptor, GetField, GetLocal, GetProperty, GetPropertyInstance, GetQuery, GetVMXFrame, GT, Guard, Id, If, InstanceOf, IntConst, Invoke, InvokeSpecial, InvokeStatic, InvokeVirtual, IterableGenerator, LE, LeaveFrame, LongConst, LT, MethodExpression, ModelExpression, Mul, Neg, New, NoBytecode, Not, NotEquals, ObjectConst, Or, Pop, PopIntArray, Pos, Power, Production, PropertyAssignment, PushInts, Range, Rem, Return, Root, SetThis, Shift, Shl, ShortConst, Shr, StringConversion, Sub, Super, SwapBytecode, Switch, Synchronized, Throw, TryCatch, TryFinally, TypeConst, UnaryExpression, Ushr, Variable, VoidExpression, While, Xor, Yield

public interface TypeId

This interface defines an enumeration of int ids which are used to identify the kind of a type (see Type). In addition, it defines some masks which have to be used as follows:

     if (((1 << typeId) & TypeId.INTEGRAL_MASK) != 0) {
         // typeId identifies a type which is integral
     }
 
IMPORTANT: The numeric values of the ids must not be changed! It is defined such that (for numeric types) it is a widening conversion from s to t if the type id of s is less than the type id of t, with one exception: The type char has to be handled specially, because BYTE < SHORT < CHAR < INT, but there is no widening conversion from byte or short to char.

Author:
Ole Kniemeyer

Field Summary
static int A_VALUE
          This is the mask for type ids of types whose values are represented as references by the Java Virtual Machine.
static int ABSTRACT_PRIMITIVE
          Type id for abstract primitive types, i.e., Type.NUMERIC, Type.INTEGRAL.
static int BOOLEAN
          Type id for boolean.
static int BOOLEAN_MASK
          This is the mask for type ids for boolean.
static int BYTE
          Type id for byte.
static int BYTE_MASK
          This is the mask for type ids for byte.
static int CHAR
          Type id for char.
static int CHAR_MASK
          This is the mask for type ids for char.
static int D_VALUE
          This is the mask for type ids of types whose values are represented as doubles by the Java Virtual Machine.
static int DOUBLE
          Type id for double.
static int DOUBLE_MASK
          This is the mask for type ids for double.
static int F_VALUE
          This is the mask for type ids of types whose values are represented as floats by the Java Virtual Machine.
static int FLOAT
          Type id for float.
static int FLOAT_MASK
          This is the mask for type ids for float.
static int FLOATING_POINT_MASK
          This is the mask for type ids of floating-point types.
static int I_VALUE
          This is the mask for type ids of types whose values are represented by ints by the Java Virtual Machine.
static int INT
          Type id for int.
static int INT_ASSIGNABLE
          This is the mask for type ids of types which as assignable to int.
static int INT_MASK
          This is the mask for type ids for int.
static int INTEGRAL_MASK
          This is the mask for type ids of integral types.
static int L_VALUE
          This is the mask for type ids of types whose values are represented as longs by the Java Virtual Machine.
static int LONG
          Type id for long.
static int LONG_MASK
          This is the mask for type ids for long.
static int MAX_PRIMITIVE
           
static int MIN_PRIMITIVE
           
static int NUMERIC_MASK
          This is the mask for type ids of numeric types.
static int NUMERIC_NONCHAR_MASK
          This is the mask for type ids of numeric types, but not char.
static int OBJECT
          Type id for reference types.
static int OBJECT_MASK
          This is the mask for type ids of reference types.
static int PRIMITIVE_MASK
          This is the mask for type ids of primitive types.
static int SHORT
          Type id for short.
static int SHORT_MASK
          This is the mask for type ids for short.
static int TYPE_COUNT
          The number of defined types.
static int VOID
          Type id for void.
static int VOID_MASK
          This is the mask for type ids for void.
 

Field Detail

A_VALUE

static final int A_VALUE
This is the mask for type ids of types whose values are represented as references by the Java Virtual Machine.

See Also:
Constant Field Values

ABSTRACT_PRIMITIVE

static final int ABSTRACT_PRIMITIVE
Type id for abstract primitive types, i.e., Type.NUMERIC, Type.INTEGRAL. Type.FLOATING_POINT.

See Also:
Constant Field Values

BOOLEAN

static final int BOOLEAN
Type id for boolean.

See Also:
Constant Field Values

BOOLEAN_MASK

static final int BOOLEAN_MASK
This is the mask for type ids for boolean.

See Also:
Constant Field Values

BYTE

static final int BYTE
Type id for byte.

See Also:
Constant Field Values

BYTE_MASK

static final int BYTE_MASK
This is the mask for type ids for byte.

See Also:
Constant Field Values

CHAR

static final int CHAR
Type id for char.

See Also:
Constant Field Values

CHAR_MASK

static final int CHAR_MASK
This is the mask for type ids for char.

See Also:
Constant Field Values

D_VALUE

static final int D_VALUE
This is the mask for type ids of types whose values are represented as doubles by the Java Virtual Machine.

See Also:
Constant Field Values

DOUBLE

static final int DOUBLE
Type id for double.

See Also:
Constant Field Values

DOUBLE_MASK

static final int DOUBLE_MASK
This is the mask for type ids for double.

See Also:
Constant Field Values

F_VALUE

static final int F_VALUE
This is the mask for type ids of types whose values are represented as floats by the Java Virtual Machine.

See Also:
Constant Field Values

FLOAT

static final int FLOAT
Type id for float.

See Also:
Constant Field Values

FLOAT_MASK

static final int FLOAT_MASK
This is the mask for type ids for float.

See Also:
Constant Field Values

FLOATING_POINT_MASK

static final int FLOATING_POINT_MASK
This is the mask for type ids of floating-point types.

See Also:
Constant Field Values

I_VALUE

static final int I_VALUE
This is the mask for type ids of types whose values are represented by ints by the Java Virtual Machine.

See Also:
Constant Field Values

INT

static final int INT
Type id for int.

See Also:
Constant Field Values

INT_ASSIGNABLE

static final int INT_ASSIGNABLE
This is the mask for type ids of types which as assignable to int.

See Also:
Constant Field Values

INT_MASK

static final int INT_MASK
This is the mask for type ids for int.

See Also:
Constant Field Values

INTEGRAL_MASK

static final int INTEGRAL_MASK
This is the mask for type ids of integral types.

See Also:
Constant Field Values

L_VALUE

static final int L_VALUE
This is the mask for type ids of types whose values are represented as longs by the Java Virtual Machine.

See Also:
Constant Field Values

LONG

static final int LONG
Type id for long.

See Also:
Constant Field Values

LONG_MASK

static final int LONG_MASK
This is the mask for type ids for long.

See Also:
Constant Field Values

MAX_PRIMITIVE

static final int MAX_PRIMITIVE
See Also:
Constant Field Values

MIN_PRIMITIVE

static final int MIN_PRIMITIVE
See Also:
Constant Field Values

NUMERIC_MASK

static final int NUMERIC_MASK
This is the mask for type ids of numeric types.

See Also:
Constant Field Values

NUMERIC_NONCHAR_MASK

static final int NUMERIC_NONCHAR_MASK
This is the mask for type ids of numeric types, but not char.

See Also:
Constant Field Values

OBJECT

static final int OBJECT
Type id for reference types.

See Also:
Constant Field Values

OBJECT_MASK

static final int OBJECT_MASK
This is the mask for type ids of reference types.

See Also:
Constant Field Values

PRIMITIVE_MASK

static final int PRIMITIVE_MASK
This is the mask for type ids of primitive types.

See Also:
Constant Field Values

SHORT

static final int SHORT
Type id for short.

See Also:
Constant Field Values

SHORT_MASK

static final int SHORT_MASK
This is the mask for type ids for short.

See Also:
Constant Field Values

TYPE_COUNT

static final int TYPE_COUNT
The number of defined types. Valid type ids range from 0 to TYPE_COUNT-1.

See Also:
Constant Field Values

VOID

static final int VOID
Type id for void.

See Also:
Constant Field Values

VOID_MASK

static final int VOID_MASK
This is the mask for type ids for void.

See Also:
Constant Field Values