EntryPoints-EntriesByVirtualExternalΒΆ

Consider virtual functions from outside of the project as called entry points

Required inputs: IR

This rule identifies additional entry points being virtual functions defined outside of the project.

For the context of this rule, "outside of the project" means being represented by an absolute file path, whereas everything "inside the project" should be represented by a relative path. This is established by the fact that /Project/directory (or CAFECC_BASEPATH during compilation outside of axivion_ci) ensure project paths to be relative while all other paths are absolute.

Assume library code like from a library header:

class LibraryBase
{
    virtual void handle(void);
};
And application code as follows:
class MyClass : public LibraryBase
{
    void handle(void) override { /* my implementation */ }
};
If LibraryBase::handle() is only ever called from library code that has not been analyzed by the Axivion compiler, then also MyClass::handle() will be assumed to be dead - even though it is not - unless you enable this rule.

Possible Messages

This rule has no predefined messages.

Options

  • The following places define options that affect this rule: Analysis-GlobalOptions

  • This rule has no individual options.