[orbitcpp-list] Compiler Any support and sequence bug
Status: Beta
Brought to you by:
philipd
From: John L. <jk...@lu...> - 2000-11-07 10:30:25
|
I managed to get the IDL compiler to eek out code for Any. Marshalling and Demarshalling work and I spent some to get operator functions made for user defined types. The compiler patch can be found at ftp://www.luebsphoto.com/pub/ There is also the beginnings of the CORBA::Any I mentioned earlier. In hammering out the Any insertion extraction operator generation, I found a bit a bug. The sequence creation in the compiler uses that IDLWriteSeqSpec job. Well consider: typedef sequence<long, 5> test_seq; typedef sequence<long, 5> test_seq2; The IDLWriteSeqSpec job should only run once, yet right now it runs for both writeTypedefs for the sequences. There are two possible solutions, the pretty/fast one, and the kludgy one. The code generated by IDLWriteSeqSpec job can be guarded by #ifndef, #define, #endif so even though the code appears more than once, there are no compilation problems. The "better" solution is to have a map of CPPTypeNames of the sequences and the map is checked before the a sequence Write spec job is submitted. I made a few changes to make this effect and ended up with ftp://www.luebsphoto.com/pub/compiler2.idl. John Luebs |