parameters: (self, target, attr, value)
docstring: Resolve setting the attribute *attr* (a string) on the *target* type
          to the given *value* type.
          A function signature is returned, or None if resolution failed.
docstring_summary: Resolve setting the attribute *attr* (a string) on the *target* type
          to the given *value* type.
          A function signature is returned, or None if resolution failed.
docstring_tokens: Resolve setting the attribute * attr * ( a string ) on the * target * type to the given * value * type . A function signature is returned or None if resolution failed .
function: def resolve_setattr(self, target, attr, value):
          """
          Resolve setting the attribute *attr* (a string) on the *target* type
          to the given *value* type.
          A function signature is returned, or None if resolution failed.
          """
          for attrinfo in self._get_attribute_templates(target):
              expectedty = attrinfo.resolve(target, attr)
              # NOTE: convertibility from *value* to *expectedty* is left to
              # the caller.
              if expectedty is not None:
                  return templates.signature(types.void, target, expectedty)
function_tokens: def resolve_setattr ( self , target , attr , value ) : for attrinfo in self . _get_attribute_templates ( target ) : expectedty = attrinfo . resolve ( target , attr ) # NOTE: convertibility from *value* to *expectedty* is left to # the caller. if expectedty is not None : return templates . signature ( types . void , target , expectedty )