code: function convertActionBinding(builder, nameResolver, implicitReceiver, action, bindingId) {
      if (!nameResolver) {
          nameResolver = new DefaultNameResolver();
      }
      var /** @type {?} */ visitor = new _AstToIrVisitor(builder, nameResolver, implicitReceiver, null, bindingId, true);
      var /** @type {?} */ actionStmts = [];
      flattenStatements(action.visit(visitor, _Mode.Statement), actionStmts);
      prependTemporaryDecls(visitor.temporaryCount, bindingId, actionStmts);
      var /** @type {?} */ lastIndex = actionStmts.length - 1;
      var /** @type {?} */ preventDefaultVar = null;
      if (lastIndex >= 0) {
          var /** @type {?} */ lastStatement = actionStmts[lastIndex];
          var /** @type {?} */ returnExpr = convertStmtIntoExpression(lastStatement);
          if (returnExpr) {
              // Note: We need to cast the result of the method call to dynamic,
              // as it might be a void method!
              preventDefaultVar = createPreventDefaultVar(bindingId);
              actionStmts[lastIndex] =
                  preventDefaultVar.set(returnExpr.cast(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["m" /* DYNAMIC_TYPE */]).notIdentical(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["f" /* literal */](false)))
                      .toDeclStmt(null, [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["k" /* StmtModifier */].Final]);
          }
      }
      return new ConvertActionBindingResult(actionStmts, preventDefaultVar);
  }
docs: Converts the given expression AST into an executable output AST, assuming the expression is
  used in an action binding (e.g. an event handler).
  @param {?} builder
  @param {?} nameResolver
  @param {?} implicitReceiver
  @param {?} action
  @param {?} bindingId
  @return {?}