else if (tokenIs('/')) { axesType = OpCodes.FROM_DESCENDANTS_OR_SELF;  appendOp(2, axesType);       {   m_ops.m_opMap[OpMap.MAPINDEX_LENGTH] += 1; m_ops.m_opMap[m_ops.m_opMap[OpMap.MAPINDEX_LENGTH]] = OpCodes.NODETYPE_NODE; m_ops.m_opMap[OpMap.MAPINDEX_LENGTH] += 1;   m_ops.m_opMap[opPos + OpMap.MAPINDEX_LENGTH + 1] = m_ops.m_opMap[OpMap.MAPINDEX_LENGTH] - opPos;  return; }      }
  protected void Basis() throws javax.xml.transform.TransformerException  {    int opPos = m_ops.m_opMap[OpMap.MAPINDEX_LENGTH];    int axesType;    // The next blocks guarantee that a FROM_XXX will be added.    if (lookahead("::", 1))    {      axesType = AxisName();      nextToken();      nextToken();    }    else if (tokenIs('@'))    {      axesType = OpCodes.FROM_ATTRIBUTES;      appendOp(2, axesType);      nextToken();    }    else if (tokenIs('/'))    {      axesType = OpCodes.FROM_DESCENDANTS_OR_SELF;      appendOp(2, axesType);      // Have to fix up for patterns such as '//@foo' or '//attribute::foo',      // which translate to 'descendant-or-self::node()/attribute::foo'.      // notice I leave the '/' on the queue, so the next will be processed      // by a regular step pattern.      // if(lookahead('@', 1) || lookahead("::", 2))      {        // Make room for telling how long the step is without the predicate        m_ops.m_opMap[OpMap.MAPINDEX_LENGTH] += 1;        m_ops.m_opMap[m_ops.m_opMap[OpMap.MAPINDEX_LENGTH]] =          OpCodes.NODETYPE_NODE;        m_ops.m_opMap[OpMap.MAPINDEX_LENGTH] += 1;        // Tell how long the step is without the predicate        m_ops.m_opMap[opPos + OpMap.MAPINDEX_LENGTH + 1] =          m_ops.m_opMap[OpMap.MAPINDEX_LENGTH] - opPos;        return;  // make a quick exit...      }      // else      // {      //  nextToken();      // }    }    else    {      axesType = OpCodes.FROM_CHILDREN;      appendOp(2, axesType);    }    // Make room for telling how long the step is without the predicate    m_ops.m_opMap[OpMap.MAPINDEX_LENGTH] += 1;    NodeTest(axesType);    // Tell how long the step is without the predicate    m_ops.m_opMap[opPos + OpMap.MAPINDEX_LENGTH + 1] =      m_ops.m_opMap[OpMap.MAPINDEX_LENGTH] - opPos;  }