| java.lang.Object org.acm.seguin.pmd.cpd.cppast.SymtabManager
SymtabManager | public class SymtabManager (Code) | | Manages the symbol table and scopes within a given compilation unit.
|
Field Summary | |
static int | depth Current depth of scope nesting. | static Scope[] | scopeStack Stack of scopes. | static Hashtable | scopeTable Global symbol table indexed by the name of the scope (class/function). |
depth | static int depth(Code) | | Current depth of scope nesting.
|
scopeStack | static Scope[] scopeStack(Code) | | Stack of scopes. Currently max. nesting allowed is 100.
|
scopeTable | static Hashtable scopeTable(Code) | | Global symbol table indexed by the name of the scope (class/function).
|
CloseScope | public static void CloseScope()(Code) | | |
GetScopeOfFullyScopedName | public static Scope GetScopeOfFullyScopedName(String name)(Code) | | Returns the Scope of B in A::B::C.
|
IsCtor | public static boolean IsCtor(String name)(Code) | | For now, we just say if it is a class name, it is OK to call it a
constructor.
|
IsFullyScopedTypeName | public static boolean IsFullyScopedTypeName(String name)(Code) | | |
IsGlobalScope | public static boolean IsGlobalScope()(Code) | | |
IsTypeName | public static boolean IsTypeName(String name)(Code) | | |
OpenScope | public static Scope OpenScope(String scopeName, boolean isType)(Code) | | Opens a new scope (with optional name and type flag).
|
PutTypeName | public static void PutTypeName(String name)(Code) | | |
|
|