Archived
This forum has been archived. Please start a new discussion on GitHub.
Issue with Icecs 3.3.0
Hello,
It seems that Dictionaries are not well generated with ice 3.3.0.
See what I got :
"v__" is not declared and I have the same behaviour with all my dictionaries. I thik "k__" should replace it.
See another example :
This time, another variable "v__" is declared and used after...
It seems that Dictionaries are not well generated with ice 3.3.0.
See what I got :
public static _System.Collections.Generic.Dictionary<castor.UnderlyingCrossCorrelationKey, castor.CorrelationStress> read(IceInternal.BasicStream is__) { int sz__ = is__.readSize(); _System.Collections.Generic.Dictionary<castor.UnderlyingCrossCorrelationKey, castor.CorrelationStress> r__ = new _System.Collections.Generic.Dictionary<castor.UnderlyingCrossCorrelationKey, castor.CorrelationStress>(); for(int i__ = 0; i__ < sz__; ++i__) { castor.UnderlyingCrossCorrelationKey k__; v__ = new castor.UnderlyingCrossCorrelationKey(); k__.read__(is__); is__.readObject(new Patcher__("::castor::CorrelationStress", r__, k__)); } return r__; }
"v__" is not declared and I have the same behaviour with all my dictionaries. I thik "k__" should replace it.
See another example :
public static _System.Collections.Generic.Dictionary<castor.CrossKey, double> read(IceInternal.BasicStream is__) { int sz__ = is__.readSize(); _System.Collections.Generic.Dictionary<castor.CrossKey, double> r__ = new _System.Collections.Generic.Dictionary<castor.CrossKey, double>(); for(int i__ = 0; i__ < sz__; ++i__) { castor.CrossKey k__; v__ = new castor.CrossKey(); k__.read__(is__); double v__; v__ = is__.readDouble(); r__[k__] = v__; } return r__; }
This time, another variable "v__" is declared and used after...
0
Comments
-
Hi,
Could you post the slice that was used to generate these functions?
Dwayne0 -
Here's an example :
module Test { struct Key { long Key1; long Key2; }; dictionary<Key, double> Dict; }; // module Test
It gives :public static _System.Collections.Generic.Dictionary<Test.Key, double> read(IceInternal.BasicStream is__) { int sz__ = is__.readSize(); _System.Collections.Generic.Dictionary<Test.Key, double> r__ = new _System.Collections.Generic.Dictionary<Test.Key, double>(); for(int i__ = 0; i__ < sz__; ++i__) { Test.Key k__; v__ = new Test.Key(); k__.read__(is__); double v__; v__ = is__.readDouble(); r__[k__] = v__; } return r__; }
0 -
Ok thank you !0