In http://reviews.llvm.org/D8654#147918, @clayborg wrote:
> The main question is do we want to move each plug-in into its own namespace
> within lldb_private namespace?
>
> All code from the GDB remote process plug-in could be in:
>
> namespace lldb_private {
> namespace plugin {
> namespace process {
> namespace gdb_remote {
> // Code here
> }
> }
> }
> }
>
>
> Or just
>
> namespace lldb_private {
> namespace process_gdb_remote {
> // Code here
> }
> }
>
I am not sure if moving each plugin into its own namespace will make too much
sense because most of the plugin is very small (1 or 2 cpp file) so the
additional namespaces just adding some noise to the code without any real
benefit. What I would consider is to leave the public part of the plugins
directly in the lldb_private namespace and if a plugin require additional
classes which are private to the plugin then put them into a nested namespace
inside lldb_private.
>From the two namespace structure you suggested I would prefer the second one
>as the first one create a very deep nesting so if we have to refer to a plugin
>from a header file outside of that plugin (e.g.: from a platform plugin to a
>process plugin) then it will create extremely long fully qualified names.
If we want to go with adding nested namespace then I would also consider the
following structures because the plugins for the same OS usually tied together
in some level:
namespace lldb_private {
namespace linux {
namespace process {
// Code here
}
}
}
Or just an OS level separation (then we don't have to postfix almost all class
with the OS name as ProcessLinux, PlatformWindows, ...)
namespace lldb_private {
namespace linux {
// Code here
}
}
http://reviews.llvm.org/D8654
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits