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
- 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
FieldsModifier and TypeFieldDescriptionstatic final Type
static final Type
static final Type
static final Type
static final Type
static final Type
static final Type
static final Type
static final Type
static final Type
static final Type
static final Type
static final Type
static final Type
static final Type
static final Type
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 -
Method Summary
Modifier and TypeMethodDescriptionorg.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) 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
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
(Class clazz) Factory method to instantiate object types.static Type
newObjectType
(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 String
Returns the signature of an internal type's external representation.abstract 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, Class clazz) Translates an external (Java) type denoted byclazz
to an object of this type.void
translateTo
(ClassGenerator classGen, MethodGenerator methodGen, Class clazz) Translates an object of this type to the external (Java) type denoted byclazz
.void
translateTo
(ClassGenerator classGen, MethodGenerator methodGen, Type type) Translates an object of this type to an object of typetype
.translateToDesynthesized
(ClassGenerator classGen, MethodGenerator methodGen, BooleanType type) Translates an object of this type to an non-synthesized boolean.translateToDesynthesized
(ClassGenerator classGen, MethodGenerator methodGen, Type type) Translates object of this type to an object of typetype
.void
translateUnBox
(ClassGenerator classGen, MethodGenerator methodGen) Translates an object of this type to its unboxed representation.
-
Field Details
-
Int
-
Real
-
Boolean
-
NodeSet
-
String
-
ResultTree
-
Reference
-
Void
-
Object
-
Node
-
Root
-
Element
-
Attribute
-
Text
-
Comment
-
Processing_Instruction
-
-
Constructor Details
-
Type
public Type()
-
-
Method Details
-
newObjectType
Factory method to instantiate object types. Returns a pre-defined instance for "java.lang.Object" and "java.lang.String". -
newObjectType
Factory method to instantiate object types. Returns a pre-defined instance for java.lang.Object.class and java.lang.String.class. -
toString
Returns a string representation of this type. -
identicalTo
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
Returns the distance between two types. This measure is used to select overloaded functions/operators. This method is typically redefined by the subclasses. -
toSignature
Returns the signature of an internal type's external representation. -
translateTo
Translates an object of this type to an object of typetype
. 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 typetype
. Expects an object of the former type and pushes an object of the latter if not boolean. If typetype
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
Translates an object of this type to the external (Java) type denoted byclazz
. This method is used to translate parameters when external functions are called. -
translateFrom
Translates an external (Java) type denoted byclazz
to an object of this type. This method is used to translate return values when external functions are called. -
translateBox
Translates an object of this type to its boxed representation. -
translateUnBox
Translates an object of this type to its unboxed representation. -
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()
-