You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Eric Milles (Jira)" <ji...@apache.org> on 2022/09/05 21:26:00 UTC

[jira] [Commented] (GROOVY-10750) Compiler does not resolve compile-time constants in string concatenation

    [ https://issues.apache.org/jira/browse/GROOVY-10750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17600522#comment-17600522 ] 

Eric Milles commented on GROOVY-10750:
--------------------------------------

GROOVY-9855 refers to a single substitution. In this case, your expected constant value references another constant that requires inlining. 

> 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
>            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)