in lib/generator.js [1893:1936]
visitExceptionBody(ast, nodes, lastName, level) {
assert.equal(ast.type, 'exceptionBody');
const fields = [];
const structMap = [];
let node;
for (let i = 0; i < nodes.length; i++) {
node = nodes[i];
if(!node.extend) {
let comments = DSL.comment.getFrontComments(this.comments, node.tokenRange[0]);
this.visitComments(comments, level);
}
if(i !== nodes.length - 1) {
node.extend = false;
}
var fieldName = _name(node.fieldName);
let tag = '';
const structName = lastName + _format(fieldName);
this.emit(`${_format(fieldName)} `, level);
const { type } = this.visitFieldType(node, structName, fields, structMap, level);
var realName = _getAttr(node, 'name');
if (!realName) {
realName = fieldName;
}
if (node.required) {
tag = tag + ` require:"true"`;
}
if (type !== '') {
tag = tag + ` ${type}`;
}
this.emit(`\`${tag}\``);
this.emit(`\n`);
}
if (node && !node.extend) {
//find the last node's back comment
let comments = DSL.comment.getBetweenComments(this.comments, node.tokenRange[0], ast.tokenRange[1]);
this.visitComments(comments, level);
}
if (ast.nodes.length === 0) {
//empty block's comment
let comments = DSL.comment.getBetweenComments(this.comments, ast.tokenRange[0], ast.tokenRange[1]);
this.visitComments(comments, level);
}
this.emit(`}\n`);