parameters: (class_name)
return_statement: return derived_class
docstring: Manifest file processing and @response file workaround for command-line length limits on Windows systems
          The indicated task class is replaced by a subclass to prevent conflicts in case the class is wrapped more than once
docstring_summary: Manifest file processing and
docstring_tokens: Manifest file processing and
function: def wrap_class(class_name):
          """
          Manifest file processing and @response file workaround for command-line length limits on Windows systems
          The indicated task class is replaced by a subclass to prevent conflicts in case the class is wrapped more than once
          """    
          cls = Task.classes.get(class_name, None)
          if not cls:
                  return
  
          derived_class = type(class_name, (cls,), {})
          def exec_command(self, *k, **kw):
                  if self.env['CC_NAME'] == 'msvc':
                          return self.exec_command_msvc(*k, **kw)
                  else:
                          return super(derived_class, self).exec_command(*k, **kw)
  
          # Chain-up monkeypatch needed since exec_command() is in base class API
          derived_class.exec_command = exec_command
  
          # No chain-up behavior needed since the following methods aren't in
          # base class API
          derived_class.exec_response_command = exec_response_command
          derived_class.quote_response_command = quote_response_command
          derived_class.exec_command_msvc = exec_command_msvc
          derived_class.exec_mf = exec_mf
  
          return derived_class
function_tokens: def wrap_class ( class_name ) : cls = Task . classes . get ( class_name , None ) if not cls : return derived_class = type ( class_name , ( cls , ) , { } ) def exec_command ( self , * k , * * kw ) : if self . env [ 'CC_NAME' ] == 'msvc' : return self . exec_command_msvc ( * k , * * kw ) else : return super ( derived_class , self ) . exec_command ( * k , * * kw ) # Chain-up monkeypatch needed since exec_command() is in base class API derived_class . exec_command = exec_command # No chain-up behavior needed since the following methods aren't in # base class API derived_class . exec_response_command = exec_response_command derived_class . quote_response_command = quote_response_command derived_class . exec_command_msvc = exec_command_msvc derived_class . exec_mf = exec_mf return derived_class