Skip to content

Commit

Permalink
more of the same. [[nodiscard]], auto x = new T, more simplification …
Browse files Browse the repository at this point in the history
…of code after returns
  • Loading branch information
eteran committed Mar 19, 2024
1 parent 06d2f2a commit 501db26
Show file tree
Hide file tree
Showing 17 changed files with 65 additions and 61 deletions.
18 changes: 9 additions & 9 deletions plugins/InstructionInspector/Plugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1406,23 +1406,23 @@ InstructionDialog::InstructionDialog(QWidget *parent, Qt::WindowFlags f)

const auto groupNames = getGroupNames(disassembler_->handle(), insn);
add({"Groups"});
auto *const groups = tree_->topLevelItem(tree_->topLevelItemCount() - 1);
const auto groups = tree_->topLevelItem(tree_->topLevelItemCount() - 1);

for (const auto &group : groupNames) {
add({group.c_str()}, groups);
}

{
add({"Regs implicitly read"});
auto *const regsRead = tree_->topLevelItem(tree_->topLevelItemCount() - 1);
const auto regsRead = tree_->topLevelItem(tree_->topLevelItemCount() - 1);
for (int r = 0; r < insn->detail->regs_read_count; ++r) {
add({printReg(disassembler_->handle(), insn->detail->regs_read[r]).c_str()}, regsRead);
}
}

{
add({"Regs implicitly written"});
auto *const regsWritten = tree_->topLevelItem(tree_->topLevelItemCount() - 1);
const auto regsWritten = tree_->topLevelItem(tree_->topLevelItemCount() - 1);
for (int r = 0; r < insn->detail->regs_write_count; ++r) {
add({printReg(disassembler_->handle(), insn->detail->regs_write[r]).c_str()}, regsWritten);
}
Expand All @@ -1439,7 +1439,7 @@ InstructionDialog::InstructionDialog(QWidget *parent, Qt::WindowFlags f)
add({"ModRM", printBytes(&insn->detail->x86.modrm, 1).c_str()});
add({"SIB", printBytes(&insn->detail->x86.sib, 1).c_str()});

auto *const sib = tree_->topLevelItem(tree_->topLevelItemCount() - 1);
const auto sib = tree_->topLevelItem(tree_->topLevelItemCount() - 1);
add({"Displacement", toHex(insn->detail->x86.disp, true).c_str()}, sib);

add({"index", printReg(disassembler_->handle(), insn->detail->x86.sib_index, true).c_str()}, sib);
Expand Down Expand Up @@ -1467,19 +1467,19 @@ InstructionDialog::InstructionDialog(QWidget *parent, Qt::WindowFlags f)
#if CS_API_MAJOR >= 4
const auto changedEflagsNames = getChangedEFLAGSNames(insn->detail->x86.eflags);
add({"EFLAGS"});
auto *const eflags = tree_->topLevelItem(tree_->topLevelItemCount() - 1);
const auto eflags = tree_->topLevelItem(tree_->topLevelItemCount() - 1);
for (auto efl : changedEflagsNames) {
add({efl.c_str()}, eflags);
}
#endif
add({"Operands"});
auto *const operands = tree_->topLevelItem(tree_->topLevelItemCount() - 1);
const auto operands = tree_->topLevelItem(tree_->topLevelItemCount() - 1);
for (int op = 0; op < insn->detail->x86.op_count; ++op) {

const auto &operand = insn->detail->x86.operands[op];
add({("#" + std::to_string(op + 1)).c_str()}, operands);

auto *const curOpItem = operands->child(op);
const auto curOpItem = operands->child(op);
add({"Type", printOpType(operand.type).c_str()}, curOpItem);

switch (operand.type) {
Expand Down Expand Up @@ -1523,12 +1523,12 @@ InstructionDialog::InstructionDialog(QWidget *parent, Qt::WindowFlags f)
// TODO: mem_barrier
add({"Operands"});

auto *const operands = tree_->topLevelItem(tree_->topLevelItemCount() - 1);
const auto operands = tree_->topLevelItem(tree_->topLevelItemCount() - 1);

for (int op = 0; op < insn->detail->arm.op_count; ++op) {
const auto &operand = insn->detail->arm.operands[op];
add({("#" + std::to_string(op + 1)).c_str()}, operands);
auto *const curOpItem = operands->child(op);
const auto curOpItem = operands->child(op);

if (operand.vector_index != -1) {
add({"Vector index", std::to_string(operand.vector_index).c_str()}, curOpItem);
Expand Down
6 changes: 3 additions & 3 deletions plugins/ODbgRegisterView/DialogEditSimdRegister.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -333,10 +333,10 @@ bool DialogEditSimdRegister::eventFilter(QObject *obj, QEvent *event) {
return entry_grid_key_event_filter(this, obj, event);
}

void DialogEditSimdRegister::setValue(const Register &newReg) {
void DialogEditSimdRegister::setValue(const Register &value) {
resetLayout();
assert(newReg.bitSize() <= 8 * sizeof(value_));
reg_ = newReg;
assert(value.bitSize() <= 8 * sizeof(value_));
reg_ = value;
util::mark_memory(&value_, value_.size());
if (QRegExp("mm[0-7]").exactMatch(reg_.name())) {
const auto value = reg_.value<edb::value64>();
Expand Down
2 changes: 1 addition & 1 deletion plugins/ODbgRegisterView/EntryGridKeyUpDownEventFilter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ bool entry_grid_key_event_filter(QWidget *parent, QObject *obj, QEvent *event) {

// Find the neighbors above/below the current entry
std::vector<QLineEdit *> neighbors;
for (auto *const child : children) {
for (const auto child : children) {
if (!child->isVisible()) {
continue;
}
Expand Down
8 changes: 4 additions & 4 deletions plugins/ODbgRegisterView/Plugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -86,9 +86,9 @@ void Plugin::createRegisterView(const QString &settingsGroup) {
registerViews_.emplace_back(regView);
regView->setModel(&edb::v1::arch_processor().registerViewModel());

const QString suffix = registerViews_.size() > 1 ? dockNameSuffixTemplate.arg(registerViews_.size()) : "";
auto *const regViewDockWidget = new QDockWidget(dockName() + suffix, mainWindow);
const auto viewNumber = registerViews_.size();
const QString suffix = registerViews_.size() > 1 ? dockNameSuffixTemplate.arg(registerViews_.size()) : "";
const auto regViewDockWidget = new QDockWidget(dockName() + suffix, mainWindow);
const auto viewNumber = registerViews_.size();
regViewDockWidget->setObjectName(dockObjectNameTemplate.arg(viewNumber));
regViewDockWidget->setWidget(regView);

Expand Down Expand Up @@ -186,7 +186,7 @@ QMenu *Plugin::menu(QWidget *parent) {
menu_->addAction(newRegisterView);
}
// FIXME: setChecked calls currently don't really work, since at this stage mainWindow hasn't yet restored its state
if (auto *const mainWindow = qobject_cast<QMainWindow *>(edb::v1::debugger_ui)) {
if (const auto mainWindow = qobject_cast<QMainWindow *>(edb::v1::debugger_ui)) {
{
const auto expandLeftSideUp = new QAction(tr("Expand Left-Hand Side Dock Up"), menu_);
expandLeftSideUp->setCheckable(true);
Expand Down
17 changes: 9 additions & 8 deletions plugins/ODbgRegisterView/RegisterGroup.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,17 @@ class RegisterGroup : public QWidget {

public:
explicit RegisterGroup(const QString &name_, QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags());
QList<FieldWidget *> fields() const;
QList<ValueField *> valueFields() const;
void setIndices(const QList<QModelIndex> &indices);
void insert(int line, int column, FieldWidget *widget);

public:
[[nodiscard]] QList<FieldWidget *> fields() const;
[[nodiscard]] QList<ValueField *> valueFields() const;
[[nodiscard]] QMargins getFieldMargins() const;
void appendNameValueComment(const QModelIndex &nameIndex, const QString &tooltip = "", bool insertComment = true);
// Insert, but without moving to its place
void insert(FieldWidget *widget);
void insert(int line, int column, FieldWidget *widget);
void setupPositionAndSize(int line, int column, FieldWidget *widget);
void appendNameValueComment(const QModelIndex &nameIndex, const QString &tooltip = "", bool insertComment = true);
void showMenu(const QPoint &position, const QList<QAction *> &additionalItems = {}) const;
QMargins getFieldMargins() const;

public Q_SLOTS:
void adjustWidth();
Expand All @@ -35,8 +36,8 @@ public Q_SLOTS:
void mousePressEvent(QMouseEvent *event) override;

private:
int lineAfterLastField() const;
ODBRegView *regView() const;
[[nodiscard]] int lineAfterLastField() const;
[[nodiscard]] ODBRegView *regView() const;

private:
QList<QAction *> menuItems_;
Expand Down
22 changes: 12 additions & 10 deletions plugins/ODbgRegisterView/RegisterView.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,23 +69,25 @@ class ODBRegView : public QScrollArea {

public:
explicit ODBRegView(const QString &settings, QWidget *parent = nullptr);
void setModel(RegisterViewModelBase::Model *model);
QList<ValueField *> valueFields() const;
QList<FieldWidget *> fields() const;
void showMenu(const QPoint &position, const QList<QAction *> &additionalItems = {}) const;
void saveState(const QString &settings) const;

public:
[[nodiscard]] DialogEditFPU *fpuEditDialog() const;
[[nodiscard]] DialogEditGPR *gprEditDialog() const;
[[nodiscard]] DialogEditSimdRegister *simdEditDialog() const;
[[nodiscard]] QList<FieldWidget *> fields() const;
[[nodiscard]] QList<ValueField *> valueFields() const;
void groupHidden(RegisterGroup *group);
DialogEditGPR *gprEditDialog() const;
DialogEditSimdRegister *simdEditDialog() const;
DialogEditFPU *fpuEditDialog() const;
void saveState(const QString &settings) const;
void selectAField();
void setModel(RegisterViewModelBase::Model *model);
void showMenu(const QPoint &position, const QList<QAction *> &additionalItems = {}) const;

private:
RegisterGroup *makeGroup(RegisterGroupType type);
[[nodiscard]] RegisterGroup *makeGroup(RegisterGroupType type);
void restoreHiddenGroup(RegisterGroupType type);

private:
ValueField *selectedField() const;
[[nodiscard]] ValueField *selectedField() const;
void updateFieldsPalette();
void keyPressEvent(QKeyEvent *event) override;
void mousePressEvent(QMouseEvent *event) override;
Expand Down
8 changes: 4 additions & 4 deletions plugins/ODbgRegisterView/SimdValueManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@ class SimdValueManager : public QObject {
};

using Model = RegisterViewModelBase::Model;
Model *model() const;
RegisterGroup *group() const;
Model::ElementSize currentSize() const;
NumberDisplayMode currentFormat() const;
[[nodiscard]] Model *model() const;
[[nodiscard]] RegisterGroup *group() const;
[[nodiscard]] Model::ElementSize currentSize() const;
[[nodiscard]] NumberDisplayMode currentFormat() const;
void setupMenu();
void updateMenu();
void fillGroupMenu();
Expand Down
15 changes: 8 additions & 7 deletions plugins/ODbgRegisterView/ValueField.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,11 @@ class ValueField : public FieldWidget {

private:
void init();
QColor fgColorForChangedField() const;
[[nodiscard]] QColor fgColorForChangedField() const;
void editNormalReg(const QModelIndex &indexToEdit, const QModelIndex &clickedIndex) const;

protected:
RegisterViewModelBase::Model *model() const;
[[nodiscard]] RegisterViewModelBase::Model *model() const;
[[nodiscard]] bool changed() const;

void enterEvent(QEvent *) override;
Expand All @@ -63,15 +63,16 @@ class ValueField : public FieldWidget {
public:
ValueField(int fieldWidth, const QModelIndex &index_, const std::function<QString(const QString &)> &valueFormatter_, QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags());
ValueField(int fieldWidth, const QModelIndex &index_, QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags());
[[nodiscard]] ValueField *up() const;

public:
[[nodiscard]] bool isSelected() const;
[[nodiscard]] QModelIndex regIndex() const;
[[nodiscard]] ValueField *down() const;
[[nodiscard]] ValueField *left() const;
[[nodiscard]] ValueField *right() const;

[[nodiscard]] bool isSelected() const;
[[nodiscard]] ValueField *up() const;
[[nodiscard]] QString text() const override;
void showMenu(const QPoint &position);
QString text() const override;
[[nodiscard]] QModelIndex regIndex() const;

public Q_SLOTS:
void defaultAction();
Expand Down
4 changes: 2 additions & 2 deletions plugins/ODbgRegisterView/VolatileNameField.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.

namespace ODbgRegisterView {

VolatileNameField::VolatileNameField(int fieldWidth, const std::function<QString()> &valueFormatter, QWidget *parent, Qt::WindowFlags f)
: FieldWidget(fieldWidth, "", parent, f), valueFormatter(valueFormatter) {
VolatileNameField::VolatileNameField(int fieldWidth, std::function<QString()> valueFormatter, QWidget *parent, Qt::WindowFlags f)
: FieldWidget(fieldWidth, "", parent, f), valueFormatter(std::move(valueFormatter)) {
}

QString VolatileNameField::text() const {
Expand Down
2 changes: 1 addition & 1 deletion plugins/ODbgRegisterView/VolatileNameField.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class VolatileNameField : public FieldWidget {
std::function<QString()> valueFormatter;

public:
VolatileNameField(int fieldWidth, const std::function<QString()> &valueFormatter, QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags());
VolatileNameField(int fieldWidth, std::function<QString()> valueFormatter, QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags());
QString text() const override;
};

Expand Down
2 changes: 1 addition & 1 deletion plugins/ROPTool/DialogResults.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class ResultFilterProxy : public QSortFilterProxyModel {
}

protected:
bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override {
[[nodiscard]] bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override {
QModelIndex index = sourceModel()->index(sourceRow, 0, sourceParent);
if (index.isValid()) {
if (auto result = reinterpret_cast<const ResultsModel::Result *>(index.internalPointer())) {
Expand Down
2 changes: 1 addition & 1 deletion src/BasicBlock.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ QString BasicBlock::toString() const {
* @param target
*/
void BasicBlock::addReference(edb::address_t refsite, edb::address_t target) {
references_.push_back(std::make_pair(refsite, target));
references_.emplace_back(refsite, target);
}

/**
Expand Down
2 changes: 1 addition & 1 deletion src/Debugger.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -396,7 +396,7 @@ Debugger::Debugger(QWidget *parent)
if (qobject_cast<QDisassemblyView *>(widget)) {
mnuCPUFollow();
} else {
QKeyEvent *event = new QKeyEvent(QEvent::KeyPress, Qt::Key_Enter, Qt::NoModifier);
auto event = new QKeyEvent(QEvent::KeyPress, Qt::Key_Enter, Qt::NoModifier);
QCoreApplication::postEvent(widget, event);
}
});
Expand Down
4 changes: 2 additions & 2 deletions src/DialogAttach.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,8 @@ void DialogAttach::updateList() {
}

if (selected_pid) {
const auto pid = selected_pid.value();
const auto *const model = ui.processes_table->model();
const auto pid = selected_pid.value();
const auto model = ui.processes_table->model();
for (int row = 0; row < model->rowCount(); ++row) {
if (static_cast<edb::pid_t>(model->index(row, 0).data().toUInt()) == pid) {
ui.processes_table->selectRow(row);
Expand Down
4 changes: 2 additions & 2 deletions src/DialogOpenProgram.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ DialogOpenProgram::DialogOpenProgram(QWidget *parent, const QString &caption, co
if (layout && layout->rowCount() == 4 && layout->columnCount() == 3) {
setFileMode(QFileDialog::ExistingFile);

const int rowCount = layout->rowCount();
QPushButton *const browseDirButton(new QPushButton(tr("&Browse..."), this));
const int rowCount = layout->rowCount();
const auto browseDirButton = new QPushButton(tr("&Browse..."), this);

const auto argsLabel = new QLabel(tr("Program &arguments:"), this);
argsLabel->setBuddy(argsEdit_);
Expand Down
6 changes: 3 additions & 3 deletions src/DialogOptions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,9 @@ void DialogOptions::addOptionsPage(QWidget *page) {

if (!toolbox_) {
delete ui.tabWidget->findChild<QLabel *>("label_plugins");
QWidget *const tab = ui.tabWidget->findChild<QLabel *>("tab_plugins");
QGridLayout *const layout = ui.tabWidget->findChild<QGridLayout *>("tab_plugins_layout");
toolbox_ = new QToolBox(tab);
QWidget *const tab = ui.tabWidget->findChild<QLabel *>("tab_plugins");
const auto layout = ui.tabWidget->findChild<QGridLayout *>("tab_plugins_layout");
toolbox_ = new QToolBox(tab);
layout->addWidget(toolbox_, 0, 0, 1, 1);
}

Expand Down
4 changes: 2 additions & 2 deletions src/capstone-edb/Instruction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -920,9 +920,9 @@ bool is_SIMD_PD(const Operand &operand) {
assert(insn.operandCount() == 3);
if (insn[2]->type != X86_OP_IMM) {
return number != 1;
} else {
return true;
}

return true;
case X86_INS_VPERMIL2PD: // XOP (AMD). Fourth operand is selector (?)
return number != 3;
case X86_INS_VRCP14SD:
Expand Down

0 comments on commit 501db26

Please sign in to comment.