Class IntType
- java.lang.Object
-
- org.apache.xalan.xsltc.compiler.util.Type
-
- org.apache.xalan.xsltc.compiler.util.NumberType
-
- org.apache.xalan.xsltc.compiler.util.IntType
-
- All Implemented Interfaces:
org.apache.bcel.generic.InstructionConstants
,Constants
public final class IntType extends NumberType
- Author:
- Jacek Ambroziak, Santiago Pericas-Geertsen
-
-
Field Summary
-
Fields inherited from class org.apache.xalan.xsltc.compiler.util.Type
Attribute, Boolean, Comment, Element, Int, Node, NodeSet, Object, Processing_Instruction, Real, Reference, ResultTree, Root, String, Text, 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
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.bcel.generic.Instruction
ADD()
int
distanceTo(Type type)
Returns the distance between two types.org.apache.bcel.generic.Instruction
DIV()
org.apache.bcel.generic.BranchInstruction
GE(boolean tozero)
org.apache.bcel.generic.BranchInstruction
GT(boolean tozero)
boolean
identicalTo(Type other)
Returns true if this and other are identical types.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()
org.apache.bcel.generic.Instruction
REM()
org.apache.bcel.generic.Instruction
STORE(int slot)
org.apache.bcel.generic.Instruction
SUB()
org.apache.bcel.generic.Type
toJCType()
java.lang.String
toSignature()
Returns the signature of an internal type's external representation.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
translateTo(ClassGenerator classGen, MethodGenerator methodGen, java.lang.Class clazz)
Translates an integer into the Java type denoted byclazz
.void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, BooleanType type)
Expects an integer on the stack and pushes a 0 if its value is 0 and a 1 otherwise.void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, RealType type)
Expects an integer on the stack and pushes a real.void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, ReferenceType type)
Expects an integer on the stack and pushes a boxed integer.void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, StringType type)
Expects an integer on the stack and pushes its string value by callingInteger.toString(int i)
.void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, Type type)
Translates an integer into an object of internal typetype
.FlowList
translateToDesynthesized(ClassGenerator classGen, MethodGenerator methodGen, BooleanType type)
Expects an integer on the stack and translates it to a non-synthesized boolean.void
translateUnBox(ClassGenerator classGen, MethodGenerator methodGen)
Translates an object of this type to its unboxed representation.-
Methods inherited from class org.apache.xalan.xsltc.compiler.util.NumberType
isNumber, isSimple
-
Methods inherited from class org.apache.xalan.xsltc.compiler.util.Type
CMP, DUP, getClassName, implementedAsMethod, newObjectType, newObjectType, POP, translateFrom, translateToDesynthesized
-
-
-
-
Method Detail
-
toString
public java.lang.String toString()
Description copied from class:Type
Returns a string representation of this type.
-
identicalTo
public boolean identicalTo(Type other)
Description copied from class:Type
Returns true if this and other are identical types.- Specified by:
identicalTo
in classType
-
toSignature
public java.lang.String toSignature()
Description copied from class:Type
Returns the signature of an internal type's external representation.- Specified by:
toSignature
in classType
-
distanceTo
public int distanceTo(Type type)
Description copied from class:Type
Returns the distance between two types. This measure is used to select overloaded functions/operators. This method is typically redefined by the subclasses.- Overrides:
distanceTo
in classType
- See Also:
Type.distanceTo(org.apache.xalan.xsltc.compiler.util.Type)
-
translateTo
public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, Type type)
Translates an integer into an object of internal typetype
.
-
translateTo
public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, RealType type)
Expects an integer on the stack and pushes a real.
-
translateTo
public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, StringType type)
Expects an integer on the stack and pushes its string value by callingInteger.toString(int i)
.
-
translateTo
public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, BooleanType type)
Expects an integer on the stack and pushes a 0 if its value is 0 and a 1 otherwise.
-
translateToDesynthesized
public FlowList translateToDesynthesized(ClassGenerator classGen, MethodGenerator methodGen, BooleanType type)
Expects an integer on the stack and translates it to a 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, ReferenceType type)
Expects an integer on the stack and pushes a boxed integer. Boxed integers are represented by an instance ofjava.lang.Integer
.
-
translateTo
public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, java.lang.Class clazz)
Translates an integer into the Java type denoted byclazz
. Expects an integer on the stack and pushes a number of the appropriate type after coercion.- Overrides:
translateTo
in classType
-
translateBox
public void translateBox(ClassGenerator classGen, MethodGenerator methodGen)
Translates an object of this type to its boxed representation.- Overrides:
translateBox
in classType
-
translateUnBox
public void translateUnBox(ClassGenerator classGen, MethodGenerator methodGen)
Translates an object of this type to its unboxed representation.- Overrides:
translateUnBox
in classType
-
-