Lines Matching defs:uniq
61 static std::string readName(llvm::StringRef uniq, std::size_t &i,
66 for (i = init; i < end && (uniq[i] < 'A' || uniq[i] > 'Z' || uniq[i] == 'X');
70 return uniq.substr(init, i - init).str();
73 static std::int64_t readInt(llvm::StringRef uniq, std::size_t &i,
75 for (i = init; i < end && uniq[i] >= '0' && uniq[i] <= '9'; ++i) {
79 if (uniq.substr(init, i - init).getAsInteger(10, result))
247 fir::NameUniquer::deconstruct(llvm::StringRef uniq) {
248 uniq = fir::NameUniquer::dropTypeConversionMarkers(uniq);
249 if (uniq.starts_with("_Q")) {
256 for (std::size_t i = 2, end{uniq.size()}; i != end;) {
257 switch (uniq[i]) {
259 blockId = readInt(uniq, i, i + 1, end);
263 name = readName(uniq, i, i + 1, end);
267 assert(uniq[i + 1] == 'T');
268 name = readName(uniq, i, i + 2, end);
271 if (uniq[i + 1] == 'C') { // Constant Entity
273 name = readName(uniq, i, i + 2, end);
276 name = readName(uniq, i, i + 1, end);
280 procs.push_back(readName(uniq, i, i + 1, end));
283 if (uniq[i + 1] == 'N') // Negative Kind
284 kinds.push_back(-readInt(uniq, i, i + 2, end));
286 kinds.push_back(readInt(uniq, i, i + 1, end));
290 modules.push_back(readName(uniq, i, i + 1, end));
294 name = readName(uniq, i, i + 1, end);
298 name = readName(uniq, i, i + 1, end);
302 name = uniq;
307 name = readName(uniq, i, i + 1, end);
310 if (uniq[i + 1] == 'I') { // tYpe descriptor for an Intrinsic type
312 name = readName(uniq, i, i + 1, end);
315 name = readName(uniq, i, i + 2, end);
325 return {NameKind::NOT_UNIQUED, DeconstructedName(uniq)};