public virtual void Initialize(CompilerContext context) { _context = context; _codeBuilder = new EnvironmentProvision<BooCodeBuilder>(); _typeSystemServices = new EnvironmentProvision<TypeSystemServices>(); _nameResolutionService = new EnvironmentProvision<NameResolutionService>(); }
public virtual void Initialize(CompilerContext context) { _context = context; _codeBuilder = new EnvironmentProvision <BooCodeBuilder>(); _typeSystemServices = new EnvironmentProvision <TypeSystemServices>(); _nameResolutionService = new EnvironmentProvision <NameResolutionService>(); }
public virtual void Initialize(CompilerContext context) { if (null == context) { throw new ArgumentNullException("context"); } _context = context; _typeSystemServices = new EnvironmentProvision <TypeSystemServices>(); _nameResolutionService = new EnvironmentProvision <NameResolutionService>(); }
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>(); }
public void ProvisioningHappensOnDemandAndOnlyOnce() { var mock = new Mock<IEnvironment>(); mock.Setup(e => e.Provide<Foo>()).Returns(new Foo()).AtMostOnce(); var foo = new EnvironmentProvision<Foo>(); ActiveEnvironment.With(mock.Object, () => { var first = foo.Instance; var second = foo.Instance; Assert.IsNotNull(first); Assert.AreSame(first, second); }); mock.VerifyAll(); }
public void ProvisioningHappensOnDemandAndOnlyOnce() { var mock = new Mock <IEnvironment>(); mock.Setup(e => e.Provide <Foo>()).Returns(new Foo()).AtMostOnce(); var foo = new EnvironmentProvision <Foo>(); ActiveEnvironment.With(mock.Object, () => { var first = foo.Instance; var second = foo.Instance; Assert.IsNotNull(first); Assert.AreSame(first, second); }); mock.VerifyAll(); }
public override void Dispose() { _typeChecker = new EnvironmentProvision <TypeChecker>(); base.Dispose(); }
public override void Run() { NameResolutionService.Reset(); _currentModule = null; _currentMethod = null; _methodStack = new Stack(); _memberStack = new Stack(); _callableResolutionService = new EnvironmentProvision<CallableResolutionService>(); InitializeMemberCache(); Visit(CompileUnit); }
public override void Dispose() { _methodCache = new EnvironmentProvision<RuntimeMethodCache>(); base.Dispose(); }
public virtual void Initialize(CompilerContext context) { if (null == context) throw new ArgumentNullException("context"); _context = context; _typeSystemServices = new EnvironmentProvision<TypeSystemServices>(); _nameResolutionService = new EnvironmentProvision<NameResolutionService>(); }
public override void Initialize(CompilerContext context) { _methodCache = new EnvironmentProvision <RuntimeMethodCache>(); base.Initialize(context); }
public override void Dispose() { _typeChecker = new EnvironmentProvision<TypeChecker>(); base.Dispose(); }
public override void Dispose() { _methodCache = new EnvironmentProvision <RuntimeMethodCache>(); base.Dispose(); }