[
https://issues.apache.org/jira/browse/GROOVY-11401?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eric Milles updated GROOVY-11401:
---------------------------------
Description:
Consider the following:
{code:groovy}
class C {
private Object obj = 'field'
@groovy.transform.TypeChecked
void test() {
Map<String,String> map = [:].withDefault{ 'entry' }
map.with {
def x = obj
print x
}
}
}
new C().test()
{code}
This script prints "entry" but the inferred type of "x" is {{Object}} not
{{String}}.
GROOVY-11367
was:
Consider the following:
{code:groovy}
class C {
private Object obj = 'field'
@groovy.transform.TypeChecked
void test() {
def map = [:].withDefault{ 'entry' }
map.with {
def x = obj
print x
}
}
}
new C().test()
{code}
This script prints "entry" but the inferred type of "x" is {{Object}} not
{{String}}.
GROOVY-11367
> STC: inferred type of name within closure (delegate property versus owner
> field)
> --------------------------------------------------------------------------------
>
> Key: GROOVY-11401
> URL: https://issues.apache.org/jira/browse/GROOVY-11401
> Project: Groovy
> Issue Type: Bug
> Components: Static Type Checker
> Affects Versions: 3.0.21, 4.0.21
> Reporter: Eric Milles
> Assignee: Eric Milles
> Priority: Major
>
> Consider the following:
> {code:groovy}
> class C {
> private Object obj = 'field'
> @groovy.transform.TypeChecked
> void test() {
> Map<String,String> map = [:].withDefault{ 'entry' }
> map.with {
> def x = obj
> print x
> }
> }
> }
> new C().test()
> {code}
> This script prints "entry" but the inferred type of "x" is {{Object}} not
> {{String}}.
> GROOVY-11367
--
This message was sent by Atlassian Jira
(v8.20.10#820010)