in src/resolver/client.js [162:185]
resolveInitBody(init) {
const object = this.object;
let constructNode = new ConstructItem();
this.currThrows = {};
if (init.params && init.params.params) {
init.params.params.forEach(param => {
let type = this.resolveTypeItem(param.paramType, param);
constructNode.addParamNode(new GrammerValue(type, param.defaultValue, param.paramName.lexeme));
});
}
if (init.annotation) {
constructNode.addAnnotation(this.resolveAnnotation(init.annotation, constructNode.index));
}
if (init.initBody && init.initBody.stmts) {
init.initBody.stmts.forEach(stmt => {
this.visitStmt(constructNode, stmt, constructNode.index);
});
}
if (Object.keys(this.currThrows).length > 0) {
constructNode.throws = Object.values(this.currThrows);
}
object.addBodyNode(constructNode);
}