You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Leonard Brünings (Jira)" <ji...@apache.org> on 2020/08/18 15:24:00 UTC
[jira] [Created] (GROOVY-9695) Regression for accessing private
static constants in closures from Parent Classes
Leonard Brünings created GROOVY-9695:
----------------------------------------
Summary: Regression for accessing private static constants in closures from Parent Classes
Key: GROOVY-9695
URL: https://issues.apache.org/jira/browse/GROOVY-9695
Project: Groovy
Issue Type: Bug
Reporter: Leonard Brünings
Fix For: 2.5.13
The following code worked in 2.5.12, in 2.5.13 {{testChildClass}} fails with {{groovy.lang.MissingPropertyException: No such property: PATTERNS for class: Child}}
[~emilles] probably related to the changes mentioned here GROOVY-9665
{code:groovy}
class Example {
@Test
void testBaseClass() {
new Base().check("FooSpec")
}
@Test
void testChildClass() {
new Child().check("FooSpec")
}
}
class Base {
private static final List<Pattern> PATTERNS = [~/.*Test/, ~/.*Spec/]
def check(String str) {
List failures = []
def result = PATTERNS.findResult { Pattern pattern ->
if (pattern.matcher(str).matches()) {
return str
} else {
failures.add("Pattern ${PATTERNS.indexOf(pattern)} did not match")
}
}
if (!result) {
throw new IllegalArgumentException("Did Match no pattern: "+failures.join(", "))
}
return result
}
}
class Child extends Base {
}
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)