You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Alexey Afanasiev (JIRA)" <ji...@apache.org> on 2017/08/21 15:53:00 UTC

[jira] [Created] (GROOVY-8293) Instanceof inference does work on fields

Alexey Afanasiev created GROOVY-8293:
----------------------------------------

             Summary: Instanceof inference does work on fields
                 Key: GROOVY-8293
                 URL: https://issues.apache.org/jira/browse/GROOVY-8293
             Project: Groovy
          Issue Type: Bug
          Components: Static compilation, Static Type Checker
    Affects Versions: 2.4.12
            Reporter: Alexey Afanasiev


This code should not compile:

{code}
import groovy.transform.CompileStatic

@CompileStatic
class Foo {
    Object str = "str"
    def bar() {
        if (str instanceof String) {
            str.toUpperCase() // here should be compile error
        }
    }
}
{code}

Documentation http://docs.groovy-lang.org/next/html/documentation/core-semantics.html#type-inference states: 
_it does not perform any kind of type inference on fields, always falling back to the declared type of a field_



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)