[cfe-dev] Attempt at CXX Namespaces
Chris Lattner
clattner at apple.com
Mon Feb 25 13:33:06 PST 2008
On Feb 25, 2008, at 11:32 AM, Kevin Tew wrote:
> I've gotten serious and have written some code.
>
> Following the clang web page's advice, I've tried to start
> implementing c++ namespaces.
> Currently, I'm trying to figure out how to add namespace members to
> my NamespaceDecl.
>
> I'm very new to clang and learning as I go. Comments/Suggestions
> welcome.
Great! First comments: please make sure your code fits into 80
columns. Second, make sure
comments are up to date: this is not a recorddecl :)
> +/// RecordDecl - Represents a cxx namespace . For example:
> +//. namespace X { };
> +/// This decl will be marked invalid if *any* members are invalid.
> +///
> +class NamespaceDecl : public RecordDecl {
Why is this class deriving from RecordDecl? Namespaces "are not"
records, so there shouldn't be an inheritance relation here.
> +
> +public:
> + NamespaceDecl(Kind DK, SourceLocation L, IdentifierInfo *Id,
> ScopedDecl*PrevDecl)
In this ctor, I don't think there is any reason to pass in a 'Kind'.
The kind of NamespaceDecl is always Namespace.
Finally, please send patches as an attachment with .patch suffix. This
avoids problems with some mailers.
Thanks for working on this!
-Chris
More information about the cfe-dev
mailing list