Commit Graph

1690 Commits

Author SHA1 Message Date
Shaoyu Zhang
087d88108d THRIFT-4684: Fix WCF related C# code generation
Client: C#
Complete the namespace in System.ServiceModel in WCF related code.
Also when generating fields in fault classes, we follow the same behavior in normal struct,
to avoid generating unused private fields, when auto properties are also generated.
2018-12-25 12:53:52 -05:00
James E. King III
9b75e4fe74 THRIFT-4680: fix up std::min, std::max, and numeric limits min/max on Windows; remove NOMINMAX from cmake build 2018-12-18 10:17:57 -05:00
louyl
9c3d2d6c0a Fix build compiler with cmake 2018-12-10 08:35:09 -05:00
wilfrem
2c69b5a01e THRIFT-3143: Add nodets support
Co-authored-by: Mustafa Senol Cosar <cosar.mustafasenol@gmail.com>
2018-11-29 15:28:44 -05:00
Jens Geyer
b073e1438d THRIFT-4672 IAsyncResult style methods not being supported by certain transports leads to issues in mixed ISync/IAsync use cases
Client: C#
Patch: Jens Geyer

This closes #1633
2018-11-24 21:46:53 +01:00
Palmer Cox
5112afcc97 THRIFT-4670: Twisted, slots, and void method fails with "object has no attribute 'success'"
For a void method, there is no success value, so, it is an error to
attempt to assign one to the result object. This error is harmless
unless slots is also specified - with slots specified, the attempt to
assign to a non-existent field causes an error which makes the service
method fail.

Client: py
2018-11-22 08:17:15 -05:00
GREATEST Wiggler EvaR!
0882354f28 Fix function name in Rust generator (does not affect generated code)
Client: rs
2018-11-16 15:50:17 -05:00
GREATEST Wiggler EvaR!
b57d126157 THRIFT-4529: Rust enum variants are now camel-cased
Client: rs
2018-11-12 07:57:43 -05:00
jake-ruyi
6436899e47 THRIFT-4662: Rust const string calls function at compile time
Client: rs
2018-11-12 07:51:25 -05:00
jake-ruyi
d5bd2005ea THRIFT-4661: Rust enum name wrong case in generated structs
Client: rs
2018-11-09 17:56:25 -05:00
Lázaro Clapp
fed4977027 THRIFT-4660: Include Generated and Nullable as needed for enums
Client: Java
2018-11-06 07:55:55 +01:00
Manu Sridharan
f216dfb716 THRIFT-4657: Include @javax.annotation.Generated annotations for generated Java union classes
Client: Java
2018-11-03 07:45:50 +01:00
bforbis
da1169d75b THRIFT-4653: ES6 classes support (#1615)
* ES6 classes support
* Lint generated code
* ES6 Tests for NodeJS
* Add eslint rules for nodejs
* Run prettier/eslint on nodejs test code
2018-10-28 11:27:38 -04:00
D. Can Celasun
9ee29516c4 Replace git.apache.org imports with github.com
Client: go
2018-10-19 07:48:56 +01:00
Dean Hamstead
8a130f63e5 THRIFT-4382: Replace the use of Indirect Object Syntax calls to new() 2018-10-17 19:13:45 -04:00
Craig Wickesser
5c1ecb67cd THRIFT-4650: fix required fields incorrectly being marked as set
This closes #1610.

Client: go
2018-10-16 07:40:13 +01:00
Simon South
2853da436f THRIFT-4648: Use correct namespace in type names
Client: c_glib
2018-10-12 07:35:39 -04:00
David Walker
031f57122f THRIFT-4646: change dart generation of exception to exception
Generator: Dart
2018-10-04 15:44:02 -04:00
Tsuzu
14190de4cb THRIFT-4644: Compiler cannot be compiled on macOS (#1601)
Client: compiler
2018-10-03 07:57:17 -04:00
nsrtvwls
014f53f658 THRIFT-4496: python specific list of keywords for python generator (#1567)
Client: py
2018-09-28 11:11:21 -04:00
Brian Forbis
b5d6ea390f THRIFT-4625: Use let/const variable decorators in ES6 Javascript 2018-09-28 10:36:55 -04:00
Jens Geyer
0f6e52abcc THRIFT-4637 C# async mode generates incorrect code with inherited services
Client: C#
Patch: Jens Geyer
2018-09-16 07:02:55 -04:00
Charles Giardina
180888820a THRIFT-4631 Fix Ruby codegen to gen valid ruby for recursive structs 2018-09-15 09:47:14 -04:00
Chris Simpson
612fdd871c Better consistency with module names, fix module name for Errors 2018-09-13 07:50:24 -04:00
Simon South
8de3749235 THRIFT-4622: Resolve typedef'd list-element type
Client: c_glib
2018-08-29 08:03:07 -04:00
Flavien Raynaud
3f5f0f82a7 THRIFT-4617: Prepend service-specific struct names with service name (#1578)
Client: rs
2018-08-28 23:55:15 -04:00
Manu Sridharan
831819c563 THRIFT-4614: Generate missing @Nullable annotation (#1577)
Client: Java
2018-08-07 06:40:38 +01:00
bforbis
f2867c2498 THRIFT-3950: Memory leak while calling oneway methods (#1568)
* THRIFT-3950: Memory leak while calling oneway methods
* THRIFT-3950: Update NodeJS Oneway tests
2018-07-17 12:19:49 -04:00
Kevin Carbone
e7fa464584 THRIFT-4586: Cocoa generator generates NSString with copy instead of strong.
Client: [cocoa]
2018-07-03 08:18:54 -04:00
Brian Forbis
d7b635f784 THRIFT-4225: Delete callback if RPC send failed 2018-06-27 08:48:18 -04:00
Brian Forbis
896c206c56 THRIFT-4564: Reset buffered transport on serizliation errors 2018-06-21 20:48:16 -04:00
D. Can Celasun
88591e32e7
THRIFT-4573 Support binary fields in union counts
This commit also fixes another, related issue: Since union support was
added in b3654df, `Count*` methods (and count checks in `Write`
methods) were only generated if there was at least 1 pointer field.

But pointer fields are not the only nullable types in Go, slices and
maps can also be set the nil, which are now taken into account.

Client: go
2018-05-17 10:26:09 +02:00
McGradyDa
8672394ade Simplify the rust code generated by the generator (#1553)
Client: rs
2018-05-09 08:51:31 -04:00
Jens Geyer
92d80629ac THRIFT-4562 Calling wrong exception CTOR leads to "call failed: unknown result" instead of the real exception being thrown
Client: Delphi
Patch: Jens Geyer

This closes #1551
2018-05-03 09:04:05 +02:00
nicaro
c7aa68bd59 Thrift 4556: Optional rethrow of unhandled exceptions in java processor (#1544)
Client: java
2018-05-01 09:07:50 -04:00
Mustafa Senol Cosar
09c1f3719c THRIFT-4532: Do not update previously generated output files if the contents have not changed 2018-05-01 07:53:52 -04:00
Pierre Mignolet
4a00fc658a THRIFT-4558 normalize name in C# constructor
Client: csharp
Patch: Pierre Mignolet <p.mignolet@evs.com>

This closes #1546
2018-04-17 22:12:17 +02:00
Ben Podgursky
50bfc56d5d THRIFT-4555 Optionally disable copies of binary fields in constructors, getters and setters.
Client: java

This closes #1540.
2018-04-17 07:21:46 +01:00
Jens Geyer
c564651dd4 THRIFT-4554 uncompileable code with member names that are also types under specific conditions
Client: Delphi
Patch: Jens Geyer

This closes #1539
2018-04-14 00:51:41 +02:00
Davin Chia
b9d5fb25e4 THRIFT-4253: Fix for constant assignments to optional fields in Go. (#1311)
Client: go
2018-04-09 08:04:42 -04:00
Chris Simpson
a9b6c7039b THRIFT-3773: Swift 3 changes, Squashed (#1084)
Client: swift
2018-04-08 07:11:37 -04:00
Manu Sridharan
930428438c
THRIFT-4530: add @Nullable annotations to generated Java code
Use our own `org.apache.thrift.annotations.Nullable` type to avoid
introducing a third-party dependency

Client: java

This closes #1522.
2018-03-29 14:53:36 +02:00
Margar Simonyan
46fec41738
THRIFT-4531: Fix generated Python read() method for immutable structs with optional members
Client: python

This closes #1521.
2018-03-28 10:35:16 +02:00
Roman Soroka
a8a97bde9e THRIFT-4513: fix bug in comparator introduced by e58f75d
This closes #1517
2018-03-22 11:30:14 -04:00
Ozan Can Altiok
e46419b5ec THRIFT-4476: Typecasting problem on double list items,
emitting doubles with high precision
Client: cpp
Client: erl
Client: java
Client: js
Client: py

This closes #1511
2018-03-20 16:28:15 -04:00
Robert Lu
68707d9219
THRIFT-4474: Use PSR-4 autoloader by default
Client: php

This closes #1479
2018-03-15 11:05:30 +01:00
Roman Soroka
e58f75daa8 THRIFT-4513: Fix thrift compiler to generate constants in stable order.
This closes #1505
2018-03-14 13:07:10 -04:00
John Boiles
5785279e2e THRIFT-4448: Golang: do something with context.Context. Remove Go1.6 compatibility.
Client: go

This closes #1459
2018-03-12 18:35:17 -04:00
David Hull
fe50feae7e THRIFT-4497: Use map() field type for Erlang type for map struct fields.
Client: erl

The Thrift Erlang code generator previously generated fields with the
`#{}` Erlang type for maps fields.  In the Erlang type specification
languages, however, `#{}` specifically means an empty map.  This commit
fixes the code to emit `map()` instead, which means the maps keys and
values may be of any type.

It would be possible to emit a field type such as
`${keytype() => maptype()}`, but this commit does not do that.

This closes #1495
2018-03-09 18:32:36 -05:00
David Hull
1918b21d1c THRIFT-4495: Allow undefined for non-required Erlang records fields.
Client: erl

As of Erlang 19, the dialyzer static type-analysis tool no longer
implicitly adds `undefined` to the allowed types for a field.  This
means that dialyzer will now complain about any non-required fields
that are not explicitly initialed when creating a new record.

This closes #1494
2018-03-09 18:31:49 -05:00
James E. King III
860a5f1ff8 THRIFT-4508: change windows CI builds to use current MSVC, one cygwin and one mingw build 2018-03-06 18:17:41 -05:00
John Boiles
3b87c71ccb THFIFT-4486: golang: support https from generated clients
golang: don't generate -remote.go clients when there are no functions
golang: support for http headers in -remote clients
golang: serialize cli requests with TJsonProtocol since serialization is not supported with TSimpleJsonProtocol
Client: golang

This closes #1488
2018-03-03 13:20:04 -05:00
Tomek Kurcz
e93a901715 THRIFT-82: Add Common Lisp support
Client: cl

There's framed and buffered socket transport, binary protocol, multiplex, simple
server, cross-tests, self-tests, tutorial, CL library, CL code generator. Only
SBCL is supported for now.

This closes #1412
2018-03-02 13:44:50 -05:00
Robert Lu
e241265cb2 THRIFT-4463: Generated PHP code to match PSR-2
Client: php

* PHP ident with 4 space
* remove redundancy blank lines
* open bracket of function, class at new line
* remove hard-coded indent, use indent()
* add necessary visibility declaration for class field
* open bracket of flow control put end of line, not new line
* remove inline control structures
* add blank around equal symbol

This closes #1473
2018-01-24 00:08:23 -05:00
Volodymyr Gotra
54993296c4 THRIFT-4434: .NET Core cleanup and the beginnings of compiler unit tests
Client: netcore

This closes #1449
2018-01-14 08:39:32 -05:00
Chet Murthy
19a6493ff0 THRIFT-4399 plugin.thrift t_const_value is not used as a union in C++ code -- fix this
Client: compiler

This closes #1435
2018-01-10 23:49:29 -05:00
Chet Murthy
6ae4023052 THRIFT-4393: renumber GeneratorInput t_{type,etc...}_id
Client: compiler

This closes #1419
2018-01-10 23:45:56 -05:00
John Boiles
080e43ee8e THRIFT-4447: Fix panic on p.c.Call when using legacy initializers
Client: go

This closes #1461
2018-01-10 21:17:19 -05:00
Philip Frank
8fdd610ba7 THRIFT-4406: Optionally generate ES6 compatible JavaScript where service methods return Promises
includes tests and TypeScript support
Client: js

This closes #1452
2018-01-04 09:15:24 -05:00
Jens Geyer
14f5d500b9 THRIFT-4422 Add Async implementation via IFuture
Client: Delphi
Patch: Jens Geyer

This closes #1444
2017-12-14 00:00:03 +01:00
Jens Geyer
d30a7d1599 THRIFT-4400 Visual Studio Compiler project should link runtime statically in release builds
Client: Compiler (general)
Patch: Jens Geyer

This closes #1436
2017-12-02 17:17:48 +01:00
Nobuaki Sukegawa
3c420072ab THRIFT-3580 THeader for Haskell
Client: hs

This closes #820
This closes #1423
2017-11-30 16:15:25 -05:00
Nobuaki Sukegawa
af56286378 THRIFT-3610 Streamline exception handling in Python server handler
Client: py

This closes #842
This closes #1426
2017-11-30 12:36:52 -05:00
Nobuaki Sukegawa
66c3dbf2de THRIFT-3602 Make Tornado server send exception on unexpected handler error
Client: py

This closes #839
This closes #1425
2017-11-30 12:36:33 -05:00
Nobuaki Sukegawa
6f8264037c THRIFT-3600 Make TTwisted server send exception on unexpected handler error
Client: py

This closes #838
This closes #1424
2017-11-30 12:36:11 -05:00
Chet Murthy
35f987d45b THRIFT-4392 reorder structs in plugin.thrift
This fixes #1417
This closes #1413
2017-11-29 21:37:18 -05:00
Dylan Trotter
cde4d4181a Fix remote client for HTTP transport
Client: go

Assign parsedUrl to the variable in the outer scope instead of creating
a new one. Previously the outer parsedUrl was never assigned and was
therefore always empty.

This closes #1411
2017-11-20 07:34:01 -05:00
D. Can Celasun
4f77ab8e29 THRIFT-4285 Move TX/RX methods from gen. code to library
This change removes a lot of duplication from generated code and allows
the caller to customize how they can read from / write to the
transport.  Backwards compatible adapters make the change compatible
with existing code in use by consuming applications.

Client: Go

This closes #1382
2017-11-03 18:21:40 -07:00
James E. King, III
533405e3f8 THRIFT-4376: fix more high impact coverity defects
Led to the discovery of incorrect lua socket error handling.

This closes #1405
2017-10-29 07:05:47 -04:00
James E. King, III
43f4bf2fdd THRIFT-4376: fix a few high impact coverity defects:
1458947: memory leak in compiler
1458787: resource leak in c_glib led to discovery of assert() abuse
1459090: fix string.find result check in JSON processor (unlikely)

This closes #1404
2017-10-28 16:44:09 -04:00
Robert Lu
9dff0efc1e THRIFT-4356: fix segment fault for thrift_protocol
NOTE: drops php5 support for PHP extension (thrift_protocol)
however library still can support PHP5 as evidenced by CI build
Client: php

This closes #1385
This closes #1391
2017-10-25 08:57:04 -04:00
dhasenan
ba5e065aaa THRIFT-4305 Doc comments in dlang output
Client: d
Patch: Neia Neutuladh

This closes #1396
This closes #1395
2017-10-23 14:49:13 -04:00
James E. King, III
54ce558ba8 THRIFT-4365: Replaced indirect object syntax in perl compiler
Client: perl
Patch: Finn Isaac Norris Colman

This closes #1393
2017-10-20 08:33:38 -04:00
Jens Geyer
44701e82ad THRIFT-4306 Thrift imports not replicated to D service output
Client: D language
Patch: Neia Neutuladh
2017-10-19 23:16:32 +02:00
James E. King, III
0ad20bdbfe THRIFT-4351: use travis build stages to optimize build,
avoiding duplicate rebuilds of the same image, and also
allow personal docker hub repositories for private fork
builds to be optimized. Move ubsan build to artful image
because it catches more stuff and fix what was found.

THRIFT-4345: solidify docker build strategy for maximum
coverage: trusty, xenial, artful as stock as they can be

THRIFT-4344: add top level language summary markdown and
update readme with a new image on the layered architecture

THRIFT-3847: remove VERSION macro from config.h which
was causing a conflict on artful builds.

THRIFT-4359: fix haxe map/set decode when key is binary,
as a missing break statement caused it to use an int
during decode

This closes #1389
2017-10-19 11:29:04 -04:00
Brian Forbis
8b8a8efea1 THRIFT-4355 Fix javascript indentation of default values
Client: js

This closes #1388
2017-10-10 08:46:46 -07:00
James E. King, III
48ba736a58 THRIFT-4131: js / WebSocket / fix handling oneway methods
Client: js
Patch: Martin Hejnfelt <mh@newtec.dk>

This closes #1372
2017-09-24 20:35:01 -07:00
Brian Forbis
a17ef79e8f THRIFT-4334: Fix perl indentation for default attribute values of
array / hashes / objects
Client: Perl

This closes #1373
2017-09-24 20:32:56 -07:00
Deniss Afonin
d3cda9c2f3 THRIFT-3357: Generate EnumSet/EnumMap where elements/keys are enums
Client: Java

This closes #1253
2017-09-21 13:57:09 -07:00
oryahud
8506121b3e THRIFT-4287: Add c++ compiler no_skeleton flag option
Client: C++

This closes #1333
2017-09-21 10:03:00 -07:00
Ivan Sadikov
04d983c14e THRIFT-4330: Allow unused crates in Rust files
Client: Rust
Patch: Ivan Sadikov <ivan.sadikov@team.telstra.com>

This closes #1360
2017-09-19 22:02:43 +02:00
Jens Geyer
078281dcd3 THRIFT-4324 field names can conflict with local vars in generated code
Client: Delphi
Patch: Jens Geyer
2017-09-08 23:55:02 +02:00
Jens Geyer
17c3ad9c8a THRIFT-4318 Delphi performance improvements
Client: Delphi
Patch: Jens Geyer

This closes #1348
2017-09-07 22:14:00 +02:00
Dirk Sandbrink
05c672b4d0 THRIFT-4290: Fixed csharp:nullable code generation for non-required enum fields with default values
Client: cs

This closes #1347
2017-09-07 10:31:35 -07:00
Charlie Zhang
e9ede89c1c THRIFT-4275: add support for zope.interface exclusively when generating code for python
Client: py

This closes #1324
2017-09-06 21:19:42 -07:00
James E. King, III
113614b2e5 fix flex syntax in compiler readme
Patch: Zhaopin <daishun9@gmail.com>

This closes #1332
2017-09-04 18:28:29 -07:00
James E. King, III
d7142b7e4f THRIFT-4295: rework the docker build images, updating them and tuning the travis builds
This closes #1340
2017-09-04 18:09:34 -07:00
jiangq
de112fbb0d change js generator for simple using in object params
Client: node.js

This closes #1034
2017-08-12 16:23:06 -07:00
James E. King, III
82ae9575cd THRIFT-2221: detect C++11 and use std namespace for memory operations (smart_ptr)
Client: C++

This closes #1328
2017-08-10 13:27:21 -04:00
David Hull
0a8c34ceed THRIFT-4279 Wrong path in include directive in generated Thrift sources
Client: Erlang
Patch: David Hull <david.hull@openx.com>

This closes #1329
2017-08-09 14:58:31 +02:00
David Hull
0eda909573 THRIFT-4270 Generate Erlang mapping functions for const maps and lists
Client: Erlang
Patch: David Hull <david.hull@openx.com>

This closes #1320
2017-08-02 22:20:42 +02:00
David Hull
ec2a252136 THRIFT-4269 Don't append '.' to Erlang namespace if it ends in '_'.
Client: Erlang
Patch: David Hull <david.hull@openx.com>

This closes #1319
2017-08-01 00:38:55 +02:00
Mike Morton
3ba4ecf3e0 THRIFT-4257 Typescript async callbacks do not provide the correct types
Client: Typescript
Patch: Mike Morton <michaeldouglasmorton@gmail.com>

This closes #1310
2017-07-30 12:00:06 +02:00
taozle
5c302e02c4 THRIFT-4260 Go context generation issue. Context is parameter in Interface not in implementation
Client: Go
Patch: taozle <zhangliyang26@gmail.com>

This closes #1312
2017-07-25 00:17:30 +02:00
taozle
c0d384a38c THRIFT-4236 Support context in go generated code
Client: Go
Patch: taozle <zhangliyang26@gmail.com>

This closes #1309
2017-07-22 19:42:48 +02:00
Eric Conner
c34653f751 THRIFT-2642 Recursive structs don't work in python
Client: Python
Patch: Eric Conner <eric@pinterest.com>

This closes #1293
2017-07-06 22:59:10 +02:00
taozle
5b4c6bfc62 THRIFT-4236: Add context support for go server.
Client: Go
Patch: taozle <zhangliyang26@gmail.com>

This closes #1298
2017-07-01 17:23:56 +02:00
Stig Bakken
c0e353500d THRIFT-4238 JSON generator: make annotation-aware
Client: json
Autor: Stig Bakken <stig@zedge.net>

This closes #1299
2017-07-01 15:51:14 +02:00
Jens Geyer
c55fdb9534 THRIFT-4231 TJSONProtocol throws unexpected non-Thrift-exception on null strings
Client: C#
Patch: Jens Geyer

This closes #1291
2017-06-17 17:59:46 +02:00
D. Can Celasun
2b1b32c283 THRIFT-3703 Unions Field Count Does Not Consider Map/Set/List Fields
Client: Go
Patch: D. Can Celasun <can@dcc.im>

This closes #1281
2017-05-31 22:56:52 +02:00
Allen George
5862099f37 THRIFT-4196 Support recursive types in Rust
Client: rs
Patch: Allen George <allen.george@gmail.com>

This closes #1267
2017-05-13 00:01:05 +02:00
Allen George
bc1344d55f THRIFT-4186 Add travis build for Rust
Client: rs
Patch: Allen George <allen.george@gmail.com>

This closes #1260
2017-05-11 01:35:33 +02:00
Allen George
0e22c362b9 THRIFT-4176: Implement threaded server for Rust
Client: rs

* Create a TIoChannel construct
* Separate TTransport into TReadTransport and TWriteTransport
* Restructure types to avoid shared ownership
* Remove user-visible boxing and ref-counting
* Replace TSimpleServer with a thread-pool based TServer

This closes #1255
2017-04-27 08:46:02 -04:00
Deniss Afonin
3311a9b237 THRIFT-4177 fix java deep copy
Client: Java

Java compiler produces deep copy constructor that could make shallow copy accidentally.

This closes #1254
2017-04-19 12:38:14 -04:00
Allen George
92e1c409c7 THRIFT-4099: Derive Hash trait for Rust structs
Client: rs

This closes #1246
2017-04-07 09:24:41 -04:00
Gonzalo Aguilar Delgado
fcf4476792 THRIFT-4152: Make a patch to fix #4152 at least for structs
Documentation

This closes #1230
2017-04-01 10:56:21 -04:00
James E. King, III
2c0badd660 THRIFT-3823: Use 'pre' HTML tag when generating non escaped documentation
Patch: Maxime Mouial <maxime.mouial@scmfrance.fr>

This closes #1009
2017-04-01 10:38:13 -04:00
James E. King, III
177c37ce85 THRIFT-4069: perl library cleanup - namespaces, versioning, exception fixes
Client: perl

This closes #1220
2017-03-30 17:09:04 -04:00
kufd
1360270eb8 THRIFT-4126: implement required fields validation in php extension when validate compiler option is enabled
Client: php

This closes #1215
2017-03-30 16:42:11 -04:00
Jens Geyer
7470995ce4 THRIFT-4137 Fix remaining undefined behavior invalid vptr casts in Thrift Compiler 2017-03-27 22:50:16 +02:00
Chao Sun
9f71e00b00 THRIFT-4114: Space after '///' in doc comments
Client: rs

This closes #1224
2017-03-27 08:52:12 -04:00
Jens Geyer
971d077807 THRIFT-4136 Align is_binary() method with is_string() to simplify those checks
Client: Compiler (general)
Patch: Jens Geyer

This closes #1221
2017-03-26 19:54:50 +02:00
Jim Apple
147c2849af THRIFT-2026: Eliminate some undefined behavior in C/C++
Clients: glib, C++
Patch: Jim Apple <jbapple-impala@apache.org>

This closes #1214

This patch fixes some undefined behavior were found using Clang's
UndefinedBehaviorSanitizer (UBSan). To check for undefined behavior,
run /build/docker/scripts/ubsan.sh. This is run during CI builds, as
well.

The examples of the types of undefined behavior fixed in this commit
are:

1. Enumerations exhibit undefined behavior when they have values
   outside of a range dependent on the values of their enumerators, as
   specified in C++14's chapter 7.2 ("Enumeration declarations"),
   paragraph 8.

2. Left shift of negative values, used in zigzag encoding, is
   undefined behavior. See 5.8 ("Shift operators"), paragraph 2 for
   C++ and 6.5.7 ("Bitwise shift operators"), paragraph 4 for C99 and
   C11.
2017-03-25 08:16:18 -04:00
James E. King, III
e576b26e39 THRIFT-4079: emit use clauses in Types.pm generated files as well (fix reopened defect)
Client: perl

This closes #1219
2017-03-22 14:42:52 -04:00
James E. King, III
07f59971bd THRIFT-4081: appveyor retooling - added mingw64 build as a second job to the CI build process
This closes #1205
2017-03-10 06:18:33 -05:00
D. Can Celasun
431732d39e THRIFT-4031: Fix invalid code generation for list of typedef'ed built-in types
Client: Go
Patch: D. Can Celasun <can@dcc.im>

This closes #1207

This commit reverts 12d430e723 which
caused invalid code to be generated for certain types.
2017-03-04 14:13:59 +01:00
James E. King, III
c89e172289 THRIFT-3921: fix ostream definitions so they are not inline because it confused template deduction
Client: C++

This closes #1204
2017-02-28 12:25:28 -05:00
Christopher Tubbs
5038466e5e THRIFT-1805 Provide option for handling RTEs
Client: Java

Adds a Java option to the generator to generate code which lets Thrift
handle RuntimeExceptions from a service, and present them as
TApplicationException to the client.

This closes #1186
2017-02-27 23:38:44 -05:00
D. Can Celasun
43fb34df28 THRIFT-4011 Sets of Thrift structs generate Go code that can't be serialized to JSON
Client: Go
Patch: D. Can Celasun <dcelasun@gmail.com>

This closes #1156
2017-02-21 22:32:49 +01:00
James E. King, III
06190874c8 THRIFT-4084: Add a SSL/TLS negotiation check to crossfeature to verify SSLv3 is not active and that at least one of TLSv1.0 through 1.2 are accepted.
Client: csharp, d, go, nodejs, perl

This closes #1197
2017-02-20 08:52:11 -05:00
Vivek Jain
655b9b6ef8 THRIFT-3921: Add ostream operator<< functions for enums (working with THRIFT-4060)
Client: C++

This closes #1083
This closes #1194
2017-02-18 14:30:46 -05:00
James E. King, III
b4c190b6ea THRIFT-4060 add better support in the cpp generator for custom ostream operators on structures
Client: C++

This closes #1172
2017-02-13 16:39:59 -05:00
James E. King, III
f535058572 THRIFT-4073: enum files are still being generated with unused imports
Client: Java
Patch: BCG <bgould@users.noreply.github.com>

This closes #1182
2017-02-09 10:03:03 -05:00
James E. King, III
d1482fe3e2 THRIFT-4079 add missing use clauses for included thrift sources in generated perl modules
Client: perl

This closes #1181
2017-02-09 07:53:44 -05:00
Allen George
8b96bfbf1e THRIFT-2945 Add Rust support
Client: Rust
Patch: Allen George <allen.george@gmail.com>

This closes #1147
2017-01-26 01:34:16 +01:00
James E. King, III
330b3f814a THRIFT-4034 compiler build fixes for macos sierra and some cmake cleanup for compiler
Compiler
Patch: Robert Lu <robberphex@gmail.com>

This closes #1161
2017-01-23 08:52:04 -05:00
James E. King, III
7edc8faefd THRIFT-3873: fix various compiler warnings and overflow errors
THRIFT-3847: change VERSION to PACKAGE_VERSION to avoid conflicts with third party or OS headers

This closes #1128
2017-01-20 10:12:06 -05:00
BCG
4f710aa4f4 THRIFT-3960 Inherited services in Lua generator are not named correctly
Client: Lua
Patch: Benjamin Gould <bgould@users.noreply.github.com>

This closes #1124
2017-01-10 23:02:00 +01:00
czm1989
59fab5adb4 THRIFT-4023 Skip unexpected field types on read/write
Client: Go
Patch: Chen Zhiming <chenzhiming@domob.cn>

This closes #1154
2017-01-10 21:28:05 +01:00
Volodymyr Gotra
b587a12a11 THRIFT-3933 Microsoft .Net Core library port and generator for this library
Client: .NET Core
Patch: Volodymyr Gotra <vgotra@gmail.com> PR #1088, with significant improvements by Jens Geyer <jensg@apache.org> PR #1149

This closes #1088
This closes #1149
2017-01-04 19:40:30 +01:00
Bruno Fonseca
476cf694ee THRIFT-4010 Q.fcall messing up with *this* pointer inside called function
Client: js
Patch: Bruno Fonseca

This closes #1143
2016-12-28 00:55:04 +01:00
Palmer Cox
366e89ead7 THRIFT-4012 Python Twisted implementation uses implements, not compatible with Py3
Client: Python
Patch: Palmer Cox <palmer@fiscalnote.com>

This closes #1144

Zope implements doesn't work with Python 3; @implementer does. Replace uses of implements with @implementer since the former does not work with Python 3, while the latter works with both Python 2 and 3.
2016-12-22 18:27:27 +01:00
BCG
7ab125a253 THRIFT-3301 Java generated code uses imports that can lead to class name collisions with IDL defined types
Client: Java
Patch: Benjamin Gould

This closes #1120
2016-12-03 01:00:52 +01:00
Max
74c99ba38b THRIFT-3954 Enable the usage of structs called "Object" in Java
Client: Java
Patch: Maximilian Hess <mail@ne0h.de>

This closes #1119
2016-10-31 18:53:02 +01:00
Nobuaki Sukegawa
59cb6661bc THRIFT-3949 missing make dist entry for compiler/cpp/test
This closes #1115
2016-10-19 22:53:32 +09:00
Jens Geyer
015fe5272c THRIFT-3946 Java 1.5 compatibility broken for binary fields (java5 option)
Client: Java
Patch: Philip Hamer
2016-10-17 23:00:11 +02:00
jfarrell
3fa1940486 THRIFT-3546: NodeJS code should not be namespaced
Client: js
Patch: Benjamin Gould

Adds a fix for this that eliminates the namespace object heirarchy in node.js generated code,
and adds a compiler flag that can be used for backwards compatibility if necessary.

This closes #1111
2016-10-12 12:17:29 -04:00
Dustin Pho
d6bcb265bb THRIFT-3868 Java struct equals should do identity check before field comparison
Client: Java, JavaME
Patch: Dustin Pho <dpho@vt.edu>

This closes #1106
2016-10-07 19:03:40 +02:00
BCG
548403eeab THRIFT-2527 Apache Thrift IDL Compiler code generated for Node.js should be jshint clean
Clieht: NodeJS
Patch: BCG <bgould@users.noreply.github.com>

This closes #1112
2016-10-07 18:57:29 +02:00
Charles Hake
b413703eef THRIFT-3900 Add Python SSL flags
This closes #1077
2016-10-03 00:57:41 +09:00
Nobuaki Sukegawa
d8c6a84866 THRIFT-3940 Visual Studio project file for compiler is broken 2016-10-03 00:57:41 +09:00
James E. King, III
4d39ac5240 THRIFT-3936: fix compile error on VS2013 and earlier from changes introduced during 0.10.0 development (snprintf)
This closes #1099
2016-10-01 23:39:46 +09:00
Robert Lu
346e231495 THRIFT-3929 php namespace remove tail "\\"
This closes #1089
2016-09-26 01:42:03 +09:00
dtmuller
052abc39c6 THRIFT-2835 Add possibility to distribute generators separately from thrift core, and load them dynamically
Deploy headers needed to build plugins

Restructure source tree to match lib and to make sure headers are
deployed to INCLUDE_DIR/thrift.

This closes #368 and closes #1039
2016-09-26 01:42:02 +09:00
Nobuaki Sukegawa
11da87e6f3 THRIFT-2835 Add possibility to distribute generators separately from thrift core, and load them dynamically
Client: Compiler
Patch: Nobuaki Sukegawa, rebased by dtmuller

Also fixed by dtmuller:
* Add plugin namespace for erlang language binding
* Fix unit test test_const_value
* Don't clear type cache with every t_program conversion
* Type "wb" may not be supported by popen on non-Windows platforms
* Fix constness of AST type signatures
2016-09-26 01:42:01 +09:00
fduch
7b0cb9a63a THRIFT-3046: Allow PSR4 class loading for generated classes (PHP) 2016-09-03 15:57:47 +09:00
Mark Erickson
aa4312ef5f THRIFT-3905 Initialize bool, int, and double properties
Client: Dart
Patch: Mark Erickson <merickson@apache.org>

This closes #1068
2016-08-31 15:30:35 -05:00
Jens Geyer
2007783e87 THRIFT-3893 Command injection in format_go_output
Client: Go
Patch: Jens Geyer
2016-08-10 09:33:48 +02:00
Zach Howe
0e9fed1e12 THRIFT-3750 Check isSet in copyWithZone
Client: Cocoa
Patch: Zach Howe <zach@zachhowe.com>

This closes #958
2016-06-16 22:15:12 +02:00
Steve Cohen
7ea4a87fc5 THRIFT-3834 Erlang namespacing and exception metadata
Client: Erlang
Patch: Steve Cohen <steve@pinterest.com>

This closes #1027
2016-06-14 21:57:24 +02:00