コード例 #1
0
const TString *TFunction::buildMangledName() const
{
    std::string newName = mangleName(getName()).c_str();

    for (const auto &p : parameters)
    {
        newName += p.type->getMangledName().c_str();
    }

    return NewPoolTString(newName.c_str());
}
コード例 #2
0
ファイル: Mangler.cpp プロジェクト: robertoraggi/cplusplus
std::string Mangler::encode(FunctionSymbol* symbol) {
  auto funTy = symbol->type()->asFunctionType();
  assert(funTy);
  return "_Z" + mangleName(symbol->name(), symbol->type()) + mangleBareFunctionType(funTy);
}