src/jdk/nashorn/internal/ir/visitor/NodeOperatorVisitor.java

Thu, 24 May 2018 16:39:31 +0800

author
aoqi
date
Thu, 24 May 2018 16:39:31 +0800
changeset 1959
61ffdd1b89f2
parent 1552
b0888b955b31
parent 1205
4112748288bb
permissions
-rw-r--r--

Merge

aoqi@0 1 /*
aoqi@0 2 * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
aoqi@0 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
aoqi@0 4 *
aoqi@0 5 * This code is free software; you can redistribute it and/or modify it
aoqi@0 6 * under the terms of the GNU General Public License version 2 only, as
aoqi@0 7 * published by the Free Software Foundation. Oracle designates this
aoqi@0 8 * particular file as subject to the "Classpath" exception as provided
aoqi@0 9 * by Oracle in the LICENSE file that accompanied this code.
aoqi@0 10 *
aoqi@0 11 * This code is distributed in the hope that it will be useful, but WITHOUT
aoqi@0 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
aoqi@0 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
aoqi@0 14 * version 2 for more details (a copy is included in the LICENSE file that
aoqi@0 15 * accompanied this code).
aoqi@0 16 *
aoqi@0 17 * You should have received a copy of the GNU General Public License version
aoqi@0 18 * 2 along with this work; if not, write to the Free Software Foundation,
aoqi@0 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
aoqi@0 20 *
aoqi@0 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
aoqi@0 22 * or visit www.oracle.com if you need additional information or have any
aoqi@0 23 * questions.
aoqi@0 24 */
aoqi@0 25
aoqi@0 26 package jdk.nashorn.internal.ir.visitor;
aoqi@0 27
aoqi@0 28 import jdk.nashorn.internal.ir.BinaryNode;
aoqi@0 29 import jdk.nashorn.internal.ir.LexicalContext;
aoqi@0 30 import jdk.nashorn.internal.ir.Node;
aoqi@0 31 import jdk.nashorn.internal.ir.UnaryNode;
aoqi@0 32
aoqi@0 33 /**
aoqi@0 34 * Like NodeVisitor but navigating further into operators.
aoqi@0 35 * @param <T> Lexical context class for this NodeOperatorVisitor
aoqi@0 36 */
attila@1552 37 public abstract class NodeOperatorVisitor<T extends LexicalContext> extends NodeVisitor<T> {
aoqi@0 38 /**
aoqi@0 39 * Constructor
aoqi@0 40 *
aoqi@0 41 * @param lc a custom lexical context
aoqi@0 42 */
aoqi@0 43 public NodeOperatorVisitor(final T lc) {
aoqi@0 44 super(lc);
aoqi@0 45 }
aoqi@0 46
aoqi@0 47 @Override
aoqi@0 48 public final boolean enterUnaryNode(final UnaryNode unaryNode) {
aoqi@0 49 switch (unaryNode.tokenType()) {
aoqi@0 50 case ADD:
aoqi@0 51 return enterADD(unaryNode);
aoqi@0 52 case BIT_NOT:
aoqi@0 53 return enterBIT_NOT(unaryNode);
aoqi@0 54 case DELETE:
aoqi@0 55 return enterDELETE(unaryNode);
aoqi@0 56 case NEW:
aoqi@0 57 return enterNEW(unaryNode);
aoqi@0 58 case NOT:
aoqi@0 59 return enterNOT(unaryNode);
aoqi@0 60 case SUB:
aoqi@0 61 return enterSUB(unaryNode);
aoqi@0 62 case TYPEOF:
aoqi@0 63 return enterTYPEOF(unaryNode);
aoqi@0 64 case VOID:
aoqi@0 65 return enterVOID(unaryNode);
aoqi@0 66 case DECPREFIX:
aoqi@0 67 case DECPOSTFIX:
aoqi@0 68 case INCPREFIX:
aoqi@0 69 case INCPOSTFIX:
aoqi@0 70 return enterDECINC(unaryNode);
aoqi@0 71 default:
aoqi@0 72 return super.enterUnaryNode(unaryNode);
aoqi@0 73 }
aoqi@0 74 }
aoqi@0 75
aoqi@0 76 @Override
aoqi@0 77 public final Node leaveUnaryNode(final UnaryNode unaryNode) {
aoqi@0 78 switch (unaryNode.tokenType()) {
aoqi@0 79 case ADD:
aoqi@0 80 return leaveADD(unaryNode);
aoqi@0 81 case BIT_NOT:
aoqi@0 82 return leaveBIT_NOT(unaryNode);
aoqi@0 83 case DELETE:
aoqi@0 84 return leaveDELETE(unaryNode);
aoqi@0 85 case NEW:
aoqi@0 86 return leaveNEW(unaryNode);
aoqi@0 87 case NOT:
aoqi@0 88 return leaveNOT(unaryNode);
aoqi@0 89 case SUB:
aoqi@0 90 return leaveSUB(unaryNode);
aoqi@0 91 case TYPEOF:
aoqi@0 92 return leaveTYPEOF(unaryNode);
aoqi@0 93 case VOID:
aoqi@0 94 return leaveVOID(unaryNode);
aoqi@0 95 case DECPREFIX:
aoqi@0 96 case DECPOSTFIX:
aoqi@0 97 case INCPREFIX:
aoqi@0 98 case INCPOSTFIX:
aoqi@0 99 return leaveDECINC(unaryNode);
aoqi@0 100 default:
aoqi@0 101 return super.leaveUnaryNode(unaryNode);
aoqi@0 102 }
aoqi@0 103 }
aoqi@0 104
aoqi@0 105 @Override
aoqi@0 106 public final boolean enterBinaryNode(final BinaryNode binaryNode) {
aoqi@0 107 switch (binaryNode.tokenType()) {
aoqi@0 108 case ADD:
aoqi@0 109 return enterADD(binaryNode);
aoqi@0 110 case AND:
aoqi@0 111 return enterAND(binaryNode);
aoqi@0 112 case ASSIGN:
aoqi@0 113 return enterASSIGN(binaryNode);
aoqi@0 114 case ASSIGN_ADD:
aoqi@0 115 return enterASSIGN_ADD(binaryNode);
aoqi@0 116 case ASSIGN_BIT_AND:
aoqi@0 117 return enterASSIGN_BIT_AND(binaryNode);
aoqi@0 118 case ASSIGN_BIT_OR:
aoqi@0 119 return enterASSIGN_BIT_OR(binaryNode);
aoqi@0 120 case ASSIGN_BIT_XOR:
aoqi@0 121 return enterASSIGN_BIT_XOR(binaryNode);
aoqi@0 122 case ASSIGN_DIV:
aoqi@0 123 return enterASSIGN_DIV(binaryNode);
aoqi@0 124 case ASSIGN_MOD:
aoqi@0 125 return enterASSIGN_MOD(binaryNode);
aoqi@0 126 case ASSIGN_MUL:
aoqi@0 127 return enterASSIGN_MUL(binaryNode);
aoqi@0 128 case ASSIGN_SAR:
aoqi@0 129 return enterASSIGN_SAR(binaryNode);
aoqi@0 130 case ASSIGN_SHL:
aoqi@0 131 return enterASSIGN_SHL(binaryNode);
aoqi@0 132 case ASSIGN_SHR:
aoqi@0 133 return enterASSIGN_SHR(binaryNode);
aoqi@0 134 case ASSIGN_SUB:
aoqi@0 135 return enterASSIGN_SUB(binaryNode);
aoqi@0 136 case BIND:
aoqi@0 137 return enterBIND(binaryNode);
aoqi@0 138 case BIT_AND:
aoqi@0 139 return enterBIT_AND(binaryNode);
aoqi@0 140 case BIT_OR:
aoqi@0 141 return enterBIT_OR(binaryNode);
aoqi@0 142 case BIT_XOR:
aoqi@0 143 return enterBIT_XOR(binaryNode);
aoqi@0 144 case COMMARIGHT:
aoqi@0 145 return enterCOMMARIGHT(binaryNode);
aoqi@0 146 case COMMALEFT:
aoqi@0 147 return enterCOMMALEFT(binaryNode);
aoqi@0 148 case DIV:
aoqi@0 149 return enterDIV(binaryNode);
aoqi@0 150 case EQ:
aoqi@0 151 return enterEQ(binaryNode);
aoqi@0 152 case EQ_STRICT:
aoqi@0 153 return enterEQ_STRICT(binaryNode);
aoqi@0 154 case GE:
aoqi@0 155 return enterGE(binaryNode);
aoqi@0 156 case GT:
aoqi@0 157 return enterGT(binaryNode);
aoqi@0 158 case IN:
aoqi@0 159 return enterIN(binaryNode);
aoqi@0 160 case INSTANCEOF:
aoqi@0 161 return enterINSTANCEOF(binaryNode);
aoqi@0 162 case LE:
aoqi@0 163 return enterLE(binaryNode);
aoqi@0 164 case LT:
aoqi@0 165 return enterLT(binaryNode);
aoqi@0 166 case MOD:
aoqi@0 167 return enterMOD(binaryNode);
aoqi@0 168 case MUL:
aoqi@0 169 return enterMUL(binaryNode);
aoqi@0 170 case NE:
aoqi@0 171 return enterNE(binaryNode);
aoqi@0 172 case NE_STRICT:
aoqi@0 173 return enterNE_STRICT(binaryNode);
aoqi@0 174 case OR:
aoqi@0 175 return enterOR(binaryNode);
aoqi@0 176 case SAR:
aoqi@0 177 return enterSAR(binaryNode);
aoqi@0 178 case SHL:
aoqi@0 179 return enterSHL(binaryNode);
aoqi@0 180 case SHR:
aoqi@0 181 return enterSHR(binaryNode);
aoqi@0 182 case SUB:
aoqi@0 183 return enterSUB(binaryNode);
aoqi@0 184 default:
aoqi@0 185 return super.enterBinaryNode(binaryNode);
aoqi@0 186 }
aoqi@0 187 }
aoqi@0 188
aoqi@0 189 @Override
aoqi@0 190 public final Node leaveBinaryNode(final BinaryNode binaryNode) {
aoqi@0 191 switch (binaryNode.tokenType()) {
aoqi@0 192 case ADD:
aoqi@0 193 return leaveADD(binaryNode);
aoqi@0 194 case AND:
aoqi@0 195 return leaveAND(binaryNode);
aoqi@0 196 case ASSIGN:
aoqi@0 197 return leaveASSIGN(binaryNode);
aoqi@0 198 case ASSIGN_ADD:
aoqi@0 199 return leaveASSIGN_ADD(binaryNode);
aoqi@0 200 case ASSIGN_BIT_AND:
aoqi@0 201 return leaveASSIGN_BIT_AND(binaryNode);
aoqi@0 202 case ASSIGN_BIT_OR:
aoqi@0 203 return leaveASSIGN_BIT_OR(binaryNode);
aoqi@0 204 case ASSIGN_BIT_XOR:
aoqi@0 205 return leaveASSIGN_BIT_XOR(binaryNode);
aoqi@0 206 case ASSIGN_DIV:
aoqi@0 207 return leaveASSIGN_DIV(binaryNode);
aoqi@0 208 case ASSIGN_MOD:
aoqi@0 209 return leaveASSIGN_MOD(binaryNode);
aoqi@0 210 case ASSIGN_MUL:
aoqi@0 211 return leaveASSIGN_MUL(binaryNode);
aoqi@0 212 case ASSIGN_SAR:
aoqi@0 213 return leaveASSIGN_SAR(binaryNode);
aoqi@0 214 case ASSIGN_SHL:
aoqi@0 215 return leaveASSIGN_SHL(binaryNode);
aoqi@0 216 case ASSIGN_SHR:
aoqi@0 217 return leaveASSIGN_SHR(binaryNode);
aoqi@0 218 case ASSIGN_SUB:
aoqi@0 219 return leaveASSIGN_SUB(binaryNode);
aoqi@0 220 case BIND:
aoqi@0 221 return leaveBIND(binaryNode);
aoqi@0 222 case BIT_AND:
aoqi@0 223 return leaveBIT_AND(binaryNode);
aoqi@0 224 case BIT_OR:
aoqi@0 225 return leaveBIT_OR(binaryNode);
aoqi@0 226 case BIT_XOR:
aoqi@0 227 return leaveBIT_XOR(binaryNode);
aoqi@0 228 case COMMARIGHT:
aoqi@0 229 return leaveCOMMARIGHT(binaryNode);
aoqi@0 230 case COMMALEFT:
aoqi@0 231 return leaveCOMMALEFT(binaryNode);
aoqi@0 232 case DIV:
aoqi@0 233 return leaveDIV(binaryNode);
aoqi@0 234 case EQ:
aoqi@0 235 return leaveEQ(binaryNode);
aoqi@0 236 case EQ_STRICT:
aoqi@0 237 return leaveEQ_STRICT(binaryNode);
aoqi@0 238 case GE:
aoqi@0 239 return leaveGE(binaryNode);
aoqi@0 240 case GT:
aoqi@0 241 return leaveGT(binaryNode);
aoqi@0 242 case IN:
aoqi@0 243 return leaveIN(binaryNode);
aoqi@0 244 case INSTANCEOF:
aoqi@0 245 return leaveINSTANCEOF(binaryNode);
aoqi@0 246 case LE:
aoqi@0 247 return leaveLE(binaryNode);
aoqi@0 248 case LT:
aoqi@0 249 return leaveLT(binaryNode);
aoqi@0 250 case MOD:
aoqi@0 251 return leaveMOD(binaryNode);
aoqi@0 252 case MUL:
aoqi@0 253 return leaveMUL(binaryNode);
aoqi@0 254 case NE:
aoqi@0 255 return leaveNE(binaryNode);
aoqi@0 256 case NE_STRICT:
aoqi@0 257 return leaveNE_STRICT(binaryNode);
aoqi@0 258 case OR:
aoqi@0 259 return leaveOR(binaryNode);
aoqi@0 260 case SAR:
aoqi@0 261 return leaveSAR(binaryNode);
aoqi@0 262 case SHL:
aoqi@0 263 return leaveSHL(binaryNode);
aoqi@0 264 case SHR:
aoqi@0 265 return leaveSHR(binaryNode);
aoqi@0 266 case SUB:
aoqi@0 267 return leaveSUB(binaryNode);
aoqi@0 268 default:
aoqi@0 269 return super.leaveBinaryNode(binaryNode);
aoqi@0 270 }
aoqi@0 271 }
aoqi@0 272
aoqi@0 273 /*
aoqi@0 274 * Unary entries and exists.
aoqi@0 275 */
aoqi@0 276
aoqi@0 277 /**
aoqi@0 278 * Unary enter - callback for entering a unary +
aoqi@0 279 *
aoqi@0 280 * @param unaryNode the node
aoqi@0 281 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 282 */
aoqi@0 283 public boolean enterADD(final UnaryNode unaryNode) {
aoqi@0 284 return enterDefault(unaryNode);
aoqi@0 285 }
aoqi@0 286
aoqi@0 287 /**
aoqi@0 288 * Unary leave - callback for leaving a unary +
aoqi@0 289 *
aoqi@0 290 * @param unaryNode the node
aoqi@0 291 * @return processed node, which will replace the original one, or the original node
aoqi@0 292 */
aoqi@0 293 public Node leaveADD(final UnaryNode unaryNode) {
aoqi@0 294 return leaveDefault(unaryNode);
aoqi@0 295 }
aoqi@0 296
aoqi@0 297 /**
aoqi@0 298 * Unary enter - callback for entering a ~ operator
aoqi@0 299 *
aoqi@0 300 * @param unaryNode the node
aoqi@0 301 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 302 */
aoqi@0 303 public boolean enterBIT_NOT(final UnaryNode unaryNode) {
aoqi@0 304 return enterDefault(unaryNode);
aoqi@0 305 }
aoqi@0 306
aoqi@0 307 /**
aoqi@0 308 * Unary leave - callback for leaving a unary ~
aoqi@0 309 *
aoqi@0 310 * @param unaryNode the node
aoqi@0 311 * @return processed node, which will replace the original one, or the original node
aoqi@0 312 */
aoqi@0 313 public Node leaveBIT_NOT(final UnaryNode unaryNode) {
aoqi@0 314 return leaveDefault(unaryNode);
aoqi@0 315 }
aoqi@0 316
aoqi@0 317 /**
aoqi@0 318 * Unary enter - callback for entering a ++ or -- operator
aoqi@0 319 *
aoqi@0 320 * @param unaryNode the node
aoqi@0 321 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 322 */
aoqi@0 323 public boolean enterDECINC(final UnaryNode unaryNode) {
aoqi@0 324 return enterDefault(unaryNode);
aoqi@0 325 }
aoqi@0 326
aoqi@0 327 /**
aoqi@0 328 * Unary leave - callback for leaving a ++ or -- operator
aoqi@0 329 *
aoqi@0 330 * @param unaryNode the node
aoqi@0 331 * @return processed node, which will replace the original one, or the original node
aoqi@0 332 */
aoqi@0 333 public Node leaveDECINC(final UnaryNode unaryNode) {
aoqi@0 334 return leaveDefault(unaryNode);
aoqi@0 335 }
aoqi@0 336
aoqi@0 337 /**
aoqi@0 338 * Unary enter - callback for entering a delete operator
aoqi@0 339 *
aoqi@0 340 * @param unaryNode the node
aoqi@0 341 * @return processed node
aoqi@0 342 */
aoqi@0 343 public boolean enterDELETE(final UnaryNode unaryNode) {
aoqi@0 344 return enterDefault(unaryNode);
aoqi@0 345 }
aoqi@0 346
aoqi@0 347 /**
aoqi@0 348 * Unary leave - callback for leaving a delete operator
aoqi@0 349 *
aoqi@0 350 * @param unaryNode the node
aoqi@0 351 * @return processed node, which will replace the original one, or the original node
aoqi@0 352 */
aoqi@0 353 public Node leaveDELETE(final UnaryNode unaryNode) {
aoqi@0 354 return leaveDefault(unaryNode);
aoqi@0 355 }
aoqi@0 356
aoqi@0 357 /**
aoqi@0 358 * Unary enter - callback for entering a new operator
aoqi@0 359 *
aoqi@0 360 * @param unaryNode the node
aoqi@0 361 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 362 */
aoqi@0 363 public boolean enterNEW(final UnaryNode unaryNode) {
aoqi@0 364 return enterDefault(unaryNode);
aoqi@0 365 }
aoqi@0 366
aoqi@0 367 /**
aoqi@0 368 * Unary leave - callback for leaving a new operator
aoqi@0 369 *
aoqi@0 370 * @param unaryNode the node
aoqi@0 371 * @return processed node, which will replace the original one, or the original node
aoqi@0 372 */
aoqi@0 373 public Node leaveNEW(final UnaryNode unaryNode) {
aoqi@0 374 return leaveDefault(unaryNode);
aoqi@0 375 }
aoqi@0 376
aoqi@0 377 /**
aoqi@0 378 * Unary enter - callback for entering a ! operator
aoqi@0 379 *
aoqi@0 380 * @param unaryNode the node
aoqi@0 381 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 382 */
aoqi@0 383 public boolean enterNOT(final UnaryNode unaryNode) {
aoqi@0 384 return enterDefault(unaryNode);
aoqi@0 385 }
aoqi@0 386
aoqi@0 387 /**
aoqi@0 388 * Unary leave - callback for leaving a ! operator
aoqi@0 389 *
aoqi@0 390 * @param unaryNode the node
aoqi@0 391 * @return processed node, which will replace the original one, or the original node
aoqi@0 392 */
aoqi@0 393 public Node leaveNOT(final UnaryNode unaryNode) {
aoqi@0 394 return leaveDefault(unaryNode);
aoqi@0 395 }
aoqi@0 396
aoqi@0 397 /**
aoqi@0 398 * Unary enter - callback for entering a unary -
aoqi@0 399 *
aoqi@0 400 * @param unaryNode the node
aoqi@0 401 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 402 */
aoqi@0 403 public boolean enterSUB(final UnaryNode unaryNode) {
aoqi@0 404 return enterDefault(unaryNode);
aoqi@0 405 }
aoqi@0 406
aoqi@0 407 /**
aoqi@0 408 * Unary leave - callback for leaving a unary -
aoqi@0 409 *
aoqi@0 410 * @param unaryNode the node
aoqi@0 411 * @return processed node, which will replace the original one, or the original node
aoqi@0 412 */
aoqi@0 413 public Node leaveSUB(final UnaryNode unaryNode) {
aoqi@0 414 return leaveDefault(unaryNode);
aoqi@0 415 }
aoqi@0 416
aoqi@0 417 /**
aoqi@0 418 * Unary enter - callback for entering a typeof
aoqi@0 419 *
aoqi@0 420 * @param unaryNode the node
aoqi@0 421 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 422 */
aoqi@0 423 public boolean enterTYPEOF(final UnaryNode unaryNode) {
aoqi@0 424 return enterDefault(unaryNode);
aoqi@0 425 }
aoqi@0 426
aoqi@0 427 /**
aoqi@0 428 * Unary leave - callback for leaving a typeof operator
aoqi@0 429 *
aoqi@0 430 * @param unaryNode the node
aoqi@0 431 * @return processed node, which will replace the original one, or the original node
aoqi@0 432 */
aoqi@0 433 public Node leaveTYPEOF(final UnaryNode unaryNode) {
aoqi@0 434 return leaveDefault(unaryNode);
aoqi@0 435 }
aoqi@0 436
aoqi@0 437 /**
aoqi@0 438 * Unary enter - callback for entering a void
aoqi@0 439 *
aoqi@0 440 * @param unaryNode the node
aoqi@0 441 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 442 */
aoqi@0 443 public boolean enterVOID(final UnaryNode unaryNode) {
aoqi@0 444 return enterDefault(unaryNode);
aoqi@0 445 }
aoqi@0 446
aoqi@0 447 /**
aoqi@0 448 * Unary leave - callback for leaving a void
aoqi@0 449 *
aoqi@0 450 * @param unaryNode the node
aoqi@0 451 * @return processed node, which will replace the original one, or the original node
aoqi@0 452 */
aoqi@0 453 public Node leaveVOID(final UnaryNode unaryNode) {
aoqi@0 454 return leaveDefault(unaryNode);
aoqi@0 455 }
aoqi@0 456
aoqi@0 457 /**
aoqi@0 458 * Binary enter - callback for entering + operator
aoqi@0 459 *
aoqi@0 460 * @param binaryNode the node
aoqi@0 461 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 462 */
aoqi@0 463 public boolean enterADD(final BinaryNode binaryNode) {
aoqi@0 464 return enterDefault(binaryNode);
aoqi@0 465 }
aoqi@0 466
aoqi@0 467 /**
aoqi@0 468 * Binary leave - callback for leaving a + operator
aoqi@0 469 *
aoqi@0 470 * @param binaryNode the node
aoqi@0 471 * @return processed node, which will replace the original one, or the original node
aoqi@0 472 */
aoqi@0 473 public Node leaveADD(final BinaryNode binaryNode) {
aoqi@0 474 return leaveDefault(binaryNode);
aoqi@0 475 }
aoqi@0 476
aoqi@0 477 /**
aoqi@0 478 * Binary enter - callback for entering {@literal &&} operator
aoqi@0 479 *
aoqi@0 480 * @param binaryNode the node
aoqi@0 481 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 482 */
aoqi@0 483 public boolean enterAND(final BinaryNode binaryNode) {
aoqi@0 484 return enterDefault(binaryNode);
aoqi@0 485 }
aoqi@0 486
aoqi@0 487 /**
aoqi@0 488 * Binary leave - callback for leaving a {@literal &&} operator
aoqi@0 489 *
aoqi@0 490 * @param binaryNode the node
aoqi@0 491 * @return processed node, which will replace the original one, or the original node
aoqi@0 492 */
aoqi@0 493 public Node leaveAND(final BinaryNode binaryNode) {
aoqi@0 494 return leaveDefault(binaryNode);
aoqi@0 495 }
aoqi@0 496
aoqi@0 497 /**
aoqi@0 498 * Binary enter - callback for entering an assignment
aoqi@0 499 *
aoqi@0 500 * @param binaryNode the node
aoqi@0 501 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 502 */
aoqi@0 503 public boolean enterASSIGN(final BinaryNode binaryNode) {
aoqi@0 504 return enterDefault(binaryNode);
aoqi@0 505 }
aoqi@0 506
aoqi@0 507 /**
aoqi@0 508 * Binary leave - callback for leaving an assignment
aoqi@0 509 *
aoqi@0 510 * @param binaryNode the node
aoqi@0 511 * @return processed node, which will replace the original one, or the original node
aoqi@0 512 */
aoqi@0 513 public Node leaveASSIGN(final BinaryNode binaryNode) {
aoqi@0 514 return leaveDefault(binaryNode);
aoqi@0 515 }
aoqi@0 516
aoqi@0 517 /**
aoqi@0 518 * Binary enter - callback for entering += operator
aoqi@0 519 *
aoqi@0 520 * @param binaryNode the node
aoqi@0 521 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 522 */
aoqi@0 523 public boolean enterASSIGN_ADD(final BinaryNode binaryNode) {
aoqi@0 524 return enterDefault(binaryNode);
aoqi@0 525 }
aoqi@0 526
aoqi@0 527 /**
aoqi@0 528 * Binary leave - callback for leaving a += operator
aoqi@0 529 *
aoqi@0 530 * @param binaryNode the node
aoqi@0 531 * @return processed node, which will replace the original one, or the original node
aoqi@0 532 */
aoqi@0 533 public Node leaveASSIGN_ADD(final BinaryNode binaryNode) {
aoqi@0 534 return leaveDefault(binaryNode);
aoqi@0 535 }
aoqi@0 536
aoqi@0 537 /**
aoqi@0 538 * Binary enter - callback for entering {@literal &=} operator
aoqi@0 539 *
aoqi@0 540 * @param binaryNode the node
aoqi@0 541 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 542 */
aoqi@0 543 public boolean enterASSIGN_BIT_AND(final BinaryNode binaryNode) {
aoqi@0 544 return enterDefault(binaryNode);
aoqi@0 545 }
aoqi@0 546
aoqi@0 547 /**
aoqi@0 548 * Binary leave - callback for leaving a {@literal &=} operator
aoqi@0 549 *
aoqi@0 550 * @param binaryNode the node
aoqi@0 551 * @return processed node, which will replace the original one, or the original node
aoqi@0 552 */
aoqi@0 553 public Node leaveASSIGN_BIT_AND(final BinaryNode binaryNode) {
aoqi@0 554 return leaveDefault(binaryNode);
aoqi@0 555 }
aoqi@0 556
aoqi@0 557 /**
aoqi@0 558 * Binary enter - callback for entering |= operator
aoqi@0 559 *
aoqi@0 560 * @param binaryNode the node
aoqi@0 561 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 562 */
aoqi@0 563 public boolean enterASSIGN_BIT_OR(final BinaryNode binaryNode) {
aoqi@0 564 return enterDefault(binaryNode);
aoqi@0 565 }
aoqi@0 566
aoqi@0 567 /**
aoqi@0 568 * Binary leave - callback for leaving a |= operator
aoqi@0 569 *
aoqi@0 570 * @param binaryNode the node
aoqi@0 571 * @return processed node, which will replace the original one, or the original node
aoqi@0 572 */
aoqi@0 573 public Node leaveASSIGN_BIT_OR(final BinaryNode binaryNode) {
aoqi@0 574 return leaveDefault(binaryNode);
aoqi@0 575 }
aoqi@0 576
aoqi@0 577 /**
aoqi@0 578 * Binary enter - callback for entering ^= operator
aoqi@0 579 *
aoqi@0 580 * @param binaryNode the node
aoqi@0 581 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 582 */
aoqi@0 583 public boolean enterASSIGN_BIT_XOR(final BinaryNode binaryNode) {
aoqi@0 584 return enterDefault(binaryNode);
aoqi@0 585 }
aoqi@0 586
aoqi@0 587 /**
aoqi@0 588 * Binary leave - callback for leaving a ^= operator
aoqi@0 589 *
aoqi@0 590 * @param binaryNode the node
aoqi@0 591 * @return processed node, which will replace the original one, or the original node
aoqi@0 592 */
aoqi@0 593 public Node leaveASSIGN_BIT_XOR(final BinaryNode binaryNode) {
aoqi@0 594 return leaveDefault(binaryNode);
aoqi@0 595 }
aoqi@0 596
aoqi@0 597 /**
aoqi@0 598 * Binary enter - callback for entering /= operator
aoqi@0 599 *
aoqi@0 600 * @param binaryNode the node
aoqi@0 601 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 602 */
aoqi@0 603 public boolean enterASSIGN_DIV(final BinaryNode binaryNode) {
aoqi@0 604 return enterDefault(binaryNode);
aoqi@0 605 }
aoqi@0 606
aoqi@0 607 /**
aoqi@0 608 * Binary leave - callback for leaving a /= operator
aoqi@0 609 *
aoqi@0 610 * @param binaryNode the node
aoqi@0 611 * @return processed node, which will replace the original one, or the original node
aoqi@0 612 */
aoqi@0 613 public Node leaveASSIGN_DIV(final BinaryNode binaryNode) {
aoqi@0 614 return leaveDefault(binaryNode);
aoqi@0 615 }
aoqi@0 616
aoqi@0 617 /**
aoqi@0 618 * Binary enter - callback for entering %= operator
aoqi@0 619 *
aoqi@0 620 * @param binaryNode the node
aoqi@0 621 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 622 */
aoqi@0 623 public boolean enterASSIGN_MOD(final BinaryNode binaryNode) {
aoqi@0 624 return enterDefault(binaryNode);
aoqi@0 625 }
aoqi@0 626
aoqi@0 627 /**
aoqi@0 628 * Binary leave - callback for leaving a %= operator
aoqi@0 629 *
aoqi@0 630 * @param binaryNode the node
aoqi@0 631 * @return processed node, which will replace the original one, or the original node
aoqi@0 632 */
aoqi@0 633 public Node leaveASSIGN_MOD(final BinaryNode binaryNode) {
aoqi@0 634 return leaveDefault(binaryNode);
aoqi@0 635 }
aoqi@0 636
aoqi@0 637 /**
aoqi@0 638 * Binary enter - callback for entering *= operator
aoqi@0 639 *
aoqi@0 640 * @param binaryNode the node
aoqi@0 641 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 642 */
aoqi@0 643 public boolean enterASSIGN_MUL(final BinaryNode binaryNode) {
aoqi@0 644 return enterDefault(binaryNode);
aoqi@0 645 }
aoqi@0 646
aoqi@0 647 /**
aoqi@0 648 * Binary leave - callback for leaving a *= operator
aoqi@0 649 *
aoqi@0 650 * @param binaryNode the node
aoqi@0 651 * @return processed node, which will replace the original one, or the original node
aoqi@0 652 */
aoqi@0 653 public Node leaveASSIGN_MUL(final BinaryNode binaryNode) {
aoqi@0 654 return leaveDefault(binaryNode);
aoqi@0 655 }
aoqi@0 656
aoqi@0 657 /**
aoqi@0 658 * Binary enter - callback for entering {@literal >>=} operator
aoqi@0 659 *
aoqi@0 660 * @param binaryNode the node
aoqi@0 661 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 662 */
aoqi@0 663 public boolean enterASSIGN_SAR(final BinaryNode binaryNode) {
aoqi@0 664 return enterDefault(binaryNode);
aoqi@0 665 }
aoqi@0 666
aoqi@0 667 /**
aoqi@0 668 * Binary leave - callback for leaving a {@literal >>=} operator
aoqi@0 669 *
aoqi@0 670 * @param binaryNode the node
aoqi@0 671 * @return processed node, which will replace the original one, or the original node
aoqi@0 672 */
aoqi@0 673 public Node leaveASSIGN_SAR(final BinaryNode binaryNode) {
aoqi@0 674 return leaveDefault(binaryNode);
aoqi@0 675 }
aoqi@0 676
aoqi@0 677 /**
aoqi@0 678 * Binary enter - callback for entering a {@literal <<=} operator
aoqi@0 679 *
aoqi@0 680 * @param binaryNode the node
aoqi@0 681 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 682 */
aoqi@0 683 public boolean enterASSIGN_SHL(final BinaryNode binaryNode) {
aoqi@0 684 return enterDefault(binaryNode);
aoqi@0 685 }
aoqi@0 686
aoqi@0 687 /**
aoqi@0 688 * Binary leave - callback for leaving a {@literal <<=} operator
aoqi@0 689 *
aoqi@0 690 * @param binaryNode the node
aoqi@0 691 * @return processed node, which will replace the original one, or the original node
aoqi@0 692 */
aoqi@0 693 public Node leaveASSIGN_SHL(final BinaryNode binaryNode) {
aoqi@0 694 return leaveDefault(binaryNode);
aoqi@0 695 }
aoqi@0 696
aoqi@0 697 /**
aoqi@0 698 * Binary enter - callback for entering {@literal >>>=} operator
aoqi@0 699 *
aoqi@0 700 * @param binaryNode the node
aoqi@0 701 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 702 */
aoqi@0 703 public boolean enterASSIGN_SHR(final BinaryNode binaryNode) {
aoqi@0 704 return enterDefault(binaryNode);
aoqi@0 705 }
aoqi@0 706
aoqi@0 707 /**
aoqi@0 708 * Binary leave - callback for leaving a {@literal >>>=} operator
aoqi@0 709 *
aoqi@0 710 * @param binaryNode the node
aoqi@0 711 * @return processed node, which will replace the original one, or the original node
aoqi@0 712 */
aoqi@0 713 public Node leaveASSIGN_SHR(final BinaryNode binaryNode) {
aoqi@0 714 return leaveDefault(binaryNode);
aoqi@0 715 }
aoqi@0 716
aoqi@0 717 /**
aoqi@0 718 * Binary enter - callback for entering -= operator
aoqi@0 719 *
aoqi@0 720 * @param binaryNode the node
aoqi@0 721 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 722 */
aoqi@0 723 public boolean enterASSIGN_SUB(final BinaryNode binaryNode) {
aoqi@0 724 return enterDefault(binaryNode);
aoqi@0 725 }
aoqi@0 726
aoqi@0 727 /**
aoqi@0 728 * Binary leave - callback for leaving a -= operator
aoqi@0 729 *
aoqi@0 730 * @param binaryNode the node
aoqi@0 731 * @return processed node, which will replace the original one, or the original node
aoqi@0 732 */
aoqi@0 733 public Node leaveASSIGN_SUB(final BinaryNode binaryNode) {
aoqi@0 734 return leaveDefault(binaryNode);
aoqi@0 735 }
aoqi@0 736
aoqi@0 737 /**
aoqi@0 738 * Binary enter - callback for entering a bind operator
aoqi@0 739 *
aoqi@0 740 * @param binaryNode the node
aoqi@0 741 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 742 */
aoqi@0 743 public boolean enterBIND(final BinaryNode binaryNode) {
aoqi@0 744 return enterDefault(binaryNode);
aoqi@0 745 }
aoqi@0 746
aoqi@0 747 /**
aoqi@0 748 * Binary leave - callback for leaving a bind operator
aoqi@0 749 *
aoqi@0 750 * @param binaryNode the node
aoqi@0 751 * @return processed node, which will replace the original one, or the original node
aoqi@0 752 */
aoqi@0 753 public Node leaveBIND(final BinaryNode binaryNode) {
aoqi@0 754 return leaveDefault(binaryNode);
aoqi@0 755 }
aoqi@0 756
aoqi@0 757 /**
aoqi@0 758 * Binary enter - callback for entering {@literal &} operator
aoqi@0 759 *
aoqi@0 760 * @param binaryNode the node
aoqi@0 761 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 762 */
aoqi@0 763 public boolean enterBIT_AND(final BinaryNode binaryNode) {
aoqi@0 764 return enterDefault(binaryNode);
aoqi@0 765 }
aoqi@0 766
aoqi@0 767 /**
aoqi@0 768 * Binary leave - callback for leaving a {@literal &} operator
aoqi@0 769 *
aoqi@0 770 * @param binaryNode the node
aoqi@0 771 * @return processed node, which will replace the original one, or the original node
aoqi@0 772 */
aoqi@0 773 public Node leaveBIT_AND(final BinaryNode binaryNode) {
aoqi@0 774 return leaveDefault(binaryNode);
aoqi@0 775 }
aoqi@0 776
aoqi@0 777 /**
aoqi@0 778 * Binary enter - callback for entering | operator
aoqi@0 779 *
aoqi@0 780 * @param binaryNode the node
aoqi@0 781 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 782 */
aoqi@0 783 public boolean enterBIT_OR(final BinaryNode binaryNode) {
aoqi@0 784 return enterDefault(binaryNode);
aoqi@0 785 }
aoqi@0 786
aoqi@0 787 /**
aoqi@0 788 * Binary leave - callback for leaving a | operator
aoqi@0 789 *
aoqi@0 790 * @param binaryNode the node
aoqi@0 791 * @return processed node, which will replace the original one, or the original node
aoqi@0 792 */
aoqi@0 793 public Node leaveBIT_OR(final BinaryNode binaryNode) {
aoqi@0 794 return leaveDefault(binaryNode);
aoqi@0 795 }
aoqi@0 796
aoqi@0 797 /**
aoqi@0 798 * Binary enter - callback for entering ^ operator
aoqi@0 799 *
aoqi@0 800 * @param binaryNode the node
aoqi@0 801 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 802 */
aoqi@0 803 public boolean enterBIT_XOR(final BinaryNode binaryNode) {
aoqi@0 804 return enterDefault(binaryNode);
aoqi@0 805 }
aoqi@0 806
aoqi@0 807 /**
aoqi@0 808 * Binary leave - callback for leaving a operator
aoqi@0 809 *
aoqi@0 810 * @param binaryNode the node
aoqi@0 811 * @return processed node, which will replace the original one, or the original node
aoqi@0 812 */
aoqi@0 813 public Node leaveBIT_XOR(final BinaryNode binaryNode) {
aoqi@0 814 return leaveDefault(binaryNode);
aoqi@0 815 }
aoqi@0 816
aoqi@0 817 /**
aoqi@0 818 * Binary enter - callback for entering comma left operator
aoqi@0 819 * (a, b) where the result is a
aoqi@0 820 *
aoqi@0 821 * @param binaryNode the node
aoqi@0 822 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 823 */
aoqi@0 824 public boolean enterCOMMALEFT(final BinaryNode binaryNode) {
aoqi@0 825 return enterDefault(binaryNode);
aoqi@0 826 }
aoqi@0 827
aoqi@0 828 /**
aoqi@0 829 * Binary leave - callback for leaving a comma left operator
aoqi@0 830 * (a, b) where the result is a
aoqi@0 831 *
aoqi@0 832 * @param binaryNode the node
aoqi@0 833 * @return processed node, which will replace the original one, or the original node
aoqi@0 834 */
aoqi@0 835 public Node leaveCOMMALEFT(final BinaryNode binaryNode) {
aoqi@0 836 return leaveDefault(binaryNode);
aoqi@0 837 }
aoqi@0 838
aoqi@0 839 /**
aoqi@0 840 * Binary enter - callback for entering comma right operator
aoqi@0 841 * (a, b) where the result is b
aoqi@0 842 *
aoqi@0 843 * @param binaryNode the node
aoqi@0 844 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 845 */
aoqi@0 846 public boolean enterCOMMARIGHT(final BinaryNode binaryNode) {
aoqi@0 847 return enterDefault(binaryNode);
aoqi@0 848 }
aoqi@0 849
aoqi@0 850 /**
aoqi@0 851 * Binary leave - callback for leaving a comma left operator
aoqi@0 852 * (a, b) where the result is b
aoqi@0 853 *
aoqi@0 854 * @param binaryNode the node
aoqi@0 855 * @return processed node, which will replace the original one, or the original node
aoqi@0 856 */
aoqi@0 857 public Node leaveCOMMARIGHT(final BinaryNode binaryNode) {
aoqi@0 858 return leaveDefault(binaryNode);
aoqi@0 859 }
aoqi@0 860
aoqi@0 861 /**
aoqi@0 862 * Binary enter - callback for entering a division
aoqi@0 863 *
aoqi@0 864 * @param binaryNode the node
aoqi@0 865 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 866 */
aoqi@0 867 public boolean enterDIV(final BinaryNode binaryNode) {
aoqi@0 868 return enterDefault(binaryNode);
aoqi@0 869 }
aoqi@0 870
aoqi@0 871 /**
aoqi@0 872 * Binary leave - callback for leaving a division
aoqi@0 873 *
aoqi@0 874 * @param binaryNode the node
aoqi@0 875 * @return processed node, which will replace the original one, or the original node
aoqi@0 876 */
aoqi@0 877 public Node leaveDIV(final BinaryNode binaryNode) {
aoqi@0 878 return leaveDefault(binaryNode);
aoqi@0 879 }
aoqi@0 880
aoqi@0 881 /**
aoqi@0 882 * Binary enter - callback for entering == operator
aoqi@0 883 *
aoqi@0 884 * @param binaryNode the node
aoqi@0 885 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 886 */
aoqi@0 887 public boolean enterEQ(final BinaryNode binaryNode) {
aoqi@0 888 return enterDefault(binaryNode);
aoqi@0 889 }
aoqi@0 890
aoqi@0 891 /**
aoqi@0 892 * Binary leave - callback for leaving == operator
aoqi@0 893 *
aoqi@0 894 * @param binaryNode the node
aoqi@0 895 * @return processed node, which will replace the original one, or the original node
aoqi@0 896 */
aoqi@0 897 public Node leaveEQ(final BinaryNode binaryNode) {
aoqi@0 898 return leaveDefault(binaryNode);
aoqi@0 899 }
aoqi@0 900
aoqi@0 901 /**
aoqi@0 902 * Binary enter - callback for entering === operator
aoqi@0 903 *
aoqi@0 904 * @param binaryNode the node
aoqi@0 905 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 906 */
aoqi@0 907 public boolean enterEQ_STRICT(final BinaryNode binaryNode) {
aoqi@0 908 return enterDefault(binaryNode);
aoqi@0 909 }
aoqi@0 910
aoqi@0 911 /**
aoqi@0 912 * Binary leave - callback for leaving === operator
aoqi@0 913 *
aoqi@0 914 * @param binaryNode the node
aoqi@0 915 * @return processed node, which will replace the original one, or the original node
aoqi@0 916 */
aoqi@0 917 public Node leaveEQ_STRICT(final BinaryNode binaryNode) {
aoqi@0 918 return leaveDefault(binaryNode);
aoqi@0 919 }
aoqi@0 920
aoqi@0 921 /**
aoqi@0 922 * Binary enter - callback for entering {@literal >=} operator
aoqi@0 923 *
aoqi@0 924 * @param binaryNode the node
aoqi@0 925 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 926 */
aoqi@0 927 public boolean enterGE(final BinaryNode binaryNode) {
aoqi@0 928 return enterDefault(binaryNode);
aoqi@0 929 }
aoqi@0 930
aoqi@0 931 /**
aoqi@0 932 * Binary leave - callback for leaving {@literal >=} operator
aoqi@0 933 *
aoqi@0 934 * @param binaryNode the node
aoqi@0 935 * @return processed node, which will replace the original one, or the original node
aoqi@0 936 */
aoqi@0 937 public Node leaveGE(final BinaryNode binaryNode) {
aoqi@0 938 return leaveDefault(binaryNode);
aoqi@0 939 }
aoqi@0 940
aoqi@0 941 /**
aoqi@0 942 * Binary enter - callback for entering {@literal >} operator
aoqi@0 943 *
aoqi@0 944 * @param binaryNode the node
aoqi@0 945 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 946 */
aoqi@0 947 public boolean enterGT(final BinaryNode binaryNode) {
aoqi@0 948 return enterDefault(binaryNode);
aoqi@0 949 }
aoqi@0 950
aoqi@0 951 /**
aoqi@0 952 * Binary leave - callback for leaving {@literal >} operator
aoqi@0 953 *
aoqi@0 954 * @param binaryNode the node
aoqi@0 955 * @return processed node, which will replace the original one, or the original node
aoqi@0 956 */
aoqi@0 957 public Node leaveGT(final BinaryNode binaryNode) {
aoqi@0 958 return leaveDefault(binaryNode);
aoqi@0 959 }
aoqi@0 960
aoqi@0 961 /**
aoqi@0 962 * Binary enter - callback for entering in operator
aoqi@0 963 *
aoqi@0 964 * @param binaryNode the node
aoqi@0 965 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 966 */
aoqi@0 967 public boolean enterIN(final BinaryNode binaryNode) {
aoqi@0 968 return enterDefault(binaryNode);
aoqi@0 969 }
aoqi@0 970
aoqi@0 971 /**
aoqi@0 972 * Binary leave - callback for leaving in operator
aoqi@0 973 *
aoqi@0 974 * @param binaryNode the node
aoqi@0 975 * @return processed node, which will replace the original one, or the original node
aoqi@0 976 */
aoqi@0 977 public Node leaveIN(final BinaryNode binaryNode) {
aoqi@0 978 return leaveDefault(binaryNode);
aoqi@0 979 }
aoqi@0 980
aoqi@0 981 /**
aoqi@0 982 * Binary enter - callback for entering instanceof operator
aoqi@0 983 *
aoqi@0 984 * @param binaryNode the node
aoqi@0 985 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 986 */
aoqi@0 987 public boolean enterINSTANCEOF(final BinaryNode binaryNode) {
aoqi@0 988 return enterDefault(binaryNode);
aoqi@0 989 }
aoqi@0 990
aoqi@0 991 /**
aoqi@0 992 * Binary leave - callback for leaving instanceof operator
aoqi@0 993 *
aoqi@0 994 * @param binaryNode the node
aoqi@0 995 * @return processed node, which will replace the original one, or the original node
aoqi@0 996 */
aoqi@0 997 public Node leaveINSTANCEOF(final BinaryNode binaryNode) {
aoqi@0 998 return leaveDefault(binaryNode);
aoqi@0 999 }
aoqi@0 1000
aoqi@0 1001 /**
aoqi@0 1002 * Binary enter - callback for entering {@literal <=} operator
aoqi@0 1003 *
aoqi@0 1004 * @param binaryNode the node
aoqi@0 1005 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 1006 */
aoqi@0 1007 public boolean enterLE(final BinaryNode binaryNode) {
aoqi@0 1008 return enterDefault(binaryNode);
aoqi@0 1009 }
aoqi@0 1010
aoqi@0 1011 /**
aoqi@0 1012 * Binary leave - callback for leaving {@literal <=} operator
aoqi@0 1013 *
aoqi@0 1014 * @param binaryNode the node
aoqi@0 1015 * @return processed node, which will replace the original one, or the original node
aoqi@0 1016 */
aoqi@0 1017 public Node leaveLE(final BinaryNode binaryNode) {
aoqi@0 1018 return leaveDefault(binaryNode);
aoqi@0 1019 }
aoqi@0 1020
aoqi@0 1021 /**
aoqi@0 1022 * Binary enter - callback for entering {@literal <} operator
aoqi@0 1023 *
aoqi@0 1024 * @param binaryNode the node
aoqi@0 1025 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 1026 */
aoqi@0 1027 public boolean enterLT(final BinaryNode binaryNode) {
aoqi@0 1028 return enterDefault(binaryNode);
aoqi@0 1029 }
aoqi@0 1030
aoqi@0 1031 /**
aoqi@0 1032 * Binary leave - callback for leaving {@literal <} operator
aoqi@0 1033 *
aoqi@0 1034 * @param binaryNode the node
aoqi@0 1035 * @return processed node, which will replace the original one, or the original node
aoqi@0 1036 */
aoqi@0 1037 public Node leaveLT(final BinaryNode binaryNode) {
aoqi@0 1038 return leaveDefault(binaryNode);
aoqi@0 1039 }
aoqi@0 1040 /**
aoqi@0 1041 * Binary enter - callback for entering % operator
aoqi@0 1042 *
aoqi@0 1043 * @param binaryNode the node
aoqi@0 1044 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 1045 */
aoqi@0 1046 public boolean enterMOD(final BinaryNode binaryNode) {
aoqi@0 1047 return enterDefault(binaryNode);
aoqi@0 1048 }
aoqi@0 1049
aoqi@0 1050 /**
aoqi@0 1051 * Binary leave - callback for leaving % operator
aoqi@0 1052 *
aoqi@0 1053 * @param binaryNode the node
aoqi@0 1054 * @return processed node, which will replace the original one, or the original node
aoqi@0 1055 */
aoqi@0 1056 public Node leaveMOD(final BinaryNode binaryNode) {
aoqi@0 1057 return leaveDefault(binaryNode);
aoqi@0 1058 }
aoqi@0 1059
aoqi@0 1060 /**
aoqi@0 1061 * Binary enter - callback for entering * operator
aoqi@0 1062 *
aoqi@0 1063 * @param binaryNode the node
aoqi@0 1064 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 1065 */
aoqi@0 1066 public boolean enterMUL(final BinaryNode binaryNode) {
aoqi@0 1067 return enterDefault(binaryNode);
aoqi@0 1068 }
aoqi@0 1069
aoqi@0 1070 /**
aoqi@0 1071 * Binary leave - callback for leaving * operator
aoqi@0 1072 *
aoqi@0 1073 * @param binaryNode the node
aoqi@0 1074 * @return processed node, which will replace the original one, or the original node
aoqi@0 1075 */
aoqi@0 1076 public Node leaveMUL(final BinaryNode binaryNode) {
aoqi@0 1077 return leaveDefault(binaryNode);
aoqi@0 1078 }
aoqi@0 1079
aoqi@0 1080 /**
aoqi@0 1081 * Binary enter - callback for entering != operator
aoqi@0 1082 *
aoqi@0 1083 * @param binaryNode the node
aoqi@0 1084 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 1085 */
aoqi@0 1086 public boolean enterNE(final BinaryNode binaryNode) {
aoqi@0 1087 return enterDefault(binaryNode);
aoqi@0 1088 }
aoqi@0 1089
aoqi@0 1090 /**
aoqi@0 1091 * Binary leave - callback for leaving != operator
aoqi@0 1092 *
aoqi@0 1093 * @param binaryNode the node
aoqi@0 1094 * @return processed node, which will replace the original one, or the original node
aoqi@0 1095 */
aoqi@0 1096 public Node leaveNE(final BinaryNode binaryNode) {
aoqi@0 1097 return leaveDefault(binaryNode);
aoqi@0 1098 }
aoqi@0 1099
aoqi@0 1100 /**
aoqi@0 1101 * Binary enter - callback for entering a !== operator
aoqi@0 1102 *
aoqi@0 1103 * @param binaryNode the node
aoqi@0 1104 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 1105 */
aoqi@0 1106 public boolean enterNE_STRICT(final BinaryNode binaryNode) {
aoqi@0 1107 return enterDefault(binaryNode);
aoqi@0 1108 }
aoqi@0 1109
aoqi@0 1110 /**
aoqi@0 1111 * Binary leave - callback for leaving !== operator
aoqi@0 1112 *
aoqi@0 1113 * @param binaryNode the node
aoqi@0 1114 * @return processed node, which will replace the original one, or the original node
aoqi@0 1115 */
aoqi@0 1116 public Node leaveNE_STRICT(final BinaryNode binaryNode) {
aoqi@0 1117 return leaveDefault(binaryNode);
aoqi@0 1118 }
aoqi@0 1119
aoqi@0 1120 /**
aoqi@0 1121 * Binary enter - callback for entering || operator
aoqi@0 1122 *
aoqi@0 1123 * @param binaryNode the node
aoqi@0 1124 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 1125 */
aoqi@0 1126 public boolean enterOR(final BinaryNode binaryNode) {
aoqi@0 1127 return enterDefault(binaryNode);
aoqi@0 1128 }
aoqi@0 1129
aoqi@0 1130 /**
aoqi@0 1131 * Binary leave - callback for leaving || operator
aoqi@0 1132 *
aoqi@0 1133 * @param binaryNode the node
aoqi@0 1134 * @return processed node, which will replace the original one, or the original node
aoqi@0 1135 */
aoqi@0 1136 public Node leaveOR(final BinaryNode binaryNode) {
aoqi@0 1137 return leaveDefault(binaryNode);
aoqi@0 1138 }
aoqi@0 1139
aoqi@0 1140 /**
aoqi@0 1141 * Binary enter - callback for entering {@literal >>} operator
aoqi@0 1142 *
aoqi@0 1143 * @param binaryNode the node
aoqi@0 1144 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 1145 */
aoqi@0 1146 public boolean enterSAR(final BinaryNode binaryNode) {
aoqi@0 1147 return enterDefault(binaryNode);
aoqi@0 1148 }
aoqi@0 1149
aoqi@0 1150 /**
aoqi@0 1151 * Binary leave - callback for leaving {@literal >>} operator
aoqi@0 1152 *
aoqi@0 1153 * @param binaryNode the node
aoqi@0 1154 * @return processed node, which will replace the original one, or the original node
aoqi@0 1155 */
aoqi@0 1156 public Node leaveSAR(final BinaryNode binaryNode) {
aoqi@0 1157 return leaveDefault(binaryNode);
aoqi@0 1158 }
aoqi@0 1159
aoqi@0 1160 /**
aoqi@0 1161 * Binary enter - callback for entering {@literal <<} operator
aoqi@0 1162 *
aoqi@0 1163 * @param binaryNode the node
aoqi@0 1164 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 1165 */
aoqi@0 1166 public boolean enterSHL(final BinaryNode binaryNode) {
aoqi@0 1167 return enterDefault(binaryNode);
aoqi@0 1168 }
aoqi@0 1169
aoqi@0 1170 /**
aoqi@0 1171 * Binary leave - callback for leaving {@literal <<} operator
aoqi@0 1172 *
aoqi@0 1173 * @param binaryNode the node
aoqi@0 1174 * @return processed node, which will replace the original one, or the original node
aoqi@0 1175 */
aoqi@0 1176 public Node leaveSHL(final BinaryNode binaryNode) {
aoqi@0 1177 return leaveDefault(binaryNode);
aoqi@0 1178 }
aoqi@0 1179 /**
aoqi@0 1180 * Binary enter - callback for entering {@literal >>>} operator
aoqi@0 1181 *
aoqi@0 1182 * @param binaryNode the node
aoqi@0 1183 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 1184 */
aoqi@0 1185 public boolean enterSHR(final BinaryNode binaryNode) {
aoqi@0 1186 return enterDefault(binaryNode);
aoqi@0 1187 }
aoqi@0 1188
aoqi@0 1189 /**
aoqi@0 1190 * Binary leave - callback for leaving {@literal >>>} operator
aoqi@0 1191 *
aoqi@0 1192 * @param binaryNode the node
aoqi@0 1193 * @return processed node, which will replace the original one, or the original node
aoqi@0 1194 */
aoqi@0 1195 public Node leaveSHR(final BinaryNode binaryNode) {
aoqi@0 1196 return leaveDefault(binaryNode);
aoqi@0 1197 }
aoqi@0 1198
aoqi@0 1199 /**
aoqi@0 1200 * Binary enter - callback for entering - operator
aoqi@0 1201 *
aoqi@0 1202 * @param binaryNode the node
aoqi@0 1203 * @return true if traversal should continue and node children be traversed, false otherwise
aoqi@0 1204 */
aoqi@0 1205 public boolean enterSUB(final BinaryNode binaryNode) {
aoqi@0 1206 return enterDefault(binaryNode);
aoqi@0 1207 }
aoqi@0 1208
aoqi@0 1209 /**
aoqi@0 1210 * Binary leave - callback for leaving - operator
aoqi@0 1211 *
aoqi@0 1212 * @param binaryNode the node
aoqi@0 1213 * @return processed node, which will replace the original one, or the original node
aoqi@0 1214 */
aoqi@0 1215 public Node leaveSUB(final BinaryNode binaryNode) {
aoqi@0 1216 return leaveDefault(binaryNode);
aoqi@0 1217 }
aoqi@0 1218 }

mercurial