code: function auditArgumentChecks(node) {
        if (!isFunction(node.type)) {
          return;
        }
  
        const checkedParams = [];
  
        // short-circuit
        if (node.params.length === 0) {
          return;
        }
  
        if (node.body.type === 'BlockStatement') {
          node.body.body.forEach(expression => {
            if (
              expression.type === 'ExpressionStatement' &&
              expression.expression.type === 'CallExpression' &&
              expression.expression.callee.type === 'Identifier' &&
              expression.expression.callee.name === 'check' &&
              expression.expression.arguments.length > 1 &&
              expression.expression.arguments[0].type === 'Identifier'
            ) {
              checkedParams.push(expression.expression.arguments[0].name);
            }
            if (
              expression.type === 'ExpressionStatement' &&
              expression.expression.type === 'CallExpression' &&
              expression.expression.callee.type === 'Identifier' &&
              expression.expression.callee.name === 'check' &&
              expression.expression.arguments.length > 1 &&
              expression.expression.arguments[0].type === 'ArrayExpression'
            ) {
              expression.expression.arguments[0].elements.forEach(element => {
                if (element.type === 'Identifier')
                  checkedParams.push(element.name);
              });
            }
          });
        }
  
        node.params.forEach(param => {
          if (param.type === 'Identifier') {
            if (checkedParams.indexOf(param.name) === -1) {
              context.report(param, `"${param.name}" is not checked`);
            }
          }
        });
      }
docs: --------------------------------------------------------------------------- Helpers ---------------------------------------------------------------------------