: d_implementation(new SymbolTable::Implementation()) {}
SymbolTable::~SymbolTable() {}
-
-bool SymbolTable::bind(const string& name, Expr obj, bool levelZero,
- bool doOverload) throw() {
+bool SymbolTable::bind(const string& name,
+ Expr obj,
+ bool levelZero,
+ bool doOverload)
+{
return d_implementation->bind(name, obj, levelZero, doOverload);
}
-bool SymbolTable::bindDefinedFunction(const string& name, Expr obj,
- bool levelZero, bool doOverload) throw() {
+bool SymbolTable::bindDefinedFunction(const string& name,
+ Expr obj,
+ bool levelZero,
+ bool doOverload)
+{
return d_implementation->bindDefinedFunction(name, obj, levelZero,
doOverload);
}
-void SymbolTable::bindType(const string& name, Type t, bool levelZero) throw() {
+void SymbolTable::bindType(const string& name, Type t, bool levelZero)
+{
d_implementation->bindType(name, t, levelZero);
}
-void SymbolTable::bindType(const string& name, const vector<Type>& params,
- Type t, bool levelZero) throw() {
+void SymbolTable::bindType(const string& name,
+ const vector<Type>& params,
+ Type t,
+ bool levelZero)
+{
d_implementation->bindType(name, params, t, levelZero);
}
-bool SymbolTable::isBound(const string& name) const throw() {
+bool SymbolTable::isBound(const string& name) const
+{
return d_implementation->isBound(name);
}
-bool SymbolTable::isBoundDefinedFunction(const string& name) const throw() {
+bool SymbolTable::isBoundDefinedFunction(const string& name) const
+{
return d_implementation->isBoundDefinedFunction(name);
}
-bool SymbolTable::isBoundDefinedFunction(Expr func) const throw() {
+bool SymbolTable::isBoundDefinedFunction(Expr func) const
+{
return d_implementation->isBoundDefinedFunction(func);
}
-bool SymbolTable::isBoundType(const string& name) const throw() {
+bool SymbolTable::isBoundType(const string& name) const
+{
return d_implementation->isBoundType(name);
}
-Expr SymbolTable::lookup(const string& name) const throw() {
+Expr SymbolTable::lookup(const string& name) const
+{
return d_implementation->lookup(name);
}
-Type SymbolTable::lookupType(const string& name) const throw() {
+Type SymbolTable::lookupType(const string& name) const
+{
return d_implementation->lookupType(name);
}
Type SymbolTable::lookupType(const string& name,
- const vector<Type>& params) const throw() {
+ const vector<Type>& params) const
+{
return d_implementation->lookupType(name, params);
}
size_t SymbolTable::lookupArity(const string& name) {
return d_implementation->lookupArity(name);
}
-void SymbolTable::popScope() throw(ScopeException) {
- d_implementation->popScope();
-}
-
-void SymbolTable::pushScope() throw() { d_implementation->pushScope(); }
-size_t SymbolTable::getLevel() const throw() {
- return d_implementation->getLevel();
-}
+void SymbolTable::popScope() { d_implementation->popScope(); }
+void SymbolTable::pushScope() { d_implementation->pushScope(); }
+size_t SymbolTable::getLevel() const { return d_implementation->getLevel(); }
void SymbolTable::reset() { d_implementation->reset(); }
} // namespace CVC4
*
* Returns false if the binding was invalid.
*/
- bool bind(const std::string& name, Expr obj, bool levelZero = false,
- bool doOverload = false) throw();
+ bool bind(const std::string& name,
+ Expr obj,
+ bool levelZero = false,
+ bool doOverload = false);
/**
* Bind a function body to a name in the current scope.
*
* Returns false if the binding was invalid.
*/
- bool bindDefinedFunction(const std::string& name, Expr obj,
+ bool bindDefinedFunction(const std::string& name,
+ Expr obj,
bool levelZero = false,
- bool doOverload = false) throw();
+ bool doOverload = false);
/**
* Bind a type to a name in the current scope. If <code>name</code>
* @param t the type to bind to <code>name</code>
* @param levelZero set if the binding must be done at level 0
*/
- void bindType(const std::string& name, Type t,
- bool levelZero = false) throw();
+ void bindType(const std::string& name, Type t, bool levelZero = false);
/**
* Bind a type to a name in the current scope. If <code>name</code>
* @param levelZero true to bind it globally (default is to bind it
* locally within the current scope)
*/
- void bindType(const std::string& name, const std::vector<Type>& params,
- Type t, bool levelZero = false) throw();
+ void bindType(const std::string& name,
+ const std::vector<Type>& params,
+ Type t,
+ bool levelZero = false);
/**
* Check whether a name is bound to an expression with either bind()
* @param name the identifier to check.
* @returns true iff name is bound in the current scope.
*/
- bool isBound(const std::string& name) const throw();
+ bool isBound(const std::string& name) const;
/**
* Check whether a name was bound to a function with bindDefinedFunction().
*/
- bool isBoundDefinedFunction(const std::string& name) const throw();
+ bool isBoundDefinedFunction(const std::string& name) const;
/**
* Check whether an Expr was bound to a function (i.e., was the
* second arg to bindDefinedFunction()).
*/
- bool isBoundDefinedFunction(Expr func) const throw();
+ bool isBoundDefinedFunction(Expr func) const;
/**
* Check whether a name is bound to a type (or type constructor).
* @param name the identifier to check.
* @returns true iff name is bound to a type in the current scope.
*/
- bool isBoundType(const std::string& name) const throw();
+ bool isBoundType(const std::string& name) const;
/**
* Lookup a bound expression.
* It returns the null expression if there is not a unique expression bound to
* <code>name</code> in the current scope (i.e. if there is not exactly one).
*/
- Expr lookup(const std::string& name) const throw();
+ Expr lookup(const std::string& name) const;
/**
* Lookup a bound type.
* @param name the type identifier to lookup
* @returns the type bound to <code>name</code> in the current scope.
*/
- Type lookupType(const std::string& name) const throw();
+ Type lookupType(const std::string& name) const;
/**
* Lookup a bound parameterized type.
* the current scope.
*/
Type lookupType(const std::string& name,
- const std::vector<Type>& params) const throw();
+ const std::vector<Type>& params) const;
/**
* Lookup the arity of a bound parameterized type.
*
* @throws ScopeException if the scope level is 0.
*/
- void popScope() throw(ScopeException);
+ void popScope();
/** Push a scope level and increase the scope level by 1. */
- void pushScope() throw();
+ void pushScope();
/** Get the current level of this symbol table. */
- size_t getLevel() const throw();
+ size_t getLevel() const;
/** Reset everything. */
void reset();