Inferno
0.2
|
#include <identifier_tracker.hpp>
Classes | |
struct | TNode |
Public Member Functions | |
IdentifierTracker (shared_ptr< Node > g) | |
void | Add (clang::IdentifierInfo *II, shared_ptr< Node > node, clang::Scope *S) |
void | PushScope (clang::Scope *S, shared_ptr< Node > n) |
Push a scope based on supplied Inferno tree Node. | |
void | SeenScope (clang::Scope *S) |
virtual void | PopScope (clang::Scope *S) |
shared_ptr< Node > | Get (const clang::IdentifierInfo *II, shared_ptr< Node > iscope=shared_ptr< Node >(), bool recurse=true) |
shared_ptr< Node > | TryGet (const clang::IdentifierInfo *II, shared_ptr< Node > iscope=shared_ptr< Node >(), bool recurse=true) |
void | SetNextRecord (shared_ptr< Node > n=shared_ptr< Node >()) |
shared_ptr< Node > | GetCurrent () |
Definition at line 19 of file identifier_tracker.hpp.
Definition at line 8 of file identifier_tracker.cpp.
References TRACE.
void IdentifierTracker::Add | ( | clang::IdentifierInfo * | II, |
shared_ptr< Node > | node, | ||
clang::Scope * | S | ||
) |
Associate supplied node with supplied identifier and scope. Will remain until the scope is popped. S must be current scope due to implementation.
Definition at line 131 of file identifier_tracker.cpp.
References SeenScope(), and TRACE.
shared_ptr< Node > IdentifierTracker::Get | ( | const clang::IdentifierInfo * | II, |
shared_ptr< Node > | iscope = shared_ptr<Node>() , |
||
bool | recurse = true |
||
) |
shared_ptr<Node> IdentifierTracker::GetCurrent | ( | ) | [inline] |
Definition at line 104 of file identifier_tracker.hpp.
void IdentifierTracker::PopScope | ( | clang::Scope * | S | ) | [virtual] |
ActOnPopScope - When a scope is popped, if any typedefs are now out-of-scope, they are removed from the clang::IdentifierInfo::FETokenInfo field.
Definition at line 80 of file identifier_tracker.cpp.
void IdentifierTracker::PushScope | ( | clang::Scope * | S, |
shared_ptr< Node > | n | ||
) |
Push a scope based on supplied Inferno tree Node.
Definition at line 35 of file identifier_tracker.cpp.
References ASSERT.
void IdentifierTracker::SeenScope | ( | clang::Scope * | S | ) |
Let identifier tracker know we saw a scope. We must do this before calling other functions so we catch all the scope changes that are not communicated to us any other way.
Definition at line 115 of file identifier_tracker.cpp.
Referenced by Add().
void IdentifierTracker::SetNextRecord | ( | shared_ptr< Node > | n = shared_ptr<Node>() | ) | [inline] |
Definition at line 91 of file identifier_tracker.hpp.
shared_ptr< Node > IdentifierTracker::TryGet | ( | const clang::IdentifierInfo * | II, |
shared_ptr< Node > | iscope = shared_ptr<Node>() , |
||
bool | recurse = true |
||
) |