public void init ( Compiler compiler , int opPos , int stepType ) throws javax . xml . transform . TransformerException { super . init ( compiler , opPos , stepType ) ; // Smooth over an anomily in the opcode map... switch ( stepType ) { case OpCodes . OP_FUNCTION : case OpCodes . OP_EXTFUNCTION : m_mustHardReset = true ; case OpCodes . OP_GROUP : case OpCodes . OP_VARIABLE : m_expr = compiler . compile ( opPos ) ; m_expr . exprSetParent ( this ) ; //if((OpCodes.OP_FUNCTION == stepType) && (m_expr instanceof org.apache.xalan.templates.FuncKey)) if ( m_expr instanceof org . apache . xpath . operations . Variable ) { // hack/temp workaround m_canDetachNodeset = false ; } break ; default : m_expr = compiler . compile ( opPos + 2 ) ; m_expr . exprSetParent ( this ) ; } // if(m_expr instanceof WalkingIterator) // { // WalkingIterator wi = (WalkingIterator)m_expr; // if(wi.getFirstWalker() instanceof FilterExprWalker) // { // FilterExprWalker fw = (FilterExprWalker)wi.getFirstWalker(); // if(null == fw.getNextWalker()) // { // m_expr = fw.m_expr; // m_expr.exprSetParent(this); // } // } // // } }
Init a FilterExprWalker .