def __init__(self, fdecls): self.fdecls = fdecls self.cfun = self.fdecls.cfun self.cfile = self.cfun.cfile self.xd = CFunXprDictionary(self) self.memory_base_table = IT.IndexedTable("memory-base-table") self.memory_reference_data_table = IT.IndexedTable( "memory-reference-data-table" ) self.constant_value_variable_table = IT.IndexedTable( "constant-value-variable-table" ) self.c_variable_denotation_table = IT.IndexedTable( "c-variable-denotation-table" ) self.tables = [ (self.memory_base_table, self._read_xml_memory_base_table), ( self.memory_reference_data_table, self._read_xml_memory_reference_data_table, ), ( self.constant_value_variable_table, self._read_xml_constant_value_variable_table, ), ( self.c_variable_denotation_table, self._read_xml_c_variable_denotation_table, ), ]
def __init__(self, cfile): self.cfile = cfile self.nodetable = IT.IndexedTable('nodes') self.cfgtable = IT.IndexedTable('cfg-contexts') self.exptable = IT.IndexedTable('exp-contexts') self.contexttable = IT.IndexedTable('contexts') self.tables = [(self.nodetable, self._read_xml_node_table), (self.cfgtable, self._read_xml_cfg_table), (self.exptable, self._read_xml_exp_table), (self.contexttable, self._read_xml_context_table)] self.initialize()
def __init__(self, cfile): self.cfile = cfile self.declarations = self.cfile.declarations self.dictionary = self.declarations.dictionary self.assignment_table = IT.IndexedTable("assignment-table") self.function_name_table = IT.IndexedTable("function-name-table") self.tables = [ (self.function_name_table, self._read_xml_function_name_table), (self.assignment_table, self._read_xml_assignment_table), ] self.initialize()
def __init__(self, cfun): self.cfun = cfun self.pd = self.cfun.cfile.predicatedictionary self.assumption_type_table = IT.IndexedTable('assumption-table') self.ppo_type_table = IT.IndexedTable('ppo-type-table') self.spo_type_table = IT.IndexedTable('spo-type-table') self.tables = [(self.assumption_type_table, self._read_xml_assumption_type_table), (self.ppo_type_table, self._read_xml_ppo_type_table), (self.spo_type_table, self._read_xml_spo_type_table)] self.initialize()
def __init__(self, capp: "CApplication") -> None: # Basic types dictionary CDeclarations.__init__(self, CGlobalDictionary(self)) self.capp = capp # Global definitions and declarations dictionary self.fieldinfo_table: IndexedTable[CFieldInfo] = IndexedTable( "fieldinfo-table") self.compinfo_table: IndexedTable[CCompInfo] = IndexedTable( "compinfo-table") self.varinfo_table: IndexedTable[CVarInfo] = IT.IndexedTable( "varinfo-table") self.initinfo_table: IndexedTable[CInitInfoBase] = IT.IndexedTable( "initinfo-table") self.offset_init_table: IndexedTable[ COffsetInitInfo] = IT.IndexedTable("offset-init-table") self.tables: List[Tuple[IndexedTableSuperclass, Callable[[ET.Element], None]]] = [ (self.fieldinfo_table, self._read_xml_fieldinfo_table), (self.compinfo_table, self._read_xml_compinfo_table), (self.initinfo_table, self._read_xml_initinfo_table), (self.varinfo_table, self._read_xml_varinfo_table), (self.offset_init_table, self._read_xml_offset_init_table), ] # Collect names for compinfo equivalence classes self.compinfo_names: Dict[Any, Any] = {} # gckey -> string set # Collect storage classes for varinfo equivalence classes self.varinfo_storage_classes: Dict[Any, Any] = {} # gvid -> string # Support data structures for linker self.ckey2gckey: Dict[Any, Any] = {} # fid -> ckey -> gckey self.vid2gvid: Dict[Any, Any] = {} # fid -> vid -> gvid self.fieldstrings: Dict[Any, Any] = { } # string of joined fields -> gckey list self.pending: List[Any] = [] self.conjectured: Dict[Any, Any] = {} # ckey -> gckey self.reserved: Dict[Any, Any] = {} # ckey -> gckey self.incompatibles: Dict[Any, Any] = {} # ckey -> gckey set self.default_function_prototypes: List[Any] = [] # (fid,varinfo) list self.globalcontract = self.capp.globalcontract self._initialize() if self.compinfo_table.size() == 0: self.index_opaque_struct()
def __init__(self, vard): self.vard = vard self.cfun = self.vard.cfun self.xd = self.vard.xd self.non_relational_value_table = IT.IndexedTable( 'non-relational-value-table') self.invariant_fact_table = IT.IndexedTable('invariant-fact-table') self.invariant_list_table = IT.IndexedTable('invariant-list-table') self.tables = [(self.non_relational_value_table, self._read_xml_non_relational_value_table), (self.invariant_fact_table, self._read_xml_invariant_fact_table)] self.initialize()
def __init__(self, cfile: "CFile"): self.cfile = cfile self.nodetable: IT.IndexedTable[CContextNode] = IT.IndexedTable("nodes") self.cfgtable: IT.IndexedTable[CfgContext] = IT.IndexedTable("cfg-contexts") self.exptable: IT.IndexedTable[ExpContext] = IT.IndexedTable("exp-contexts") self.contexttable: IT.IndexedTable[CProgramContext] = IT.IndexedTable("contexts") self.tables: List[Tuple[IT.IndexedTableSuperclass, Callable[[ET.Element], None]]] = [ (self.nodetable, self._read_xml_node_table), (self.cfgtable, self._read_xml_cfg_table), (self.exptable, self._read_xml_exp_table), (self.contexttable, self._read_xml_context_table), ] self.initialize()
def __init__(self, cfile: "CFile") -> None: self.cfile = cfile CDeclarations.__init__(self, CFileDictionary(self)) self.cfile = cfile # Basic types dictionary # File definitions and declarations self.gtypes: Dict[Any, Any] = {} # name -> CGType self.gcomptagdefs: Dict[Any, Any] = {} # key -> CGCompTag self.gcomptagdecls: Dict[Any, Any] = {} # key -> CGCompTag self.gvardefs: Dict[int, CGVarDef] = {} # vid -> CGVarDef self.gvardecls: Dict[int, CGVarDecl] = {} # vid -> CGVarDecl self.genumtagdefs: Dict[Any, Any] = {} # ename -> CGEnumTag self.genumtagdecls: Dict[Any, Any] = {} # ename -> CGEnumTag self.gfunctions: Dict[int, CGFunction] = {} # vid -> CGFunction # File definition dictionary self.initinfo_table: IT.IndexedTable[ CI.CInitInfoBase] = IT.IndexedTable("initinfo-table") self.offset_init_table: IT.IndexedTable[ CI.COffsetInitInfo] = IT.IndexedTable("offset-init-table") self.typeinfo_table: IT.IndexedTable[CTypeInfo] = IT.IndexedTable( "typeinfo-table") self.varinfo_table: IT.IndexedTable[CVarInfo] = IT.IndexedTable( "varinfo-table") self.fieldinfo_table: IT.IndexedTable[CFieldInfo] = IT.IndexedTable( "fieldinfo-table") self.compinfo_table: IT.IndexedTable[CCompInfo] = IT.IndexedTable( "compinfo-table") self.enumitem_table: IT.IndexedTable[CEnumItem] = IT.IndexedTable( "enumitem-table") self.enuminfo_table: IT.IndexedTable[CEnumInfo] = IT.IndexedTable( "enuminfo-table") self.location_table: IT.IndexedTable[CLocation] = IT.IndexedTable( "location-table") self.filename_table = SI.StringIndexedTable("filename-table") self.dictionary_tables: List[Tuple[IT.IndexedTableSuperclass, Callable[ [ET.Element], None]]] = [ (self.location_table, self._read_xml_location_table), (self.initinfo_table, self._read_xml_initinfo_table), (self.offset_init_table, self._read_xml_offset_init_table), (self.typeinfo_table, self._read_xml_typeinfo_table), (self.varinfo_table, self._read_xml_varinfo_table), (self.fieldinfo_table, self._read_xml_fieldinfo_table), (self.compinfo_table, self._read_xml_compinfo_table), (self.enumitem_table, self._read_xml_enumitem_table), (self.enuminfo_table, self._read_xml_enuminfo_table), ] self.string_tables: List[Tuple[IT.IndexedTableSuperclass, Callable[[ET.Element], None]]] = [ (self.filename_table, self._read_xml_filename_table) ] self.initialize()
def __init__(self, cfile): self.cfile = cfile self.dictionary = self.cfile.declarations.dictionary self.po_predicate_table = IT.IndexedTable('po-predicate-table') self.tables = [(self.po_predicate_table, self._read_xml_po_predicate_table)] self.initialize()
def __init__(self,cfun,xnode): self.cfun = cfun self.varinfos = {} # vid -> CVarInfo self.dictionary = cfun.cfile.declarations.dictionary self.local_varinfo_table = IT.IndexedTable('local-varinfo-table') self.tables = [ (self.local_varinfo_table,self._read_xml_local_varinfo_table) ] self.initialize(xnode)
def __init__(self, capp): self.capp = capp # Basic types dictionary self.dictionary = CGlobalDictionary(self) # Global definitions and declarations dictionary self.fieldinfo_table = IT.IndexedTable('fieldinfo-table') self.compinfo_table = IT.IndexedTable('compinfo-table') self.varinfo_table = IT.IndexedTable('varinfo-table') self.initinfo_table = IT.IndexedTable('initinfo-table') self.offset_init_table = IT.IndexedTable('offset-init-table') self.tables = [(self.fieldinfo_table, self._read_xml_fieldinfo_table), (self.compinfo_table, self._read_xml_compinfo_table), (self.initinfo_table, self._read_xml_initinfo_table), (self.varinfo_table, self._read_xml_varinfo_table), (self.offset_init_table, self._read_xml_offset_init_table)] # Collect names for compinfo equivalence classes self.compinfo_names = {} # gckey -> string set # Collect storage classes for varinfo equivalence classes self.varinfo_storage_classes = {} # gvid -> string # Support data structures for linker self.ckey2gckey = {} # fid -> ckey -> gckey self.vid2gvid = {} # fid -> vid -> gvid self.fieldstrings = {} # string of joined fields -> gckey list self.pending = [] self.conjectured = {} # ckey -> gckey self.reserved = {} # ckey -> gckey self.incompatibles = {} # ckey -> gckey set self.default_function_prototypes = [] # (fid,varinfo) list self.globalcontract = self.capp.globalcontract self._initialize() if self.compinfo_table.size() == 0: self.index_opaque_struct()
def __init__(self,cfile): self.cfile = cfile # Basic types dictionary self.dictionary = CFileDictionary(self) # File definitions and declarations self.gtypes = {} # name -> CGType self.gcomptagdefs = {} # key -> CGCompTag self.gcomptagdecls = {} # key -> CGCompTag self.gvardefs = {} # vid -> CGVarDef self.gvardecls = {} # vid -> CGVarDecl self.genumtagdefs = {} # ename -> CGEnumTag self.genumtagdecls = {} # ename -> CGEnumTag self.gfunctions = {} # vid -> CGFunction # File definition dictionary self.initinfo_table = IT.IndexedTable('initinfo-table') self.offset_init_table = IT.IndexedTable('offset-init-table') self.typeinfo_table = IT.IndexedTable('typeinfo-table') self.varinfo_table = IT.IndexedTable('varinfo-table') self.fieldinfo_table = IT.IndexedTable('fieldinfo-table') self.compinfo_table = IT.IndexedTable('compinfo-table') self.enumitem_table = IT.IndexedTable('enumitem-table') self.enuminfo_table = IT.IndexedTable('enuminfo-table') self.location_table = IT.IndexedTable('location-table') self.filename_table = SI.StringIndexedTable('filename-table') self.dictionary_tables = [ (self.location_table,self._read_xml_location_table), (self.initinfo_table,self._read_xml_initinfo_table), (self.offset_init_table,self._read_xml_offset_init_table), (self.typeinfo_table,self._read_xml_typeinfo_table), (self.varinfo_table,self._read_xml_varinfo_table), (self.fieldinfo_table,self._read_xml_fieldinfo_table), (self.compinfo_table,self._read_xml_compinfo_table), (self.enumitem_table,self._read_xml_enumitem_table), (self.enuminfo_table,self._read_xml_enuminfo_table) ] self.string_tables = [ (self.filename_table,self._read_xml_filename_table) ] self.initialize()
def __init__(self, vd): self.vd = vd self.numerical_table = IT.IndexedTable('numerical-table') self.symbol_table = IT.IndexedTable('symbol-table') self.variable_table = IT.IndexedTable('variable-table') self.xcst_table = IT.IndexedTable('xcst-table') self.xpr_table = IT.IndexedTable('xpr-table') self.xpr_list_table = IT.IndexedTable('xpr-list-table') self.xpr_list_list_table = IT.IndexedTable('xpr-list-list-table') self.tables = [(self.numerical_table, self._read_xml_numerical_table), (self.symbol_table, self._read_xml_symbol_table), (self.variable_table, self._read_xml_variable_table), (self.xcst_table, self._read_xml_xcst_table), (self.xpr_table, self._read_xml_xpr_table), (self.xpr_list_table, self._read_xml_xpr_list_table), (self.xpr_list_list_table, self._read_xml_xpr_list_list_table)]
def __init__(self, cfile): self.cfile = cfile self.declarations = self.cfile.declarations self.dictionary = self.declarations.dictionary self.api_parameter_table = IT.IndexedTable('api-parameter-table') self.s_offset_table = IT.IndexedTable('s-offset-table') self.s_term_table = IT.IndexedTable('s-term-table') self.xpredicate_table = IT.IndexedTable('xpredicate-table') self.postrequest_table = IT.IndexedTable('postrequest-table') self.postassume_table = IT.IndexedTable('postassume-table') self.ds_condition_table = IT.IndexedTable('ds-condition-table') self.tables = [ (self.api_parameter_table, self._read_xml_api_parameter_table), (self.s_offset_table, self._read_xml_s_offset_table), (self.s_term_table, self._read_xml_s_term_table), (self.xpredicate_table, self._read_xml_xpredicate_table), (self.postrequest_table, self._read_xml_postrequest_table), (self.postassume_table, self._read_xml_postassume_table), (self.ds_condition_table, self._read_xml_ds_condition_table) ] self.initialize()
def __init__(self): self.attrparam_table = IT.IndexedTable('attrparam-table') self.attribute_table = IT.IndexedTable('attribute-table') self.attributes_table = IT.IndexedTable('attributes-table') self.constant_table = IT.IndexedTable('constant-table') self.exp_table = IT.IndexedTable('exp-table') self.funarg_table = IT.IndexedTable('funarg-table') self.funargs_table = IT.IndexedTable('funargs-table') self.lhost_table = IT.IndexedTable('lhost-table') self.lval_table = IT.IndexedTable('lval-table') self.offset_table = IT.IndexedTable('offset-table') self.typ_table = IT.IndexedTable('typ-table') self.typsig_table = IT.IndexedTable('typsig-table') self.typsiglist_table = IT.IndexedTable('typsiglist-table') self.string_table = SI.StringIndexedTable ('string-table') self.tables = [ (self.attrparam_table,self._read_xml_attrparam_table), (self.attribute_table,self._read_xml_attribute_table), (self.attributes_table,self._read_xml_attributes_table), (self.constant_table,self._read_xml_constant_table), (self.exp_table,self._read_xml_exp_table), (self.funarg_table,self._read_xml_funarg_table), (self.funargs_table,self._read_xml_funargs_table), (self.lhost_table,self._read_xml_lhost_table), (self.lval_table,self._read_xml_lval_table), (self.offset_table,self._read_xml_offset_table), (self.typ_table,self._read_xml_typ_table), (self.typsig_table,self._read_xml_typsig_table), (self.typsiglist_table,self._read_xml_typsiglist_table), ] self.string_tables = [ (self.string_table, self._read_xml_string_table) ]