From baf9c20b0215a0db58aa38a09209929e9289da25 Mon Sep 17 00:00:00 2001 From: Adrian Prantl Date: Mon, 12 Feb 2018 21:11:14 +0000 Subject: Factor out common condition into an easier to understand helper function (NFC). llvm-svn: 324935 --- llvm/lib/DebugInfo/DWARF/SyntaxHighlighting.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'llvm/lib/DebugInfo/DWARF/SyntaxHighlighting.cpp') diff --git a/llvm/lib/DebugInfo/DWARF/SyntaxHighlighting.cpp b/llvm/lib/DebugInfo/DWARF/SyntaxHighlighting.cpp index 65d66fc8f51..46c19bcc451 100644 --- a/llvm/lib/DebugInfo/DWARF/SyntaxHighlighting.cpp +++ b/llvm/lib/DebugInfo/DWARF/SyntaxHighlighting.cpp @@ -20,9 +20,17 @@ static cl::opt cl::desc("use colored syntax highlighting (default=autodetect)"), cl::init(cl::BOU_UNSET)); +bool WithColor::colorsEnabled(raw_ostream &OS) { + switch (UseColor) { + case cl::BOU_UNSET: return OS.has_colors(); + case cl::BOU_TRUE: return true; + case cl::BOU_FALSE: return false; + } +} + WithColor::WithColor(raw_ostream &OS, enum HighlightColor Type) : OS(OS) { // Detect color from terminal type unless the user passed the --color option. - if (UseColor == cl::BOU_UNSET ? OS.has_colors() : UseColor == cl::BOU_TRUE) { + if (colorsEnabled(OS)) { switch (Type) { case Address: OS.changeColor(raw_ostream::YELLOW); break; case String: OS.changeColor(raw_ostream::GREEN); break; @@ -38,6 +46,6 @@ WithColor::WithColor(raw_ostream &OS, enum HighlightColor Type) : OS(OS) { } WithColor::~WithColor() { - if (UseColor == cl::BOU_UNSET ? OS.has_colors() : UseColor == cl::BOU_TRUE) + if (colorsEnabled(OS)) OS.resetColor(); } -- cgit v1.2.3