@xazax.hun noticed that the AST textual dumps in case of BindingDecl are incomplete. As @NoQ pointed out, there is a special VarDecl which is unique to tuple like structures, and it turned out that this declaration is not visited by the ASTNodeTraverser.
This patch is supposed to fix this issue by telling the ASTNodeTraverser to visit the required VarDecl if it is available.
Hmm, interesting. The binding itself is spelled in the source, right? I wonder if we are actually skipping them inadvertently. Moreover, it looks like DecompositionDecl is visited even when TK_IgnoreUnlessSpelledInSource is set. Even though the object defined by that node is not actually spelled in the source code. I wonder if the original author got this backwards. On the other hand, I think this PR is fine as is, and probably this should be fixed in a separate PR, and that PR should have targeted tests to demonstrate that particular problem.