Public Member Functions |
void | compute_recursive_fields () |
| SHARED_DEFINE_MAKE_METHOD (record_type,(string name, namespace_context ctx, int size, int asize, bool is_union, bool is_class, const vector< record_info * > &elems, const string &typedef_name, bool is_abstract),(name, ctx, size, asize, is_union, is_class, elems, typedef_name, is_abstract)) virtual bool operator |
void | add_member_function (function_declaration *fd) |
vector< function_declaration * > & | get_member_functions () |
void | update_incomplete_record (int size, int asize, const vector< record_info * > &elems, bool is_abstract) |
void | add_base (record_type *base, long int offset) |
const map< int, record_type * > & | get_bases () |
void | add_derivative (record_type *sub) |
vector< record_type * > & | get_derivatives () |
void | get_transitive_subclasses (set< record_type * > &subclasses) |
type ** | get_typeref_from_index (int i) |
bool | is_recursive () |
vector< record_info * > & | get_recursive_fields () |
bool | has_virtual_methods () |
bool | is_abstract () |
void | get_all_methods (set< function_declaration * > &all_methods) |
| Populates all_methods with all methods this class has, including the ones it inherits. Example: Consider C inherits from B inherits from A, and a method f defined in A and B, but not C. Then all_methods includes B::f, but not A::f.
|
virtual string | to_string () const |
virtual bool | is_record_type () const |
bool | is_supertype_of (il::record_type *t) |
bool | is_subtype_of (il::record_type *t) |
void | get_classes_inheriting_method (string fun_name, il::type *signature, set< il::record_type * > &inheriting_classes) |
| Given a method identified by fun_name and its signature, populates the set of classes that inherit (i.e., do not override this method).
|
bool | contains_method (string fun_name, type *sig) |
vector< record_info * > & | get_fields () |
record_info * | get_field_from_name (string name) |
record_info * | get_field_from_offset (int offset) |
bool | is_struct () |
bool | is_class () |
bool | is_union () |
Public Attributes |
vector< record_info * > | elems |
map< string, record_info * > | name_to_record_info |
map< int, record_info * > | offset_to_elem |
vector< function_declaration * > | member_functions |
map< int, record_type * > | bases |
vector< record_type * > | derivatives |
string | name |
namespace_context | ns |
record_kind | kind |
vector< record_info * > | recursive_fields |
bool | compare_all_fields |
bool | abstract |
Friends |
class | boost::serialization::access |
Struct, class, union.