SYMBOL INDEX (164 symbols across 6 files) FILE: _cycles.cpp type ns (line 8) | namespace ns { type A (line 9) | struct A class Ext (line 17) | class Ext { type cycles (line 24) | namespace cycles { type CircleSelf (line 29) | struct CircleSelf { type CircleShared (line 33) | struct CircleShared { type CircleSelfUnsafe (line 37) | struct CircleSelfUnsafe { type CircleSharedUnsafe (line 41) | struct CircleSharedUnsafe { class SharedCross2 (line 50) | class SharedCross2 class SharedCross (line 52) | class SharedCross { class SharedCross2 (line 56) | class SharedCross2 { class SharedCrossUnsafe (line 60) | class SharedCrossUnsafe { class SharedCross2Unsafe (line 64) | class SharedCross2Unsafe { type ExtExt (line 72) | struct ExtExt : public ns::Ext { class ExtExtExt (line 75) | class ExtExtExt : public ExtExt { type ArraySharedInt (line 83) | struct ArraySharedInt : public std::vector > { type SharedArrayInt (line 86) | struct SharedArrayInt : public Shared > { class SharedSingle (line 95) | class SharedSingle : public Shared { class SharedSingleInt (line 98) | class SharedSingleInt : public SharedSingle { class SharedSingleIntField (line 101) | class SharedSingleIntField { class NotShared1 (line 113) | class NotShared1 { type NotShared2 (line 118) | struct NotShared2 : public NotShared1 { FILE: _example.cpp type ns (line 7) | namespace ns { type MEMSAFE_UNSAFE (line 55) | namespace MEMSAFE_UNSAFE { function memory_test (line 78) | memsafe::Shared memory_test(memsafe::Shared arg, memsafe::Valu... function shared_example (line 145) | void shared_example() { function memory_test_8 (line 161) | memsafe::Shared memory_test_8(memsafe::Shared arg) { function memory_test_9 (line 168) | memsafe::Shared memory_test_9() { type Ext (line 176) | struct Ext type A (line 178) | struct A { function bugfix_11 (line 182) | void bugfix_11() { // https://github.com/rsashka/memsafe/issues/11 function bugfix_12 (line 190) | void bugfix_12() { // https://github.com/rsashka/memsafe/issues/12 FILE: memsafe.h function namespace (line 190) | namespace memsafe { // Begin define memory safety classes function WeakType (line 453) | Weak(const T ptr) : T::WeakType(ptr) { function check_thread (line 511) | inline void check_thread() { function try_lock (line 517) | inline bool try_lock(const SyncTimeoutType &timeout) override final { function unlock (line 523) | inline void unlock() override final { function try_lock_const (line 527) | inline bool try_lock_const(const SyncTimeoutType &timeout) override final { function unlock_const (line 533) | inline void unlock_const() override final { function unlock (line 556) | inline void unlock() override final { function try_lock_const (line 561) | inline bool try_lock_const(const SyncTimeoutType &timeout) override final { function unlock_const (line 566) | inline void unlock_const() override final { function unlock (line 589) | inline void unlock() override final { function try_lock_const (line 593) | inline bool try_lock_const(const SyncTimeoutType &timeout) override final { function unlock_const (line 597) | inline void unlock_const() override final { type std (line 625) | typedef std::weak_ptr WeakType; function checkFieldPosInOwner (line 627) | inline bool checkFieldPosInOwner(const V & owner, size_t offset) const { function checkCircularReference (line 632) | inline bool checkCircularReference(const V * owner, const V * tested) co... type std (line 711) | typedef std::weak_ptr> WeakType; function data (line 715) | LinkedWeakNode(const T & value) : data(value) { type std (line 723) | typedef std::shared_ptr SharedType; function m_head (line 728) | m_head(nullptr) { function push_front (line 734) | void push_front(T && data) { function push_back (line 741) | void push_back(T && data) { function pop_front (line 765) | void pop_front() { function pop_back (line 777) | void pop_back() { function size (line 799) | size_t size() { function empty (line 803) | size_t empty() { type index_tuple (line 854) | typedef index_tuple type; FILE: memsafe_clang.cpp class MemSafePlugin (line 60) | class MemSafePlugin method MemSafePlugin (line 677) | MemSafePlugin(const CompilerInstance &instance) : method clear (line 691) | void clear() { method dump (line 696) | void dump(raw_ostream & out) { method getLevel (line 707) | clang::DiagnosticsEngine::Level getLevel(clang::DiagnosticsEngine::Lev... method LogPos (line 720) | std::string LogPos(const SourceLocation &loc) { method LogOnly (line 735) | void LogOnly(SourceLocation loc, std::string str, SourceLocation hash ... method LogWarning (line 753) | void LogWarning(SourceLocation loc, std::string str, SourceLocation ha... method LogError (line 760) | void LogError(SourceLocation loc, std::string str, SourceLocation hash... method makeHelperString (line 768) | static std::string makeHelperString(const T &map) { method makeHelperString (line 781) | static std::string makeHelperString(const std::set &set) { method checkBehavior (line 795) | static bool checkBehavior(const std::string_view str, clang::Diagnosti... method unknownArgumentHelper (line 815) | static std::string unknownArgumentHelper(const std::string_view arg, c... method processArgs (line 823) | std::string processArgs(std::string_view first, std::string_view secon... method LocationTypeToString (line 908) | std::string LocationTypeToString(LocationType & loc) { method setCyclicAnalysis (line 916) | void setCyclicAnalysis(bool status) { method testSharedType (line 945) | bool testSharedType(const CXXRecordDecl &decl, ClassListType &list) { method MakeUsedClasses (line 977) | void MakeUsedClasses(const CXXRecordDecl &decl, ClassListType &used, C... method reduceSharedList (line 1172) | void reduceSharedList(ClassListType & list, bool test_external = true) { method checkCycles (line 1224) | bool checkCycles(const CXXRecordDecl &decl, ClassListType & used, Clas... method isEnabledStatus (line 1288) | inline bool isEnabledStatus() { method isEnabled (line 1297) | inline bool isEnabled() { method SourceLocation (line 1301) | SourceLocation checkUnsafeBlock(const AttributedStmt * attrStmt) { method parseAttr (line 1329) | std::pair parseAttr(const AnnotateAttr * con... method checkDeclUnsafe (line 1353) | bool checkDeclUnsafe(const Decl &decl) { method checkDeclAttributes (line 1361) | void checkDeclAttributes(const Decl *decl) { method checkDumpFilter (line 1427) | void checkDumpFilter(const Decl * decl) { method skipLocation (line 1466) | bool skipLocation(SourceLocation &last, const SourceLocation &loc) { method printDumpIfEnabled (line 1481) | void printDumpIfEnabled(const Decl * decl) { method printDumpIfEnabled (line 1520) | void printDumpIfEnabled(const Stmt * stmt) { method DeclRefExpr (line 1578) | const DeclRefExpr * getInitializer(const VarDecl &decl) { method Expr (line 1588) | const Expr * removeTempExpr(const Expr * expr) { method Expr (line 1595) | const Expr * getExprInitializer(const VarDecl & var) { method getArgName (line 1618) | std::string getArgName(const Expr * arg) { method checkTypeName (line 1629) | void checkTypeName(const SourceLocation &loc, std::string_view name, b... method checkArg (line 1645) | bool checkArg(const Expr * arg, std::string &name, const char * &type,... method VisitDeclRefExpr (line 1667) | bool VisitDeclRefExpr(const DeclRefExpr * ref) { method VisitUnaryOperator (line 1895) | bool VisitUnaryOperator(const UnaryOperator * unary) { method VisitFieldDecl (line 1923) | bool VisitFieldDecl(const FieldDecl * field) { method TraverseCXXRecordDecl (line 1999) | bool TraverseCXXRecordDecl(CXXRecordDecl * decl) { method TraverseVarDecl (line 2055) | bool TraverseVarDecl(VarDecl * var) { method TraverseParmVarDecl (line 2167) | bool TraverseParmVarDecl(ParmVarDecl * param) { method TraverseStmt (line 2177) | bool TraverseStmt(Stmt * stmt) { method TraverseDecl (line 2217) | bool TraverseDecl(Decl * D) { class MemSafeLogger (line 71) | class MemSafeLogger { method MemSafeLogger (line 77) | MemSafeLogger(const CompilerInstance &ci) : m_ci(ci) { method Log (line 80) | void Log(SourceLocation loc, std::string str) { method AttrAdd (line 84) | inline void AttrAdd(SourceLocation loc) { method AttrComplete (line 89) | void AttrComplete(SourceLocation loc) { method LocToStr (line 98) | static std::string LocToStr(const SourceLocation &loc, const SourceMan... method LocToStr (line 107) | inline std::string LocToStr(const SourceLocation &loc) { method Dump (line 111) | void Dump(raw_ostream & out) { type MemSafeAttrInfo (line 145) | struct MemSafeAttrInfo : public ParsedAttrInfo { method MemSafeAttrInfo (line 147) | MemSafeAttrInfo() { method AnnotateAttr (line 160) | AnnotateAttr * CreateAttr(Sema &S, const ParsedAttr &Attr) const { method AttrHandling (line 197) | AttrHandling handleDeclAttribute(Sema &S, Decl *D, const ParsedAttr &A... method AttrHandling (line 205) | AttrHandling handleStmtAttribute(Sema &S, Stmt *St, const ParsedAttr &... type DeclInfo (line 220) | struct DeclInfo { type LifeTime (line 225) | struct LifeTime { method LifeTime (line 260) | LifeTime(SourceLocation loc = SourceLocation(), const ScopeType c = st... class LifeTimeScope (line 266) | class LifeTimeScope type ModifyMode (line 270) | enum ModifyMode : uint8_t { function LifeTimeScope (line 280) | LifeTimeScope(const CompilerInstance &inst) : m_CI(inst) { function SourceLocation (line 283) | SourceLocation testUnsafe() { function testInplaceCaller (line 294) | inline bool testInplaceCaller() { function ModifyMode (line 302) | static ModifyMode testMode(const LifeTime::ScopeType &scope) { function getName (line 345) | static std::string getName(const LifeTime::ScopeType &scope) { function getCalleeName (line 397) | std::string getCalleeName() { function getClassName (line 409) | std::string getClassName() { function SourceLocation (line 420) | SourceLocation testArgument() { function PushScope (line 431) | void PushScope(SourceLocation loc, LifeTime::ScopeType call = std::monos... function PopScope (line 435) | void PopScope() { function LifeTime (line 440) | LifeTime & back() { method LifeTime (line 260) | LifeTime(SourceLocation loc = SourceLocation(), const ScopeType c = st... function AddVarDecl (line 445) | void AddVarDecl(const VarDecl * decl, const char *type, std::string name... function findDependent (line 454) | LifeTime::DependentType::iterator findDependent(const std::string_view n... function findBlocker (line 464) | LifeTime::BlockerType::iterator findBlocker(const std::string_view name) { function Dump (line 474) | std::string Dump(const SourceLocation &loc, std::string_view filter) { type LogLevel (line 578) | enum LogLevel : uint8_t { type ClassType (line 584) | enum ClassType : uint8_t { class MemSafePlugin (line 592) | class MemSafePlugin : public RecursiveASTVisitor { method MemSafePlugin (line 677) | MemSafePlugin(const CompilerInstance &instance) : method clear (line 691) | void clear() { method dump (line 696) | void dump(raw_ostream & out) { method getLevel (line 707) | clang::DiagnosticsEngine::Level getLevel(clang::DiagnosticsEngine::Lev... method LogPos (line 720) | std::string LogPos(const SourceLocation &loc) { method LogOnly (line 735) | void LogOnly(SourceLocation loc, std::string str, SourceLocation hash ... method LogWarning (line 753) | void LogWarning(SourceLocation loc, std::string str, SourceLocation ha... method LogError (line 760) | void LogError(SourceLocation loc, std::string str, SourceLocation hash... method makeHelperString (line 768) | static std::string makeHelperString(const T &map) { method makeHelperString (line 781) | static std::string makeHelperString(const std::set &set) { method checkBehavior (line 795) | static bool checkBehavior(const std::string_view str, clang::Diagnosti... method unknownArgumentHelper (line 815) | static std::string unknownArgumentHelper(const std::string_view arg, c... method processArgs (line 823) | std::string processArgs(std::string_view first, std::string_view secon... method LocationTypeToString (line 908) | std::string LocationTypeToString(LocationType & loc) { method setCyclicAnalysis (line 916) | void setCyclicAnalysis(bool status) { method testSharedType (line 945) | bool testSharedType(const CXXRecordDecl &decl, ClassListType &list) { method MakeUsedClasses (line 977) | void MakeUsedClasses(const CXXRecordDecl &decl, ClassListType &used, C... method reduceSharedList (line 1172) | void reduceSharedList(ClassListType & list, bool test_external = true) { method checkCycles (line 1224) | bool checkCycles(const CXXRecordDecl &decl, ClassListType & used, Clas... method isEnabledStatus (line 1288) | inline bool isEnabledStatus() { method isEnabled (line 1297) | inline bool isEnabled() { method SourceLocation (line 1301) | SourceLocation checkUnsafeBlock(const AttributedStmt * attrStmt) { method parseAttr (line 1329) | std::pair parseAttr(const AnnotateAttr * con... method checkDeclUnsafe (line 1353) | bool checkDeclUnsafe(const Decl &decl) { method checkDeclAttributes (line 1361) | void checkDeclAttributes(const Decl *decl) { method checkDumpFilter (line 1427) | void checkDumpFilter(const Decl * decl) { method skipLocation (line 1466) | bool skipLocation(SourceLocation &last, const SourceLocation &loc) { method printDumpIfEnabled (line 1481) | void printDumpIfEnabled(const Decl * decl) { method printDumpIfEnabled (line 1520) | void printDumpIfEnabled(const Stmt * stmt) { method DeclRefExpr (line 1578) | const DeclRefExpr * getInitializer(const VarDecl &decl) { method Expr (line 1588) | const Expr * removeTempExpr(const Expr * expr) { method Expr (line 1595) | const Expr * getExprInitializer(const VarDecl & var) { method getArgName (line 1618) | std::string getArgName(const Expr * arg) { method checkTypeName (line 1629) | void checkTypeName(const SourceLocation &loc, std::string_view name, b... method checkArg (line 1645) | bool checkArg(const Expr * arg, std::string &name, const char * &type,... method VisitDeclRefExpr (line 1667) | bool VisitDeclRefExpr(const DeclRefExpr * ref) { method VisitUnaryOperator (line 1895) | bool VisitUnaryOperator(const UnaryOperator * unary) { method VisitFieldDecl (line 1923) | bool VisitFieldDecl(const FieldDecl * field) { method TraverseCXXRecordDecl (line 1999) | bool TraverseCXXRecordDecl(CXXRecordDecl * decl) { method TraverseVarDecl (line 2055) | bool TraverseVarDecl(VarDecl * var) { method TraverseParmVarDecl (line 2167) | bool TraverseParmVarDecl(ParmVarDecl * param) { method TraverseStmt (line 2177) | bool TraverseStmt(Stmt * stmt) { method TraverseDecl (line 2217) | bool TraverseDecl(Decl * D) { class MemSafePluginASTConsumer (line 2253) | class MemSafePluginASTConsumer : public ASTConsumer { method HandleTranslationUnit (line 2256) | void HandleTranslationUnit(ASTContext &context) override { class MemSafePluginASTAction (line 2346) | class MemSafePluginASTAction : public PluginASTAction { method CreateASTConsumer (line 2367) | std::unique_ptr CreateASTConsumer(CompilerInstance &Compi... method PrintColor (line 2393) | void PrintColor(raw_ostream & out, std::format_string fmt, Ar... method ParseArgs (line 2400) | bool ParseArgs(const CompilerInstance &CI, const std::vector ClassReadType; FILE: memsafe_test.cpp function TEST (line 18) | TEST(MemSafe, Sizes) { function TEST (line 155) | TEST(MemSafe, Cast) { class TestClass1 (line 258) | class TestClass1 { method TestClass1 (line 269) | TestClass1() : field(*this, this->field), field_2(*this, this->field_2) { function TEST (line 275) | TEST(MemSafe, Class) { function TEST (line 320) | TEST(MemSafe, Threads) { function TEST (line 435) | TEST(MemSafe, Depend) { function TEST (line 494) | TEST(MemSafe, ApplyAttr) { function TEST (line 532) | TEST(MemSafe, Separartor) { function TEST (line 549) | TEST(MemSafe, MemSafeFile) { function TEST (line 663) | TEST(MemSafe, WeakList) { function TEST (line 692) | TEST(MemSafe, Plugin) { function TEST (line 859) | TEST(MemSafe, Cycles) {