本文整理汇总了Python中topaz.celldict.GlobalsDict类的典型用法代码示例。如果您正苦于以下问题:Python GlobalsDict类的具体用法?Python GlobalsDict怎么用?Python GlobalsDict使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了GlobalsDict类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
def __init__(self):
self.cache = SpaceCache(self)
self.symbol_cache = {}
self._executioncontext = None
self.globals = GlobalsDict()
self.bootstrap = True
self.exit_handlers_w = []
self.w_true = W_TrueObject(self)
self.w_false = W_FalseObject(self)
self.w_nil = W_NilObject(self)
# Force the setup of a few key classes, we create a fake "Class" class
# for the initial bootstrap.
self.w_class = self.newclass("FakeClass", None)
self.w_basicobject = self.getclassfor(W_BaseObject)
self.w_object = self.getclassfor(W_Object)
self.w_class = self.getclassfor(W_ClassObject)
# We replace the one reference to our FakeClass with the real class.
self.w_basicobject.klass.superclass = self.w_class
self.w_symbol = self.getclassfor(W_SymbolObject)
self.w_array = self.getclassfor(W_ArrayObject)
self.w_proc = self.getclassfor(W_ProcObject)
self.w_numeric = self.getclassfor(W_NumericObject)
self.w_fixnum = self.getclassfor(W_FixnumObject)
self.w_float = self.getclassfor(W_FloatObject)
self.w_bignum = self.getclassfor(W_BignumObject)
self.w_integer = self.getclassfor(W_IntegerObject)
self.w_module = self.getclassfor(W_ModuleObject)
self.w_string = self.getclassfor(W_StringObject)
self.w_regexp = self.getclassfor(W_RegexpObject)
self.w_hash = self.getclassfor(W_HashObject)
self.w_NoMethodError = self.getclassfor(W_NoMethodError)
self.w_ArgumentError = self.getclassfor(W_ArgumentError)
self.w_LocalJumpError = self.getclassfor(W_LocalJumpError)
self.w_NameError = self.getclassfor(W_NameError)
self.w_NotImplementedError = self.getclassfor(W_NotImplementedError)
self.w_IndexError = self.getclassfor(W_IndexError)
self.w_IOError = self.getclassfor(W_IOError)
self.w_LoadError = self.getclassfor(W_LoadError)
self.w_RangeError = self.getclassfor(W_RangeError)
self.w_RegexpError = self.getclassfor(W_RegexpError)
self.w_RuntimeError = self.getclassfor(W_RuntimeError)
self.w_StandardError = self.getclassfor(W_StandardError)
self.w_StopIteration = self.getclassfor(W_StopIteration)
self.w_SyntaxError = self.getclassfor(W_SyntaxError)
self.w_SystemCallError = self.getclassfor(W_SystemCallError)
self.w_SystemExit = self.getclassfor(W_SystemExit)
self.w_TypeError = self.getclassfor(W_TypeError)
self.w_ZeroDivisionError = self.getclassfor(W_ZeroDivisionError)
self.w_kernel = self.getmoduleobject(Kernel.moduledef)
self.w_topaz = self.getmoduleobject(Topaz.moduledef)
for w_cls in [
self.w_basicobject, self.w_object, self.w_array, self.w_proc,
self.w_numeric, self.w_fixnum, self.w_float, self.w_string,
self.w_symbol, self.w_class, self.w_module, self.w_hash,
self.w_regexp,
self.w_NoMethodError, self.w_ArgumentError, self.w_TypeError,
self.w_ZeroDivisionError, self.w_SystemExit, self.w_RangeError,
self.w_RegexpError, self.w_RuntimeError, self.w_SystemCallError,
self.w_LoadError, self.w_StopIteration, self.w_SyntaxError,
self.w_NameError, self.w_StandardError, self.w_LocalJumpError,
self.w_IndexError, self.w_IOError,
self.w_kernel, self.w_topaz,
self.getclassfor(W_NilObject),
self.getclassfor(W_TrueObject),
self.getclassfor(W_FalseObject),
self.getclassfor(W_RangeObject),
self.getclassfor(W_IOObject),
self.getclassfor(W_FileObject),
self.getclassfor(W_DirObject),
self.getclassfor(W_EncodingObject),
self.getclassfor(W_IntegerObject),
self.getclassfor(W_RandomObject),
self.getclassfor(W_ThreadObject),
self.getclassfor(W_TimeObject),
self.getclassfor(W_MethodObject),
self.getclassfor(W_UnboundMethodObject),
self.getclassfor(W_ExceptionObject),
self.getclassfor(W_StandardError),
self.getclassfor(W_ThreadError),
self.getmoduleobject(Comparable.moduledef),
self.getmoduleobject(Enumerable.moduledef),
self.getmoduleobject(Math.moduledef),
self.getmoduleobject(Process.moduledef),
self.getmoduleobject(Signal.moduledef),
self.getmoduleobject(ObjectSpaceModule.moduledef),
]:
self.set_const(
self.w_object,
self.str_w(self.send(w_cls, self.newsymbol("name"))),
w_cls
#.........这里部分代码省略.........
示例2: ObjectSpace
class ObjectSpace(object):
def __init__(self, config):
self.config = config
self.cache = SpaceCache(self)
self.symbol_cache = {}
self._executioncontexts = ExecutionContextHolder()
self.globals = GlobalsDict()
self.bootstrap = True
self.exit_handlers_w = []
self.w_true = W_TrueObject(self)
self.w_false = W_FalseObject(self)
self.w_nil = W_NilObject(self)
# Force the setup of a few key classes, we create a fake "Class" class
# for the initial bootstrap.
self.w_class = self.newclass("FakeClass", None)
cls_reference = weakref.ref(self.w_class)
self.w_basicobject = self.getclassfor(W_BaseObject)
self.w_object = self.getclassfor(W_Object)
self.w_class = self.getclassfor(W_ClassObject)
# We replace the one reference to our FakeClass with the real class.
self.w_basicobject.klass.superclass = self.w_class
assert cls_reference() is None
self.w_symbol = self.getclassfor(W_SymbolObject)
self.w_array = self.getclassfor(W_ArrayObject)
self.w_proc = self.getclassfor(W_ProcObject)
self.w_binding = self.getclassfor(W_BindingObject)
self.w_numeric = self.getclassfor(W_NumericObject)
self.w_fixnum = self.getclassfor(W_FixnumObject)
self.w_float = self.getclassfor(W_FloatObject)
self.w_bignum = self.getclassfor(W_BignumObject)
self.w_integer = self.getclassfor(W_IntegerObject)
self.w_module = self.getclassfor(W_ModuleObject)
self.w_string = self.getclassfor(W_StringObject)
self.w_regexp = self.getclassfor(W_RegexpObject)
self.w_hash = self.getclassfor(W_HashObject)
self.w_method = self.getclassfor(W_MethodObject)
self.w_unbound_method = self.getclassfor(W_UnboundMethodObject)
self.w_io = self.getclassfor(W_IOObject)
self.w_NoMethodError = self.getclassfor(W_NoMethodError)
self.w_ArgumentError = self.getclassfor(W_ArgumentError)
self.w_LocalJumpError = self.getclassfor(W_LocalJumpError)
self.w_NameError = self.getclassfor(W_NameError)
self.w_NotImplementedError = self.getclassfor(W_NotImplementedError)
self.w_IndexError = self.getclassfor(W_IndexError)
self.w_KeyError = self.getclassfor(W_KeyError)
self.w_IOError = self.getclassfor(W_IOError)
self.w_EOFError = self.getclassfor(W_EOFError)
self.w_FiberError = self.getclassfor(W_FiberError)
self.w_LoadError = self.getclassfor(W_LoadError)
self.w_RangeError = self.getclassfor(W_RangeError)
self.w_FloatDomainError = self.getclassfor(W_FloatDomainError)
self.w_RegexpError = self.getclassfor(W_RegexpError)
self.w_RuntimeError = self.getclassfor(W_RuntimeError)
self.w_StandardError = self.getclassfor(W_StandardError)
self.w_StopIteration = self.getclassfor(W_StopIteration)
self.w_SyntaxError = self.getclassfor(W_SyntaxError)
self.w_SystemCallError = self.getclassfor(W_SystemCallError)
self.w_SystemExit = self.getclassfor(W_SystemExit)
self.w_SystemStackError = self.getclassfor(W_SystemStackError)
self.w_TypeError = self.getclassfor(W_TypeError)
self.w_ZeroDivisionError = self.getclassfor(W_ZeroDivisionError)
self.w_kernel = self.getmoduleobject(Kernel.moduledef)
self.w_topaz = self.getmoduleobject(Topaz.moduledef)
for w_cls in [
self.w_basicobject, self.w_object, self.w_array, self.w_proc,
self.w_numeric, self.w_fixnum, self.w_bignum, self.w_float,
self.w_string, self.w_symbol, self.w_class, self.w_module,
self.w_hash, self.w_regexp, self.w_method, self.w_unbound_method,
self.w_io, self.w_binding,
self.w_NoMethodError, self.w_ArgumentError, self.w_TypeError,
self.w_ZeroDivisionError, self.w_SystemExit, self.w_RangeError,
self.w_RegexpError, self.w_RuntimeError, self.w_SystemCallError,
self.w_LoadError, self.w_StopIteration, self.w_SyntaxError,
self.w_NameError, self.w_StandardError, self.w_LocalJumpError,
self.w_IndexError, self.w_IOError, self.w_NotImplementedError,
self.w_EOFError, self.w_FloatDomainError, self.w_FiberError,
self.w_SystemStackError,
self.w_kernel, self.w_topaz,
self.getclassfor(W_NilObject),
self.getclassfor(W_TrueObject),
self.getclassfor(W_FalseObject),
self.getclassfor(W_RangeObject),
self.getclassfor(W_FileObject),
self.getclassfor(W_DirObject),
self.getclassfor(W_EncodingObject),
self.getclassfor(W_IntegerObject),
self.getclassfor(W_RandomObject),
self.getclassfor(W_ThreadObject),
self.getclassfor(W_TimeObject),
self.getclassfor(W_MethodObject),
self.getclassfor(W_UnboundMethodObject),
#.........这里部分代码省略.........
示例3: ObjectSpace
class ObjectSpace(object):
def __init__(self):
self.cache = SpaceCache(self)
self.symbol_cache = {}
self._executioncontext = None
self.globals = GlobalsDict()
self.bootstrap = True
self.exit_handlers_w = []
self.w_true = W_TrueObject(self)
self.w_false = W_FalseObject(self)
self.w_nil = W_NilObject(self)
# Force the setup of a few key classes, we create a fake "Class" class
# for the initial bootstrap.
self.w_class = self.newclass("FakeClass", None)
self.w_basicobject = self.getclassfor(W_BaseObject)
self.w_object = self.getclassfor(W_Object)
self.w_class = self.getclassfor(W_ClassObject)
# We replace the one reference to our FakeClass with the real class.
self.w_basicobject.klass.superclass = self.w_class
self.w_symbol = self.getclassfor(W_SymbolObject)
self.w_array = self.getclassfor(W_ArrayObject)
self.w_proc = self.getclassfor(W_ProcObject)
self.w_numeric = self.getclassfor(W_NumericObject)
self.w_fixnum = self.getclassfor(W_FixnumObject)
self.w_float = self.getclassfor(W_FloatObject)
self.w_bignum = self.getclassfor(W_BignumObject)
self.w_integer = self.getclassfor(W_IntegerObject)
self.w_module = self.getclassfor(W_ModuleObject)
self.w_string = self.getclassfor(W_StringObject)
self.w_regexp = self.getclassfor(W_RegexpObject)
self.w_hash = self.getclassfor(W_HashObject)
self.w_NoMethodError = self.getclassfor(W_NoMethodError)
self.w_ArgumentError = self.getclassfor(W_ArgumentError)
self.w_LocalJumpError = self.getclassfor(W_LocalJumpError)
self.w_NameError = self.getclassfor(W_NameError)
self.w_NotImplementedError = self.getclassfor(W_NotImplementedError)
self.w_IndexError = self.getclassfor(W_IndexError)
self.w_IOError = self.getclassfor(W_IOError)
self.w_LoadError = self.getclassfor(W_LoadError)
self.w_RangeError = self.getclassfor(W_RangeError)
self.w_RegexpError = self.getclassfor(W_RegexpError)
self.w_RuntimeError = self.getclassfor(W_RuntimeError)
self.w_StandardError = self.getclassfor(W_StandardError)
self.w_StopIteration = self.getclassfor(W_StopIteration)
self.w_SyntaxError = self.getclassfor(W_SyntaxError)
self.w_SystemCallError = self.getclassfor(W_SystemCallError)
self.w_SystemExit = self.getclassfor(W_SystemExit)
self.w_TypeError = self.getclassfor(W_TypeError)
self.w_ZeroDivisionError = self.getclassfor(W_ZeroDivisionError)
self.w_kernel = self.getmoduleobject(Kernel.moduledef)
self.w_topaz = self.getmoduleobject(Topaz.moduledef)
for w_cls in [
self.w_basicobject, self.w_object, self.w_array, self.w_proc,
self.w_numeric, self.w_fixnum, self.w_float, self.w_string,
self.w_symbol, self.w_class, self.w_module, self.w_hash,
self.w_regexp,
self.w_NoMethodError, self.w_ArgumentError, self.w_TypeError,
self.w_ZeroDivisionError, self.w_SystemExit, self.w_RangeError,
self.w_RegexpError, self.w_RuntimeError, self.w_SystemCallError,
self.w_LoadError, self.w_StopIteration, self.w_SyntaxError,
self.w_NameError, self.w_StandardError, self.w_LocalJumpError,
self.w_IndexError, self.w_IOError,
self.w_kernel, self.w_topaz,
self.getclassfor(W_NilObject),
self.getclassfor(W_TrueObject),
self.getclassfor(W_FalseObject),
self.getclassfor(W_RangeObject),
self.getclassfor(W_IOObject),
self.getclassfor(W_FileObject),
self.getclassfor(W_DirObject),
self.getclassfor(W_EncodingObject),
self.getclassfor(W_IntegerObject),
self.getclassfor(W_RandomObject),
self.getclassfor(W_ThreadObject),
self.getclassfor(W_TimeObject),
self.getclassfor(W_MethodObject),
self.getclassfor(W_UnboundMethodObject),
self.getclassfor(W_ExceptionObject),
self.getclassfor(W_StandardError),
self.getclassfor(W_ThreadError),
self.getmoduleobject(Comparable.moduledef),
self.getmoduleobject(Enumerable.moduledef),
self.getmoduleobject(Math.moduledef),
self.getmoduleobject(Process.moduledef),
self.getmoduleobject(Signal.moduledef),
self.getmoduleobject(ObjectSpaceModule.moduledef),
]:
self.set_const(
self.w_object,
self.str_w(self.send(w_cls, self.newsymbol("name"))),
#.........这里部分代码省略.........
示例4: test_globals
def test_globals(self, space):
space.stuff = 4
g = GlobalsDict()
g.define_virtual("x", lambda s: s.stuff)
assert g.get(space, "x") == 4
with self.raises(space, "NameError"):
g.set(space, "x", 5)
g.define_virtual("y", lambda s: s.stuff, lambda s, v: setattr(s, "stuff", v))
assert g.get(space, "y") == 4
g.set(space, "y", 5)
assert g.get(space, "y") == 5