in lib/generator.js [2215:2231]
visitRuntimeAfter(ast, level) {
const errorName = this.getRealModelName(ERROR);
this.emit(`} catch (${errorName} $e) {\n`, level + 1);
const retryContextName = this.getRealModelName(RETRY_CONTEXT);
this.emit(`$_context = new ${retryContextName}([\n`, level + 2);
this.emit('\'retriesAttempted\' => $_retriesAttempted,\n', level + 3);
this.emit('\'lastRequest\' => $_lastRequest,\n', level + 3);
this.emit('\'lastResponse\' => $_lastResponse,\n', level + 3);
this.emit('\'exception\' => $e,\n', level + 3);
this.emit(']);\n', level + 2);
this.emit('continue;\n', level + 2);
this.emit('}\n', level + 1);
this.emit('}\n', level);
this.emit('\n');
const unretryErrorName = this.getRealModelName(UNRETRY_ERROR);
this.emit(`throw new ${unretryErrorName}($_context);\n`, level);
}