[
https://issues.apache.org/jira/browse/GROOVY-10750?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Christopher Smith updated GROOVY-10750:
---------------------------------------
Affects Version/s: 4.0.6
> Compiler does not resolve compile-time constants in string concatenation
> ------------------------------------------------------------------------
>
> Key: GROOVY-10750
> URL: https://issues.apache.org/jira/browse/GROOVY-10750
> Project: Groovy
> Issue Type: Bug
> Components: Static compilation
> Affects Versions: 4.0.4, 4.0.6
> Reporter: Christopher Smith
> Priority: Minor
>
> This appears to be the same behavior marked as fixed in GROOVY-9855. In a
> Groovy 4.0.4 compilation, this code:
> {code}
> @CompileStatic
> @RequestMapping(path = FooController.BASE_URL)
> class FooController {
> public static final String BASE_URL = '/foos'
> }
> @CompileStatic
> @RequestMapping(path = FooBarController.BASE_URL)
> class FooBarController {
> public static final String BASE_URL = FooController.BASE_URL +
> '/{fooId}/bars'
> }
> {code}
> succeeds for FooController, but FooBarController produces a pair of errors:
> {code}
> FooBarController.groovy: 20: Expected 'com.example.FooBarController.BASE_URL'
> to be an inline constant of type java.lang.String not a property expression
> in @org.springframework.web.bind.annotation.RequestMapping
> FooBarController.groovy: 20: Attribute 'path' should have type
> 'java.lang.String'; but found type 'java.lang.Object' in
> @org.springframework.web.bind.annotation.RequestMapping
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)