FreeHEP API
Version current

org.freehep.jaco.rtti.cpp
Class SymtabManager

java.lang.Object
  extended byorg.freehep.jaco.rtti.cpp.SymtabManager

public class SymtabManager
extends Object

Manages the symbol table and scopes within a given compilation unit.

Source Code:
SymtabManager.java

Constructor Summary
SymtabManager()
          Dummy at the bottom of the stack so that no need to check for null.
 
Method Summary
 void closeScope()
           
 Scope getCurScope()
           
 String getName(String name)
          searches up the scope stack to find the name.
 Scope getScope(String name)
           
 Scope getScopeOfFullyScopedName(String name)
          Returns the Scope of B in A::B::C.
 boolean isCtor(String name)
          For now, we just say if it is a class name, it is OK to call it a constructor.
 boolean isFullyScopedTypeName(String name)
           
 boolean isGlobalScope()
           
 boolean isTypeName(String name)
           
 void openScope(Scope sc)
           
 Scope openScope(String scopeName, boolean isType)
          Opens a new scope (with optional name and type flag).
 void putTypeName(String name)
           
 void putUsingName(String name)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SymtabManager

public SymtabManager()
Dummy at the bottom of the stack so that no need to check for null.

Method Detail

openScope

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


openScope

public void openScope(Scope sc)

putTypeName

public void putTypeName(String name)

putUsingName

public void putUsingName(String name)

getName

public String getName(String name)
searches up the scope stack to find the name. return full name if found, otherwise short name


isFullyScopedTypeName

public boolean isFullyScopedTypeName(String name)

isTypeName

public boolean isTypeName(String name)

closeScope

public void closeScope()

isCtor

public boolean isCtor(String name)
For now, we just say if it is a class name, it is OK to call it a constructor.


getCurScope

public Scope getCurScope()

getScope

public Scope getScope(String name)

getScopeOfFullyScopedName

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


isGlobalScope

public boolean isGlobalScope()

FreeHEP API
Version current

Copyright © 2000-2004 FreeHEP, All Rights Reserved.