Set and keep C++ superclasses in config in the correct order
- Dominant language
- C++
- Stars
- 8.6k
- Forks
- 1k
- PR merge metrics
- No merged PRs in 30d
Description
Make sure that if possible, our analyses (debug info, RTTI, ctor/dtor analyses?) find out, set, and keep the correct order of C++ superclasses. E.g. in the following example, `B` should go before `A`:
```cpp
#include
struct A {
virtual void foo() { printf("A::foo"); }
int i;
};
struct B {
virtual void foo() { printf("B::foo"); }
int j;
};
struct C: B, A {
virtual void foo() { printf("C::foo"); }
};
int main() {
C c;
c.foo();
return c.j;
}
```
Contributor guide
No contributing guide indexed for this repository
Research direction
No files or tests are named. Start by tracing the debug-info, RTTI, and constructor/destructor analyses that discover C++ superclass relationships, then reproduce the supplied C++ example. Done means the resulting configuration records and preserves B before A for C whenever the analysis can determine that order.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- reverse-engineering
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100