Page MenuHomePhabricator

ymandel (Yitzhak Mandelbaum)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 27 2018, 12:45 PM (51 w, 3 d)

Recent Activity

Fri, Sep 20

ymandel updated the diff for D67632: [libTooling] Introduce new library of source-code builders..

converted builders to return optional

Fri, Sep 20, 1:25 PM · Restricted Project
ymandel committed rGeff88e42f786: [libTooling] Add `ifBound`, `elseBranch` RangeSelector combinators. (authored by ymandel).
[libTooling] Add `ifBound`, `elseBranch` RangeSelector combinators.
Fri, Sep 20, 10:14 AM
ymandel committed rL372410: [libTooling] Add `ifBound`, `elseBranch` RangeSelector combinators..
[libTooling] Add `ifBound`, `elseBranch` RangeSelector combinators.
Fri, Sep 20, 10:09 AM
ymandel closed D67621: [libTooling] Add `ifBound`, `elseBranch` RangeSelector combinators..
Fri, Sep 20, 10:09 AM · Restricted Project, Restricted Project
ymandel updated the diff for D67621: [libTooling] Add `ifBound`, `elseBranch` RangeSelector combinators..

reordered tests to match as well.

Fri, Sep 20, 9:46 AM · Restricted Project, Restricted Project
ymandel added inline comments to D67621: [libTooling] Add `ifBound`, `elseBranch` RangeSelector combinators..
Fri, Sep 20, 9:36 AM · Restricted Project, Restricted Project
ymandel updated the diff for D67621: [libTooling] Add `ifBound`, `elseBranch` RangeSelector combinators..

reordered decls

Fri, Sep 20, 9:36 AM · Restricted Project, Restricted Project
ymandel updated the diff for D67632: [libTooling] Introduce new library of source-code builders..

address comments and some general cleanup

Fri, Sep 20, 8:33 AM · Restricted Project
ymandel added a comment to D67632: [libTooling] Introduce new library of source-code builders..

Thanks for the review! Agreed on all points and then some -- next revision will have a bunch of cleanups. I think the only major issue is the return type. See below.

Fri, Sep 20, 6:35 AM · Restricted Project

Thu, Sep 19

ymandel updated the diff for D67632: [libTooling] Introduce new library of source-code builders..

Added parens operator; cleaned comments and api a bit.

Thu, Sep 19, 1:05 PM · Restricted Project
ymandel committed rG57990b4be0aa: [clang-tidy] Fix bugprone-argument-comment-check to correctly ignore implicit… (authored by ymandel).
[clang-tidy] Fix bugprone-argument-comment-check to correctly ignore implicit…
Thu, Sep 19, 6:13 AM
ymandel committed rL372317: [clang-tidy] Fix bugprone-argument-comment-check to correctly ignore implicit….
[clang-tidy] Fix bugprone-argument-comment-check to correctly ignore implicit…
Thu, Sep 19, 6:13 AM
ymandel closed D67744: [clang-tidy] Fix bugprone-argument-comment-check to correctly ignore implicit constructors..
Thu, Sep 19, 6:13 AM · Restricted Project, Restricted Project

Wed, Sep 18

ymandel created D67744: [clang-tidy] Fix bugprone-argument-comment-check to correctly ignore implicit constructors..
Wed, Sep 18, 7:31 PM · Restricted Project, Restricted Project

Tue, Sep 17

ymandel committed rG45b6ca5cd604: [clang-format] Fix cleanup of `AnnotatedLine` to include children nodes. (authored by ymandel).
[clang-format] Fix cleanup of `AnnotatedLine` to include children nodes.
Tue, Sep 17, 8:10 AM
ymandel committed rL372129: [clang-format] Fix cleanup of `AnnotatedLine` to include children nodes..
[clang-format] Fix cleanup of `AnnotatedLine` to include children nodes.
Tue, Sep 17, 8:10 AM
ymandel closed D67659: [clang-format] Fix cleanup of `AnnotatedLine` to include children nodes..
Tue, Sep 17, 8:10 AM · Restricted Project, Restricted Project
ymandel updated the diff for D67659: [clang-format] Fix cleanup of `AnnotatedLine` to include children nodes..

Fixed auto use.

Tue, Sep 17, 8:01 AM · Restricted Project, Restricted Project
ymandel added inline comments to D67659: [clang-format] Fix cleanup of `AnnotatedLine` to include children nodes..
Tue, Sep 17, 8:01 AM · Restricted Project, Restricted Project
ymandel created D67659: [clang-format] Fix cleanup of `AnnotatedLine` to include children nodes..
Tue, Sep 17, 7:19 AM · Restricted Project, Restricted Project
ymandel added inline comments to D67632: [libTooling] Introduce new library of source-code builders..
Tue, Sep 17, 5:42 AM · Restricted Project
ymandel updated the diff for D67632: [libTooling] Introduce new library of source-code builders..

ran clang-format

Tue, Sep 17, 5:37 AM · Restricted Project

Mon, Sep 16

ymandel added a parent revision for D67633: [libTooling] Add `access` and `ifBound` combinators to Stencil library.: D67632: [libTooling] Introduce new library of source-code builders..
Mon, Sep 16, 2:04 PM · Restricted Project
ymandel added a child revision for D67632: [libTooling] Introduce new library of source-code builders.: D67633: [libTooling] Add `access` and `ifBound` combinators to Stencil library..
Mon, Sep 16, 2:04 PM · Restricted Project
ymandel created D67633: [libTooling] Add `access` and `ifBound` combinators to Stencil library..
Mon, Sep 16, 2:04 PM · Restricted Project
ymandel created D67632: [libTooling] Introduce new library of source-code builders..
Mon, Sep 16, 1:57 PM · Restricted Project
ymandel created D67621: [libTooling] Add `ifBound`, `elseBranch` RangeSelector combinators..
Mon, Sep 16, 7:43 AM · Restricted Project, Restricted Project

Mon, Sep 9

ymandel committed rGf9ce864558ab: [clang-tidy] Fix bug in bugprone-use-after-move check (authored by ymandel).
[clang-tidy] Fix bug in bugprone-use-after-move check
Mon, Sep 9, 5:59 AM
ymandel added inline comments to D67292: [clang-tidy] Fix bug in bugprone-use-after-move check.
Mon, Sep 9, 5:58 AM · Restricted Project, Restricted Project
ymandel committed rL371396: [clang-tidy] Fix bug in bugprone-use-after-move check.
[clang-tidy] Fix bug in bugprone-use-after-move check
Mon, Sep 9, 5:57 AM
ymandel closed D67292: [clang-tidy] Fix bug in bugprone-use-after-move check.
Mon, Sep 9, 5:57 AM · Restricted Project, Restricted Project

Fri, Sep 6

ymandel added inline comments to D67292: [clang-tidy] Fix bug in bugprone-use-after-move check.
Fri, Sep 6, 12:10 PM · Restricted Project, Restricted Project
ymandel updated the diff for D67292: [clang-tidy] Fix bug in bugprone-use-after-move check.

Added tests.

Fri, Sep 6, 12:06 PM · Restricted Project, Restricted Project
ymandel updated the summary of D67292: [clang-tidy] Fix bug in bugprone-use-after-move check.
Fri, Sep 6, 11:03 AM · Restricted Project, Restricted Project
ymandel created D67292: [clang-tidy] Fix bug in bugprone-use-after-move check.
Fri, Sep 6, 10:51 AM · Restricted Project, Restricted Project

Tue, Aug 27

ymandel added a comment to D66652: [libTooling] Transformer: refine `SourceLocation` specified as anchor of changes..

I'm having second thoughts about this -- I prefer the approach I ended up taking in https://reviews.llvm.org/D66676, which is subtly different.

Tue, Aug 27, 9:32 AM · Restricted Project

Mon, Aug 26

ymandel committed rL369915: [clang-tidy][NFC] Qualify `makeRule` call in test, for consistency with other….
[clang-tidy][NFC] Qualify `makeRule` call in test, for consistency with other…
Mon, Aug 26, 8:29 AM
ymandel committed rG0cd4ab91abee: [clang-tidy][NFC] Qualify `makeRule` call in test, for consistency with other… (authored by ymandel).
[clang-tidy][NFC] Qualify `makeRule` call in test, for consistency with other…
Mon, Aug 26, 8:28 AM
ymandel committed rL369914: [clang-tidy] TransformerClangTidyCheck: change choice of location for….
[clang-tidy] TransformerClangTidyCheck: change choice of location for…
Mon, Aug 26, 8:26 AM
ymandel committed rG640230cc97f7: [clang-tidy] TransformerClangTidyCheck: change choice of location for… (authored by ymandel).
[clang-tidy] TransformerClangTidyCheck: change choice of location for…
Mon, Aug 26, 8:26 AM
ymandel closed D66676: [clang-tidy] TransformerClangTidyCheck: change choice of location for diagnostic message..
Mon, Aug 26, 8:20 AM · Restricted Project, Restricted Project
ymandel added inline comments to D66676: [clang-tidy] TransformerClangTidyCheck: change choice of location for diagnostic message..
Mon, Aug 26, 7:15 AM · Restricted Project, Restricted Project
ymandel updated the diff for D66676: [clang-tidy] TransformerClangTidyCheck: change choice of location for diagnostic message..

fixed comment.

Mon, Aug 26, 7:15 AM · Restricted Project, Restricted Project
ymandel updated the summary of D66676: [clang-tidy] TransformerClangTidyCheck: change choice of location for diagnostic message..
Mon, Aug 26, 5:18 AM · Restricted Project, Restricted Project

Aug 23 2019

ymandel created D66676: [clang-tidy] TransformerClangTidyCheck: change choice of location for diagnostic message..
Aug 23 2019, 12:38 PM · Restricted Project, Restricted Project
ymandel updated the diff for D66652: [libTooling] Transformer: refine `SourceLocation` specified as anchor of changes..

comments tweaks.

Aug 23 2019, 12:18 PM · Restricted Project
ymandel updated the diff for D66652: [libTooling] Transformer: refine `SourceLocation` specified as anchor of changes..

comment tweaks.

Aug 23 2019, 7:04 AM · Restricted Project
ymandel created D66652: [libTooling] Transformer: refine `SourceLocation` specified as anchor of changes..
Aug 23 2019, 7:02 AM · Restricted Project

Aug 14 2019

ymandel committed rG385a45184482: [libTooling] Fix code to avoid unused-function warning after r368681. (authored by ymandel).
[libTooling] Fix code to avoid unused-function warning after r368681.
Aug 14 2019, 8:23 AM
ymandel committed rL368862: [libTooling] Fix code to avoid unused-function warning after r368681..
[libTooling] Fix code to avoid unused-function warning after r368681.
Aug 14 2019, 8:19 AM

Aug 13 2019

ymandel committed rG1896a31dd331: [clang-tidy] Update `TransformerClangTidyCheck` to use new `buildMatchers`… (authored by ymandel).
[clang-tidy] Update `TransformerClangTidyCheck` to use new `buildMatchers`…
Aug 13 2019, 7:48 AM
ymandel committed rL368700: [clang-tidy] Update `TransformerClangTidyCheck` to use new `buildMatchers`….
[clang-tidy] Update `TransformerClangTidyCheck` to use new `buildMatchers`…
Aug 13 2019, 7:47 AM
ymandel closed D65879: [clang-tidy] Update `TransformerClangTidyCheck` to use new `buildMatchers` functionality..
Aug 13 2019, 7:47 AM · Restricted Project, Restricted Project
ymandel committed rG42b957aad7b2: [libTooling] In Transformer, generalize `applyFirst` to admit rules with… (authored by ymandel).
[libTooling] In Transformer, generalize `applyFirst` to admit rules with…
Aug 13 2019, 5:32 AM
ymandel committed rL368681: [libTooling] In Transformer, generalize `applyFirst` to admit rules with….
[libTooling] In Transformer, generalize `applyFirst` to admit rules with…
Aug 13 2019, 5:31 AM
ymandel closed D65877: [libTooling] In Transformer, generalize `applyFirst` to admit rules with incompatible matchers..
Aug 13 2019, 5:31 AM · Restricted Project, Restricted Project

Aug 12 2019

ymandel added inline comments to D65877: [libTooling] In Transformer, generalize `applyFirst` to admit rules with incompatible matchers..
Aug 12 2019, 1:38 PM · Restricted Project, Restricted Project
ymandel updated the diff for D65877: [libTooling] In Transformer, generalize `applyFirst` to admit rules with incompatible matchers..

Changed early return to assertion; updated test.

Aug 12 2019, 1:35 PM · Restricted Project, Restricted Project
ymandel added a comment to D65877: [libTooling] In Transformer, generalize `applyFirst` to admit rules with incompatible matchers..

I'd prefer we ban them completely, and let the user wrap them manually if they need to. While some users would appreciate the ergonomics, I think AST matchers are complicated even without us adding more implicit behavior on top.

Aug 12 2019, 11:59 AM · Restricted Project, Restricted Project
ymandel updated the diff for D65877: [libTooling] In Transformer, generalize `applyFirst` to admit rules with incompatible matchers..

Bans qualtype and type and adds corresponding comments and test.

Aug 12 2019, 11:59 AM · Restricted Project, Restricted Project
ymandel added a comment to D65877: [libTooling] In Transformer, generalize `applyFirst` to admit rules with incompatible matchers..

I was going to add a test for Type/QualType and realized that they don't carry any source location info. Therefore, I don't think they belong as top-level matchers for rewrite rules. Instead, users should use typeLoc(loc(<type matcher here>). Therefore, the logic of getKind can be eliminated in favor of using K.getSupportedKind() directly. However, that means we'll need to keep them out of the collection of matchers that we're processing.

Aug 12 2019, 10:45 AM · Restricted Project, Restricted Project

Aug 9 2019

ymandel updated the diff for D65877: [libTooling] In Transformer, generalize `applyFirst` to admit rules with incompatible matchers..

Rewrote the code and tests.

Aug 9 2019, 1:33 PM · Restricted Project, Restricted Project
ymandel added a comment to D65877: [libTooling] In Transformer, generalize `applyFirst` to admit rules with incompatible matchers..

Thanks for your detailed and helpful feedback.

Aug 9 2019, 1:33 PM · Restricted Project, Restricted Project

Aug 8 2019

ymandel committed rGa3c35309583f: [clang][NFC] Move matcher ignoringElidableConstructorCall's tests to… (authored by ymandel).
[clang][NFC] Move matcher ignoringElidableConstructorCall's tests to…
Aug 8 2019, 11:56 AM
ymandel committed rL368326: [clang][NFC] Move matcher ignoringElidableConstructorCall's tests to….
[clang][NFC] Move matcher ignoringElidableConstructorCall's tests to…
Aug 8 2019, 11:55 AM
ymandel closed D65963: [clang][NFC] Move matcher ignoringElidableConstructorCall's tests to appropriate file..
Aug 8 2019, 11:54 AM · Restricted Project, Restricted Project
ymandel created D65963: [clang][NFC] Move matcher ignoringElidableConstructorCall's tests to appropriate file..
Aug 8 2019, 11:20 AM · Restricted Project, Restricted Project
ymandel committed rG57f471f4ff43: [clang] Update `ignoringElidableConstructorCall` matcher to ignore… (authored by ymandel).
[clang] Update `ignoringElidableConstructorCall` matcher to ignore…
Aug 8 2019, 10:42 AM
ymandel committed rL368319: [clang] Update `ignoringElidableConstructorCall` matcher to ignore….
[clang] Update `ignoringElidableConstructorCall` matcher to ignore…
Aug 8 2019, 10:42 AM
ymandel closed D65944: [clang] Update `ignoringElidableConstructorCall` matcher to ignore `ExprWithCleanups`..
Aug 8 2019, 10:41 AM · Restricted Project, Restricted Project
ymandel updated the diff for D65944: [clang] Update `ignoringElidableConstructorCall` matcher to ignore `ExprWithCleanups`..

updated HTML docs.

Aug 8 2019, 10:41 AM · Restricted Project, Restricted Project
ymandel added a comment to D65944: [clang] Update `ignoringElidableConstructorCall` matcher to ignore `ExprWithCleanups`..

Thanks for the comments. I struggled with the wording so your edits are appreciated.

Aug 8 2019, 8:17 AM · Restricted Project, Restricted Project
ymandel updated the diff for D65944: [clang] Update `ignoringElidableConstructorCall` matcher to ignore `ExprWithCleanups`..

Added test; adjusted comments.

Aug 8 2019, 8:14 AM · Restricted Project, Restricted Project
ymandel created D65944: [clang] Update `ignoringElidableConstructorCall` matcher to ignore `ExprWithCleanups`..
Aug 8 2019, 5:48 AM · Restricted Project, Restricted Project

Aug 7 2019

ymandel committed rGfb991596e34a: [clang][NFC] Fix typo in matcher comment (authored by ymandel).
[clang][NFC] Fix typo in matcher comment
Aug 7 2019, 10:03 AM
ymandel committed rL368188: [clang][NFC] Fix typo in matcher comment.
[clang][NFC] Fix typo in matcher comment
Aug 7 2019, 10:00 AM
ymandel updated the diff for D65877: [libTooling] In Transformer, generalize `applyFirst` to admit rules with incompatible matchers..

fix comment.

Aug 7 2019, 9:52 AM · Restricted Project, Restricted Project
ymandel created D65879: [clang-tidy] Update `TransformerClangTidyCheck` to use new `buildMatchers` functionality..
Aug 7 2019, 8:09 AM · Restricted Project, Restricted Project
ymandel created D65877: [libTooling] In Transformer, generalize `applyFirst` to admit rules with incompatible matchers..
Aug 7 2019, 8:01 AM · Restricted Project, Restricted Project

Jul 18 2019

ymandel committed rG3f1ab737e219: [LibTooling] Relax Transformer to allow rewriting macro expansions (authored by ymandel).
[LibTooling] Relax Transformer to allow rewriting macro expansions
Jul 18 2019, 10:45 AM
ymandel committed rL366473: [LibTooling] Relax Transformer to allow rewriting macro expansions.
[LibTooling] Relax Transformer to allow rewriting macro expansions
Jul 18 2019, 10:44 AM
ymandel closed D64518: [LibTooling] Relax Transformer to allow rewriting macro expansions.
Jul 18 2019, 10:44 AM · Restricted Project, Restricted Project
ymandel committed rG2e97a1e19ef5: [LibTooling] Add function to translate and validate source range for editing (authored by ymandel).
[LibTooling] Add function to translate and validate source range for editing
Jul 18 2019, 10:32 AM
ymandel committed rL366469: [LibTooling] Add function to translate and validate source range for editing.
[LibTooling] Add function to translate and validate source range for editing
Jul 18 2019, 10:26 AM
ymandel closed D64924: [LibTooling] Add function to translate and validate source range for editing.
Jul 18 2019, 10:26 AM · Restricted Project, Restricted Project
ymandel added inline comments to D64893: Ask confirmation when `git llvm push` will push multiple commits.
Jul 18 2019, 10:07 AM · Restricted Project
ymandel added inline comments to D64924: [LibTooling] Add function to translate and validate source range for editing.
Jul 18 2019, 9:47 AM · Restricted Project, Restricted Project
ymandel updated the diff for D64924: [LibTooling] Add function to translate and validate source range for editing.

Added overload.

Jul 18 2019, 9:47 AM · Restricted Project, Restricted Project
ymandel updated the diff for D64518: [LibTooling] Relax Transformer to allow rewriting macro expansions.

remove unneeded include

Jul 18 2019, 8:16 AM · Restricted Project, Restricted Project
ymandel added inline comments to D64518: [LibTooling] Relax Transformer to allow rewriting macro expansions.
Jul 18 2019, 8:16 AM · Restricted Project, Restricted Project
ymandel added a child revision for D64924: [LibTooling] Add function to translate and validate source range for editing: D64518: [LibTooling] Relax Transformer to allow rewriting macro expansions.
Jul 18 2019, 8:16 AM · Restricted Project, Restricted Project
ymandel updated the diff for D64518: [LibTooling] Relax Transformer to allow rewriting macro expansions.

Moved makeValidRange to its own revision and rebased onto that.

Jul 18 2019, 8:16 AM · Restricted Project, Restricted Project
ymandel added a parent revision for D64518: [LibTooling] Relax Transformer to allow rewriting macro expansions: D64924: [LibTooling] Add function to translate and validate source range for editing.
Jul 18 2019, 8:16 AM · Restricted Project, Restricted Project
ymandel updated the diff for D64924: [LibTooling] Add function to translate and validate source range for editing.

define matcher instead of operator==

Jul 18 2019, 8:04 AM · Restricted Project, Restricted Project
ymandel created D64924: [LibTooling] Add function to translate and validate source range for editing.
Jul 18 2019, 7:56 AM · Restricted Project, Restricted Project

Jul 17 2019

ymandel added a comment to D64518: [LibTooling] Relax Transformer to allow rewriting macro expansions.

This seems like a good candidate for configuration -- the user could then choose which mode to run in. But, I'm also open to just reporting these conditions as errors. It's already in a context that returns Expected, so its no trouble; it's just a matter of choosing what we think is "correct".

WRT to returning Expected vs Optional. Either seems fine and in the spirit of the library, depending on whether we want to produce more detailed errors. However, if we choose Optional let's stick to it, as practice shows switching from Optional to Expected correctly is almost impossible, as that requires a lot of attention to make sure all clients consume the errors (and given that it's an error case, tests often don't catch unconsumed errors).
I would personally go with Optional here (meaning the client code would have to say something generic like could not map from macro expansion to source code). But up to you, not a strong preference.

Jul 17 2019, 10:54 AM · Restricted Project, Restricted Project

Jul 16 2019

ymandel updated the diff for D64518: [LibTooling] Relax Transformer to allow rewriting macro expansions.

tweaks in response to comments.

Jul 16 2019, 12:29 PM · Restricted Project, Restricted Project
ymandel added a comment to D64518: [LibTooling] Relax Transformer to allow rewriting macro expansions.

This clearly increases the utility of the library, but also seems to add corner cases that the library won't handle (see the comment about unittests for an example).
WDYT about those? Are they important, should we support producing warnings in those cases to let the users know things might get broken?

Jul 16 2019, 12:27 PM · Restricted Project, Restricted Project

Jul 10 2019

ymandel created D64518: [LibTooling] Relax Transformer to allow rewriting macro expansions.
Jul 10 2019, 10:49 AM · Restricted Project, Restricted Project

Jul 2 2019

ymandel committed rGe42327566557: [clang-tidy] Extend TransformerClangTidyCheck to support adding includes. (authored by ymandel).
[clang-tidy] Extend TransformerClangTidyCheck to support adding includes.
Jul 2 2019, 6:26 AM