hokein accepted this revision.
hokein added a comment.
This revision is now accepted and ready to land.

LGTM with one nit.



================
Comment at: change-namespace/ChangeNamespace.cpp:275
+       (DiffOldNsSplitted.empty() ? "-" : DiffOldNsSplitted.front()))
+          .str();
+  auto IsInMovedNs =
----------------
ioeric wrote:
> hokein wrote:
> > Using an invalid name `-` is not an elegant solution to me. Is it possible 
> > to avoid it? 
> > Maybe we can explicitly specify `IsVisibleInNewNs` using the code like:
> > 
> > ```
> > Optional<ast_matchers::internal::Matcher<NamedDecl>> IsVisibleInNewNs = 
> > IsInMovedNs;
> > if (!DiffOldNsSplitted.empty() )  {
> >   std::string Prefix = ... 
> >   IsVisibleInNewNs = anyOf(*IsVisibleInNewNs, 
> > unless(hasAncestor(namespaceDecl(hasName(Prefix));
> > }
> > ```
> As per offline discussion, this seems to be impossible.
OK, then add a comment explicitly specifying that `"-"` is used as an invalid 
name.

I think the code can be simplified as:

```
std::string Prefix = "-";
if (!DiffOldNsSplitted.empty()) {
  Prefix =  (StringRef(FullOldNs).drop_back(DiffOldNamespace.size()) + 
DiffOldNsSplitted.front()).str();
}
```


https://reviews.llvm.org/D25771



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

Reply via email to