pivot-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Josh Highley <joshhigh...@gmail.com>
Subject BXMLSerializer: different handling of script return values
Date Thu, 21 Apr 2016 19:15:40 GMT
Apologies for not specifying the subject before sending


On Thu, Apr 21, 2016 at 2:14 PM, Josh Highley <joshhighley@gmail.com> wrote:

> In my bxml, I defined a TextInputContentListener method for
> previewInsertText in script.  The method was getting invoked, but my
> returned Vote seemed to get ignored.  Stepping through the code, I found
> that BXMLSerializer never assigns the result variable and ignores the
> returned value when the method is specified as an attribute but not when
> it's a child element.  Is there a reason for this, or is this a bug?
>
> I'm using 2.0.4, but the same code is in trunk
>
> BXMLSerializer:
>
> inner class AttributeInvocationHandler, method invoke(Object proxy, Method method, Object[]
args)
>
> ....
>
>    // If the function didn't return a value, return the default
>    Class<?> returnType = method.getReturnType();
>    if (returnType == Vote.class) {
>        result = Vote.APPROVE;
>    } else if (returnType == Boolean.TYPE) {
>        result = false;
>    }
>
>    return result;
>
>
> inner class ElementInvocationHandler, method invoke(Object proxy, Method method, Object[]
args)
>
> .....
>
>    // If the function didn't return a value, return the default   if (result == null)
{
>       Class<?> returnType = method.getReturnType();
>       if (returnType == Vote.class) {
>          result = Vote.APPROVE;
>       } else if (returnType == Boolean.TYPE) {
>          result = false;
>       }
>    }
>
>    return result;
>
>
> Thanks,
>
> Josh
>
>

Mime
View raw message