[PATCH] D85750: [SyntaxTree] Unbox operators into tokens for nodes generated from `CXXOperatorCallExpr`

2020-08-12 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas added inline comments. Comment at: clang/lib/Tooling/Syntax/BuildTree.cpp:1024 + // representation of built-in and user-defined operators. + if (child->getBeginLoc() == S->getOperatorLoc()) +continue; gribozavr2 wrote: > eduucaldas

[PATCH] D85750: [SyntaxTree] Unbox operators into tokens for nodes generated from `CXXOperatorCallExpr`

2020-08-12 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 284988. eduucaldas marked 3 inline comments as done. eduucaldas added a comment. use arguments instead of children Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85750/new/ https://reviews.llvm.org/D85750

[PATCH] D85750: [SyntaxTree] Unbox operators into tokens for nodes generated from `CXXOperatorCallExpr`

2020-08-11 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas added a reviewer: gribozavr2. eduucaldas added inline comments. Comment at: clang/lib/Tooling/Syntax/BuildTree.cpp:1024 + // representation of built-in and user-defined operators. + if (child->getBeginLoc() == S->getOperatorLoc()) +continue;

[PATCH] D85750: [SyntaxTree] Unbox operators into tokens for nodes generated from `CXXOperatorCallExpr`

2020-08-11 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 284794. eduucaldas added a comment. Add explanation comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85750/new/ https://reviews.llvm.org/D85750 Files: clang/lib/Tooling/Syntax/BuildTree.cpp

[PATCH] D85750: [SyntaxTree] Unbox operators into tokens for nodes generated from `CXXOperatorCallExpr`

2020-08-11 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. eduucaldas requested review of this revision. For an user define `<`, `x < y` would yield the syntax tree: BinaryOperatorExpression |-IdExpression | `-UnqualifiedId | `-x

[PATCH] D85713: [SyntaxTree]: Use Annotations in tests to reduce noise

2020-08-11 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 284678. eduucaldas added a comment. Use annotations to reduce noise of expression tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85713/new/ https://reviews.llvm.org/D85713 Files:

[PATCH] D85713: [SyntaxTree]: Use Annotations in tests to reduce noise

2020-08-11 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas added a reviewer: gribozavr2. eduucaldas added a comment. A proposition, upon review I'll change other tests. One concern is that we might lose coverage while reducing noise. But I'll take a look into that with calm when changing the tests. Comment at:

[PATCH] D85713: [SyntaxTree]: Use Annotations in tests to reduce noise

2020-08-11 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 284610. eduucaldas added a comment. Use unsigned long in the loop index Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85713/new/ https://reviews.llvm.org/D85713 Files:

[PATCH] D85713: [SyntaxTree]: Use Annotations in tests to reduce noise

2020-08-11 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. eduucaldas requested review of this revision. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D85713 Files: clang/unittests/Tooling/Syntax/TreeTest.cpp Index:

[PATCH] D85439: [SyntaxTree] Expand support for `NestedNameSpecifier`

2020-08-10 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 284387. eduucaldas marked 6 inline comments as done and 2 inline comments as done. eduucaldas added a comment. Answer comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85439/new/

[PATCH] D85439: [SyntaxTree] Expand support for `NestedNameSpecifier`

2020-08-10 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas added a comment. There are some refinements to do, to generate a complete syntax tree. Namely tag decltype-name-specifier and simple-template-specifier children with roles, to allow for accessors. Comment at: clang/lib/Tooling/Syntax/BuildTree.cpp:838-842 +

[PATCH] D85440: [SyntaxTree] Implement `NNS` using the `List` base API

2020-08-10 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 284344. eduucaldas added a comment. lint Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85440/new/ https://reviews.llvm.org/D85440 Files: clang/include/clang/Tooling/Syntax/Nodes.h

[PATCH] D85440: [SyntaxTree] Implement `NNS` using the `List` base API

2020-08-10 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 284342. eduucaldas added a comment. Answer comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85440/new/ https://reviews.llvm.org/D85440 Files: clang/include/clang/Tooling/Syntax/Nodes.h

[PATCH] D85440: [SyntaxTree] Implement `NNS` using the `List` base API

2020-08-10 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 284324. eduucaldas added a comment. Implement `canBeEmpty`, `getDelimiterToken`, `getTerminationKind` for `NestedNameSpecifier` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85440/new/

[PATCH] D85295: [SyntaxTree] Implement the List construct.

2020-08-10 Thread Eduardo Caldas via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGa90c78ac5261: [SyntaxTree] Implement the List construct. (authored by eduucaldas). Changed prior to commit:

[PATCH] D85295: [SyntaxTree] Implement the List construct.

2020-08-10 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas added inline comments. Comment at: clang/include/clang/Tooling/Syntax/Tree.h:249 + + /// Return whether *under valid code* the list can be empty. + /// gribozavr2 wrote: > "Whether this list can be empty in syntactically and semantically correct >

[PATCH] D85295: [SyntaxTree] Implement the List construct.

2020-08-10 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 284292. eduucaldas marked 3 inline comments as done. eduucaldas added a comment. Answer code-review Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85295/new/ https://reviews.llvm.org/D85295 Files:

[PATCH] D84348: [SyntaxTree] Use simplified grammar rule for `NestedNameSpecifier` grammar nodes

2020-08-10 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas closed this revision. eduucaldas added a comment. commit hash 8abb5fb68f81b0e42d824bf080b1cef9a61559d6 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84348/new/

[PATCH] D85439: [SyntaxTree] Expand support for `NestedNameSpecifier`

2020-08-10 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas marked 2 inline comments as done. eduucaldas added a comment. Now NNS are based on inheritance! Comment at: clang/lib/Tooling/Syntax/BuildTree.cpp:849-850 + const auto TL = NNSLoc.getTypeLoc().castAs(); + if

[PATCH] D85439: [SyntaxTree] Expand support for `NestedNameSpecifier`

2020-08-10 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 284285. eduucaldas added a comment. . Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85439/new/ https://reviews.llvm.org/D85439 Files: clang/include/clang/AST/NestedNameSpecifier.h

[PATCH] D85439: [SyntaxTree] Expand support for `NestedNameSpecifier`

2020-08-10 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 284284. eduucaldas added a comment. Move to using inheritance Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85439/new/ https://reviews.llvm.org/D85439 Files: clang/include/clang/AST/NestedNameSpecifier.h

[PATCH] D84348: WIP: Add complete id-expression support to syntax trees

2020-08-07 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 283989. eduucaldas added a comment. Last version sent upstream Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84348/new/ https://reviews.llvm.org/D84348 Files: clang/include/clang/Tooling/Syntax/Nodes.h

[PATCH] D84781: [SyntaxTree] Use PointerUnion instead of inheritance for alternative clauses in NNS

2020-08-07 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 283876. eduucaldas added a comment. Remove Fix crash on name specifier commit from patch Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84781/new/ https://reviews.llvm.org/D84781 Files:

[PATCH] D84348: WIP: Add complete id-expression support to syntax trees

2020-08-07 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 283875. eduucaldas added a comment. rebase to add this commit from a further patch - [SyntaxTree] Fix crash on name specifier. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84348/new/

[PATCH] D85427: [SyntaxTree][NFC] remove redundant namespace-specifiers

2020-08-07 Thread Eduardo Caldas via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGba41a0f7339c: [SyntaxTree][NFC] remove redundant namespace-specifiers (authored by eduucaldas). Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D84348: WIP: Add complete id-expression support to syntax trees

2020-08-06 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas added inline comments. Comment at: clang/lib/Tooling/Syntax/BuildTree.cpp:789 +// Remove "::" from the `SourceRange` +SR.setEnd(SR.getEnd().getLocWithOffset(-1)); + Newbie mistake. Corrected in latter commit Repository: rG LLVM Github

[PATCH] D85295: [SyntaxTree] Implement the List construct.

2020-08-06 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas added inline comments. Comment at: clang/include/clang/Tooling/Syntax/Tree.h:247 + + TerminationKind getTerminationKind(); + gribozavr2 wrote: > I just realized that the rest of the syntax tree API does not use the `get~` > prefix. However, most of

[PATCH] D85427: [SyntaxTree][NFC] remove redundant namespace-specifiers

2020-08-06 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 283659. eduucaldas added a comment. removed namespace specifiers `llvm::` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85427/new/ https://reviews.llvm.org/D85427 Files:

[PATCH] D84781: [SyntaxTree] Use PointerUnion instead of inheritance for alternative clauses in NNS

2020-08-06 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas added inline comments. Comment at: clang/lib/Tooling/Syntax/BuildTree.cpp:788-789 - -// Remove "::" from the `SourceRange` -SR.setEnd(SR.getEnd().getLocWithOffset(-1)); Newbie mistake causing the crash Comment at:

[PATCH] D85440: [SyntaxTree] Implement `NNS` using the `List` base API

2020-08-06 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 283643. eduucaldas added a comment. . Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85440/new/ https://reviews.llvm.org/D85440 Files: clang/include/clang/Tooling/Syntax/Nodes.h

[PATCH] D85440: [SyntaxTree] Implement `NNS` using the `List` base API

2020-08-06 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 283638. eduucaldas added a comment. Clean List specific code Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85440/new/ https://reviews.llvm.org/D85440 Files: clang/include/clang/Tooling/Syntax/Nodes.h

[PATCH] D85439: [SyntaxTree] Expand support for `NestedNameSpecifier`

2020-08-06 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas added a reviewer: gribozavr2. eduucaldas added inline comments. Comment at: clang/lib/Tooling/Syntax/BuildTree.cpp:227-254 +namespace llvm { +template <> struct DenseMapInfo { + using FirstInfo = DenseMapInfo; + using SecondInfo = DenseMapInfo; + + static inline

[PATCH] D85440: [SyntaxTree] Implement `NNS` using the `List` base API

2020-08-06 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. eduucaldas requested review of this revision. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D85440 Files: clang/include/clang/Tooling/Syntax/Nodes.h

[PATCH] D85439: [SyntaxTree] Expand support for `NestedNameSpecifier`

2020-08-06 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. eduucaldas requested review of this revision. We want NestedNameSpecifier syntax nodes to be generally supported, not only for `DeclRefExpr` and `DependentScopedDeclRefExpr`. To achieve this

[PATCH] D84781: Use PointerUnion instead of inheritance for alternative clauses in NNS

2020-08-06 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 283627. eduucaldas added a comment. - [SyntaxTree] Fix crash on name specifier. This diff revision is based on https://reviews.llvm.org/D84348 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84781/new/

[PATCH] D84348: WIP: Add complete id-expression support to syntax trees

2020-08-06 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 283622. eduucaldas added a comment. - Update comments to reflect change in API. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84348/new/ https://reviews.llvm.org/D84348 Files:

[PATCH] D85427: [SyntaxTree][NFC] remove redundant namespace-specifiers

2020-08-06 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. eduucaldas requested review of this revision. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D85427 Files: clang/include/clang/Tooling/Syntax/Nodes.h

[PATCH] D85295: [SyntaxTree] Implement the List construct.

2020-08-06 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 283536. eduucaldas marked 9 inline comments as done. eduucaldas added a comment. Answer comments non-delimited-lists need further discussion Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85295/new/

[PATCH] D85295: [SyntaxTree] Implement the List construct.

2020-08-06 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas added inline comments. Comment at: clang/include/clang/Tooling/Syntax/Tree.h:197 + MaybeTerminated, + Separated, +}; gribozavr2 wrote: > Add a "WithoutDelimiters" case as well? I think we might want to treat non-delimited-list in another way. as

[PATCH] D85316: [SyntaxTree] Proposition of new tree dump

2020-08-06 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas added inline comments. Comment at: clang/unittests/Tooling/Syntax/TreeTest.cpp:3363 +| |-'if' IntroducerKeyword I +| |-'(' I +| |-BinaryOperatorExpression I Some points to make a decision. What should be the order of these extra

[PATCH] D85316: [SyntaxTree] Proposition of new tree dump

2020-08-06 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 283513. eduucaldas added a comment. Reflect comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85316/new/ https://reviews.llvm.org/D85316 Files: clang/unittests/Tooling/Syntax/TreeTest.cpp Index:

[PATCH] D85330: [SyntaxTree] Extend the syntax tree dump

2020-08-06 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 283506. eduucaldas added a comment. Answer comment. Please suggest more descriptive markers. Options I thought of: `I` -> `unmodifiable` `M` -> `not backed by source code` / `synthesized` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D85330: [SyntaxTree] Extend the syntax tree dump

2020-08-05 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 283305. eduucaldas added a comment. Rollback strOfLeaf Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85330/new/ https://reviews.llvm.org/D85330 Files: clang/include/clang/Tooling/Syntax/Tree.h

[PATCH] D85316: [SyntaxTree] Proposition of new tree dump

2020-08-05 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 283298. eduucaldas added a comment. Answering comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85316/new/ https://reviews.llvm.org/D85316 Files: clang/unittests/Tooling/Syntax/TreeTest.cpp Index:

[PATCH] D85330: [SyntaxTree] Extend the syntax tree dump

2020-08-05 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. eduucaldas requested review of this revision. Functional changes in the dump: - Surround Leaf tokens with `'` - Append `Node` dumps with `NodeRole` information, except for unknown roles

[PATCH] D85316: [SyntaxTree] Proposition of new tree dump

2020-08-05 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. eduucaldas requested review of this revision. Some key choices to highlight: - Surround Tokens with "''" - Do not print `UnknownRole`, to reduce noise - Surround Roles with "<", to clarify

[PATCH] D85305: [SyntaxTree] Remove dead code on dump functions

2020-08-05 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. eduucaldas requested review of this revision. - `Node::dumpTokens` was never used. - `::dumpTokens(llvm::raw_ostream, ArrayRef, const SourceManager )` was used twice, once by

[PATCH] D85295: [SyntaxTree] Implement the List construct.

2020-08-05 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas added a reviewer: gribozavr2. eduucaldas added inline comments. Comment at: clang/include/clang/Tooling/Syntax/Tree.h:223 + + // These can't be implemented with the information we have! + As this is a base List, we don't have the necessary

[PATCH] D85295: [SyntaxTree] Implement the List construct.

2020-08-05 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. eduucaldas requested review of this revision. We defined a List construct to help with the implementation of list-like grammar rules. This is a first implementation of this API. Repository:

[PATCH] D85185: [SyntaxTree] Add test coverage for `->*` operator

2020-08-05 Thread Eduardo Caldas via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGc5cdc3e801ad: [SyntaxTree] Add test coverage for `-*` operator (authored by eduucaldas). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D85185: [SyntaxTree] Add test coverage for `->*` operator

2020-08-05 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 283144. eduucaldas added a comment. Answer comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85185/new/ https://reviews.llvm.org/D85185 Files: clang/unittests/Tooling/Syntax/TreeTest.cpp Index:

[PATCH] D85146: [SyntaxTree] Fix crash on pointer to member function

2020-08-04 Thread Eduardo Caldas via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG8ce15f7eeb12: [SyntaxTree] Fix crash on pointer to member function (authored by eduucaldas). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85146/new/

[PATCH] D85186: [SyntaxTree] Add support for `LiteralExpression`

2020-08-04 Thread Eduardo Caldas via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG860cbbdd6b84: [SyntaxTree] Add support for `LiteralExpression` (authored by eduucaldas). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D85186: [SyntaxTree] Add support for `LiteralExpression`

2020-08-04 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. eduucaldas requested review of this revision. We use inheritance to model the grammar's disjunction rule: literal: integer-literal character-literal floating-point-literal

[PATCH] D85185: [SyntaxTree] Add test coverage for `->*` operator

2020-08-04 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. eduucaldas requested review of this revision. This was the last binary operator that we supported but didn't have any test coverage. The recent fix in a crash in member pointers allowed us to

[PATCH] D85146: [SyntaxTree] Fix crash on pointer to member function

2020-08-04 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 282814. eduucaldas marked 2 inline comments as done. eduucaldas added a comment. answer comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85146/new/ https://reviews.llvm.org/D85146 Files:

[PATCH] D85146: [SyntaxTree] Fix crash on pointer to member function

2020-08-03 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas added a comment. Additionally deleting TraverseParenTypeLoc changes nothing in the tests. I can also investigate that, I can try to come up with a test that makes this Traverse override relevant and if I'm not able, I would remove this override. Comment at:

[PATCH] D85146: [SyntaxTree] Fix crash on pointer to member function

2020-08-03 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. eduucaldas requested review of this revision. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D85146 Files: clang/lib/Tooling/Syntax/BuildTree.cpp

[PATCH] D84781: Use PointerUnion instead of inheritance for alternative clauses in NNS

2020-07-28 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. eduucaldas requested review of this revision. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D84781 Files: clang/include/clang/Tooling/Syntax/Nodes.h

[PATCH] D84348: WIP: Add complete id-expression support to syntax trees

2020-07-27 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas marked 2 inline comments as done. eduucaldas added inline comments. Comment at: clang/lib/Tooling/Syntax/BuildTree.cpp:834 + // FIXME: I feel like this could be upstreamed. + SourceRange getUnqualifiedIdSourceRange(DeclRefExpr *S) { +if

[PATCH] D84348: WIP: Add complete id-expression support to syntax trees

2020-07-27 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 280899. eduucaldas marked 9 inline comments as done. eduucaldas added a comment. - Answer code review - Simpler logic for `getUnqualifiedIdSourceRange` and inline it - Remove ambiguously named variable NNS Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D84348: WIP: Add complete id-expression support to syntax trees

2020-07-24 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 280511. eduucaldas added a comment. - Remove UnknownNameSpecifier, answer to comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84348/new/ https://reviews.llvm.org/D84348 Files:

[PATCH] D84348: WIP: Add complete id-expression support to syntax trees

2020-07-24 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 280497. eduucaldas added a comment. - Improve getLocalSourceRange - nested-name-specifier is now a ::-separated list of name-specifiers Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84348/new/

[PATCH] D84348: WIP: Add complete id-expression support to syntax trees

2020-07-23 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 280216. eduucaldas added a comment. Update API to new nested-name-specifier grammar rule Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84348/new/ https://reviews.llvm.org/D84348 Files:

[PATCH] D84348: WIP: Add complete id-expression support to syntax trees

2020-07-22 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas added a reviewer: gribozavr2. eduucaldas marked 6 inline comments as done. eduucaldas added inline comments. Comment at: clang/include/clang/Tooling/Syntax/Nodes.h:101-106 + UnknownNameSpecifier, + GlobalNameSpecifier, + NamespaceNameSpecifier, +

[PATCH] D84348: WIP: Add complete id-expression support to syntax trees

2020-07-22 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D84348 Files: clang/include/clang/Tooling/Syntax/Nodes.h clang/lib/Tooling/Syntax/BuildTree.cpp

[PATCH] D82157: Fix crash on `user defined literals`

2020-07-10 Thread Eduardo Caldas via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGf33c2c27a8d4: Fix crash on `user defined literals` (authored by eduucaldas). Changed prior to commit: https://reviews.llvm.org/D82157?vs=277060=277071#toc Repository: rG LLVM Github Monorepo

[PATCH] D82157: Fix crash on `user defined literals`

2020-07-10 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 277060. eduucaldas marked an inline comment as done. eduucaldas added a comment. Add assert Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82157/new/ https://reviews.llvm.org/D82157 Files:

[PATCH] D82157: Fix crash on `user defined literals`

2020-07-10 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 276960. eduucaldas added a comment. - Add comment explaining complication on LOK_Raw and LOK_Template - Use FileRange::text instead of Lexer::getSpelling Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D82157: Fix crash on `user defined literals`

2020-07-10 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas marked 2 inline comments as done. eduucaldas added inline comments. Comment at: clang/lib/Tooling/Syntax/BuildTree.cpp:723 + syntax::UserDefinedLiteralExpression * + buildUserDefinedLiteral(UserDefinedLiteral *S) { +switch (S->getLiteralOperatorKind()) {

[PATCH] D82157: Fix crash on `user defined literals`

2020-07-10 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas added inline comments. Comment at: clang/unittests/Tooling/Syntax/TreeTest.cpp:1210 + 12_t; // call: operator<'1', '2'> "" _x() | kind: integer + 1.2_t; // call: operator<'1', '2'> "" _x() | kind: float } gribozavr2 wrote: > call -> calls? (as in,

[PATCH] D82157: Fix crash on `user defined literals`

2020-07-10 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 276919. eduucaldas marked 9 inline comments as done. eduucaldas added a comment. Use right function to get TokSpelling, answer comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82157/new/

[PATCH] D82157: Fix crash on `user defined literals`

2020-07-09 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 276772. eduucaldas added a comment. Nothing Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82157/new/ https://reviews.llvm.org/D82157 Files: clang/include/clang/Tooling/Syntax/Nodes.h

[PATCH] D82157: Fix crash on `user defined literals`

2020-07-09 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas marked an inline comment as done. eduucaldas added inline comments. Comment at: clang/lib/Tooling/Syntax/BuildTree.cpp:736 + auto TokSpelling = + Builder.findToken(TokLoc)->text(Context.getSourceManager()); + auto Literal =

[PATCH] D82157: Fix crash on `user defined literals`

2020-07-09 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 276771. eduucaldas added a comment. nothing Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82157/new/ https://reviews.llvm.org/D82157 Files: clang/include/clang/Tooling/Syntax/Nodes.h

[PATCH] D82157: Fix crash on `user defined literals`

2020-07-09 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 276770. eduucaldas added a comment. Add support for integer and floating UDL even for raw literal operator and numeric literal operator template Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82157/new/

[PATCH] D83480: Refactored NumericLiteralParser to not require a Preprocessor

2020-07-09 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas accepted this revision. eduucaldas added a comment. This revision is now accepted and ready to land. Additionally, consider applying a similar change to `CharLiteralParser`, for consistency. All the comments are just suggestions. Feel free to land this without answering them.

[PATCH] D82157: Fix crash on `user defined literals`

2020-07-09 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 276681. eduucaldas added a comment. Document proposed solution for treating raw literal operators and numeric template operators Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82157/new/

[PATCH] D82157: Fix crash on `user defined literals`

2020-07-09 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 276678. eduucaldas added a comment. Polishing patch Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82157/new/ https://reviews.llvm.org/D82157 Files: clang/include/clang/Tooling/Syntax/Nodes.h

[PATCH] D82157: Fix crash on `user defined literals`

2020-07-09 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas added inline comments. Comment at: clang/lib/Tooling/Syntax/BuildTree.cpp:634 +// `SourceLocation`s. As a result one of these nodes has a valid +// `SourceLocation` that doesn't point to a token. +// gribozavr2 wrote: > "The semantic AST

[PATCH] D82157: Fix crash on `user defined literals`

2020-07-09 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas marked 4 inline comments as done. eduucaldas added inline comments. Comment at: clang/include/clang/Tooling/Syntax/Nodes.h:347-357 +/// Expression for an unkonwn user-defined literal. C++ [lex.ext] +class UnknownUserDefinedLiteralExpression final +: public

[PATCH] D82157: Fix crash on `user defined literals`

2020-07-09 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 276638. eduucaldas added a comment. workaround size_t Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82157/new/ https://reviews.llvm.org/D82157 Files: clang/include/clang/Testing/TestClangConfig.h

[PATCH] D82157: Fix crash on `user defined literals`

2020-07-09 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 276637. eduucaldas marked 4 inline comments as done. eduucaldas added a comment. Add support for {Integer,Float,Char,String}UserDefinedLiteral Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82157/new/

[PATCH] D82954: Fix crash on overloaded postfix unary operators due to invalid SourceLocation

2020-07-08 Thread Eduardo Caldas via Phabricator via cfe-commits
This revision was not accepted when it landed; it landed in state "Needs Review". This revision was automatically updated to reflect the committed changes. Closed by commit rGea8bba7e8d0d: Fix crash on overloaded postfix unary operators due to invalid sloc (authored by eduucaldas). Changed

[PATCH] D82157: Fix crash on `user defined literals`

2020-07-08 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas marked 2 inline comments as done. eduucaldas added inline comments. Comment at: clang/unittests/Tooling/Syntax/TreeTest.cpp:1265 +| |-UserDefinedLiteralExpression +| | `-12_w +| `-; gribozavr2 wrote: > It looks somewhat weird to me that

[PATCH] D82954: Fix crash on overloaded postfix unary operators due to invalid SourceLocation

2020-07-08 Thread Eduardo Caldas via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGea8bba7e8d0d: Fix crash on overloaded postfix unary operators due to invalid sloc (authored by eduucaldas). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D82954: Fix crash on overloaded postfix unary operators due to invalid SourceLocation

2020-07-08 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 276411. eduucaldas marked 2 inline comments as done. eduucaldas added a comment. minor fix comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82954/new/ https://reviews.llvm.org/D82954 Files:

[PATCH] D82954: Fix crash on overloaded postfix unary operators due to invalid SourceLocation

2020-07-08 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 276408. eduucaldas marked an inline comment as done. eduucaldas added a comment. Switch to `TraverseCXXOperatorCallExpr` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82954/new/

[PATCH] D82954: Fix crash on overloaded postfix unary operators due to invalid SourceLocation

2020-07-08 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas marked 2 inline comments as done. eduucaldas added inline comments. Comment at: clang/unittests/Tooling/Syntax/TreeTest.cpp:2192 R"cpp( +class osstream {}; struct X { gribozavr2 wrote: > eduucaldas wrote: > > gribozavr2 wrote: > > > I don't

[PATCH] D82157: Fix crash on `user defined literals`

2020-07-08 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 276361. eduucaldas added a comment. Reflect fix on RecursiveASTVisitor Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82157/new/ https://reviews.llvm.org/D82157 Files:

[PATCH] D82954: Fix crash on overloaded postfix unary operators due to invalid SourceLocation

2020-07-08 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 276344. eduucaldas marked 4 inline comments as done. eduucaldas added a comment. answering minor comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82954/new/ https://reviews.llvm.org/D82954 Files:

[PATCH] D82954: Fix crash on overloaded postfix unary operators due to invalid SourceLocation

2020-07-08 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas added inline comments. Comment at: clang/unittests/Tooling/Syntax/TreeTest.cpp:2192 R"cpp( +class osstream {}; struct X { gribozavr2 wrote: > I don't think we need a separate class to show the left shift operator. The > declaration below can

[PATCH] D82954: Fix crash on overloaded postfix unary operators due to invalid SourceLocation

2020-07-07 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 275942. eduucaldas added a comment. Unifying user defined binary operator tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82954/new/ https://reviews.llvm.org/D82954 Files:

[PATCH] D82954: Fix crash on overloaded postfix unary operators due to invalid SourceLocation

2020-07-07 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas added a comment. Comment at: clang/lib/Tooling/Syntax/BuildTree.cpp:741 bool WalkUpFromIntegerLiteral(IntegerLiteral *S) { +if (S->getLocation().isInvalid()) + return true; gribozavr2 wrote: > WDYT about overriding

[PATCH] D82954: Fix crash on overloaded postfix unary operators due to invalid SourceLocation

2020-07-07 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 275940. eduucaldas marked 9 inline comments as done. eduucaldas added a comment. Answering comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82954/new/ https://reviews.llvm.org/D82954 Files:

[PATCH] D82954: Fix crash on overloaded postfix unary operators due to invalid SourceLocation

2020-07-07 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 275930. eduucaldas added a comment. `->*` and `,` are binary operators. Unit tests covering most of the operator kinds Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82954/new/

[PATCH] D82954: Fix crash on overloaded postfix unary operators due to invalid SourceLocation

2020-07-06 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas added inline comments. Comment at: clang/lib/Tooling/Syntax/BuildTree.cpp:188 + case OO_Comma: + case OO_ArrowStar: +return syntax::NodeKind::UnknownExpression; Actually arrow star is treated like a normal binary operator in the [[

[PATCH] D82954: Fix crash on overloaded postfix unary operators due to invalid sloc

2020-07-03 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas added inline comments. Comment at: clang/lib/Tooling/Syntax/BuildTree.cpp:118 +syntax::NodeKind getOperatorNodeKind(const CXXOperatorCallExpr ) { + switch (E.getOperator()) { # Where to put this logic? The pro of having this function inside

[PATCH] D82937: Fix `isInfixBinaryOp` that returned true for postfix ++

2020-07-03 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 275325. eduucaldas added a comment. Remove review formatting noise Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82937/new/ https://reviews.llvm.org/D82937 Files: clang/include/clang/AST/ExprCXX.h

[PATCH] D82937: Fix `isInfixBinaryOp` that returned true for postfix ++

2020-07-03 Thread Eduardo Caldas via Phabricator via cfe-commits
eduucaldas updated this revision to Diff 275317. eduucaldas added a comment. Nits Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82937/new/ https://reviews.llvm.org/D82937 Files: clang/include/clang/AST/ExprCXX.h clang/lib/AST/ExprCXX.cpp

<    1   2   3   4   5   >