You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Howard M. Lewis Ship (Created) (JIRA)" <ji...@apache.org> on 2012/04/12 22:49:20 UTC

[jira] [Created] (TAP5-1901) Plastic creates field access methods for some injected fields uncessarily

Plastic creates field access methods for some injected fields uncessarily
-------------------------------------------------------------------------

                 Key: TAP5-1901
                 URL: https://issues.apache.org/jira/browse/TAP5-1901
             Project: Tapestry 5
          Issue Type: Bug
          Components: plastic
    Affects Versions: 5.3.3, 5.4
            Reporter: Howard M. Lewis Ship
            Priority: Minor


While looking into another problem, noticed the following:


      final reject_field_change_internalComponentResources(Lorg/apache/tapestry5/internal/InternalComponentResources;)V
        NEW java/lang/IllegalStateException
        DUP
        LDC "Field internalComponentResources of class test.base.pages.Grandparent is read-only."
        INVOKESPECIAL java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
        ATHROW
        MAXSTACK = 0
        MAXLOCALS = 0

Plastic should not be creating such methods for injected fields; those fields are not visible to (untransformed) subclasses (they don't exist until after transformation). These kinds of methods exist for incorrect user code that (in untransformed classes) illegally assigns to a field that is read-only in the transformed class.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TAP5-1901) Plastic creates field access methods for some injected fields uncessarily

Posted by "Howard M. Lewis Ship (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TAP5-1901?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13252818#comment-13252818 ] 

Howard M. Lewis Ship commented on TAP5-1901:
--------------------------------------------

Fortunately, these tiny extra methods cost very little ... a few microseconds of processing time and a handful of extra bytes.
                
> Plastic creates field access methods for some injected fields uncessarily
> -------------------------------------------------------------------------
>
>                 Key: TAP5-1901
>                 URL: https://issues.apache.org/jira/browse/TAP5-1901
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: plastic
>    Affects Versions: 5.3.3, 5.4
>            Reporter: Howard M. Lewis Ship
>            Priority: Minor
>
> While looking into another problem, noticed the following:
>       final reject_field_change_internalComponentResources(Lorg/apache/tapestry5/internal/InternalComponentResources;)V
>         NEW java/lang/IllegalStateException
>         DUP
>         LDC "Field internalComponentResources of class test.base.pages.Grandparent is read-only."
>         INVOKESPECIAL java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
>         ATHROW
>         MAXSTACK = 0
>         MAXLOCALS = 0
> Plastic should not be creating such methods for injected fields; those fields are not visible to (untransformed) subclasses (they don't exist until after transformation). These kinds of methods exist for incorrect user code that (in untransformed classes) illegally assigns to a field that is read-only in the transformed class.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TAP5-1901) Plastic creates field access methods for some injected fields uncessarily

Posted by "Howard M. Lewis Ship (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TAP5-1901?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13252818#comment-13252818 ] 

Howard M. Lewis Ship commented on TAP5-1901:
--------------------------------------------

Fortunately, these tiny extra methods cost very little ... a few microseconds of processing time and a handful of extra bytes.
                
> Plastic creates field access methods for some injected fields uncessarily
> -------------------------------------------------------------------------
>
>                 Key: TAP5-1901
>                 URL: https://issues.apache.org/jira/browse/TAP5-1901
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: plastic
>    Affects Versions: 5.3.3, 5.4
>            Reporter: Howard M. Lewis Ship
>            Priority: Minor
>
> While looking into another problem, noticed the following:
>       final reject_field_change_internalComponentResources(Lorg/apache/tapestry5/internal/InternalComponentResources;)V
>         NEW java/lang/IllegalStateException
>         DUP
>         LDC "Field internalComponentResources of class test.base.pages.Grandparent is read-only."
>         INVOKESPECIAL java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
>         ATHROW
>         MAXSTACK = 0
>         MAXLOCALS = 0
> Plastic should not be creating such methods for injected fields; those fields are not visible to (untransformed) subclasses (they don't exist until after transformation). These kinds of methods exist for incorrect user code that (in untransformed classes) illegally assigns to a field that is read-only in the transformed class.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira