Hi Jim,

This looks good to me.  I have one nit below.

On Sep 3, 2010, at 11:34 AM, Jim Goodnow II wrote:

> Didn't quite get it right the first time, but there is still a problem with 
> arguments not being printed. Will look into it.
> 
> - jim
> 
> Index: lib/AST/DeclPrinter.cpp
> ===================================================================
> --- lib/AST/DeclPrinter.cpp   (revision 112954)
> +++ lib/AST/DeclPrinter.cpp   (working copy)
> @@ -518,12 +518,13 @@
>     T = Parm->getOriginalType();
>   T.getAsStringInternal(Name, Policy);
>   Out << Name;
> -  if (D->getInit()) {
> +  Expr *Init = D->getInit();
> +  if (Init) {

Since 'Init' is only used within the body of the conditional, I typically 
prefer:

if (Expr *Init = D->getInit())

instead of:

Expr *Init = D->getInit();
if (Init) {

The former restricts the scope of the 'Init' to where it is intended, making it 
impossible to use afterwards.

>     if (D->hasCXXDirectInitializer())
>       Out << "(";
> -    else
> +    else if (!dyn_cast<CXXConstructExpr>(Init))
>       Out << " = ";
> -    D->getInit()->printPretty(Out, Context, 0, Policy, Indentation);
> +    Init->printPretty(Out, Context, 0, Policy, Indentation);
>     if (D->hasCXXDirectInitializer())
>       Out << ")";
>   }<DeclPrinter.patch>_______________________________________________

I've gone ahead and applied this patch (with my suggested change) in r113296.

Cheers,
Ted
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to