[PATCH] D83088: Introduce CfgTraits abstraction

David Blaikie via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 12 12:28:58 PDT 2020


dblaikie added a comment.

In D83088#2213797 <https://reviews.llvm.org/D83088#2213797>, @nhaehnle wrote:

> In D83088#2208611 <https://reviews.llvm.org/D83088#2208611>, @dblaikie wrote:
>
>> This seems like a strange hybrid between a static-polymorphism (with traits) and dynamic polymorphism (with base classes/virtual functions). Could this more readily be just one or the other? (sounds like you're leaning towards dynamic polymorphism)
>
> No, it's very much this way on purpose. The idea is to support the same set of functionality as much as possible in both static **and** dynamic polymorphism.

Could it be implemented statically as a primary interface, with a dynamic wrapper? (eg: a base class, then a derived class template that takes the static CFG type to wrap into the dynamic type) keeping the two concepts more clearly separated?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D83088/new/

https://reviews.llvm.org/D83088



More information about the cfe-commits mailing list