Fix Clang-tidy modernize-use-nullptr warnings in source/Plugins/Language; other minor fixes.

llvm-svn: 262246
diff --git a/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp b/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
index 048ed58..232470c 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
@@ -1,4 +1,4 @@
-//===-- CPlusPlusLanguage.cpp --------------------------------------*- C++ -*-===//
+//===-- CPlusPlusLanguage.cpp -----------------------------------*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
@@ -9,9 +9,17 @@
 
 #include "CPlusPlusLanguage.h"
 
+// C Includes
+// C++ Includes
+#include <cstring>
+#include <cctype>
+#include <functional>
+#include <mutex>
 
+// Other libraries and framework includes
 #include "llvm/ADT/StringRef.h"
 
+// Project includes
 #include "lldb/Core/ConstString.h"
 #include "lldb/Core/PluginManager.h"
 #include "lldb/Core/RegularExpression.h"
@@ -26,11 +34,6 @@
 #include "LibCxxAtomic.h"
 #include "LibStdcpp.h"
 
-#include <cstring>
-#include <cctype>
-#include <functional>
-#include <mutex>
-
 using namespace lldb;
 using namespace lldb_private;
 using namespace lldb_private::formatters;
@@ -56,10 +59,10 @@
     return g_name;
 }
 
-
 //------------------------------------------------------------------
 // PluginInterface protocol
 //------------------------------------------------------------------
+
 lldb_private::ConstString
 CPlusPlusLanguage::GetPluginName()
 {
@@ -75,6 +78,7 @@
 //------------------------------------------------------------------
 // Static Functions
 //------------------------------------------------------------------
+
 Language *
 CPlusPlusLanguage::CreateInstance (lldb::LanguageType language)
 {
@@ -320,10 +324,7 @@
     // this is a C++ mangled name, but we can put that off till there is actually more than one
     // we care about.
     
-    if (name && name[0] == '_' && name[1] == 'Z')
-        return true;
-    else
-        return false;
+    return (name != nullptr && name[0] == '_' && name[1] == 'Z');
 }
 
 bool
@@ -345,7 +346,6 @@
 public:
     CPPRuntimeEquivalents ()
     {
-        
         m_impl.Append(ConstString("std::basic_string<char, std::char_traits<char>, std::allocator<char> >").AsCString(), ConstString("basic_string<char>"));
 
         // these two (with a prefixed std::) occur when c++stdlib string class occurs as a template argument in some STL container
@@ -365,11 +365,10 @@
     FindExactMatches (ConstString& type_name,
                       std::vector<ConstString>& equivalents)
     {
-        
         uint32_t count = 0;
 
         for (ImplData match = m_impl.FindFirstValueForName(type_name.AsCString());
-             match != NULL;
+             match != nullptr;
              match = m_impl.FindNextValueForName(match))
         {
             equivalents.push_back(match->value);
@@ -388,7 +387,6 @@
     FindPartialMatches (ConstString& type_name,
                         std::vector<ConstString>& equivalents)
     {
-        
         uint32_t count = 0;
         
         const char* type_name_cstr = type_name.AsCString();
@@ -407,11 +405,9 @@
         }
         
         return count;
-        
     }
     
 private:
-    
     std::string& replace (std::string& target,
                           std::string& pattern,
                           std::string& with)
@@ -430,14 +426,13 @@
                         const char *matching_key,
                         std::vector<ConstString>& equivalents)
     {
-        
         std::string matching_key_str(matching_key);
         ConstString original_const(original);
         
         uint32_t count = 0;
         
         for (ImplData match = m_impl.FindFirstValueForName(matching_key);
-             match != NULL;
+             match != nullptr;
              match = m_impl.FindNextValueForName(match))
         {
             std::string target(original);
@@ -471,7 +466,6 @@
     return g_equivalents_map;
 }
 
-
 uint32_t
 CPlusPlusLanguage::FindEquivalentNames(ConstString type_name, std::vector<ConstString>& equivalents)
 {
@@ -479,8 +473,8 @@
 
     bool might_have_partials= 
         ( count == 0 )  // if we have a full name match just use it
-        && (strchr(type_name.AsCString(), '<') != NULL  // we should only have partial matches when templates are involved, check that we have
-            && strchr(type_name.AsCString(), '>') != NULL); // angle brackets in the type_name before trying to scan for partial matches
+        && (strchr(type_name.AsCString(), '<') != nullptr  // we should only have partial matches when templates are involved, check that we have
+            && strchr(type_name.AsCString(), '>') != nullptr); // angle brackets in the type_name before trying to scan for partial matches
     
     if ( might_have_partials )
         count = GetEquivalentsMap().FindPartialMatches(type_name, equivalents);
@@ -806,4 +800,3 @@
     
     return g_formatters;
 }
-
diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
index 950bd62..beb89b8 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
@@ -9,6 +9,10 @@
 
 #include "LibCxx.h"
 
+// C Includes
+// C++ Includes
+// Other libraries and framework includes
+// Project includes
 #include "lldb/Core/DataBufferHeap.h"
 #include "lldb/Core/Debugger.h"
 #include "lldb/Core/Error.h"
@@ -74,12 +78,12 @@
 }
 
 lldb_private::formatters::LibcxxVectorBoolSyntheticFrontEnd::LibcxxVectorBoolSyntheticFrontEnd (lldb::ValueObjectSP valobj_sp) :
-SyntheticChildrenFrontEnd(*valobj_sp.get()),
-m_bool_type(),
-m_exe_ctx_ref(),
-m_count(0),
-m_base_data_address(0),
-m_children()
+    SyntheticChildrenFrontEnd(*valobj_sp),
+    m_bool_type(),
+    m_exe_ctx_ref(),
+    m_count(0),
+    m_base_data_address(0),
+    m_children()
 {
     if (valobj_sp)
     {
@@ -141,7 +145,7 @@
             return ValueObjectSP();
     }
     bool bit_set = ((byte & mask) != 0);
-    DataBufferSP buffer_sp(new DataBufferHeap(m_bool_type.GetByteSize(nullptr),0));
+    DataBufferSP buffer_sp(new DataBufferHeap(m_bool_type.GetByteSize(nullptr), 0));
     if (bit_set && buffer_sp && buffer_sp->GetBytes())
         *(buffer_sp->GetBytes()) = 1; // regardless of endianness, anything non-zero is true
     StreamString name; name.Printf("[%" PRIu64 "]", (uint64_t)idx);
@@ -208,15 +212,12 @@
     return idx;
 }
 
-lldb_private::formatters::LibcxxVectorBoolSyntheticFrontEnd::~LibcxxVectorBoolSyntheticFrontEnd ()
-{}
+lldb_private::formatters::LibcxxVectorBoolSyntheticFrontEnd::~LibcxxVectorBoolSyntheticFrontEnd() = default;
 
 SyntheticChildrenFrontEnd*
 lldb_private::formatters::LibcxxVectorBoolSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP valobj_sp)
 {
-    if (!valobj_sp)
-        return NULL;
-    return (new LibcxxVectorBoolSyntheticFrontEnd(valobj_sp));
+    return (valobj_sp ? new LibcxxVectorBoolSyntheticFrontEnd(valobj_sp) : nullptr);
 }
 
 /*
@@ -238,8 +239,8 @@
  */
 
 lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEnd::LibCxxMapIteratorSyntheticFrontEnd (lldb::ValueObjectSP valobj_sp) :
-SyntheticChildrenFrontEnd(*valobj_sp.get()),
-m_pair_ptr()
+    SyntheticChildrenFrontEnd(*valobj_sp),
+    m_pair_ptr()
 {
     if (valobj_sp)
         Update();
@@ -264,11 +265,11 @@
     // it if were a ValueObjectSP, we would end up with a loop (iterator -> synthetic -> child -> parent == iterator)
     // and that would in turn leak memory by never allowing the ValueObjects to die and free their memory
     m_pair_ptr = valobj_sp->GetValueForExpressionPath(".__i_.__ptr_->__value_",
-                                                     NULL,
-                                                     NULL,
-                                                     NULL,
-                                                     ValueObject::GetValueForExpressionPathOptions().DontCheckDotVsArrowSyntax().SetSyntheticChildrenTraversal(ValueObject::GetValueForExpressionPathOptions::SyntheticChildrenTraversal::None),
-                                                     NULL).get();
+                                                      nullptr,
+                                                      nullptr,
+                                                      nullptr,
+                                                      ValueObject::GetValueForExpressionPathOptions().DontCheckDotVsArrowSyntax().SetSyntheticChildrenTraversal(ValueObject::GetValueForExpressionPathOptions::SyntheticChildrenTraversal::None),
+                                                      nullptr).get();
     
     return false;
 }
@@ -312,9 +313,7 @@
 SyntheticChildrenFrontEnd*
 lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP valobj_sp)
 {
-    if (!valobj_sp)
-        return NULL;
-    return (new LibCxxMapIteratorSyntheticFrontEnd(valobj_sp));
+    return (valobj_sp ? new LibCxxMapIteratorSyntheticFrontEnd(valobj_sp) : nullptr);
 }
 
 /*
@@ -332,18 +331,16 @@
     static ConstString g_item_name;
     if (!g_item_name)
         g_item_name.SetCString("__i");
-    if (!valobj_sp)
-        return NULL;
-    return (new VectorIteratorSyntheticFrontEnd(valobj_sp,g_item_name));
+    return (valobj_sp ? new VectorIteratorSyntheticFrontEnd(valobj_sp, g_item_name) : nullptr);
 }
 
 lldb_private::formatters::LibcxxSharedPtrSyntheticFrontEnd::LibcxxSharedPtrSyntheticFrontEnd (lldb::ValueObjectSP valobj_sp) :
-SyntheticChildrenFrontEnd(*valobj_sp.get()),
-m_cntrl(NULL),
-m_count_sp(),
-m_weak_count_sp(),
-m_ptr_size(0),
-m_byte_order(lldb::eByteOrderInvalid)
+    SyntheticChildrenFrontEnd(*valobj_sp),
+    m_cntrl(nullptr),
+    m_count_sp(),
+    m_weak_count_sp(),
+    m_ptr_size(0),
+    m_byte_order(lldb::eByteOrderInvalid)
 {
     if (valobj_sp)
         Update();
@@ -404,7 +401,7 @@
 {
     m_count_sp.reset();
     m_weak_count_sp.reset();
-    m_cntrl = NULL;
+    m_cntrl = nullptr;
     
     ValueObjectSP valobj_sp = m_backend.GetSP();
     if (!valobj_sp)
@@ -441,15 +438,12 @@
     return UINT32_MAX;
 }
 
-lldb_private::formatters::LibcxxSharedPtrSyntheticFrontEnd::~LibcxxSharedPtrSyntheticFrontEnd ()
-{}
+lldb_private::formatters::LibcxxSharedPtrSyntheticFrontEnd::~LibcxxSharedPtrSyntheticFrontEnd() = default;
 
 SyntheticChildrenFrontEnd*
 lldb_private::formatters::LibcxxSharedPtrSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP valobj_sp)
 {
-    if (!valobj_sp)
-        return NULL;
-    return (new LibcxxSharedPtrSyntheticFrontEnd(valobj_sp));
+    return (valobj_sp ? new LibcxxSharedPtrSyntheticFrontEnd(valobj_sp) : nullptr);
 }
 
 bool
@@ -462,7 +456,7 @@
             return false;
         stream.Printf("0x%016" PRIx64 " ", value);
     }
-    return FormatEntity::FormatStringRef("size=${svar%#}", stream, NULL, NULL, NULL, &valobj, false, false);
+    return FormatEntity::FormatStringRef("size=${svar%#}", stream, nullptr, nullptr, nullptr, &valobj, false, false);
 }
 
 // the field layout in a libc++ string (cap, side, data or data, size, cap)
@@ -551,7 +545,7 @@
 lldb_private::formatters::LibcxxWStringSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& summary_options)
 {
     uint64_t size = 0;
-    ValueObjectSP location_sp((ValueObject*)nullptr);
+    ValueObjectSP location_sp;
     if (!ExtractLibcxxStringInfo(valobj, location_sp, size))
         return false;
     if (size == 0)
@@ -613,7 +607,7 @@
 lldb_private::formatters::LibcxxStringSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& summary_options)
 {
     uint64_t size = 0;
-    ValueObjectSP location_sp((ValueObject*)nullptr);
+    ValueObjectSP location_sp;
     
     if (!ExtractLibcxxStringInfo(valobj, location_sp, size))
         return false;
@@ -643,7 +637,7 @@
     
     options.SetData(extractor);
     options.SetStream(&stream);
-    options.SetPrefixToken(0);
+    options.SetPrefixToken(nullptr);
     options.SetQuote('"');
     options.SetSourceSize(size);
     options.SetBinaryZeroIsTerminator(false);
diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
index 9970d49..71a94b7 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
@@ -56,12 +56,12 @@
 } // namespace lldb_private
 
 lldb_private::formatters::LibcxxInitializerListSyntheticFrontEnd::LibcxxInitializerListSyntheticFrontEnd (lldb::ValueObjectSP valobj_sp) :
-SyntheticChildrenFrontEnd(*valobj_sp.get()),
-m_start(NULL),
-m_element_type(),
-m_element_size(0),
-m_num_elements(0),
-m_children()
+    SyntheticChildrenFrontEnd(*valobj_sp),
+    m_start(nullptr),
+    m_element_type(),
+    m_element_size(0),
+    m_num_elements(0),
+    m_children()
 {
     if (valobj_sp)
         Update();
@@ -113,7 +113,7 @@
     m_children.clear();
     lldb::TemplateArgumentKind kind;
     m_element_type = m_backend.GetCompilerType().GetTemplateArgument(0, kind);
-    if (kind != lldb::eTemplateArgumentKindType || false == m_element_type.IsValid())
+    if (kind != lldb::eTemplateArgumentKindType || !m_element_type.IsValid())
         return false;
     
     m_element_size = m_element_type.GetByteSize(nullptr);
@@ -141,7 +141,5 @@
 lldb_private::SyntheticChildrenFrontEnd*
 lldb_private::formatters::LibcxxInitializerListSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP valobj_sp)
 {
-    if (!valobj_sp)
-        return NULL;
-    return (new LibcxxInitializerListSyntheticFrontEnd(valobj_sp));
+    return (valobj_sp ? new LibcxxInitializerListSyntheticFrontEnd(valobj_sp) : nullptr);
 }
diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
index f86f968..8e089ae 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
@@ -34,7 +34,7 @@
     public:
         ListEntry() = default;
         ListEntry (ValueObjectSP entry_sp) : m_entry_sp(entry_sp) {}
-        ListEntry (const ListEntry& rhs) : m_entry_sp(rhs.m_entry_sp) {}
+        ListEntry(const ListEntry& rhs) = default;
         ListEntry (ValueObject* entry) : m_entry_sp(entry ? entry->GetSP() : ValueObjectSP()) {}
 
         ListEntry
@@ -69,7 +69,7 @@
 
         explicit operator bool ()
         {
-            return GetEntry().get() != nullptr && null() == false;
+            return GetEntry() && !null();
         }
 
         ValueObjectSP
@@ -106,7 +106,7 @@
         ListIterator() = default;
         ListIterator (ListEntry entry) : m_entry(entry) {}
         ListIterator (ValueObjectSP entry) : m_entry(entry) {}
-        ListIterator (const ListIterator& rhs) : m_entry(rhs.m_entry) {}
+        ListIterator(const ListIterator& rhs) = default;
         ListIterator (ValueObject* entry) : m_entry(entry) {}
         
         ValueObjectSP
@@ -207,16 +207,16 @@
 } // namespace lldb_private
 
 lldb_private::formatters::LibcxxStdListSyntheticFrontEnd::LibcxxStdListSyntheticFrontEnd (lldb::ValueObjectSP valobj_sp) :
-SyntheticChildrenFrontEnd(*valobj_sp.get()),
-m_list_capping_size(0),
-m_loop_detected(0),
-m_node_address(),
-m_head(NULL),
-m_tail(NULL),
-m_element_type(),
-m_count(UINT32_MAX),
-m_children(),
-m_iterators()
+    SyntheticChildrenFrontEnd(*valobj_sp),
+    m_list_capping_size(0),
+    m_loop_detected(0),
+    m_node_address(),
+    m_head(nullptr),
+    m_tail(nullptr),
+    m_element_type(),
+    m_count(UINT32_MAX),
+    m_children(),
+    m_iterators()
 {
     if (valobj_sp)
         Update();
@@ -225,7 +225,7 @@
 bool
 lldb_private::formatters::LibcxxStdListSyntheticFrontEnd::HasLoop(size_t count)
 {
-    if (g_use_loop_detect == false)
+    if (!g_use_loop_detect)
         return false;
     // don't bother checking for a loop if we won't actually need to jump nodes
     if (m_count < 2)
@@ -358,7 +358,7 @@
 {
     m_children.clear();
     m_iterators.clear();
-    m_head = m_tail = NULL;
+    m_head = m_tail = nullptr;
     m_node_address = 0;
     m_count = UINT32_MAX;
     m_loop_detected = 0;
@@ -372,7 +372,7 @@
         m_list_capping_size = m_backend.GetTargetSP()->GetMaximumNumberOfChildrenToDisplay();
     if (m_list_capping_size == 0)
         m_list_capping_size = 255;
-    if (err.Fail() || backend_addr.get() == NULL)
+    if (err.Fail() || !backend_addr)
         return false;
     m_node_address = backend_addr->GetValueAsUnsigned(0);
     if (!m_node_address || m_node_address == LLDB_INVALID_ADDRESS)
@@ -408,7 +408,5 @@
 SyntheticChildrenFrontEnd*
 lldb_private::formatters::LibcxxStdListSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP valobj_sp)
 {
-    if (!valobj_sp)
-        return NULL;
-    return (new LibcxxStdListSyntheticFrontEnd(valobj_sp));
+    return (valobj_sp ? new LibcxxStdListSyntheticFrontEnd(valobj_sp) : nullptr);
 }
diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
index aa82557..7e50c21 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
@@ -32,7 +32,7 @@
 public:
     MapEntry() = default;
     explicit MapEntry (ValueObjectSP entry_sp) : m_entry_sp(entry_sp) {}
-    MapEntry (const MapEntry& rhs) : m_entry_sp(rhs.m_entry_sp) {}
+    MapEntry(const MapEntry& rhs) = default;
     explicit MapEntry (ValueObject* entry) : m_entry_sp(entry ? entry->GetSP() : ValueObjectSP()) {}
     
     ValueObjectSP
@@ -124,7 +124,7 @@
     ValueObjectSP
     advance (size_t count)
     {
-        ValueObjectSP fail(nullptr);
+        ValueObjectSP fail;
         if (m_error)
             return fail;
         size_t steps = 0;
@@ -147,7 +147,7 @@
         if (m_entry.null())
             return;
         MapEntry right(m_entry.right());
-        if (right.null() == false)
+        if (!right.null())
         {
             m_entry = tree_min(std::move(right));
             return;
@@ -179,7 +179,7 @@
             return MapEntry();
         MapEntry left(x.left());
         size_t steps = 0;
-        while (left.null() == false)
+        while (!left.null())
         {
             if (left.error())
             {
@@ -253,14 +253,14 @@
 } // namespace lldb_private
 
 lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::LibcxxStdMapSyntheticFrontEnd (lldb::ValueObjectSP valobj_sp) :
-SyntheticChildrenFrontEnd(*valobj_sp.get()),
-m_tree(NULL),
-m_root_node(NULL),
-m_element_type(),
-m_skip_size(UINT32_MAX),
-m_count(UINT32_MAX),
-m_children(),
-m_iterators()
+    SyntheticChildrenFrontEnd(*valobj_sp),
+    m_tree(nullptr),
+    m_root_node(nullptr),
+    m_element_type(),
+    m_skip_size(UINT32_MAX),
+    m_count(UINT32_MAX),
+    m_children(),
+    m_iterators()
 {
     if (valobj_sp)
         Update();
@@ -274,7 +274,7 @@
 
     if (m_count != UINT32_MAX)
         return m_count;
-    if (m_tree == NULL)
+    if (m_tree == nullptr)
         return 0;
     ValueObjectSP m_item(m_tree->GetChildMemberWithName(g___pair3_, true));
     if (!m_item)
@@ -315,7 +315,7 @@
         return;
     CompilerType node_type(node->GetCompilerType());
     uint64_t bit_offset;
-    if (node_type.GetIndexOfFieldWithName("__value_", NULL, &bit_offset) == UINT32_MAX)
+    if (node_type.GetIndexOfFieldWithName("__value_", nullptr, &bit_offset) == UINT32_MAX)
         return;
     m_skip_size = bit_offset / 8u;
 }
@@ -327,10 +327,9 @@
     static ConstString g___nc("__nc");
     static ConstString g___value_("__value_");
 
-    
     if (idx >= CalculateNumChildren())
         return lldb::ValueObjectSP();
-    if (m_tree == NULL || m_root_node == NULL)
+    if (m_tree == nullptr || m_root_node == nullptr)
         return lldb::ValueObjectSP();
     
     auto cached = m_children.find(idx);
@@ -352,10 +351,10 @@
     }
     
     ValueObjectSP iterated_sp(iterator.advance(actual_advancde));
-    if (iterated_sp.get() == NULL)
+    if (!iterated_sp)
     {
         // this tree is garbage - stop
-        m_tree = NULL; // this will stop all future searches until an Update() happens
+        m_tree = nullptr; // this will stop all future searches until an Update() happens
         return iterated_sp;
     }
     if (GetDataType())
@@ -366,14 +365,14 @@
             iterated_sp = iterated_sp->Dereference(error);
             if (!iterated_sp || error.Fail())
             {
-                m_tree = NULL;
+                m_tree = nullptr;
                 return lldb::ValueObjectSP();
             }
             GetValueOffset(iterated_sp);
             iterated_sp = iterated_sp->GetChildMemberWithName(g___value_, true);
             if (!iterated_sp)
             {
-                m_tree = NULL;
+                m_tree = nullptr;
                 return lldb::ValueObjectSP();
             }
         }
@@ -385,20 +384,20 @@
                 GetChildAtIndex(0);
             if (m_skip_size == UINT32_MAX)
             {
-                m_tree = NULL;
+                m_tree = nullptr;
                 return lldb::ValueObjectSP();
             }
             iterated_sp = iterated_sp->GetSyntheticChildAtOffset(m_skip_size, m_element_type, true);
             if (!iterated_sp)
             {
-                m_tree = NULL;
+                m_tree = nullptr;
                 return lldb::ValueObjectSP();
             }
         }
     }
     else
     {
-        m_tree = NULL;
+        m_tree = nullptr;
         return lldb::ValueObjectSP();
     }
     // at this point we have a valid 
@@ -408,7 +407,7 @@
     iterated_sp->GetData(data, error);
     if (error.Fail())
     {
-        m_tree = NULL;
+        m_tree = nullptr;
         return lldb::ValueObjectSP();
     }
     StreamString name;
@@ -447,7 +446,7 @@
     static ConstString g___tree_("__tree_");
     static ConstString g___begin_node_("__begin_node_");
     m_count = UINT32_MAX;
-    m_tree = m_root_node = NULL;
+    m_tree = m_root_node = nullptr;
     m_children.clear();
     m_iterators.clear();
     m_tree = m_backend.GetChildMemberWithName(g___tree_, true).get();
@@ -472,7 +471,5 @@
 SyntheticChildrenFrontEnd*
 lldb_private::formatters::LibcxxStdMapSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP valobj_sp)
 {
-    if (!valobj_sp)
-        return NULL;
-    return (new LibcxxStdMapSyntheticFrontEnd(valobj_sp));
+    return (valobj_sp ? new LibcxxStdMapSyntheticFrontEnd(valobj_sp) : nullptr);
 }
diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
index 8ad806d..54e91f1 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
@@ -62,12 +62,12 @@
 } // namespace lldb_private
 
 lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd::LibcxxStdUnorderedMapSyntheticFrontEnd (lldb::ValueObjectSP valobj_sp) :
-SyntheticChildrenFrontEnd(*valobj_sp.get()),
-m_tree(NULL),
-m_num_elements(0),
-m_next_element(nullptr),
-m_children(),
-m_elements_cache()
+    SyntheticChildrenFrontEnd(*valobj_sp),
+    m_tree(nullptr),
+    m_num_elements(0),
+    m_next_element(nullptr),
+    m_children(),
+    m_elements_cache()
 {
     if (valobj_sp)
         Update();
@@ -86,7 +86,7 @@
 {
     if (idx >= CalculateNumChildren())
         return lldb::ValueObjectSP();
-    if (m_tree == NULL)
+    if (m_tree == nullptr)
         return lldb::ValueObjectSP();
     
     auto cached = m_children.find(idx);
@@ -166,7 +166,5 @@
 SyntheticChildrenFrontEnd*
 lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP valobj_sp)
 {
-    if (!valobj_sp)
-        return NULL;
-    return (new LibcxxStdUnorderedMapSyntheticFrontEnd(valobj_sp));
+    return (valobj_sp ? new LibcxxStdUnorderedMapSyntheticFrontEnd(valobj_sp) : nullptr);
 }
diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
index 9fb4f48e..b39ea51 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
@@ -56,12 +56,12 @@
 } // namespace lldb_private
 
 lldb_private::formatters::LibcxxStdVectorSyntheticFrontEnd::LibcxxStdVectorSyntheticFrontEnd (lldb::ValueObjectSP valobj_sp) :
-SyntheticChildrenFrontEnd(*valobj_sp.get()),
-m_start(NULL),
-m_finish(NULL),
-m_element_type(),
-m_element_size(0),
-m_children()
+    SyntheticChildrenFrontEnd(*valobj_sp),
+    m_start(nullptr),
+    m_finish(nullptr),
+    m_element_type(),
+    m_element_size(0),
+    m_children()
 {
     if (valobj_sp)
         Update();
@@ -116,7 +116,7 @@
 bool
 lldb_private::formatters::LibcxxStdVectorSyntheticFrontEnd::Update()
 {
-    m_start = m_finish = NULL;
+    m_start = m_finish = nullptr;
     m_children.clear();
     ValueObjectSP data_type_finder_sp(m_backend.GetChildMemberWithName(ConstString("__end_cap_"),true));
     if (!data_type_finder_sp)
@@ -153,7 +153,5 @@
 lldb_private::SyntheticChildrenFrontEnd*
 lldb_private::formatters::LibcxxStdVectorSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP valobj_sp)
 {
-    if (!valobj_sp)
-        return NULL;
-    return (new LibcxxStdVectorSyntheticFrontEnd(valobj_sp));
+    return (valobj_sp ? new LibcxxStdVectorSyntheticFrontEnd(valobj_sp) : nullptr);
 }
diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
index ed89c5c..1fa53b9 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
@@ -1,4 +1,4 @@
-//===-- LibStdcpp.cpp ---------------------------------------------*- C++ -*-===//
+//===-- LibStdcpp.cpp -------------------------------------------*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
@@ -9,6 +9,10 @@
 
 #include "LibStdcpp.h"
 
+// C Includes
+// C++ Includes
+// Other libraries and framework includes
+// Project includes
 #include "lldb/Core/DataBufferHeap.h"
 #include "lldb/Core/Error.h"
 #include "lldb/Core/Stream.h"
@@ -28,7 +32,9 @@
 {
 public:
     LibstdcppMapIteratorSyntheticFrontEnd (lldb::ValueObjectSP valobj_sp);
-    
+
+    ~LibstdcppMapIteratorSyntheticFrontEnd() override = default;
+
     size_t
     CalculateNumChildren() override;
     
@@ -44,8 +50,6 @@
     size_t
     GetIndexOfChildWithName (const ConstString &name) override;
     
-    ~LibstdcppMapIteratorSyntheticFrontEnd() override;
-    
 private:
     ExecutionContextRef m_exe_ctx_ref;
     lldb::addr_t m_pair_address;
@@ -66,7 +70,7 @@
  */
 
 LibstdcppMapIteratorSyntheticFrontEnd::LibstdcppMapIteratorSyntheticFrontEnd (lldb::ValueObjectSP valobj_sp) :
-    SyntheticChildrenFrontEnd(*valobj_sp.get()),
+    SyntheticChildrenFrontEnd(*valobj_sp),
     m_exe_ctx_ref(),
     m_pair_address(0),
     m_pair_type(),
@@ -159,15 +163,10 @@
     return UINT32_MAX;
 }
 
-LibstdcppMapIteratorSyntheticFrontEnd::~LibstdcppMapIteratorSyntheticFrontEnd ()
-{}
-
 SyntheticChildrenFrontEnd*
 lldb_private::formatters::LibstdcppMapIteratorSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP valobj_sp)
 {
-    if (!valobj_sp)
-        return NULL;
-    return (new LibstdcppMapIteratorSyntheticFrontEnd(valobj_sp));
+    return (valobj_sp ? new LibstdcppMapIteratorSyntheticFrontEnd(valobj_sp) : nullptr);
 }
 
 /*
@@ -185,17 +184,15 @@
     static ConstString g_item_name;
     if (!g_item_name)
         g_item_name.SetCString("_M_current");
-    if (!valobj_sp)
-        return NULL;
-    return (new VectorIteratorSyntheticFrontEnd(valobj_sp,g_item_name));
+    return (valobj_sp ? new VectorIteratorSyntheticFrontEnd(valobj_sp, g_item_name) : nullptr);
 }
 
 lldb_private::formatters::VectorIteratorSyntheticFrontEnd::VectorIteratorSyntheticFrontEnd (lldb::ValueObjectSP valobj_sp,
                                                                                             ConstString item_name) :
-SyntheticChildrenFrontEnd(*valobj_sp.get()),
-m_exe_ctx_ref(),
-m_item_name(item_name),
-m_item_sp()
+    SyntheticChildrenFrontEnd(*valobj_sp),
+    m_exe_ctx_ref(),
+    m_item_name(item_name),
+    m_item_sp()
 {
     if (valobj_sp)
         Update();
@@ -254,9 +251,7 @@
     return UINT32_MAX;
 }
 
-lldb_private::formatters::VectorIteratorSyntheticFrontEnd::~VectorIteratorSyntheticFrontEnd ()
-{
-}
+lldb_private::formatters::VectorIteratorSyntheticFrontEnd::~VectorIteratorSyntheticFrontEnd() = default;
 
 bool
 lldb_private::formatters::LibStdcppStringSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options)