class Foo1 {
  def int foo () {}
}

class Foo2 extends Foo1 implements Bar1{
  def int foo () {}
}

class Foo3 {
  def int foo () {}
}

class Foo4 extends Foo3 implements Bar2{
  def int foo () {}
}

interface Bar1 {
  def int foo ()
}

interface Bar2 extends Bar1 {
  def int foo ()
}

interface Bar3 extends Bar2, Bar1 {
  def int foo ()
}

interface Bar4 {
  def int foo ()
}

class A extends Foo4 implements Bar3, Bar4 {
  def int foo () {}
}
-----
Class definition: Foo3; HierarchicalMethodSignatureImpl: foo([])
Interface definition: Bar1; HierarchicalMethodSignatureImpl: foo([])
Interface definition: Bar4; HierarchicalMethodSignatureImpl: foo([])