internal ImmutableContextBase( ContextTree contextTree, ImmutableContextBase parent, [NotNull] ModuleLiteral module, TopLevelValueInfo topLevelValueInfo, FileType fileType, EvaluatorConfiguration configuration, [NotNull] IEvaluationScheduler evaluationScheduler) { Contract.Requires(contextTree.IsValid); Contract.Requires(parent == null || parent.ContextTree == contextTree); Contract.Requires(module != null); Contract.Requires(evaluationScheduler != null); ParentContext = parent; LastActiveUsedModule = module; TopLevelValueInfo = topLevelValueInfo; ContextTree = contextTree; DebugState = new DebugState(); m_relativePath = RelativePath.Invalid; EvaluatorConfiguration = configuration; EvaluationScheduler = evaluationScheduler; FileType = fileType; if (parent != null) { m_callStack = parent.m_callStack; } }
/// <nodoc /> public ModuleAndContext(ModuleLiteral module, ContextTree tree) { Module = module; Tree = tree; }