Skip to content

Commit

Permalink
[lldb-mi] Clean up CMICmdArgSet usage.
Browse files Browse the repository at this point in the history
Summary:
CMICmdArgSet stores a vector of non-const pointers to the arguments
that it is validating. It owns them and is responsible for deleting
them.

We don't need to pass a const reference to the argument to
CMICmdArgSet::Add and then take the address and const_cast it
when we can just pass the argument pointer in directly.

This lets us remove some noise at every call site for CMICmdArgSet::Add
and then clean up a couple of bits inside CMICmdArgSet to remove
const_casts.

Reviewers: abidh, ki.stfu, domipheus

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D12878

llvm-svn: 247677
  • Loading branch information
waywardmonkeys committed Sep 15, 2015
1 parent 9c8453f commit 7dd8c12
Show file tree
Hide file tree
Showing 17 changed files with 141 additions and 142 deletions.
17 changes: 8 additions & 9 deletions lldb/tools/lldb-mi/MICmdArgSet.cpp
Expand Up @@ -94,10 +94,9 @@ CMICmdArgSet::IsArgsPresentButNotHandledByCmd() const
// Throws: None.
//--
void
CMICmdArgSet::Add(const CMICmdArgValBase &vArg)
CMICmdArgSet::Add(CMICmdArgValBase *vArg)
{
CMICmdArgValBase *pArg = const_cast<CMICmdArgValBase *>(&vArg);
m_setCmdArgs.push_back(pArg);
m_setCmdArgs.push_back(vArg);
}

//++ ------------------------------------------------------------------------------------
Expand Down Expand Up @@ -169,25 +168,25 @@ CMICmdArgSet::Validate(const CMIUtilString &vStrMiCmd, CMICmdArgContext &vwCmdAr
SetCmdArgs_t::const_iterator it = m_setCmdArgs.begin();
while (it != m_setCmdArgs.end())
{
const CMICmdArgValBase *pArg(*it);
CMICmdArgValBase *pArg = *it;

if (!const_cast<CMICmdArgValBase *>(pArg)->Validate(vwCmdArgsText))
if (!pArg->Validate(vwCmdArgsText))
{
if (pArg->GetFound())
{
if (pArg->GetIsMissingOptions())
m_setCmdArgsMissingInfo.push_back(const_cast<CMICmdArgValBase *>(pArg));
m_setCmdArgsMissingInfo.push_back(pArg);
else if (!pArg->GetValid())
m_setCmdArgsThatNotValid.push_back(const_cast<CMICmdArgValBase *>(pArg));
m_setCmdArgsThatNotValid.push_back(pArg);
}
else if (pArg->GetIsMandatory())
m_setCmdArgsThatAreMissing.push_back(const_cast<CMICmdArgValBase *>(pArg));
m_setCmdArgsThatAreMissing.push_back(pArg);
}

if (pArg->GetFound() && !pArg->GetIsHandledByCmd())
{
m_bIsArgsPresentButNotHandledByCmd = true;
m_setCmdArgsNotHandledByCmd.push_back(const_cast<CMICmdArgValBase *>(pArg));
m_setCmdArgsNotHandledByCmd.push_back(pArg);
}

// Next
Expand Down
2 changes: 1 addition & 1 deletion lldb/tools/lldb-mi/MICmdArgSet.h
Expand Up @@ -60,7 +60,7 @@ class CMICmdArgSet : public CMICmnBase
public:
/* ctor */ CMICmdArgSet();

void Add(const CMICmdArgValBase &vArg);
void Add(CMICmdArgValBase *vArg);
bool GetArg(const CMIUtilString &vArgName, CMICmdArgValBase *&vpArg) const;
const SetCmdArgs_t &GetArgsThatAreMissing() const;
const SetCmdArgs_t &GetArgsThatInvalid() const;
Expand Down
54 changes: 27 additions & 27 deletions lldb/tools/lldb-mi/MICmdCmdBreak.cpp
Expand Up @@ -89,21 +89,21 @@ CMICmdCmdBreakInsert::~CMICmdCmdBreakInsert()
bool
CMICmdCmdBreakInsert::ParseArgs()
{
m_setCmdArgs.Add(*(new CMICmdArgValOptionShort(m_constStrArgNamedTempBrkPt, false, true)));
// Not implemented m_setCmdArgs.Add( *(new CMICmdArgValOptionShort( m_constStrArgNamedHWBrkPt, false, false ) ) );
m_setCmdArgs.Add(*(new CMICmdArgValOptionShort(m_constStrArgNamedPendinfBrkPt, false, true,
CMICmdArgValListBase::eArgValType_StringQuotedNumberPath, 1)));
m_setCmdArgs.Add(*(new CMICmdArgValOptionShort(m_constStrArgNamedDisableBrkPt, false, false)));
// Not implemented m_setCmdArgs.Add( *(new CMICmdArgValOptionShort( m_constStrArgNamedTracePt, false, false ) ) );
m_setCmdArgs.Add(*(new CMICmdArgValOptionShort(m_constStrArgNamedConditionalBrkPt, false, true,
CMICmdArgValListBase::eArgValType_StringQuoted, 1)));
m_setCmdArgs.Add(new CMICmdArgValOptionShort(m_constStrArgNamedTempBrkPt, false, true));
// Not implemented m_setCmdArgs.Add(new CMICmdArgValOptionShort( m_constStrArgNamedHWBrkPt, false, false));
m_setCmdArgs.Add(new CMICmdArgValOptionShort(m_constStrArgNamedPendinfBrkPt, false, true,
CMICmdArgValListBase::eArgValType_StringQuotedNumberPath, 1));
m_setCmdArgs.Add(new CMICmdArgValOptionShort(m_constStrArgNamedDisableBrkPt, false, false));
// Not implemented m_setCmdArgs.Add(new CMICmdArgValOptionShort( m_constStrArgNamedTracePt, false, false));
m_setCmdArgs.Add(new CMICmdArgValOptionShort(m_constStrArgNamedConditionalBrkPt, false, true,
CMICmdArgValListBase::eArgValType_StringQuoted, 1));
m_setCmdArgs.Add(
*(new CMICmdArgValOptionShort(m_constStrArgNamedInoreCnt, false, true, CMICmdArgValListBase::eArgValType_Number, 1)));
m_setCmdArgs.Add(*(new CMICmdArgValOptionShort(m_constStrArgNamedRestrictBrkPtToThreadId, false, true,
CMICmdArgValListBase::eArgValType_Number, 1)));
m_setCmdArgs.Add(*(new CMICmdArgValString(m_constStrArgNamedLocation, false, true)));
new CMICmdArgValOptionShort(m_constStrArgNamedInoreCnt, false, true, CMICmdArgValListBase::eArgValType_Number, 1));
m_setCmdArgs.Add(new CMICmdArgValOptionShort(m_constStrArgNamedRestrictBrkPtToThreadId, false, true,
CMICmdArgValListBase::eArgValType_Number, 1));
m_setCmdArgs.Add(new CMICmdArgValString(m_constStrArgNamedLocation, false, true));
m_setCmdArgs.Add(
*(new CMICmdArgValOptionLong(m_constStrArgNamedThreadGroup, false, true, CMICmdArgValListBase::eArgValType_ThreadGrp, 1)));
new CMICmdArgValOptionLong(m_constStrArgNamedThreadGroup, false, true, CMICmdArgValListBase::eArgValType_ThreadGrp, 1));
return ParseValidateCmdOptions();
}

Expand Down Expand Up @@ -405,8 +405,8 @@ bool
CMICmdCmdBreakDelete::ParseArgs()
{
m_setCmdArgs.Add(
*(new CMICmdArgValOptionLong(m_constStrArgNamedThreadGrp, false, false, CMICmdArgValListBase::eArgValType_ThreadGrp, 1)));
m_setCmdArgs.Add(*(new CMICmdArgValListOfN(m_constStrArgNamedBrkPt, true, true, CMICmdArgValListBase::eArgValType_Number)));
new CMICmdArgValOptionLong(m_constStrArgNamedThreadGrp, false, false, CMICmdArgValListBase::eArgValType_ThreadGrp, 1));
m_setCmdArgs.Add(new CMICmdArgValListOfN(m_constStrArgNamedBrkPt, true, true, CMICmdArgValListBase::eArgValType_Number));
return ParseValidateCmdOptions();
}

Expand Down Expand Up @@ -524,8 +524,8 @@ bool
CMICmdCmdBreakDisable::ParseArgs()
{
m_setCmdArgs.Add(
*(new CMICmdArgValOptionLong(m_constStrArgNamedThreadGrp, false, false, CMICmdArgValListBase::eArgValType_ThreadGrp, 1)));
m_setCmdArgs.Add(*(new CMICmdArgValListOfN(m_constStrArgNamedBrkPt, true, true, CMICmdArgValListBase::eArgValType_Number)));
new CMICmdArgValOptionLong(m_constStrArgNamedThreadGrp, false, false, CMICmdArgValListBase::eArgValType_ThreadGrp, 1));
m_setCmdArgs.Add(new CMICmdArgValListOfN(m_constStrArgNamedBrkPt, true, true, CMICmdArgValListBase::eArgValType_Number));
return ParseValidateCmdOptions();
}

Expand Down Expand Up @@ -663,8 +663,8 @@ bool
CMICmdCmdBreakEnable::ParseArgs()
{
m_setCmdArgs.Add(
*(new CMICmdArgValOptionLong(m_constStrArgNamedThreadGrp, false, false, CMICmdArgValListBase::eArgValType_ThreadGrp, 1)));
m_setCmdArgs.Add(*(new CMICmdArgValListOfN(m_constStrArgNamedBrkPt, true, true, CMICmdArgValListBase::eArgValType_Number)));
new CMICmdArgValOptionLong(m_constStrArgNamedThreadGrp, false, false, CMICmdArgValListBase::eArgValType_ThreadGrp, 1));
m_setCmdArgs.Add(new CMICmdArgValListOfN(m_constStrArgNamedBrkPt, true, true, CMICmdArgValListBase::eArgValType_Number));
return ParseValidateCmdOptions();
}

Expand Down Expand Up @@ -803,9 +803,9 @@ bool
CMICmdCmdBreakAfter::ParseArgs()
{
m_setCmdArgs.Add(
*(new CMICmdArgValOptionLong(m_constStrArgNamedThreadGrp, false, false, CMICmdArgValListBase::eArgValType_ThreadGrp, 1)));
m_setCmdArgs.Add(*(new CMICmdArgValNumber(m_constStrArgNamedNumber, true, true)));
m_setCmdArgs.Add(*(new CMICmdArgValNumber(m_constStrArgNamedCount, true, true)));
new CMICmdArgValOptionLong(m_constStrArgNamedThreadGrp, false, false, CMICmdArgValListBase::eArgValType_ThreadGrp, 1));
m_setCmdArgs.Add(new CMICmdArgValNumber(m_constStrArgNamedNumber, true, true));
m_setCmdArgs.Add(new CMICmdArgValNumber(m_constStrArgNamedCount, true, true));
return ParseValidateCmdOptions();
}

Expand Down Expand Up @@ -934,11 +934,11 @@ bool
CMICmdCmdBreakCondition::ParseArgs()
{
m_setCmdArgs.Add(
*(new CMICmdArgValOptionLong(m_constStrArgNamedThreadGrp, false, false, CMICmdArgValListBase::eArgValType_ThreadGrp, 1)));
m_setCmdArgs.Add(*(new CMICmdArgValNumber(m_constStrArgNamedNumber, true, true)));
m_setCmdArgs.Add(*(new CMICmdArgValString(m_constStrArgNamedExpr, true, true, true, true)));
m_setCmdArgs.Add(*(new CMICmdArgValListOfN(m_constStrArgNamedExprNoQuotes, false, false,
CMICmdArgValListBase::eArgValType_StringQuotedNumber)));
new CMICmdArgValOptionLong(m_constStrArgNamedThreadGrp, false, false, CMICmdArgValListBase::eArgValType_ThreadGrp, 1));
m_setCmdArgs.Add(new CMICmdArgValNumber(m_constStrArgNamedNumber, true, true));
m_setCmdArgs.Add(new CMICmdArgValString(m_constStrArgNamedExpr, true, true, true, true));
m_setCmdArgs.Add(new CMICmdArgValListOfN(m_constStrArgNamedExprNoQuotes, false, false,
CMICmdArgValListBase::eArgValType_StringQuotedNumber));
return ParseValidateCmdOptions();
}

Expand Down
60 changes: 30 additions & 30 deletions lldb/tools/lldb-mi/MICmdCmdData.cpp
Expand Up @@ -90,9 +90,9 @@ CMICmdCmdDataEvaluateExpression::~CMICmdCmdDataEvaluateExpression()
bool
CMICmdCmdDataEvaluateExpression::ParseArgs()
{
m_setCmdArgs.Add(*(new CMICmdArgValOptionLong(m_constStrArgThread, false, false, CMICmdArgValListBase::eArgValType_Number, 1)));
m_setCmdArgs.Add(*(new CMICmdArgValOptionLong(m_constStrArgFrame, false, false, CMICmdArgValListBase::eArgValType_Number, 1)));
m_setCmdArgs.Add(*(new CMICmdArgValString(m_constStrArgExpr, true, true, true, true)));
m_setCmdArgs.Add(new CMICmdArgValOptionLong(m_constStrArgThread, false, false, CMICmdArgValListBase::eArgValType_Number, 1));
m_setCmdArgs.Add(new CMICmdArgValOptionLong(m_constStrArgFrame, false, false, CMICmdArgValListBase::eArgValType_Number, 1));
m_setCmdArgs.Add(new CMICmdArgValString(m_constStrArgExpr, true, true, true, true));
return ParseValidateCmdOptions();
}

Expand Down Expand Up @@ -277,13 +277,13 @@ CMICmdCmdDataDisassemble::~CMICmdCmdDataDisassemble()
bool
CMICmdCmdDataDisassemble::ParseArgs()
{
m_setCmdArgs.Add(*(new CMICmdArgValOptionLong(m_constStrArgThread, false, true, CMICmdArgValListBase::eArgValType_Number, 1)));
m_setCmdArgs.Add(new CMICmdArgValOptionLong(m_constStrArgThread, false, true, CMICmdArgValListBase::eArgValType_Number, 1));
m_setCmdArgs.Add(
*(new CMICmdArgValOptionShort(m_constStrArgAddrStart, true, true, CMICmdArgValListBase::eArgValType_StringQuotedNumber, 1)));
new CMICmdArgValOptionShort(m_constStrArgAddrStart, true, true, CMICmdArgValListBase::eArgValType_StringQuotedNumber, 1));
m_setCmdArgs.Add(
*(new CMICmdArgValOptionShort(m_constStrArgAddrEnd, true, true, CMICmdArgValListBase::eArgValType_StringQuotedNumber, 1)));
m_setCmdArgs.Add(*(new CMICmdArgValConsume(m_constStrArgConsume, true)));
m_setCmdArgs.Add(*(new CMICmdArgValNumber(m_constStrArgMode, true, true)));
new CMICmdArgValOptionShort(m_constStrArgAddrEnd, true, true, CMICmdArgValListBase::eArgValType_StringQuotedNumber, 1));
m_setCmdArgs.Add(new CMICmdArgValConsume(m_constStrArgConsume, true));
m_setCmdArgs.Add(new CMICmdArgValNumber(m_constStrArgMode, true, true));
return ParseValidateCmdOptions();
}

Expand Down Expand Up @@ -506,11 +506,11 @@ CMICmdCmdDataReadMemoryBytes::~CMICmdCmdDataReadMemoryBytes()
bool
CMICmdCmdDataReadMemoryBytes::ParseArgs()
{
m_setCmdArgs.Add(*(new CMICmdArgValOptionLong(m_constStrArgThread, false, true, CMICmdArgValListBase::eArgValType_Number, 1)));
m_setCmdArgs.Add(*(new CMICmdArgValOptionLong(m_constStrArgFrame, false, true, CMICmdArgValListBase::eArgValType_Number, 1)));
m_setCmdArgs.Add(*(new CMICmdArgValOptionShort(m_constStrArgByteOffset, false, true, CMICmdArgValListBase::eArgValType_Number, 1)));
m_setCmdArgs.Add(*(new CMICmdArgValString(m_constStrArgAddrExpr, true, true, true, true)));
m_setCmdArgs.Add(*(new CMICmdArgValNumber(m_constStrArgNumBytes, true, true)));
m_setCmdArgs.Add(new CMICmdArgValOptionLong(m_constStrArgThread, false, true, CMICmdArgValListBase::eArgValType_Number, 1));
m_setCmdArgs.Add(new CMICmdArgValOptionLong(m_constStrArgFrame, false, true, CMICmdArgValListBase::eArgValType_Number, 1));
m_setCmdArgs.Add(new CMICmdArgValOptionShort(m_constStrArgByteOffset, false, true, CMICmdArgValListBase::eArgValType_Number, 1));
m_setCmdArgs.Add(new CMICmdArgValString(m_constStrArgAddrExpr, true, true, true, true));
m_setCmdArgs.Add(new CMICmdArgValNumber(m_constStrArgNumBytes, true, true));
return ParseValidateCmdOptions();
}

Expand Down Expand Up @@ -822,8 +822,8 @@ CMICmdCmdDataListRegisterNames::~CMICmdCmdDataListRegisterNames()
bool
CMICmdCmdDataListRegisterNames::ParseArgs()
{
m_setCmdArgs.Add(*(new CMICmdArgValOptionLong(m_constStrArgThreadGroup, false, false, CMICmdArgValListBase::eArgValType_ThreadGrp, 1)));
m_setCmdArgs.Add(*(new CMICmdArgValListOfN(m_constStrArgRegNo, false, false, CMICmdArgValListBase::eArgValType_Number)));
m_setCmdArgs.Add(new CMICmdArgValOptionLong(m_constStrArgThreadGroup, false, false, CMICmdArgValListBase::eArgValType_ThreadGrp, 1));
m_setCmdArgs.Add(new CMICmdArgValListOfN(m_constStrArgRegNo, false, false, CMICmdArgValListBase::eArgValType_Number));
return ParseValidateCmdOptions();
}

Expand Down Expand Up @@ -1012,10 +1012,10 @@ CMICmdCmdDataListRegisterValues::~CMICmdCmdDataListRegisterValues()
bool
CMICmdCmdDataListRegisterValues::ParseArgs()
{
m_setCmdArgs.Add(*(new CMICmdArgValOptionLong(m_constStrArgThread, false, false, CMICmdArgValListBase::eArgValType_Number, 1)));
m_setCmdArgs.Add(*(new CMICmdArgValOptionLong(m_constStrArgSkip, false, false)));
m_setCmdArgs.Add(*(new CMICmdArgValString(m_constStrArgFormat, true, true)));
m_setCmdArgs.Add(*(new CMICmdArgValListOfN(m_constStrArgRegNo, false, true, CMICmdArgValListBase::eArgValType_Number)));
m_setCmdArgs.Add(new CMICmdArgValOptionLong(m_constStrArgThread, false, false, CMICmdArgValListBase::eArgValType_Number, 1));
m_setCmdArgs.Add(new CMICmdArgValOptionLong(m_constStrArgSkip, false, false));
m_setCmdArgs.Add(new CMICmdArgValString(m_constStrArgFormat, true, true));
m_setCmdArgs.Add(new CMICmdArgValListOfN(m_constStrArgRegNo, false, true, CMICmdArgValListBase::eArgValType_Number));
return ParseValidateCmdOptions();
}

Expand Down Expand Up @@ -1322,10 +1322,10 @@ CMICmdCmdDataWriteMemoryBytes::~CMICmdCmdDataWriteMemoryBytes()
bool
CMICmdCmdDataWriteMemoryBytes::ParseArgs()
{
m_setCmdArgs.Add(*(new CMICmdArgValOptionLong(m_constStrArgThread, false, false, CMICmdArgValListBase::eArgValType_Number, 1)));
m_setCmdArgs.Add(*(new CMICmdArgValString(m_constStrArgAddr, true, true, false, true)));
m_setCmdArgs.Add(*(new CMICmdArgValString(m_constStrArgContents, true, true, true, true)));
m_setCmdArgs.Add(*(new CMICmdArgValString(m_constStrArgCount, false, true, false, true)));
m_setCmdArgs.Add(new CMICmdArgValOptionLong(m_constStrArgThread, false, false, CMICmdArgValListBase::eArgValType_Number, 1));
m_setCmdArgs.Add(new CMICmdArgValString(m_constStrArgAddr, true, true, false, true));
m_setCmdArgs.Add(new CMICmdArgValString(m_constStrArgContents, true, true, true, true));
m_setCmdArgs.Add(new CMICmdArgValString(m_constStrArgCount, false, true, false, true));
return ParseValidateCmdOptions();
}

Expand Down Expand Up @@ -1444,12 +1444,12 @@ CMICmdCmdDataWriteMemory::~CMICmdCmdDataWriteMemory()
bool
CMICmdCmdDataWriteMemory::ParseArgs()
{
m_setCmdArgs.Add(*(new CMICmdArgValOptionLong(m_constStrArgThread, false, false, CMICmdArgValListBase::eArgValType_Number, 1)));
m_setCmdArgs.Add(*(new CMICmdArgValOptionShort(m_constStrArgOffset, false, true, CMICmdArgValListBase::eArgValType_Number, 1)));
m_setCmdArgs.Add(*(new CMICmdArgValNumber(m_constStrArgAddr, true, true)));
m_setCmdArgs.Add(*(new CMICmdArgValString(m_constStrArgD, true, true)));
m_setCmdArgs.Add(*(new CMICmdArgValNumber(m_constStrArgNumber, true, true)));
m_setCmdArgs.Add(*(new CMICmdArgValNumber(m_constStrArgContents, true, true)));
m_setCmdArgs.Add(new CMICmdArgValOptionLong(m_constStrArgThread, false, false, CMICmdArgValListBase::eArgValType_Number, 1));
m_setCmdArgs.Add(new CMICmdArgValOptionShort(m_constStrArgOffset, false, true, CMICmdArgValListBase::eArgValType_Number, 1));
m_setCmdArgs.Add(new CMICmdArgValNumber(m_constStrArgAddr, true, true));
m_setCmdArgs.Add(new CMICmdArgValString(m_constStrArgD, true, true));
m_setCmdArgs.Add(new CMICmdArgValNumber(m_constStrArgNumber, true, true));
m_setCmdArgs.Add(new CMICmdArgValNumber(m_constStrArgContents, true, true));
return ParseValidateCmdOptions();
}

Expand Down Expand Up @@ -1587,7 +1587,7 @@ CMICmdCmdDataInfoLine::~CMICmdCmdDataInfoLine()
bool
CMICmdCmdDataInfoLine::ParseArgs()
{
m_setCmdArgs.Add(*(new CMICmdArgValString(m_constStrArgLocation, true, true)));
m_setCmdArgs.Add(new CMICmdArgValString(m_constStrArgLocation, true, true));
return ParseValidateCmdOptions();
}

Expand Down
2 changes: 1 addition & 1 deletion lldb/tools/lldb-mi/MICmdCmdEnviro.cpp
Expand Up @@ -57,7 +57,7 @@ CMICmdCmdEnvironmentCd::~CMICmdCmdEnvironmentCd()
bool
CMICmdCmdEnvironmentCd::ParseArgs()
{
m_setCmdArgs.Add(*(new CMICmdArgValFile(m_constStrArgNamePathDir, true, true)));
m_setCmdArgs.Add(new CMICmdArgValFile(m_constStrArgNamePathDir, true, true));
CMICmdArgContext argCntxt(m_cmdData.strMiCmdOption);
return ParseValidateCmdOptions();
}
Expand Down

0 comments on commit 7dd8c12

Please sign in to comment.