IDL4 keyword escaping needs to be extended with the new keywords
IDL4 extends the idl keywords with (u)int8/16/32/64, bitfield, bitmask, bitset, map which must be added to the tao_idl keyword escaping
We used to have a typedef in a module:
module Core
{
typedef short int16;
};
Now we have to escape it like this:
module Core
{
typedef short _int16;
};
And also its usage Core::_int16.
It this related to this issue?
Sorta. You have to escape that because we added support for IDL4 int16 and similar types in #840, which are now reserved keywords like short is.
Also I'm not sure this issue is worded right. I don't think we have to do anything specific with escaping keywords because you can escape any identifier you want to regardless if it's a keyword or not. What we should probably do is reserve all the IDL4 keywords in the flex grammar file, even if we're not using them yet. If I would have done that when adding --idl-version 4 users would have been forced to escape them immediately.
You could also just use int16 and remove the Core:: from the usage part