ast = ipdl.parse(specstring, filename, includedirs=includedirs) if ast is None: print('Specification could not be parsed.', file=sys.stderr) sys.exit(1) log(2, 'checking types') if not ipdl.typecheck(ast): print('Specification is not well typed.', file=sys.stderr) sys.exit(1) if not ipdl.checkSyncMessage(ast, syncMsgList): print('Error: New sync IPC messages must be reviewed by an IPC peer and recorded in %s' % options.syncMsgList, file=sys.stderr) # NOQA: E501 sys.exit(1) if not ipdl.checkFixedSyncMessages(parser): # Errors have alraedy been printed to stderr, just exit sys.exit(1) # Second pass: generate code for f in files: # Read from parser cache filename = normalizedFilename(f) ast = ipdl.parse(None, filename, includedirs=includedirs) ipdl.gencxx(filename, ast, headersdir, cppdir, segmentCapacityDict) if ast.protocol: allmessages[ast.protocol.name] = ipdl.genmsgenum(ast) allprotocols.append(ast.protocol.name) # e.g. PContent::RequestMemoryReport (not prefixed or suffixed.) for md in ast.protocol.messageDecls:
sys.exit(1) log(2, 'checking types') if not ipdl.typecheck(ast): print >>sys.stderr, 'Specification is not well typed.' sys.exit(1) if not ipdl.checkSyncMessage(ast, syncMsgList): print >>sys.stderr, 'Error: New sync IPC messages must be reviewed by an IPC peer and recorded in %s' % options.syncMsgList sys.exit(1) if _verbosity > 2: log(3, ' pretty printed code:') ipdl.genipdl(ast, codedir) if not ipdl.checkFixedSyncMessages(parser): # Errors have alraedy been printed to stderr, just exit sys.exit(1) # Second pass: generate code for f in files: # Read from parser cache filename = normalizedFilename(f) ast = ipdl.parse(None, filename, includedirs=includedirs) ipdl.gencxx(filename, ast, headersdir, cppdir) if ast.protocol: allmessages[ast.protocol.name] = ipdl.genmsgenum(ast) allprotocols.append('%sMsgStart' % ast.protocol.name) allprotocols.sort()