[cfe-commits] [PATCH] Introduces DynTypedMatcher as a new concept that replaces the UntypedBaseMatcher and TypedMatcher. Due to DynTypedNode the basic dynamically typed matcher interface can now be simplified.

Sean Silva silvas at purdue.edu
Sat Sep 1 19:50:24 PDT 2012


Wow, this Phabricator email is beautiful. TBH I didn't realize it was
from Phabricator until I saw the link at the bottom.

And I'm really liking the "table of contents" on the left on the Phab page.

Will review on Phabricator :)

--Sean Silva

On Sat, Sep 1, 2012 at 7:27 PM, Manuel Klimek
<reviews at llvm-reviews.chandlerc.com> wrote:
> Hi djasper, mdiamond, silvas,
>
> Also switches the traversal interfaces to use DynTypedNode;
> this is in preperation for the hasAncestor implementation, and
> also allows us to need fewer changes when we want to add new
> nodes to traverse, thus making the code a little more decoupled.
>
> Main design concerns: I went back towards the original design
> of getNodeAs to return a pointer, and switched DynTypedNode::get
> to always return a pointer (in case of value types like QualType
> the pointer points into the storage of DynTypedNode, thus allowing
> us to treat all the nodes the same from the point of view of a
> user of the DynTypedNodes.
>
> Adding the QualType implementation for DynTypedNode was needed
> for the recursive traversal interface changes.
>
> http://llvm-reviews.chandlerc.com/D33
>
> Files:
>   include/clang/ASTMatchers/ASTMatchFinder.h
>   include/clang/ASTMatchers/ASTMatchers.h
>   include/clang/ASTMatchers/ASTMatchersInternal.h
>   include/clang/ASTMatchers/ASTTypeTraits.h
>   lib/ASTMatchers/ASTMatchFinder.cpp
>   unittests/ASTMatchers/ASTMatchersTest.cpp



More information about the cfe-commits mailing list