Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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 `double`s 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 `float`s 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 `int`s 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 `long`s 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 `double`s 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 `float`s 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 `int`s 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 `long`s 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

Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD