Eric Milles created GROOVY-9850:
-----------------------------------

             Summary: STC: add error for write of private or package-private 
field of super class
                 Key: GROOVY-9850
                 URL: https://issues.apache.org/jira/browse/GROOVY-9850
             Project: Groovy
          Issue Type: Bug
            Reporter: Eric Milles


GROOVY-8999, GROOVY-9093, GROOVY-9136, GROOVY-9195, GROOVY-9288, GROOVY-9292, 
GROOVY-9293 and others cover various scenarios where read access to a field 
should or should not be allowed.  One scenario that is yet uncovered is writing 
to a private or package-private field from a super class.

Consider the following:
{code:groovy}
package p
class C {
  private /*or @PackageScope*/ Object field
}
{code}
{code:groovy}
package q
class D extends C {
  @groovy.transform.CompileStatic
  void test() {
    field = null // should be error
  }
}
{code}

Also need {{static}} variants.

I also think that {{@TypeChecked}} is not producing errors for any field access 
cases.  Not sure if it is desirable to limit the checks to the SC path.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to