org.apache.xalan.xsltc.compiler.util

Class BooleanType

Implemented Interfaces:
Constants, InstructionConstants

public final class BooleanType
extends Type

Authors:
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, 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, 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, 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, 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_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, 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, 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_NAMESPACE_ARRAY_FIELD, STATIC_NAMES_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

Method Summary

BranchInstruction
GE(boolean tozero)
BranchInstruction
GT(boolean tozero)
BranchInstruction
LE(boolean tozero)
Instruction
LOAD(int slot)
BranchInstruction
LT(boolean tozero)
Instruction
STORE(int slot)
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 (Java) boolean into internal boolean.
void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, Class clazz)
Translates an internal boolean into an external (Java) boolean.
void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, RealType type)
Expects a boolean on the stack and pushes a real.
void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, ReferenceType type)
Expects a boolean on the stack and pushes a boxed boolean.
void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, StringType type)
Expects a boolean on the stack and pushes a string.
void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, Type type)
Translates a real into an object of internal type type.
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

GE

public BranchInstruction GE(boolean tozero)
Overrides:
GE in interface Type

GT

public BranchInstruction GT(boolean tozero)
Overrides:
GT in interface Type

LE

public BranchInstruction LE(boolean tozero)
Overrides:
LE in interface Type

LOAD

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

LT

public BranchInstruction LT(boolean tozero)
Overrides:
LT in interface Type

STORE

public Instruction STORE(int slot)
Overrides:
STORE 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 (Java) boolean into internal boolean.
Overrides:
translateFrom in interface Type

translateTo

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

translateTo

public void translateTo(ClassGenerator classGen,
                        MethodGenerator methodGen,
                        RealType type)
Expects a boolean on the stack and pushes a real. The value "true" is converted to 1.0 and the value "false" to 0.0.
See Also:
org.apache.xalan.xsltc.compiler.util.Type.translateTo

translateTo

public void translateTo(ClassGenerator classGen,
                        MethodGenerator methodGen,
                        ReferenceType type)
Expects a boolean on the stack and pushes a boxed boolean. Boxed booleans are represented by an instance of java.lang.Boolean.
See Also:
org.apache.xalan.xsltc.compiler.util.Type.translateTo

translateTo

public void translateTo(ClassGenerator classGen,
                        MethodGenerator methodGen,
                        StringType type)
Expects a boolean on the stack and pushes a string. If the value on the stack is zero, then the string 'false' is pushed. Otherwise, the string 'true' is pushed.
See Also:
org.apache.xalan.xsltc.compiler.util.Type.translateTo

translateTo

public void translateTo(ClassGenerator classGen,
                        MethodGenerator methodGen,
                        Type type)
Translates a real into an object of internal type type. The translation to int is undefined since booleans are always converted to reals in arithmetic expressions.
Overrides:
translateTo in interface Type
See Also:
org.apache.xalan.xsltc.compiler.util.Type.translateTo

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) 2006 Apache XML Project. All Rights Reserved.