@classmethod<EOL><INDENT>def create(cls, obj, body, evaldict, defaults=None,<EOL>doc=None, module=None, addsource=True, **attrs):<DEDENT>
if isinstance(obj, str):  <EOL><INDENT>name, rest = obj.strip().split('<STR_LIT:(>', <NUM_LIT:1>)<EOL>signature = rest[:-<NUM_LIT:1>]  <EOL>func = None<EOL><DEDENT>else:  <EOL><INDENT>name = None<EOL>signature = None<EOL>func = obj<EOL><DEDENT>self = cls(func, name, signature, defaults, doc, module)<EOL>ibody = '<STR_LIT:\n>'.join('<STR_LIT:U+0020>' + line for line in body.splitlines())<EOL>return self.make('<STR_LIT>' + ibody,<EOL>evaldict, addsource, **attrs)<EOL>
Create a function from the strings name, signature and body.
evaldict is the evaluation dictionary. If addsource is true an
attribute __source__ is added to the result. The attributes attrs
are added, if any.