Benjamin Kramer
d4d80a2903
Bump googletest to 1.10.0
2021-05-14 19:16:31 +02:00
Haojian Wu
780ead41e0
[Syntax] No crash on OpaqueValueExpr.
...
OpaqueValueExpr doesn't correspond to the concrete syntax, it has
invalid source location, ignore them.
Reviewed By: kbobyrev
Differential Revision: https://reviews.llvm.org/D96112
2021-02-18 10:32:04 +01:00
Haojian Wu
e159a3ced4
[Syntax] Remove a strict valid source location assertion for TypeLoc.
...
The EndLoc of a type loc can be invalid for broken code.
Also extend the existing test to support error code with `error-ok`
annotation.
Differential Revision: https://reviews.llvm.org/D96261
2021-02-11 09:53:52 +01:00
Haojian Wu
35a5e88390
[Syntax] NFC, Simplify a test with annotations
2021-02-11 09:49:06 +01:00
Haojian Wu
6c1a23303d
[Syntax] Support condition for IfStmt.
...
Differential Revision: https://reviews.llvm.org/D95782
2021-02-04 09:15:30 +01:00
Arthur O'Dwyer
e181a6aedd
s/instantate/instantiate/ throughout. NFCI.
...
The static_assert in "libcxx/include/memory" was the main offender here,
but then I figured I might as well `git grep -i instantat` and fix all
the instances I found. One was in user-facing HTML documentation;
the rest were in comments or tests.
2020-12-01 22:13:40 -05:00
Eduardo Caldas
5011d43108
Migrate Declarators to use the List API
...
After this change all nodes that have a delimited-list are using the
`List` API.
Implementation details:
Let's look at a declaration with multiple declarators:
`int a, b;`
To generate a declarator list node we need to have the range of
declarators: `a, b`:
However, the `ClangAST` actually stores them as separate declarations:
`int a ;`
`int b;`
We solve that by appropriately marking the declarators on each separate
declaration in the `ClangAST` and then for the final declarator `int
b`, shrinking its range to fit to the already marked declarators.
Differential Revision: https://reviews.llvm.org/D88403
2020-10-01 13:56:31 +00:00
Eduardo Caldas
6dc06fa09d
[SyntaxTree] Add tests for the assignment of the `canModify` tag.
...
Differential Revision: https://reviews.llvm.org/D88077
2020-09-22 13:17:33 +00:00
Eduardo Caldas
e616a42598
[SyntaxTree] Test for '\' inside token.
...
Differential Revision: https://reviews.llvm.org/D87895
2020-09-21 06:56:14 +00:00
Eduardo Caldas
4c14ee61b7
[SyntaxTree] Rename functions to start with verb
...
According to LLVM coding standards:
https://llvm.org/docs/CodingStandards.html#name-types-functions-variables-and-enumerators-properly
Differential Revision: https://reviews.llvm.org/D87498
2020-09-11 14:54:18 +00:00
Eduardo Caldas
c01d28dc51
[SyntaxTree] Specialize `TreeTestBase` for `BuildTreeTest`, `MutationsTest` and `SynthesisTest`
...
Differential Revision: https://reviews.llvm.org/D87374
2020-09-10 16:44:14 +00:00
Eduardo Caldas
f5087d5c72
[SyntaxTree] Fix crash on functions with default arguments.
...
* Do not visit `CXXDefaultArgExpr`
* To build `CallArguments` nodes, just go through non-default arguments
Differential Revision: https://reviews.llvm.org/D87249
2020-09-08 09:49:30 +00:00
Eduardo Caldas
134455a07c
[SyntaxTree] Ignore implicit `CXXFunctionalCastExpr` wrapping constructor
...
Differential Revision: https://reviews.llvm.org/D87229
2020-09-08 09:44:23 +00:00
Eduardo Caldas
46f4439dc9
[SyntaxTree] Ignore implicit leaf `CXXConstructExpr`
...
Differential Revision: https://reviews.llvm.org/D86700
2020-09-08 09:44:23 +00:00
Eduardo Caldas
2325d6b42f
[SyntaxTree] Ignore implicit non-leaf `CXXConstructExpr`
...
Differential Revision: https://reviews.llvm.org/D86699
2020-09-08 09:44:23 +00:00
Eduardo Caldas
a1461953f4
[SyntaxTree] Add coverage for declarators and init-declarators
2020-08-28 12:19:38 +00:00
Eduardo Caldas
718e550cd0
[SyntaxTree] Refactor `NodeRole`s
...
Previously a NodeRole would generally be prefixed with the `NodeKind`,
we remove this prefix, as it we redundant and made tests more noisy.
Differential Revision: https://reviews.llvm.org/D86636
2020-08-27 05:16:00 +00:00
Eduardo Caldas
dc3d474327
[SyntaxTree] Migrate `ParamatersAndQualifiers` to use the new List API
...
Fix: Add missing `List::getTerminationKind()`, `List::canBeEmpty()`,
`List::getDelimiterTokenKind()` for `CallArguments`.
Differential Revision: https://reviews.llvm.org/D86600
2020-08-26 16:46:19 +00:00
Eduardo Caldas
3b75f65e6b
[SyntaxTree] Fix C++ versions on tests of `BuildTreeTest.cpp`
...
Differential Revision: https://reviews.llvm.org/D86591
2020-08-26 07:19:49 +00:00
Eduardo Caldas
2de2ca348d
[SyntaxTree] Add support for `CallExpression`
...
* Generate `CallExpression` syntax node for all semantic nodes inheriting from
`CallExpr` with call-expression syntax - except `CUDAKernelCallExpr`.
* Implement all the accessors
* Arguments of `CallExpression` have their own syntax node which is based on
the `List` base API
Differential Revision: https://reviews.llvm.org/D86544
2020-08-26 07:03:49 +00:00
Eduardo Caldas
be2bc7d4ce
[SyntaxTree] Update `Modifiable` tests to dump `NodeRole` and `unmodifiable` tag
2020-08-25 06:34:48 +00:00
Eduardo Caldas
5c11c08d86
[SyntaxTree] Update `Declaration` tests to dump `NodeRole`
2020-08-25 06:34:47 +00:00
Eduardo Caldas
6118ce79a3
[SyntaxTree] Update `Expression` tests to dump `NodeRole`
2020-08-25 06:34:47 +00:00
Eduardo Caldas
02a9f8a27b
[SyntaxTree] Update `Statement` tests to dump `NodeRole`
2020-08-25 06:34:47 +00:00
Eduardo Caldas
7f426c65b0
[SyntaxTree] Use annotations on ClassTemplate_MemberClassDefinition test
...
Differential Revision: https://reviews.llvm.org/D86470
2020-08-25 06:07:40 +00:00
Eduardo Caldas
b493e4cb3e
[SyntaxTree] Split ConstVolatileQualifiers tests
...
Differential Revision: https://reviews.llvm.org/D86469
2020-08-25 06:07:40 +00:00
Eduardo Caldas
61273f298f
[SyntaxTree] Split `MemberPointer` tests with annotations
...
Differential Revision: https://reviews.llvm.org/D86467
2020-08-25 06:07:40 +00:00
Eduardo Caldas
235f9f7fe9
[SyntaxTree] Split `DynamicExceptionSpecification` test
2020-08-24 14:31:46 +00:00
Eduardo Caldas
4baa163c74
[SyntaxTree] Split `ParametersAndQualifiers` tests
...
Differential Revision: https://reviews.llvm.org/D86459
2020-08-24 14:31:46 +00:00
Eduardo Caldas
90f85dfc14
[SyntaxTree] Group tests related to `using`
...
Differential Revision: https://reviews.llvm.org/D86443
2020-08-24 14:31:46 +00:00
Eduardo Caldas
a722d6a197
[SyntaxTree] Split ExplicitTemplateInstantiation test
...
Differential Revision: https://reviews.llvm.org/D86441
2020-08-24 14:31:45 +00:00
Eduardo Caldas
b4093d663f
[SyntaxTree] Split FreeStandingClass tests
...
Differential Revision: https://reviews.llvm.org/D86440
2020-08-24 14:31:45 +00:00
Eduardo Caldas
ed83095254
[SyntaxTree] Use annotations to reduce noise on member function tests
...
Differential Revision: https://reviews.llvm.org/D86439
2020-08-24 14:31:45 +00:00
Eduardo Caldas
4e8dd506e6
[SyntaxTree] Split array declarator tests
...
Differential Revision: https://reviews.llvm.org/D86437
2020-08-24 14:31:45 +00:00
Eduardo Caldas
1beb11c61a
[SyntaxTree] Use annotations in Statement tests
...
Differential Revision: https://reviews.llvm.org/D86345
2020-08-21 14:42:33 +00:00
Eduardo Caldas
85c15f17cc
[SyntaxTree] Add support for `this`
...
Differential Revision: https://reviews.llvm.org/D86298
2020-08-21 08:01:29 +00:00
Eduardo Caldas
e4e983e240
[SyntaxTree] Split tests related to Namespace
...
Differential Revision: https://reviews.llvm.org/D86139
2020-08-20 15:14:56 +00:00
Eduardo Caldas
ba32915db2
[SyntaxTree] Add support for `MemberExpression`
...
Differential Revision: https://reviews.llvm.org/D86227
2020-08-20 14:57:35 +00:00
Eduardo Caldas
c8c92b54d7
[SyntaxTree] Use Annotations based tests for expressions
...
In this process we also create some other tests, in order to not lose
coverage when focusing on the annotated code
Differential Revision: https://reviews.llvm.org/D85962
2020-08-18 13:00:56 +00:00
Eduardo Caldas
2e4a20fd70
[SyntaxTree] Split `TreeTestBase` into header and source
...
* Switch to using directive on source files.
* Remove unused `SyntaxTreeTest::addFile`
Differential Revision: https://reviews.llvm.org/D85913
2020-08-14 07:29:07 +00:00
Eduardo Caldas
d17437d2bd
[SyntaxTree] Split `TreeTest.cpp`
...
We extract the test infrastructure into `TreeTestBase.h` and split the
tests into `MutationsTest.cpp` and `BuildTreeTest.cpp`
2020-08-13 13:30:57 +00:00