This patch improves data formatting for CFDictionaryRef and CFSetRef.
It uses the same data-formatter as NSCFDictionaries and NSCFSets introduced
previously but did require some adjustments in Core::ValueObject.
Since the "Ref" types are opaque pointers to the actual CF containers, if the
value object has a synthetic value, lldb will use the opaque pointer's pointee
type to create the new ValueObjectChild needed to dereference the ValueObject.
This allows the "Ref" types to behaves the same as CF containers when used with
the frame variable command, the SBAPI or in Xcode's variable inspector.
rdar://53104287
Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
You don't want to introduce a dependency between Core and a plugin. What you need here might need to be introduced as a new abstract functionality on the TypeSystem base class.