ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
usr_utils.cpp File Reference
#include <util/base/usr_utils.h>
#include <vector>
Include dependency graph for usr_utils.cpp:

Functions

std::string user_name_to_usr (std::string_view user_name)
 Convert user-friendly function name to Clang USR format.
std::string usr_to_user_name (std::string_view usr_name)
 Convert Clang USR format to user-friendly function name.

Function Documentation

◆ user_name_to_usr()

std::string user_name_to_usr ( std::string_view user_name)

Convert user-friendly function name to Clang USR format.

Supported formats:

  • Function: func → c:@F@func#
  • Namespace: N@ns@func → c:@N@ns@F@func#
  • Class: S@Class@method → c:@S@Class@F@method#
  • Static: file.c@func → c:file.c@F@func#
  • Composite: file.c@N@ns@S@Class@method → c:file.c@N@ns@S@Class@F@method#
  • Passthrough: c:@F@func# → c:@F@func# (already in USR format)
Parameters
user_nameUser-friendly function name
Returns
Clang USR format with trailing #

◆ usr_to_user_name()

std::string usr_to_user_name ( std::string_view usr_name)

Convert Clang USR format to user-friendly function name.

Inverse of user_name_to_usr. Strips c:@ prefix and converts scope markers (N@, S@, F@) to user-friendly format.

Parameters
usr_nameClang USR format (e.g., c:@F@func# or c:@N@ns@S@Class@F@method#)
Returns
User-friendly name (e.g., func or N@ns@S@Class@method)