Rodolfo Yanke created GROOVY-11266:
--------------------------------------

             Summary: Static Compilation fails when using generics (no such 
property)
                 Key: GROOVY-11266
                 URL: https://issues.apache.org/jira/browse/GROOVY-11266
             Project: Groovy
          Issue Type: Bug
          Components: Static compilation, Static Type Checker
    Affects Versions: 3.0.20
         Environment: Java 21, gradle 8.5, MacOS
            Reporter: Rodolfo Yanke


Hi,

The code below works fine with 3.0.19 but after upgrading to 3.0.20 it doesn't 
compile anymore:


{code:java}
import groovy.transform.CompileStatic
import org.springframework.data.domain.Pageable
import org.springframework.data.mongodb.repository.MongoRepository

@CompileStatic
class GalleryItem {
    String someProperty
}

@CompileStatic
interface GalleryItemRepository extends MongoRepository<GalleryItem, String> {
}

@CompileStatic
static void main(String[] args) {
    GalleryItemRepository repository = null //no implementation for the sake of 
simplicity
    def page = repository.findAll(Pageable.ofSize(1))

    page.content.each {
        it.someProperty //[Static type checking] - No such property: 
someProperty for class: java.lang.Object
    }
} {code}

My build.gradle
{code:java}
plugins {
    id 'groovy'
}

group = 'org.example'
version = '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    //works fine with 3.0.19
    implementation 'org.codehaus.groovy:groovy-all:3.0.20'
    implementation 'org.springframework.data:spring-data-mongodb:3.4.18'
}

compileJava {
    sourceCompatibility = JavaVersion.VERSION_21
    targetCompatibility = JavaVersion.VERSION_21
}

compileGroovy {
    groovyOptions.optimizationOptions.indy = true
}{code}

A simple "gradle compileGroovy" should reproduce the issue:

{code:java}
/Projects/groovytest/src/main/groovy/Main.groovy: 20: [Static type checking] - 
No such property: someProperty for class: java.lang.Object
 @ line 20, column 9.
           it.someProperty //[Static type checking] - No such property: 
someProperty for class: java.lang.Object
           ^ {code}
 

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to