org.apache.xalan.xsltc.compiler.util

## Class Type

- java.lang.Object
- - org.apache.xalan.xsltc.compiler.util.Type

- All Implemented Interfaces:
    org.apache.bcel.generic.InstructionConstants, Constants
  Direct Known Subclasses:
    BooleanType, MethodType, NodeSetType, NodeType, NumberType, ObjectType, ReferenceType, ResultTreeType, StringType, VoidType

      public abstract class Type
      extends java.lang.Object
      implements Constants

  Author:
    Jacek Ambroziak, Santiago Pericas-Geertsen, Morten Jorgensen

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.bcel.generic.InstructionConstants

      `org.apache.bcel.generic.InstructionConstants.Clinit`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static Type` | `Attribute`
    `static Type` | `Boolean`
    `static Type` | `Comment`
    `static Type` | `Element`
    `static Type` | `Int`
    `static Type` | `Node`
    `static Type` | `NodeSet`
    `static Type` | `Object`
    `static Type` | `Processing_Instruction`
    `static Type` | `Real`
    `static Type` | `Reference`
    `static Type` | `ResultTree`
    `static Type` | `Root`
    `static Type` | `String`
    `static Type` | `Text`
    `static Type` | `Void`

    - ### Fields inherited from interface org.apache.xalan.xsltc.compiler.Constants

      `ABSOLUTE_ITERATOR, ACC_FINAL, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_SUPER, ADD_ATTRIBUTE, ADD_ATTRIBUTE_SIG, ADD_ITERATOR, ADD_ITERATOR_SIG, ADD_PARAMETER, ADD_PARAMETER_SIG, APPLY_TEMPLATES, ATTR_SET_SIG, ATTRIBUTE_LIST_FIELD, ATTRIBUTE_LIST_IMPL_CLASS, ATTRIBUTE_LIST_IMPL_SIG, ATTRIBUTES_SIG, BASIS_LIBRARY_CLASS, BOOLEAN_CLASS, BOOLEAN_VALUE, BOOLEAN_VALUE_SIG, CACHED_NODE_LIST_ITERATOR_CLASS, CHARACTERS, CHARACTERS_SIG, CHARACTERSW, CHARACTERSW_SIG, CLEAR_ATTRIBUTES, CLEAR_ATTRIBUTES_SIG, COLLATOR_CLASS, COLLATOR_SIG, COMPILER_PACKAGE, CURRENT_NODE_LIST_FILTER, CURRENT_NODE_LIST_FILTER_SIG, CURRENT_NODE_LIST_ITERATOR, CURRENT_NODE_LIST_ITERATOR_SIG, DEFAULT_NODE_COUNTER, DEFAULT_NODE_COUNTER_SIG, DOCUMENT_PNAME, DOM_ADAPTER_CLASS, DOM_ADAPTER_SIG, DOM_FIELD, DOM_IMPL, DOM_IMPL_CLASS, DOM_IMPL_SIG, DOM_INTF, DOM_INTF_SIG, DOM_PNAME, DOUBLE_CLASS, DOUBLE_SIG, DOUBLE_VALUE, DOUBLE_VALUE_SIG, DUP_FILTERED_ITERATOR, EMPTYATTR_FIELD, EMPTYSTRING, ERROR, EXPAND_STYLESHEET_QNAME_REF, EXPAND_STYLESHEET_QNAME_SIG, FALLBACK_CLASS, FATAL, FILTER_INTERFACE, FILTER_INTERFACE_SIG, FILTER_ITERATOR, FILTER_STEP_ITERATOR, FORMAT_SYMBOLS_FIELD, GET_ATTRIBUTE_VALUE, GET_ATTRIBUTE_VALUE_SIG, GET_CHILDREN, GET_CHILDREN_SIG, GET_ELEMENT_VALUE, GET_ELEMENT_VALUE_SIG, GET_ITERATOR_SIG, GET_NODE_NAME, GET_NODE_NAME_SIG, GET_NODE_TYPE, GET_NODE_TYPE_SIG, GET_NODE_VALUE, GET_NODE_VALUE_ITERATOR, GET_NODE_VALUE_ITERATOR_SIG, GET_NODE_VALUE_SIG, GET_PARAMETER, GET_PARAMETER_SIG, GET_PARENT, GET_PARENT_SIG, GET_TYPED_CHILDREN, GET_TYPED_CHILDREN_SIG, GET_UNPARSED_ENTITY_URI, GET_UNPARSED_ENTITY_URI_SIG, HAS_ATTRIBUTE, HAS_ATTRIBUTE_SIG, HASIDCALL_INDEX, HASIDCALL_INDEX_SIG, INT_VALUE, INT_VALUE_SIG, INTEGER_CLASS, INTEGER_SIG, INTERNAL, INVOKE_METHOD, ITERATOR_FIELD_SIG, ITERATOR_PNAME, KEY_INDEX_CLASS, KEY_INDEX_ITERATOR_SIG, KEY_INDEX_SIG, LAST_INDEX, LOAD_DOCUMENT_CLASS, LOCALE_CLASS, LOCALE_SIG, LOOKUP_STYLESHEET_QNAME_NS_REF, LOOKUP_STYLESHEET_QNAME_NS_SIG, MAKE_NODE, MAKE_NODE_LIST, MAKE_NODE_LIST_SIG, MAKE_NODE_LIST_SIG2, MAKE_NODE_SIG, MAKE_NODE_SIG2, MATCHING_ITERATOR, MATH_CLASS, MULTI_DOM_CLASS, MULTI_DOM_SIG, NAMES_INDEX, NAMES_INDEX_SIG, NAMESPACE_FEATURE, NAMESPACE_INDEX, NAMESPACE_INDEX_SIG, NEXT, NEXT_SIG, NEXTID, NODE, NODE_COUNTER, NODE_COUNTER_SIG, NODE_FIELD, NODE_FIELD_SIG, NODE_ITERATOR, NODE_ITERATOR_BASE, NODE_ITERATOR_SIG, NODE_PNAME, NODE_SIG, NODE_SORT_FACTORY, NODE_SORT_FACTORY_SIG, NODE_SORT_RECORD, NODE_SORT_RECORD_SIG, NS_ANCESTORS_INDEX_SIG, NTH_ITERATOR_CLASS, OBJECT_CLASS, OBJECT_SIG, ORDER_ITERATOR, ORDER_ITERATOR_SIG, OUTPUT_BASE, OUTPUT_HANDLER, OUTPUT_HANDLER_SIG, POP_PARAM_FRAME, POP_PARAM_FRAME_SIG, POSITION_INDEX, PREFIX_URIS_ARRAY_SIG, PREFIX_URIS_IDX_SIG, PUSH_PARAM_FRAME, PUSH_PARAM_FRAME_SIG, REDIRECT_URI, RESET, RESET_SIG, RTF_INITIAL_SIZE, RUNTIME_NODE_CLASS, RUNTIME_PACKAGE, SAX_IMPL, SAX_IMPL_CLASS, SAX_IMPL_SIG, SET_START_NODE, SET_START_NODE_SIG, SINGLETON_ITERATOR, SORT_ITERATOR, SORT_ITERATOR_SIG, STATIC_CHAR_DATA_FIELD, STATIC_CHAR_DATA_FIELD_SIG, STATIC_NAMES_ARRAY_FIELD, STATIC_NAMESPACE_ARRAY_FIELD, STATIC_NS_ANCESTORS_ARRAY_FIELD, STATIC_PREFIX_URIS_ARRAY_FIELD, STATIC_PREFIX_URIS_IDX_ARRAY_FIELD, STATIC_TYPES_ARRAY_FIELD, STATIC_URIS_ARRAY_FIELD, STEP_ITERATOR_CLASS, STREAM_XML_OUTPUT, STRING, STRING_BUFFER_CLASS, STRING_BUFFER_SIG, STRING_CLASS, STRING_SIG, STRING_TO_INT, STRING_TO_INT_SIG, STRING_TO_REAL, STRING_TO_REAL_SIG, STRING_VALUE_HANDLER, STRING_VALUE_HANDLER_SIG, STRING_WRITER, STRIP_SPACE, STRIP_SPACE_INTF, STRIP_SPACE_PARAMS, STRIP_SPACE_SIG, TRANSLET_CLASS, TRANSLET_FIELD, TRANSLET_FIELD_SIG, TRANSLET_INTF, TRANSLET_INTF_SIG, TRANSLET_OUTPUT_BASE, TRANSLET_OUTPUT_INTERFACE, TRANSLET_OUTPUT_PNAME, TRANSLET_OUTPUT_SIG, TRANSLET_PNAME, TRANSLET_SIG, TRANSLET_URI, TRANSLET_VERSION_INDEX, TRANSLET_VERSION_INDEX_SIG, TYPES_INDEX, TYPES_INDEX_SIG, UNION_ITERATOR_CLASS, UNION_ITERATOR_SIG, UNSUPPORTED, URIS_INDEX, URIS_INDEX_SIG, WARNING, WRITER_SIG, XHTML_URI, XMLNS_PREFIX, XMLNS_STRING, XMLNS_URI, XSLT_PACKAGE, XSLT_URI`

    - ### Fields inherited from interface org.apache.bcel.generic.InstructionConstants

      `AALOAD, AASTORE, ACONST_NULL, ALOAD_0, ALOAD_1, ALOAD_2, ARETURN, ARRAYLENGTH, ASTORE_0, ASTORE_1, ASTORE_2, ATHROW, BALOAD, BASTORE, bla, CALOAD, CASTORE, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DMUL, DNEG, DREM, DRETURN, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FMUL, FNEG, FREM, FRETURN, FSUB, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, ILOAD_0, ILOAD_1, ILOAD_2, IMUL, INEG, INSTRUCTIONS, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE_0, ISTORE_1, ISTORE_2, ISUB, IUSHR, IXOR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDIV, LMUL, LNEG, LOR, LREM, LRETURN, LSHL, LSHR, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, NOP, POP, POP2, RETURN, SALOAD, SASTORE, SWAP, THIS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Type()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `org.apache.bcel.generic.Instruction` | `ADD()`
    `org.apache.bcel.generic.Instruction` | `CMP(boolean less)`
    `int` | `distanceTo(Type type)` Returns the distance between two types.
    `org.apache.bcel.generic.Instruction` | `DIV()`
    `org.apache.bcel.generic.Instruction` | `DUP()`
    `org.apache.bcel.generic.BranchInstruction` | `GE(boolean tozero)`
    `java.lang.String` | `getClassName()` Returns the class name of an internal type's external representation.
    `org.apache.bcel.generic.BranchInstruction` | `GT(boolean tozero)`
    `abstract boolean` | `identicalTo(Type other)` Returns true if this and other are identical types.
    `boolean` | `implementedAsMethod()` Returns true if this type has no object representaion.
    `boolean` | `isNumber()` Returns true if this type is a numeric type.
    `boolean` | `isSimple()` Returns true if this type is a simple type.
    `org.apache.bcel.generic.BranchInstruction` | `LE(boolean tozero)`
    `org.apache.bcel.generic.Instruction` | `LOAD(int slot)`
    `org.apache.bcel.generic.BranchInstruction` | `LT(boolean tozero)`
    `org.apache.bcel.generic.Instruction` | `MUL()`
    `org.apache.bcel.generic.Instruction` | `NEG()`
    `static Type` | `newObjectType(java.lang.Class clazz)` Factory method to instantiate object types.
    `static Type` | `newObjectType(java.lang.String javaClassName)` Factory method to instantiate object types.
    `org.apache.bcel.generic.Instruction` | `POP()`
    `org.apache.bcel.generic.Instruction` | `REM()`
    `org.apache.bcel.generic.Instruction` | `STORE(int slot)`
    `org.apache.bcel.generic.Instruction` | `SUB()`
    `abstract org.apache.bcel.generic.Type` | `toJCType()`
    `abstract java.lang.String` | `toSignature()` Returns the signature of an internal type's external representation.
    `abstract java.lang.String` | `toString()` Returns a string representation of this type.
    `void` | `translateBox(ClassGenerator classGen, MethodGenerator methodGen)` Translates an object of this type to its boxed representation.
    `void` | `translateFrom(ClassGenerator classGen, MethodGenerator methodGen, java.lang.Class clazz)` Translates an external (Java) type denoted by `clazz` to an object of this type.
    `void` | `translateTo(ClassGenerator classGen, MethodGenerator methodGen, java.lang.Class clazz)` Translates an object of this type to the external (Java) type denoted by `clazz`.
    `void` | `translateTo(ClassGenerator classGen, MethodGenerator methodGen, Type type)` Translates an object of this type to an object of type `type`.
    `FlowList` | `translateToDesynthesized(ClassGenerator classGen, MethodGenerator methodGen, BooleanType type)` Translates an object of this type to an non-synthesized boolean.
    `FlowList` | `translateToDesynthesized(ClassGenerator classGen, MethodGenerator methodGen, Type type)` Translates object of this type to an object of type `type`.
    `void` | `translateUnBox(ClassGenerator classGen, MethodGenerator methodGen)` Translates an object of this type to its unboxed representation.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### Int

          public static final Type Int

    - #### Real

          public static final Type Real

    - #### Boolean

          public static final Type Boolean

    - #### NodeSet

          public static final Type NodeSet

    - #### String

          public static final Type String

    - #### ResultTree

          public static final Type ResultTree

    - #### Reference

          public static final Type Reference

    - #### Void

          public static final Type Void

    - #### Object

          public static final Type Object

    - #### Node

          public static final Type Node

    - #### Root

          public static final Type Root

    - #### Element

          public static final Type Element

    - #### Attribute

          public static final Type Attribute

    - #### Text

          public static final Type Text

    - #### Comment

          public static final Type Comment

    - #### Processing_Instruction

          public static final Type Processing_Instruction

  - ### Constructor Detail

    - #### Type

          public Type()

  - ### Method Detail

    - #### newObjectType

          public static Type newObjectType(java.lang.String javaClassName)

      Factory method to instantiate object types. Returns a pre-defined instance for "java.lang.Object" and "java.lang.String".

    - #### newObjectType

          public static Type newObjectType(java.lang.Class clazz)

      Factory method to instantiate object types. Returns a pre-defined instance for java.lang.Object.class and java.lang.String.class.

    - #### toString

          public abstract java.lang.String toString()

      Returns a string representation of this type.
      Overrides:
        `toString` in class `java.lang.Object`

    - #### identicalTo

          public abstract boolean identicalTo(Type other)

      Returns true if this and other are identical types.

    - #### isNumber

          public boolean isNumber()

      Returns true if this type is a numeric type. Redefined in NumberType.

    - #### implementedAsMethod

          public boolean implementedAsMethod()

      Returns true if this type has no object representaion. Redefined in ResultTreeType.

    - #### isSimple

          public boolean isSimple()

      Returns true if this type is a simple type. Redefined in NumberType, BooleanType and StringType.

    - #### toJCType

          public abstract org.apache.bcel.generic.Type toJCType()

    - #### distanceTo

          public int distanceTo(Type type)

      Returns the distance between two types. This measure is used to select overloaded functions/operators. This method is typically redefined by the subclasses.

    - #### toSignature

          public abstract java.lang.String toSignature()

      Returns the signature of an internal type's external representation.

    - #### translateTo

          public void translateTo(ClassGenerator classGen,
                                  MethodGenerator methodGen,
                                  Type type)

      Translates an object of this type to an object of type `type`. Expects an object of the former type and pushes an object of the latter.

    - #### translateToDesynthesized

          public FlowList translateToDesynthesized(ClassGenerator classGen,
                                                   MethodGenerator methodGen,
                                                   Type type)

      Translates object of this type to an object of type `type`. Expects an object of the former type and pushes an object of the latter if not boolean. If type `type` is boolean then a branchhandle list (to be appended to the false list) is returned.

    - #### translateToDesynthesized

          public FlowList translateToDesynthesized(ClassGenerator classGen,
                                                   MethodGenerator methodGen,
                                                   BooleanType type)

      Translates an object of this type to an non-synthesized boolean. It does not push a 0 or a 1 but instead returns branchhandle list to be appended to the false list.

    - #### translateTo

          public void translateTo(ClassGenerator classGen,
                                  MethodGenerator methodGen,
                                  java.lang.Class clazz)

      Translates an object of this type to the external (Java) type denoted by `clazz`. This method is used to translate parameters when external functions are called.

    - #### translateFrom

          public void translateFrom(ClassGenerator classGen,
                                    MethodGenerator methodGen,
                                    java.lang.Class clazz)

      Translates an external (Java) type denoted by `clazz` to an object of this type. This method is used to translate return values when external functions are called.

    - #### translateBox

          public void translateBox(ClassGenerator classGen,
                                   MethodGenerator methodGen)

      Translates an object of this type to its boxed representation.

    - #### translateUnBox

          public void translateUnBox(ClassGenerator classGen,
                                     MethodGenerator methodGen)

      Translates an object of this type to its unboxed representation.

    - #### getClassName

          public java.lang.String getClassName()

      Returns the class name of an internal type's external representation.

    - #### ADD

          public org.apache.bcel.generic.Instruction ADD()

    - #### SUB

          public org.apache.bcel.generic.Instruction SUB()

    - #### MUL

          public org.apache.bcel.generic.Instruction MUL()

    - #### DIV

          public org.apache.bcel.generic.Instruction DIV()

    - #### REM

          public org.apache.bcel.generic.Instruction REM()

    - #### NEG

          public org.apache.bcel.generic.Instruction NEG()

    - #### LOAD

          public org.apache.bcel.generic.Instruction LOAD(int slot)

    - #### STORE

          public org.apache.bcel.generic.Instruction STORE(int slot)

    - #### POP

          public org.apache.bcel.generic.Instruction POP()

    - #### GT

          public org.apache.bcel.generic.BranchInstruction GT(boolean tozero)

    - #### GE

          public org.apache.bcel.generic.BranchInstruction GE(boolean tozero)

    - #### LT

          public org.apache.bcel.generic.BranchInstruction LT(boolean tozero)

    - #### LE

          public org.apache.bcel.generic.BranchInstruction LE(boolean tozero)

    - #### CMP

          public org.apache.bcel.generic.Instruction CMP(boolean less)

    - #### DUP

          public org.apache.bcel.generic.Instruction DUP()

Copyright © 2023 Apache XML Project. All Rights Reserved.