Commit Graph

1094 Commits

Author SHA1 Message Date
Roger Meier
95b1bd71e3 THRIFT-1588 Java Generated Exceptions don't follow inheritance pattern as other Languages
- reduce NUM_QUERIES within test for slow machines ;-r

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1332809 13f79535-47bb-0310-9956-ffa450edef68
2012-05-01 20:43:26 +00:00
Roger Meier
c75797d906 THRIFT-1583 c_glib leaks memory
THRIFT-1578 C_GLib generated code does not compile
THRIFT-1582 Bad includes of nested thrift files in c_glib

Patch: José Antonio Santos
Minor Modificatons by roger:
- thrift prefix for includes
- g_object_unref instead of g_clear_object (needs glib>=2.28)

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1331752 13f79535-47bb-0310-9956-ffa450edef68
2012-04-28 11:33:58 +00:00
Roger Meier
b661e83fab THRIFT-1277 Node.js serializes false booleans as null
Patch: Henrique Mendonca

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1326371 13f79535-47bb-0310-9956-ffa450edef68
2012-04-15 15:58:43 +00:00
Roger Meier
1516be04e0 Merge branch 'trunk' of https://github.com/benoitdion/thrift into trunk
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1326086 13f79535-47bb-0310-9956-ffa450edef68
2012-04-14 11:03:21 +00:00
Roger Meier
5346e7200a THRIFT-1570 Correctly generate code for empty services.
Patch: Dave Watson

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1325786 13f79535-47bb-0310-9956-ffa450edef68
2012-04-13 14:38:19 +00:00
Roger Meier
629d5a9bcf THRIFT-1565 Thrift/cpp: Use default constructor for strings
Patch: Dave Watson

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1325785 13f79535-47bb-0310-9956-ffa450edef68
2012-04-13 14:33:56 +00:00
Roger Meier
49ff8b123a THRIFT-1552 Include paths for c/c++ should be prefixed with 'thrift/'
To ensure there are no include path collisions the C and C++ header
include paths should include 'thrift' as the root leaf. This will
prevent having to place /usr/include/thrift into the compilers include
header search path, which might otherwise result in the compiler
accidentally picking up headers that it shouldn't.

e.g. #include <foo/bar.h> should be #include <thrift/foo/bar.h>

Change-Id: I48f2b0f549bda0fc81e85506ac857adc800b98a1

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1325674 13f79535-47bb-0310-9956-ffa450edef68
2012-04-13 09:12:31 +00:00
Roger Meier
49ef6587b4 THRIFT-1079 Support i64 in AS3
Patch: Ethan Urie

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1325048 13f79535-47bb-0310-9956-ffa450edef68
2012-04-11 22:28:26 +00:00
Roger Meier
380e919a13 THRIFT-1554 Inherited service methods are not resolved in derived service implementations
Patch: Jens Geyer

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1311311 13f79535-47bb-0310-9956-ffa450edef68
2012-04-09 16:25:47 +00:00
Roger Meier
c64d6f0992 THRIFT-1398 Compiler warning on generated code (Multiface kills -Wall -Werror on gcc 4.6.1)
Patch: Nevo Hed

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1311066 13f79535-47bb-0310-9956-ffa450edef68
2012-04-08 18:18:56 +00:00
Roger Meier
5c80802332 THRIFT-1553 thrift nodejs service side can't read map structure, key as enum, value as Object
Patch: Henrique Mendonca

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1310986 13f79535-47bb-0310-9956-ffa450edef68
2012-04-08 12:30:00 +00:00
Jake Farrell
b95b0ffa72 THRIFT-1500: d programming language support
Client: D
Patch: David Nadlinger

D program language library and additions



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1304085 13f79535-47bb-0310-9956-ffa450edef68
2012-03-22 21:49:10 +00:00
Anthony F. Molinaro
3bba214c13 THRIFT-1532 - slightly better fix, take into account requiredness when adding default values
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1303666 13f79535-47bb-0310-9956-ffa450edef68
2012-03-22 06:48:33 +00:00
Anthony F. Molinaro
31835148b2 THRIFT-1532/THRIFT-1475 - fix record generation for erlang
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1303663 13f79535-47bb-0310-9956-ffa450edef68
2012-03-22 06:23:36 +00:00
Jake Farrell
17515db934 THRIFT-1534:Required fields in the Delphi code generator.
Client:delphi
Patch:Jens Geyer

Required field changes to isset and generated Read-methods.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1298265 13f79535-47bb-0310-9956-ffa450edef68
2012-03-08 04:05:58 +00:00
Bryan Duxbury
68839504c2 THRIFT-1527. java: Generated implementation of tupleReadStruct in unions return null when the setfield is unrecognized
Unrecognized fields will now result in a TProtocolException when reading with the TupleProtocol.

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1295997 13f79535-47bb-0310-9956-ffa450edef68
2012-03-01 23:43:54 +00:00
Ilya Maykov
9be7b38860 THRIFT-481: indentation of ruby classes is off by a few
Compiler: Ruby
Patch: Ilya Maykov

Fixed indentation of gen-rb files by wrapping each file
output stream in a class that keeps track of the indent
level instead of using the global indent.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1295423 13f79535-47bb-0310-9956-ffa450edef68
2012-03-01 05:56:39 +00:00
Ilya Maykov
c00011a752 THRIFT-1204: Ruby autogenerated files should require 'thrift' gem
Library: Ruby
Patch: Ilya Maykov
This patch does 2 things:
1) Adds a "require 'thrift'" line to the *_types.rb and *_constants.rb files,
   to be consistent with *_service.rb which was generating the thrift require
   already.
2) Adds a "rubygems" option to the --gen rb compiler target. When this option
   is specified, the compiler will add a "require 'rubygems'" line to the top
   of each gen-rb file. Defaults to false.


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1294949 13f79535-47bb-0310-9956-ffa450edef68
2012-02-29 02:40:28 +00:00
Bryan Duxbury
b2507dbb0c THRIFT-1518. cpp: Generated C++ code only sends the first optional field in the write() function for a struct
There was some incorrect else if logic added to the CPP generated code, which this patch replaces with the proper functionality.

Patch: Thomas Wiggins

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1292508 13f79535-47bb-0310-9956-ffa450edef68
2012-02-22 21:14:10 +00:00
Bryan Duxbury
b405ca6be8 THRIFT-1447. java: NullpointerException in ProcessFunction.class :in 'oneway' method
Patch: Ihor Mysak

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1244272 13f79535-47bb-0310-9956-ffa450edef68
2012-02-14 23:35:22 +00:00
Jake Farrell
afb9f970a4 Thrift-556:Ruby compiler does not correctly referred to top-level modules when a submodule masks the top-level name
Client: rb
Patch: Ben Kelly

Prepends a :: to every  place that references the top-level module.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1242376 13f79535-47bb-0310-9956-ffa450edef68
2012-02-09 16:17:50 +00:00
Jake Farrell
f9f01fa1e0 THRIFT-1394:Treatment of optional fields is not consistent between C++ and Java
Client: cpp
Patch: Diwaker Gupta

In CPP, all optional fields are guarded by the isset helper struct. On Java, however, the generated code takes advantage of nullable types: for containers, structs, exceptions, enums, and, notably, strings, the generator elides explicit use of an "isset" bit vector and instead emits checks of the form "field null". This leads to varying behavior between the two languages: an optional string field with a default value will have {{isset[fieldid]}} false on C, but the equivalent test in Java will be true.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1236529 13f79535-47bb-0310-9956-ffa450edef68
2012-01-27 04:48:26 +00:00
Jake Farrell
b2c4952799 Thrift-1465:Visibility of methods in generated java code
Client: java
Patch: Ashutosh Chauhan

Changes visibility of processor getProcessMap() and getEmptyArgs() methods


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1236515 13f79535-47bb-0310-9956-ffa450edef68
2012-01-27 04:01:54 +00:00
Jake Farrell
ba02146682 THRIFT-1504: Cocoa Generator should use local file imports for base Thrift headers
Client: cocoa
Patch: Steve White

Updates thrift headers as global imports instead of local imports



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1236503 13f79535-47bb-0310-9956-ffa450edef68
2012-01-27 03:06:54 +00:00
Roger Meier
0838bf56f5 THRIFT-1489 Add support for WCF bindings (optionally) to C# compiler, allowing web service usage of Thrift generated code
Patch: Kieran Benton
fix: add missing area of XML documentation generation

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1234095 13f79535-47bb-0310-9956-ffa450edef68
2012-01-20 19:42:23 +00:00
Roger Meier
bc2be31e48 THRIFT-1496 PHP compiler not namespacing enums
Patch: Andrew Grumet

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1233930 13f79535-47bb-0310-9956-ffa450edef68
2012-01-20 14:34:49 +00:00
Roger Meier
26cbb388ec THRIFT-1410 C# Partial Classes (for service implementation class)
Patch: Kieran Benton

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1232585 13f79535-47bb-0310-9956-ffa450edef68
2012-01-17 21:32:50 +00:00
Roger Meier
f0e517db99 THRIFT-1489 Add support for WCF bindings (optionally) to C# compiler, allowing web service usage of Thrift generated code
Patch: Kieran Benton

changes by roger:
- use ServiceModel, DataContract only when wcf is enabled
- indent space vs tab
- remove issue on lib/cpp/README_WINDOWS
- add testStringMap on test/csharp/ThriftTest/TestServer.cs
- add build to test/csharp/ThriftTest/maketest.sh

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1232578 13f79535-47bb-0310-9956-ffa450edef68
2012-01-17 21:20:56 +00:00
Roger Meier
eaa61d8fda THRIFT-1267 Node.js can't throw exceptions
Patch: Henrique Mendonca

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1230797 13f79535-47bb-0310-9956-ffa450edef68
2012-01-12 21:38:29 +00:00
Roger Meier
333bbf3d88 THRIFT-1485 Performance: pass large and/or refcounted arguments as "const"
Patch: Jens Geyer

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1228965 13f79535-47bb-0310-9956-ffa450edef68
2012-01-08 21:51:08 +00:00
Bryan Duxbury
bad4174a57 THRIFT-1479. php: Compiled PHP process functions missing writeMessageEnd()
This patch adds in the missing call.

Patch: Andrew Grumet

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1226892 13f79535-47bb-0310-9956-ffa450edef68
2012-01-03 17:35:26 +00:00
Bryan Duxbury
9704630bab THRIFT-1483. java: java compiler does not generate type parameters for services in extended clauses
Patch: Ruslan Shevchenko

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1226889 13f79535-47bb-0310-9956-ffa450edef68
2012-01-03 17:28:45 +00:00
Bryan Duxbury
a3df547c84 THRIFT-317. java: Issues with Java struct validation
Nested structs will now be validated before serialization starts.

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1225035 13f79535-47bb-0310-9956-ffa450edef68
2011-12-27 22:26:59 +00:00
Roger Meier
94eecc8259 THRIFT-1168 C++ cob client/server: void functions that throw exceptions
Patch: NewBlood

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1221891 13f79535-47bb-0310-9956-ffa450edef68
2011-12-21 21:23:28 +00:00
Bryan Duxbury
1e79cb40f5 THRIFT-1469. java: Java isset space optimization
This patch gives the generated code some variable-sized options for the isset bit vector. The compiler will attempt to use byte, short, int and long types before reverting to a BitSet for structs with a LOT of optional fields. This should save a fair amount of memory in a lot of cases.

Patch: Brian Bloniarz

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1221828 13f79535-47bb-0310-9956-ffa450edef68
2011-12-21 18:13:29 +00:00
Roger Meier
12d705390d THRIFT-1461 Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows
Patch: Alexandre Parenteau

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1214547 13f79535-47bb-0310-9956-ffa450edef68
2011-12-14 23:35:28 +00:00
Jake Farrell
a99027c708 Thrift-1462: add more strict compiler flags
Reverting MINGW addition for c+++0x 



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1213905 13f79535-47bb-0310-9956-ffa450edef68
2011-12-13 20:12:26 +00:00
Roger Meier
6e96965fdb THRIFT-1462 add more strict compiler flags
FIX: check for MINGW and use reduced compiler flag set for mingw

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1213523 13f79535-47bb-0310-9956-ffa450edef68
2011-12-13 00:36:01 +00:00
Roger Meier
ca10fd4a51 THRIFT-1462 add more strict compiler flags(-Wall -Wextra -std=c++0x -pedantic)
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1213459 13f79535-47bb-0310-9956-ffa450edef68
2011-12-12 22:00:23 +00:00
Roger Meier
aad8fb4fec fix compiler warnings
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1212892 13f79535-47bb-0310-9956-ffa450edef68
2011-12-10 21:50:10 +00:00
Roger Meier
e1d2458f1a THRIFT-1452 generate a swap() method for all generated structs
fix compiler warnings, when having empty structs

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1212593 13f79535-47bb-0310-9956-ffa450edef68
2011-12-09 19:33:07 +00:00
Jake Farrell
343c61d6a7 Thrift-1441: Generate constructor with parameters for exception class to let it update message property automatically.
Client:delphi
Patch: Kenjiro Fukumitsu

Add the function to delphi generator that generates constructor with parameters to initialize members,if the class is exception and have more than zero parameters.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1212226 13f79535-47bb-0310-9956-ffa450edef68
2011-12-09 02:29:56 +00:00
Jake Farrell
3318201c2f Thrift-1452: generate a swap() method for all generated structs
Client: cpp
Patch: Dave Watson

Convenience method for all C++ thrift types to add swap() function



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1212130 13f79535-47bb-0310-9956-ffa450edef68
2011-12-08 21:15:50 +00:00
Roger Meier
284a9b56d7 THRIFT-1037 Proposed changes to support Silverlight, Windows Phone and AsyncCTP v3
Patch: Damian Mehers & Jens Geyer

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1211880 13f79535-47bb-0310-9956-ffa450edef68
2011-12-08 13:39:56 +00:00
Jake Farrell
23bf35daa3 Thrift-1454:Better handling of write on a closed TSocket
Client: cpp
Patch: Dave Watson

TSocket.send() was expecting a send() on the underlying socket
to fail by returning zero, but the actual behavior is to raise
an exception.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1211736 13f79535-47bb-0310-9956-ffa450edef68
2011-12-08 02:02:20 +00:00
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