Page MenuHomePhabricator

ymandel (Yitzhak Mandelbaum)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 27 2018, 12:45 PM (120 w, 2 d)

Recent Activity

Thu, Jan 14

ymandel committed rG1fabe6e51917: [libTooling] Change `addInclude` to use expansion locs. (authored by ymandel).
[libTooling] Change `addInclude` to use expansion locs.
Thu, Jan 14, 7:14 PM
ymandel closed D93703: [libTooling] Change `addInclude` to use expansion locs..
Thu, Jan 14, 7:13 PM · Restricted Project

Tue, Jan 12

ymandel committed rG922a5b894114: [clang-tidy] Add test for Transformer-based checks with diagnostics. (authored by ymandel).
[clang-tidy] Add test for Transformer-based checks with diagnostics.
Tue, Jan 12, 12:16 PM
ymandel closed D94453: [clang-tidy][NFC] Add test for Transformer-based checks with diagnostics..
Tue, Jan 12, 12:16 PM · Restricted Project, Restricted Project
ymandel added a comment to D94453: [clang-tidy][NFC] Add test for Transformer-based checks with diagnostics..

Reworked, per our discussion. PTAL.

Tue, Jan 12, 10:22 AM · Restricted Project, Restricted Project
ymandel retitled D94453: [clang-tidy][NFC] Add test for Transformer-based checks with diagnostics. from [libTooling] Add function to Transformer for creating a diagnostic-only rule. to [clang-tidy][NFC] Add test for Transformer-based checks with diagnostics..
Tue, Jan 12, 10:22 AM · Restricted Project, Restricted Project
ymandel updated the diff for D94453: [clang-tidy][NFC] Add test for Transformer-based checks with diagnostics..

Discarded API changes, reduced to new clang-tidy lib test.

Tue, Jan 12, 10:20 AM · Restricted Project, Restricted Project

Mon, Jan 11

ymandel requested review of D94453: [clang-tidy][NFC] Add test for Transformer-based checks with diagnostics..
Mon, Jan 11, 2:30 PM · Restricted Project, Restricted Project
ymandel added a comment to D93703: [libTooling] Change `addInclude` to use expansion locs..

Gentle ping...

Mon, Jan 11, 10:54 AM · Restricted Project

Tue, Jan 5

ymandel committed rG675a2973ee77: [libTooling] Add support for smart pointers to relevant Transformer `Stencil`s. (authored by ymandel).
[libTooling] Add support for smart pointers to relevant Transformer `Stencil`s.
Tue, Jan 5, 9:58 AM
ymandel closed D93637: [libTooling] Add support for smart pointers to relevant Transformer `Stencil`s..
Tue, Jan 5, 9:57 AM · Restricted Project
ymandel added a comment to D93637: [libTooling] Add support for smart pointers to relevant Transformer `Stencil`s..

Ah, if it's just an optimization that makes sense. I still think it's worth having a test case to confirm that one of the specially-handled cases works.

Tue, Jan 5, 9:32 AM · Restricted Project
ymandel updated the diff for D93637: [libTooling] Add support for smart pointers to relevant Transformer `Stencil`s..

Added test for unique_ptr specifically.

Tue, Jan 5, 9:28 AM · Restricted Project
ymandel committed rG9eb2284f6039: [clang-tidy] Update uses of deprecated Transformer APIs in… (authored by ymandel).
[clang-tidy] Update uses of deprecated Transformer APIs in…
Tue, Jan 5, 8:50 AM
ymandel closed D93695: [clang-tidy] Update uses of deprecated Transformer APIs in StringFindStrContainsCheck..
Tue, Jan 5, 8:50 AM · Restricted Project
ymandel added a comment to D93637: [libTooling] Add support for smart pointers to relevant Transformer `Stencil`s..

Thanks for the review!

Tue, Jan 5, 7:55 AM · Restricted Project
ymandel updated the diff for D93637: [libTooling] Add support for smart pointers to relevant Transformer `Stencil`s..

added comment known smart pointers.

Tue, Jan 5, 7:53 AM · Restricted Project
ymandel retitled D93637: [libTooling] Add support for smart pointers to relevant Transformer `Stencil`s. from [libTooling] Add support for smart pointers to releveant Transformer `Stencil`s. to [libTooling] Add support for smart pointers to relevant Transformer `Stencil`s..
Tue, Jan 5, 7:45 AM · Restricted Project

Tue, Dec 22

ymandel requested review of D93703: [libTooling] Change `addInclude` to use expansion locs..
Tue, Dec 22, 7:06 AM · Restricted Project
ymandel requested review of D93695: [clang-tidy] Update uses of deprecated Transformer APIs in StringFindStrContainsCheck..
Tue, Dec 22, 6:04 AM · Restricted Project

Mon, Dec 21

ymandel requested review of D93637: [libTooling] Add support for smart pointers to relevant Transformer `Stencil`s..
Mon, Dec 21, 7:58 AM · Restricted Project

Dec 7 2020

ymandel committed rGe6bc4a71e345: [libTooling] Add `describe` combinator for formatting AST nodes for diagnostics. (authored by ymandel).
[libTooling] Add `describe` combinator for formatting AST nodes for diagnostics.
Dec 7 2020, 8:09 AM
ymandel closed D92658: [libTooling] Add `describe` stencil for formatting AST nodes for diagnostics..
Dec 7 2020, 8:08 AM · Restricted Project

Dec 4 2020

ymandel added a comment to D92658: [libTooling] Add `describe` stencil for formatting AST nodes for diagnostics..

thanks!

Dec 4 2020, 11:37 AM · Restricted Project
ymandel retitled D92658: [libTooling] Add `describe` stencil for formatting AST nodes for diagnostics. from [libTooling] Add `nodeAsString` stencil for formatting AST nodes for diagnostics. to [libTooling] Add `describe` stencil for formatting AST nodes for diagnostics..
Dec 4 2020, 11:17 AM · Restricted Project
ymandel updated the diff for D92658: [libTooling] Add `describe` stencil for formatting AST nodes for diagnostics..

updated name, comments and tests.

Dec 4 2020, 11:16 AM · Restricted Project
ymandel retitled D92658: [libTooling] Add `describe` stencil for formatting AST nodes for diagnostics. from [libTooling] Add `formatNode` stencil for formatting AST nodes for diagnostics. to [libTooling] Add `nodeAsString` stencil for formatting AST nodes for diagnostics..
Dec 4 2020, 8:24 AM · Restricted Project
ymandel updated the diff for D92658: [libTooling] Add `describe` stencil for formatting AST nodes for diagnostics..

renamed the combinator

Dec 4 2020, 8:23 AM · Restricted Project
ymandel requested review of D92658: [libTooling] Add `describe` stencil for formatting AST nodes for diagnostics..
Dec 4 2020, 7:25 AM · Restricted Project

Nov 30 2020

ymandel committed rGfdff677a9557: [libTooling] Remove deprecated Clang Transformer declarations (authored by ymandel).
[libTooling] Remove deprecated Clang Transformer declarations
Nov 30 2020, 12:16 PM
ymandel closed D92340: [libTooling][NFC] Remove deprecated Clang Transformer declarations.
Nov 30 2020, 12:16 PM · Restricted Project
ymandel retitled D92340: [libTooling][NFC] Remove deprecated Clang Transformer declarations from [libTooling] Remove deprecated Clang Transformer declarations to [libTooling][NFC] Remove deprecated Clang Transformer declarations.
Nov 30 2020, 12:00 PM · Restricted Project
ymandel requested review of D92340: [libTooling][NFC] Remove deprecated Clang Transformer declarations.
Nov 30 2020, 11:59 AM · Restricted Project
ymandel added inline comments to D89743: Support Attr in DynTypedNode and ASTMatchers..
Nov 30 2020, 11:42 AM · Restricted Project

Nov 20 2020

ymandel committed rG88e62085624e: [libTooling] Update Transformer's `node` combinator to include the trailing… (authored by ymandel).
[libTooling] Update Transformer's `node` combinator to include the trailing…
Nov 20 2020, 10:12 AM
ymandel closed D91872: [libTooling] Update Transformer's `node` combinator to include the trailing semicolon for decls..
Nov 20 2020, 10:12 AM · Restricted Project
ymandel added a comment to D91872: [libTooling] Update Transformer's `node` combinator to include the trailing semicolon for decls..

Drive-by question from the peanut gallery, sorry if this is an ignorant one -- not all declarations have a trailing semicolon; is that handled properly? e.g., int x; has a trailing semicolon but int x, y; only has a trailing semicolon for one of the two declarations. Relatedly, in int f(int x);, the declaration of f has a trailing semicolon, but the declaration of x does not.

Nov 20 2020, 8:55 AM · Restricted Project
ymandel updated the diff for D91872: [libTooling] Update Transformer's `node` combinator to include the trailing semicolon for decls..

Clarified that semicolons are only removed if present. Fixed test.

Nov 20 2020, 8:49 AM · Restricted Project
ymandel updated the summary of D91872: [libTooling] Update Transformer's `node` combinator to include the trailing semicolon for decls..
Nov 20 2020, 8:42 AM · Restricted Project
ymandel requested review of D91872: [libTooling] Update Transformer's `node` combinator to include the trailing semicolon for decls..
Nov 20 2020, 8:29 AM · Restricted Project

Nov 18 2020

ymandel committed rG068da2c749a5: [clang-tidy] Allow `TransformerClangTidyCheck` clients to set the rule directly. (authored by ymandel).
[clang-tidy] Allow `TransformerClangTidyCheck` clients to set the rule directly.
Nov 18 2020, 10:27 AM
ymandel closed D91544: [clang-tidy] Allow `TransformerClangTidyCheck` clients to set the rule directly..
Nov 18 2020, 10:27 AM · Restricted Project
ymandel added a reviewer for D91544: [clang-tidy] Allow `TransformerClangTidyCheck` clients to set the rule directly.: tdl-g.
Nov 18 2020, 7:17 AM · Restricted Project
ymandel added a comment to D91015: [clang-tidy] Extend bugprone-string-constructor-check to std::string_view..

LGTM. I'll leave it to Aaron, though, to accept.

Nov 18 2020, 6:00 AM · Restricted Project

Nov 16 2020

ymandel requested review of D91544: [clang-tidy] Allow `TransformerClangTidyCheck` clients to set the rule directly..
Nov 16 2020, 7:48 AM · Restricted Project

Nov 11 2020

ymandel added inline comments to D91015: [clang-tidy] Extend bugprone-string-constructor-check to std::string_view..
Nov 11 2020, 7:13 AM · Restricted Project

Oct 29 2020

ymandel accepted D82278: Fix traversal over CXXConstructExpr in Syntactic mode.
Oct 29 2020, 9:35 AM · Restricted Project
ymandel added inline comments to D82278: Fix traversal over CXXConstructExpr in Syntactic mode.
Oct 29 2020, 8:27 AM · Restricted Project
ymandel accepted D90392: [clang-tidy] Omit std::make_unique/make_shared for default initialization..
Oct 29 2020, 6:46 AM · Restricted Project, Restricted Project

Oct 22 2020

ymandel committed rG6f8f5cb77efd: [libTooling] Add function to Transformer to create a no-op edit. (authored by ymandel).
[libTooling] Add function to Transformer to create a no-op edit.
Oct 22 2020, 2:32 PM
ymandel closed D89961: [libTooling] Add function to Transformer to create a no-op edit..
Oct 22 2020, 2:32 PM · Restricted Project
ymandel requested review of D89961: [libTooling] Add function to Transformer to create a no-op edit..
Oct 22 2020, 7:07 AM · Restricted Project

Oct 15 2020

ymandel committed rG65cb4fdd69f4: [libTooling] Change `after` range-selector to operate only on source ranges (authored by ymandel).
[libTooling] Change `after` range-selector to operate only on source ranges
Oct 15 2020, 1:59 PM
ymandel closed D89468: [libTooling] Change `after` range-selector to operate only on source ranges.
Oct 15 2020, 1:59 PM · Restricted Project
ymandel added inline comments to D89468: [libTooling] Change `after` range-selector to operate only on source ranges.
Oct 15 2020, 8:33 AM · Restricted Project
ymandel updated the diff for D89468: [libTooling] Change `after` range-selector to operate only on source ranges.

cleaned up test code

Oct 15 2020, 8:30 AM · Restricted Project
ymandel requested review of D89468: [libTooling] Change `after` range-selector to operate only on source ranges.
Oct 15 2020, 7:34 AM · Restricted Project

Oct 8 2020

ymandel abandoned D88275: [ASTMatchers] Add matcher `hasParentIgnoringImplicit`..
Oct 8 2020, 6:37 AM · Restricted Project
ymandel added a comment to D88275: [ASTMatchers] Add matcher `hasParentIgnoringImplicit`..

TL;DR Stephen's fix works; I'll drop this patch.

Oct 8 2020, 6:37 AM · Restricted Project

Oct 7 2020

ymandel added a comment to D88275: [ASTMatchers] Add matcher `hasParentIgnoringImplicit`..

Thank you for your patience while we sort this out. I've pinged @steveire off-list, so hopefully he'll respond with his thoughts. If we don't hear from Stephen in the next week or so, I think we should proceed with your proposed patch to get you unblocked (adding one more "ignore implicit" variant isn't the end of the world, I just want us to be thoughtful about whether we want to add new matchers in this space or to work on the traversal mode instead).

Oct 7 2020, 5:42 AM · Restricted Project

Oct 5 2020

ymandel added a comment to D88275: [ASTMatchers] Add matcher `hasParentIgnoringImplicit`..

I'm not concerned about the basic idea behind the proposed matcher, I'm only worried we're making AST matching more confusing by having two different ways of inconsistently accomplishing the same-ish thing.

Aaron, I appreciate this concern, but I would argue that this matcher isn't making things any worse. We already have the various ignoringImplicit matchers, and this new one simply parallels those, but for parents. So, it is in some sense "completing" an existing API, which together is an alternative to traverse.

I'm not certain I agree with that reasoning because you can extend it to literally any match that may interact with implicit nodes, which is the whole point to the spelled in source traversal mode. I'm not certain it's a good design for us to continue to add one-off ways to ignore implicit nodes.

Oct 5 2020, 7:29 PM · Restricted Project

Sep 30 2020

ymandel added a comment to D88275: [ASTMatchers] Add matcher `hasParentIgnoringImplicit`..

I'm not concerned about the basic idea behind the proposed matcher, I'm only worried we're making AST matching more confusing by having two different ways of inconsistently accomplishing the same-ish thing.

Aaron, I appreciate this concern, but I would argue that this matcher isn't making things any worse. We already have the various ignoringImplicit matchers, and this new one simply parallels those, but for parents. So, it is in some sense "completing" an existing API, which together is an alternative to traverse.

Sep 30 2020, 6:42 AM · Restricted Project

Sep 25 2020

ymandel updated the diff for D88275: [ASTMatchers] Add matcher `hasParentIgnoringImplicit`..

restored changes to unrelated parts of html docs.

Sep 25 2020, 10:47 AM · Restricted Project
ymandel added a comment to D88275: [ASTMatchers] Add matcher `hasParentIgnoringImplicit`..

This seems to be strongly related to the TK_IgnoreUnlessSpelledInSource traversal behavior; is there a reason you can't use that traversal mode with hasParent() (does it behave differently)?

Sep 25 2020, 10:40 AM · Restricted Project
ymandel requested review of D88319: [AST] Delete broken, unused template..
Sep 25 2020, 9:43 AM · Restricted Project
ymandel updated the diff for D88275: [ASTMatchers] Add matcher `hasParentIgnoringImplicit`..

Fixed to use more standard type adaptors. Registration now works.

Sep 25 2020, 9:33 AM · Restricted Project
ymandel updated the diff for D88275: [ASTMatchers] Add matcher `hasParentIgnoringImplicit`..

update dynamic registry and the ast matcher doc.

Sep 25 2020, 7:51 AM · Restricted Project

Sep 24 2020

ymandel requested review of D88275: [ASTMatchers] Add matcher `hasParentIgnoringImplicit`..
Sep 24 2020, 8:04 PM · Restricted Project

Sep 15 2020

ymandel accepted D87527: [ASTMatchers] Fix `hasBody` for the descendants of `FunctionDecl`.

Thanks, this looks great! But, can you also please update https://github.com/llvm/llvm-project/blob/master/clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.cpp#L39, since it depends on the current semantics?

Sep 15 2020, 9:44 AM · Restricted Project

Sep 14 2020

ymandel added a comment to D87527: [ASTMatchers] Fix `hasBody` for the descendants of `FunctionDecl`.

We must decide about the namings. If we want to be in sync with the methods in FunctionDecl, then we keep hasBody() as is, but remove the template specialization, and create a new doesThisDeclarationHaveABody(). However, this involves changing existing checks. The other solution is to fix hasBody() like in this patch, and find a new name for the other behavior, such as e.g. hasBodySomewhere() or something similar.

Sep 14 2020, 7:47 AM · Restricted Project
ymandel added a comment to D87527: [ASTMatchers] Fix `hasBody` for the descendants of `FunctionDecl`.

Can you expand on what is wrong currently for FunctionDecl descendants? Would the new test FindsBodyOfFunctionChildren fail with the current implementation?

Yes, exactly. They return 2 findings instead of 1 because the matcher matches both the forward declaration and the definition. The cause for this is that template specializations do not work for the descendants of the class for which is template specialized. Instead, the generic version is used. Thus for the children of FunctionDecl the original GetBodyMatcher is instantiated which does not check whether doesThisDeclarationHaveABody() but returns a body instead which may be bound to another declaration of the same function in the declaration chain. This is obviously wrong.

Sep 14 2020, 6:10 AM · Restricted Project
ymandel added a comment to D87527: [ASTMatchers] Fix `hasBody` for the descendants of `FunctionDecl`.

Can you expand on what is wrong currently for FunctionDecl descendants? Would the new test FindsBodyOfFunctionChildren fail with the current implementation?

Sep 14 2020, 5:13 AM · Restricted Project

Sep 11 2020

ymandel committed rGa5cefd95cc60: [libTooling] Fix use of `char` in comparison. (authored by ymandel).
[libTooling] Fix use of `char` in comparison.
Sep 11 2020, 5:25 AM
ymandel closed D87409: [libTooling] Fix use of `char` in comparison..
Sep 11 2020, 5:24 AM · Restricted Project

Sep 10 2020

ymandel added a reviewer for D87409: [libTooling] Fix use of `char` in comparison.: gribozavr.
Sep 10 2020, 8:11 AM · Restricted Project

Sep 9 2020

ymandel requested review of D87409: [libTooling] Fix use of `char` in comparison..
Sep 9 2020, 12:14 PM · Restricted Project

Sep 3 2020

ymandel committed rGd4f390313129: [libTooling] Provide overloads of `rewriteDescendants` that operate directly on… (authored by ymandel).
[libTooling] Provide overloads of `rewriteDescendants` that operate directly on…
Sep 3 2020, 7:41 AM
ymandel closed D87031: [libTooling] Provide overloads of `rewriteDescendants` that operate directly on an AST node..
Sep 3 2020, 7:41 AM · Restricted Project

Sep 2 2020

ymandel added a comment to D87031: [libTooling] Provide overloads of `rewriteDescendants` that operate directly on an AST node..

Thanks for the review!

Sep 2 2020, 7:43 PM · Restricted Project
ymandel updated subscribers of D87031: [libTooling] Provide overloads of `rewriteDescendants` that operate directly on an AST node..
Sep 2 2020, 7:41 PM · Restricted Project
ymandel removed reviewers for D87031: [libTooling] Provide overloads of `rewriteDescendants` that operate directly on an AST node.: jdoerfert, jhenderson, nicolasvasilache, rriddle, DavidTruby, aartbik, Restricted Project.
Sep 2 2020, 7:39 PM · Restricted Project
ymandel updated the diff for D87031: [libTooling] Provide overloads of `rewriteDescendants` that operate directly on an AST node..

fix diff base; make small clang-tidy suggested change

Sep 2 2020, 7:36 PM · Restricted Project
ymandel updated the diff for D87031: [libTooling] Provide overloads of `rewriteDescendants` that operate directly on an AST node..

Moved new rewriteDescendants overloads to detail namespace

Sep 2 2020, 7:34 PM · Restricted Project
ymandel committed rG6f0a3711bc15: [libTooling] Restore defaults for matchers in makeRule. (authored by ymandel).
[libTooling] Restore defaults for matchers in makeRule.
Sep 2 2020, 12:37 PM
ymandel closed D87048: [libTooling] Restore defaults for matchers in makeRule..
Sep 2 2020, 12:37 PM · Restricted Project
ymandel requested review of D87048: [libTooling] Restore defaults for matchers in makeRule..
Sep 2 2020, 11:48 AM · Restricted Project
ymandel requested review of D87031: [libTooling] Provide overloads of `rewriteDescendants` that operate directly on an AST node..
Sep 2 2020, 7:44 AM · Restricted Project

Aug 11 2020

ymandel committed rGd8c1f43dcc94: [libTooling] Move RewriteRule include edits to ASTEdit granularity. (authored by ymandel).
[libTooling] Move RewriteRule include edits to ASTEdit granularity.
Aug 11 2020, 9:48 AM
ymandel closed D85734: [libTooling] Move RewriteRule include edits to ASTEdit granularity..
Aug 11 2020, 9:48 AM · Restricted Project
ymandel committed rG645dd1b3bf8d: [libTooling] Cleanup and reorder `RewriteRule.h`. (authored by ymandel).
[libTooling] Cleanup and reorder `RewriteRule.h`.
Aug 11 2020, 9:36 AM
ymandel closed D85733: [libTooling] Cleanup and reorder `RewriteRule.h`..
Aug 11 2020, 9:36 AM · Restricted Project
ymandel updated the diff for D85734: [libTooling] Move RewriteRule include edits to ASTEdit granularity..

reword comment per suggestion.

Aug 11 2020, 9:35 AM · Restricted Project
ymandel updated the diff for D85733: [libTooling] Cleanup and reorder `RewriteRule.h`..

fixed typo

Aug 11 2020, 9:25 AM · Restricted Project
ymandel updated the diff for D85734: [libTooling] Move RewriteRule include edits to ASTEdit granularity..

fixed typo

Aug 11 2020, 9:20 AM · Restricted Project
ymandel updated the diff for D85734: [libTooling] Move RewriteRule include edits to ASTEdit granularity..

Updated clang-tidy transformer interpreter correspondingly.

Aug 11 2020, 9:18 AM · Restricted Project
ymandel updated the diff for D85734: [libTooling] Move RewriteRule include edits to ASTEdit granularity..

tweak

Aug 11 2020, 7:42 AM · Restricted Project
ymandel requested review of D85734: [libTooling] Move RewriteRule include edits to ASTEdit granularity..
Aug 11 2020, 7:40 AM · Restricted Project
ymandel updated the diff for D85733: [libTooling] Cleanup and reorder `RewriteRule.h`..

fix typo

Aug 11 2020, 7:32 AM · Restricted Project
ymandel requested review of D85733: [libTooling] Cleanup and reorder `RewriteRule.h`..
Aug 11 2020, 7:25 AM · Restricted Project

Jul 28 2020

ymandel committed rG04a21318b557: [libTooling] Add a `between` range-selector combinator. (authored by ymandel).
[libTooling] Add a `between` range-selector combinator.
Jul 28 2020, 10:26 AM