Tapestry 5
  1. Tapestry 5
  2. TAP5-666

Property expression can not pass a boolean constant into a method

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.1.0.4
    • Fix Version/s: 5.1.0.5
    • Component/s: tapestry-core
    • Labels:
      None

      Description

      From the mailing list:

      I just tried out the new T5.1 property expressions for the first time and got
      an error. I'm trying to replace this:

      $

      {linkTitle}

      public String getLinkTitle()

      { return getTitle(false); }

      With this:

      $

      {getTitle(false)}

      Which I should be able to do according to the Grammar as far as I can see,
      since but I get this error when I try it:

      Caused by:
      org.apache.tapestry5.internal.services.PropertyExpressionException: Node
      false (within expression 'getTitle(false)') was type FALSE, but was expected
      to be (one of) DECIMAL, DEREF, IDENTIFIER, INTEGER, INVOKE, LIST, SAFEDEREF,
      STRING.
      at
      org.apache.tapestry5.internal.services.PropertyConduitSourceImpl$PropertyConduitBuilder.unexpectedNodeType(PropertyConduitSourceImpl.java:925)
      at
      org.apache.tapestry5.internal.services.PropertyConduitSourceImpl$PropertyConduitBuilder.subexpression(PropertyConduitSourceImpl.java:637)
      at
      org.apache.tapestry5.internal.services.PropertyConduitSourceImpl$PropertyConduitBuilder.createMethodInvocation(PropertyConduitSourceImpl.java:756)
      at
      org.apache.tapestry5.internal.services.PropertyConduitSourceImpl$PropertyConduitBuilder.createMethodInvocation(PropertyConduitSourceImpl.java:730)
      at
      org.apache.tapestry5.internal.services.PropertyConduitSourceImpl$PropertyConduitBuilder.createGetter(PropertyConduitSourceImpl.java:711)
      at
      org.apache.tapestry5.internal.services.PropertyConduitSourceImpl$PropertyConduitBuilder.createGetterAndSetter(PropertyConduitSourceImpl.java:436)
      at
      org.apache.tapestry5.internal.services.PropertyConduitSourceImpl$PropertyConduitBuilder.createAccessors(PropertyConduitSourceImpl.java:419)
      at
      org.apache.tapestry5.internal.services.PropertyConduitSourceImpl$PropertyConduitBuilder.createInstance(PropertyConduitSourceImpl.java:272)
      at
      org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.build(PropertyConduitSourceImpl.java:1206)
      at
      org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.create(PropertyConduitSourceImpl.java:1081)
      at
      $PropertyConduitSource_120d3f0182d.create($PropertyConduitSource_120d3f0182d.java)
      at
      org.apache.tapestry5.internal.bindings.PropBindingFactory.newBinding(PropBindingFactory.java:49)
      at $BindingFactory_120d3f0182e.newBinding($BindingFactory_120d3f0182e.java)
      at $BindingFactory_120d3f01826.newBinding($BindingFactory_120d3f01826.java)
      at
      org.apache.tapestry5.internal.services.BindingSourceImpl.newBinding(BindingSourceImpl.java:81)
      ... 107 more

        Activity

        Hide
        Howard M. Lewis Ship added a comment -

        It looks like the grammar for top-level expressions (i.e., arguments to methods) doesn't include boolean.

        Show
        Howard M. Lewis Ship added a comment - It looks like the grammar for top-level expressions (i.e., arguments to methods) doesn't include boolean.
        Hide
        Howard M. Lewis Ship added a comment -

        Was also able to improve the efficiency of the code generated not constantly switch between primitive types and wrapper types.

        Show
        Howard M. Lewis Ship added a comment - Was also able to improve the efficiency of the code generated not constantly switch between primitive types and wrapper types.

          People

          • Assignee:
            Howard M. Lewis Ship
            Reporter:
            Howard M. Lewis Ship
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development