Hi! Now I have Internet access for a pair of days again.
Oops, I had forgotten to commit code, which added warnings for classes starting with lowercase. Unfortunately, there is not a general automated way for dealing with classes starting, that also avoids names clashes. The only solution is to issue a warning telling the problematic class, and allow the programmer to rename it using the %rename(NewName) oldName; directive, by placing it in the interface definition file. About the newlines, I took the opportunity to add code for replacing all of them with CR, in the generated Smalltalk code. Now I remembered a hard to fix bug, with overloaded functions. Currently this uses the arguments names to generate their selector, but it does not take into account their types. The following illustrates the problem: void overloadedFunctionA(int a, int b); -> Module class>>overloadedFunctionA: a b: b void overloadedFunctionA(float a, double b); -> Module class>>overloadedFunctionA: a b: b Different signatures, but the same selector is generated. A method implementation is generated for both of them, but because they have the same selector and belong to the same class, only the last implementation can be seem, because it overwrites the previous ones. Another problem is with C++exception handling, is not implemented yet, but it is possible to support them. Best Regards, Ronie 2014-02-21 15:43 GMT-03:00 Göran Krampe <[email protected]>: > Hey! > > > On 02/21/2014 06:50 PM, Ronie Salgado wrote: > >> Hi there!, >> >> It is great to hear that it is being useful. Currently I am taking some >> vacations, so I will probably be without Internet access for some days. >> > [SNIP] > > > I took that kind of approach because it gives more flexibility, but it >> provides probably a reduced performance in comparison with placing the >> callouts directly in the wrapped classes. Some people that saw this when >> developing this did not like this approach. >> > > Yeah, I can see what you mean - and I think that's just fine. > > One bit tricky problem: there are classes generated starting with lower > case. That doesn't fly :) > > Also, LF instead of CRs after signatures makes NB barf when parsing. That > was easily solved with a global tr '\n' '\r' of course, the class naming is > a bit harder - need to go to the source. > > I can see if I can find that one :) > > regards, Göran > > PS. Tried wrapping Nanomsg.org today, got so far as to start running test > code - but then it fails creating a socket - not sure why, might not be > your fault at all actually :) When it works I will blog about it. > >
