cparse_template_expand() incorrectly appended template parameters to all destructor nodes it encountered during the tree traversal, including the dtors of any nested classes. This resulted in WARN_LANG_ILLEGAL_DESTRUCTOR warnings from Language::destructorDeclaration() later and possibly other problems due to not actually wrapping these dtors. Fix this by explicitly checking if the dtor is a child or, to account for %extend, a grandchild of the template node itself before appending template parameters to it. This commit is best viewed with "-w" (ignore whitespace changes) option as it indents, without changing, a block of code. |
||
|---|---|---|
| .. | ||
| cparse.h | ||
| cscanner.c | ||
| parser.y | ||
| templ.c | ||
| util.c | ||