Sha256: 686faca1e03616dc8a0f06bd0cae950c206cf6ffb45834f5a9a456d10963121d

Contents?: true

Size: 1.08 KB

Versions: 11

Compression:

Stored size: 1.08 KB

Contents

def foo(x)
  if x
    42
  else
    "str"
  end
end

foo(true)
foo(false)

# Object#foo :: (Boolean) -> (String | Integer)


# overrided method
def identity(x)
  x
end

identity(42)
identity("str")
identity(:sym)

# Object#identity :: (Integer) -> Integer
# Object#identity :: (String) -> String
# Object#identity :: (Symbol) -> Symbol


# recursive method
def fib(x)
  if x <= 1
    x
  else
    fib(x - 1) + fib(x - 2)
  end
end

fib(40000)

# Object#fib :: (Integer) -> Integer


# user-defined classes
class A
  def foo(x)
    bar(x)
  end

  def bar(x)
  end
end

class B < A
  def bar(x)
  end
end
A.new.foo(1)
B.new.foo("str")

# A#foo :: (Integer) -> NilClass
# A#bar :: (Integer) -> NilClass
# B#foo :: (String) -> NilClass
# B#bar :: (String) -> NilClass

__END__
# Classes
class Object
  private
  def foo: (bool x) -> (Integer | String)
  def identity: (:sym | Integer | String x) -> (:sym | Integer | String)
  def fib: (Integer x) -> Integer
end

class A
  def foo: (Integer | String x) -> nil
  def bar: (Integer | String x) -> nil
end

class B < A
  def bar: (Integer | String x) -> nil
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
typeprof-0.20.0 smoke/demo.rb
typeprof-0.15.3 smoke/demo.rb
typeprof-0.15.2 smoke/demo.rb
typeprof-0.15.1 smoke/demo.rb
typeprof-0.15.0 smoke/demo.rb
typeprof-0.14.1 smoke/demo.rb
typeprof-0.14.0 smoke/demo.rb
typeprof-0.13.0 smoke/demo.rb
typeprof-0.12.0 smoke/demo.rb
typeprof-0.11.0 smoke/demo.rb
typeprof-0.10.0 smoke/demo.rb