llvm-project/clang/lib/AST
Benjamin Kramer 36307ffa1b [AST] Put TypeLocs and NestedNameSpecifierLocs into the ParentMap.
Firstly this changes the type of parent map to be keyed on DynTypedNode to
simplify the following changes. This comes with a DenseMapInfo for
DynTypedNode, which is a bit incomplete still and will probably only work
for parentmap right now.

Then the RecursiveASTVisitor in ASTContext is updated and finally
ASTMatchers hasParent and hasAncestor learn about the new functionality.

Now ParentMap is only missing TemplateArgumentLocs and CXXCtorInitializers.

Differential Revision: http://reviews.llvm.org/D13897

llvm-svn: 250831
2015-10-20 15:08:46 +00:00
..
APValue.cpp Simplify creation of a bunch of ArrayRefs by using None, makeArrayRef or just letting them be implicitly created. 2014-08-27 06:28:36 +00:00
ASTConsumer.cpp Introduce a PCHContainerOperations interface (NFC). 2015-06-20 18:53:08 +00:00
ASTContext.cpp [AST] Put TypeLocs and NestedNameSpecifierLocs into the ParentMap. 2015-10-20 15:08:46 +00:00
ASTDiagnostic.cpp Support __builtin_ms_va_list. 2015-09-17 20:55:33 +00:00
ASTDumper.cpp PR14858: Initial support for proper sizeof... handling within alias templates. 2015-09-23 21:41:42 +00:00
ASTImporter.cpp Roll-back r250822. 2015-10-20 13:23:58 +00:00
ASTTypeTraits.cpp Fix bug in DynTypedMatcher::constructVariadic() that would cause false negatives. 2014-10-06 13:14:30 +00:00
AttrImpl.cpp Devirtualize Attr and all subclasses. 2015-03-19 16:06:49 +00:00
CMakeLists.txt Move functions declared in Stmt{ObjC,CXX}.h and OpenMPClause.h into 2015-10-02 13:41:04 +00:00
CXXABI.h [MS ABI] Correctly mangle classes without names for linkage purposes 2015-08-31 18:48:39 +00:00
CXXInheritance.cpp unique_ptrify CXXBasePaths::DeclsFound & remove the then-unnecessary user-defined dtor 2015-08-18 23:56:00 +00:00
Comment.cpp Use llvm::makeArrayRef instead of explicitly calling ArrayRef constructor and mentioning the type. This works now that we have a conversion from ArrayRef<T*> to ArrayRef<const T*>. 2014-08-30 16:55:39 +00:00
CommentBriefParser.cpp
CommentCommandTraits.cpp Fix for PR21254 - Assertion in comment parser 2014-10-15 16:18:20 +00:00
CommentLexer.cpp Comment parsing: fix an assertion failure on a verbatim block terminated with "**/" 2015-04-15 23:45:43 +00:00
CommentParser.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
CommentSema.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
Decl.cpp [MSVC Compat] Enable ABI impacting non-conforming behavior independently of -fms-compatibility 2015-10-08 04:53:31 +00:00
DeclBase.cpp Roll-back r250822. 2015-10-20 13:23:58 +00:00
DeclCXX.cpp [AST] Turn the callbacks of lookupInBases and forallBases into a function_ref 2015-07-25 15:07:25 +00:00
DeclFriend.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
DeclGroup.cpp Replace custom alignment enforcement with LLVM_ALIGNAS. 2015-04-02 12:25:07 +00:00
DeclObjC.cpp DeclObjC: Move computing the type of self into a separate function (NFC). 2015-07-08 22:15:59 +00:00
DeclOpenMP.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
DeclPrinter.cpp [ATTR] Automatic line feed after pragma-like attribute. 2015-10-12 06:59:48 +00:00
DeclTemplate.cpp Convert a few classes over to use the new TrailingObjects helper. 2015-08-06 20:26:32 +00:00
DeclarationName.cpp When pretty-printing a C++11 literal operator, don't insert whitespace between 2015-10-08 00:17:59 +00:00
Expr.cpp [OPENMP 4.1] Codegen for array sections/subscripts in 'reduction' clause. 2015-10-08 09:10:53 +00:00
ExprCXX.cpp Fix FunctionParmPackExpr::Create() to take a ParmVarDecl* array. 2015-09-30 14:04:23 +00:00
ExprClassification.cpp [OPENMP 4.0] Initial support for array sections. 2015-08-25 14:24:04 +00:00
ExprConstant.cpp Make __builtin_object_size more conservative 2015-10-16 01:49:01 +00:00
ExprObjC.cpp Move functions declared in ExprObjC.h into ExprObjC.cpp. 2015-09-29 22:28:44 +00:00
ExternalASTSource.cpp Roll-back r250822. 2015-10-20 13:23:58 +00:00
InheritViz.cpp InheritViz: Hide implementation details 2015-03-09 15:03:20 +00:00
ItaniumCXXABI.cpp [MS ABI] Correctly mangle classes without names for linkage purposes 2015-08-31 18:48:39 +00:00
ItaniumMangle.cpp PR14858: Initial support for proper sizeof... handling within alias templates. 2015-09-23 21:41:42 +00:00
Makefile
Mangle.cpp Remove and forbid raw_svector_ostream::flush() calls. 2015-08-13 18:12:56 +00:00
MicrosoftCXXABI.cpp [MS ABI] Cleanup get*ForUnnamedTagDecl 2015-09-01 01:53:07 +00:00
MicrosoftMangle.cpp Run clang-format to unify the switch statement style as suggest here: http://reviews.llvm.org/D12855#246073. 2015-09-15 12:18:29 +00:00
NSAPI.cpp [OpenCL] Add new types for OpenCL 2.0. 2015-09-15 11:18:52 +00:00
NestedNameSpecifier.cpp [UB] Fix the two ways that we would try to memcpy from a null buffer in 2015-08-04 03:52:56 +00:00
OpenMPClause.cpp [OPENMP 4.1] Codegen for array sections/subscripts in 'reduction' clause. 2015-10-08 09:10:53 +00:00
ParentMap.cpp Switch users of the 'for (StmtRange range = stmt->children(); range; ++range)‘ pattern to range for loops. 2015-07-02 21:03:14 +00:00
RawCommentList.cpp Allow any comment to be a trailing comment when -fparse-all-comments is on. 2015-07-15 19:13:39 +00:00
RecordLayout.cpp CXXInfo memory should be released after calling the destructor 2014-05-24 07:19:25 +00:00
RecordLayoutBuilder.cpp Don't adjust field offsets when using external record layout. 2015-10-01 22:08:02 +00:00
SelectorLocationsKind.cpp
Stmt.cpp Move functions declared in Stmt{ObjC,CXX}.h and OpenMPClause.h into 2015-10-02 13:41:04 +00:00
StmtCXX.cpp Move functions declared in Stmt{ObjC,CXX}.h and OpenMPClause.h into 2015-10-02 13:41:04 +00:00
StmtIterator.cpp StmtIterator: Put stmt and decl group pointer into a union. 2015-07-03 15:12:36 +00:00
StmtObjC.cpp Move functions declared in Stmt{ObjC,CXX}.h and OpenMPClause.h into 2015-10-02 13:41:04 +00:00
StmtOpenMP.cpp Move functions declared in Stmt{ObjC,CXX}.h and OpenMPClause.h into 2015-10-02 13:41:04 +00:00
StmtPrinter.cpp Roll-back r250822. 2015-10-20 13:23:58 +00:00
StmtProfile.cpp [OPENMP 4.1] Codegen for array sections/subscripts in 'reduction' clause. 2015-10-08 09:10:53 +00:00
StmtViz.cpp
TemplateBase.cpp [AST] ArrayRefize template argument packs. No functionality change intended. 2015-08-05 09:40:22 +00:00
TemplateName.cpp [AST] ArrayRefize template argument packs. No functionality change intended. 2015-08-05 09:40:22 +00:00
Type.cpp Revert part of r248660 as using None didn't work with the ArrayRef being returned as an Optional. 2015-09-26 05:42:17 +00:00
TypeLoc.cpp Replace double-negated !SourceLocation.isInvalid() with SourceLocation.isValid(). 2015-10-03 05:15:57 +00:00
TypePrinter.cpp Implement the Objective-C __kindof type qualifier. 2015-07-07 03:58:42 +00:00
VTTBuilder.cpp Update for LLVM API change to make Small(Ptr)Set::insert return pair<iterator, bool> as per the C++ standard's associative container concept. 2014-11-19 07:49:47 +00:00
VTableBuilder.cpp Roll-back r250822. 2015-10-20 13:23:58 +00:00