GlobalSymbolContext
class GlobalSymbolContext
using Microsoft.CSharp.RuntimeBinder.Syntax;
namespace Microsoft.CSharp.RuntimeBinder.Semantics
{
internal class GlobalSymbolContext
{
private PredefinedTypes _predefTypes;
private NameManager _nameManager;
public TypeManager TypeManager { get; set; }
public BSYMMGR GlobalSymbols { get; set; }
public GlobalSymbolContext(NameManager namemgr)
{
TypeManager = new TypeManager();
GlobalSymbols = new BSYMMGR(namemgr, TypeManager);
_predefTypes = new PredefinedTypes(GlobalSymbols);
TypeManager.Init(GlobalSymbols, _predefTypes);
GlobalSymbols.Init();
_nameManager = namemgr;
}
public TypeManager GetTypes()
{
return TypeManager;
}
public BSYMMGR GetGlobalSymbols()
{
return GlobalSymbols;
}
public NameManager GetNameManager()
{
return _nameManager;
}
public PredefinedTypes GetPredefTypes()
{
return _predefTypes;
}
public SymFactory GetGlobalSymbolFactory()
{
return GetGlobalSymbols().GetSymFactory();
}
public MiscSymFactory GetGlobalMiscSymFactory()
{
return GetGlobalSymbols().GetMiscSymFactory();
}
}
}