<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
               Class CUP$XPathCup$actions</h2><br><hr><pre>package-private class <strong>CUP$XPathCup$actions</strong>
extends java.lang.Object</pre>Cup generated class to encapsulate user supplied action code.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_CUP$XPathCup$actions">CUP$XPathCup$actions</a></strong>(org.eclipse.wst.xml.xpath2.processor.internal.XPathCup parser)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java_cup.runtime.Symbol</code></td><td width="" align="left"><code><a href="#method_CUP$XPathCup$do_action">CUP$XPathCup$do_action</a>(int CUP$XPathCup$act_num
         ,
      java_cup.runtime.lr_parser CUP$XPathCup$parser
         ,
      java.util.Stack CUP$XPathCup$stack
         ,
      int CUP$XPathCup$top)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Method with the actual generated action code.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
                  Constructor Detail
               </h2></td></tr></table><h2><a name="con_CUP$XPathCup$actions">CUP$XPathCup$actions</a></h2><p><code>package-private <strong>CUP$XPathCup$actions</strong>(org.eclipse.wst.xml.xpath2.processor.internal.XPathCup parser)</code></p><p>Constructor</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
                  Methods Detail
               </h2></td></tr></table><h2><a name="method_CUP$XPathCup$do_action">CUP$XPathCup$do_action</a></h2><p><code>public java_cup.runtime.Symbol <strong>CUP$XPathCup$do_action</strong>(int CUP$XPathCup$act_num
         ,
      java_cup.runtime.lr_parser CUP$XPathCup$parser
         ,
      java.util.Stack CUP$XPathCup$stack
         ,
      int CUP$XPathCup$top)</code></p><p>Method with the actual generated action code.</p><h3>Parameters</h3><p><code>CUP$XPathCup$act_num</code></p><p><code>CUP$XPathCup$parser</code></p><p><code>CUP$XPathCup$stack</code></p><p><code>CUP$XPathCup$top</code></p><h3>Returns</h3><p><code>java_cup.runtime.Symbol</code></p><h3>Throws:</h3><p><code>java.lang.Exception</code></p><hr></body></html>