org.apache.xpath.compiler

## Class OpCodes

- java.lang.Object
- - org.apache.xpath.compiler.OpCodes

    public class OpCodes
    extends java.lang.Object

Operations codes for XPath. Code for the descriptions of the operations codes: [UPPER CASE] indicates a literal value, [lower case] is a description of a value, ([length] always indicates the length of the operation, including the operations code and the length integer.) {UPPER CASE} indicates the given production, {description} is the description of a new production, (For instance, {boolean expression} means some expression that should be resolved to a boolean.) * means that it occurs zero or more times, + means that it occurs one or more times, ? means that it is optional. returns: indicates what the production should return.

### Field Summary

Fields
`static int` `AXES_END_TYPES` The end of the axes types.
`static int` `AXES_START_TYPES` [FROM_stepType] [length, including predicates] [length of just the step, without the predicates] {node test} {predicates}?
`static int` `ELEMWILDCARD` [ELEMWILDCARD] Means ELEMWILDCARD ("*"), used instead of string index in some places.
`static int` `EMPTY` [EMPTY] Empty slot to indicate NULL.
`static int` `ENDOP` [ENDOP] Some operators may like to have a terminator.
`static int` `FROM_ANCESTORS` ancestor axes opcode.
`static int` `FROM_ANCESTORS_OR_SELF` ancestor-or-self axes opcode.
`static int` `FROM_ATTRIBUTES` attribute axes opcode.
`static int` `FROM_CHILDREN` children axes opcode.
`static int` `FROM_DESCENDANTS` descendants axes opcode.
`static int` `FROM_DESCENDANTS_OR_SELF` descendants-of-self axes opcode.
`static int` `FROM_FOLLOWING` following axes opcode.
`static int` `FROM_FOLLOWING_SIBLINGS` following-siblings axes opcode.
`static int` `FROM_NAMESPACE` namespace axes opcode.
`static int` `FROM_PARENT` parent axes opcode.
`static int` `FROM_PRECEDING` preceding axes opcode.
`static int` `FROM_PRECEDING_SIBLINGS` preceding-sibling axes opcode.
`static int` `FROM_ROOT` '/' axes opcode.
`static int` `FROM_SELF` self axes opcode.
`static int` `MATCH_ANY_ANCESTOR` For match patterns.
`static int` `MATCH_ATTRIBUTE` For match patterns.
`static int` `MATCH_IMMEDIATE_ANCESTOR` For match patterns.
`static int` `NODENAME` [NODENAME] [index to ns token or EMPTY] [index to name token] returns: XBoolean
`static int` `NODETYPE_ANYELEMENT` [NODETYPE_ANY] No size or arguments.
`static int` `NODETYPE_COMMENT` [NODETYPE_COMMENT] No size or arguments.
`static int` `NODETYPE_FUNCTEST` [NODETYPE_ANY] No size or arguments.
`static int` `NODETYPE_NODE` [NODETYPE_NODE] No size or arguments.
`static int` `NODETYPE_PI` [NODETYPE_PI] [index to token] Note: must not overlap function OP number!
`static int` `NODETYPE_ROOT` [NODETYPE_ROOT] No size or arguments.
`static int` `NODETYPE_TEXT` [NODETYPE_TEXT] No size or arguments.
`static int` `OP_AND` [OP_AND] [length] {boolean expression} {boolean expression} returns: XBoolean
`static int` `OP_ARGUMENT` [OP_ARGUMENT] (Function argument.)
`static int` `OP_BOOL` [OP_BOOL] (cast operation) [length] {expression} returns: XBoolean
`static int` `OP_DIV` [OP_DIV] [length] {number expression} {number expression} returns: XNumber
`static int` `OP_EQUALS` [OP_EQUALS] [length] {expression} {expression} returns: XBoolean
`static int` `OP_EXTFUNCTION` [OP_EXTFUNCTION] (Extension function.)
`static int` `OP_FUNCTION` [OP_FUNCTION] [length] [FUNC_name] {OP_ARGUMENT} [ENDOP] returns: XNodeSet XNumber XString XBoolean XRTree XObject
`static int` `OP_GROUP` [OP_GROUP] [length] {expression} returns: XNodeSet XNumber XString XBoolean XRTree XObject
`static int` `OP_GT` [OP_GT] (greater-than) [length] {number expression} {number expression} returns: XBoolean
`static int` `OP_GTE` [OP_GTE] (greater-than-or-equals) [length] {number expression} {number expression} returns: XBoolean
`static int` `OP_LITERAL` [OP_LITERAL] [3] [index to token] returns: XString
`static int` `OP_LOCATIONPATH` [OP_LOCATIONPATH] [length] {FROM_stepType} | {function} {predicate} [ENDOP] (Note that element and attribute namespaces and names can be wildcarded '*'.)
`static int` `OP_LOCATIONPATHPATTERN` [OP_LOCATIONPATHPATTERN] [length] {FROM_stepType} | {function}{predicate} [ENDOP] returns: XNodeSet
`static int` `OP_LT` [OP_LT] (less-than) [length] {number expression} {number expression} returns: XBoolean
`static int` `OP_LTE` [OP_LTE] (less-than-or-equals) [length] {number expression} {number expression} returns: XBoolean
`static int` `OP_MATCHPATTERN` [OP_MATCHPATTERN] [length] {PathExpr}+ returns: XNodeSet
`static int` `OP_MINUS` [OP_MINUS] [length] {number expression} {number expression} returns: XNumber
`static int` `OP_MOD` [OP_MOD] [length] {number expression} {number expression} returns: XNumber
`static int` `OP_MULT` [OP_MULT] [length] {number expression} {number expression} returns: XNumber
`static int` `OP_NEG` [OP_NEG] [length] {number expression} returns: XNumber
`static int` `OP_NOTEQUALS` [OP_NOTEQUALS] [length] {expression} {expression} returns: XBoolean
`static int` `OP_NUMBER` [OP_NUMBER] (cast operation) [length] {expression} returns: XBoolean
`static int` `OP_NUMBERLIT` [OP_NUMBERLIT] (Number literal
`static int` `OP_OR` [OP_OR] [length] {boolean expression} {boolean expression} returns: XBoolean
`static int` `OP_PLUS` [OP_PLUS] [length] {number expression} {number expression} returns: XNumber
`static int` `OP_PREDICATE` [OP_PREDICATE] [length] {expression} [ENDOP] (For safety) returns: XBoolean or XNumber
`static int` `OP_QUO` [OP_QUO] [length] {number expression} {number expression} returns: XNumber
`static int` `OP_STRING` [OP_STRING] (cast operation) [length] {expression} returns: XString
`static int` `OP_UNION` [OP_UNION] [length] {PathExpr}+ returns: XNodeSet
`static int` `OP_VARIABLE` [OP_VARIABLE] [4] [index to namespace token, or EMPTY] [index to function name token] returns: XString
`static int` `OP_XPATH` [OP_XPATH] [length] {expression} returns: XNodeSet XNumber XString XBoolean XRTree XObject

### Constructor Summary

Constructors
Constructor and Description
`OpCodes()`

### Method Summary

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### ENDOP

    public static final int ENDOP

[ENDOP] Some operators may like to have a terminator.

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### EMPTY

    public static final int EMPTY

[EMPTY] Empty slot to indicate NULL.

See Also:
  Constant Field Values

#### ELEMWILDCARD

    public static final int ELEMWILDCARD

[ELEMWILDCARD] Means ELEMWILDCARD ("*"), used instead of string index in some places.

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_XPATH

    public static final int OP_XPATH

[OP_XPATH] [length] {expression} returns: XNodeSet XNumber XString XBoolean XRTree XObject

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_OR

    public static final int OP_OR

[OP_OR] [length] {boolean expression} {boolean expression} returns: XBoolean

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_AND

    public static final int OP_AND

[OP_AND] [length] {boolean expression} {boolean expression} returns: XBoolean

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_NOTEQUALS

    public static final int OP_NOTEQUALS

[OP_NOTEQUALS] [length] {expression} {expression} returns: XBoolean

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_EQUALS

    public static final int OP_EQUALS

[OP_EQUALS] [length] {expression} {expression} returns: XBoolean

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_LTE

    public static final int OP_LTE

[OP_LTE] (less-than-or-equals) [length] {number expression} {number expression} returns: XBoolean

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_LT

    public static final int OP_LT

[OP_LT] (less-than) [length] {number expression} {number expression} returns: XBoolean

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_GTE

    public static final int OP_GTE

[OP_GTE] (greater-than-or-equals) [length] {number expression} {number expression} returns: XBoolean

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_GT

    public static final int OP_GT

[OP_GT] (greater-than) [length] {number expression} {number expression} returns: XBoolean

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_PLUS

    public static final int OP_PLUS

[OP_PLUS] [length] {number expression} {number expression} returns: XNumber

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_MINUS

    public static final int OP_MINUS

[OP_MINUS] [length] {number expression} {number expression} returns: XNumber

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_MULT

    public static final int OP_MULT

[OP_MULT] [length] {number expression} {number expression} returns: XNumber

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_DIV

    public static final int OP_DIV

[OP_DIV] [length] {number expression} {number expression} returns: XNumber

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_MOD

    public static final int OP_MOD

[OP_MOD] [length] {number expression} {number expression} returns: XNumber

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_QUO

    public static final int OP_QUO

[OP_QUO] [length] {number expression} {number expression} returns: XNumber

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_NEG

    public static final int OP_NEG

[OP_NEG] [length] {number expression} returns: XNumber

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_STRING

    public static final int OP_STRING

[OP_STRING] (cast operation) [length] {expression} returns: XString

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_BOOL

    public static final int OP_BOOL

[OP_BOOL] (cast operation) [length] {expression} returns: XBoolean

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_NUMBER

    public static final int OP_NUMBER

[OP_NUMBER] (cast operation) [length] {expression} returns: XBoolean

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_UNION

    public static final int OP_UNION

[OP_UNION] [length] {PathExpr}+ returns: XNodeSet

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_LITERAL

    public static final int OP_LITERAL

[OP_LITERAL] [3] [index to token] returns: XString

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_VARIABLE

    public static final int OP_VARIABLE

[OP_VARIABLE] [4] [index to namespace token, or EMPTY] [index to function name token] returns: XString

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_GROUP

    public static final int OP_GROUP

[OP_GROUP] [length] {expression} returns: XNodeSet XNumber XString XBoolean XRTree XObject

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_EXTFUNCTION

    public static final int OP_EXTFUNCTION

[OP_EXTFUNCTION] (Extension function.) [length] [index to namespace token] [index to function name token] {OP_ARGUMENT} returns: XNodeSet XNumber XString XBoolean XRTree XObject

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_FUNCTION

    public static final int OP_FUNCTION

[OP_FUNCTION] [length] [FUNC_name] {OP_ARGUMENT} [ENDOP] returns: XNodeSet XNumber XString XBoolean XRTree XObject

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_ARGUMENT

    public static final int OP_ARGUMENT

[OP_ARGUMENT] (Function argument.) [length] {expression} returns: XNodeSet XNumber XString XBoolean XRTree XObject

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_NUMBERLIT

    public static final int OP_NUMBERLIT

[OP_NUMBERLIT] (Number literal.) [3] [index to token] returns: XString

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_LOCATIONPATH

    public static final int OP_LOCATIONPATH

[OP_LOCATIONPATH] [length] {FROM_stepType} | {function} {predicate} [ENDOP] (Note that element and attribute namespaces and names can be wildcarded '*'.) returns: XNodeSet

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_PREDICATE

    public static final int OP_PREDICATE

[OP_PREDICATE] [length] {expression} [ENDOP] (For safety) returns: XBoolean or XNumber

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_MATCHPATTERN

    public static final int OP_MATCHPATTERN

[OP_MATCHPATTERN] [length] {PathExpr}+ returns: XNodeSet

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### OP_LOCATIONPATHPATTERN

    public static final int OP_LOCATIONPATHPATTERN

[OP_LOCATIONPATHPATTERN] [length] {FROM_stepType} | {function}{predicate} [ENDOP] returns: XNodeSet

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### NODETYPE_COMMENT

    public static final int NODETYPE_COMMENT

[NODETYPE_COMMENT] No size or arguments. Note: must not overlap function OP number! returns: XBoolean

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### NODETYPE_TEXT

    public static final int NODETYPE_TEXT

[NODETYPE_TEXT] No size or arguments. Note: must not overlap function OP number! returns: XBoolean

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### NODETYPE_PI

    public static final int NODETYPE_PI

[NODETYPE_PI] [index to token] Note: must not overlap function OP number! returns: XBoolean

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### NODETYPE_NODE

    public static final int NODETYPE_NODE

[NODETYPE_NODE] No size or arguments. Note: must not overlap function OP number! returns: XBoolean

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### NODENAME

    public static final int NODENAME

[NODENAME] [index to ns token or EMPTY] [index to name token] returns: XBoolean

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### NODETYPE_ROOT

    public static final int NODETYPE_ROOT

[NODETYPE_ROOT] No size or arguments. returns: XBoolean

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### NODETYPE_ANYELEMENT

    public static final int NODETYPE_ANYELEMENT

[NODETYPE_ANY] No size or arguments. returns: XBoolean

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### NODETYPE_FUNCTEST

    public static final int NODETYPE_FUNCTEST

[NODETYPE_ANY] No size or arguments. returns: XBoolean

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### AXES_START_TYPES

    public static final int AXES_START_TYPES

[FROM_stepType] [length, including predicates] [length of just the step, without the predicates] {node test} {predicates}? returns: XBoolean

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### FROM_ANCESTORS

    public static final int FROM_ANCESTORS

ancestor axes opcode.

See Also:
  Constant Field Values

#### FROM_ANCESTORS_OR_SELF

    public static final int FROM_ANCESTORS_OR_SELF

ancestor-or-self axes opcode.

See Also:
  Constant Field Values

#### FROM_ATTRIBUTES

    public static final int FROM_ATTRIBUTES

attribute axes opcode.

See Also:
  Constant Field Values

#### FROM_CHILDREN

    public static final int FROM_CHILDREN

children axes opcode.

See Also:
  Constant Field Values

#### FROM_DESCENDANTS

    public static final int FROM_DESCENDANTS

descendants axes opcode.

See Also:
  Constant Field Values

#### FROM_DESCENDANTS_OR_SELF

    public static final int FROM_DESCENDANTS_OR_SELF

descendants-of-self axes opcode.

See Also:
  Constant Field Values

#### FROM_FOLLOWING

    public static final int FROM_FOLLOWING

following axes opcode.

See Also:
  Constant Field Values

#### FROM_FOLLOWING_SIBLINGS

    public static final int FROM_FOLLOWING_SIBLINGS

following-siblings axes opcode.

See Also:
  Constant Field Values

#### FROM_PARENT

    public static final int FROM_PARENT

parent axes opcode.

See Also:
  Constant Field Values

#### FROM_PRECEDING

    public static final int FROM_PRECEDING

preceding axes opcode.

See Also:
  Constant Field Values

#### FROM_PRECEDING_SIBLINGS

    public static final int FROM_PRECEDING_SIBLINGS

preceding-sibling axes opcode.

See Also:
  Constant Field Values

#### FROM_SELF

    public static final int FROM_SELF

self axes opcode.

See Also:
  Constant Field Values

#### FROM_NAMESPACE

    public static final int FROM_NAMESPACE

namespace axes opcode.

See Also:
  Constant Field Values

#### FROM_ROOT

    public static final int FROM_ROOT

'/' axes opcode.

See Also:
  Constant Field Values

#### MATCH_ATTRIBUTE

    public static final int MATCH_ATTRIBUTE

For match patterns.

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### MATCH_ANY_ANCESTOR

    public static final int MATCH_ANY_ANCESTOR

For match patterns.

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### MATCH_IMMEDIATE_ANCESTOR

    public static final int MATCH_IMMEDIATE_ANCESTOR

For match patterns.

See Also:
  Constant Field Values
Usage:
  **For advanced use only**

#### AXES_END_TYPES

    public static final int AXES_END_TYPES

The end of the axes types.

See Also:
  Constant Field Values

### Constructor Detail

#### OpCodes

    public OpCodes()