Module xl.core

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, OpenArgument, 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, XMethod, 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

    Fields
    Modifier and Type
    Field
    Description
    static final int
    This is the mask for type ids of types whose values are represented as references by the Java Virtual Machine.
    static final int
    Type id for abstract primitive types, i.e., Type.NUMERIC, Type.INTEGRAL.
    static final int
    Type id for boolean.
    static final int
    This is the mask for type ids for boolean.
    static final int
    Type id for byte.
    static final int
    This is the mask for type ids for byte.
    static final int
    Type id for char.
    static final int
    This is the mask for type ids for char.
    static final int
    This is the mask for type ids of types whose values are represented as doubles by the Java Virtual Machine.
    static final int
    Type id for double.
    static final int
    This is the mask for type ids for double.
    static final int
    This is the mask for type ids of types whose values are represented as floats by the Java Virtual Machine.
    static final int
    Type id for float.
    static final int
    This is the mask for type ids for float.
    static final int
    This is the mask for type ids of floating-point types.
    static final int
    This is the mask for type ids of types whose values are represented by ints by the Java Virtual Machine.
    static final int
    Type id for int.
    static final int
    This is the mask for type ids of types which as assignable to int.
    static final int
    This is the mask for type ids for int.
    static final int
    This is the mask for type ids of integral types.
    static final int
    This is the mask for type ids of types whose values are represented as longs by the Java Virtual Machine.
    static final int
    Type id for long.
    static final int
    This is the mask for type ids for long.
    static final int
     
    static final int
     
    static final int
    This is the mask for type ids of numeric types.
    static final int
    This is the mask for type ids of numeric types, but not char.
    static final int
    Type id for reference types.
    static final int
    This is the mask for type ids of reference types.
    static final int
    This is the mask for type ids of primitive types.
    static final int
    Type id for short.
    static final int
    This is the mask for type ids for short.
    static final int
    The number of defined types.
    static final int
    Type id for void.
    static final int
    This is the mask for type ids for void.
  • Field Details

    • OBJECT

      static final int OBJECT
      Type id for reference types.
      See Also:
    • VOID

      static final int VOID
      Type id for void.
      See Also:
    • BOOLEAN

      static final int BOOLEAN
      Type id for boolean.
      See Also:
    • BYTE

      static final int BYTE
      Type id for byte.
      See Also:
    • SHORT

      static final int SHORT
      Type id for short.
      See Also:
    • CHAR

      static final int CHAR
      Type id for char.
      See Also:
    • INT

      static final int INT
      Type id for int.
      See Also:
    • LONG

      static final int LONG
      Type id for long.
      See Also:
    • FLOAT

      static final int FLOAT
      Type id for float.
      See Also:
    • DOUBLE

      static final int DOUBLE
      Type id for double.
      See Also:
    • ABSTRACT_PRIMITIVE

      static final int ABSTRACT_PRIMITIVE
      Type id for abstract primitive types, i.e., Type.NUMERIC, Type.INTEGRAL. Type.FLOATING_POINT.
      See Also:
    • TYPE_COUNT

      static final int TYPE_COUNT
      The number of defined types. Valid type ids range from 0 to TYPE_COUNT-1.
      See Also:
    • MIN_PRIMITIVE

      static final int MIN_PRIMITIVE
      See Also:
    • MAX_PRIMITIVE

      static final int MAX_PRIMITIVE
      See Also:
    • OBJECT_MASK

      static final int OBJECT_MASK
      This is the mask for type ids of reference types.
      See Also:
    • VOID_MASK

      static final int VOID_MASK
      This is the mask for type ids for void.
      See Also:
    • BOOLEAN_MASK

      static final int BOOLEAN_MASK
      This is the mask for type ids for boolean.
      See Also:
    • BYTE_MASK

      static final int BYTE_MASK
      This is the mask for type ids for byte.
      See Also:
    • SHORT_MASK

      static final int SHORT_MASK
      This is the mask for type ids for short.
      See Also:
    • CHAR_MASK

      static final int CHAR_MASK
      This is the mask for type ids for char.
      See Also:
    • INT_MASK

      static final int INT_MASK
      This is the mask for type ids for int.
      See Also:
    • LONG_MASK

      static final int LONG_MASK
      This is the mask for type ids for long.
      See Also:
    • FLOAT_MASK

      static final int FLOAT_MASK
      This is the mask for type ids for float.
      See Also:
    • DOUBLE_MASK

      static final int DOUBLE_MASK
      This is the mask for type ids for double.
      See Also:
    • INT_ASSIGNABLE

      static final int INT_ASSIGNABLE
      This is the mask for type ids of types which as assignable to int.
      See Also:
    • INTEGRAL_MASK

      static final int INTEGRAL_MASK
      This is the mask for type ids of integral types.
      See Also:
    • FLOATING_POINT_MASK

      static final int FLOATING_POINT_MASK
      This is the mask for type ids of floating-point types.
      See Also:
    • NUMERIC_MASK

      static final int NUMERIC_MASK
      This is the mask for type ids of numeric types.
      See Also:
    • NUMERIC_NONCHAR_MASK

      static final int NUMERIC_NONCHAR_MASK
      This is the mask for type ids of numeric types, but not char.
      See Also:
    • PRIMITIVE_MASK

      static final int PRIMITIVE_MASK
      This is the mask for type ids of primitive types.
      See Also:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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: