public override void Initialize(CompilerContext context)
{
base.Initialize(context);
_currentModule = null;
_currentMethod = null;
_methodStack = new Stack<InternalMethod>();
_memberStack = new Stack();
_callableResolutionService = new EnvironmentProvision<CallableResolutionService>();
_invocationTypeReferenceRules = new EnvironmentProvision<InvocationTypeInferenceRules>();
_typeChecker = new EnvironmentProvision<TypeChecker>();
_methodCache = new EnvironmentProvision<RuntimeMethodCache>();
}