From: Raman G. <ram...@gm...> - 2012-08-14 08:44:22
|
Hello William, Thanks for the suggestions. I'll keep this in mind. I've started drilling deeper into the code base. I'll let you know if I run into hurdles. Best, Raman On Sun, Aug 12, 2012 at 12:18 AM, William S Fulton <ws...@fu...>wrote: > On 09/08/12 20:08, Raman Gopalan wrote: > >> >> Hello swig-devel, >> >> I would like to add support for nested classes in SWIG. So far, I've been >> looking into the code base to get more familiar with the SWIG internals. >> I have also read about the existing workaround for nested classes in the >> manual. >> >> I would like start working on this. I could use a few suggestions and some >> support. Can we have a work plan? How do I proceed from here? >> >> Raman, > > That sounds great, if not a tough task to take on board. The simplified > plan should be to first get the parse tree to contain the nested class > hierarchy. Currently the nested classes are ignored. The -debug options are > really useful for diagnosing this, in particular -debug-module 1 and > -debug-csymbols. You'll have to do most of this work in parser.y. > > Modifying the parser to deal with non-template classes before moving on to > templates will probably make sense, but you'll need to make sure all the > different types of members are working too. > > Next, make sure the type resolution in the 2nd parse stage (typepass.cxx) > correctly resolves the nested types. Use -debug-module 2 for that. Once > that is in place the ground work will have been laid for the individual > target languages to use this information for mapping nested classes on to > something that makes sense in the target language. > > The third big stage would be to choose one target language you are most > familiar with and put forward proposals with use cases (examples) of how it > would work for discussion on the list before implementing. > > Over time, other target languages can be modified to make use of nested > classes. > > Hope that helps, and good luck. Ask on the list if you need any help. > > William > |