org.apache.xalan.xsltc.compiler.util
Class IntType

java.lang.Object
  extended by org.apache.xalan.xsltc.compiler.util.Type
      extended by org.apache.xalan.xsltc.compiler.util.NumberType
          extended by 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

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.bcel.generic.InstructionConstants
org.apache.bcel.generic.InstructionConstants.Clinit
 
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, CALL_FUNCTION_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, 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_SIG, LAST_INDEX, LOAD_DOCUMENT_CLASS, LOCALE_CLASS, LOCALE_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, 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, 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_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
 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, 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, java.lang.Class clazz)
          Translates an integer into the Java type denoted by clazz.
 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 calling Integer.toString(int i).
 void translateTo(ClassGenerator classGen, MethodGenerator methodGen, Type type)
          Translates an integer into an object of internal type type.
 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
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

toString

public java.lang.String toString()
Description copied from class: Type
Returns a string representation of this type.

Specified by:
toString in class 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 class Type

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 class Type

toJCType

public org.apache.bcel.generic.Type toJCType()
Specified by:
toJCType in class Type

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 class Type
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 type type.

Overrides:
translateTo in class Type
See Also:
Type.translateTo(org.apache.xalan.xsltc.compiler.util.ClassGenerator, org.apache.xalan.xsltc.compiler.util.MethodGenerator, org.apache.xalan.xsltc.compiler.util.Type)

translateTo

public void translateTo(ClassGenerator classGen,
                        MethodGenerator methodGen,
                        RealType type)
Expects an integer on the stack and pushes a real.

See Also:
Type.translateTo(org.apache.xalan.xsltc.compiler.util.ClassGenerator, org.apache.xalan.xsltc.compiler.util.MethodGenerator, org.apache.xalan.xsltc.compiler.util.Type)

translateTo

public void translateTo(ClassGenerator classGen,
                        MethodGenerator methodGen,
                        StringType type)
Expects an integer on the stack and pushes its string value by calling Integer.toString(int i).

See Also:
Type.translateTo(org.apache.xalan.xsltc.compiler.util.ClassGenerator, org.apache.xalan.xsltc.compiler.util.MethodGenerator, org.apache.xalan.xsltc.compiler.util.Type)

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.

See Also:
Type.translateTo(org.apache.xalan.xsltc.compiler.util.ClassGenerator, org.apache.xalan.xsltc.compiler.util.MethodGenerator, org.apache.xalan.xsltc.compiler.util.Type)

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.

Overrides:
translateToDesynthesized in class Type
See Also:
Type.translateToDesynthesized(org.apache.xalan.xsltc.compiler.util.ClassGenerator, org.apache.xalan.xsltc.compiler.util.MethodGenerator, org.apache.xalan.xsltc.compiler.util.Type)

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 of java.lang.Integer.

See Also:
Type.translateTo(org.apache.xalan.xsltc.compiler.util.ClassGenerator, org.apache.xalan.xsltc.compiler.util.MethodGenerator, org.apache.xalan.xsltc.compiler.util.Type)

translateTo

public void translateTo(ClassGenerator classGen,
                        MethodGenerator methodGen,
                        java.lang.Class clazz)
Translates an integer into the Java type denoted by clazz. Expects an integer on the stack and pushes a number of the appropriate type after coercion.

Overrides:
translateTo in class Type

translateBox

public void translateBox(ClassGenerator classGen,
                         MethodGenerator methodGen)
Translates an object of this type to its boxed representation.

Overrides:
translateBox in class Type

translateUnBox

public void translateUnBox(ClassGenerator classGen,
                           MethodGenerator methodGen)
Translates an object of this type to its unboxed representation.

Overrides:
translateUnBox in class Type

ADD

public org.apache.bcel.generic.Instruction ADD()
Overrides:
ADD in class Type

SUB

public org.apache.bcel.generic.Instruction SUB()
Overrides:
SUB in class Type

MUL

public org.apache.bcel.generic.Instruction MUL()
Overrides:
MUL in class Type

DIV

public org.apache.bcel.generic.Instruction DIV()
Overrides:
DIV in class Type

REM

public org.apache.bcel.generic.Instruction REM()
Overrides:
REM in class Type

NEG

public org.apache.bcel.generic.Instruction NEG()
Overrides:
NEG in class Type

LOAD

public org.apache.bcel.generic.Instruction LOAD(int slot)
Overrides:
LOAD in class Type

STORE

public org.apache.bcel.generic.Instruction STORE(int slot)
Overrides:
STORE in class Type

GT

public org.apache.bcel.generic.BranchInstruction GT(boolean tozero)
Overrides:
GT in class Type

GE

public org.apache.bcel.generic.BranchInstruction GE(boolean tozero)
Overrides:
GE in class Type

LT

public org.apache.bcel.generic.BranchInstruction LT(boolean tozero)
Overrides:
LT in class Type

LE

public org.apache.bcel.generic.BranchInstruction LE(boolean tozero)
Overrides:
LE in class Type


Copyright ? 2005 Apache XML Project. All Rights Reserved.