module
Noir::CppCalleeExtractor
Extended Modules
Defined in:
miniparsers/cpp_callee_extractor.crConstant Summary
-
BARE_CALL_REGEX =
/(?<![A-Za-z0-9_:.>])([A-Za-z_][A-Za-z0-9_]*)\s*(?:<[^;\n{}]*>)?\s*\(/ -
MEMBER_CALL_REGEX =
/([A-Za-z_][A-Za-z0-9_]*(?:\s*(?:->|\.)\s*[A-Za-z_][A-Za-z0-9_]*)+)\s*(?:<[^;\n{}]*>)?\s*\(/ -
RESERVED =
Set {"alignas", "alignof", "and", "and_eq", "asm", "auto", "bitand", "bitor", "bool", "break", "case", "catch", "char", "char8_t", "char16_t", "char32_t", "class", "compl", "concept", "const", "const_cast", "consteval", "constexpr", "constinit", "continue", "co_await", "co_return", "co_yield", "decltype", "default", "delete", "do", "double", "dynamic_cast", "else", "enum", "explicit", "export", "extern", "false", "float", "for", "friend", "goto", "if", "inline", "int", "long", "mutable", "namespace", "new", "noexcept", "not", "not_eq", "nullptr", "operator", "or", "or_eq", "private", "protected", "public", "register", "reinterpret_cast", "requires", "return", "short", "signed", "sizeof", "static", "static_assert", "static_cast", "struct", "switch", "template", "this", "thread_local", "throw", "true", "try", "typedef", "typeid", "typename", "union", "unsigned", "using", "virtual", "void", "volatile", "wchar_t", "while", "xor", "xor_eq"} -
ROUTE_MACROS =
Set {"CROW_ROUTE", "CROW_BP_ROUTE", "PATH_ADD", "ADD_METHOD_TO", "PATH_LIST_BEGIN", "PATH_LIST_END", "METHOD_LIST_BEGIN", "METHOD_LIST_END"} -
SCOPED_CALL_REGEX =
/((?:[A-Za-z_][A-Za-z0-9_]*\s*::\s*)+[A-Za-z_][A-Za-z0-9_]*)\s*(?:<[^;\n{}]*>)?\s*\(/
Instance Method Summary
- #attach_to(endpoint : Endpoint, callees : Array(Entry))
- #callees_for_body(body : String, file_path : String, start_line : Int32) : Array(Entry)
- #extract_block_after(source : String, start_index : Int32, limit : Int32 = source.bytesize) : Tuple(String, Int32) | Nil
- #extract_lambda_block_after(source : String, start_index : Int32, limit : Int32 = source.bytesize) : Tuple(String, Int32) | Nil
- #find_matching_delimiter(source : String, index : Int32, open_char : Char, close_char : Char, limit : Int32 = source.bytesize) : Int32 | Nil
- #find_next_code_char(source : String, target : Char, start_index : Int32, limit : Int32 = source.bytesize) : Int32 | Nil
- #line_number_for(source : String, index : Int32) : Int32
Instance Method Detail
def extract_block_after(source : String, start_index : Int32, limit : Int32 = source.bytesize) : Tuple(String, Int32) | Nil
#
def extract_lambda_block_after(source : String, start_index : Int32, limit : Int32 = source.bytesize) : Tuple(String, Int32) | Nil
#
def find_matching_delimiter(source : String, index : Int32, open_char : Char, close_char : Char, limit : Int32 = source.bytesize) : Int32 | Nil
#