(unknown)

Jochen Wiedmann <[email protected]>
Newsgroups gmane.comp.lang.groovy.user
Message-ID <CAF8HOZLYcdE2NXb6LCd57sJvMP+kooBS7dJSPbLvnEeYx7i5SA@mail.gmail.com>
Hi,

could anyone, please, explain to me what to fix in the script below? I
am getting the error message below:

Thanks,

Jochen


<<<Error>>>
    : Apparent variable 'foo' was found in a static scope but doesn't
refer to a local
    variable, static field or class. Possible causes:
    You attempted to reference a variable in the binding or an instance variable
     from a static context.
     You misspelled a classname or statically imported field. Please check the
     spelling.
     You attempted to use a method 'foo' but left out brackets in a place not
     allowed by the grammar.
     @ line 7, column 22.
         demo.foo = "${foo}";
<<</Error>>>

My Java class looks like this:

<<<Java code>>>
     public static void main(String[] args) {
        final String SCRIPT =
            "public class Demo {\n"
            + " public void run() {\n"
            + " System.out.println(\"Hello ${this.foo}\");\n"
            + " }\n"
            + " public static void main(String[] args) {\n"
            + " Demo demo = new Demo().run();\n"
            + "     demo.foo = \"${foo}\";\n"
            + "     }\n"
             + "}\n";
        final GroovyShell gsh = new GroovyShell();
        final Map<String,Object> parameters = new HashMap<>();
        parameters.put("foo", "World");
        final Script script = gsh.parse(SCRIPT, new Binding(parameters));
        script.run();
    }
<<</Java code>>>




-- 
The woman was born in a full-blown thunderstorm. She probably told it
to be quiet. It probably did. (Robert Jordan, Winter's heart)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.