src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/visitor/NodeVisitor.java

Print this page




  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package jdk.nashorn.internal.ir.visitor;
  27 
  28 import jdk.nashorn.internal.ir.AccessNode;
  29 import jdk.nashorn.internal.ir.BinaryNode;
  30 import jdk.nashorn.internal.ir.Block;
  31 import jdk.nashorn.internal.ir.BlockStatement;
  32 import jdk.nashorn.internal.ir.BreakNode;
  33 import jdk.nashorn.internal.ir.CallNode;
  34 import jdk.nashorn.internal.ir.CaseNode;
  35 import jdk.nashorn.internal.ir.CatchNode;
  36 import jdk.nashorn.internal.ir.ContinueNode;

  37 import jdk.nashorn.internal.ir.EmptyNode;

  38 import jdk.nashorn.internal.ir.ExpressionStatement;
  39 import jdk.nashorn.internal.ir.ForNode;
  40 import jdk.nashorn.internal.ir.FunctionNode;
  41 import jdk.nashorn.internal.ir.GetSplitState;
  42 import jdk.nashorn.internal.ir.IdentNode;
  43 import jdk.nashorn.internal.ir.IfNode;
  44 import jdk.nashorn.internal.ir.IndexNode;
  45 import jdk.nashorn.internal.ir.JoinPredecessorExpression;
  46 import jdk.nashorn.internal.ir.JumpToInlinedFinally;
  47 import jdk.nashorn.internal.ir.LabelNode;
  48 import jdk.nashorn.internal.ir.LexicalContext;
  49 import jdk.nashorn.internal.ir.LiteralNode;
  50 import jdk.nashorn.internal.ir.Node;
  51 import jdk.nashorn.internal.ir.ObjectNode;
  52 import jdk.nashorn.internal.ir.PropertyNode;
  53 import jdk.nashorn.internal.ir.ReturnNode;
  54 import jdk.nashorn.internal.ir.RuntimeNode;
  55 import jdk.nashorn.internal.ir.SetSplitState;
  56 import jdk.nashorn.internal.ir.SplitNode;
  57 import jdk.nashorn.internal.ir.SplitReturn;


 276     /**
 277      * Callback for entering a ContinueNode
 278      *
 279      * @param  continueNode the node
 280      * @return true if traversal should continue and node children be traversed, false otherwise
 281      */
 282     public boolean enterContinueNode(final ContinueNode continueNode) {
 283         return enterDefault(continueNode);
 284     }
 285 
 286     /**
 287      * Callback for leaving a ContinueNode
 288      *
 289      * @param  continueNode the node
 290      * @return processed node, which will replace the original one, or the original node
 291      */
 292     public Node leaveContinueNode(final ContinueNode continueNode) {
 293         return leaveDefault(continueNode);
 294     }
 295 





















 296     /**
 297      * Callback for entering an EmptyNode
 298      *
 299      * @param  emptyNode   the node
 300      * @return true if traversal should continue and node children be traversed, false otherwise
 301      */
 302     public boolean enterEmptyNode(final EmptyNode emptyNode) {
 303         return enterDefault(emptyNode);
 304     }
 305 
 306     /**
 307      * Callback for leaving an EmptyNode
 308      *
 309      * @param  emptyNode the node
 310      * @return processed node, which will replace the original one, or the original node
 311      */
 312     public Node leaveEmptyNode(final EmptyNode emptyNode) {
 313         return leaveDefault(emptyNode);




















 314     }
 315 
 316     /**
 317      * Callback for entering an ExpressionStatement
 318      *
 319      * @param  expressionStatement the node
 320      * @return true if traversal should continue and node children be traversed, false otherwise
 321      */
 322     public boolean enterExpressionStatement(final ExpressionStatement expressionStatement) {
 323         return enterDefault(expressionStatement);
 324     }
 325 
 326     /**
 327      * Callback for leaving an ExpressionStatement
 328      *
 329      * @param  expressionStatement the node
 330      * @return processed node, which will replace the original one, or the original node
 331      */
 332     public Node leaveExpressionStatement(final ExpressionStatement expressionStatement) {
 333         return leaveDefault(expressionStatement);




  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package jdk.nashorn.internal.ir.visitor;
  27 
  28 import jdk.nashorn.internal.ir.AccessNode;
  29 import jdk.nashorn.internal.ir.BinaryNode;
  30 import jdk.nashorn.internal.ir.Block;
  31 import jdk.nashorn.internal.ir.BlockStatement;
  32 import jdk.nashorn.internal.ir.BreakNode;
  33 import jdk.nashorn.internal.ir.CallNode;
  34 import jdk.nashorn.internal.ir.CaseNode;
  35 import jdk.nashorn.internal.ir.CatchNode;
  36 import jdk.nashorn.internal.ir.ContinueNode;
  37 import jdk.nashorn.internal.ir.DebuggerNode;
  38 import jdk.nashorn.internal.ir.EmptyNode;
  39 import jdk.nashorn.internal.ir.ErrorNode;
  40 import jdk.nashorn.internal.ir.ExpressionStatement;
  41 import jdk.nashorn.internal.ir.ForNode;
  42 import jdk.nashorn.internal.ir.FunctionNode;
  43 import jdk.nashorn.internal.ir.GetSplitState;
  44 import jdk.nashorn.internal.ir.IdentNode;
  45 import jdk.nashorn.internal.ir.IfNode;
  46 import jdk.nashorn.internal.ir.IndexNode;
  47 import jdk.nashorn.internal.ir.JoinPredecessorExpression;
  48 import jdk.nashorn.internal.ir.JumpToInlinedFinally;
  49 import jdk.nashorn.internal.ir.LabelNode;
  50 import jdk.nashorn.internal.ir.LexicalContext;
  51 import jdk.nashorn.internal.ir.LiteralNode;
  52 import jdk.nashorn.internal.ir.Node;
  53 import jdk.nashorn.internal.ir.ObjectNode;
  54 import jdk.nashorn.internal.ir.PropertyNode;
  55 import jdk.nashorn.internal.ir.ReturnNode;
  56 import jdk.nashorn.internal.ir.RuntimeNode;
  57 import jdk.nashorn.internal.ir.SetSplitState;
  58 import jdk.nashorn.internal.ir.SplitNode;
  59 import jdk.nashorn.internal.ir.SplitReturn;


 278     /**
 279      * Callback for entering a ContinueNode
 280      *
 281      * @param  continueNode the node
 282      * @return true if traversal should continue and node children be traversed, false otherwise
 283      */
 284     public boolean enterContinueNode(final ContinueNode continueNode) {
 285         return enterDefault(continueNode);
 286     }
 287 
 288     /**
 289      * Callback for leaving a ContinueNode
 290      *
 291      * @param  continueNode the node
 292      * @return processed node, which will replace the original one, or the original node
 293      */
 294     public Node leaveContinueNode(final ContinueNode continueNode) {
 295         return leaveDefault(continueNode);
 296     }
 297 
 298  
 299     /**
 300      * Callback for entering a DebuggerNode
 301      *
 302      * @param  debuggerNode the node
 303      * @return true if traversal should continue and node children be traversed, false otherwise
 304      */
 305     public boolean enterDebuggerNode(final DebuggerNode debuggerNode) {
 306         return enterDefault(debuggerNode);
 307     }
 308  
 309     /**
 310      * Callback for leaving a DebuggerNode
 311      *
 312      * @param  debuggerNode the node
 313      * @return processed node, which will replace the original one, or the original node
 314      */
 315     public Node leaveDebuggerNode(final DebuggerNode debuggerNode) {
 316         return leaveDefault(debuggerNode);
 317     }
 318  
 319     /**
 320      * Callback for entering an EmptyNode
 321      *
 322      * @param  emptyNode   the node
 323      * @return true if traversal should continue and node children be traversed, false otherwise
 324      */
 325     public boolean enterEmptyNode(final EmptyNode emptyNode) {
 326         return enterDefault(emptyNode);
 327     }
 328 
 329     /**
 330      * Callback for leaving an EmptyNode
 331      *
 332      * @param  emptyNode the node
 333      * @return processed node, which will replace the original one, or the original node
 334      */
 335     public Node leaveEmptyNode(final EmptyNode emptyNode) {
 336         return leaveDefault(emptyNode);
 337     }
 338 
 339     /**
 340      * Callback for entering an ErrorNode
 341      *
 342      * @param  errorNode   the node
 343      * @return true if traversal should continue and node children be traversed, false otherwise
 344      */
 345     public boolean enterErrorNode(final ErrorNode errorNode) {
 346         return enterDefault(errorNode);
 347     }
 348 
 349     /**
 350      * Callback for leaving an ErrorNode
 351      *
 352      * @param  errorNode the node
 353      * @return processed node, which will replace the original one, or the original node
 354      */
 355     public Node leaveErrorNode(final ErrorNode errorNode) {
 356         return leaveDefault(errorNode);
 357     }
 358 
 359     /**
 360      * Callback for entering an ExpressionStatement
 361      *
 362      * @param  expressionStatement the node
 363      * @return true if traversal should continue and node children be traversed, false otherwise
 364      */
 365     public boolean enterExpressionStatement(final ExpressionStatement expressionStatement) {
 366         return enterDefault(expressionStatement);
 367     }
 368 
 369     /**
 370      * Callback for leaving an ExpressionStatement
 371      *
 372      * @param  expressionStatement the node
 373      * @return processed node, which will replace the original one, or the original node
 374      */
 375     public Node leaveExpressionStatement(final ExpressionStatement expressionStatement) {
 376         return leaveDefault(expressionStatement);