A Scope contains symbol definitions.
declare the given symbol in the local scope using the given encoded name.
find the encoded name declared in this scope and return a set of matching symbols.
look up the encoded name and return a set of matching symbols.
declare the given symbol in the local scope using the given encoded name.
declare a 'using' directive. The default implementation raises an exception, as it is only well-formed when the current scope is a function scope or a namespace.
find a nested scope by symbol. The encoded name is provided for diagnostic purposes only.
find the encoded name declared in this scope and return a set of matching symbols.
Remove the given symbol from the scope. s shall not be used after its removal.
look up the encoded name and return a set of matching symbols.