[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