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); |