parameters: (self)
docstring: Create a C# task bound to the attribute *cs_task*. There can be only one C# task by task generator.
docstring_summary: Create a C# task bound to the attribute *cs_task*. There can be only one C# task by task generator.
docstring_tokens: Create a C# task bound to the attribute * cs_task * . There can be only one C# task by task generator .
function: def apply_cs(self):
  	"""
  	Create a C# task bound to the attribute *cs_task*. There can be only one C# task by task generator.
  	"""
  	cs_nodes = []
  	no_nodes = []
  	for x in self.to_nodes(self.source):
  		if x.name.endswith('.cs'):
  			cs_nodes.append(x)
  		else:
  			no_nodes.append(x)
  	self.source = no_nodes
  
  	bintype = getattr(self, 'bintype', self.gen.endswith('.dll') and 'library' or 'exe')
  	self.cs_task = tsk = self.create_task('mcs', cs_nodes, self.path.find_or_declare(self.gen))
  	tsk.env.CSTYPE = '/target:%s' % bintype
  	tsk.env.OUT = '/out:%s' % tsk.outputs[0].abspath()
  	self.env.append_value('CSFLAGS', '/platform:%s' % getattr(self, 'platform', 'anycpu'))
  
  	inst_to = getattr(self, 'install_path', bintype=='exe' and '${BINDIR}' or '${LIBDIR}')
  	if inst_to:
  		# note: we are making a copy, so the files added to cs_task.outputs won't be installed automatically
  		mod = getattr(self, 'chmod', bintype=='exe' and Utils.O755 or Utils.O644)
  		self.install_task = self.bld.install_files(inst_to, self.cs_task.outputs[:], env=self.env, chmod=mod)
function_tokens: def apply_cs ( self ) : cs_nodes = [ ] no_nodes = [ ] for x in self . to_nodes ( self . source ) : if x . name . endswith ( '.cs' ) : cs_nodes . append ( x ) else : no_nodes . append ( x ) self . source = no_nodes bintype = getattr ( self , 'bintype' , self . gen . endswith ( '.dll' ) and 'library' or 'exe' ) self . cs_task = tsk = self . create_task ( 'mcs' , cs_nodes , self . path . find_or_declare ( self . gen ) ) tsk . env . CSTYPE = '/target:%s' % bintype tsk . env . OUT = '/out:%s' % tsk . outputs [ 0 ] . abspath ( ) self . env . append_value ( 'CSFLAGS' , '/platform:%s' % getattr ( self , 'platform' , 'anycpu' ) ) inst_to = getattr ( self , 'install_path' , bintype == 'exe' and '${BINDIR}' or '${LIBDIR}' ) if inst_to : # note: we are making a copy, so the files added to cs_task.outputs won't be installed automatically mod = getattr ( self , 'chmod' , bintype == 'exe' and Utils . O755 or Utils . O644 ) self . install_task = self . bld . install_files ( inst_to , self . cs_task . outputs [ : ] , env = self . env , chmod = mod )