Daniel Jasper
f793511579
Initial version of formatting library.
...
This formatting library will be used by a stand-alone clang-format tool
and can also be used when writing other refactorings.
Manuel's original design document:
https://docs.google.com/a/google.com/document/d/1gpckL2U_6QuU9YW2L1ABsc4Fcogn5UngKk7fE5dDOoA/edit
The library can already successfully format itself.
Review: http://llvm-reviews.chandlerc.com/D80
llvm-svn: 169137
2012-12-03 18:12:45 +00:00
Daniel Jasper
856194d00c
Make hasDeclaration work for enums.
...
llvm-svn: 169129
2012-12-03 15:43:25 +00:00
Benjamin Kramer
e5015e57c2
Update unit tests not to rely on transitive includes.
...
llvm-svn: 169096
2012-12-01 17:22:05 +00:00
Douglas Gregor
8c05893746
Fix unit tests for ModuleLoader change in r168961.
...
llvm-svn: 168962
2012-11-30 00:01:57 +00:00
Richard Smith
f41d237bf6
Remove out-of-date comment.
...
llvm-svn: 168957
2012-11-29 23:09:57 +00:00
NAKAMURA Takumi
c2b2b75bd5
ASTTests/StmtPrinterTest/StmtPrinter.TestMSIntegerLiteral: Remove i128 stuff. Conditioning-out in macro argument was not accepted on MS cl.exe.
...
llvm-svn: 168867
2012-11-29 10:22:40 +00:00
NAKAMURA Takumi
b2df62570e
ASTTests/StmtPrinterTest/StmtPrinter.TestMSIntegerLiteral: Suppress i128 according to r168856, for now.
...
I think "i128", that I conditioned out, could be completely removed.
MS Compiler doesn't accept i128. We can assume no one would use i128.
llvm-svn: 168865
2012-11-29 09:57:11 +00:00
Richard Smith
9219d1b764
Allow an ASTConsumer to selectively skip function bodies while parsing. Patch
...
by Olivier Goffart!
llvm-svn: 168726
2012-11-27 21:31:01 +00:00
Daniel Jasper
94a56856d2
Fix partial-match-bind-behavior with forEachDescendant() matchers.
...
The problem is that a partial match of an (explicit or implicit) allOf matcher
binds results, i.e.
recordDecl(decl().bind("x"), hasName("A"))
can very well bind a record that is not named "A". With this fix, the common
cases of stumbling over this bug are fixed by the BoundNodesMap overwriting the
results of a partial match. An error can still be created with a weird
combination of anyOf and allOf (see inactive test). We need to decide whether
this is worth fixing, as the fix will have performance impact.
Review: http://llvm-reviews.chandlerc.com/D124
llvm-svn: 168177
2012-11-16 18:39:22 +00:00
NAKAMURA Takumi
fe40a35075
clang/unittests: Fixup corresponding to Doug's r168136.
...
llvm-svn: 168137
2012-11-16 04:40:11 +00:00
Daniel Jasper
0f9f019ff8
Do not use data recursion in ASTMatchFinder.
...
The matchers rely on the complete AST being traversed as shown by the new test cases.
llvm-svn: 168022
2012-11-15 03:29:05 +00:00
Daniel Jasper
33806cdefc
Fix binding of nodes in case of forEach..() matchers.
...
When recursively visiting the generated matches, the aggregated bindings need
to be copied during the recursion. Otherwise, we they might not be properly
overwritten (which is shown by the test), or there might be bound nodes present
that were bound on a different matching branch.
Review: http://llvm-reviews.chandlerc.com/D112
llvm-svn: 167695
2012-11-11 22:14:55 +00:00
David Blaikie
3a0de21233
Fix a source range regression in C++ new expressions with call initializers.
...
Introduced in r167507, discovered in review by Abramo Bagnara.
llvm-svn: 167597
2012-11-08 22:53:48 +00:00
Abramo Bagnara
341ab737e9
Fixed converted ConstantArrayTypeLoc range. Added a missing testcase for ConstructorDecl source range.
...
llvm-svn: 167583
2012-11-08 14:44:42 +00:00
Abramo Bagnara
9b836fb019
Fixed range of implicit MemberExpr.
...
llvm-svn: 167581
2012-11-08 13:52:58 +00:00
David Blaikie
b9db60fbce
Test for source location range of new expressions fixed in r167507.
...
Patch by Philip Craig.
llvm-svn: 167538
2012-11-07 17:17:07 +00:00
Manuel Klimek
e6de22d3dc
Add unit tests for source locations of AST nodes.
...
Patch by Philip Craig.
llvm-svn: 167470
2012-11-06 17:31:40 +00:00
Benjamin Kramer
f9db130715
Escape trigraphs in unittest.
...
llvm-svn: 167359
2012-11-03 20:58:26 +00:00
Manuel Klimek
bd0e2b7111
Insert interception point onStartOfTranslationUnit.
...
Often users of the ASTMatchers want to add tasks that are done once per
translation unit, for example, cleaning up caches. Combined with the
interception point for the end of source file one can add to the factory
creation, this covers the cases we've seen users need.
llvm-svn: 167271
2012-11-02 01:31:03 +00:00
Argyrios Kyrtzidis
2edbc86809
Make the FilenameRange of the InclusionDirective callback more accurate,
...
preserve the macro location of the range end if the filename came from a macro.
Patch by Kim Gräsman!
llvm-svn: 167239
2012-11-01 17:52:58 +00:00
Daniel Jasper
6fc3433b15
Implement descendant matchers for NestedNamespecifiers
...
This implements has(), hasDescendant(), forEach() and
forEachDescendant() for NestedNameSpecifier and NestedNameSpecifierLoc
matchers.
Review: http://llvm-reviews.chandlerc.com/D86
llvm-svn: 167017
2012-10-30 15:42:00 +00:00
Daniel Jasper
e9aa6878c9
Fix ASTMatchersTests to not create an overloaded-virtual warning.
...
llvm-svn: 166921
2012-10-29 10:48:25 +00:00
Daniel Jasper
d29d5fa3f2
Implement has(), hasDescendant(), forEach() and forEachDescendant() for
...
Types, QualTypes and TypeLocs.
Review: http://llvm-reviews.chandlerc.com/D83
llvm-svn: 166917
2012-10-29 10:14:44 +00:00
NAKAMURA Takumi
95fd41aeac
unittests/ToolingTest.cpp: Suppress newFrontendActionFactory.InjectsEndOfSourceFileCallback on Win32 for now. Investigating.
...
llvm-svn: 166674
2012-10-25 09:38:41 +00:00
Manuel Klimek
8246d87db0
Adds the possibility to inject a callback that's called after each translation unit is processed.
...
This is important when one wants to deduplicate results during one run over a translation unit by pointer identity of AST nodes.
llvm-svn: 166671
2012-10-25 08:49:11 +00:00
Douglas Gregor
1452ff155b
Teach the preprocessor to hold onto the preprocessor options.
...
llvm-svn: 166599
2012-10-24 17:46:57 +00:00
Douglas Gregor
40ba1a0191
Update unit tests for HeaderSearch change
...
llvm-svn: 166584
2012-10-24 16:24:38 +00:00
Manuel Klimek
c268745011
Adds the possibility to run ASTMatchFinder over arbitrary AST nodes.
...
llvm-svn: 166567
2012-10-24 14:47:44 +00:00
Douglas Gregor
949cc50962
Tweak include order
...
llvm-svn: 166521
2012-10-23 23:13:50 +00:00
Douglas Gregor
275e8834c1
Buildbot debugging is fun
...
llvm-svn: 166516
2012-10-23 22:55:10 +00:00
Douglas Gregor
3f7d548a16
One last unit-test fix
...
llvm-svn: 166513
2012-10-23 22:43:37 +00:00
Douglas Gregor
edf8e38701
More unit-test fixes
...
llvm-svn: 166511
2012-10-23 22:38:58 +00:00
Douglas Gregor
d8cfd399fa
Fixup unit tests for DiagnosticOptions change
...
llvm-svn: 166509
2012-10-23 22:31:51 +00:00
Daniel Jasper
b0c7b61730
Make hasDeclaration() matcher work inside the memberExpr() matcher.
...
llvm-svn: 166479
2012-10-23 15:46:39 +00:00
Manuel Klimek
7fca93b428
Implements the thisExpr matcher.
...
Patch by Gabor Horvath.
llvm-svn: 166477
2012-10-23 10:40:50 +00:00
Daniel Jasper
632aea92a5
Implement hasParent()-matcher.
...
llvm-svn: 166421
2012-10-22 16:26:51 +00:00
Fariborz Jahanian
9d2f1e753b
[doc parsing] use getParamName to access parameter
...
for current(rewritten) comment and getParamNameAsWritten
to access param name coming with \param marker.
llvm-svn: 166231
2012-10-18 21:42:42 +00:00
Fariborz Jahanian
e0586a574e
Patch for decl printer test of objective-c methods.
...
Patch by Dmitri Gribenko.
llvm-svn: 166209
2012-10-18 19:12:17 +00:00
Daniel Jasper
7943eb5cb5
Fix tests, which accidentally matched implicit code on specific
...
platforms to make buildbots happy.
llvm-svn: 166100
2012-10-17 13:35:36 +00:00
Daniel Jasper
516b02e548
First version of matchers for Types and TypeLocs.
...
Review: http://llvm-reviews.chandlerc.com/D47
llvm-svn: 166094
2012-10-17 08:52:59 +00:00
Douglas Gregor
44d6361ed7
Fix the handling of target options in our unit tests.
...
llvm-svn: 166079
2012-10-17 00:11:35 +00:00
Fariborz Jahanian
14ec3f3acb
structured document comment: patch to provide comment for overriding function
...
template when comment is comming from overridden declaration.
// rdar://12378793
llvm-svn: 165953
2012-10-15 18:58:50 +00:00
Fariborz Jahanian
1c883b9b57
[Doc parsing] This patch searches overridden objc/c++
...
methods looking for documentation on a particular base
class inherited by any method that overrides the base class.
In case of redeclaration, as when objc method is defined
in the implementation, it also looks up for documentation
in class/class extension being redeclared.
llvm-svn: 165643
2012-10-10 18:34:52 +00:00
Daniel Jasper
6b108a617d
CompilationDatabaseTest: Fix another Windows path issue.
...
llvm-svn: 165425
2012-10-08 20:32:51 +00:00
Daniel Jasper
5697f99f98
CompilationDatabase: Use //net paths for tests, as they should be
...
considered absolute on all platforms.
llvm-svn: 165422
2012-10-08 20:08:25 +00:00
Daniel Jasper
fddb32c3d6
FileNameMatchTrie: Use StringRef instead of Twines where possible.
...
llvm-svn: 165412
2012-10-08 18:31:54 +00:00
Daniel Jasper
26cf9c4379
Support symlinks and relative paths in complilation databases.
...
Review: http://llvm-reviews.chandlerc.com/D30
llvm-svn: 165392
2012-10-08 16:08:15 +00:00
Daniel Jasper
6f595397bc
Fix ASTMatchersTests in configurations where
...
"#include <initializer_list>" is unavailable for whatever reason.
llvm-svn: 164944
2012-10-01 15:05:34 +00:00
Daniel Jasper
5901e47e8f
Add matchers for selected C++11 features.
...
Patch by Gábor Horváth.
Review: http://llvm-reviews.chandlerc.com/D46
llvm-svn: 164943
2012-10-01 13:40:41 +00:00
Daniel Jasper
0c30337f6b
Fix refersToDeclaration()-matcher and add missing test case. This was
...
broken as of r164656 as TemplateArgument::getAsDecl() now asserts
instead of returning NULL for other template arugment kinds.
llvm-svn: 164896
2012-09-29 15:55:18 +00:00