public void BeforeMutate(IVault vault) { vault.AssertNotNull(); (_lastVaultId == null || _lastVaultId == vault.Id).AssertTrue(); _lastVaultId = vault.Id; _revisions.Add(vault.Revision); _dirs.Add(1); }
public VirtualVault(IVault vault, VaultVisitor virtualizer, VaultVisitor materializer) { _vault = vault.AssertNotNull(); _virtualizer = virtualizer.AssertNotNull(); _materializer = materializer.AssertNotNull(); _vaultExposition = _vault.ExposeReadOnly(); _virtualizer.Visit(this, _vault); }
public EvalSession(IVault vault, IVault repository) { Vault = vault.AssertNotNull(); _expositions.Add(vault.ExposeReadOnly()); Repository = repository; if (repository != null) { _expositions.Add(repository.ExposeReadOnly()); } }
protected EvalSession(IVault vault, IVault repository) { AppDomain.CurrentDomain.Load("Esath.Data"); _expositions.Add(vault.AssertNotNull().ExposeReadOnly()); if (repository != null) { _expositions.Add(repository.AssertNotNull().ExposeReadOnly()); } VM = new VirtualMachine(); VM.Context.Add("vault", vault); VM.Context.Add("repository", repository); VM.Context.Add("designTime", repository == null); VM.Context.Add("evalCache", new Dictionary<VPath, Object>()); VM.Context.Add("evalSession", this); VM.Context.Add("nodesInProgress", new HashSet<VPath>()); VM.Context.Add("nodeInProgress", null); }
public EvalSession(IVaultCompiler compiler, IVault repository) { _expositions.Add(compiler.AssertNotNull().Vault.ExposeReadOnly()); if (repository != null) { _expositions.Add(repository.AssertNotNull().ExposeReadOnly()); } var cache = compiler.GetCompiledAsync(); if (cache != null) { Scenario = cache.RequestInstance(repository); _evalExposition = Scenario.Expose(); } else { // if cache returned is null, this means that the compiler is busy generating an assembly // however, we don't want to make user wait so let's just fall back to 5-10x times slower Eval2 Eval2 = new Ver2.EvalSession(compiler.Vault, repository); _evalExposition = Eval2; } }
// runtime mode protected CompiledScenario(IVault scenario, IVault repository) { ValidateScenario(scenario); Scenario = new CachedVault(scenario.AssertNotNull()); Repository = repository == null ? null : new CachedVault(repository); }
public VaultCompiler(IVault vault) { Vault = vault.AssertNotNull(); Vault.Changed(SignificantChangeFilter, SignificantChangeProcessor); InitializeCompiler(); }