Christopher Smith created GROOVY-10750:
------------------------------------------

             Summary: 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


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)

Reply via email to