Skip to content

Commit 436fc75

Browse files
committed
Simplify PushBreakTarget
1 parent 690f97e commit 436fc75

2 files changed

Lines changed: 7 additions & 14 deletions

File tree

cpp2rust/converter/converter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1140,7 +1140,7 @@ bool Converter::VisitCXXForRangeStmtIndexBased(clang::CXXForRangeStmt *stmt,
11401140
}
11411141

11421142
bool Converter::VisitBreakStmt([[maybe_unused]] clang::BreakStmt *stmt) {
1143-
if (break_target_.isSwitch()) {
1143+
if (isSwitchBreak()) {
11441144
StrCat(keyword::kBreak, "'switch");
11451145
return false;
11461146
}

cpp2rust/converter/converter.h

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -468,22 +468,15 @@ class Converter : public clang::RecursiveASTVisitor<Converter> {
468468
bool in_function_formals_ = false;
469469

470470
enum class BreakTarget { Loop, Switch };
471-
class BreakTargetStack {
472-
public:
473-
void push(BreakTarget t) { stack_.push(t); }
474-
void pop() { stack_.pop(); }
475-
bool isSwitch() const {
476-
return !stack_.empty() && stack_.top() == BreakTarget::Switch;
477-
}
471+
std::stack<BreakTarget> break_target_;
478472

479-
private:
480-
std::stack<BreakTarget> stack_;
481-
};
482-
BreakTargetStack break_target_;
473+
bool isSwitchBreak() const {
474+
return !break_target_.empty() && break_target_.top() == BreakTarget::Switch;
475+
}
483476

484477
class PushBreakTarget {
485478
public:
486-
PushBreakTarget(BreakTargetStack &stack, BreakTarget target)
479+
PushBreakTarget(std::stack<BreakTarget> &stack, BreakTarget target)
487480
: stack_(stack) {
488481
stack_.push(target);
489482
}
@@ -492,7 +485,7 @@ class Converter : public clang::RecursiveASTVisitor<Converter> {
492485
PushBreakTarget &operator=(const PushBreakTarget &) = delete;
493486

494487
private:
495-
BreakTargetStack &stack_;
488+
std::stack<BreakTarget> &stack_;
496489
};
497490

498491
std::stack<clang::Expr *> curr_for_inc_;

0 commit comments

Comments
 (0)