org.apache.xalan.xsltc.compiler.util

Class StringType

Implemented Interfaces:
Constants, InstructionConstants

public class StringType
extends Type

Authors:
Jacek Ambroziak
Santiago Pericas-Geertsen

Nested Class Summary

Field Summary

Fields inherited from class org.apache.xalan.xsltc.compiler.util.Type

Attribute, Boolean, Comment, Element, Int, Node, NodeSet, Object, ObjectString, 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, ATTRIBUTES_SIG, ATTRIBUTE_LIST_FIELD, ATTRIBUTE_LIST_IMPL_CLASS, ATTRIBUTE_LIST_IMPL_SIG, ATTR_SET_SIG, BASIS_LIBRARY_CLASS, BOOLEAN_CLASS, BOOLEAN_VALUE, BOOLEAN_VALUE_SIG, CACHED_NODE_LIST_ITERATOR_CLASS, CALL_FUNCTION_CLASS, CHARACTERS, CHARACTERSW, CHARACTERSW_SIG, CHARACTERS_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, HASIDCALL_INDEX, HASIDCALL_INDEX_SIG, HAS_ATTRIBUTE, HAS_ATTRIBUTE_SIG, INTEGER_CLASS, INTEGER_SIG, INTERNAL, INT_VALUE, INT_VALUE_SIG, 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, NAMESPACE_FEATURE, NAMESPACE_INDEX, NAMESPACE_INDEX_SIG, NAMES_INDEX, NAMES_INDEX_SIG, NEXT, NEXTID, NEXT_SIG, 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_NAMESPACE_ARRAY_FIELD, STATIC_NAMES_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

Method Summary

Instruction
LOAD(int slot)
Instruction
STORE(int slot)
String
getClassName()
Returns the class name of an internal type's external representation.
boolean
identicalTo(Type other)
boolean
isSimple()
org.apache.bcel.generic.Type
toJCType()
String
toSignature()
String
toString()
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 (primitive) Java type into a string.
void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, Class clazz)
Translates a internal string into an external (Java) string.
void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, BooleanType type)
Translates a string into a synthesized boolean.
void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, RealType type)
Translates a string into a real by calling stringToReal() from the basis library.
void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, ReferenceType type)
Expects a string on the stack and pushes a boxed string.
void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, Type type)
Translates a string into an object of internal type type.
FlowList
translateToDesynthesized(ClassGenerator classGen, MethodGenerator methodGen, BooleanType type)
Translates a string into 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.Type

ADD, CMP, DIV, DUP, GE, GT, LE, LOAD, LT, MUL, NEG, POP, REM, STORE, SUB, distanceTo, getClassName, identicalTo, implementedAsMethod, isNumber, isSimple, newObjectType, newObjectType, toJCType, toSignature, toString, translateBox, translateFrom, translateTo, translateTo, translateToDesynthesized, translateToDesynthesized, translateUnBox

Method Details

LOAD

public Instruction LOAD(int slot)
Overrides:
LOAD in interface Type


STORE

public Instruction STORE(int slot)
Overrides:
STORE in interface Type


getClassName

public String getClassName()
Returns the class name of an internal type's external representation.
Overrides:
getClassName in interface Type


identicalTo

public boolean identicalTo(Type other)
Overrides:
identicalTo in interface Type


isSimple

public boolean isSimple()
Overrides:
isSimple in interface Type


toJCType

public org.apache.bcel.generic.Type toJCType()
Overrides:
toJCType in interface Type


toSignature

public String toSignature()
Overrides:
toSignature in interface Type


toString

public String toString()
Overrides:
toString in interface Type


translateBox

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


translateFrom

public void translateFrom(ClassGenerator classGen,
                          MethodGenerator methodGen,
                          Class clazz)
Translates an external (primitive) Java type into a string.
Overrides:
translateFrom in interface Type

See Also:
Type.translateFrom(ClassGenerator,MethodGenerator,Class)


translateTo

public void translateTo(ClassGenerator classGen,
                        MethodGenerator methodGen,
                        Class clazz)
Translates a internal string into an external (Java) string.
Overrides:
translateTo in interface Type

See Also:
Type.translateFrom(ClassGenerator,MethodGenerator,Class)


translateTo

public void translateTo(ClassGenerator classGen,
                        MethodGenerator methodGen,
                        BooleanType type)
Translates a string into a synthesized boolean.

See Also:
org.apache.xalan.xsltc.compiler.util.Type.translateTo


translateTo

public void translateTo(ClassGenerator classGen,
                        MethodGenerator methodGen,
                        RealType type)
Translates a string into a real by calling stringToReal() from the basis library.

See Also:
org.apache.xalan.xsltc.compiler.util.Type.translateTo


translateTo

public void translateTo(ClassGenerator classGen,
                        MethodGenerator methodGen,
                        ReferenceType type)
Expects a string on the stack and pushes a boxed string. Strings are already boxed so the translation is just a NOP.

See Also:
org.apache.xalan.xsltc.compiler.util.Type.translateTo


translateTo

public void translateTo(ClassGenerator classGen,
                        MethodGenerator methodGen,
                        Type type)
Translates a string into an object of internal type type. The translation to int is undefined since strings are always converted to reals in arithmetic expressions.
Overrides:
translateTo in interface Type

See Also:
org.apache.xalan.xsltc.compiler.util.Type.translateTo


translateToDesynthesized

public FlowList translateToDesynthesized(ClassGenerator classGen,
                                         MethodGenerator methodGen,
                                         BooleanType type)
Translates a string into 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 interface Type

See Also:
org.apache.xalan.xsltc.compiler.util.Type.translateToDesynthesized


translateUnBox

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


Copyright B) 2004 Apache XML Project. All Rights Reserved.