groovy-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anton Pryamostanov (JIRA)" <j...@apache.org>
Subject [jira] [Created] (GROOVY-8892) Trait instance init blocks are called only when there are fields defined in same Trait
Date Sun, 18 Nov 2018 18:21:01 GMT
Anton Pryamostanov created GROOVY-8892:
------------------------------------------

             Summary: Trait instance init blocks are called only when there are fields defined
in same Trait
                 Key: GROOVY-8892
                 URL: https://issues.apache.org/jira/browse/GROOVY-8892
             Project: Groovy
          Issue Type: Bug
            Reporter: Anton Pryamostanov


With ref. to GROOVY-8880, it seems Instance Init Blocks in Traits are appended/called only
when there are fields defined in the same trait. 

Example:
{code}
trait TraitOne {
    {
        System.out.println("Does not work")
    }
}
trait TraitTwo {
    Integer instanceCounter //immutable, non-shareable
    {
        System.out.println("Works")
        instanceCounter = 1
    }
}
class ClassWithTrait implements TraitOne, TraitTwo {
}
new ClassWithTrait().instanceCounter
{code}

Output:
{code}
Works
{code}

Expected output (order may differ):
{code}
Works
Does not work
{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message