parameters: (*k)
return_statement: return deco
docstring: Decorator: register a task generator method which will be invoked during
      the processing of source files for the extension given::
  
          from waflib import Task
          class mytask(Task):
              run_str = 'cp ${SRC} ${TGT}'
          @extension('.moo')
          def create_maa_file(self, node):
              self.create_task('mytask', node, node.change_ext('.maa'))
          def build(bld):
              bld(source='foo.moo')
docstring_summary: Decorator: register a task generator method which will be invoked during
      the processing of source files for the extension given::
docstring_tokens: Decorator : register a task generator method which will be invoked during the processing of source files for the extension given ::
function: def extension(*k):
      """
      Decorator: register a task generator method which will be invoked during
      the processing of source files for the extension given::
  
          from waflib import Task
          class mytask(Task):
              run_str = 'cp ${SRC} ${TGT}'
          @extension('.moo')
          def create_maa_file(self, node):
              self.create_task('mytask', node, node.change_ext('.maa'))
          def build(bld):
              bld(source='foo.moo')
      """
      def deco(func):
          setattr(task_gen, func.__name__, func)
          for x in k:
              task_gen.mappings[x] = func
          return func
      return deco
function_tokens: def extension ( * k ) : def deco ( func ) : setattr ( task_gen , func . __name__ , func ) for x in k : task_gen . mappings [ x ] = func return func return deco