parameters: (self)
docstring: Processes each element in the attribute ``source`` by extension.
  
  	#. The *source* list is converted through :py:meth:`waflib.TaskGen.to_nodes` to a list of :py:class:`waflib.Node.Node` first.
  	#. File extensions are mapped to methods having the signature: ``def meth(self, node)`` by :py:meth:`waflib.TaskGen.extension`
  	#. The method is retrieved through :py:meth:`waflib.TaskGen.task_gen.get_hook`
  	#. When called, the methods may modify self.source to append more source to process
  	#. The mappings can map an extension or a filename (see the code below)
docstring_summary: Processes each element in the attribute ``source`` by extension.
docstring_tokens: Processes each element in the attribute source by extension .
function: def process_source(self):
  	"""
  	Processes each element in the attribute ``source`` by extension.
  
  	#. The *source* list is converted through :py:meth:`waflib.TaskGen.to_nodes` to a list of :py:class:`waflib.Node.Node` first.
  	#. File extensions are mapped to methods having the signature: ``def meth(self, node)`` by :py:meth:`waflib.TaskGen.extension`
  	#. The method is retrieved through :py:meth:`waflib.TaskGen.task_gen.get_hook`
  	#. When called, the methods may modify self.source to append more source to process
  	#. The mappings can map an extension or a filename (see the code below)
  	"""
  	self.source = self.to_nodes(getattr(self, 'source', []))
  	for node in self.source:
  		self.get_hook(node)(self, node)
function_tokens: def process_source ( self ) : self . source = self . to_nodes ( getattr ( self , 'source' , [ ] ) ) for node in self . source : self . get_hook ( node ) ( self , node )