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.
>
>

Reply via email to