Commit Graph

1049 Commits

Author SHA1 Message Date
Jake Farrell
a2c5674920 Thrift-1445:minor C++ generator variable cleanup
Client: cpp
Patch: Dave Watson

In generate_process_function(), service_func_name is always used as a
string literal. Therefore, construct it with the double quotes
built-in, rather than having to add them everywhere we use it.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1210757 13f79535-47bb-0310-9956-ffa450edef68
2011-12-06 02:59:04 +00:00
Jake Farrell
9689d89df1 Thrift-1340: Add support of ARC to Objective-C
Client: Objective-c
Patch: Hirano Satoshi

Adds -objc-arc flag to compiler and if used removes the retain/release/autorelease from generated code



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1210732 13f79535-47bb-0310-9956-ffa450edef68
2011-12-06 01:07:17 +00:00
Jake Farrell
6fa2b30940 Thrift-1446:Compile error with Delphi 2009 in constant initializer
Client: delphi
Patch: Kenjiro Fukumitsu 

Generated code cannot be compiled with Delphi 2009 due to the bug in constant initializer.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1210728 13f79535-47bb-0310-9956-ffa450edef68
2011-12-06 00:59:30 +00:00
Jake Farrell
3775a683af Thrift-1090: Document the generation of a file called "Constants.java"
Client: java
Patch: Mike Riley

Adds program_name to the Constants file in java to match all other client libs.


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1210724 13f79535-47bb-0310-9956-ffa450edef68
2011-12-06 00:48:04 +00:00
Jake Farrell
9901069442 Updating trunk to 0.9.0 version.
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1208214 13f79535-47bb-0310-9956-ffa450edef68
2011-11-30 02:09:46 +00:00
Jake Farrell
a1b671dba7 Thrift-1330: PHP Namespaces no longer generated
Client: php
Patch: Mike Riley

Fixes namespaces in PHP generator to with with php >= 5.3.x



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1206532 13f79535-47bb-0310-9956-ffa450edef68
2011-11-26 18:24:43 +00:00
Roger Meier
94519b3943 THRIFT-1434 Node.js Thrift compiler fails to generate server code using inheritance
Patch: Wade Simmons

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1205592 13f79535-47bb-0310-9956-ffa450edef68
2011-11-23 21:02:46 +00:00
Jake Farrell
ac10256fcc Thrift-1435: make TException.Message property conformant to the usual expectations
Client: delphi
Patch: Jens Geyer

Make delphi exceptions act like standard TException within other languages 



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1205415 13f79535-47bb-0310-9956-ffa450edef68
2011-11-23 14:30:41 +00:00
Jake Farrell
a6c031ad41 Thrift-1432: Javascript struct constants declared in the same file as their struct definition will cause an error
Client: js
Patch: Mike Riley

Flips print out of constants and structs within the generator to allow for use of constants within the structs.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1204495 13f79535-47bb-0310-9956-ffa450edef68
2011-11-21 13:52:51 +00:00
Jake Farrell
e0c5316736 Thrift-1426: Dist package missing files for release 0.8
Client: build
Patch: Jake Farrell

Cleans up dist target and removes extra folders.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1202686 13f79535-47bb-0310-9956-ffa450edef68
2011-11-16 12:58:36 +00:00
Bryan Duxbury
02357f29e8 THRIFT-1411. java: java generator does not provide type parameter for TBaseProcessor
Patch: Jake Douglas

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1201961 13f79535-47bb-0310-9956-ffa450edef68
2011-11-14 23:12:20 +00:00
Jake Farrell
605c760ba6 Thrift-1251: Generated java code should indicate which fields are required and which are optional
Client: java
Patch: Jake Farrell

Fixes optional/required comments on fields.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1198386 13f79535-47bb-0310-9956-ffa450edef68
2011-11-06 15:02:30 +00:00
Roger Meier
6f7681f91d THRIFT-1361 revert compiler/cpp/src/thrifty.yy change
=> breaks mingw build
=> memleak fixes reported by cppcheck

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1198347 13f79535-47bb-0310-9956-ffa450edef68
2011-11-06 12:04:28 +00:00
Roger Meier
38315786e5 THRIFT-1361 Optional replacement of pthread by boost::thread
Patch: Alexandre Parenteau
rev3

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1198339 13f79535-47bb-0310-9956-ffa450edef68
2011-11-06 11:29:41 +00:00
Roger Meier
1b6153bdd1 THRIFT-1277 Node.js serializes false booleans as null
revert patch => breaks js

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1198334 13f79535-47bb-0310-9956-ffa450edef68
2011-11-06 10:37:11 +00:00
Jake Farrell
28459dc9c5 Thrift-1415: delphi: add version Info to the library
Client: delphi
Patch: Jens Geyer 

Adding versioning to delphi library



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1197957 13f79535-47bb-0310-9956-ffa450edef68
2011-11-05 13:36:27 +00:00
Jake Farrell
48bb0e2ad4 Thrift-1277: Node.js serializes false booleans as null
Client: js
Patch: Hans Duedal 

When serializing boolean types, false booleans are serialized as null instead of false switching to  using loose compare instead



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1197955 13f79535-47bb-0310-9956-ffa450edef68
2011-11-05 13:16:34 +00:00
Jake Farrell
aad3d1d63e Thrift-1409: Name conflict check does not work properly for exception object(Delphi).
Client: delphi
Patch: Kenjiro Fukumitsu

Delphi compiler's naming check does not work properly with exception object in the function that generates struct writer.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1195747 13f79535-47bb-0310-9956-ffa450edef68
2011-11-01 01:08:46 +00:00
Jake Farrell
601bb5e87f THRIFT-1413: Generated code does not read MapEnd / ListEnd / SetEnd
Client: delphi
Patch: Jens Geyer

The generated code lacks calls to ReadMapEnd, ReadListEnd and ReadSetEnd. Although actually no problem occurs with the BinaryProtocol, other protocols (like JSON) do some important things there.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1195466 13f79535-47bb-0310-9956-ffa450edef68
2011-10-31 14:13:13 +00:00
Jake Farrell
73a921f85c Thrift-1408: Delphi Test Server: Exception test case fails due to naming conflict with e.message
Client: delphi
Patch: jens Geyer

Fix name comflict with e.message 



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1195461 13f79535-47bb-0310-9956-ffa450edef68
2011-10-31 14:07:14 +00:00
Jake Farrell
f55f33bfba THRIFT-1405: Delphi compiler does not generates container serializer properly
Client: delphi
Patch: Kenjiro Fukumitsu

Fixess a bug in the function that generates serializer of containers



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1189009 13f79535-47bb-0310-9956-ffa450edef68
2011-10-26 02:40:14 +00:00
Jake Farrell
d2b3bb4e23 THRIFT-1406: Build error after applying THRIFT-1395
Client: delphi
Patch: Jens Geyer

Fixes build failure due to t_delphi_generator.cc:780: error: integer constant is too 
large for 'long' type



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1189006 13f79535-47bb-0310-9956-ffa450edef68
2011-10-26 02:29:48 +00:00
Jake Farrell
d09362c5c7 THRIFT-1404: Delphi compiler generates struct reader code with problem.
Client: delphi
Patch: Kenjiro Fukumitsu

After recieved STOP,it calls additional ReadFieldEnd, which is different from the implementation of other language compiler.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1189005 13f79535-47bb-0310-9956-ffa450edef68
2011-10-26 02:25:07 +00:00
Jake Farrell
0c0f651e10 Thrift-1395: Patch to prevent warnings for integer types in some cases
Client: delpi
Patch: Jens Geyer

Constants such as i32 = 0x80000000 produce a Delphi warning. The current code renders such values as positive integer, which needs an explicit typecast to satisfy the Delphi compiler.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1188494 13f79535-47bb-0310-9956-ffa450edef68
2011-10-25 02:20:26 +00:00
Jake Farrell
8514755daf THRIFT-1397: CI server fails during build due to unused parameters in delphi generator
Client: delphi
Patch: Kenjiro Fukumitsu 

Cleans up unused parameters in delphi generator.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1186794 13f79535-47bb-0310-9956-ffa450edef68
2011-10-20 13:30:08 +00:00
Jake Farrell
3b54621793 Thrift-1396: Dephi generator has dependacy on boost 1.42 later.
Client: delphi
Patch: Kenjiro Fukumitsu 

Patch to fully remove boost uuid within the delphi generator.  



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1186603 13f79535-47bb-0310-9956-ffa450edef68
2011-10-20 02:49:48 +00:00
Jake Farrell
7ae13e10f7 Thrift-1366: Delphi generator, lirbrary and unit test.
Client: delphi
Patch: Kenjiro Fukumitsu

Adding delphi XE generator, lib and unit tests.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1185688 13f79535-47bb-0310-9956-ffa450edef68
2011-10-18 14:35:26 +00:00
Bryan Duxbury
6c928f3f5f THRIFT-1130. compiler: Add the ability to specify symbolic default value for optional boolean
Patch: Nevo Hed

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1183115 13f79535-47bb-0310-9956-ffa450edef68
2011-10-13 21:32:52 +00:00
Jake Farrell
fae04ead81 THRIFT-1384: Java help meny missing newline near javame flag
Client: build
patch: Jake Farrell

Adds newline to java stanza in thrift --help menu



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1180276 13f79535-47bb-0310-9956-ffa450edef68
2011-10-07 23:15:03 +00:00
Jake Farrell
2361dd1711 Thrift-1373: Fix user-defined exception generation in thrift (python)
Client: py
Patch: Dave Watson

forgotten include of TException in py imports section



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1180119 13f79535-47bb-0310-9956-ffa450edef68
2011-10-07 17:41:48 +00:00
Jake Farrell
581481f232 Thrift-1379: fix uninitialized enum values in thrift C++ objects
Client: cpp
Patch: Dave Watson

The thrift-generated code for C++ class objects does not provide any
initialization for enum values, so they wind up containing random/uninitialized
data. This causes problems when clients do not send argument data, as the server
receives random data rather than zero for unpassed args.
Enums should be initialized to zero.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1179909 13f79535-47bb-0310-9956-ffa450edef68
2011-10-07 00:25:46 +00:00
Jake Farrell
b5d94e07c4 Thrift-1376: Make port specification option in thrift remote
Client: py
Patch: Dave Watson

The thrift-generated Python service client allows overriding the default host/port by doing "-h host:port" on the command line. Oftentimes, you want to override the host but not the port, as most services run on well-defined ports.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1179905 13f79535-47bb-0310-9956-ffa450edef68
2011-10-07 00:14:34 +00:00
Jake Farrell
2ce7f66dea Thrift-1373: Fix user-defined exception generation in thrift (python)
Client: py
Patch: Dave Watson

Fixed python code generation so that user-defined exceptions have a
base class of TException rather than Exception.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1179903 13f79535-47bb-0310-9956-ffa450edef68
2011-10-07 00:04:56 +00:00
Bryan Duxbury
40d51a28d7 THRIFT-1365. java: TupleProtocol#writeBitSet unintentionally writes a variable length byte array
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1176072 13f79535-47bb-0310-9956-ffa450edef68
2011-09-26 21:29:15 +00:00
Bryan Duxbury
f35741729f inconsequential indentation fix to java compiler
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1176034 13f79535-47bb-0310-9956-ffa450edef68
2011-09-26 20:32:59 +00:00
Roger Meier
db3c9249c8 THRIFT-1359 --gen-cob cpp:cob_style does not compile anymore
Patch: Alexandre Parenteau

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1175308 13f79535-47bb-0310-9956-ffa450edef68
2011-09-25 07:16:17 +00:00
Roger Meier
8cd3b1aa3c THRIFT-1031 Patch to compile Thrift for vc++ 9.0 and 10.0
=> some more improvements

Patch: James Dickson

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1174801 13f79535-47bb-0310-9956-ffa450edef68
2011-09-23 14:25:22 +00:00
Jake Farrell
dec8c54f8e Thrift-857: tests run by "make install" fail if generators are disabled
Client: build
Patch: jfarrell

removes --enable-gen* from configure and adds all generators by default.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1173436 13f79535-47bb-0310-9956-ffa450edef68
2011-09-21 00:15:27 +00:00
Bryan Duxbury
18784d7ccc THRIFT-1339. java: Extend Tuple Protocol to TUnions
This patch implements TupleProtocol (and general Scheme support) to TUnion descendants.

Patch: Armaan Sarkar

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1173418 13f79535-47bb-0310-9956-ffa450edef68
2011-09-20 22:53:31 +00:00
Roger Meier
84e4a3c181 THRIFT-1031 Patch to compile Thrift for vc++ 9.0 and 10.0
Patch: James Dickson and Alexandre Parenteau

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1171777 13f79535-47bb-0310-9956-ffa450edef68
2011-09-16 20:58:44 +00:00
Roger Meier
508b317269 THRIFT-1031 Patch to compile Thrift for vc++ 9.0 and 10.0 (partial)
no chmod on windows for go and py compiler
Patch: James Dickson

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1171520 13f79535-47bb-0310-9956-ffa450edef68
2011-09-16 12:02:57 +00:00
Roger Meier
1fd248fa04 fix spelling issue within license
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1170181 13f79535-47bb-0310-9956-ffa450edef68
2011-09-13 13:54:46 +00:00
Roger Meier
f4eec7a57b THRIFT-1115 python TBase class for dynamic (de)serialization, and __slots__ option for memory savings
Patch: Will Pierce

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1169492 13f79535-47bb-0310-9956-ffa450edef68
2011-09-11 18:16:21 +00:00
Roger Meier
b288050682 uncomment handler parameter, so compile does not fail if they
are undefined

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1167686 13f79535-47bb-0310-9956-ffa450edef68
2011-09-11 09:09:52 +00:00
Roger Meier
4f8a523fa0 THRIFT-1238 Thrift JS client cannot read map of structures
Patch: Henrique Mendonca

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1167032 13f79535-47bb-0310-9956-ffa450edef68
2011-09-09 08:17:02 +00:00
Jake Farrell
c4beda9802 Thrift-1279: type set is handled incorrectly when writing object
Client: php
Patch: Darius Staisiunas

Fixes issue to iIterate through scalar types correctly.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1165703 13f79535-47bb-0310-9956-ffa450edef68
2011-09-06 15:19:18 +00:00
Bryan Duxbury
adaf82615b THRIFT-1319. java: Mismatch between how a union reads and writes a container
This patch fixes the problem in the java generator (and removes an unnecessary comment). It also amends TestTUnion to catch this.

Patch: Armaan Sarkar

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1164202 13f79535-47bb-0310-9956-ffa450edef68
2011-09-01 18:54:07 +00:00
Bryan Duxbury
2173ce0250 THRIFT-1315. cpp: generate server interface factory classes
Patch: Adam Simpkins

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1164187 13f79535-47bb-0310-9956-ffa450edef68
2011-09-01 18:00:37 +00:00
Jake Farrell
6993569d04 Thrift-1299: If SSL is available, 'thrift' binary links against it
Patch: jfarrell

Removes the dependencies added from configure.ac in the thrift compiler makefile.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1162927 13f79535-47bb-0310-9956-ffa450edef68
2011-08-29 18:22:11 +00:00
Bryan Duxbury
b8c8e0b9bc THRIFT-1298. java: Standard scheme doesn't read or write metadata along with field values
This patch makes StandardScheme write metadata, and adds tests against a static known-good Binary-serialized struct for a reference.

Patch: Armaan Sarkar

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1162917 13f79535-47bb-0310-9956-ffa450edef68
2011-08-29 17:50:31 +00:00
Bryan Duxbury
cff83579d7 THRIFT-1288. cpp: Allow typedefed exceptions in throws clauses
Patch: David Reiss

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1161271 13f79535-47bb-0310-9956-ffa450edef68
2011-08-24 20:53:03 +00:00
Bryan Duxbury
b68f16634a THRIFT-1287. cpp: start refactoring some of the C++ processor
Move the generation of Processors into a separate subclass.

Patch: Adam Simpkins

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1161223 13f79535-47bb-0310-9956-ffa450edef68
2011-08-24 18:35:55 +00:00
Bryan Duxbury
0fa8ff7fd4 THRIFT-1281. compiler: add @generated to the docblock
Patch: Bill Fumerola

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1160943 13f79535-47bb-0310-9956-ffa450edef68
2011-08-24 00:28:18 +00:00
Bryan Duxbury
8eebc2c3e0 THRIFT-1284. cpp: fix processor inheritance
Don't make processors that have a proper parent class also inherit from TProcessor.

Patch: Adam Simpkins

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1160933 13f79535-47bb-0310-9956-ffa450edef68
2011-08-23 23:26:58 +00:00
Bryan Duxbury
1b90e3dc25 THRIFT-1283. cpp: wrap t_cpp_generator::generate_process_function() to 80
Adjust the line width to 80 for generated CPP classes.

Patch: Adam Simpkins

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1160931 13f79535-47bb-0310-9956-ffa450edef68
2011-08-23 23:21:59 +00:00
Roger Meier
a94d2e5921 THRIFT-1269 thrift: handle undeclared exceptions in the async
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1160453 13f79535-47bb-0310-9956-ffa450edef68
2011-08-22 21:38:50 +00:00
Roger Meier
0c3c8959a3 THRIFT-1274 Making * a known symbol
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1160451 13f79535-47bb-0310-9956-ffa450edef68
2011-08-22 21:38:16 +00:00
Bryan Duxbury
da9c6e1aba THRIFT-1254. javame: Code can't be compiled against a regular JRE: Object.clone() override has a different return type
This patch mirrors a previous commit to the main Java library by removing the clone() implementation altogether.

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1160333 13f79535-47bb-0310-9956-ffa450edef68
2011-08-22 16:59:20 +00:00
Bryan Duxbury
160cbe6718 THRIFT-1271. cpp: missing namespace in generated local reflection
Patch: Adam Simpkins

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1159734 13f79535-47bb-0310-9956-ffa450edef68
2011-08-19 18:32:51 +00:00
Bryan Duxbury
235f8b5899 THRIFT-1274. compiler: fail compilation if an unexpected token is encountered
This patch makes the lexer throw an exception when an unexpected token is encountered, as opposed to the standard behavior of just printing it out and doing nothing.

Patch: Adam Simpkins

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1159733 13f79535-47bb-0310-9956-ffa450edef68
2011-08-19 18:27:47 +00:00
Bryan Duxbury
0b7eeb5975 THRIFT-1275. cpp: always prefix namespaces with ' ::'
Ensures no accidental namespace clashes.

Patch: Adam Simpkins

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1159729 13f79535-47bb-0310-9956-ffa450edef68
2011-08-19 18:23:39 +00:00
Roger Meier
887ff756cb THRIFT-1276 Add thrift compiler option to suppress warnings about
Patch: Dave Watson

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1159593 13f79535-47bb-0310-9956-ffa450edef68
2011-08-19 11:25:39 +00:00
Roger Meier
b6af6dbf05 (void) unused parameters to reduce compiler warnings to zero!
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1159405 13f79535-47bb-0310-9956-ffa450edef68
2011-08-18 20:31:16 +00:00
Bryan Duxbury
c7206a4011 THRIFT-1270. compiler: add --allow-neg-keys argument to allow
This switch allows the user to specify explicit negative field IDs in Thrift IDL in order to avoid breaking wire protocol.

Patch: Dave Watson

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1158967 13f79535-47bb-0310-9956-ffa450edef68
2011-08-17 23:17:04 +00:00
Bryan Duxbury
1121b47c09 THRIFT-169. java: Pluggable Serializers
THRIFT-1239. java: TupleProtocol- An extremely compact, temporary protocol

This monster commit is the combination of the two above tickets, providing a new serialization framework and the first new consumer in one go.

Patch: Armaan Sarkar

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1156728 13f79535-47bb-0310-9956-ffa450edef68
2011-08-11 18:50:58 +00:00
Roger Meier
de8d1857e8 THRIFT-1241 php namespace generation
realization of THRIFT-777

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1154045 13f79535-47bb-0310-9956-ffa450edef68
2011-08-04 23:08:35 +00:00
Bryan Duxbury
b342ddf00b THRIFT-1251. java: Generated java code should indicate which fields are required and which are optional
Patch: Takashi Yonebayashi

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1153302 13f79535-47bb-0310-9956-ffa450edef68
2011-08-02 23:10:32 +00:00
Bryan Duxbury
d9b32835ea THRIFT-1253. javame: Code generated for maps is not compiling
Fix a casting issue.

Patch: Raphael Bartement

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1153270 13f79535-47bb-0310-9956-ffa450edef68
2011-08-02 20:51:55 +00:00
Roger Meier
040b12483a THRIFT-1233 Remove unused include in generated C++ code
Note:  revert patch and include transport/TBufferTransports.h
Patch: Alexandre Parenteau

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1151967 13f79535-47bb-0310-9956-ffa450edef68
2011-07-28 18:49:39 +00:00
Roger Meier
a8cef6e55b THRIFT-916 gcc warnings in c++ header files
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1147700 13f79535-47bb-0310-9956-ffa450edef68
2011-07-17 18:55:59 +00:00
Roger Meier
7e056e7572 THRIFT-1222 Unhandled exception for TEvhttpServer request
Patch: Alexandre Parenteau

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1147542 13f79535-47bb-0310-9956-ffa450edef68
2011-07-17 07:28:28 +00:00
Jake Farrell
cdbf36c608 Thrift-1233: Remove unused include in generated C++ code
Client: c++
Patch: Diwaker Gupta

Removing unused include of TTransportUtils.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1146901 13f79535-47bb-0310-9956-ffa450edef68
2011-07-14 21:25:08 +00:00
Bryan Duxbury
b7bd5626aa THRIFT-1177. go: Update thrift to reflect changes in Go's networking libraries
Patch: Aalok Shah

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1146167 13f79535-47bb-0310-9956-ffa450edef68
2011-07-13 17:58:05 +00:00
Jake Farrell
6462185074 Thrift-1234: thrift --help is missing doc on py:utf8strings
Client:python
Patch: Eric Rannaud

Updated displayed options for python help to print py:utf8strings availability.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1145175 13f79535-47bb-0310-9956-ffa450edef68
2011-07-11 13:47:25 +00:00
Roger Meier
6b0d456716 THRIFT-1232 JavaScript TException should be a constructor function
Patch: Pascal Bach
file: 1232-Improve-Exception-handling-and-make-error-hierarchy.patch

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1144292 13f79535-47bb-0310-9956-ffa450edef68
2011-07-08 12:44:29 +00:00
Jake Farrell
4d116e18e7 Thrift-1220: TRpocessor::process never returns false
Client: c++
Patch: Diwaker Gupta

Fixes issue with return values always returning true from process method when an exception or error occurs. 



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1140262 13f79535-47bb-0310-9956-ffa450edef68
2011-06-27 18:44:04 +00:00
Jake Farrell
dfb8ba482e Thrift-627: should c++ have setters for optional fields?
client: c++
patch: Eric Rannaud

Updated optional setter patch to preserve case within generated code.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1139283 13f79535-47bb-0310-9956-ffa450edef68
2011-06-24 12:58:47 +00:00
Roger Meier
2079bfe712 THRIFT-1214 JavaScript constructor does not accept object properties
Patch: Henrique Mendonca


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1138013 13f79535-47bb-0310-9956-ffa450edef68
2011-06-21 14:09:13 +00:00
Bryan Duxbury
d1df20a20d THRIFT-418. rb: Don't do runtime sorting of struct fields
A simpler version of the already-committed patch.

Patch: Ilya Maykov

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1136189 13f79535-47bb-0310-9956-ffa450edef68
2011-06-15 20:52:57 +00:00
Bryan Duxbury
df8a0e6fca THRIFT-418. rb: Don't do runtime sorting of struct fields
Patch: Ilya Maykov

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1134122 13f79535-47bb-0310-9956-ffa450edef68
2011-06-09 22:46:28 +00:00
Roger Meier
af7804e29a THRIFT-1200 js: JS compiler generates code that clobbers existing namespaces
fix broken build(jslint) introduced with original patch


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1134093 13f79535-47bb-0310-9956-ffa450edef68
2011-06-09 21:35:11 +00:00
Jake Farrell
38dcb685e1 Thrift-1181: AS3 compiler generates incorrect code for setting default values in constructor
Client: as3
Patch: Ethan Urie

Fix generated statements syntax to remove :type of the variable.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1134039 13f79535-47bb-0310-9956-ffa450edef68
2011-06-09 18:55:12 +00:00
Bryan Duxbury
7a79d39957 THRIFT-1180. as3: AS3 compiler generates uncompilable code for binary types.
Switch to ByteArray.

Patch: Ethan Urie

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1133617 13f79535-47bb-0310-9956-ffa450edef68
2011-06-09 00:40:47 +00:00
Bryan Duxbury
9579b64922 fix indentation
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1133615 13f79535-47bb-0310-9956-ffa450edef68
2011-06-09 00:36:55 +00:00
Bryan Duxbury
aad0d6510c THRIFT-1200. js: JS compiler generates code that clobbers existing namespaces
Patch: Ilya Maykov

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1133606 13f79535-47bb-0310-9956-ffa450edef68
2011-06-08 23:51:24 +00:00
Bryan Duxbury
63c2d378c5 THRIFT-1199. java: Union structs should have generated methods to test whether a specific field is currently set
Patch: Piotr Kozikowski

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1133482 13f79535-47bb-0310-9956-ffa450edef68
2011-06-08 17:46:55 +00:00
Roger Meier
462af9de2a THRIFT-1165 Missing parameter names for C++ oneway stubs
Patch: David Nadlinger


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1129907 13f79535-47bb-0310-9956-ffa450edef68
2011-05-31 20:33:51 +00:00
Bryan Duxbury
9a42239eec THRIFT-1170. java: Thrift Generated Code and Java 5
This patch adds a trivial java5 option to the java generator.

Patch: Greg Moulliet

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1126765 13f79535-47bb-0310-9956-ffa450edef68
2011-05-23 21:41:02 +00:00
Roger Meier
5860f8850e THRIFT-1176 Thrift compiler global leakage js
Patch: Dan Di Spaltro

includes updated test.html to get qunit.js with correct mime-type(IE9 complains)
Fixed by Roger Meier


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1125892 13f79535-47bb-0310-9956-ffa450edef68
2011-05-22 09:59:34 +00:00
Jake Farrell
aeb4411d1c Thrift-835: Bad AS3 syntax in constructors that set default values
Client: as3
Patch: Justin Florentine

Generated AS3 object won't compile since the compiler uses the same function that generates member declarations.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1125067 13f79535-47bb-0310-9956-ffa450edef68
2011-05-19 19:23:26 +00:00
Roger Meier
6b38cf6805 THRIFT-1146 add java:android_legacy option to the compiler
Issue: Android Incompatibility : in Android < 2.3 java.io.IOException doesn't support for Throwable parameter in constructor

Patch: Alessandro Rossi


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1094044 13f79535-47bb-0310-9956-ffa450edef68
2011-04-16 20:05:51 +00:00
Roger Meier
0b0c90a7f9 THRIFT-1060 fb303 build error for cpp
Patch: Sudhir Jorwekar


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1094028 13f79535-47bb-0310-9956-ffa450edef68
2011-04-16 18:55:11 +00:00
Bryan Duxbury
b891145894 THRIFT-342. php: PHP: can't have sets of complex types
This patch implements a dual approach for scalars vs objects.

Patch: Jake Farrell

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1091580 13f79535-47bb-0310-9956-ffa450edef68
2011-04-12 22:03:45 +00:00
Roger Meier
08d4681438 THRIFT-1137 add Compiler Version Info to generated files
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1091546 13f79535-47bb-0310-9956-ffa450edef68
2011-04-12 19:08:21 +00:00
Roger Meier
08b309997f THRIFT-1087 Nonblocking asynchronous JS services
Patch: Henrique Mendonca


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1089637 13f79535-47bb-0310-9956-ffa450edef68
2011-04-06 21:30:53 +00:00
Anthony F. Molinaro
54af25e3d3 THRIFT-1126 - extended struct info + minor fixes
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1087585 13f79535-47bb-0310-9956-ffa450edef68
2011-04-01 05:34:27 +00:00
Roger Meier
39e9c3036b THRIFT-1124 add ifdef for crossplatform mkdir, ugly but it works
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1086852 13f79535-47bb-0310-9956-ffa450edef68
2011-03-30 06:14:06 +00:00
Roger Meier
b7bc726486 THRIFT-1124 go compiler does now mkdir without mask
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1086838 13f79535-47bb-0310-9956-ffa450edef68
2011-03-30 04:52:50 +00:00
Anthony F. Molinaro
ff20fa11e0 THRIFT-27 : use default values when generating erlang records
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1086752 13f79535-47bb-0310-9956-ffa450edef68
2011-03-29 21:19:03 +00:00
Bryan Duxbury
137fea686e THRIFT-1120. csharp: proto.WriteListEnd being called in the wrong place
Patch: guoyunfeng

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1086260 13f79535-47bb-0310-9956-ffa450edef68
2011-03-28 14:52:25 +00:00
Bryan Duxbury
3cf5daf9cf THRIFT-1111. html: The HTML generator does not distinguish between string and binary types
Patch: Adrian Muraru

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1085480 13f79535-47bb-0310-9956-ffa450edef68
2011-03-25 17:28:19 +00:00
Bryan Duxbury
1709d40b4f THRIFT-1107. py: improvement for compiler-generated python for 'None' object comparisons
This patch switches from 'x != None' to 'x is not None' for a small performance boost.

Patch: Will Pierce

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1084661 13f79535-47bb-0310-9956-ffa450edef68
2011-03-23 18:15:19 +00:00
Bryan Duxbury
f51a4ce89e THRIFT-1105. ocaml: OCaml generator does not prefix methods of included structs with their type
This patch fixes the ocaml generator to generate good code when the 'include' Thrift IDL directive is used.

Patch: Joel Raymont

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1084654 13f79535-47bb-0310-9956-ffa450edef68
2011-03-23 17:57:21 +00:00
Bryan Duxbury
ee7c7bb485 THRIFT-1050. java: Declaring an argument named 'manager' to a service method produces code that fails compile due to name conflicts with protected ivars in TAsyncClient
This patch adds a triple-underscore prefix to all the ivars in TAsyncClient, making it substantially more difficult to get a conflict.

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1081868 13f79535-47bb-0310-9956-ffa450edef68
2011-03-15 17:25:23 +00:00
Bryan Duxbury
c9929306ba THRIFT-1092. py: generated validate() method has wrong indentation
Patch: Will Pierce

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1081862 13f79535-47bb-0310-9956-ffa450edef68
2011-03-15 17:10:15 +00:00
Roger Meier
da6e6ae918 THRIFT-1089 JavaScript Quality Assurance with lint
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1081707 13f79535-47bb-0310-9956-ffa450edef68
2011-03-15 09:55:33 +00:00
Roger Meier
8430d50c8f THRIFT-1014 JavaScript gjslint compatibility (only line too long warnings)
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1080553 13f79535-47bb-0310-9956-ffa450edef68
2011-03-11 12:38:54 +00:00
Bryan Duxbury
a6d31c57f0 THRIFT-627. cpp: should c++ have setters for optional fields?
Yes, it should.

Patch: Jake Farrell

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1080303 13f79535-47bb-0310-9956-ffa450edef68
2011-03-10 18:14:14 +00:00
Bryan Duxbury
bdca9f667f THRIFT-1069. general: Add command line option to prevent thrift from inserting gen-* directories
This patch adds a -out switch that allows for an absolute path to be set for outputting generated code.

Patch: Jake Farrell

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1076000 13f79535-47bb-0310-9956-ffa450edef68
2011-03-01 19:53:07 +00:00
Bryan Duxbury
ef6cbfd1ab THRIFT-1011. as3: Error generating package imports when using classes from other packages
Patch: Usman Ismail

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1075916 13f79535-47bb-0310-9956-ffa450edef68
2011-03-01 16:57:34 +00:00
Roger Meier
9db5e50b42 THRIFT-1070 C++ compiler and runtime have 32/64bit problems
Patch: Rich Salz


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1075121 13f79535-47bb-0310-9956-ffa450edef68
2011-02-27 19:24:45 +00:00
Christian Lavoie
afc6d8f650 THRIFT-625: Add support for 'Go'; provided by Aalok Shah.
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1072478 13f79535-47bb-0310-9956-ffa450edef68
2011-02-20 02:39:19 +00:00
Roger Meier
dd0c328a45 THRIFT-1045 Support "included"ed thrift files
Patch: Henrique Mendonca


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1071366 13f79535-47bb-0310-9956-ffa450edef68
2011-02-16 19:25:05 +00:00
Bryan Duxbury
0fd37f0871 THRIFT-447. java: Make an abstract base Client class so we can generate less code
This patch introduces a handful of abstract, non-generated classes that allow us to generate much less code for service implementations.

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1068487 13f79535-47bb-0310-9956-ffa450edef68
2011-02-08 17:26:37 +00:00
Christian Lavoie
b547141797 Apply THRIFT-993's patch from Rich Salz (reverting the oneway caching):
(THRIFT-993) Some improvements in C++ stubs for oneway operations



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1064303 13f79535-47bb-0310-9956-ffa450edef68
2011-01-27 21:05:45 +00:00
Bryan Duxbury
c8d533b65e THRIFT-1038. java: Generated Java code for structures containing binary fields (or collections thereof) are not serializable (in the Java sense) even though they implement java.io.Serializable
This patch causes Java Serialized Thrift structs to be serialized onto the stream via the Compact Protocol.

Patch: Mathias Herberts

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1063907 13f79535-47bb-0310-9956-ffa450edef68
2011-01-26 22:42:02 +00:00
Bryan Duxbury
d94cb081a1 THRIFT-998. java: Using valueOf for base types in getFieldValue
valueOf saves us on memory for 'small' primitive types and costs us nothing in other situations, so it's an all-around win.

Patch: Takashi Yonebayashi

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1063818 13f79535-47bb-0310-9956-ffa450edef68
2011-01-26 18:29:33 +00:00
Roger Meier
a99c7505e0 THRIFT-1036 Auto-generated C++ code fails to compile with "-Werror -Wextra -Wall" g++ compiler flags
Patch: Pavlin Radoslavov


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1062352 13f79535-47bb-0310-9956-ffa450edef68
2011-01-23 09:35:45 +00:00
Roger Meier
afb0c7f374 THRIFT-1045 Support "included"ed thrift files
Patch: Wade Simmons


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1062281 13f79535-47bb-0310-9956-ffa450edef68
2011-01-22 21:43:59 +00:00
Roger Meier
90443f4e11 THRIFT-1044 Fix JavaScript inheritance
Patch Wade Simmons


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1062279 13f79535-47bb-0310-9956-ffa450edef68
2011-01-22 21:35:48 +00:00
Roger Meier
4b3f1c3181 THRIFT-1043 Fix how the length of a map is calculated
Patch: Wade Simmons


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1062278 13f79535-47bb-0310-9956-ffa450edef68
2011-01-22 21:32:50 +00:00
Bryan Duxbury
fad8d6b109 THRIFT-125. OCaml libraries don't compile with 32-bit ocaml
Patch: Iain Proctor and John Bilings

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1058270 13f79535-47bb-0310-9956-ffa450edef68
2011-01-12 18:41:52 +00:00
T Jake Luciani
0c124bb94f THRIFT-1033: node.js target and lib
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1056613 13f79535-47bb-0310-9956-ffa450edef68
2011-01-08 03:49:16 +00:00
Roger Meier
e0cac988b6 THRIFT-1022 Typo cleanup patch
Patch: Anatol Pomozov


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1049968 13f79535-47bb-0310-9956-ffa450edef68
2010-12-16 13:15:49 +00:00
Bryan Duxbury
ed2dc5359e THRIFT-1020. ocaml: OCaml compiler generates invalid OCaml
This patch resolves problems with double constants and adds a copy method to generated structs.

Patch: Richard Low

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1045320 13f79535-47bb-0310-9956-ffa450edef68
2010-12-13 19:17:22 +00:00
Bryan Duxbury
932ce2b80a THRIFT-1013. java: generated java code may have name clashes with thrift library
This patch removes the imports for Thrift library classes and fully qualifies all references, guaranteeing there won't be any name clashes.

Patch: Peter Schuller

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1043156 13f79535-47bb-0310-9956-ffa450edef68
2010-12-07 18:28:48 +00:00
Roger Meier
26f817a0c9 THRIFT-1010 Fix typo asigned -> assigned
Patch: Anatol Pomozov


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1040732 13f79535-47bb-0310-9956-ffa450edef68
2010-11-30 19:46:56 +00:00
Roger Meier
6eeb21e917 THRIFT-1002 CodeStyle: t_c_glib_generator.cc
Patch: 	Anatol Pomozov


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1040415 13f79535-47bb-0310-9956-ffa450edef68
2010-11-30 05:54:53 +00:00
Bryan Duxbury
a5eb848930 THRIFT-1008. java: byte[] accessors throw NPE on unset field
Further extra null check in accessors that use TBaseHelper.rightSize().

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1038850 13f79535-47bb-0310-9956-ffa450edef68
2010-11-24 22:30:38 +00:00
Christian Lavoie
af65f1b478 THRIFT-916: Commit a partial fix for flex-generated code infested with warnings on Mac OS X
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1038844 13f79535-47bb-0310-9956-ffa450edef68
2010-11-24 21:58:05 +00:00
Bryan Duxbury
1606f25616 THRIFT-1006. java: Impossible to correctly qualify an enum constant in an external thrift file
Be a little more sensitive to how we parse out dots; some java generator changes to make sure things stay consistent.

THRIFT-1005. java: Give unions byte[] signature methods to go along with their ByteBuffer counterparts

Some new constructors, getters, and setters to ease migration of unions to ByteBuffer style.

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1038399 13f79535-47bb-0310-9956-ffa450edef68
2010-11-24 00:25:57 +00:00
Roger Meier
3b771a10f1 THRIFT-916 compile with -Wall -Wextra without warning on Debian Lenny
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1036250 13f79535-47bb-0310-9956-ffa450edef68
2010-11-17 22:11:26 +00:00
Roger Meier
be87ab28b0 THRIFT-992 add underline for fields
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1033715 13f79535-47bb-0310-9956-ffa450edef68
2010-11-10 21:19:36 +00:00
Christian Lavoie
77215d8a35 THRIFT-916: Fix warnings in C++ when compiling with -Wall. In this case, in the flex output, in the new c_glib generator and an actual bug in the parser that couldn't actually trigger.
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1032365 13f79535-47bb-0310-9956-ffa450edef68
2010-11-07 19:42:48 +00:00
Christian Lavoie
600a88c6e2 THRIFT-991: Refactor Haskell code and generator. Part 1: clean up code generator style.
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1032342 13f79535-47bb-0310-9956-ffa450edef68
2010-11-07 18:37:11 +00:00
Christian Lavoie
ae7f7fa57f THRIFT-950: Haskell bindings treat 'byte' as unsigned 8-bit int (Data.Word.Word8), java/cpp as signed (byte/int8_t). Fix Haskell.
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1030243 13f79535-47bb-0310-9956-ffa450edef68
2010-11-02 21:42:53 +00:00
Roger Meier
213a664798 THRIFT-582 C(c_glib) implementation of Thrift
Patch: Anatol Pomozov and Michael Lum


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1027933 13f79535-47bb-0310-9956-ffa450edef68
2010-10-27 12:30:11 +00:00
Roger Meier
5e64d51efc THRIFT-916 t_java_generator.cc: remove compiler warnings for enumerations not handled in switch
Patch: Christian Lavoie


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1023317 13f79535-47bb-0310-9956-ffa450edef68
2010-10-16 15:54:36 +00:00
Roger Meier
421dfbea63 THRIFT-807 JavaScript: Initialization of Base Types with 0 instead of null
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1023073 13f79535-47bb-0310-9956-ffa450edef68
2010-10-15 19:12:44 +00:00
Roger Meier
3b76fa3638 THRIFT-955 remove CharLowerBuff function for mingw based Thrift Compiler
=> no lowercase names and directories which was inconsistent for using across different platforms



git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1022630 13f79535-47bb-0310-9956-ffa450edef68
2010-10-14 17:56:03 +00:00
Roger Meier
0069cc4a29 THRIFT-916 no errors on GNU/Linux when compiling with CXXFLAGS="-Wall -Wextra -pedantic"
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1022220 13f79535-47bb-0310-9956-ffa450edef68
2010-10-13 18:10:18 +00:00
Bryan Duxbury
b3d0aa0c82 THRIFT-946. java: Augment FieldValueMetaData so it differentiates 'string' and 'binary' fields.
This patch adds a new method to the FieldMetaData class that indicates binary or not.

Patch: Mathias Herberts

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005220 13f79535-47bb-0310-9956-ffa450edef68
2010-10-06 20:00:03 +00:00
David Reiss
ef6a1766ce THRIFT-927. php: Option to support modifying the PHP include path
Make the PHP generator recognize a new-style namespace called "php.path".
If it is present, it is segmented and used as a path to include the
generated code.  (It goes between "packages" and the Thrit file basename.)

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005172 13f79535-47bb-0310-9956-ffa450edef68
2010-10-06 17:10:55 +00:00
David Reiss
44ff76f514 THRIFT-925. cpp: Add _VALUES_TO_NAMES enum map
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005143 13f79535-47bb-0310-9956-ffa450edef68
2010-10-06 17:10:15 +00:00
David Reiss
64637511d2 THRIFT-924. php: Fix missing comma in generated PHP struct constants
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005142 13f79535-47bb-0310-9956-ffa450edef68
2010-10-06 17:10:13 +00:00
David Reiss
c3b3622158 THRIFT-922. cpp: Add profiling code to help conversion to C++ templates
Add some profiling code to track when potentially unnecessary virtual
calls are made in the thrift C++ serialization and deserialization code.
This can be used to help service implementors determine which places in
their code should be updated to use an appropriate thrift template
class.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005140 13f79535-47bb-0310-9956-ffa450edef68
2010-10-06 17:10:10 +00:00
David Reiss
2324871334 THRIFT-928. cpp: Thrift Server Client Stats
Add the ability for Thrift servers to monitor client connections.  It is
activated by #including server/TClientInfo.h and creating 1) a
TClientInfoCallHandler passed to the processor with setEventHandler()
and 2) a TClientInforServerHandler passed to the server with
setServerEventHandler().

The result vector, showing active connections, provides client address
and the thrift call it is executing (or last executed), the time
connected, and the number of calls made since connection.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005139 13f79535-47bb-0310-9956-ffa450edef68
2010-10-06 17:10:08 +00:00
David Reiss
b7762a032a THRIFT-922. cpp: Update C++ generator to emit templatized code
When the "templates" option is passed to the C++ generator, it now emits
templatized versions of the client and processor.  Generated types emit
templatized read() and write() functions.

This allows the generated code to invoke the correct non-virtual
TTransport and TProtocol implementations, resulting in faster
serialization and deserialization.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005138 13f79535-47bb-0310-9956-ffa450edef68
2010-10-06 17:10:00 +00:00
David Reiss
c6b4cab89c THRIFT-923. cpp: Add completion notification to async clients
Add a virtual function "completed__(bool)" to xxxCobClient that is
called by recv_xxx() after reception of a response (arg = true) or an
exception (arg = false). This allows the TAsyncClient to intercede at
that point, permitting, e.g., the load-balancing of persistent
connections that would otherwise remain bound to a single server.

A new "no_client_completion" flag inhibits generation of this mechanism.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005131 13f79535-47bb-0310-9956-ffa450edef68
2010-10-06 17:09:45 +00:00
David Reiss
f62126dbb3 THRIFT-928. cpp: Prefix function name with service name
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005130 13f79535-47bb-0310-9956-ffa450edef68
2010-10-06 17:09:43 +00:00
David Reiss
ef7200f6e8 THRIFT-928. cpp: Include request/response size in processor callbacks
Required updating transport interface.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005129 13f79535-47bb-0310-9956-ffa450edef68
2010-10-06 17:09:42 +00:00
David Reiss
18cd0f0334 THRIFT-928. cpp: Make clients call writeEnd on their transports before flush
Changing the order of these calls makes more sense from the perspective
of logical operations.  It also simplifies the upcoming stats collection
code.  No clients should be affected.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005128 13f79535-47bb-0310-9956-ffa450edef68
2010-10-06 17:09:39 +00:00
David Reiss
5ddabb8e3f THRIFT-923. cpp: Implement a fully nonblocking server and client
There are three major parts of this:
1/ New callback-style interfaces for for a few key Thrift components:
   TAsyncProcessor for servers and TAsyncChannel for clients.
2/ Concrete implementations of TAsyncChannel and a server for
   TAsyncProcessor based on evhttp.
3/ Async-style code generation for C++

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005127 13f79535-47bb-0310-9956-ffa450edef68
2010-10-06 17:09:37 +00:00
David Reiss
d7192063e1 THRIFT-928. cpp: Processor-level event callbacks
- Add a TProcessorEventHandler callback interface.
- Add methods to TProcessor to hold an instance of the interface.
- Add code to the compiler to make the processor call callbacks at key points.
- Add an optional processor event handler to the test server.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005126 13f79535-47bb-0310-9956-ffa450edef68
2010-10-06 17:09:33 +00:00
Bryan Duxbury
1df96ce22f THRIFT-945. java: TAsyncClient class's currentMethod is never set, hence a second call on the same client will fail if a previous call is ongoing.
This patch adds a test for the problem and fixes the issue by setting the current method after a call has been started.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1004865 13f79535-47bb-0310-9956-ffa450edef68
2010-10-06 00:28:10 +00:00
David Reiss
41d3058dbf THRIFT-868. Make const values work properly with typdefs
Just requires calling get_true_type in the right spot.  Because "the
right spot" is under src/parse, get_true_type had to be moed from
t_generator to t_type.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1004703 13f79535-47bb-0310-9956-ffa450edef68
2010-10-05 16:39:29 +00:00
David Reiss
9e7ba8cbac compiler: Move t_type::generate_fingerprint to a .cc file
Forcing all of the functions under src/parse to be defined in header
files is silly and sometimes painful.  Createa a "parse.cc" file for
functions that don't belong in header files.  To start, move
generate_fingerprint there, because it requires including md5.h.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1004702 13f79535-47bb-0310-9956-ffa450edef68
2010-10-05 16:39:27 +00:00
Bryan Duxbury
a406b90fa2 THRIFT-787. compiler: Enums are not read correctly
This patch removes unnecessary enum value resolution code from all the individual generators. It's been unnecessary since forever ago when we made the compiler force the global resolution of values.

Patch: Christian Lavoie

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1001966 13f79535-47bb-0310-9956-ffa450edef68
2010-09-27 23:37:44 +00:00
Anthony F. Molinaro
71a58a8764 THRIFT-918 : better haskell tests
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1001883 13f79535-47bb-0310-9956-ffa450edef68
2010-09-27 19:27:40 +00:00
Anthony F. Molinaro
daef1c8ed0 THRIFT-743: seems to compile and doesn't break other tests, so seems fine for now
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1001353 13f79535-47bb-0310-9956-ffa450edef68
2010-09-26 04:25:36 +00:00
T Jake Luciani
6461d56d02 THRIFT-911: fix for trailing commas in sets, lists, maps, consts
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@999728 13f79535-47bb-0310-9956-ffa450edef68
2010-09-22 02:33:06 +00:00
Bryan Duxbury
75a33e858f THRIFT-906. hs: Improve type mappings
This patch fixes the type mappings to be more sane. It *will* break existing code, but the breakages should be well worth it.

Patch: Christian Lavoie

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@999700 13f79535-47bb-0310-9956-ffa450edef68
2010-09-22 00:48:56 +00:00
Bryan Duxbury
1237dcb099 THRIFT-880. javame: JavaME code generator and runtime library
This patch adds a new generator and library that produces code suitable for use in JavaME environments.

Patch: David Engberg

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@999022 13f79535-47bb-0310-9956-ffa450edef68
2010-09-20 17:49:09 +00:00
Bryan Duxbury
f38b2f10fb THRIFT-901. hs: Allow the bindings to compile without -fglasgow-exts and with -Wall -Werror
Forgot a small chunk of the previous patch.

Patch: Christian Lavoie

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@999019 13f79535-47bb-0310-9956-ffa450edef68
2010-09-20 17:41:40 +00:00
Bryan Duxbury
e59a80fbf9 THRIFT-901. hs: Allow the bindings to compile without -fglasgow-exts and with -Wall -Werror
This patch makes the bindings compile with pedantic warning levels, and individually declares each required language extension.

Patch: Christian Lavoie

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@998955 13f79535-47bb-0310-9956-ffa450edef68
2010-09-20 15:21:37 +00:00
Bryan Duxbury
d920765c66 THRIFT-882. java: deep copy of binary fields does not copy ByteBuffer characteristics (arrayOffset, position)
This patch ensures that binary fields are copied correctly.



git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@998275 13f79535-47bb-0310-9956-ffa450edef68
2010-09-17 19:27:36 +00:00
David Reiss
bdd6261b33 Fix enum value lookups in C++
The recent enum change was causing enums to break if used as constant
values by the C++ generator.  The problem was that we were searching for
the fully-qualified constant name (enum_name.VALUE_NAME) in the enum
values.  This didn't affect Java because it just uses symbolic names in
the generated code.  Fix it by grabbing the base name before doing the
search.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@996610 13f79535-47bb-0310-9956-ffa450edef68
2010-09-13 17:32:14 +00:00
David Reiss
8d7667c27f Don't segfault if t_enum::get_constant_by_name fails
The recent enum change was causing t_enum::get_constant_by_name to fail
in t_const_value::get_integer.  This was causing a difficult-to-debug
segfault.  Check for failure and throw an exeception.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@996609 13f79535-47bb-0310-9956-ffa450edef68
2010-09-13 17:32:13 +00:00
Bryan Duxbury
d4235e0a47 THRIFT-870. java: Java constants don't get Javadoc comments
Fix a trivial oversight.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@996592 13f79535-47bb-0310-9956-ffa450edef68
2010-09-13 16:28:53 +00:00
Bryan Duxbury
a7420b6593 THRIFT-894. java: Make default accessors for binary fields return byte[]; provide new accessors to get ByteBuffer version
This patch causes the underlying ByteBuffer that backs a binary field to be hidden behind a default accessor that provides a byte[] interface. This should allow users who skipped 0.4 to update their generated code without breaking any of their other code. A new accessor has been added that allows a way down to the underlying ByteBuffer for those experts who want to take advantage.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@996579 13f79535-47bb-0310-9956-ffa450edef68
2010-09-13 15:42:36 +00:00
Bryan Duxbury
76ecb91c3d THRIFT-897. compiler: Don't allow unqualified enum constant access
Fix some confusion in the java generator about adding the class name.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@996327 13f79535-47bb-0310-9956-ffa450edef68
2010-09-12 15:29:38 +00:00
Bryan Duxbury
cb0218f5c8 THRIFT-897. compiler: Don't allow unqualified enum constant references
Missed a spot.



git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@996325 13f79535-47bb-0310-9956-ffa450edef68
2010-09-12 15:22:21 +00:00
Bryan Duxbury
9f0a786dad THRIFT-897. compiler: Don't allow unqualified constant access to enum values
This patch makes it illegal to refer to enum values by just their names in the IDL. Now, you must also provide the enum type's name as well.



git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@996320 13f79535-47bb-0310-9956-ffa450edef68
2010-09-12 14:38:36 +00:00
David Reiss
b6c50e5658 THRIFT-895. cpp: By default, generate enums as class-scoped enums
Most of the other Thrift languages either have enum values that are
scoped to the type or emulate enums in that way.  Now C++ does the same
by default.  "enum Foo" in a .thrift file will be generated as Foo::type
so the values can be called Foo::value1, etc.  The "pure_enums" compiler
option restores the old behavior.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@996015 13f79535-47bb-0310-9956-ffa450edef68
2010-09-10 23:00:40 +00:00
Bryan Duxbury
04650afb87 THRIFT-544. erl: multiple enums with the same key generate invalid code
This adds the enum name to the generated constants to avoid collisions.

Patch: Ben Taitelbaum

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@995924 13f79535-47bb-0310-9956-ffa450edef68
2010-09-10 18:49:53 +00:00
Bryan Duxbury
bbff4a8e7e Fix to the catch-all namespace commit
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@992458 13f79535-47bb-0310-9956-ffa450edef68
2010-09-03 20:36:02 +00:00
David Reiss
fb790d7262 Allow "*" as a catch-all namespace.
In an IDL file, you can can now declare "namespace * foo",
which will apply to any language not explicitly specified.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@992012 13f79535-47bb-0310-9956-ffa450edef68
2010-09-02 16:41:45 +00:00
Bryan Duxbury
c377c32168 THRIFT-257. py: Support validation of required fields
Patch: Esteve Fernandez

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991987 13f79535-47bb-0310-9956-ffa450edef68
2010-09-02 15:37:19 +00:00
Bryan Duxbury
c43ec6247a THRIFT-634. csharp: C# Compiler Generates Incorrect Code For Fields which begin with an uppercase letter
Added a '_' to the backing field, and changed all the field references to refer to the property instead.

Patch: Jon S Akhtar

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991960 13f79535-47bb-0310-9956-ffa450edef68
2010-09-02 14:58:51 +00:00
Bryan Duxbury
1316ed9d16 THRIFT-673. py: Generated Python code has whitespace issues
This patch trims several forms of trailing whitespace.

Patch: Ian Eure

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991945 13f79535-47bb-0310-9956-ffa450edef68
2010-09-02 14:20:01 +00:00
Bryan Duxbury
727d67dcfa THRIFT-721. py: THttpClient ignores url parameters
Respect query string in THttpClient and generated remotes. Also, add an error message on unknown methods.

Patch: Thomas Kho

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991786 13f79535-47bb-0310-9956-ffa450edef68
2010-09-02 01:00:19 +00:00
Bryan Duxbury
773b8dbf30 THRIFT-805. cocoa: Don't generate process_XXXX methods for oneway methods
Patch: Brad Taylor

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991783 13f79535-47bb-0310-9956-ffa450edef68
2010-09-02 00:43:16 +00:00
Bryan Duxbury
e02d6118bf THRIFT-838. cocoa: Generated Cocoa classes have useless @dynamic declarations
This patch removes the @dynamic properties.

Patch: Kevin Ballard

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991779 13f79535-47bb-0310-9956-ffa450edef68
2010-09-02 00:29:08 +00:00
Bryan Duxbury
cd9f200b9d THRIFT-884. html: HTML Generator: add Key attribute to the Data Types Tables
This patch adds the Key attribute to the Data Types Tables.

Patch: Roger Meier

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991775 13f79535-47bb-0310-9956-ffa450edef68
2010-09-02 00:12:22 +00:00
Bryan Duxbury
0f4078dbf5 THRIFT-860. ocaml: copy method and reset method
The attached patch provides the class copying and reset-to-default values methods.

Patch: Lev Walkin

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991774 13f79535-47bb-0310-9956-ffa450edef68
2010-09-02 00:07:20 +00:00
David Reiss
5ad126044d THRIFT-874. Include missing time.h in two compiler files
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991255 13f79535-47bb-0310-9956-ffa450edef68
2010-08-31 16:51:30 +00:00
David Reiss
4563acdd23 THRIFT-865. Make Thrift buildable without libfl
yywrap is only needed if we need one lexer context to traverse multiple
input files.  This feature isn't used by Thrift, so we disable it with
"option noyywrap".  With yywrap disabled, there is no need to link to
libfl if flex is the lex implementation used.

With this patch, release tarballs can be built without lex.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991254 13f79535-47bb-0310-9956-ffa450edef68
2010-08-31 16:51:29 +00:00
David Reiss
ef5e81b1ac THRIFT-507. Only use Boost for building the C++ library
- Make AX_BOOST_BASE warn instead of fataling if Boost is not found.
- If Boost is not found, disable compilation of the C++ library.
- Do not use CPPFLAGS or LDFLAGS from Boost when building the compiler.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991253 13f79535-47bb-0310-9956-ffa450edef68
2010-08-31 16:51:28 +00:00
David Reiss
aca320d395 THRIFT-507. Stop using boost::lexical_cast in the compiler
We were using boost::lexical_cast to convert an integer to a string,
but using a stringstream is only slightly more complicated.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991252 13f79535-47bb-0310-9956-ffa450edef68
2010-08-31 16:51:26 +00:00
David Reiss
38f8959779 THRIFT-507. ruby: Stop using boost::tokenizer
Previously, the Ruby generated used boost::tokenizer to produce a
vector of namespace components from a dot-delimited namespace string.
We can do this manually with only a slight increase in complexity.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991251 13f79535-47bb-0310-9956-ffa450edef68
2010-08-31 16:51:25 +00:00
David Reiss
bfab32a3b3 THRIFT-507. smalltalk: Remove an unnecessary include (boost/tokenizer)
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991250 13f79535-47bb-0310-9956-ffa450edef68
2010-08-31 16:51:24 +00:00
David Reiss
eb207273ea erlang: Make the gen-code return a special value for bogus functions
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@990978 13f79535-47bb-0310-9956-ffa450edef68
2010-08-30 22:05:27 +00:00
David Reiss
f32d0fb900 Rollback a few recent Erlang changes to fix blame data
My combined patch for THRIFT-599 was committed, but it is preferable
commit the individual patches to preserve the more detailed log and
blame data.  I'll recommit r987018 as a sequence of patches and r988722
as its own rev.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@990957 13f79535-47bb-0310-9956-ffa450edef68
2010-08-30 22:05:00 +00:00
Bryan Duxbury
4d8a9cd569 THRIFT-877. compiler: smalltalk namespace doesn't work
This patch adds a special case to map 'smalltalk' to 'st' when checking for valid namespace declarations.

Patch: Bruce Lowekamp

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@990866 13f79535-47bb-0310-9956-ffa450edef68
2010-08-30 17:09:58 +00:00
David Reiss
e3ba3490de Clean up some style from r987565
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@989948 13f79535-47bb-0310-9956-ffa450edef68
2010-08-26 21:49:45 +00:00
Bryan Duxbury
66467a7779 THRIFT-693. java: Thrift compiler generated java code that throws compiler warnings about deprecated methods.
This patch removes the deprecated methods from TBase and makes some generator changes to accommodate.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@987805 13f79535-47bb-0310-9956-ffa450edef68
2010-08-21 17:48:18 +00:00
Bryan Duxbury
c39817c9a7 THRIFT-859. py: Allow py:twisted to be generated in different namespace than py
This patch adds support for the 'twisted' sub-namespace to the python code generator.

Patch: Bruce Lowekamp

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@987566 13f79535-47bb-0310-9956-ffa450edef68
2010-08-20 16:45:13 +00:00
Bryan Duxbury
681f5eae6d compiler: make a standard way for language generators to accept sub-namespaces
This patch adds a new method to t_generator that allows the compiler to avoid special cases in checking for sub-namespaces in the Thrift IDL.

Patch: Bruce Lowekamp

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@987565 13f79535-47bb-0310-9956-ffa450edef68
2010-08-20 16:42:04 +00:00
Bryan Duxbury
d3879f80c6 THRIFT-599. erl: Don't use unnecessary processes in the Erlang transports and clients
The only user-visible changes are to the client. Every thrift call now returns {NewClient, Result} instead of just Result.

Patch: David Reiss (assist to Anthony Molinaro)

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@987018 13f79535-47bb-0310-9956-ffa450edef68
2010-08-19 05:06:02 +00:00
Bryan Duxbury
4d0e2b48bf THRIFT-852. Missing newline causes many compiler warnings
This patch adds a newline to the end of t_generator_registry.h

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@985771 13f79535-47bb-0310-9956-ffa450edef68
2010-08-15 22:57:07 +00:00
Bryan Duxbury
66c334792b THRIFT-827. ocaml: OCaml generator to take default values into account
A patch to the OCaml generator which uses default values defined in the .thrift file to initialize the members of the generated class. 

Patch: Lev Walkin

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@985041 13f79535-47bb-0310-9956-ffa450edef68
2010-08-12 23:37:47 +00:00
David Reiss
e2350512c9 THRIFT-676. cpp: Move __isset definition for SWIG-compatibility
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@984979 13f79535-47bb-0310-9956-ffa450edef68
2010-08-12 21:15:04 +00:00
Bryan Duxbury
07b2ed1df5 THRIFT-832. html: HTML generator shows unspecified struct fields as 'required'
This patch causes required/optional/default to reported appropriately.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@984868 13f79535-47bb-0310-9956-ffa450edef68
2010-08-12 17:21:06 +00:00
Bryan Duxbury
34b530f099 THRIFT-570. Thrift compiler does not error when duplicate method names are present
This patch causes the compiler to throw an exception when duplicate method names are found.

Patch: Bruce Simpson

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@984628 13f79535-47bb-0310-9956-ffa450edef68
2010-08-12 01:48:51 +00:00
Bryan Duxbury
f5abd26858 THRIFT-830. java: Switch binary field implementation from byte[] to ByteBuffer
This patch switches the implementation of binary fields to ByteBuffer in the Java generated code, yielding up to 2.5x speed boost.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@982839 13f79535-47bb-0310-9956-ffa450edef68
2010-08-06 00:18:25 +00:00
Bryan Duxbury
7f3285eddb THRIFT-434. ruby compiler should warn when a reserved word is used
This patch adds a bunch of new reserved words to the lexer.

Patch: Michael Stockton

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@982827 13f79535-47bb-0310-9956-ffa450edef68
2010-08-05 23:28:14 +00:00
Bryan Duxbury
8fc413fbfd THRIFT-554. multiple enums with the same key generate invalid code
This patch causes multiple enums with the same name to trigger a parser error.

Patch: Ben Taitelbaum

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@982825 13f79535-47bb-0310-9956-ffa450edef68
2010-08-05 23:23:04 +00:00
Bryan Duxbury
20dbec7cfe THRIFT-782. perl: Perl code for writing containers doesn't count length of write*Begin or write*End
This patch adds appropriate accounting of the start and end bytes when writing out container types.
Patch: Conrad Hughes

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@982812 13f79535-47bb-0310-9956-ffa450edef68
2010-08-05 22:28:13 +00:00
Bryan Duxbury
5226eeaaaa THRIFT-751. java: Add clear() method to TBase
This patch adds a clear() method to the TBase interface and causes the compiler to generate implementations.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@982774 13f79535-47bb-0310-9956-ffa450edef68
2010-08-05 20:44:53 +00:00
Bryan Duxbury
c412a2fad4 THRIFT-133. add missing file to makefile.am
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@982359 13f79535-47bb-0310-9956-ffa450edef68
2010-08-04 18:51:57 +00:00
Bryan Duxbury
c687712d18 THRIFT-133. fix a small bug with smalltalk.prefix and smalltalk.package namespaces.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@980538 13f79535-47bb-0310-9956-ffa450edef68
2010-07-29 18:39:06 +00:00
Bryan Duxbury
e0ac3abd53 THRIFT-133. 'namespace ruby' should error out, or be an alias to 'namespace rb'
This patch causes 'namespace ruby' (or any unrecognized generator name) to produce an error.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@980498 13f79535-47bb-0310-9956-ffa450edef68
2010-07-29 16:24:41 +00:00
David Reiss
95c005a7c6 THRIFT-395. python: Add option to treat strings as UTF-8 unicode
Add the "utf8strings" option to the Python generator.  If set, all
Thrift strings (not binary) will be expected to be unicode objects, not
str.  They will be encoded as UTF-8 before serialization and decoded as
UTF-8 after deserialization.

The accelerator module for TBinaryProtocol is not affected.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@959516 13f79535-47bb-0310-9956-ffa450edef68
2010-07-01 05:36:25 +00:00
Bryan Duxbury
162b3ac646 THRFIT-804. java: CompareTo is broken for unions set to map, set, or list
This patch fixes TUnion's compareTo, and factors out the standard part of the comparison to TBaseHelper.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@957350 13f79535-47bb-0310-9956-ffa450edef68
2010-06-23 21:17:48 +00:00
Bryan Duxbury
656683c776 THRIFT-808. Segfault when constant declaration references a struct field that doesn't exist
This patch causes a useful error to be printed instead of an anonymous segfault.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@957270 13f79535-47bb-0310-9956-ffa450edef68
2010-06-23 16:57:51 +00:00
Bryan Duxbury
2e1aab5db7 THRIFT-767. rb: ruby compiler does not keep comments for enum values
This patch makes sure that we print an rdoc comment above each of the enum values.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@957268 13f79535-47bb-0310-9956-ffa450edef68
2010-06-23 16:54:17 +00:00
Bryan Duxbury
d58ccec660 THRIFT-768. java: Async client for Java
This patch adds an implementation of a fully-asynchronous client that makes use of NIO. Stubs for the async method calls are generated along with the existing synchronous ones.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@948492 13f79535-47bb-0310-9956-ffa450edef68
2010-05-26 16:34:48 +00:00
Bryan Duxbury
c8ee35805d revert an unintentional commit to the java generator
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@940861 13f79535-47bb-0310-9956-ffa450edef68
2010-05-04 14:01:14 +00:00
Bryan Duxbury
a1e268c54b THRIFT-770. build: Get 'make dist' to work without first compiling source code
This patch ditches the old print_version.sh method and instead generates the compiler's version.h via the Makefile.

Patch: Anthony Molinaro

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@940630 13f79535-47bb-0310-9956-ffa450edef68
2010-05-03 21:33:00 +00:00
Bryan Duxbury
6a68187338 THRIFT-647. php: PHP library is missing install target
This patch adds a 'make install' target to a new PHP makefile. 

Patch: Anthony Molinaro

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@940325 13f79535-47bb-0310-9956-ffa450edef68
2010-05-02 22:39:31 +00:00
Bryan Duxbury
97d21c853d THRIFT-760. java: Generated client code does not set or check the sequence ID in messages
The Java generated clients weren't paying attention to sequence ids. Now they are\!

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@938169 13f79535-47bb-0310-9956-ffa450edef68
2010-04-26 18:16:46 +00:00
Bryan Duxbury
0137af6bf1 THRIFT-611. Under Windows when compiling using MinGW, includes are incorrectly resolved due to '/' <-> '\' havoc.
This patch ensures the proper slashes are used based on the platform.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@937070 13f79535-47bb-0310-9956-ffa450edef68
2010-04-22 21:21:46 +00:00
Bryan Duxbury
321eb7a2bd THRIFT-518. as3: Add the AS3 generator and library
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@937067 13f79535-47bb-0310-9956-ffa450edef68
2010-04-22 21:17:39 +00:00
Bryan Duxbury
15e2930ccf THRIFT-761. java: Include the symbolic name of a typedef field in the field metadata
This patch adds a new isTypedef() method to FieldValueMetaData and converts MetaDataTest to a testcase in TestStruct.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@936588 13f79535-47bb-0310-9956-ffa450edef68
2010-04-22 01:05:02 +00:00
Bryan Duxbury
60229785cb THRIFT-763. java: Variable capture bug in generated struct compareTo
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@936583 13f79535-47bb-0310-9956-ffa450edef68
2010-04-22 00:27:41 +00:00
Bryan Duxbury
0fab12e968 THRIFT-759. java: Make TBase implement Comparable
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@936581 13f79535-47bb-0310-9956-ffa450edef68
2010-04-22 00:22:34 +00:00
Bryan Duxbury
49b38015a6 THRIFT-753. java: Don't look up TFieldIdEnum values with a map
Instead of using a generated map, use a big switch statement.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@930618 13f79535-47bb-0310-9956-ffa450edef68
2010-04-04 04:01:07 +00:00
Bryan Duxbury
b1f7f7973b THRIFT-746. java: Generated services Iface/Client inner classes do not derive from base classes
This patch causes all generated Client classes to inherit from TServiceClient, an interface that provides a way to get the protocols the Client is using. Also, it causes a new TServiceClientFactory implementation to generated for each Service, which provides a generic, reflection-free way to get Clients. These changes make it easier to build generic pools of Client objects.

Patch: Mathias Herberts

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@930601 13f79535-47bb-0310-9956-ffa450edef68
2010-04-03 23:19:52 +00:00
Bryan Duxbury
ea7910faf3 THRIFT-663. java: JavaBean code generator produces incorrect setter methods
This patch causes the beans option to suppress the builder-style setter methods. It also adds a new 'private-members' option that leaves the builder-style methods, but makes the actual instance variables private.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@930474 13f79535-47bb-0310-9956-ffa450edef68
2010-04-03 05:04:48 +00:00
Bryan Duxbury
5557beffae THRIFT-723: java: Thrift buffers with set and map types in Java should implement Comparable
This makes structs that contain sets and maps in their hierarchy Comparable.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@928944 13f79535-47bb-0310-9956-ffa450edef68
2010-03-29 23:57:09 +00:00
Bryan Duxbury
15b7b28794 THRIFT-701. java: Generated classes take up more space in jar than needed
Use a static {} block instead of an anonymous inner class to define metaDataMap. This saves some space in jars generated by avoiding the internal class.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@926466 13f79535-47bb-0310-9956-ffa450edef68
2010-03-23 05:39:18 +00:00
Bryan Duxbury
3f4ca0e8fd THRIFT-734. java: Can't use primitive types in service definitions for bean generated code
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@923566 13f79535-47bb-0310-9956-ffa450edef68
2010-03-16 03:13:26 +00:00
David Reiss
ac110e4f1c cpp: Eliminate circular dependency between thrift libraries
Previously, Thrift.cpp contained TApplicationException, which was using
TProtocol methods, defined in TProtocol.h.  This caused a circular
dependency since libprotocol depends on Thrift.h.  This change moves
TApplicationException into its own file.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920682 13f79535-47bb-0310-9956-ffa450edef68
2010-03-09 05:20:07 +00:00
David Reiss
e574a065a9 THRIFT-660. php: Use the accelerator to write return values from servers
Previously, we only used the acclerator module for clients to
write calls and read returns.  Now PHP servers will use it for
writing returns.  We cannot use it to read calls on the server side
(without modifications), because the module requires that
the structure type be known before reading the message header.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920663 13f79535-47bb-0310-9956-ffa450edef68
2010-03-09 05:19:22 +00:00
David Reiss
4dd7801e90 THRIFT-655. Allow structs to be typedef'ed
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920657 13f79535-47bb-0310-9956-ffa450edef68
2010-03-09 05:19:08 +00:00
David Reiss
53c10e09e1 THRIFT-564. Support arbitrary annotations on struct fields
This is subtly different from a type annotation, since some bits of
metadata only make sense in the context of a single structure field,
like whether the field is required, or whether the C++ code should use
a pointer for it.

This change doesn't define any meaningful annotations.  It just sets up
the parsing infrastructure.

I have no idea if $10 will work with older versions of yacc.  It seems
to work fine with bison.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@919325 13f79535-47bb-0310-9956-ffa450edef68
2010-03-05 07:51:51 +00:00
Bryan Duxbury
4e7cf25b95 THRIFT-716. java: Field names can conflict with local variables in code for unions
This patch resolves the name clash issue by removing the unnecessary parameters from the generated method and using the protected variables directly instead.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@917130 13f79535-47bb-0310-9956-ffa450edef68
2010-02-28 05:19:38 +00:00
Bryan Duxbury
53cba3cfa2 THRIFT-689. java: Notify client of recoverable protocol errors on java server
When a protocol error occurs, the server will now send back a message containing the exception. Clients should be able to detect and rethrow these exceptions as appropriate.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@916825 13f79535-47bb-0310-9956-ffa450edef68
2010-02-26 21:38:42 +00:00
Bryan Duxbury
dee6d4260c THRIFT-713. java: Java compareTo method throws NPE when any field isn't set.
This patch fixes a somewhat egregious bug in the generated compareTo for non-union structs and avoids possible NPEs.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@915499 13f79535-47bb-0310-9956-ffa450edef68
2010-02-23 19:06:25 +00:00
Bryan Duxbury
a34a4be080 remove an erroneously added newline in ruby generated structs
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@911957 13f79535-47bb-0310-9956-ffa450edef68
2010-02-19 20:00:55 +00:00
Bryan Duxbury
39dadd6656 THRIFT-712. rb: Inspect should print binary fields as hex instead of escaped string
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@911610 13f79535-47bb-0310-9956-ffa450edef68
2010-02-18 22:00:45 +00:00
Bryan Duxbury
0e4920c6b8 THRIFT-708. rb: Is set checking methods
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@911557 13f79535-47bb-0310-9956-ffa450edef68
2010-02-18 20:28:27 +00:00
Bryan Duxbury
cd43a06405 THRIFT-703. Attempting to hash an unset union struct results in NPE
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@911162 13f79535-47bb-0310-9956-ffa450edef68
2010-02-17 20:01:29 +00:00
Bryan Duxbury
33e190cd15 THRIFT-697. Union support in Ruby
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@910700 13f79535-47bb-0310-9956-ffa450edef68
2010-02-16 21:19:01 +00:00
T Jake Luciani
322caa2f92 THRIFT-550: Added javascript support
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@910158 13f79535-47bb-0310-9956-ffa450edef68
2010-02-15 03:24:55 +00:00
David Reiss
ba4bf4d512 THRIFT-691. haskell: Don't block required prelude definitions
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@903393 13f79535-47bb-0310-9956-ffa450edef68
2010-01-26 20:06:36 +00:00
David Reiss
3bb5e0581a THRIFT-683. Remove profanity
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@902941 13f79535-47bb-0310-9956-ffa450edef68
2010-01-25 19:31:31 +00:00
Todd Lipcon
b6f4e56bb0 THRIFT-643. smalltalk: Generated code doesnt load on Squeak3.10.2-7179-basic and PharoCore-1.0-10491rc1 images
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@900660 13f79535-47bb-0310-9956-ffa450edef68
2010-01-19 05:18:55 +00:00
Bryan Duxbury
c4ad9be578 THRIFT-675. java: Generated findByValue() should just switch on value instead of mapping
This patch removes the map-based enum value lookup and replaces it with a static switch statement.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@899911 13f79535-47bb-0310-9956-ffa450edef68
2010-01-16 09:13:20 +00:00
Bryan Duxbury
9bfacd3680 THRIFT-678. html: HTML generator should include per-field docstrings
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@899722 13f79535-47bb-0310-9956-ffa450edef68
2010-01-15 17:27:52 +00:00