NamespaceOrAggregateSymbol
namespace Microsoft.CSharp.RuntimeBinder.Semantics
{
internal abstract class NamespaceOrAggregateSymbol : ParentSymbol
{
private Declaration _declFirst;
private Declaration _declLast;
public NamespaceOrAggregateSymbol()
{
}
public Declaration DeclFirst()
{
return _declFirst;
}
public void AddDecl(Declaration decl)
{
if (_declLast == null)
_declFirst = (_declLast = decl);
else {
_declLast.declNext = decl;
_declLast = decl;
}
decl.declNext = null;
decl.bag = this;
if (decl.IsNamespaceDeclaration())
decl.AsNamespaceDeclaration().Bag().DeclAdded(decl.AsNamespaceDeclaration());
}
}
}