parameters: (properties, context_module)
return_statement: return result
docstring: Assumes that all feature values that start with '@' are
      names of rules, used in 'context-module'. Such rules can be
      either local to the module or global. Qualified local rules
      with the name of the module.
docstring_summary: Assumes that all feature values that start with '
docstring_tokens: Assumes that all feature values that start with
function: def translate_indirect(properties, context_module):
      """Assumes that all feature values that start with '@' are
      names of rules, used in 'context-module'. Such rules can be
      either local to the module or global. Qualified local rules
      with the name of the module."""
      assert is_iterable_typed(properties, Property)
      assert isinstance(context_module, basestring)
      result = []
      for p in properties:
          if p.value()[0] == '@':
              q = qualify_jam_action(p.value()[1:], context_module)
              get_manager().engine().register_bjam_action(q)
              result.append(Property(p.feature(), '@' + q, p.condition()))
          else:
              result.append(p)
  
      return result
function_tokens: def translate_indirect ( properties , context_module ) : assert is_iterable_typed ( properties , Property ) assert isinstance ( context_module , basestring ) result = [ ] for p in properties : if p . value ( ) [ 0 ] == '@' : q = qualify_jam_action ( p . value ( ) [ 1 : ] , context_module ) get_manager ( ) . engine ( ) . register_bjam_action ( q ) result . append ( Property ( p . feature ( ) , '@' + q , p . condition ( ) ) ) else : result . append ( p ) return result