net.sourceforge.pmd.cpd.cppast

Class SymtabManager

public class SymtabManager extends Object

Manages the symbol table and scopes within a given compilation unit.
Method Summary
static voidCloseScope()
static ScopeGetCurScope()
static ScopeGetScope(String name)
static ScopeGetScopeOfFullyScopedName(String name)
Returns the Scope of B in A::B::C.
static booleanIsCtor(String name)
For now, we just say if it is a class name, it is OK to call it a constructor.
static booleanIsFullyScopedTypeName(String name)
static booleanIsGlobalScope()
static booleanIsTypeName(String name)
static ScopeOpenScope(String scopeName, boolean isType)
Opens a new scope (with optional name and type flag).
static voidOpenScope(Scope sc)
static voidPutTypeName(String name)

Method Detail

CloseScope

public static void CloseScope()

GetCurScope

public static Scope GetCurScope()

GetScope

public static Scope GetScope(String name)

GetScopeOfFullyScopedName

public static Scope GetScopeOfFullyScopedName(String name)
Returns the Scope of B in A::B::C.

IsCtor

public static boolean IsCtor(String name)
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)

IsGlobalScope

public static boolean IsGlobalScope()

IsTypeName

public static boolean IsTypeName(String name)

OpenScope

public static Scope OpenScope(String scopeName, boolean isType)
Opens a new scope (with optional name and type flag).

OpenScope

public static void OpenScope(Scope sc)

PutTypeName

public static void PutTypeName(String name)