Dear Wiki user, You have subscribed to a wiki page or wiki category on "Thrift Wiki" for change notification.
The following page has been changed by RobSlifka: http://wiki.apache.org/thrift/ThriftGeneration The comment on the change is: Honed variable/datatype non-example. Also added overloading non-example. ------------------------------------------------------------------------------ * Run thrift with the options for your language of choice. e.g. `thrift -php myproject.thrift` * Your files will be generated in a sub directory called e.g. `gen-php` + ==== Caveat: Service Method Parameter Naming ==== + - Note: Make sure you don't name variables the same as their datatype - you WILL run in to trouble. + Make sure you don't name variables the same as their datatype - you WILL run in to trouble. Consider this example BAD CODE: {{{ - #!/usr/local/bin/thrift -gen cpp - # - - namespace cpp stuff - typedef i32 somevariable service Example { - - // Function that takes somevariable called somevariable and returns datatype somevariable + // Function that takes somevariable called somevariable - somevariable regenerate(1:somevarable somevariable), + i32 regenerate(1:somevarable somevariable), } }}} @@ -29, +25 @@ Also note that using terms like "new" as a function name will cause errors in the generated code. + ==== Caveat: Service Method Name Overloading ==== + + Make sure you don't overload service methods. + + {{{ + service Example { + // Two 'regenerate' functions with different arguments + i32 regenerate(1:String foo), + i32 regenerate(1:i16 bar), + } + }}} + + Thrift will compile this, however the generated code will NOT compile. +
