@@ -1290,7 +1290,7 @@ class CXXDefaultArgExpr final
1290
1290
CXXDefaultArgExprBits.Loc = Loc;
1291
1291
CXXDefaultArgExprBits.HasRewrittenInit = RewrittenExpr != nullptr ;
1292
1292
if (RewrittenExpr)
1293
- *getTrailingObjects<Expr *> () = RewrittenExpr;
1293
+ *getTrailingObjects () = RewrittenExpr;
1294
1294
setDependence (computeDependence (this ));
1295
1295
}
1296
1296
@@ -1323,7 +1323,7 @@ class CXXDefaultArgExpr final
1323
1323
}
1324
1324
1325
1325
Expr *getRewrittenExpr () {
1326
- return hasRewrittenInit () ? *getTrailingObjects<Expr *> () : nullptr ;
1326
+ return hasRewrittenInit () ? *getTrailingObjects () : nullptr ;
1327
1327
}
1328
1328
1329
1329
const Expr *getRewrittenExpr () const {
@@ -1421,14 +1421,14 @@ class CXXDefaultInitExpr final
1421
1421
// / any.
1422
1422
const Expr *getRewrittenExpr () const {
1423
1423
assert (hasRewrittenInit () && " expected a rewritten init expression" );
1424
- return *getTrailingObjects<Expr *> ();
1424
+ return *getTrailingObjects ();
1425
1425
}
1426
1426
1427
1427
// / Retrieve the initializing expression with evaluated immediate calls, if
1428
1428
// / any.
1429
1429
Expr *getRewrittenExpr () {
1430
1430
assert (hasRewrittenInit () && " expected a rewritten init expression" );
1431
- return *getTrailingObjects<Expr *> ();
1431
+ return *getTrailingObjects ();
1432
1432
}
1433
1433
1434
1434
const DeclContext *getUsedContext () const { return UsedContext; }
@@ -1982,8 +1982,8 @@ class LambdaExpr final : public Expr,
1982
1982
// / Construct an empty lambda expression.
1983
1983
LambdaExpr (EmptyShell Empty, unsigned NumCaptures);
1984
1984
1985
- Stmt **getStoredStmts () { return getTrailingObjects<Stmt *> (); }
1986
- Stmt *const *getStoredStmts () const { return getTrailingObjects<Stmt *> (); }
1985
+ Stmt **getStoredStmts () { return getTrailingObjects (); }
1986
+ Stmt *const *getStoredStmts () const { return getTrailingObjects (); }
1987
1987
1988
1988
void initBodyIfNeeded () const ;
1989
1989
@@ -3621,7 +3621,7 @@ class ExprWithCleanups final
3621
3621
ArrayRef<CleanupObject> objects);
3622
3622
3623
3623
ArrayRef<CleanupObject> getObjects () const {
3624
- return getTrailingObjects<CleanupObject> (getNumObjects ());
3624
+ return getTrailingObjects (getNumObjects ());
3625
3625
}
3626
3626
3627
3627
unsigned getNumObjects () const { return ExprWithCleanupsBits.NumObjects ; }
@@ -3742,14 +3742,14 @@ class CXXUnresolvedConstructExpr final
3742
3742
using arg_iterator = Expr **;
3743
3743
using arg_range = llvm::iterator_range<arg_iterator>;
3744
3744
3745
- arg_iterator arg_begin () { return getTrailingObjects<Expr *> (); }
3745
+ arg_iterator arg_begin () { return getTrailingObjects (); }
3746
3746
arg_iterator arg_end () { return arg_begin () + getNumArgs (); }
3747
3747
arg_range arguments () { return arg_range (arg_begin (), arg_end ()); }
3748
3748
3749
3749
using const_arg_iterator = const Expr* const *;
3750
3750
using const_arg_range = llvm::iterator_range<const_arg_iterator>;
3751
3751
3752
- const_arg_iterator arg_begin () const { return getTrailingObjects<Expr *> (); }
3752
+ const_arg_iterator arg_begin () const { return getTrailingObjects (); }
3753
3753
const_arg_iterator arg_end () const { return arg_begin () + getNumArgs (); }
3754
3754
const_arg_range arguments () const {
3755
3755
return const_arg_range (arg_begin (), arg_end ());
@@ -3860,10 +3860,6 @@ class CXXDependentScopeMemberExpr final
3860
3860
return getNumTemplateArgs ();
3861
3861
}
3862
3862
3863
- unsigned numTrailingObjects (OverloadToken<NamedDecl *>) const {
3864
- return hasFirstQualifierFoundInScope ();
3865
- }
3866
-
3867
3863
CXXDependentScopeMemberExpr (const ASTContext &Ctx, Expr *Base,
3868
3864
QualType BaseType, bool IsArrow,
3869
3865
SourceLocation OperatorLoc,
@@ -4419,7 +4415,7 @@ class SizeOfPackExpr final
4419
4415
Length(Length ? *Length : PartialArgs.size()), Pack(Pack) {
4420
4416
assert ((!Length || PartialArgs.empty ()) &&
4421
4417
" have partial args for non-dependent sizeof... expression" );
4422
- auto *Args = getTrailingObjects<TemplateArgument> ();
4418
+ auto *Args = getTrailingObjects ();
4423
4419
llvm::uninitialized_copy (PartialArgs, Args);
4424
4420
setDependence (Length ? ExprDependence::None
4425
4421
: ExprDependence::ValueInstantiation);
@@ -4472,8 +4468,7 @@ class SizeOfPackExpr final
4472
4468
// / Get
4473
4469
ArrayRef<TemplateArgument> getPartialArguments () const {
4474
4470
assert (isPartiallySubstituted ());
4475
- const auto *Args = getTrailingObjects<TemplateArgument>();
4476
- return llvm::ArrayRef (Args, Args + Length);
4471
+ return getTrailingObjects (Length);
4477
4472
}
4478
4473
4479
4474
SourceLocation getBeginLoc () const LLVM_READONLY { return OperatorLoc; }
@@ -4517,8 +4512,7 @@ class PackIndexingExpr final
4517
4512
SubExprs{PackIdExpr, IndexExpr} {
4518
4513
PackIndexingExprBits.TransformedExpressions = SubstitutedExprs.size ();
4519
4514
PackIndexingExprBits.FullySubstituted = FullySubstituted;
4520
- auto *Exprs = getTrailingObjects<Expr *>();
4521
- llvm::uninitialized_copy (SubstitutedExprs, Exprs);
4515
+ llvm::uninitialized_copy (SubstitutedExprs, getTrailingObjects ());
4522
4516
4523
4517
setDependence (computeDependence (this ));
4524
4518
if (!isInstantiationDependent ())
@@ -4583,13 +4577,12 @@ class PackIndexingExpr final
4583
4577
Expr *getSelectedExpr () const {
4584
4578
UnsignedOrNone Index = getSelectedIndex ();
4585
4579
assert (Index && " extracting the indexed expression of a dependant pack" );
4586
- return getTrailingObjects<Expr *> ()[*Index];
4580
+ return getTrailingObjects ()[*Index];
4587
4581
}
4588
4582
4589
4583
// / Return the trailing expressions, regardless of the expansion.
4590
4584
ArrayRef<Expr *> getExpressions () const {
4591
- return {getTrailingObjects<Expr *>(),
4592
- PackIndexingExprBits.TransformedExpressions };
4585
+ return getTrailingObjects (PackIndexingExprBits.TransformedExpressions );
4593
4586
}
4594
4587
4595
4588
static bool classof (const Stmt *T) {
@@ -4817,7 +4810,7 @@ class FunctionParmPackExpr final
4817
4810
// / Iterators over the parameters which the parameter pack expanded
4818
4811
// / into.
4819
4812
using iterator = ValueDecl *const *;
4820
- iterator begin () const { return getTrailingObjects<ValueDecl *> (); }
4813
+ iterator begin () const { return getTrailingObjects (); }
4821
4814
iterator end () const { return begin () + NumParameters; }
4822
4815
4823
4816
// / Get the number of parameters in this parameter pack.
@@ -5099,7 +5092,7 @@ class CXXParenListInitExpr final
5099
5092
: Expr(CXXParenListInitExprClass, T, getValueKindForType(T), OK_Ordinary),
5100
5093
NumExprs (Args.size()), NumUserSpecifiedExprs(NumUserSpecifiedExprs),
5101
5094
InitLoc(InitLoc), LParenLoc(LParenLoc), RParenLoc(RParenLoc) {
5102
- std ::copy (Args. begin (), Args. end (), getTrailingObjects<Expr *> ());
5095
+ llvm ::copy (Args, getTrailingObjects ());
5103
5096
assert (NumExprs >= NumUserSpecifiedExprs &&
5104
5097
" number of user specified inits is greater than the number of "
5105
5098
" passed inits" );
@@ -5124,19 +5117,17 @@ class CXXParenListInitExpr final
5124
5117
void updateDependence () { setDependence (computeDependence (this )); }
5125
5118
5126
5119
MutableArrayRef<Expr *> getInitExprs () {
5127
- return getTrailingObjects<Expr *> (NumExprs);
5120
+ return getTrailingObjects (NumExprs);
5128
5121
}
5129
5122
5130
- ArrayRef<Expr *> getInitExprs () const {
5131
- return getTrailingObjects<Expr *>(NumExprs);
5132
- }
5123
+ ArrayRef<Expr *> getInitExprs () const { return getTrailingObjects (NumExprs); }
5133
5124
5134
5125
ArrayRef<Expr *> getUserSpecifiedInitExprs () {
5135
- return getTrailingObjects<Expr *> (NumUserSpecifiedExprs);
5126
+ return getTrailingObjects (NumUserSpecifiedExprs);
5136
5127
}
5137
5128
5138
5129
ArrayRef<Expr *> getUserSpecifiedInitExprs () const {
5139
- return getTrailingObjects<Expr *> (NumUserSpecifiedExprs);
5130
+ return getTrailingObjects (NumUserSpecifiedExprs);
5140
5131
}
5141
5132
5142
5133
SourceLocation getBeginLoc () const LLVM_READONLY { return LParenLoc; }
@@ -5172,13 +5163,12 @@ class CXXParenListInitExpr final
5172
5163
}
5173
5164
5174
5165
child_range children () {
5175
- Stmt **Begin = reinterpret_cast <Stmt **>(getTrailingObjects<Expr *> ());
5166
+ Stmt **Begin = reinterpret_cast <Stmt **>(getTrailingObjects ());
5176
5167
return child_range (Begin, Begin + NumExprs);
5177
5168
}
5178
5169
5179
5170
const_child_range children () const {
5180
- Stmt *const *Begin =
5181
- reinterpret_cast <Stmt *const *>(getTrailingObjects<Expr *>());
5171
+ Stmt *const *Begin = reinterpret_cast <Stmt *const *>(getTrailingObjects ());
5182
5172
return const_child_range (Begin, Begin + NumExprs);
5183
5173
}
5184
5174
0 commit comments