Sha256: 2b7e3da7b1ae1dfe15352da7231df0d381146d3b47c001749987ad0dce711107

Contents?: true

Size: 551 Bytes

Versions: 13

Compression:

Stored size: 551 Bytes

Contents

def log(x)
end

class A; end
class B; end
class C; end
class X; end
class Y; end
class Z; end

class Foo
  def f(x)
    log(self)
    X.new
  end
end

class Bar < Foo
  def f(x)
    super(C.new)
    Y.new
  end
end

class Baz < Bar
  def f(x)
    super(B.new)
    Z.new
  end
end

Baz.new.f(A.new)

__END__
# Classes
class Object
  def log : (Baz) -> nil
end

class A
end

class B
end

class C
end

class X
end

class Y
end

class Z
end

class Foo
  def f : (C) -> X
end

class Bar < Foo
  def f : (B) -> Y
end

class Baz < Bar
  def f : (A) -> Z
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
typeprof-0.7.0 smoke/super1.rb
typeprof-0.6.1 smoke/super1.rb
typeprof-0.6.0 smoke/super1.rb
typeprof-0.5.4 smoke/super1.rb
typeprof-0.5.3 smoke/super1.rb
typeprof-0.5.2 smoke/super1.rb
typeprof-0.5.1 smoke/super1.rb
typeprof-0.5.0 smoke/super1.rb
typeprof-0.4.2 smoke/super1.rb
typeprof-0.4.1 smoke/super1.rb
typeprof-0.4.0 smoke/super1.rb
typeprof-0.3.0 smoke/super1.rb
typeprof-0.2.0 smoke/super1.rb