aboutsummaryrefslogtreecommitdiff
path: root/unittests
AgeCommit message (Collapse)Author
2012-11-15Do not use data recursion in ASTMatchFinder.Daniel Jasper
The matchers rely on the complete AST being traversed as shown by the new test cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168022 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-11Fix binding of nodes in case of forEach..() matchers.Daniel Jasper
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 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167695 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-08Fix a source range regression in C++ new expressions with call initializers.David Blaikie
Introduced in r167507, discovered in review by Abramo Bagnara. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167597 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-08Fixed converted ConstantArrayTypeLoc range. Added a missing testcase for ↵Abramo Bagnara
ConstructorDecl source range. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167583 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-08Fixed range of implicit MemberExpr.Abramo Bagnara
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167581 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-07Test for source location range of new expressions fixed in r167507.David Blaikie
Patch by Philip Craig. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167538 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-06Add unit tests for source locations of AST nodes.Manuel Klimek
Patch by Philip Craig. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167470 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-03Escape trigraphs in unittest.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167359 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-02Insert interception point onStartOfTranslationUnit.Manuel Klimek
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167271 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-01Make the FilenameRange of the InclusionDirective callback more accurate,Argyrios Kyrtzidis
preserve the macro location of the range end if the filename came from a macro. Patch by Kim Gräsman! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167239 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-30Implement descendant matchers for NestedNamespecifiersDaniel Jasper
This implements has(), hasDescendant(), forEach() and forEachDescendant() for NestedNameSpecifier and NestedNameSpecifierLoc matchers. Review: http://llvm-reviews.chandlerc.com/D86 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167017 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-29Fix ASTMatchersTests to not create an overloaded-virtual warning.Daniel Jasper
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166921 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-29Implement has(), hasDescendant(), forEach() and forEachDescendant() forDaniel Jasper
Types, QualTypes and TypeLocs. Review: http://llvm-reviews.chandlerc.com/D83 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166917 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-25unittests/ToolingTest.cpp: Suppress ↵NAKAMURA Takumi
newFrontendActionFactory.InjectsEndOfSourceFileCallback on Win32 for now. Investigating. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166674 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-25Adds the possibility to inject a callback that's called after each ↵Manuel Klimek
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166671 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-24Teach the preprocessor to hold onto the preprocessor options.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166599 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-24Update unit tests for HeaderSearch changeDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166584 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-24Adds the possibility to run ASTMatchFinder over arbitrary AST nodes.Manuel Klimek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166567 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-23Tweak include orderDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166521 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-23Buildbot debugging is funDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166516 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-23One last unit-test fixDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166513 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-23More unit-test fixesDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166511 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-23Fixup unit tests for DiagnosticOptions changeDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166509 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-23Make hasDeclaration() matcher work inside the memberExpr() matcher.Daniel Jasper
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166479 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-23Implements the thisExpr matcher.Manuel Klimek
Patch by Gabor Horvath. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166477 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-22Implement hasParent()-matcher.Daniel Jasper
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166421 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-18[doc parsing] use getParamName to access parameter Fariborz Jahanian
for current(rewritten) comment and getParamNameAsWritten to access param name coming with \param marker. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166231 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-18Patch for decl printer test of objective-c methods.Fariborz Jahanian
Patch by Dmitri Gribenko. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166209 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-17Fix tests, which accidentally matched implicit code on specificDaniel Jasper
platforms to make buildbots happy. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166100 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-17First version of matchers for Types and TypeLocs.Daniel Jasper
Review: http://llvm-reviews.chandlerc.com/D47 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166094 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-17Fix the handling of target options in our unit tests.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166079 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-15structured document comment: patch to provide comment for overriding functionFariborz Jahanian
template when comment is comming from overridden declaration. // rdar://12378793 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165953 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-10[Doc parsing] This patch searches overridden objc/c++Fariborz Jahanian
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165643 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-08CompilationDatabaseTest: Fix another Windows path issue.Daniel Jasper
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165425 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-08CompilationDatabase: Use //net paths for tests, as they should beDaniel Jasper
considered absolute on all platforms. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165422 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-08FileNameMatchTrie: Use StringRef instead of Twines where possible.Daniel Jasper
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165412 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-08Support symlinks and relative paths in complilation databases.Daniel Jasper
Review: http://llvm-reviews.chandlerc.com/D30 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165392 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-01Fix ASTMatchersTests in configurations whereDaniel Jasper
"#include <initializer_list>" is unavailable for whatever reason. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164944 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-01Add matchers for selected C++11 features.Daniel Jasper
Patch by Gábor Horváth. Review: http://llvm-reviews.chandlerc.com/D46 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164943 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-29Fix refersToDeclaration()-matcher and add missing test case. This wasDaniel Jasper
broken as of r164656 as TemplateArgument::getAsDecl() now asserts instead of returning NULL for other template arugment kinds. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164896 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-29Move the 'find macro by spelling' infrastructure to the Preprocessor class andDmitri Gribenko
use it to suggest appropriate macro for __attribute__((deprecated)) in -Wdocumentation-deprecated-sync. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164892 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-24unittests/AST/StmtPrinterTest.cpp: Suppress a LP64-assumed test, ↵NAKAMURA Takumi
"0x100000000i128 => 4294967296L", for now. LONG_MAX is 2147483647L on common 32 bit and LLP64 (Windows x64). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164478 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-23As a followup for r164303, add some tests for printing literals that testDmitri Gribenko
printing directly rather than through a complicated machinery of ObjC rewriter. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164477 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-20Add some matchers for basic AST nodes.Daniel Jasper
Patch by Gábor Horváth. Review: http://llvm-reviews.chandlerc.com/D45 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164304 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-18Fix isDerivedFrom matcher.Daniel Jasper
Without this patch, the isDerivedFrom matcher asserts in the "assert(ClassDecl != NULL);" in the new test, as a DependentTemplateSpecilizationType is not a sub-type of TemplateSpecializationType and also does not offer getAsCXXRecordDecl(). I am not sure why this did not cause problems before. It is now (after the changed implementation of isDerivedFrom) easier to write a matcher that actually gets into this branch of the code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164127 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-18Add missing matcher for C-style cast expressions.Daniel Jasper
Patch by Gábor Horváth. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164123 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-18Make all VariadicDynCast-Expr-matchers StatementMatchersDaniel Jasper
Having Expr-subclass-matchers being VariadicDynCast-Expr-matchers does not provide additional type safety and just makes using them harder. In the clang AST, expressions are always statements and an expression matcher can be used anywhere, a statement matcher is expected. Any given matcher definition still has at least one noun. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164121 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-14Comment parsing: don't parse comment marker followed by a digit as a commandDmitri Gribenko
since no Doxygen command starts with a digit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163909 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-13Create initial support for matching and binding NestedNameSpecifier(Loc)s.Daniel Jasper
Review: http://llvm-reviews.chandlerc.com/D39 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163794 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-12Rename isA to isSameOrDerivedFrom.Daniel Jasper
There are two evils we can choose from: - Name overlap between isA-matcher and llvm::isa<>() - Bad name for what the isA-matcher currently does After some discussion we have agreed to go with the latter evil. Review: http://llvm-reviews.chandlerc.com/D40 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163740 91177308-0d34-0410-b5e6-96231b3b80d8