[llvm-dev] Extending the SouceMgr

David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Mon Sep 6 16:50:39 PDT 2021


On Mon, Sep 6, 2021 at 3:59 PM lxsameer via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Hey folks,
> Hope you're doing well.
>
>
> It seems to me that it is not possible to extend the current behavior  of
> `llvm::SourceMgr` (at least I couldn't think of any solution) and it is
> quite C/C++ish ( for lack of a better word).
>
> For my use case, I need to tweak it a little bit and since there is now
> way to do that, I have to write my own which means I'm going to lose the
> ability to use any llvm api that expect a source manager and that's a big
> price to pay.
>
> It seems that the source manger will benefits from a trait like design.
> This way, any front end that need a customized source manager can easily do
> that and the current source manager would be an implementation of that
> trait.
>

I /think/ the C++ terminology that's a closer match for what you're
describing might be a "concept" rather than a "trait"?

But then, if I'm understanding correctly, all the code that currently is
written in terms of the SourceMgr would have to become a template so it can
be used by different implementations of the SourceMgr concept? That, at
first guess, seems unlikely/infeasible?

 - Dave
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210906/56aa4b0f/attachment.html>


More information about the llvm-dev mailing list