Terry Wong created GROOVY-7399:
----------------------------------

             Summary: Method "with()" fails to call on the object reference in 
Trait
                 Key: GROOVY-7399
                 URL: https://issues.apache.org/jira/browse/GROOVY-7399
             Project: Groovy
          Issue Type: Bug
          Components: groovy-runtime
            Reporter: Terry Wong


{code}
class Bar implements FooTrait {
    def whoAmI() { "It's Bar" }
}

class Foo {
    def whoAmI() { "It's Foo" }
}

trait FooTrait {
    Foo f = new Foo()
    def hiFoo() {
        f.with {
            whoAmI() // it's Foo or Bar?!
        }
    }
}

Bar b = new Bar()
assert b.hiFoo() == b.f.whoAmI()
{code}

I would expect the {{assert}} on last line will pass, but it failed with
{noformat}
Assertion failed: 

assert b.hiFoo() == b.f.whoAmI()
       | |       |  | | |
       | It's Bar|  | | It's Foo
       |         |  | Foo@72967906
       |         |  Bar@5b8dfcc1
       |         false
       Bar@5b8dfcc1
{noformat}



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

Reply via email to