From: William S F. <ws...@fu...> - 2009-08-24 21:16:00
|
glenneroo wrote: > In my classHandler(), i'm trying to count how many bytes are used in a C > struct by iterating through the children getting the "Type" attribute. > > Here's the offending code: > > for (child=firstChild(node); child; child=nextSibling(child)) > { > SwigType *type = Getattr(node, "type"); > } > > The problem is, the "Type" attribute doesn't contain any array > identification e.g. "a(20).byte" as it normally does when i retrieve > this attribute from within membervariableHandler(). > > Is what i'm trying to do even allowed? Or is there a better way to do this? > Use the debugging options to find out more about the parse tree, for example, run: swig -debug-module 4 You'll see the information is spread across the "type" attribute and the "decl" attribute. See the comments in symbol.c. I'm not sure what you are trying to do, but take a look at Allocate::function_return_type() to achieve what you want. Language::cDeclaration() modifies the type for use in membervariableHandler(). William |