Modifier and Type | Field and Description |
---|---|
protected FlowList |
_falseList
Instruction handles that comprise the false list.
|
protected FlowList |
_trueList
Instruction handles that comprise the true list.
|
protected Type |
_type
The type of this expression.
|
_attributes, _parent, _qname, IndentIncrement, UNKNOWN_STYLESHEET_NODE_ID
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
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 and Description |
---|
LocationPathPattern() |
Modifier and Type | Method and Description |
---|---|
void |
backPatchFalseList(org.apache.bcel.generic.InstructionHandle ih) |
void |
backPatchTrueList(org.apache.bcel.generic.InstructionHandle ih) |
org.apache.bcel.generic.InstructionList |
compile(ClassGenerator classGen,
MethodGenerator methodGen)
Translate this node into a fresh instruction list.
|
void |
desynthesize(ClassGenerator classGen,
MethodGenerator methodGen) |
Object |
evaluateAtCompileTime()
Returns an object representing the compile-time evaluation
of an expression.
|
int |
getAxis() |
double |
getDefaultPriority() |
FlowList |
getFalseList() |
abstract org.apache.xalan.xsltc.compiler.StepPattern |
getKernelPattern() |
double |
getPriority()
Returns the priority of this pattern (section 5.5 in the XSLT spec).
|
Template |
getTemplate()
Get the Template node that represents the
|
FlowList |
getTrueList() |
Type |
getType() |
boolean |
hasLastCall() |
boolean |
hasPositionCall() |
abstract boolean |
isWildcard() |
MethodType |
lookupPrimop(org.apache.xalan.xsltc.compiler.SymbolTable stable,
String op,
MethodType ctype)
Search for a primop in the symbol table that matches the method type
ctype . |
boolean |
noSmallerThan(LocationPathPattern other)
This method is used by the Mode class to prioritise patterns and
template.
|
abstract void |
reduceKernelPattern() |
void |
setTemplate(Template template) |
void |
startIterator(ClassGenerator classGen,
MethodGenerator methodGen)
If this expression is of type node-set and it is not a variable
reference, then call setStartNode() passing the context node.
|
void |
synthesize(ClassGenerator classGen,
MethodGenerator methodGen)
Synthesize a boolean expression, i.e., either push a 0 or 1 onto the
operand stack for the next statement to succeed.
|
String |
toString() |
void |
translate(ClassGenerator classGen,
MethodGenerator methodGen)
Translate this node into JVM bytecodes.
|
void |
translateDesynthesized(ClassGenerator classGen,
MethodGenerator methodGen)
Redefined by expressions of type boolean that use flow lists.
|
Type |
typeCheck(org.apache.xalan.xsltc.compiler.SymbolTable stable)
Returns the type of a pattern, which is always a
NodeType . |
addAttribute, addElement, addPrefixMapping, compileResultTree, contextDependent, dependentContents, display, displayContents, elementAt, elementCount, elements, getAttribute, getAttribute, getAttributes, getContents, getImportPrecedence, getLineNumber, getNodeIDForStylesheetNSLookup, getParent, getParser, getPrefixMapping, getQName, getStylesheet, getSymbolTable, getXSLTC, hasAttribute, hasContents, indent, isDummy, lastChild, lookupNamespace, lookupPrefix, parseChildren, parseContents, removeElement, reportError, reportWarning, setAttributes, setFirstElement, setLineNumber, setParent, setParser, setPrefixMapping, setQName, setQName, translateContents, typeCheckContents, updateScope
protected Type _type
typeCheck()
.protected FlowList _trueList
protected FlowList _falseList
public Type typeCheck(org.apache.xalan.xsltc.compiler.SymbolTable stable) throws TypeCheckError
Pattern
NodeType
.
A NodeType
has a number of subtypes defined by
NodeType._type
corresponding to each type of node.typeCheck
in class Pattern
stable
- The compiler/parser's symbol tableTypeCheckError
public void translate(ClassGenerator classGen, MethodGenerator methodGen)
Pattern
translate
on a pattern, make sure that the node being
matched is on top of the stack. After calling translate
,
make sure to backpatch both true and false lists. True lists are the
default, in the sense that they always "fall through". If this
is not the intended semantics (e.g., see
AlternativePattern.translate(org.apache.xalan.xsltc.compiler.util.ClassGenerator, org.apache.xalan.xsltc.compiler.util.MethodGenerator)
)
then a GOTO must be appended to the instruction list after calling
translate
.public void setTemplate(Template template)
public Template getTemplate()
SyntaxTreeNode
getTemplate
in class SyntaxTreeNode
public final double getPriority()
Pattern
getPriority
in class Pattern
public double getDefaultPriority()
public boolean noSmallerThan(LocationPathPattern other)
public abstract org.apache.xalan.xsltc.compiler.StepPattern getKernelPattern()
public abstract void reduceKernelPattern()
public abstract boolean isWildcard()
public int getAxis()
public String toString()
public Type getType()
public boolean hasPositionCall()
public boolean hasLastCall()
public Object evaluateAtCompileTime()
public final org.apache.bcel.generic.InstructionList compile(ClassGenerator classGen, MethodGenerator methodGen)
public void translateDesynthesized(ClassGenerator classGen, MethodGenerator methodGen)
public void startIterator(ClassGenerator classGen, MethodGenerator methodGen)
public void synthesize(ClassGenerator classGen, MethodGenerator methodGen)
public void desynthesize(ClassGenerator classGen, MethodGenerator methodGen)
public FlowList getFalseList()
public FlowList getTrueList()
public void backPatchFalseList(org.apache.bcel.generic.InstructionHandle ih)
public void backPatchTrueList(org.apache.bcel.generic.InstructionHandle ih)
public MethodType lookupPrimop(org.apache.xalan.xsltc.compiler.SymbolTable stable, String op, MethodType ctype)
ctype
. Two methods match if they have the same arity.
If a primop is overloaded then the "closest match" is returned. The
first entry in the vector of primops that has the right arity is
considered to be the default one.Copyright © 2012 JBoss by Red Hat. All Rights Reserved.