groovy-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas (JIRA)" <j...@apache.org>
Subject [jira] [Created] (GROOVY-7518) hashCode() throws NPE when using @CompileStatic with @EqualsAndHashCode
Date Wed, 22 Jul 2015 14:43:04 GMT
Thomas created GROOVY-7518:
------------------------------

             Summary: hashCode() throws NPE when using @CompileStatic with @EqualsAndHashCode
                 Key: GROOVY-7518
                 URL: https://issues.apache.org/jira/browse/GROOVY-7518
             Project: Groovy
          Issue Type: Bug
    Affects Versions: 2.4.4
            Reporter: Thomas


Given the following class

{code:title=Person.groovy}
import groovy.transform.CompileStatic
import groovy.transform.EqualsAndHashCode

@EqualsAndHashCode
@CompileStatic
class Person {
	Long someLong
}
{code}

and the test

{code:title=PersonTest.groovy}
import static org.junit.Assert.*

import org.junit.Test

class PersonTest {

	@Test
	void hashcodeWithoutLongValue() {
		def person = new Person()
		assert person.hashCode()
	}
}
{code}

and the gradle configuration:

{code:title=build.gradle}
buildscript {
    repositories {
        mavenCentral()
    }
}

apply plugin: 'groovy'
apply plugin: 'eclipse'

jar {
    baseName = 'HashCodeNPE'
    version = '0.0.1-SNAPSHOT'
}
sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
    mavenCentral()
}


dependencies {
    compile("org.codehaus.groovy:groovy:2.4.4")
	testCompile("junit:junit:4.12")
}


eclipse {
    classpath {
         containers.remove('org.eclipse.jdt.launching.JRE_CONTAINER')
         containers 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8'
    }
}

task wrapper(type: Wrapper) {
    gradleVersion = '2.4'
}
{code}

when I run {code}gradle clean build{code}

then the test fails with the following message.

{code}
PersonTest > hashcodeWithoutLongValue FAILED
    java.lang.NullPointerException at PersonTest.groovy:10

1 test completed, 1 failed
:test FAILED
{code}

With Groovy 2.4.3 the test passes.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message