Esempio n. 1
0
void print_method(Output& out, const Func* func) {
  auto const finfo = find_func_info(func);
  out.fmtln(".method{} {}({}) {{",
    opt_attrs(AttrContext::Func, func->attrs()),
    func->name()->data(),
    func_param_list(finfo));
  indented(out, [&] {
    print_func_directives(out, func);
    print_func_body(out, finfo);
  });
  out.fmtln("}}");
}
Esempio n. 2
0
void print_method(Output& out, const Func* func) {
  auto const finfo = find_func_info(func);
  out.fmtln(".method{} {}{}({}){}{{",
    opt_attrs(AttrContext::Func, func->attrs(), &func->userAttributes()),
    opt_type_info(func->returnUserType(), func->returnTypeConstraint()),
    func->name(),
    func_param_list(finfo),
    func_flag_list(finfo));
  indented(out, [&] {
    print_func_directives(out, finfo);
    print_func_body(out, finfo);
  });
  out.fmtln("}}");
}
Esempio n. 3
0
void print_func(Output& out, const Func* func) {
  auto const finfo = find_func_info(func);

  if (func->isPseudoMain()) {
    out.fmtln(".main {{");
  } else {
    out.fmtln(".function {}({}){}{{", func->name()->data(),
      func_param_list(finfo), func_flag_list(finfo));
  }
  indented(out, [&] {
    print_func_directives(out, func);
    print_func_body(out, finfo);
  });
  out.fmtln("}}");
  out.nl();
}