Exemple #1
0
 def create_serialized_user_object(self, obj):
     klass = self.project.find_object(Class, class_name(obj),
                                      module_name(obj))
     if klass:
         serialized = UserObject(obj, klass)
         klass.add_user_object(serialized)
         return serialized
Exemple #2
0
    def __init__(self, obj, serialize):
        CompositeObject.__init__(self, obj)

        self.args = map(serialize, obj.args)
        self.constructor_format = "%s(%%s)" % class_name(obj)
        self.imports = set()

        if class_of(obj) in BUILTIN_ENVIRONMENT_ERROR_TYPES and obj.filename is not None:
            self.args.append(serialize(obj.filename))
Exemple #3
0
    def __init__(self, obj, serialize):
        CompositeObject.__init__(self, obj)

        self.args = map(serialize, obj.args)
        self.constructor_format = "%s(%%s)" % class_name(obj)
        self.imports = set()

        if class_of(obj) in BUILTIN_ENVIRONMENT_ERROR_TYPES and obj.filename is not None:
            self.args.append(serialize(obj.filename))
Exemple #4
0
def get_type_name(obj):
    """
    >>> get_type_name([])
    'list'
    >>> get_type_name({})
    'dict'

    May contain dots, if type is not builtin.
        >>> get_type_name(lambda: None)
        'types.FunctionType'
    """
    mapping = {array.array: 'array.array',
               types.FunctionType: 'types.FunctionType',
               types.GeneratorType: 'types.GeneratorType'}
    objtype = type(obj)
    return mapping.get(objtype, class_name(obj))
Exemple #5
0
def get_type_name(obj):
    """
    >>> get_type_name([])
    'list'
    >>> get_type_name({})
    'dict'

    May contain dots, if type is not builtin.
        >>> get_type_name(lambda: None)
        'types.FunctionType'
    """
    mapping = {array.array: 'array.array',
               types.FunctionType: 'types.FunctionType',
               types.GeneratorType: 'types.GeneratorType'}
    objtype = type(obj)
    return mapping.get(objtype, class_name(obj))
Exemple #6
0
 def __repr__(self):
     return "%s(definition=%s, input=%r, output=%r, exception=%r, side_effects=[..(%d)..])" % \
         (class_name(self), self.definition.name, self.input, self.output,
          self.exception, len(self.side_effects))
Exemple #7
0
 def add_subcall(self, call):
     if call.caller is not None:
         raise TypeError("This %s of %s already has a caller." % \
                             (class_name(call), call.definition.name))
     call.caller = self
     self.subcalls.append(call)
Exemple #8
0
 def __repr__(self):
     return "%s(definition=%s, input=%r, output=%r, exception=%r, side_effects=[..(%d)..])" % \
         (class_name(self), self.definition.name, self.input, self.output,
          self.exception, len(self.side_effects))
Exemple #9
0
 def add_subcall(self, call):
     if call.caller is not None:
         raise TypeError("This %s of %s already has a caller." % \
                             (class_name(call), call.definition.name))
     call.caller = self
     self.subcalls.append(call)