def save_pod_file(path: str, cfilename: str, fname: str, cnode: ET.Element) -> None: filename = get_pod_filename(path, cfilename, fname) header = UX.get_xml_header(filename, "pod") header.append(cnode) with open(filename, "w") as fp: fp.write(UX.doc_to_pretty(ET.ElementTree(header)))
def save_xrefs(self, path, fname, fid): xrefroot = UX.get_xml_header("global-xrefs", "global-xrefs") xrefsnode = ET.Element("global-xrefs") xrefroot.append(xrefsnode) cxrefsnode = ET.Element("compinfo-xrefs") vxrefsnode = ET.Element("varinfo-xrefs") xrefsnode.extend([cxrefsnode, vxrefsnode]) if fid in self.ckey2gckey: for ckey in sorted(self.ckey2gckey[fid]): xref = ET.Element("cxref") xref.set("ckey", str(ckey)) xref.set("gckey", str(self.ckey2gckey[fid][ckey])) cxrefsnode.append(xref) if fid in self.vid2gvid: for vid in sorted(self.vid2gvid[fid]): xref = ET.Element("vxref") xref.set("vid", str(vid)) xref.set("gvid", str(self.vid2gvid[fid][vid])) vxrefsnode.append(xref) xreffilename = UF.get_cxreffile_filename(path, fname) xreffile = open(xreffilename, "w") xreffile.write(UX.doc_to_pretty(ET.ElementTree(xrefroot)))
def save_cfile_interface_dictionary(path: str, cfilename: str, xnode: ET.Element) -> None: filename = get_cfile_interface_dictionaryname(path, cfilename) header = UX.get_xml_header(filename, "interfacedictionary") header.append(xnode) with open(filename, "w") as fp: fp.write(UX.doc_to_pretty(ET.ElementTree(header)))
def save_global_xml_contract(path: str, cnode: ET.Element) -> None: filename = os.path.join(path,'globaldefs.xml') root = UX.get_xml_header('codehawk-contract-file','codehawk-contract-file') root.append(cnode) if os.path.isfile(filename): create_backup_file(filename) with open(filename,'w') as fp: fp.write(UX.doc_to_pretty(ET.ElementTree(root)))
def _save_contracts_file_aux(path: str, filename: str, cnode: ET.Element) -> None: filedir = os.path.dirname(filename) if not os.path.isdir(filedir): os.makedirs(filedir) root = UX.get_xml_header('cfile','cfile') root.append(cnode) with open(filename,'w') as fp: fp.write(UX.doc_to_pretty(ET.ElementTree(root)))
def save_user_assumptions(self, userdata, assumptions): path = self.capp.path xroot = UX.get_xml_header("cfile", "cfile") xnode = ET.Element("cfile") xroot.append(xnode) userdata.write_xml(xnode, assumptions) filename = UF.get_cfile_usr_filename(path, self.name) with open(filename, "w") as fp: fp.write(UX.doc_to_pretty(ET.ElementTree(xroot)))
def save_declarations(self): path = self.capp.path xroot = UX.get_xml_header("cfile", "cfile") xnode = ET.Element("cfile") xroot.append(xnode) self.declarations.write_xml(xnode) filename = UF.get_cfile_dictionaryname(path, self.name) with open(filename, "w") as fp: fp.write(UX.doc_to_pretty(ET.ElementTree(xroot)))
def save_global_compinfos(self): path = self.capp.path xroot = UX.get_xml_header('globals', 'globals') xnode = ET.Element('globals') xroot.append(xnode) self.declarations.write_xml(xnode) filename = UF.get_global_definitions_filename(path) with open(filename, 'w') as fp: fp.write(UX.doc_to_pretty(ET.ElementTree(xroot)))
def save_predicate_dictionary(self): path = self.capp.path xroot = UX.get_xml_header('po-dictionary', 'po-dictionary') xnode = ET.Element('po-dictionary') xroot.append(xnode) self.predicatedictionary.write_xml(xnode) filename = UF.get_cfile_predicate_dictionaryname(path, self.name) with open(filename, 'w') as fp: fp.write(UX.doc_to_pretty(ET.ElementTree(xroot)))
def save_interface_dictionary(self): path = self.capp.path xroot = UX.get_xml_header("interface-dictionary", "interface-dictionary") xnode = ET.Element("interface-dictionary") xroot.append(xnode) self.interfacedictionary.write_xml(xnode) filename = UF.get_cfile_interface_dictionaryname(path, self.name) with open(filename, "w") as fp: fp.write(UX.doc_to_pretty(ET.ElementTree(xroot)))
def save_xml_file(self, tgtpath): tgtroot = UX.get_xml_header("target_files", "c-files") cfilesnode = ET.Element("c-files") tgtroot.append(cfilesnode) for name in sorted(self.files): xcfile = ET.Element("c-file") xcfile.set("name", name) xcfile.set("id", str(self.files[name])) cfilesnode.append(xcfile) cfilesnode.set("file-count", str(len(self.files))) tgtfilename = os.path.join(tgtpath, "target_files.xml") with open(tgtfilename, "w") as fp: fp.write(UX.doc_to_pretty(ET.ElementTree(tgtroot)))
def save_xml_file(self, tgtpath): tgtroot = UX.get_xml_header('target_files', 'c-files') cfilesnode = ET.Element('c-files') tgtroot.append(cfilesnode) for name in sorted(self.files): xcfile = ET.Element('c-file') xcfile.set('name', name) xcfile.set('id', str(self.files[name])) cfilesnode.append(xcfile) cfilesnode.set('file-count', str(len(self.files))) tgtfilename = os.path.join(tgtpath, 'target_files.xml') with open(tgtfilename, 'w') as fp: fp.write(UX.doc_to_pretty(ET.ElementTree(tgtroot)))
def save_api(path: str, cfilename: str, fname: str, xnode: ET.Element) -> None: filename = get_api_filename(path,cfilename,fname) header = UX.get_xml_header(filename,'api') header.append(xnode) with open(filename,'w') as fp: fp.write(UX.doc_to_pretty(ET.ElementTree(header)))