================
Comment at: include/clang/ASTMatchers/ASTMatchFinder.h:131
@@ -133,1 +130,3 @@
+  std::vector<std::pair<const internal::DynTypedMatcher*, MatchCallback*> >
+    Triggers;
 
----------------
Michael Diamond wrote:
> I would prefer a clearer name, even if it is on the wordy side. Trigger 
> doesn't really fit. Some possibilities:
> MatcherMatchActionPair
> MatcherMatchCallbackPair
> MatcherAndActionPair
Maybe: CallbackForMatcher?

================
Comment at: include/clang/ASTMatchers/ASTTypeTraits.h:86
@@ -71,1 +85,3 @@
+  /// pointers and thus need to be stored by value.
+  llvm::AlignedCharArrayUnion<Decl*, Stmt*, QualType> Storage;
 };
----------------
Michael Diamond wrote:
> I think it would be better to use boost::any here. Then you don't have to 
> explicitly specify all the types. You will still be able to store the 
> QualType by value, but you won't have to worry about it in the declaration of 
> Storage.
LLVM and Boost don't mix ;-).... Boost is quite massive and would create a 
significant burden on clang. The specialized abstractions provided by LLVM are 
quite sufficient for most use cases.

The best data structure would probably by a union, however until we can use 
C++11, unions don't support members with non-trivial constructors. That is why 
we use this helper structure for the time being.

================
Comment at: include/clang/ASTMatchers/ASTTypeTraits.h:92
@@ -77,1 +91,3 @@
+    if (Tag == NT_Decl)
+      return dyn_cast<T>(*reinterpret_cast<Decl*const*>(Storage));
     return NULL;
----------------
Michael Diamond wrote:
> Why the change to reinterpret_cast? It seems a fair bit messier. This would 
> also be cleaner using boost::any.
As said above, no boost in LLVM. However, I agree that we could probably 
continue passing in a void* here, right? Even for the QualType we are passing a 
pointer to the storage inside DynTypedNode, which should work.


http://llvm-reviews.chandlerc.com/D33
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to