parameters: (self, source, prebuild, outputs)
docstring: Handle the implicit VS .idl rule for one source file. Fills |outputs|
      with files that are generated.
docstring_summary: Handle the implicit VS .idl rule for one source file. Fills |outputs|
      with files that are generated.
docstring_tokens: Handle the implicit VS . idl rule for one source file . Fills |outputs| with files that are generated .
function: def _WinIdlRule(self, source, prebuild, outputs):
      """Handle the implicit VS .idl rule for one source file. Fills |outputs|
      with files that are generated."""
      outdir, output, vars, flags = self.msvs_settings.GetIdlBuildData(
          source, self.config_name)
      outdir = self.GypPathToNinja(outdir)
      def fix_path(path, rel=None):
        path = os.path.join(outdir, path)
        dirname, basename = os.path.split(source)
        root, ext = os.path.splitext(basename)
        path = self.ExpandRuleVariables(
            path, root, dirname, source, ext, basename)
        if rel:
          path = os.path.relpath(path, rel)
        return path
      vars = [(name, fix_path(value, outdir)) for name, value in vars]
      output = [fix_path(p) for p in output]
      vars.append(('outdir', outdir))
      vars.append(('idlflags', flags))
      input = self.GypPathToNinja(source)
      self.ninja.build(output, 'idl', input,
          variables=vars, order_only=prebuild)
      outputs.extend(output)
function_tokens: def _WinIdlRule ( self , source , prebuild , outputs ) : outdir , output , vars , flags = self . msvs_settings . GetIdlBuildData ( source , self . config_name ) outdir = self . GypPathToNinja ( outdir ) def fix_path ( path , rel = None ) : path = os . path . join ( outdir , path ) dirname , basename = os . path . split ( source ) root , ext = os . path . splitext ( basename ) path = self . ExpandRuleVariables ( path , root , dirname , source , ext , basename ) if rel : path = os . path . relpath ( path , rel ) return path vars = [ ( name , fix_path ( value , outdir ) ) for name , value in vars ] output = [ fix_path ( p ) for p in output ] vars . append ( ( 'outdir' , outdir ) ) vars . append ( ( 'idlflags' , flags ) ) input = self . GypPathToNinja ( source ) self . ninja . build ( output , 'idl' , input , variables = vars , order_only = prebuild ) outputs . extend ( output )