visitInstanceCall()

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);
    }

  }