parameters: (self, tu)
return_statement: return headers, cpps
docstring: returns |[ header: File ], [ cpp : File ]| representing the
  lowered form of |tu|
docstring_summary: returns |[ header: File ], [ cpp : File ]| representing the
  lowered form of |tu|
docstring_tokens: returns | [ header : File ] [ cpp : File ] | representing the lowered form of |tu|
function: def lower(self, tu):
          '''returns |[ header: File ], [ cpp : File ]| representing the
  lowered form of |tu|'''
          # annotate the AST with IPDL/C++ IR-type stuff used later
          tu.accept(_DecorateWithCxxStuff())
  
          # Any modifications to the filename scheme here need corresponding
          # modifications in the ipdl.py driver script.
          name = tu.name
          pheader, pcpp = File(name +'.h'), File(name +'.cpp')
  
          _GenerateProtocolCode().lower(tu, pheader, pcpp)
          headers = [ pheader ]
          cpps = [ pcpp ]
  
          if tu.protocol:
              pname = tu.protocol.name
  
              parentheader, parentcpp = File(pname +'Parent.h'), File(pname +'Parent.cpp')
              _GenerateProtocolParentCode().lower(
                  tu, pname+'Parent', parentheader, parentcpp)
  
              childheader, childcpp = File(pname +'Child.h'), File(pname +'Child.cpp')
              _GenerateProtocolChildCode().lower(
                  tu, pname+'Child', childheader, childcpp)
  
              headers += [ parentheader, childheader ]
              cpps += [ parentcpp, childcpp ]
  
          return headers, cpps
function_tokens: def lower ( self , tu ) : # annotate the AST with IPDL/C++ IR-type stuff used later tu . accept ( _DecorateWithCxxStuff ( ) ) # Any modifications to the filename scheme here need corresponding # modifications in the ipdl.py driver script. name = tu . name pheader , pcpp = File ( name + '.h' ) , File ( name + '.cpp' ) _GenerateProtocolCode ( ) . lower ( tu , pheader , pcpp ) headers = [ pheader ] cpps = [ pcpp ] if tu . protocol : pname = tu . protocol . name parentheader , parentcpp = File ( pname + 'Parent.h' ) , File ( pname + 'Parent.cpp' ) _GenerateProtocolParentCode ( ) . lower ( tu , pname + 'Parent' , parentheader , parentcpp ) childheader , childcpp = File ( pname + 'Child.h' ) , File ( pname + 'Child.cpp' ) _GenerateProtocolChildCode ( ) . lower ( tu , pname + 'Child' , childheader , childcpp ) headers += [ parentheader , childheader ] cpps += [ parentcpp , childcpp ] return headers , cpps