parameters: (specified_name, type, property_set)
return_statement: return prefix + specified_name + suffix
docstring: Appends the suffix appropriate to 'type/property-set' combination
      to the specified name and returns the result.
docstring_summary: Appends the suffix appropriate to 'type/property-set' combination
      to the specified name and returns the result.
docstring_tokens: Appends the suffix appropriate to type / property - set combination to the specified name and returns the result .
function: def add_prefix_and_suffix(specified_name, type, property_set):
      """Appends the suffix appropriate to 'type/property-set' combination
      to the specified name and returns the result."""
  
      property_set = b2.util.jam_to_value_maybe(property_set)
  
      suffix = ""
      if type:
          suffix = b2.build.type.generated_target_suffix(type, property_set)
  
      # Handle suffixes for which no leading dot is desired.  Those are
      # specified by enclosing them in <...>.  Needed by python so it
      # can create "_d.so" extensions, for example.
      if get_grist(suffix):
          suffix = ungrist(suffix)
      elif suffix:
          suffix = "." + suffix
  
      prefix = ""
      if type:
          prefix = b2.build.type.generated_target_prefix(type, property_set)
  
      if specified_name.startswith(prefix):
          prefix = ""
  
      if not prefix:
          prefix = ""
      if not suffix:
          suffix = ""
      return prefix + specified_name + suffix
function_tokens: def add_prefix_and_suffix ( specified_name , type , property_set ) : property_set = b2 . util . jam_to_value_maybe ( property_set ) suffix = "" if type : suffix = b2 . build . type . generated_target_suffix ( type , property_set ) # Handle suffixes for which no leading dot is desired.  Those are # specified by enclosing them in <...>.  Needed by python so it # can create "_d.so" extensions, for example. if get_grist ( suffix ) : suffix = ungrist ( suffix ) elif suffix : suffix = "." + suffix prefix = "" if type : prefix = b2 . build . type . generated_target_prefix ( type , property_set ) if specified_name . startswith ( prefix ) : prefix = "" if not prefix : prefix = "" if not suffix : suffix = "" return prefix + specified_name + suffix