thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From HIRANO Satoshi <>
Subject [iOS, MacOS] Patch for adding support of ARC, initializing constants, initializing struct/map/list/set with default values
Date Mon, 14 Nov 2011 05:36:15 GMT
Hi Cocoa users,

You might be waiting for support of ARC (Automatic Reference Counting) which is default in
iOS 5.

There is a patch for 0.8.0-dev in the following page.  Please merge it.

If you want to use it now, check out the latest source code from the trunk of SVN repository
then apply the patch. 
I recommend to do "Add files" to import runtime library from "lib/cocoa/src" into your project
instead of making a static library from the library. Don't forget to set "Always Search User
Paths" to YES in Build Settings.

* What is the patch?

- Works for iOS and MacOS.
- The runtime and generated code are compatible with both ARC compilation mode and non-ARC
compilation mode.
  If you want to know how I realize the compatibility, look into lib/cocoa/src/TObjective-C.h

- Initialization of struct/exception/map/list/set with defalut values is implemented.
- Now it generates much better code for initializing constants. The current thrift compiler
generates buggy code.

I needed to fix the problems of initialization so as to support ARC. I confirmed that the
all generated code from test/*.thrift pass code analyzer and can be compiled without warning.
However, I didn't run the test suite because Cocoa lacks test cases.

@@@@@@@@@@@@@@  Life is beautiful and full of surprises.

HIRANO Satoshi, Ph.D.         <>
AIST: National Institute of Advanced Industrial Science and Technology

View raw message