Page MenuHomePhabricator

ymandel (Yitzhak Mandelbaum)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Fri, Jan 17

ymandel committed rGb9d2bf38e86e: [libTooling] Fix bug in Stencil handling of macro ranges (authored by ymandel).
[libTooling] Fix bug in Stencil handling of macro ranges
Fri, Jan 17, 9:16 AM
ymandel closed D72274: [libTooling] Fix bug in Stencil handling of macro ranges.
Fri, Jan 17, 9:16 AM · Restricted Project
ymandel added a comment to D72274: [libTooling] Fix bug in Stencil handling of macro ranges.

Thanks for the review!

Fri, Jan 17, 8:34 AM · Restricted Project
ymandel added a comment to D72274: [libTooling] Fix bug in Stencil handling of macro ranges.

The only functional change that I see in this patch is in clang/lib/Tooling/Transformer/Stencil.cpp. However, I don't understand how that change in the (deprecated) selection() stencil can affect other stencils.

Fri, Jan 17, 8:15 AM · Restricted Project

Thu, Jan 9

ymandel updated the diff for D72153: [libTooling] Add function to determine associated text of a declaration..

fold initLexer into the callsite, because it's only called once.

Thu, Jan 9, 6:18 AM · Restricted Project
ymandel updated the diff for D72153: [libTooling] Add function to determine associated text of a declaration..

tweaked test organization

Thu, Jan 9, 5:59 AM · Restricted Project

Wed, Jan 8

ymandel updated the diff for D72153: [libTooling] Add function to determine associated text of a declaration..

Fixed behavior in some corner cases; added tests

Wed, Jan 8, 11:55 AM · Restricted Project
ymandel added inline comments to D71842: Allow newlines in AST Matchers in clang-query files.
Wed, Jan 8, 10:59 AM · Restricted Project

Mon, Jan 6

ymandel created D72274: [libTooling] Fix bug in Stencil handling of macro ranges.
Mon, Jan 6, 8:09 AM · Restricted Project

Fri, Jan 3

ymandel updated the diff for D72153: [libTooling] Add function to determine associated text of a declaration..

clang-format

Fri, Jan 3, 7:16 AM · Restricted Project
ymandel created D72153: [libTooling] Add function to determine associated text of a declaration..
Fri, Jan 3, 7:06 AM · Restricted Project

Nov 22 2019

ymandel committed rG01e8dd2e7a85: [libTooling] Add stencil combinators for nodes that may be pointers or values. (authored by ymandel).
[libTooling] Add stencil combinators for nodes that may be pointers or values.
Nov 22 2019, 9:50 AM
ymandel closed D70554: [libTooling] Add stencil combinators for nodes that may be pointers or values..
Nov 22 2019, 9:50 AM · Restricted Project
ymandel updated the diff for D70554: [libTooling] Add stencil combinators for nodes that may be pointers or values..

renamed combinators; reordered cases to pair x and maybeX.

Nov 22 2019, 7:09 AM · Restricted Project
ymandel updated the diff for D70554: [libTooling] Add stencil combinators for nodes that may be pointers or values..

fix typo

Nov 22 2019, 7:09 AM · Restricted Project
ymandel updated the summary of D70554: [libTooling] Add stencil combinators for nodes that may be pointers or values..
Nov 22 2019, 7:09 AM · Restricted Project
ymandel added a comment to D70554: [libTooling] Add stencil combinators for nodes that may be pointers or values..

Thanks for the review!

Nov 22 2019, 7:09 AM · Restricted Project

Nov 21 2019

ymandel created D70554: [libTooling] Add stencil combinators for nodes that may be pointers or values..
Nov 21 2019, 11:45 AM · Restricted Project

Nov 19 2019

ymandel committed rGdd471dbe99a7: [libTooling] Extend `buildASTFromCodeWithArgs` to take files argument. (authored by ymandel).
[libTooling] Extend `buildASTFromCodeWithArgs` to take files argument.
Nov 19 2019, 9:20 AM
ymandel closed D70175: [libTooling] Extend `buildASTFromCodeWithArgs` to take files argument..
Nov 19 2019, 9:20 AM · Restricted Project
ymandel added a comment to D70175: [libTooling] Extend `buildASTFromCodeWithArgs` to take files argument..

gentle ping...

Nov 19 2019, 6:02 AM · Restricted Project

Nov 13 2019

ymandel created D70175: [libTooling] Extend `buildASTFromCodeWithArgs` to take files argument..
Nov 13 2019, 6:08 AM · Restricted Project

Nov 11 2019

ymandel committed rG489449c28aaa: [libTooling] Further simplify `Stencil` type and introduce `MatchComputation`. (authored by ymandel).
[libTooling] Further simplify `Stencil` type and introduce `MatchComputation`.
Nov 11 2019, 9:46 AM
ymandel closed D69802: [libTooling] Further simplify `Stencil` type and introduce `MatchComputation`..
Nov 11 2019, 9:46 AM · Restricted Project
ymandel updated the diff for D69802: [libTooling] Further simplify `Stencil` type and introduce `MatchComputation`..

syntax fixes (to compile)

Nov 11 2019, 9:45 AM · Restricted Project

Nov 7 2019

ymandel abandoned D69625: [libTooling] Support implicit coercions in Stencil's `access` combinator..
Nov 7 2019, 5:32 AM · Restricted Project
ymandel added a comment to D69625: [libTooling] Support implicit coercions in Stencil's `access` combinator..

Are you suggesting we remove text and selection entirely?

Yes!

Nov 7 2019, 5:32 AM · Restricted Project

Nov 6 2019

ymandel committed rG6c683aa8d7d9: [libTooling] Fix breakage from change #84922 (authored by ymandel).
[libTooling] Fix breakage from change #84922
Nov 6 2019, 8:36 AM
ymandel added a comment to D69896: [libTooling] Small changes in Transformer API..

Build breakage fixed in commit "6c683aa8d7d [libTooling] Fix breakage from change #84922"

Nov 6 2019, 8:36 AM · Restricted Project
ymandel committed rG9f97480cddd7: [libTooling] Small changes in Transformer API. (authored by ymandel).
[libTooling] Small changes in Transformer API.
Nov 6 2019, 8:18 AM
ymandel closed D69896: [libTooling] Small changes in Transformer API..
Nov 6 2019, 8:17 AM · Restricted Project
ymandel created D69896: [libTooling] Small changes in Transformer API..
Nov 6 2019, 7:59 AM · Restricted Project
ymandel committed rGce2b5cb6decb: [libTooling] Simplify type structure of `Stencil`s. (authored by ymandel).
[libTooling] Simplify type structure of `Stencil`s.
Nov 6 2019, 7:50 AM
ymandel closed D69613: [libTooling] Simplify type structure of `Stencil`s..
Nov 6 2019, 7:50 AM · Restricted Project
ymandel committed rGbde32933027a: [clang-tidy] Update TransformerClangTidyCheck to use new Transformer bindings. (authored by ymandel).
[clang-tidy] Update TransformerClangTidyCheck to use new Transformer bindings.
Nov 6 2019, 7:22 AM
ymandel closed D69804: [clang-tidy] Update TransformerClangTidyCheck to use new Transformer bindings..
Nov 6 2019, 7:22 AM · Restricted Project
ymandel added a reviewer for D69804: [clang-tidy] Update TransformerClangTidyCheck to use new Transformer bindings.: ilya-biryukov.
Nov 6 2019, 5:39 AM · Restricted Project

Nov 4 2019

ymandel added a parent revision for D69613: [libTooling] Simplify type structure of `Stencil`s.: D69804: [clang-tidy] Update TransformerClangTidyCheck to use new Transformer bindings..
Nov 4 2019, 7:22 AM · Restricted Project
ymandel added a child revision for D69804: [clang-tidy] Update TransformerClangTidyCheck to use new Transformer bindings.: D69613: [libTooling] Simplify type structure of `Stencil`s..
Nov 4 2019, 7:22 AM · Restricted Project
ymandel created D69804: [clang-tidy] Update TransformerClangTidyCheck to use new Transformer bindings..
Nov 4 2019, 7:22 AM · Restricted Project
ymandel updated the diff for D69802: [libTooling] Further simplify `Stencil` type and introduce `MatchComputation`..

tweak.

Nov 4 2019, 6:25 AM · Restricted Project
ymandel added a child revision for D69613: [libTooling] Simplify type structure of `Stencil`s.: D69802: [libTooling] Further simplify `Stencil` type and introduce `MatchComputation`..
Nov 4 2019, 6:23 AM · Restricted Project
ymandel added a parent revision for D69802: [libTooling] Further simplify `Stencil` type and introduce `MatchComputation`.: D69613: [libTooling] Simplify type structure of `Stencil`s..
Nov 4 2019, 6:23 AM · Restricted Project
ymandel created D69802: [libTooling] Further simplify `Stencil` type and introduce `MatchComputation`..
Nov 4 2019, 6:23 AM · Restricted Project

Nov 1 2019

ymandel abandoned D69184: [libTooling] Introduce general combinator for fixed-value `MatchConsumer`s..
Nov 1 2019, 11:38 AM · Restricted Project
ymandel added a comment to D69184: [libTooling] Introduce general combinator for fixed-value `MatchConsumer`s..

In fact, it might be a good idea to rename change to changeTo (WDYT?).

I like it. It should combine well with all stencils, not just text.

Nov 1 2019, 11:37 AM · Restricted Project
ymandel updated the diff for D69613: [libTooling] Simplify type structure of `Stencil`s..

remove stray comments; clang-format

Nov 1 2019, 10:38 AM · Restricted Project
ymandel added a comment to D69613: [libTooling] Simplify type structure of `Stencil`s..

I see. Some decoupling is desirable, I agree. Maybe move StencilInterface and Stencil into a separate header that RewriteRule can depend on, and then define the library of stencils in another header?

This sounds good. I'll put together a (stacked) revision to do this. It seems worth doing separately given that it will involve a substantial to the RewriteRule library & tests.

Nov 1 2019, 10:28 AM · Restricted Project
ymandel updated the diff for D69613: [libTooling] Simplify type structure of `Stencil`s..

addressed to comments

Nov 1 2019, 10:19 AM · Restricted Project
ymandel committed rG6e759daf2ea8: [libTooling] Add Stencil constructor. (authored by ymandel).
[libTooling] Add Stencil constructor.
Nov 1 2019, 9:09 AM
ymandel closed D69632: [libTooling] Add Stencil constructor..
Nov 1 2019, 9:09 AM · Restricted Project
ymandel added a comment to D69625: [libTooling] Support implicit coercions in Stencil's `access` combinator..

Which idiom do you think we should encourage, then, for text and range-selectors -- the named combinator or the single-argument cat? That is

You are making a very interesting point!

It sounds very appealing to me to remove the special text and selection functions in favor of cat. Users of the library (both readers and writers) will have to know about cat. So the advantage of having special functions text and selection is really limited I think.

Nov 1 2019, 8:40 AM · Restricted Project
ymandel added a comment to D69613: [libTooling] Simplify type structure of `Stencil`s..

I see. Some decoupling is desirable, I agree. Maybe move StencilInterface and Stencil into a separate header that RewriteRule can depend on, and then define the library of stencils in another header?

Nov 1 2019, 8:40 AM · Restricted Project
ymandel updated the diff for D69632: [libTooling] Add Stencil constructor..

renamed free function to avoid overloading a templated function.

Nov 1 2019, 8:31 AM · Restricted Project

Oct 31 2019

ymandel added a comment to D69625: [libTooling] Support implicit coercions in Stencil's `access` combinator..

I fully agree about passing a Stencil to access. However whether to call makeStencil inside is an interesting question. On one hand, such implicit conversions increase the convenience. On the other, they increase the API surface (more possible argument types), and makes the API harder to read. What does access take? "I don't know, some T" vs. "A Stencil".

I think that implicit conversions for cat arguments can be justified because it seems like cat will be used frequently; however, access won't be as frequently called.

What do you think?

Oct 31 2019, 6:52 PM · Restricted Project
ymandel added inline comments to D69613: [libTooling] Simplify type structure of `Stencil`s..
Oct 31 2019, 6:43 PM · Restricted Project
ymandel added a comment to D69613: [libTooling] Simplify type structure of `Stencil`s..

Thanks for the review! I agreed w/ all the comments, just responding early w/ those I had further thoughts/questions on.

Oct 31 2019, 11:38 AM · Restricted Project
ymandel edited reviewers for D69632: [libTooling] Add Stencil constructor., added: ilya-biryukov; removed: gribozavr.
Oct 31 2019, 8:37 AM · Restricted Project

Oct 30 2019

ymandel updated the diff for D69613: [libTooling] Simplify type structure of `Stencil`s..

rebasing onto parent

Oct 30 2019, 12:19 PM · Restricted Project
ymandel added a parent revision for D69613: [libTooling] Simplify type structure of `Stencil`s.: D69632: [libTooling] Add Stencil constructor..
Oct 30 2019, 12:19 PM · Restricted Project
ymandel added a child revision for D69632: [libTooling] Add Stencil constructor.: D69613: [libTooling] Simplify type structure of `Stencil`s..
Oct 30 2019, 12:19 PM · Restricted Project
ymandel created D69632: [libTooling] Add Stencil constructor..
Oct 30 2019, 12:19 PM · Restricted Project
ymandel updated the diff for D69613: [libTooling] Simplify type structure of `Stencil`s..

added simple overload of cat -- needed to support client transition to new type structure.

Oct 30 2019, 12:19 PM · Restricted Project
ymandel created D69625: [libTooling] Support implicit coercions in Stencil's `access` combinator..
Oct 30 2019, 9:58 AM · Restricted Project
ymandel added a parent revision for D69625: [libTooling] Support implicit coercions in Stencil's `access` combinator.: D69613: [libTooling] Simplify type structure of `Stencil`s..
Oct 30 2019, 9:58 AM · Restricted Project
ymandel added a child revision for D69613: [libTooling] Simplify type structure of `Stencil`s.: D69625: [libTooling] Support implicit coercions in Stencil's `access` combinator..
Oct 30 2019, 9:58 AM · Restricted Project
ymandel updated the diff for D69613: [libTooling] Simplify type structure of `Stencil`s..

commented sequence operator

Oct 30 2019, 5:55 AM · Restricted Project
ymandel created D69613: [libTooling] Simplify type structure of `Stencil`s..
Oct 30 2019, 5:46 AM · Restricted Project

Oct 23 2019

ymandel added a comment to D69184: [libTooling] Introduce general combinator for fixed-value `MatchConsumer`s..

What are the use cases for non-text values?

I like the name text much better... If the name conflict is the issue, I think you could rename it to toText -- it would even read more fluently change(toText("abc")), also making it obvious that we are not changing *the text abc*, but we are changing the code to say "abc".

Another example use is: https://github.com/llvm/llvm-project/blob/master/clang/include/clang/Tooling/Transformer/RangeSelector.h#L29-L32, although I must admit that I hadn't thought of that before this patch. It's just the natural generalization (it's actually the K combinator form SKI fame). So, I haven't thought about other examples -- the primary motivation was just the naming.

That said, I'm not sure about toText because I consider the "to" as implicit in change. In fact, it might be a good idea to rename change to changeTo (WDYT?). What about any of asText, textMsg, textMessage? (I realize the unfortunate pun in the last two, but not sure that's worth caring about).

Oct 23 2019, 5:56 AM · Restricted Project

Oct 22 2019

ymandel added a comment to D69184: [libTooling] Introduce general combinator for fixed-value `MatchConsumer`s..

What are the use cases for non-text values?

I like the name text much better... If the name conflict is the issue, I think you could rename it to toText -- it would even read more fluently change(toText("abc")), also making it obvious that we are not changing *the text abc*, but we are changing the code to say "abc".

Oct 22 2019, 7:57 PM · Restricted Project

Oct 18 2019

ymandel created D69184: [libTooling] Introduce general combinator for fixed-value `MatchConsumer`s..
Oct 18 2019, 10:39 AM · Restricted Project

Oct 16 2019

ymandel added a comment to D68876: [libTooling] Put all Transformer declarations in a single namespace..
Oct 16 2019, 11:42 AM · Restricted Project
ymandel added a comment to D68876: [libTooling] Put all Transformer declarations in a single namespace..

This should be fixed by r375003. Please let me know if that's not the case.

Oct 16 2019, 9:42 AM · Restricted Project
ymandel committed rGc14f1ea25e05: [libTooling] Fix r374962: add more Transformer forwarding decls. (authored by ymandel).
[libTooling] Fix r374962: add more Transformer forwarding decls.
Oct 16 2019, 7:31 AM
ymandel closed D69036: [libTooling] Fix r374962: add more Transformer forwarding decls..
Oct 16 2019, 7:30 AM · Restricted Project
ymandel committed rL375003: [libTooling] Fix r374962: add more Transformer forwarding decls..
[libTooling] Fix r374962: add more Transformer forwarding decls.
Oct 16 2019, 7:30 AM
ymandel created D69036: [libTooling] Fix r374962: add more Transformer forwarding decls..
Oct 16 2019, 7:11 AM · Restricted Project

Oct 15 2019

ymandel committed rG8bb47cd8c30c: [libTooling] Put all Transformer declarations in a single namespace. (authored by ymandel).
[libTooling] Put all Transformer declarations in a single namespace.
Oct 15 2019, 6:13 PM
ymandel closed D68876: [libTooling] Put all Transformer declarations in a single namespace..
Oct 15 2019, 6:12 PM · Restricted Project
ymandel committed rL374962: [libTooling] Put all Transformer declarations in a single namespace..
[libTooling] Put all Transformer declarations in a single namespace.
Oct 15 2019, 6:04 PM

Oct 11 2019

ymandel updated the diff for D68876: [libTooling] Put all Transformer declarations in a single namespace..

remove stray newline and include.

Oct 11 2019, 12:23 PM · Restricted Project
ymandel updated the diff for D68876: [libTooling] Put all Transformer declarations in a single namespace..

fix using decl.

Oct 11 2019, 12:14 PM · Restricted Project
ymandel retitled D68876: [libTooling] Put all Transformer declarations in a single namespace. from [libTooling] Group all Transformer combinators in a single namespace. to [libTooling] Put all Transformer declarations in a single namespace..
Oct 11 2019, 12:05 PM · Restricted Project
ymandel updated the diff for D68876: [libTooling] Put all Transformer declarations in a single namespace..

moved all decls to clang::transformer.

Oct 11 2019, 12:05 PM · Restricted Project
ymandel added a comment to D68876: [libTooling] Put all Transformer declarations in a single namespace..

I'm now starting to doubt the split into transformer (for combinators) and tooling (for the type decls). I checked and ast_matchers contains both. What do you think of my just putting all of the Transformer types + combis in the single clang::transformer namespace?

Oct 11 2019, 11:19 AM · Restricted Project
ymandel added a comment to D68876: [libTooling] Put all Transformer declarations in a single namespace..

WDYT about clang::transformer? I don't see much point in the intermediate namespace. However, LGTM either way.

Oct 11 2019, 10:14 AM · Restricted Project
ymandel created D68876: [libTooling] Put all Transformer declarations in a single namespace..
Oct 11 2019, 9:37 AM · Restricted Project
ymandel committed rGe38c36b7b0ab: [libTooling] Move `RewriteRule` abstraction into its own header and impl. (authored by ymandel).
[libTooling] Move `RewriteRule` abstraction into its own header and impl.
Oct 11 2019, 7:46 AM
ymandel closed D68795: [libTooling] Move `RewriteRule` abstraction into its own header and impl..
Oct 11 2019, 7:46 AM · Restricted Project
ymandel committed rL374558: [libTooling] Move `RewriteRule` abstraction into its own header and impl..
[libTooling] Move `RewriteRule` abstraction into its own header and impl.
Oct 11 2019, 7:46 AM
ymandel added a comment to D68795: [libTooling] Move `RewriteRule` abstraction into its own header and impl..

updated title & description to match the changes.

Oct 11 2019, 7:08 AM · Restricted Project
ymandel committed rGcf2438ec1309: [libTooling] Change Stencil equality to use `toString()` (authored by ymandel).
[libTooling] Change Stencil equality to use `toString()`
Oct 11 2019, 7:01 AM
ymandel retitled D68795: [libTooling] Move `RewriteRule` abstraction into its own header and impl. from [libTooling] Introduce a single, "main" header file for Transformer. to [libTooling] Move `RewriteRule` abstraction into its own header and impl..
Oct 11 2019, 7:01 AM · Restricted Project
ymandel closed D68825: [libTooling] Change Stencil equality to use `toString()`.
Oct 11 2019, 7:01 AM · Restricted Project
ymandel committed rL374552: [libTooling] Change Stencil equality to use `toString()`.
[libTooling] Change Stencil equality to use `toString()`
Oct 11 2019, 7:01 AM

Oct 10 2019

ymandel updated the diff for D68825: [libTooling] Change Stencil equality to use `toString()`.

removed operator== and updated tests accordingly.

Oct 10 2019, 8:16 PM · Restricted Project
ymandel updated the summary of D68825: [libTooling] Change Stencil equality to use `toString()`.
Oct 10 2019, 12:37 PM · Restricted Project
ymandel created D68825: [libTooling] Change Stencil equality to use `toString()`.
Oct 10 2019, 12:37 PM · Restricted Project
ymandel added inline comments to D68795: [libTooling] Move `RewriteRule` abstraction into its own header and impl..
Oct 10 2019, 10:53 AM · Restricted Project
ymandel updated the diff for D68795: [libTooling] Move `RewriteRule` abstraction into its own header and impl..

Removed umbrella-header, as per discussion.

Oct 10 2019, 10:53 AM · Restricted Project