]> granicus.if.org Git - clang/commit
[TrailingObjects] Convert ASTTemplateKWAndArgsInfo and ASTTemplateArgumentListInfo.
authorJames Y Knight <jyknight@google.com>
Thu, 24 Dec 2015 02:59:37 +0000 (02:59 +0000)
committerJames Y Knight <jyknight@google.com>
Thu, 24 Dec 2015 02:59:37 +0000 (02:59 +0000)
commitba55d246b9b73175a3c696c00cfe16ed9e0eb266
tree3a4e02f12f798167b0e010291d74b3035af6f16c
parent24447961a8bd4ddc00e8c1871e4b3ba3543252f8
[TrailingObjects] Convert ASTTemplateKWAndArgsInfo and ASTTemplateArgumentListInfo.

Doing so required separating them so that the former doesn't inherit
from the latter anymore. Investigating that, it became clear that the
inheritance wasn't actually providing real value in any case.

So also:
- Remove a bunch of redundant functions (getExplicitTemplateArgs,
  getOptionalExplicitTemplateArgs) on various Expr subclasses which
  depended on the inheritance relationship.
- Switched external callers to use pre-existing accessors that return the
  data they're actually interested in (getTemplateArgs,
  getNumTemplateArgs, etc).
- Switched internal callers to use pre-existing getTemplateKWAndArgsInfo.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@256359 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/Expr.h
include/clang/AST/ExprCXX.h
include/clang/AST/RecursiveASTVisitor.h
include/clang/AST/TemplateBase.h
lib/AST/ItaniumMangle.cpp
lib/AST/StmtProfile.cpp
lib/AST/TemplateBase.cpp
lib/Sema/SemaOverload.cpp
lib/Sema/SemaTemplateDeduction.cpp
lib/Serialization/ASTWriterStmt.cpp
tools/libclang/CIndex.cpp