⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 opcodes.java

📁 java1.6众多例子参考
💻 JAVA
字号:
/* * Copyright 1999-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *     http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *//* * $Id: OpCodes.java,v 1.1.2.1 2005/08/01 01:30:33 jeffsuttor Exp $ */package com.sun.org.apache.xpath.internal.compiler;/** * 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. */public class OpCodes{  /**   * [ENDOP]   * Some operators may like to have a terminator.   * @xsl.usage advanced   */  public static final int ENDOP = -1;  /**   * [EMPTY]   * Empty slot to indicate NULL.   */  public static final int EMPTY = -2;  /**   * [ELEMWILDCARD]   * Means ELEMWILDCARD ("*"), used instead   * of string index in some places.   * @xsl.usage advanced   */  public static final int ELEMWILDCARD = -3;  /**   * [OP_XPATH]   * [length]   *  {expression}   *   * returns:   *  XNodeSet   *  XNumber   *  XString   *  XBoolean   *  XRTree   *  XObject   * @xsl.usage advanced   */  public static final int OP_XPATH = 1;  /**   * [OP_OR]   * [length]   *  {boolean expression}   *  {boolean expression}   *   * returns:   *  XBoolean   * @xsl.usage advanced   */  public static final int OP_OR = 2;  /**   * [OP_AND]   * [length]   *  {boolean expression}   *  {boolean expression}   *   * returns:   *  XBoolean   * @xsl.usage advanced   */  public static final int OP_AND = 3;  /**   * [OP_NOTEQUALS]   * [length]   *  {expression}   *  {expression}   *   * returns:   *  XBoolean   * @xsl.usage advanced   */  public static final int OP_NOTEQUALS = 4;  /**   * [OP_EQUALS]   * [length]   *  {expression}   *  {expression}   *   * returns:   *  XBoolean   * @xsl.usage advanced   */  public static final int OP_EQUALS = 5;  /**   * [OP_LTE] (less-than-or-equals)   * [length]   *  {number expression}   *  {number expression}   *   * returns:   *  XBoolean   * @xsl.usage advanced   */  public static final int OP_LTE = 6;  /**   * [OP_LT] (less-than)   * [length]   *  {number expression}   *  {number expression}   *   * returns:   *  XBoolean   * @xsl.usage advanced   */  public static final int OP_LT = 7;  /**   * [OP_GTE] (greater-than-or-equals)   * [length]   *  {number expression}   *  {number expression}   *   * returns:   *  XBoolean   * @xsl.usage advanced   */  public static final int OP_GTE = 8;  /**   * [OP_GT] (greater-than)   * [length]   *  {number expression}   *  {number expression}   *   * returns:   *  XBoolean   * @xsl.usage advanced   */  public static final int OP_GT = 9;  /**   * [OP_PLUS]   * [length]   *  {number expression}   *  {number expression}   *   * returns:   *  XNumber   * @xsl.usage advanced   */  public static final int OP_PLUS = 10;  /**   * [OP_MINUS]   * [length]   *  {number expression}   *  {number expression}   *   * returns:   *  XNumber   * @xsl.usage advanced   */  public static final int OP_MINUS = 11;  /**   * [OP_MULT]   * [length]   *  {number expression}   *  {number expression}   *   * returns:   *  XNumber   * @xsl.usage advanced   */  public static final int OP_MULT = 12;  /**   * [OP_DIV]   * [length]   *  {number expression}   *  {number expression}   *   * returns:   *  XNumber   * @xsl.usage advanced   */  public static final int OP_DIV = 13;  /**   * [OP_MOD]   * [length]   *  {number expression}   *  {number expression}   *   * returns:   *  XNumber   * @xsl.usage advanced   */  public static final int OP_MOD = 14;  /**   * [OP_QUO]   * [length]   *  {number expression}   *  {number expression}   *   * returns:   *  XNumber   * @xsl.usage advanced   */  public static final int OP_QUO = 15;  /**   * [OP_NEG]   * [length]   *  {number expression}   *   * returns:   *  XNumber   * @xsl.usage advanced   */  public static final int OP_NEG = 16;  /**   * [OP_STRING] (cast operation)   * [length]   *  {expression}   *   * returns:   *  XString   * @xsl.usage advanced   */  public static final int OP_STRING = 17;  /**   * [OP_BOOL] (cast operation)   * [length]   *  {expression}   *   * returns:   *  XBoolean   * @xsl.usage advanced   */  public static final int OP_BOOL = 18;  /**   * [OP_NUMBER] (cast operation)   * [length]   *  {expression}   *   * returns:   *  XBoolean   * @xsl.usage advanced   */  public static final int OP_NUMBER = 19;  /**   * [OP_UNION]   * [length]   *  {PathExpr}+   *   * returns:   *  XNodeSet   * @xsl.usage advanced   */  public static final int OP_UNION = 20;  /**   * [OP_LITERAL]   * [3]   * [index to token]   *   * returns:   *  XString   * @xsl.usage advanced   */  public static final int OP_LITERAL = 21;  /** The low opcode for nodesets, needed by getFirstPredicateOpPos and    *  getNextStepPos.          */  static final int FIRST_NODESET_OP = 22;  /**   * [OP_VARIABLE]   * [4]   * [index to namespace token, or EMPTY]   * [index to function name token]   *   * returns:   *  XString   * @xsl.usage advanced   */  public static final int OP_VARIABLE = 22;  /**   * [OP_GROUP]   * [length]   *  {expression}   *   * returns:   *  XNodeSet   *  XNumber   *  XString   *  XBoolean   *  XRTree   *  XObject   * @xsl.usage advanced   */  public static final int OP_GROUP = 23;  /**   * [OP_EXTFUNCTION] (Extension function.)   * [length]   * [index to namespace token]   * [index to function name token]   *  {OP_ARGUMENT}   *   * returns:   *  XNodeSet   *  XNumber   *  XString   *  XBoolean   *  XRTree   *  XObject   * @xsl.usage advanced   */  public static final int OP_EXTFUNCTION = 24;  /**   * [OP_FUNCTION]   * [length]   * [FUNC_name]   *  {OP_ARGUMENT}   * [ENDOP]   *   * returns:   *  XNodeSet   *  XNumber   *  XString   *  XBoolean   *  XRTree   *  XObject   * @xsl.usage advanced   */  public static final int OP_FUNCTION = 25;  /** The last opcode for stuff that can be a nodeset.         */  static final int LAST_NODESET_OP = 25;  /**   * [OP_ARGUMENT] (Function argument.)   * [length]   *  {expression}   *   * returns:   *  XNodeSet   *  XNumber   *  XString   *  XBoolean   *  XRTree   *  XObject   * @xsl.usage advanced   */  public static final int OP_ARGUMENT = 26;  /**   * [OP_NUMBERLIT] (Number literal.)   * [3]   * [index to token]   *   * returns:   *  XString   * @xsl.usage advanced   */  public static final int OP_NUMBERLIT = 27;  /**   * [OP_LOCATIONPATH]   * [length]   *   {FROM_stepType}   * | {function}   * {predicate}   * [ENDOP]   *   * (Note that element and attribute namespaces and   * names can be wildcarded '*'.)   *   * returns:   *  XNodeSet   * @xsl.usage advanced   */  public static final int OP_LOCATIONPATH = 28;  // public static final int LOCATIONPATHEX_MASK = 0x0000FFFF;  // public static final int LOCATIONPATHEX_ISSIMPLE = 0x00010000;  // public static final int OP_LOCATIONPATH_EX = (28 | 0x00010000);  /**   * [OP_PREDICATE]   * [length]   *  {expression}   * [ENDOP] (For safety)   *   * returns:   *  XBoolean or XNumber   * @xsl.usage advanced   */  public static final int OP_PREDICATE = 29;  /**   * [OP_MATCHPATTERN]   * [length]   *  {PathExpr}+   *   * returns:   *  XNodeSet   * @xsl.usage advanced   */  public static final int OP_MATCHPATTERN = 30;  /**   * [OP_LOCATIONPATHPATTERN]   * [length]   *   {FROM_stepType}   * | {function}{predicate}   * [ENDOP]   * returns:   *  XNodeSet   * @xsl.usage advanced   */  public static final int OP_LOCATIONPATHPATTERN = 31;  /**   * [NODETYPE_COMMENT]   * No size or arguments.   * Note: must not overlap function OP number!   *   * returns:   *  XBoolean   * @xsl.usage advanced   */  public static final int NODETYPE_COMMENT = 1030;  /**   * [NODETYPE_TEXT]   * No size or arguments.   * Note: must not overlap function OP number!   *   * returns:   *  XBoolean   * @xsl.usage advanced   */  public static final int NODETYPE_TEXT = 1031;  /**   * [NODETYPE_PI]   * [index to token]   * Note: must not overlap function OP number!   *   * returns:   *  XBoolean   * @xsl.usage advanced   */  public static final int NODETYPE_PI = 1032;  /**   * [NODETYPE_NODE]   * No size or arguments.   * Note: must not overlap function OP number!   *   * returns:   *  XBoolean   * @xsl.usage advanced   */  public static final int NODETYPE_NODE = 1033;  /**   * [NODENAME]   * [index to ns token or EMPTY]   * [index to name token]   *   * returns:   *  XBoolean   * @xsl.usage advanced   */  public static final int NODENAME = 34;  /**   * [NODETYPE_ROOT]   * No size or arguments.   *   * returns:   *  XBoolean   * @xsl.usage advanced   */  public static final int NODETYPE_ROOT = 35;  /**   * [NODETYPE_ANY]   * No size or arguments.   *   * returns:   *  XBoolean   * @xsl.usage advanced   */  public static final int NODETYPE_ANYELEMENT = 36;  /**   * [NODETYPE_ANY]   * No size or arguments.   *   * returns:   *  XBoolean   * @xsl.usage advanced   */  public static final int NODETYPE_FUNCTEST = 1034;  /**   * [FROM_stepType]   * [length, including predicates]   * [length of just the step, without the predicates]   * {node test}   * {predicates}?   *   * returns:   *  XBoolean   * @xsl.usage advanced   */  public static final int AXES_START_TYPES = 37;  /** ancestor axes opcode.         */  public static final int FROM_ANCESTORS = 37;  /** ancestor-or-self axes opcode.         */  public static final int FROM_ANCESTORS_OR_SELF = 38;  /** attribute axes opcode.         */  public static final int FROM_ATTRIBUTES = 39;  /** children axes opcode.         */  public static final int FROM_CHILDREN = 40;  /** descendants axes opcode.         */  public static final int FROM_DESCENDANTS = 41;  /** descendants-of-self axes opcode.         */  public static final int FROM_DESCENDANTS_OR_SELF = 42;  /** following axes opcode.         */  public static final int FROM_FOLLOWING = 43;  /** following-siblings axes opcode.         */  public static final int FROM_FOLLOWING_SIBLINGS = 44;  /** parent axes opcode.         */  public static final int FROM_PARENT = 45;  /** preceding axes opcode.         */  public static final int FROM_PRECEDING = 46;  /** preceding-sibling axes opcode.         */  public static final int FROM_PRECEDING_SIBLINGS = 47;  /** self axes opcode.         */  public static final int FROM_SELF = 48;  /** namespace axes opcode.         */  public static final int FROM_NAMESPACE = 49;  /** '/' axes opcode.         */  public static final int FROM_ROOT = 50;  /**   * For match patterns.   * @xsl.usage advanced   */  public static final int MATCH_ATTRIBUTE = 51;  /**   * For match patterns.   * @xsl.usage advanced   */  public static final int MATCH_ANY_ANCESTOR = 52;  /**   * For match patterns.   * @xsl.usage advanced   */  public static final int MATCH_IMMEDIATE_ANCESTOR = 53;  /** The end of the axes types.    */  public static final int AXES_END_TYPES = 53;  /** The next free ID.  Please keep this up to date.  */  private static final int NEXT_FREE_ID = 99;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -