You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Florentine, Justin F." <Ju...@espn.com> on 2010/07/31 20:32:10 UTC

AS3 generated constructors with default vals don't compile.

The code generated for as3 constructors doesn't compile in Flex 3.6.  Dunno much about as3 or if this is intentional or not, but a patch to fix it is below.

Index: compiler/cpp/src/generate/t_as3_generator.cc
===================================================================
--- compiler/cpp/src/generate/t_as3_generator.cc	(revision 981076)
+++ compiler/cpp/src/generate/t_as3_generator.cc	(working copy)
@@ -696,7 +696,8 @@
  for (m_iter = members.begin(); m_iter != members.end(); ++m_iter) {
    t_type* t = get_true_type((*m_iter)->get_type());
    if ((*m_iter)->get_value() != NULL) {
-      print_const_value(out, "this." + (*m_iter)->get_name(), t, (*m_iter)->get_value(), true, true);
+      indent(out) << "this._" << (*m_iter)->get_name() << " = " << (*m_iter)->get_value()->get_integer() << ";" <<
+      endl;
    }
  }
  indent_down();

Re: AS3 generated constructors with default vals don't compile.

Posted by "Florentine, Justin F." <Ju...@espn.com>.
Done.  THRIFT-835.  Looks like you'll need to add a Compiler(AS3) component to jira as well.

Good work everyone, project has a lot of potential.

On Aug 1, 2010, at 12:39 AM, Aron Sogor wrote:

> would you mind to file a bug and attach this patch please?
> 
> Aron
> 
> On Sat, Jul 31, 2010 at 11:32 AM, Florentine, Justin F.
> <Ju...@espn.com> wrote:
>> The code generated for as3 constructors doesn't compile in Flex 3.6.  Dunno much about as3 or if this is intentional or not, but a patch to fix it is below.
>> 
>> Index: compiler/cpp/src/generate/t_as3_generator.cc
>> ===================================================================
>> --- compiler/cpp/src/generate/t_as3_generator.cc        (revision 981076)
>> +++ compiler/cpp/src/generate/t_as3_generator.cc        (working copy)
>> @@ -696,7 +696,8 @@
>> for (m_iter = members.begin(); m_iter != members.end(); ++m_iter) {
>>   t_type* t = get_true_type((*m_iter)->get_type());
>>   if ((*m_iter)->get_value() != NULL) {
>> -      print_const_value(out, "this." + (*m_iter)->get_name(), t, (*m_iter)->get_value(), true, true);
>> +      indent(out) << "this._" << (*m_iter)->get_name() << " = " << (*m_iter)->get_value()->get_integer() << ";" <<
>> +      endl;
>>   }
>> }
>> indent_down();
> 
> Please consider the environment before printing this e-mail.


Re: AS3 generated constructors with default vals don't compile.

Posted by Aron Sogor <bi...@gmail.com>.
would you mind to file a bug and attach this patch please?

Aron

On Sat, Jul 31, 2010 at 11:32 AM, Florentine, Justin F.
<Ju...@espn.com> wrote:
> The code generated for as3 constructors doesn't compile in Flex 3.6.  Dunno much about as3 or if this is intentional or not, but a patch to fix it is below.
>
> Index: compiler/cpp/src/generate/t_as3_generator.cc
> ===================================================================
> --- compiler/cpp/src/generate/t_as3_generator.cc        (revision 981076)
> +++ compiler/cpp/src/generate/t_as3_generator.cc        (working copy)
> @@ -696,7 +696,8 @@
>  for (m_iter = members.begin(); m_iter != members.end(); ++m_iter) {
>    t_type* t = get_true_type((*m_iter)->get_type());
>    if ((*m_iter)->get_value() != NULL) {
> -      print_const_value(out, "this." + (*m_iter)->get_name(), t, (*m_iter)->get_value(), true, true);
> +      indent(out) << "this._" << (*m_iter)->get_name() << " = " << (*m_iter)->get_value()->get_integer() << ";" <<
> +      endl;
>    }
>  }
>  indent_down();