@@ -1363,11 +1363,7 @@ class Terminator : public SExpr {
1363
1363
}
1364
1364
1365
1365
// / Return the list of basic blocks that this terminator can branch to.
1366
- ArrayRef<BasicBlock *> successors ();
1367
-
1368
- ArrayRef<BasicBlock *> successors () const {
1369
- return const_cast <Terminator*>(this )->successors ();
1370
- }
1366
+ ArrayRef<BasicBlock *> successors () const ;
1371
1367
};
1372
1368
1373
1369
// / Jump to another basic block.
@@ -1391,7 +1387,7 @@ class Goto : public Terminator {
1391
1387
unsigned index () const { return Index; }
1392
1388
1393
1389
// / Return the list of basic blocks that this terminator can branch to.
1394
- ArrayRef<BasicBlock *> successors () { return TargetBlock; }
1390
+ ArrayRef<BasicBlock *> successors () const { return TargetBlock; }
1395
1391
1396
1392
template <class V >
1397
1393
typename V::R_SExpr traverse (V &Vs, typename V::R_Ctx Ctx) {
@@ -1439,7 +1435,7 @@ class Branch : public Terminator {
1439
1435
BasicBlock *elseBlock () { return Branches[1 ]; }
1440
1436
1441
1437
// / Return the list of basic blocks that this terminator can branch to.
1442
- ArrayRef<BasicBlock *> successors () { return llvm::ArrayRef (Branches); }
1438
+ ArrayRef<BasicBlock *> successors () const { return llvm::ArrayRef (Branches); }
1443
1439
1444
1440
template <class V >
1445
1441
typename V::R_SExpr traverse (V &Vs, typename V::R_Ctx Ctx) {
@@ -1470,7 +1466,7 @@ class Return : public Terminator {
1470
1466
static bool classof (const SExpr *E) { return E->opcode () == COP_Return; }
1471
1467
1472
1468
// / Return an empty list.
1473
- ArrayRef<BasicBlock *> successors () { return {}; }
1469
+ ArrayRef<BasicBlock *> successors () const { return {}; }
1474
1470
1475
1471
SExpr *returnValue () { return Retval; }
1476
1472
const SExpr *returnValue () const { return Retval; }
@@ -1490,7 +1486,7 @@ class Return : public Terminator {
1490
1486
SExpr* Retval;
1491
1487
};
1492
1488
1493
- inline ArrayRef<BasicBlock*> Terminator::successors () {
1489
+ inline ArrayRef<BasicBlock *> Terminator::successors () const {
1494
1490
switch (opcode ()) {
1495
1491
case COP_Goto: return cast<Goto>(this )->successors ();
1496
1492
case COP_Branch: return cast<Branch>(this )->successors ();
0 commit comments