Commit Graph

1159 Commits

Author SHA1 Message Date
Jens Geyer
a86886e77d THRIFT-2704 - compiler: T_ONEWAY type used for oneway methods instead of T_CALL
Patch: Konrad Grochowski

This closes #216
2014-09-17 22:36:00 +02:00
Jens Geyer
2de7e19899 THRIFT-2702 empty enums lead to invalid code
Client: Delphi
Patch: Jens Geyer
2014-09-12 00:23:53 +02:00
Jens Geyer
86b309cde0 THRIFT-2513 clean up enum value assignment
Client: Compiler (General)
Patch: Jens Geyer
2014-09-12 00:23:51 +02:00
Jens Geyer
089bcd3f8c THRIFT-1040 Can't end typedef lines with a semicolon
Client: Compiler (General)
Patch: Konrad Grochowski
2014-09-11 22:36:41 +02:00
Jens Geyer
ae0b22cc29 THRIFT-2513 clean up enum value assignment
Patch: Dave Watson

This closes #88

Summary:
Clean up how enum values are handled if an integer value is not
explicitly specified in the thrift file.

For example, the following used to be a compile error, but
works now:

  enum MyEnum {
	SOMEVALUE
  }
  struct MyStruct {
	1: MyEnum e = SOMEVALUE
  }

This change also cleans up some of the error handling with out-of-range
values.  Previously thrift simply issued a warning for enum values that
didn't fit in an i32, but serialized them as i32 anyway.  Now
out-of-range enum values result in a compile failure.

Test Plan:
Included a new unit test to verify the assignment of enum values.  I
also verified that g++ makes the same enum value assignments when
compiling these enums as C++ code.
2014-09-04 23:40:14 +02:00
Jens Geyer
067779bbda THRIFT-2679 golang generation fails for service names less than 5 characters
Client: Go
Patch: Dustin Spicuzza & Jens Geyer
2014-09-04 22:35:38 +02:00
Roger Meier
0cc6d3c7bd THRIFT-2690
c_glib: Incorrect behaviour when serializing a map with typedef'd keys

Patch: Simon South
2014-09-04 00:24:17 +02:00
Roger Meier
d62473c3b0 THRIFT-1266 generated C code for iterating over nested maps is wrong
Patch: Simon South
2014-09-04 00:16:50 +02:00
Konrad Grochowski
b3f6ea100f THRIFT-2067 C++: all generated objects provide ostream operator<< 2014-09-03 23:41:32 +02:00
Jens Geyer
d0bd17e726 THRIFT-2666 Usage of PYTHONHASHSEED breaks older Python code
Client: Python
Patch: Jens Geyer
2014-09-01 23:05:08 +02:00
Keith Lazuka
e26a19bba0 THRIFT-2676 Avoid 'i386' name collision in generated Cocoa/objc code
This fixes a bug in the cocoa code generator where the variable
used by a for-loop can conflict with a built-in symbol when the
temporary variable counter is equal to 386. The generated variable
name, 'i386', conflicts with a macro built-in to the compiler.

I can reproduce this bug on Xcode 5 as well as Xcode 6. It appears
to only affect iOS projects, not OS X projects.

My fix simply prefixes the generated variable with 'idx' instead of 'i'.

This test code demonstrates the problem, regardless of Thrift codegen.

    int i386 = 42;
    printf("foobar %d\n", i386);

Which results in the following compiler error:

/Users/keith/Desktop/ReservedSymbolTest/ReservedSymbolTest/ViewController.m:22:7: error: expected identifier or '('
  int i386 = 99;
      ^
<built-in>:143:14: note: expanded from here
             ^
1 error generated.
2014-09-01 22:04:36 +02:00
Roger Meier
db8751b1bc THRIFT-2673 PHP: generated Service_method_result code should not have validators
Patch: Stig Bakken
2014-09-01 21:58:07 +02:00
Roger Meier
008f42cb38 THRIFT-2684 c_glib: Improvements to map deserialization in generated code
Patch: Simon South
2014-09-01 20:26:01 +02:00
Roger Meier
546209c961 THRIFT-2683 c_glib: Seg fault when deserializing a map with typedef'd keys
Patch: Simon South
2014-09-01 20:23:26 +02:00
kedzie
f9b8f5e641 THRIFT-2670 Android parcelable generator
-add 'android' option to java compiler which will generate Parcelable structures for Android
-cleaned up warnings
2014-08-23 22:27:45 +02:00
Roger Meier
311f7157a2 THRIFT-2571 Simplify cross compilation using CMake
fix CMake build and update README.md
2014-08-17 22:24:30 +02:00
Roger Meier
8720260e39 THRIFT-2667 create Windows Installer via CPack
Signed-off-by: Roger Meier <roger@apache.org>
2014-08-15 23:07:12 +02:00
Noam Zilberstein
af5d64adb7 THRIFT-2641 Improvements to Haskell Compiler/Libraries
- test/test.sh integration
- add json and compact protocol

This closes #175

Signed-off-by: Roger Meier <roger@apache.org>
2014-08-10 21:11:43 +02:00
Jens Geyer
044e89de0a THRIFT-2653 improved Delphi const generation
Client: Delphi
Patch: Jens Geyer
2014-08-07 22:50:15 +02:00
Jens Geyer
c20eeaae82 THRIFT-2589 const of BaseType in IDL generates static instead of const properties
Client: C#
Patch: Thomas Lazar
2014-08-07 22:41:24 +02:00
alisdair sullivan
ca44a622df THRIFT-2651: struct names that are restricted erlang terms generate invalid type signatures
patch: alisdairsullivan@yahoo.ca
client: erlang

fixes error exposed in THRIFT-2647 by avoiding using restricted identifiers in erlang type signatures generated by the compiler
2014-08-07 17:40:22 +02:00
Roger Meier
d52edba00f THRIFT-2231 Support tornado-4.x (Python)
Client: Python
Patch: Roey Berman
Signed-off-by: Roger Meier <roger@apache.org>
2014-08-07 17:04:23 +02:00
Roger Meier
16c164ed30 THRIFT-2647 compiler-hs: don't decapitalize field names, do decapitalize argument bindings
Client: Haskell
Patch: John Chee
2014-08-07 03:09:23 +02:00
Jens Geyer
a0b8674116 THRIFT-2639 c_glib: Expose as properties members of generated structs
Client: C-glib
Patch: Simon South

Fixes error: 'to_string' is not a member of 'std' for non-C++11 conformant compilers
2014-08-03 19:14:11 +02:00
Roger Meier
f341c590dc THRIFT-2152 Generated Haskell files does not compile
fully qualified module names at usage site for structs

Patch: John Chee & Roger Meier
2014-08-02 18:05:23 +02:00
Jens Geyer
b360ed393c THRIFT-2645 generated Go server code always sets Success retval
Client: Go
Patch: Jens Geyer
2014-08-02 16:23:13 +02:00
Jens Geyer
790a3881b2 THRIFT-2621 Add basic default hash code method to python
Client: Python
Patch: Kishor Patil & Jens Geyer
2014-08-01 22:25:51 +02:00
Roger Meier
8033e7e794 Revert "THRIFT-585 exceptions in the autogenerated send_METHOD functions are not propagated"
This reverts commit 8345772f29.
2014-07-30 01:01:50 +02:00
Roger Meier
60b7ad6b3d THRIFT-2639 c_glib: Expose as properties members of generated structs
Patch: Simon South

Signed-off-by: Roger Meier <roger@apache.org>
2014-07-29 23:25:53 +02:00
Jens Geyer
8345772f29 THRIFT-585 exceptions in the autogenerated send_METHOD functions are not propagated
Client: Python (Twisted)
Patch: Mattias de Zalenski, James Broadhead

This closes #165
2014-07-26 18:02:12 +02:00
Roger Meier
3c494114b1 THRIFT-1188 C++: Use bit fields for a more compact __isset struct
Patch: Eric Rannaud
2014-07-26 14:43:57 +02:00
Roger Meier
84d1188842 THRIFT-2637 "java:fullcamel_service_methods" option to automatically camel-case Java service methods
Patch: Tom Lee
2014-07-25 23:26:11 +02:00
alisdair sullivan
fb6ed7ead1 THRIFT-2628 erlang: struct member name conflicts due to lowercased names
client: erlang
patch: talentdeficit (alisdair sullivan)

preserve case in generated field names (via erlang 'atom' form)
2014-07-25 00:09:25 +02:00
Jens Geyer
577f407df9 THRIFT-2632 add "validate" option to generate read/write validation code
Client: PHP
Patch: Stig Bakken & Jens Geyer

Modifications made to the original pull request:
- moved TestValidators.* to lib/php/test
- created new TestValidators.thrift to house the UnionOfStrings union
- modified makefiles accordingly

This closes #159
2014-07-25 00:13:27 +02:00
alisdair sullivan
feea9477e7 THRIFT-2633 remove 'this is a dummy struct' structs from generated erlang
client: erlang
patch: talentdeficit (alisdair sullivan)

removes dummy struct info clauses from generated code and replaces
them with error that matches other undefined structs. adds error
for non-existent functions to function_info/2
2014-07-22 22:04:42 +02:00
Roger Meier
1d7e35a7cb THRIFT-2631 c_glib: Support service inheritance in clients
Patch: Simon South
2014-07-22 21:56:12 +02:00
Jens Geyer
dd077c8b0b THRIFT-2634 undocumented php "nsglobal" option
Client: PHP
Patch: Jens Geyer
2014-07-22 00:41:07 +02:00
henrique
7a8b286b3f THRIFT-2629 JavaDoc style documentation should be reused
Client: C++
2014-07-16 22:05:08 +02:00
John Chee
a75a5f0f70 fully qualified names in hs generator 2014-07-16 21:13:28 +02:00
alisdair sullivan
c437cff08f THRIFT-2627:erlang backend doesn't support corecursive structs client: erlang patch: anthony molinari
add additional type specifications to generated erlang files to support
corecursive structs
2014-07-16 20:09:49 +02:00
Roger Meier
57e6de46f3 THRIFT-2602 Fix missing dist files
no config.h for mingw builds

Patch: Roger Meier
2014-07-16 10:19:59 +02:00
Roger Meier
3974aaba69 THRIFT-2602 Fix missing dist files
- set bison to 2.5
- include "config.h" within thriftl.ll

Patch: Roger Meier
2014-07-14 20:22:12 +02:00
Jens Geyer
cdab7eef75 THRIFT-1609 Cocoa import namespace
Client: Cocoa
Patch: Xabier Eizmendi
2014-07-12 12:36:41 +02:00
jfarrell
4f54d13e79 THRIFT-2602: Fix missing dist files
Client: build process
Patch: jfarrell

Adding macro check around bison version and removing am__yacc_c2h and will
conditionally include the necessary h/hh file, this will fix the mentioned
missing .hh file in dist and make it compatible with automake 1.11 and above
2014-07-10 09:23:43 -04:00
jfarrell
8fd8c6366d THRIFT-2602:Fix missing dist files
Client: build process
Patch: jfarrell

Add all missing files to the dist package.
2014-07-10 09:14:51 -04:00
Jens Geyer
6f86f9ac58 THRIFT-2557 CS0542 member names cannot be the same as their enclosing type
Client: C#
Patch: Jens Geyer
2014-07-08 21:31:52 +02:00
Jens Geyer
bc2ca4e5d7 THRIFT-1926 PHP Constant Generation Refactoring
Client: PHP
Patch: Xavier HAUSHERR
2014-07-04 21:45:55 +02:00
Roger Meier
45abf12f13 THRIFT-2594 JS Compiler: Single quotes are not being escaped in constants.
Patch: Thomas Lazar
2014-07-04 21:42:32 +02:00
Jens Geyer
12ee88170a THRIFT-2599 Uncompileable Delphi code due to naming conflicts with IDL
Client: Delphi
Patch: Jens Geyer
2014-07-04 00:12:25 +02:00
David Robakowski
7878f11024 Add [-s[sl]] option for the python service remote to enable communication over an SSL socket connection 2014-06-28 08:37:21 +02:00