internal EngineModule(string moduleName, IDictionary<string, object> globalsDict, SystemState systemState)
 {
     Debug.Assert(moduleName != null);
     globals = globalsDict;
     if (globals is IAttributesDictionary)
         globalsAdapter = globals as IAttributesDictionary;
     else
         globalsAdapter = new StringDictionaryAdapterDict(globalsDict);
     PythonModule pythonModule = new PythonModule(moduleName, globalsAdapter, systemState);
     defaultModuleScope = new ModuleScope(pythonModule);
 }
 public InferredModule(ModuleScope module)
 {
     this.module = module;
 }
 internal EngineModule(ModuleScope scope)
 {
     defaultModuleScope = scope;
     globalsAdapter = scope.Globals;
     globals = new AttributesDictionaryAdapter(globalsAdapter);
 }
 internal OptimizedEngineModule(ModuleScope moduleScope)
     : base(moduleScope)
 {
     Debug.Assert(GlobalsAdapter is CompiledModule);
 }
 internal ModuleScope GetModuleScope(IDictionary<string, object> locals)
 {
     if (locals == null) {
         // We can use defaultModuleScope in this case as we do not need to customize locals
         Debug.Assert(defaultModuleScope.Globals == defaultModuleScope.Locals);
         return defaultModuleScope;
     }
     ModuleScope scope = new ModuleScope(defaultModuleScope.Module, globalsAdapter, new StringDictionaryAdapterDict(locals));
     return scope;
 }
        private Module DoAnalyze(Modules modules, string name, Statement root)
        {
            GlobalSuite global = new GlobalSuite(root);
            module = new Module(modules, name, global, scopes);

            ModuleScope modsc;
            module.ModuleScope = modsc = new ModuleScope(module, null, global);

            PushScope(modsc);

            root.Walk(this);

            foreach (FieldAssignment fer in this.fields) {
                fer.Infer(module);
            }
            return module;
        }
 internal object Run(ModuleScope moduleScope)
 {
     moduleScope = (ModuleScope)moduleScope.Clone();
     moduleScope.staticData = staticData;
     return code(moduleScope);
 }
 public SnippetModuleRunner(string name, SystemState state)
 {
     module = new PythonModule(name, this, state, this.Initialize);
     moduleScope = new ModuleScope(module);
 }