summaryrefslogtreecommitdiffstats
path: root/lldb/source/Interpreter/CommandAlias.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Interpreter/CommandAlias.cpp')
-rw-r--r--lldb/source/Interpreter/CommandAlias.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/lldb/source/Interpreter/CommandAlias.cpp b/lldb/source/Interpreter/CommandAlias.cpp
index f7d8e8e9f1b..a915d63e654 100644
--- a/lldb/source/Interpreter/CommandAlias.cpp
+++ b/lldb/source/Interpreter/CommandAlias.cpp
@@ -236,11 +236,22 @@ CommandAlias::IsDashDashCommand ()
break;
}
}
+ // if this is a nested alias, it may be adding arguments on top of an already dash-dash alias
+ if ((m_is_dashdash_alias == eLazyBoolNo) && IsNestedAlias())
+ m_is_dashdash_alias = (GetUnderlyingCommand()->IsDashDashCommand() ? eLazyBoolYes : eLazyBoolNo);
}
}
return (m_is_dashdash_alias == eLazyBoolYes);
}
+bool
+CommandAlias::IsNestedAlias ()
+{
+ if (GetUnderlyingCommand())
+ return GetUnderlyingCommand()->IsAlias();
+ return false;
+}
+
std::pair<lldb::CommandObjectSP, OptionArgVectorSP>
CommandAlias::Desugar ()
{
OpenPOWER on IntegriCloud