예제 #1
0
파일: frame.py 프로젝트: mnazimek/hippyvm
 def set_ref_by_name(self, name, r_value):
     try:
         no = self.bytecode.var_to_pos[name]
     except KeyError:
         if self.extra_variables is None:
             self.extra_variables = new_rdict()
         self.extra_variables[name] = r_value
     else:
         assert no >= 0
         self.vars_w[no] = r_value
예제 #2
0
 def set_ref_by_name(self, name, r_value):
     try:
         no = self.bytecode.var_to_pos[name]
     except KeyError:
         if self.extra_variables is None:
             self.extra_variables = new_rdict()
         self.extra_variables[name] = r_value
     else:
         assert no >= 0
         self.vars_w[no] = r_value
예제 #3
0
파일: frame.py 프로젝트: mnazimek/hippyvm
 def get_ref_by_name(self, name, create_new=True):
     """Get or create a reference to the variable `$name`."""
     try:
         no = self.bytecode.var_to_pos[name]
     except KeyError:
         if self.extra_variables is None:
             if not create_new:
                 return None
             self.extra_variables = new_rdict()
         try:
             w_ref = self.extra_variables[name]
         except KeyError:
             if not create_new:
                 return None
             w_ref = self.interp.space.empty_ref()
             self.extra_variables[name] = w_ref
         return w_ref
     else:
         return self.load_ref(no)
예제 #4
0
 def get_ref_by_name(self, name, create_new=True):
     """Get or create a reference to the variable `$name`."""
     try:
         no = self.bytecode.var_to_pos[name]
     except KeyError:
         if self.extra_variables is None:
             if not create_new:
                 return None
             self.extra_variables = new_rdict()
         try:
             w_ref = self.extra_variables[name]
         except KeyError:
             if not create_new:
                 return None
             w_ref = self.interp.space.empty_ref()
             self.extra_variables[name] = w_ref
         return w_ref
     else:
         return self.load_ref(no)
예제 #5
0
파일: globals.py 프로젝트: youaani/hippyvm
 def __init__(self, space):
     W_RDictArrayObject.__init__(self, space, new_rdict(), 0)
     self._globals_map = {}
     self._globals_version = _Globals_Version()