NamespaceSymbol
using System.Collections.Generic;
namespace Microsoft.CSharp.RuntimeBinder.Semantics
{
internal sealed class NamespaceSymbol : NamespaceOrAggregateSymbol
{
private HashSet<KAID> _bsetFilter;
public NamespaceSymbol()
{
_bsetFilter = new HashSet<KAID>();
}
public bool InAlias(KAID aid)
{
return _bsetFilter.Contains(aid);
}
public void DeclAdded(NamespaceDeclaration decl)
{
InputFile inputFile = decl.getInputFile();
if (inputFile.isSource) {
_bsetFilter.Add(KAID.kaidGlobal);
_bsetFilter.Add(KAID.kaidThisAssembly);
} else
inputFile.UnionAliasFilter(ref _bsetFilter);
}
public void AddAid(KAID aid)
{
if (aid == KAID.kaidThisAssembly)
_bsetFilter.Add(KAID.kaidGlobal);
_bsetFilter.Add(aid);
}
}
}