#include <resolve_inherited_component.h>
◆ resolve_inherited_componentt()
resolve_inherited_componentt::resolve_inherited_componentt |
( |
const symbol_table_baset & |
symbol_table | ) |
|
|
explicit |
See the operator() method comment.
- Parameters
-
symbol_table | The symbol table to resolve the component against |
Definition at line 17 of file resolve_inherited_component.cpp.
◆ build_full_component_identifier()
irep_idt resolve_inherited_componentt::build_full_component_identifier |
( |
const irep_idt & |
class_name, |
|
|
const irep_idt & |
component_name |
|
) |
| |
|
static |
Build a component name as found in a GOTO symbol table equivalent to the name of a concrete component component_name on class class_name.
- Parameters
-
component_name | The name of the component |
class_name | The class the implementation would be found on. |
- Returns
- A name for looking up in the symbol table for classes
class_name
's component component_name
Definition at line 94 of file resolve_inherited_component.cpp.
◆ operator()()
Given a class and a component, identify the concrete field or method it is resolved to.
For example, a reference Child.abc refers to Child's method or field if it exists, or else Parent.abc, and so on regarding Parent's ancestors. If none are found, an empty string will be returned.
- Parameters
-
class_id | The name of the class the function is being called on |
component_name | The base name of the component (i.e. without the class specifier) |
include_interfaces | If true, consider inheritance from interfaces (parent types other than the first listed) |
user_filter | Predicate that should return true for symbols that can be returned. Those for which it returns false will be ignored. |
- Returns
- The concrete component that has been resolved
Definition at line 36 of file resolve_inherited_component.cpp.
◆ symbol_table
The documentation for this class was generated from the following files: