Commit Graph

1241 Commits

Author SHA1 Message Date
Jens Geyer
38f2a2aed3 THRIFT-2826 html:standalone sometimes ignored
Client: HTML
Patch: Jens Geyer
2014-11-14 22:30:16 +01:00
Jens Geyer
96dfcd5c5d THRIFT-2814 args/result classes not found when no namespace is set
Client: Haxe
Patch: Jens Geyer

This closes #261
2014-11-11 01:35:24 +01:00
Jens Geyer
fea00ac871 THRIFT-2753 Haxe support: Misc. improvements
Client: Haxe
Patch: Jens Geyer

This closes #229
2014-11-09 01:58:29 +01:00
Jens Geyer
bd52f1a1dd THRIFT-2644 Haxe support
Client: Haxe
Patch: Jens Geyer

This closes #214
2014-11-09 01:58:25 +01:00
Konrad Grochowski
cc092b37c8 THRIFT-2773: java - fixed oneway support while using TServiceClient
Client: java
Patch: Konrad Grochowski

new method for oneway call provided by TServiceClient
and compiler will now use it

This closes #241
2014-11-05 19:00:54 +01:00
Roger Meier
4f4b15ba2b compiler: remove trailing whitespaces 2014-11-05 16:53:41 +01:00
Roger Meier
4776166509 fix some license headers 2014-11-02 12:20:53 +01:00
Jens Geyer
6e43b18526 THRIFT-2793 Go compiler produces uncompilable code
Client: Go
Pacth: Frank Schroeder
2014-11-01 22:35:17 +02:00
Roger Meier
a70986fc34 THRIFT-2784 Eliminate compiler warnings in generated C++ code
Patch: Roger Meier
2014-10-21 23:01:36 +02:00
Roger Meier
d5c7a0f6f7 format: spaces instead of tabs 2014-10-21 21:53:05 +02:00
Roger Meier
d8dd7ea99f THRIFT-2784 Eliminate compiler warnings in generated C++ code
Patch: John Campbell
2014-10-13 18:07:59 +02:00
Roger Meier
ec300e33d4 THRIFT-1462 add more strict compiler flags
Patch: Roger Meier
2014-10-13 02:13:35 +02:00
Roger Meier
f31eba9d45 THRIFT-2360 Json Generator
remove C++11 dependency
2014-10-13 00:53:49 +02:00
Roger Meier
1a74d9c0b0 THRIFT-2360 Json Generator
Patch: Craig Peterson, Peter Neumark & Roger Meier

Github Pull Request: This closes #247
2014-10-12 23:35:43 +02:00
Roger Meier
a9ddab5fa7 THRIFT-2720 nodejs - Error with enum generation 2014-10-09 02:11:14 +02:00
Roger Meier
25023b16eb THRIFT-809 Javascript client: Please make required fields actually required.
Patch: noazark

Github Pull Request: This closes #232
2014-10-09 02:01:17 +02:00
Roger Meier
f49ea0691c Revert "Revert "THRIFT-2722: js: Fix javascript service inheritance namespacing""
This reverts commit 371358ce4e.
2014-10-09 01:50:33 +02:00
Roger Meier
371358ce4e Revert "THRIFT-2722: js: Fix javascript service inheritance namespacing"
This reverts commit 9a7cb9f6c8.
2014-10-09 01:17:06 +02:00
Roger Meier
964082a8eb THRIFT-2712 PHP: add "json" option to create JsonSerializable code
This patch adds a "json" option to PHP code generation that will
make generated classes implement JsonSerializable, so thrift
objects may be converted to json using json_encode() easily.
If the "validate" option is enabled, the object's write validator
will be called, beyond that the jsonSerialize() method only outputs
non-null fields in the JSON object (JSON parsers get grumpy if you
send them null where they expect to see a number).

Patch: Stig Bakken

Github Pull Request: This closes #219
2014-10-08 23:41:18 +02:00
Roger Meier
9a7cb9f6c8 THRIFT-2722: js: Fix javascript service inheritance namespacing
Patch: Stig Bakken

This closes: #227
2014-10-08 12:31:26 +02:00
Jens Geyer
79f988c27a THRIFT-2768: Whitespace Fixup
Client: General (Makefile.am)
Patch: Jens Geyer

Reverted makefile.am - tabs are not optional there
2014-10-03 20:42:54 +02:00
Jens Geyer
aaa8947f3a THRIFT-2768: Whitespace Fixup
Client: General (Makefile.am, *.thrift)
Patch: Jens Geyer

DocTest.thrift has NOT been changed, the trailing whitespaces are part of the test case.
2014-10-03 20:30:38 +02:00
Jens Geyer
6d15c3090f THRIFT-2628 struct member name conflicts due to lowercased names
Client: Erlang
Patch: Alisdair Sullivan

This closes #228
2014-10-02 10:06:07 +02:00
Jens Geyer
cc4ac4955c THRIFT-2689 struct names that differ only in capitalization of first character generate broken erlang code
Client: Erlang
Patch: Alisdair Sullivan

This closes #204
2014-10-01 21:13:39 +02:00
Konrad Grochowski
99b9e1d405 THRIFT-2746: compiler/cpp/README.md updated
Client: Build
Patch: Konrad Grochowski

Haskell compiler no longer need to be disabled when building with mingw
2014-10-01 00:14:14 +02:00
Randy Abernethy
ab3f848dec THRIFT-2746: Replace C++11 code in IDL compiler
Client: compiler (haskell and cpp generators)
Patch: Randy Abernethy

This patch replaces various bits of C++11 code in the Apache
Thrift compiler which fail to compile on older versions of
gcc (such as 4.4.7)
2014-09-30 14:09:41 -07:00
Konrad Grochowski
485d71acd1 THRIFT-2664: py - fixed errors on calling oneway functions
Client: Python-Compiler
Patch: Dustin Spicuzza

'recv_' method is resolved later, thus disregarding exceptions send from
oneway methods calls

This closes #188
2014-09-29 23:38:15 +02:00
Konrad Grochowski
03394b54fb THRIFT-2662: py - Fix incorrect indentation when oneway function is used
Client: Python-Compiler
Patch: Dustin Spicuzza

fixes python generator when py:tornado option is enabled

This closes #186
2014-09-29 23:04:30 +02:00
Konrad Grochowski
05d64b4e3b THRIFT-2707: rb - support for oneway messages fixed
Client: Ruby Library, Ruby Compiler
Patch: Konrad Grochowski

now oneway method calls will use proper message type

This closes #217
2014-09-29 22:08:58 +02:00
Roger Meier
63243c6a29 THRIFT-2709 c_glib: Support server implementation
Patch: Simon South
2014-09-29 20:29:58 +02:00
James Broadhead
51ba56c31b py.twisted: Avoid synchronous exceptions
This is an update of the patch posted to:
https://issues.apache.org/jira/browse/THRIFT-585
and a re-write of 8345772

Patch: Mattias de Zalenski, James Broadhead

Jira: THRIFT-585
2014-09-28 22:39:55 +02:00
Jens Geyer
3dcef37686 THRIFT-2714 Graphviz generator is missing from MSVC++ project files
Client: Graphviz
Patch: Jens Geyer
2014-09-17 22:55:56 +02:00
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
jfarrell
bf2617ed15 Thrift-THRIFT-2574: Compiler option to generate namespace directories for Ruby
Client: rb
Patch: Andrew Bloomgarden

Adds option to generate namespaced ruby classes.

Github: closes #140
2014-06-26 22:53:01 -04:00
Jens Geyer
ff296c8841 THRIFT-2588 Thrift compiler is not buildable in Visual Studio 2010
Client: General Compiler
Patch: Thomas Lazar
2014-06-24 21:06:58 +02:00
Jens Geyer
bd05f9e06c THRIFT-2233 Java compiler should defensively copy its binary inputs
Client: Java
Patch: Andrew Gaul
2014-06-22 19:47:52 +02:00
Jens Geyer
9999f5295e THRIFT-2503 C++: Fix name collision when a struct has a member named "val"
Client: C++
Patch: Jens Geyer & Alexander Potashev
2014-06-22 19:09:06 +02:00
Jens Geyer
ebddd933d1 THRIFT-2508 Uncompileable C# code due to language keywords in IDL
Client: C#
Patch: Jens Geyer
2014-06-22 19:06:51 +02:00
Jens Geyer
c0d126fcaf THRIFT-2549 Generate json tag for struct members. use go.tag annotation to override the default generated tag.
Client: Go
Patch: Aleksey Pesternikov

This closes #128
2014-06-19 22:49:54 +02:00
henrique
55087a49d3 THRIFT-2571 doc and speed up travis build 2014-06-17 12:36:39 +02:00
Roger Meier
db372ac248 compiler: move README_Windows.md content to README.md
fix compiler/cpp/Makefile.am
2014-06-16 07:32:12 +02:00
Roger Meier
63fcb7e756 THRIFT-2520 cpp:cob_style generates incorrect .tcc file
This closes #118

commit 22d266eefaf16f21ffd0ad193a6a54403de65197
Author: N.Sukegawa <nsukeg@gmail.com>
Date: 2014-05-07T19:36:43Z
2014-06-15 21:51:32 +02:00
Roger Meier
746952efc1 compiler: move README_Windows.md content to README.md 2014-06-14 21:59:24 +02:00
Pascal Bach
569863a138 Allow cross build for windows using mingw32
- Build the compiler using CMake for:
  - Linux native gcc
  - Windows using mingw32
2014-06-10 13:44:02 +02:00
Pascal Bach
42be4e818a Get thrift version from configure.ac for CMake build 2014-06-10 13:33:58 +02:00
Pascal Bach
6eb015aa55 Add CMake file for the thrift compiler 2014-06-10 13:33:58 +02:00
Jens Geyer
cf18e91831 THRIFT-2435 Java compiler doesn't like struct member names that are identical to an existing enum or struct type
Client: java
Patch: Jens Geyer

Fixed a potential nullptr dereference introduced by that patch (Coverity ID 1216835)
2014-05-31 22:58:15 +02:00
Jens Geyer
a3350b48ea THRIFT-2560 Thrift compiler generator tries to concat ints with strings using +
Client: Compiler
Patch: Jens Geyer
2014-05-31 22:32:18 +02:00
Jens Geyer
5588a569d5 THRIFT-2554 double initialization in generated Read() method
Client: C#
Patch: Jens Geyer
2014-05-30 17:53:47 +02:00
Jens Geyer
eb1e1d5567 THRIFT-2555 excessive "unused field" comments
Client: Go
Patch: Jens Geyer
2014-05-30 17:53:45 +02:00
ra
91b3b1a6b2 THRIFT-2558: CSharp gen tries to add str + int
Client: C# Compiler
Patch: Randy Abernethy

The C# generator attempts to throw a str + int string in
several places producing undesirable results. This patch
uses stringstream to concatenate the string representations.
2014-05-30 06:31:00 -07:00