18 lines
460 B
C++
18 lines
460 B
C++
|
#include "mangler.hpp"
|
||
|
|
||
|
std::string mangler::new_mangled_name(const std::string& n) {
|
||
|
auto occurence_it = occurence_count.find(n);
|
||
|
int occurence = 0;
|
||
|
if(occurence_it != occurence_count.end()) {
|
||
|
occurence = occurence_it->second + 1;
|
||
|
}
|
||
|
occurence_count[n] = occurence;
|
||
|
|
||
|
std::string final_name = n;
|
||
|
if (occurence != 0) {
|
||
|
final_name += "_";
|
||
|
final_name += std::to_string(occurence);
|
||
|
}
|
||
|
return final_name;
|
||
|
}
|