public void visitBinaryExpression(BinaryExpression expression) {
    if (expression.getOperation().getType() == Types.LEFT_SQUARE_BRACKET
        && expression.getRightExpression() instanceof MapEntryExpression) {
      addError(
          "You tried to use a map entry for an index operation, this is not allowed. "
              + "Maybe something should be set in parentheses or a comma is missing?",
          expression.getRightExpression());
    }
    super.visitBinaryExpression(expression);

    switch (expression.getOperation().getType()) {
      case Types.EQUAL: // = assignment
      case Types.BITWISE_AND_EQUAL:
      case Types.BITWISE_OR_EQUAL:
      case Types.BITWISE_XOR_EQUAL:
      case Types.PLUS_EQUAL:
      case Types.MINUS_EQUAL:
      case Types.MULTIPLY_EQUAL:
      case Types.DIVIDE_EQUAL:
      case Types.INTDIV_EQUAL:
      case Types.MOD_EQUAL:
      case Types.POWER_EQUAL:
      case Types.LEFT_SHIFT_EQUAL:
      case Types.RIGHT_SHIFT_EQUAL:
      case Types.RIGHT_SHIFT_UNSIGNED_EQUAL:
        checkFinalFieldAccess(expression.getLeftExpression());
        break;
      default:
        break;
    }
  }
    @Override
    public void visitBinaryExpression(BinaryExpression expression) {
      // LOG.debug "Transforming expression '${expression}':"

      if (expression.getLineNumber() >= 0 && expression.getLineNumber() < lineNumbers.length) {
        // LOG.debug "   start from ${expression.lineNumber} to ${lineNumbers[expression.lineNumber
        // - 1]}"
        expression.setLineNumber(lineNumbers[expression.getLineNumber() - 1]);
      }

      if (expression.getLastLineNumber() > 0
          && expression.getLastLineNumber() < lineNumbers.length) {
        // LOG.debug "   end from ${expression.lastLineNumber} to
        // ${lineNumbers[expression.lastLineNumber - 1]}"
        expression.setLastLineNumber(lineNumbers[expression.getLastLineNumber() - 1]);
      }
      super.visitBinaryExpression(expression);
    }
 @Override
 public void visitBinaryExpression(BinaryExpression be) {
   super.visitBinaryExpression(be);
   switch (be.getOperation().getType()) {
     case Types.EQUAL: // = assignment
     case Types.BITWISE_AND_EQUAL:
     case Types.BITWISE_OR_EQUAL:
     case Types.BITWISE_XOR_EQUAL:
     case Types.PLUS_EQUAL:
     case Types.MINUS_EQUAL:
     case Types.MULTIPLY_EQUAL:
     case Types.DIVIDE_EQUAL:
     case Types.INTDIV_EQUAL:
     case Types.MOD_EQUAL:
     case Types.POWER_EQUAL:
     case Types.LEFT_SHIFT_EQUAL:
     case Types.RIGHT_SHIFT_EQUAL:
     case Types.RIGHT_SHIFT_UNSIGNED_EQUAL:
       checkFinalFieldAccess(be.getLeftExpression());
       break;
     default:
       break;
   }
 }
Exemplo n.º 4
0
 @Override
 public void visitBinaryExpression(final BinaryExpression expression) {
   pushContext(expression);
   super.visitBinaryExpression(expression);
   popContext();
 }
 @Override
 public final void visitBinaryExpression(BinaryExpression expression) {
   super.visitBinaryExpression(expression);
 }