xazax.hun added inline comments.

================
Comment at: clang-tidy/misc/VirtualNearMissCheck.cpp:240
@@ -247,2 +239,3 @@
         unsigned EditDistance =
-            BaseMD->getName().edit_distance(DerivedMD->getName());
+            StringRef(BaseMD->getNameAsString())
+                .edit_distance(DerivedMD->getNameAsString());
----------------
alexfh wrote:
> xazax.hun wrote:
> > congliu wrote:
> > > NamedDecl::getName() directly returns a StringRef. Why using 
> > > "getNameAsString()"? 
> > Unfortunately getName will cause an assertion fail for methods that has a 
> > non-identifier name, such as destructors and overloaded operators.
> Should we maybe exclude operators and destructors from this check? A typo in 
> destructor name won't compile. Do you have an example of a case where the 
> check could be useful in detecting a typo in the name of an overloaded 
> operator?
> 
> It would be nice to avoid using the (more expensive) `getNameAsString` here. 
Destructors can not be mispelled. Overloaded operators however might be 
virtual, and the user might forget the qualifier and miss the override. 
Although that might be a very rare case. Do you think it is worth to exclude 
that case for performance? Operators might be problematic anyways, the edit 
distance tend to be low there. 


http://reviews.llvm.org/D16179



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to