struct OverriderInfo {
/// Method - The method decl of the overrider.
const CXXMethodDecl *Method;
+
+ /// BaseOffset - the base offset of the overrider.
+ uint64_t BaseOffset;
- OverriderInfo() : Method(0) { }
+ OverriderInfo() : Method(0), BaseOffset(0) { }
};
private:
OverriderInfo& Overrider = OverridersMap[std::make_pair(Base, MD)];
assert(!Overrider.Method && "Overrider should not exist yet!");
+ Overrider.BaseOffset = Base.getBaseOffset();
Overrider.Method = MD;
}
}
}
// Set the new overrider.
+ Overrider.BaseOffset = NewBase.getBaseOffset();
Overrider.Method = NewMD;
// And propagate it further.