code: OperatorSymbol resolveBinary(DiagnosticPosition pos, JCTree.Tag tag, Type op1, Type op2) {
          return resolve(tag,
                  binaryOperators,
                  binop -> binop.test(op1, op2),
                  binop -> binop.resolve(op1, op2),
                  () -> reportErrorIfNeeded(pos, tag, op1, op2));
      }
docs: Entry point for resolving a binary operator given an operator tag and a pair of argument types.