uint32_t SymbolFileSymtab::FindFunctions(const RegularExpression& regex, bool include_inlines, bool append, SymbolContextList& sc_list) { Timer scoped_timer (__PRETTY_FUNCTION__, "SymbolFileSymtab::FindFunctions (regex = '%s')", regex.GetText()); // If we ever support finding STABS or COFF debug info symbols, // we will need to add support here. We are not trying to find symbols // here, just "lldb_private::Function" objects that come from complete // debug information. Any symbol queries should go through the symbol // table itself in the module's object file. return 0; }
size_t Module::FindSymbolsMatchingRegExAndType (const RegularExpression ®ex, SymbolType symbol_type, SymbolContextList &sc_list) { // No need to protect this call using m_mutex all other method calls are // already thread safe. Timer scoped_timer(__PRETTY_FUNCTION__, "Module::FindSymbolsMatchingRegExAndType (regex = %s, type = %i)", regex.GetText(), symbol_type); const size_t initial_size = sc_list.GetSize(); ObjectFile *objfile = GetObjectFile (); if (objfile) { Symtab *symtab = objfile->GetSymtab(); if (symtab) { std::vector<uint32_t> symbol_indexes; symtab->FindAllSymbolsMatchingRexExAndType (regex, symbol_type, Symtab::eDebugAny, Symtab::eVisibilityAny, symbol_indexes); SymbolIndicesToSymbolContextList (symtab, symbol_indexes, sc_list); } } return sc_list.GetSize() - initial_size; }
RegularExpression::RegularExpression(const RegularExpression &rhs) { memset(&m_preg,0,sizeof(m_preg)); Compile(rhs.GetText()); }