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)