in lib/generator.js [1478:1494]
visitInstanceCall(ast, level) {
assert.equal(ast.left.type, 'instance_call');
const method = _avoidKeywords(_name(ast.left.propertyPath[0]));
if (ast.builtinModule && this.builtin[ast.builtinModule] && this.builtin[ast.builtinModule][method]) {
this.builtin[ast.builtinModule][method](ast, level);
} else {
if (ast.left.id.tag === DSL.Tag.Tag.VID) {
this.emit(`$this->${_vid(ast.left.id)}`);
} else {
this.emit(`$${_name(ast.left.id)}`);
}
this.emit(`->${(method)}`);
this.visitArgs(ast.args, level);
}
}