Archived
This forum has been archived. Please start a new discussion on GitHub.
ICE 3.0.0 CS code generation issue
Hi ZeroC,
first of all gratulations to ICE 3.0.0!
I specially like the the CS enhandments! Thanks alot!
But I'm sorry to report a bug in the new CS code generation.
Please find the sample project attached.
generates this code:
the CS compiler doesn't like the reuse of "i__".
in ICE-2.1.2 the second for loop was working with "i".
Greeting and take care
Tom
first of all gratulations to ICE 3.0.0!
I specially like the the CS enhandments! Thanks alot!
But I'm sorry to report a bug in the new CS code generation.
Please find the sample project attached.
module A { class S { int a; }; ["clr:collection"] sequence<S> SSeq; dictionary<string, SSeq> StringSSeqDict; };
generates this code:
public static StringSSeqDict read(IceInternal.BasicStream is__) { int sz__ = is__.readSize(); StringSSeqDict r__ = new StringSSeqDict(); for(int i__ = 0; i__ < sz__; ++i__) { string k__; k__ = is__.readString(); A.SSeq v__; { int szx__ = is__.readSize(); is__.startSeq(szx__, 4); v__ = new A.SSeq(szx__); for(int i__ = 0; i__ < szx__; ++i__) { IceInternal.SequencePatcher spx = new IceInternal.SequencePatcher(v__, typeof(A.S), i__); is__.readObject(spx); is__.checkSeq(); is__.endElement(); } is__.endSeq(szx__); } r__[k__] = v__; } return r__; }
the CS compiler doesn't like the reuse of "i__".
in ICE-2.1.2 the second for loop was working with "i".
Greeting and take care
Tom
0
Comments
-
DeepDiver wrote:But I'm sorry to report a bug in the new CS code generation.
Please find the sample project attached.
[...]
the CS compiler doesn't like the reuse of "i__".
Aarghhh... Personally, I think the compiler should go and jump in a lake. What's the point of having nested scopes when I can't use them to protect myself from name clashes?
Thanks for pointing this out, I'll post a fix ASAP.
Cheers,
Michi.0