aboutsummaryrefslogtreecommitdiff
path: root/clang/include
diff options
context:
space:
mode:
authorNuno Lopes <nuno.lopes@tecnico.ulisboa.pt>2022-07-22 21:33:22 +0100
committerNuno Lopes <nuno.lopes@tecnico.ulisboa.pt>2022-07-22 21:33:22 +0100
commit6a1ccf61cdf80c793f9c699ada33af5d85263b30 (patch)
tree8661a717050332cae989799caf67f62433fdc719 /clang/include
parent31d8dbd1e5b4ee0fd04bfeb3a64d8f9f33260905 (diff)
downloadllvm-6a1ccf61cdf80c793f9c699ada33af5d85263b30.zip
llvm-6a1ccf61cdf80c793f9c699ada33af5d85263b30.tar.gz
llvm-6a1ccf61cdf80c793f9c699ada33af5d85263b30.tar.bz2
Revert "[NFC] Add some additional features to MultiLevelTemplateArgumentList"
This reverts commit 0b36a62d5f3505e21692ae0abf25ef00836329e3. It breaks the assertion build
Diffstat (limited to 'clang/include')
-rw-r--r--clang/include/clang/Sema/Template.h34
1 files changed, 0 insertions, 34 deletions
diff --git a/clang/include/clang/Sema/Template.h b/clang/include/clang/Sema/Template.h
index 495555b..5dcde77 100644
--- a/clang/include/clang/Sema/Template.h
+++ b/clang/include/clang/Sema/Template.h
@@ -75,8 +75,6 @@ enum class TemplateSubstitutionKind : char {
class MultiLevelTemplateArgumentList {
/// The template argument list at a certain template depth
using ArgList = ArrayRef<TemplateArgument>;
- using ArgListsIterator = SmallVector<ArgList, 4>::iterator;
- using ConstArgListsIterator = SmallVector<ArgList, 4>::const_iterator;
/// The template argument lists, stored from the innermost template
/// argument list (first) to the outermost template argument list (last).
@@ -123,12 +121,6 @@ enum class TemplateSubstitutionKind : char {
return TemplateArgumentLists.size();
}
- // Determine the number of substituted args at 'Depth'.
- unsigned getNumSubsitutedArgs(unsigned Depth) const {
- assert(NumretainedOuterLevels <= Depth && Depth < getNumLevels());
- return TemplateArgumentLists[getNumLevels() - Depth - 1].size();
- }
-
unsigned getNumRetainedOuterLevels() const {
return NumRetainedOuterLevels;
}
@@ -166,14 +158,6 @@ enum class TemplateSubstitutionKind : char {
return !(*this)(Depth, Index).isNull();
}
- bool isAnyArgInstantiationDependent() const {
- for (ArgList List : TemplateArgumentLists)
- for (const TemplateArgument &TA : List)
- if (TA.isInstantiationDependent())
- return true;
- return false;
- }
-
/// Clear out a specific template argument.
void setArgument(unsigned Depth, unsigned Index,
TemplateArgument Arg) {
@@ -199,14 +183,6 @@ enum class TemplateSubstitutionKind : char {
TemplateArgumentLists.push_back(Args);
}
- /// Replaces the current 'innermost' level with the provided argument list.
- /// This is useful for type deduction cases where we need to get the entire
- /// list from the AST, but then add the deduced innermost list.
- void replaceInnermostTemplateArguments(ArgList Args) {
- assert(TemplateArgumentLists.size() > 0 && "Replacing in an empty list?");
- TemplateArgumentLists[0] = Args;
- }
-
/// Add an outermost level that we are not substituting. We have no
/// arguments at this level, and do not remove it from the depth of inner
/// template parameters that we instantiate.
@@ -221,16 +197,6 @@ enum class TemplateSubstitutionKind : char {
const ArgList &getInnermost() const {
return TemplateArgumentLists.front();
}
- /// Retrieve the outermost template argument list.
- const ArgList &getOutermost() const {
- return TemplateArgumentLists.back();
- }
- ArgListsIterator begin() { return TemplateArgumentLists.begin(); }
- ConstArgListsIterator begin() const {
- return TemplateArgumentLists.begin();
- }
- ArgListsIterator end() { return TemplateArgumentLists.end(); }
- ConstArgListsIterator end() const { return TemplateArgumentLists.end(); }
};
/// The context in which partial ordering of function templates occurs.