Conversation
mattmccutchen-cci
left a comment
There was a problem hiding this comment.
I don't understand what's going on here. Should this PR maybe be a draft? Before review, I'd expect some remark about why this functionality is being added unused and untested.
Co-authored-by: Matt McCutchen (Correct Computation) <[email protected]>
Co-authored-by: Matt McCutchen (Correct Computation) <[email protected]>
| // or None if no variable matching P is found | ||
| Option<std::string> createDuplicate(clang::ASTContext &Context, | ||
| clang::Rewriter &R, ProgramInfo &Info, | ||
| clang::Decl *ToScan, selector P); |
There was a problem hiding this comment.
I am wondering: Why this interface for determining the variable to duplicate? That is, I could imagine just specifying a single Decl and duplicating that. Or I could imagine providing a variable name, and you'd search for the proper decl. Just curious.
There was a problem hiding this comment.
This just seemed like the most general interface in case this becomes useful for other modules down the line. One change could be adding some top level helpers for simpler functionality.
| bool VisitVarDecl(VarDecl *VD) { | ||
| // If the selctor matches execute the duplicate function | ||
| // and store the new name in the optional | ||
| if(P(VD)){ |
There was a problem hiding this comment.
What happens if this is true twice? I imagine you expect it won't be, but is there a reason it couldn't?
There was a problem hiding this comment.
The return false at the bottom should prevent this. It will stop traversing once it hits a positive
mwhicks1
left a comment
There was a problem hiding this comment.
Looks fine, but did leave one comment that might identify a problem.
mattmccutchen-cci
left a comment
There was a problem hiding this comment.
Once again: are we merging this unused and untested??
Co-authored-by: Matt McCutchen (Correct Computation) <[email protected]>
Adds a variable duplication functionality