CBMC
class_identifier.h File Reference

Extract class identifier. More...

+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define JAVA_CLASS_IDENTIFIER_FIELD_NAME   "@class_identifier"
 

Functions

exprt get_class_identifier_field (const exprt &this_expr, const struct_tag_typet &suggested_type, const namespacet &ns)
 
void set_class_identifier (struct_exprt &expr, const namespacet &ns, const struct_tag_typet &class_type)
 If expr has its components filled in then sets the @class_identifier member of the struct. More...
 

Detailed Description

Extract class identifier.

Definition in file class_identifier.h.

Macro Definition Documentation

◆ JAVA_CLASS_IDENTIFIER_FIELD_NAME

#define JAVA_CLASS_IDENTIFIER_FIELD_NAME   "@class_identifier"

Definition at line 20 of file class_identifier.h.

Function Documentation

◆ get_class_identifier_field()

exprt get_class_identifier_field ( const exprt this_expr_in,
const struct_tag_typet suggested_type,
const namespacet ns 
)
parameters: Pointer expression of any pointer type, including void*,
and a recommended access type if the pointer is void-typed.
Returns
Member expression to access a class identifier, as above.

Definition at line 57 of file class_identifier.cpp.

◆ set_class_identifier()

void set_class_identifier ( struct_exprt expr,
const namespacet ns,
const struct_tag_typet class_type 
)

If expr has its components filled in then sets the @class_identifier member of the struct.

Remarks
Follows through base class members until it gets to the object type that contains the @class_identifier member
Parameters
exprAn expression that represents a struct
nsThe namespace used to resolve symbol references in the type of the struct
class_typeA symbol whose identifier is the name of the class

Definition at line 83 of file class_identifier.cpp.