As no one else commented I just wanted to point out that probably both 2a and 2b are acceptable as long the implementation is generic enough to avoid duplicated code on different generators. I believe 2a should use warnings to avoid restricting current working IDL's and 2b could give errors directly as it would result in compilation errors anyway. Stig have a point but there is probably a way to implement 2b and then also use all the other generator specific tables to warn the user as on 2a.
Best, Henrique On 3 December 2014 at 17:47, Stig Bakken <s...@zedge.net> wrote: > 2a sounds good to me, since it is consistent. That could be important > for projects that ship thrift files intended for users who want to > build their own clients, for example. > > Another discussion could be to catch the same types of issues for > field and enum names. But that is... another discussion :) > > > On Tue, Dec 2, 2014 at 9:42 PM, Konrad Grochowski <hc...@minions.org.pl> > wrote: > > So most people agree: no aliases (shame ;) ) > > > > Soo... I see two potential changes as a result of this discussion: > > 1. Add i8 for consistency > > 2. Add dictionary of reserved keywords and validate all type and > variable > > names against it > > a. one global dictionary containing merge of keywords of all thrift > > supported langs - this will make IDL more portable > > b. dictionary per language, checked on generation (not parsing like > in > > a. ) level. This might be a little easier to maintain, yet might be > > surprising for users that changing --gen X can lead to thrift errors. > > > > In both 2a and 2b I'd expect error(/warning(?!)) like: > > 'int' cannot be used as a type name as it is keyword in [C, C++, Java, > ...] > > language(s). > > > > -KG > > > > W dniu 2014-12-02 o 21:16, Jens Geyer pisze: > > > >>> 'long' on most 32-bit platforms is 32-bit. 'long' on Max and Linux > >>> 64-bit is 64-bits, but 'long' on Win64 is 32-bits. > >> > >> > >> True. Another point against it. > >> > >> > > > > > > -- > Stig Bakken > CTO, Zedge.net - free your phone! >