You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Paul King (Jira)" <ji...@apache.org> on 2019/11/24 02:46:01 UTC

[jira] [Closed] (GROOVY-9268) Access to ... is forbidden

     [ https://issues.apache.org/jira/browse/GROOVY-9268?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul King closed GROOVY-9268.
-----------------------------

> Access to ...  is forbidden
> ---------------------------
>
>                 Key: GROOVY-9268
>                 URL: https://issues.apache.org/jira/browse/GROOVY-9268
>             Project: Groovy
>          Issue Type: Bug
>    Affects Versions: 2.5.8
>            Reporter: A. Lepe
>            Priority: Critical
>             Fix For: 3.0.0-rc-1
>
>
> I don't have a working code to reproduce the error except for the production code. I try my best to extract the main parts to be analyzed. 
> Updating from 2.5.6 to 2.5.8 triggers this issue (I didn't tried 2.5.7 as it has a bug that affects my project).
> The error I'm getting is: 
>  
> {code:java}
> Access to com.example.MyClass$MyLib$Output#output is forbidden @ line #, column #{code}
> Pointing to:
>  
> {code:java}
> results << result.array.getInt(it * Native.getNativeSize(Integer.TYPE))
>            ^{code}
> This is the code:
>  
> {code:java}
> @CompileStatic
> class MyClass {
>     List<Integer> getResult(String input) {
>         List<Integer> results = []
>         MyLib.Output output = MyLib.instance.getOutputList(input)
>         if(output.results) {
>             (0..output.results).each {
>                 results << result.array.getInt(it * Native.getNativeSize(Integer.TYPE))
>             }
>         }
>         return results
>     }
>     interface MyLib extends Library {
>         static MyLib instance = Native.load("mylibrary", MyLib.class)
>         static class Output extends Structure {
>             public int results
>             public Pointer array
>             Output() {
>                 super()
>             }
>             protected List<?> getFieldOrder() {
>                 return ["results", "array"]
>             }
>             static class ByReference extends Output implements Structure.ByReference {}
>             static class ByValue extends Output implements Structure.ByValue {}
>         }
>         // Method in C library
>         Ouput getOutputList(String input)
>     }
> }
> {code}
>  I changed the name of methods to make it easier to follow. 
>  I believe it might be related to GROOVY-9043, which was fixed in 2.5.7.
> It might be the same bug as GROOVY-9252
>  
>  



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