rubybreaker 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. data/README.md +6 -6
  2. data/TUTORIAL.md +64 -34
  3. data/VERSION +1 -1
  4. data/lib/rubybreaker/debug/error.rb +7 -1
  5. data/lib/rubybreaker/runtime/monitor.rb +2 -2
  6. data/lib/rubybreaker/runtime/object_wrapper.rb +32 -1
  7. data/lib/rubybreaker/runtime/overrides.rb +31 -1
  8. data/lib/rubybreaker/runtime/type_system.rb +67 -11
  9. data/test/integrated/tc_checking.rb +35 -5
  10. data/test/integrated/tc_class_methods.rb +4 -1
  11. data/test/integrated/tc_original_behavior.rb +68 -0
  12. data/test/runtime/tc_obj_wrapper.rb +50 -4
  13. data/test/testtask/tc_testtask.rb +1 -1
  14. data/test/ts_integrated.rb +3 -1
  15. data/webpage/images/title.png +0 -0
  16. data/webpage/index.html +6 -6
  17. data/webpage/rdoc/Object.html +5 -1
  18. data/webpage/rdoc/Rake.html +5 -1
  19. data/webpage/rdoc/Rake/RubyBreakerTestTask.html +5 -1
  20. data/webpage/rdoc/RubyBreaker.html +5 -1
  21. data/webpage/rdoc/RubyBreaker/Breakable.html +5 -1
  22. data/webpage/rdoc/RubyBreaker/Broken.html +5 -1
  23. data/webpage/rdoc/RubyBreaker/Context.html +5 -1
  24. data/webpage/rdoc/RubyBreaker/Errors.html +5 -1
  25. data/webpage/rdoc/RubyBreaker/Errors/ArgumentTypeError.html +216 -0
  26. data/webpage/rdoc/RubyBreaker/Errors/{SubtypeFailure.html → ArityError.html} +7 -3
  27. data/webpage/rdoc/RubyBreaker/Errors/InternalError.html +5 -1
  28. data/webpage/rdoc/RubyBreaker/Errors/InvalidSubtypeCheck.html +5 -1
  29. data/webpage/rdoc/RubyBreaker/Errors/InvalidTypeConstruction.html +5 -1
  30. data/webpage/rdoc/RubyBreaker/Errors/ReturnTypeError.html +216 -0
  31. data/webpage/rdoc/RubyBreaker/Errors/TypeError.html +5 -1
  32. data/webpage/rdoc/RubyBreaker/Errors/UserError.html +5 -1
  33. data/webpage/rdoc/RubyBreaker/ObjectPosition.html +5 -1
  34. data/webpage/rdoc/RubyBreaker/Position.html +5 -1
  35. data/webpage/rdoc/RubyBreaker/RDocSupport.html +5 -1
  36. data/webpage/rdoc/RubyBreaker/RubyTypeUtils.html +5 -1
  37. data/webpage/rdoc/RubyBreaker/Runtime.html +10 -1
  38. data/webpage/rdoc/RubyBreaker/Runtime/Inspector.html +5 -1
  39. data/webpage/rdoc/RubyBreaker/Runtime/MethodInfo.html +5 -1
  40. data/webpage/rdoc/RubyBreaker/Runtime/Monitor.html +7 -3
  41. data/webpage/rdoc/RubyBreaker/Runtime/MonitorInstaller.html +5 -1
  42. data/webpage/rdoc/RubyBreaker/Runtime/MonitorSwitch.html +5 -1
  43. data/webpage/rdoc/RubyBreaker/Runtime/ObjectWrapper.html +37 -2
  44. data/webpage/rdoc/RubyBreaker/Runtime/Pluggable.html +5 -1
  45. data/webpage/rdoc/RubyBreaker/Runtime/TypeSigParser.html +5 -1
  46. data/webpage/rdoc/RubyBreaker/Runtime/TypeSigUnparser.html +5 -1
  47. data/webpage/rdoc/RubyBreaker/Runtime/TypeSystem.html +103 -16
  48. data/webpage/rdoc/RubyBreaker/TypeComparer.html +5 -1
  49. data/webpage/rdoc/RubyBreaker/TypeDefs.html +5 -1
  50. data/webpage/rdoc/RubyBreaker/TypeDefs/AnyType.html +5 -1
  51. data/webpage/rdoc/RubyBreaker/TypeDefs/BlockType.html +5 -1
  52. data/webpage/rdoc/RubyBreaker/TypeDefs/DuckType.html +5 -1
  53. data/webpage/rdoc/RubyBreaker/TypeDefs/FusionType.html +5 -1
  54. data/webpage/rdoc/RubyBreaker/TypeDefs/MethodListType.html +5 -1
  55. data/webpage/rdoc/RubyBreaker/TypeDefs/MethodType.html +5 -1
  56. data/webpage/rdoc/RubyBreaker/TypeDefs/NilType.html +5 -1
  57. data/webpage/rdoc/RubyBreaker/TypeDefs/NominalType.html +5 -1
  58. data/webpage/rdoc/RubyBreaker/TypeDefs/OptionalType.html +5 -1
  59. data/webpage/rdoc/RubyBreaker/TypeDefs/OrType.html +5 -1
  60. data/webpage/rdoc/RubyBreaker/TypeDefs/SelfType.html +5 -1
  61. data/webpage/rdoc/RubyBreaker/TypeDefs/Type.html +5 -1
  62. data/webpage/rdoc/RubyBreaker/TypeDefs/VarLengthType.html +5 -1
  63. data/webpage/rdoc/RubyBreaker/TypeUnparser.html +5 -1
  64. data/webpage/rdoc/RubyBreaker/Typing.html +5 -1
  65. data/webpage/rdoc/RubyBreaker/Util.html +5 -1
  66. data/webpage/rdoc/Test.html +5 -1
  67. data/webpage/rdoc/Test/Unit.html +5 -1
  68. data/webpage/rdoc/created.rid +8 -8
  69. data/webpage/rdoc/index.html +5 -1
  70. data/webpage/rdoc/js/search_index.js +1 -1
  71. data/webpage/rdoc/table_of_contents.html +39 -31
  72. data/webpage/tutorial.html +69 -39
  73. metadata +8 -5
@@ -37,9 +37,12 @@ class IntegratedClassMethodsTest < Test::Unit::TestCase
37
37
  assert_nothing_thrown do
38
38
  B.bar(1)
39
39
  end
40
- assert_raise Errors::TypeError do
40
+ assert_raise Errors::ArgumentTypeError do
41
41
  B.bar(:abc)
42
42
  end
43
+ assert_raise Errors::ArityError do
44
+ B.bar(1, 2)
45
+ end
43
46
  end
44
47
 
45
48
  end
@@ -0,0 +1,68 @@
1
+ require "test/unit"
2
+ require_relative "../../lib/rubybreaker"
3
+
4
+ class IntegratedOriginalBehaviorTest < Test::Unit::TestCase
5
+ include RubyBreaker
6
+
7
+ class A
8
+
9
+ def foo(x, y)
10
+ x + y.__rubybreaker_obj
11
+ end
12
+
13
+ def bar(x)
14
+ if x
15
+ 2
16
+ else
17
+ 3
18
+ end
19
+ end
20
+
21
+ def baz()
22
+ raise "error"
23
+ end
24
+
25
+ end
26
+
27
+ def setup()
28
+ RubyBreaker.break(A)
29
+ end
30
+
31
+ def test_plus()
32
+ a = A.new
33
+ x = 1
34
+ y = 2
35
+ z = a.foo(x, y)
36
+ assert_equal(3, z)
37
+ x = "1"
38
+ y = "2"
39
+ z = a.foo(x, y)
40
+ assert_equal("12",z)
41
+ end
42
+
43
+ def test_boolean()
44
+ a = A.new
45
+ x = true
46
+ y = a.bar(x)
47
+ assert_equal(2, y)
48
+ x = false
49
+ y = a.bar(x)
50
+ assert_equal(3, y)
51
+ end
52
+
53
+ def test_nil()
54
+ a = A.new
55
+ x = nil
56
+ y = a.bar(x)
57
+ assert_equal(3, y)
58
+ end
59
+
60
+ def test_error()
61
+ a = A.new
62
+ assert_raise RuntimeError do
63
+ a.baz()
64
+ end
65
+ end
66
+
67
+ end
68
+
@@ -26,6 +26,10 @@ class ObjectWrapperTest < Test::Unit::TestCase
26
26
  end
27
27
  end
28
28
 
29
+ def setup
30
+ Runtime::GLOBAL_MONITOR_SWITCH.turn_on()
31
+ end
32
+
29
33
  def test_empty()
30
34
  x = 42
31
35
  wrapped_x = Runtime::ObjectWrapper.new(x)
@@ -34,10 +38,6 @@ class ObjectWrapperTest < Test::Unit::TestCase
34
38
  assert_equal("fixnum[]",str)
35
39
  end
36
40
 
37
- def setup
38
- Runtime::GLOBAL_MONITOR_SWITCH.turn_on()
39
- end
40
-
41
41
  def test_foo()
42
42
  x = 42
43
43
  wrapped_x = Runtime::ObjectWrapper.new(x)
@@ -72,6 +72,52 @@ class ObjectWrapperTest < Test::Unit::TestCase
72
72
  assert_equal(x.object_id, wrapped_x.object_id)
73
73
  end
74
74
 
75
+ def test_fixnum()
76
+ x = 1
77
+ y = 2
78
+ wrapped_x = Runtime::ObjectWrapper.new(x)
79
+ z = wrapped_x + y
80
+ assert_equal(3, z)
81
+ z = y + wrapped_x
82
+ assert_equal(3, z)
83
+ z = wrapped_x - y
84
+ assert_equal(-1, z)
85
+ z = y - wrapped_x
86
+ assert_equal(1, z)
87
+ z = wrapped_x * y
88
+ assert_equal(2, z)
89
+ z = y * wrapped_x
90
+ assert_equal(2, z)
91
+ end
92
+
93
+ def test_float()
94
+ x = 1.0
95
+ y = 2.0
96
+ wrapped_x = Runtime::ObjectWrapper.new(x)
97
+ z = wrapped_x + y
98
+ assert_equal(3, z)
99
+ z = y + wrapped_x
100
+ assert_equal(3, z)
101
+ z = wrapped_x - y
102
+ assert_equal(-1, z)
103
+ z = y - wrapped_x
104
+ assert_equal(1, z)
105
+ z = wrapped_x * y
106
+ assert_equal(2, z)
107
+ z = y * wrapped_x
108
+ assert_equal(2, z)
109
+ end
110
+
111
+ def test_string()
112
+ x = "1"
113
+ y = "2"
114
+ wrapped_x = Runtime::ObjectWrapper.new(x)
115
+ z = wrapped_x + y
116
+ assert_equal("12", z)
117
+ z = y + wrapped_x
118
+ assert_equal("21", z)
119
+ end
120
+
75
121
  def test_equalities_fixnum()
76
122
  x = 42
77
123
  wrapped_x = Runtime::ObjectWrapper.new(x)
@@ -28,7 +28,7 @@ class RubyBreakerTestTaskTest < Test::Unit::TestCase
28
28
  assert_nothing_thrown do
29
29
  b.foo(1)
30
30
  end
31
- assert_raise Errors::TypeError do
31
+ assert_raise Errors::ArgumentTypeError do
32
32
  b.bar(:"1")
33
33
  end
34
34
  end
@@ -1,9 +1,11 @@
1
1
 
2
2
  require "test/unit"
3
- require_relative "integrated/tc_method_missing"
3
+ require_relative "integrated/tc_original_behavior"
4
4
  require_relative "integrated/tc_simple1"
5
+ require_relative "integrated/tc_method_missing"
5
6
  require_relative "integrated/tc_inherit_broken"
6
7
  require_relative "integrated/tc_class_methods"
7
8
  require_relative "integrated/tc_both_documented_and_undocumented"
8
9
  require_relative "integrated/tc_namespace"
9
10
  require_relative "integrated/tc_checking"
11
+
Binary file
data/webpage/index.html CHANGED
@@ -23,11 +23,11 @@
23
23
  <p>RubyBreaker is a dynamic type documentation tool written in pure Ruby. It
24
24
  provides the framework for dynamically instrumenting a Ruby program to
25
25
  monitor objects during the execution and document the observed type
26
- information. In other words, RubyBreaker "breaks" Ruby code out of its
27
- obscurity and wildness (as in "code breaking" or "horse breaking") by
28
- auto-documenting type information. The type documentation generated by
29
- RubyBreaker is also an executable Ruby code that can be used as an input to
30
- subsequent analyses.</p>
26
+ information. In addition, it can perform early dynamic type checking.
27
+ In other words, RubyBreaker helps Ruby programs "break" out of obscurities
28
+ and convolutions by documenting the type information. The type
29
+ documentation generated by RubyBreaker is also an executable Ruby code that
30
+ can be used as an input to subsequent analyses.</p>
31
31
 
32
32
  <p>The primary goal of RubyBreaker is to assign a type signature to every
33
33
  method in selected modules and classes. A type signature is written in the
@@ -36,7 +36,7 @@ used in Ruby Core Library Doc. No manual code change is required. Overall,
36
36
  this tool should help Ruby programmers document their code more rigorously
37
37
  and effectively.</p>
38
38
 
39
- <p>Currently, RubyBreaker <em>cannot</em></p>
39
+ <p>Currently, RubyBreaker <em>does not</em></p>
40
40
 
41
41
  <ul>
42
42
  <li>Auto-document block arguments (inherent)</li>
@@ -84,13 +84,17 @@
84
84
 
85
85
  <li><a href="./RubyBreaker/Errors.html">RubyBreaker::Errors</a>
86
86
 
87
+ <li><a href="./RubyBreaker/Errors/ArgumentTypeError.html">RubyBreaker::Errors::ArgumentTypeError</a>
88
+
89
+ <li><a href="./RubyBreaker/Errors/ArityError.html">RubyBreaker::Errors::ArityError</a>
90
+
87
91
  <li><a href="./RubyBreaker/Errors/InternalError.html">RubyBreaker::Errors::InternalError</a>
88
92
 
89
93
  <li><a href="./RubyBreaker/Errors/InvalidSubtypeCheck.html">RubyBreaker::Errors::InvalidSubtypeCheck</a>
90
94
 
91
95
  <li><a href="./RubyBreaker/Errors/InvalidTypeConstruction.html">RubyBreaker::Errors::InvalidTypeConstruction</a>
92
96
 
93
- <li><a href="./RubyBreaker/Errors/SubtypeFailure.html">RubyBreaker::Errors::SubtypeFailure</a>
97
+ <li><a href="./RubyBreaker/Errors/ReturnTypeError.html">RubyBreaker::Errors::ReturnTypeError</a>
94
98
 
95
99
  <li><a href="./RubyBreaker/Errors/TypeError.html">RubyBreaker::Errors::TypeError</a>
96
100
 
@@ -78,13 +78,17 @@
78
78
 
79
79
  <li><a href="./RubyBreaker/Errors.html">RubyBreaker::Errors</a>
80
80
 
81
+ <li><a href="./RubyBreaker/Errors/ArgumentTypeError.html">RubyBreaker::Errors::ArgumentTypeError</a>
82
+
83
+ <li><a href="./RubyBreaker/Errors/ArityError.html">RubyBreaker::Errors::ArityError</a>
84
+
81
85
  <li><a href="./RubyBreaker/Errors/InternalError.html">RubyBreaker::Errors::InternalError</a>
82
86
 
83
87
  <li><a href="./RubyBreaker/Errors/InvalidSubtypeCheck.html">RubyBreaker::Errors::InvalidSubtypeCheck</a>
84
88
 
85
89
  <li><a href="./RubyBreaker/Errors/InvalidTypeConstruction.html">RubyBreaker::Errors::InvalidTypeConstruction</a>
86
90
 
87
- <li><a href="./RubyBreaker/Errors/SubtypeFailure.html">RubyBreaker::Errors::SubtypeFailure</a>
91
+ <li><a href="./RubyBreaker/Errors/ReturnTypeError.html">RubyBreaker::Errors::ReturnTypeError</a>
88
92
 
89
93
  <li><a href="./RubyBreaker/Errors/TypeError.html">RubyBreaker::Errors::TypeError</a>
90
94
 
@@ -98,13 +98,17 @@
98
98
 
99
99
  <li><a href="../RubyBreaker/Errors.html">RubyBreaker::Errors</a>
100
100
 
101
+ <li><a href="../RubyBreaker/Errors/ArgumentTypeError.html">RubyBreaker::Errors::ArgumentTypeError</a>
102
+
103
+ <li><a href="../RubyBreaker/Errors/ArityError.html">RubyBreaker::Errors::ArityError</a>
104
+
101
105
  <li><a href="../RubyBreaker/Errors/InternalError.html">RubyBreaker::Errors::InternalError</a>
102
106
 
103
107
  <li><a href="../RubyBreaker/Errors/InvalidSubtypeCheck.html">RubyBreaker::Errors::InvalidSubtypeCheck</a>
104
108
 
105
109
  <li><a href="../RubyBreaker/Errors/InvalidTypeConstruction.html">RubyBreaker::Errors::InvalidTypeConstruction</a>
106
110
 
107
- <li><a href="../RubyBreaker/Errors/SubtypeFailure.html">RubyBreaker::Errors::SubtypeFailure</a>
111
+ <li><a href="../RubyBreaker/Errors/ReturnTypeError.html">RubyBreaker::Errors::ReturnTypeError</a>
108
112
 
109
113
  <li><a href="../RubyBreaker/Errors/TypeError.html">RubyBreaker::Errors::TypeError</a>
110
114
 
@@ -140,13 +140,17 @@
140
140
 
141
141
  <li><a href="./RubyBreaker/Errors.html">RubyBreaker::Errors</a>
142
142
 
143
+ <li><a href="./RubyBreaker/Errors/ArgumentTypeError.html">RubyBreaker::Errors::ArgumentTypeError</a>
144
+
145
+ <li><a href="./RubyBreaker/Errors/ArityError.html">RubyBreaker::Errors::ArityError</a>
146
+
143
147
  <li><a href="./RubyBreaker/Errors/InternalError.html">RubyBreaker::Errors::InternalError</a>
144
148
 
145
149
  <li><a href="./RubyBreaker/Errors/InvalidSubtypeCheck.html">RubyBreaker::Errors::InvalidSubtypeCheck</a>
146
150
 
147
151
  <li><a href="./RubyBreaker/Errors/InvalidTypeConstruction.html">RubyBreaker::Errors::InvalidTypeConstruction</a>
148
152
 
149
- <li><a href="./RubyBreaker/Errors/SubtypeFailure.html">RubyBreaker::Errors::SubtypeFailure</a>
153
+ <li><a href="./RubyBreaker/Errors/ReturnTypeError.html">RubyBreaker::Errors::ReturnTypeError</a>
150
154
 
151
155
  <li><a href="./RubyBreaker/Errors/TypeError.html">RubyBreaker::Errors::TypeError</a>
152
156
 
@@ -88,13 +88,17 @@
88
88
 
89
89
  <li><a href="../RubyBreaker/Errors.html">RubyBreaker::Errors</a>
90
90
 
91
+ <li><a href="../RubyBreaker/Errors/ArgumentTypeError.html">RubyBreaker::Errors::ArgumentTypeError</a>
92
+
93
+ <li><a href="../RubyBreaker/Errors/ArityError.html">RubyBreaker::Errors::ArityError</a>
94
+
91
95
  <li><a href="../RubyBreaker/Errors/InternalError.html">RubyBreaker::Errors::InternalError</a>
92
96
 
93
97
  <li><a href="../RubyBreaker/Errors/InvalidSubtypeCheck.html">RubyBreaker::Errors::InvalidSubtypeCheck</a>
94
98
 
95
99
  <li><a href="../RubyBreaker/Errors/InvalidTypeConstruction.html">RubyBreaker::Errors::InvalidTypeConstruction</a>
96
100
 
97
- <li><a href="../RubyBreaker/Errors/SubtypeFailure.html">RubyBreaker::Errors::SubtypeFailure</a>
101
+ <li><a href="../RubyBreaker/Errors/ReturnTypeError.html">RubyBreaker::Errors::ReturnTypeError</a>
98
102
 
99
103
  <li><a href="../RubyBreaker/Errors/TypeError.html">RubyBreaker::Errors::TypeError</a>
100
104
 
@@ -88,13 +88,17 @@
88
88
 
89
89
  <li><a href="../RubyBreaker/Errors.html">RubyBreaker::Errors</a>
90
90
 
91
+ <li><a href="../RubyBreaker/Errors/ArgumentTypeError.html">RubyBreaker::Errors::ArgumentTypeError</a>
92
+
93
+ <li><a href="../RubyBreaker/Errors/ArityError.html">RubyBreaker::Errors::ArityError</a>
94
+
91
95
  <li><a href="../RubyBreaker/Errors/InternalError.html">RubyBreaker::Errors::InternalError</a>
92
96
 
93
97
  <li><a href="../RubyBreaker/Errors/InvalidSubtypeCheck.html">RubyBreaker::Errors::InvalidSubtypeCheck</a>
94
98
 
95
99
  <li><a href="../RubyBreaker/Errors/InvalidTypeConstruction.html">RubyBreaker::Errors::InvalidTypeConstruction</a>
96
100
 
97
- <li><a href="../RubyBreaker/Errors/SubtypeFailure.html">RubyBreaker::Errors::SubtypeFailure</a>
101
+ <li><a href="../RubyBreaker/Errors/ReturnTypeError.html">RubyBreaker::Errors::ReturnTypeError</a>
98
102
 
99
103
  <li><a href="../RubyBreaker/Errors/TypeError.html">RubyBreaker::Errors::TypeError</a>
100
104
 
@@ -100,13 +100,17 @@
100
100
 
101
101
  <li><a href="../RubyBreaker/Errors.html">RubyBreaker::Errors</a>
102
102
 
103
+ <li><a href="../RubyBreaker/Errors/ArgumentTypeError.html">RubyBreaker::Errors::ArgumentTypeError</a>
104
+
105
+ <li><a href="../RubyBreaker/Errors/ArityError.html">RubyBreaker::Errors::ArityError</a>
106
+
103
107
  <li><a href="../RubyBreaker/Errors/InternalError.html">RubyBreaker::Errors::InternalError</a>
104
108
 
105
109
  <li><a href="../RubyBreaker/Errors/InvalidSubtypeCheck.html">RubyBreaker::Errors::InvalidSubtypeCheck</a>
106
110
 
107
111
  <li><a href="../RubyBreaker/Errors/InvalidTypeConstruction.html">RubyBreaker::Errors::InvalidTypeConstruction</a>
108
112
 
109
- <li><a href="../RubyBreaker/Errors/SubtypeFailure.html">RubyBreaker::Errors::SubtypeFailure</a>
113
+ <li><a href="../RubyBreaker/Errors/ReturnTypeError.html">RubyBreaker::Errors::ReturnTypeError</a>
110
114
 
111
115
  <li><a href="../RubyBreaker/Errors/TypeError.html">RubyBreaker::Errors::TypeError</a>
112
116
 
@@ -78,13 +78,17 @@
78
78
 
79
79
  <li><a href="../RubyBreaker/Errors.html">RubyBreaker::Errors</a>
80
80
 
81
+ <li><a href="../RubyBreaker/Errors/ArgumentTypeError.html">RubyBreaker::Errors::ArgumentTypeError</a>
82
+
83
+ <li><a href="../RubyBreaker/Errors/ArityError.html">RubyBreaker::Errors::ArityError</a>
84
+
81
85
  <li><a href="../RubyBreaker/Errors/InternalError.html">RubyBreaker::Errors::InternalError</a>
82
86
 
83
87
  <li><a href="../RubyBreaker/Errors/InvalidSubtypeCheck.html">RubyBreaker::Errors::InvalidSubtypeCheck</a>
84
88
 
85
89
  <li><a href="../RubyBreaker/Errors/InvalidTypeConstruction.html">RubyBreaker::Errors::InvalidTypeConstruction</a>
86
90
 
87
- <li><a href="../RubyBreaker/Errors/SubtypeFailure.html">RubyBreaker::Errors::SubtypeFailure</a>
91
+ <li><a href="../RubyBreaker/Errors/ReturnTypeError.html">RubyBreaker::Errors::ReturnTypeError</a>
88
92
 
89
93
  <li><a href="../RubyBreaker/Errors/TypeError.html">RubyBreaker::Errors::TypeError</a>
90
94
 
@@ -0,0 +1,216 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
+
7
+ <title>class RubyBreaker::Errors::ArgumentTypeError - RDoc Documentation</title>
8
+
9
+ <link type="text/css" media="screen" href="../../rdoc.css" rel="stylesheet">
10
+
11
+ <script type="text/javascript">
12
+ var rdoc_rel_prefix = "../../";
13
+ </script>
14
+
15
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
16
+ <script type="text/javascript" charset="utf-8" src="../../js/navigation.js"></script>
17
+ <script type="text/javascript" charset="utf-8" src="../../js/search_index.js"></script>
18
+ <script type="text/javascript" charset="utf-8" src="../../js/search.js"></script>
19
+ <script type="text/javascript" charset="utf-8" src="../../js/searcher.js"></script>
20
+ <script type="text/javascript" charset="utf-8" src="../../js/darkfish.js"></script>
21
+
22
+
23
+ <body id="top" class="class">
24
+ <nav id="metadata">
25
+ <nav id="home-section" class="section">
26
+ <h3 class="section-header">
27
+ <a href="../../index.html">Home</a>
28
+ <a href="../../table_of_contents.html#classes">Classes</a>
29
+ <a href="../../table_of_contents.html#methods">Methods</a>
30
+ </h3>
31
+ </nav>
32
+
33
+
34
+ <nav id="search-section" class="section project-section" class="initially-hidden">
35
+ <form action="#" method="get" accept-charset="utf-8">
36
+ <h3 class="section-header">
37
+ <input type="text" name="search" placeholder="Search" id="search-field"
38
+ title="Type to search, Up and Down to navigate, Enter to load">
39
+ </h3>
40
+ </form>
41
+
42
+ <ul id="search-results" class="initially-hidden"></ul>
43
+ </nav>
44
+
45
+
46
+ <div id="file-metadata">
47
+ <nav id="file-list-section" class="section">
48
+ <h3 class="section-header">Defined In</h3>
49
+ <ul>
50
+ <li>lib/rubybreaker/debug/error.rb
51
+ </ul>
52
+ </nav>
53
+
54
+
55
+ </div>
56
+
57
+ <div id="class-metadata">
58
+
59
+ <nav id="parent-class-section" class="section">
60
+ <h3 class="section-header">Parent</h3>
61
+
62
+ <p class="link"><a href="TypeError.html">RubyBreaker::Errors::TypeError</a>
63
+
64
+ </nav>
65
+
66
+
67
+
68
+ </div>
69
+
70
+ <div id="project-metadata">
71
+
72
+ <nav id="classindex-section" class="section project-section">
73
+ <h3 class="section-header">Class and Module Index</h3>
74
+
75
+ <ul class="link-list">
76
+
77
+ <li><a href="../../RubyBreaker.html">RubyBreaker</a>
78
+
79
+ <li><a href="../../RubyBreaker/Breakable.html">RubyBreaker::Breakable</a>
80
+
81
+ <li><a href="../../RubyBreaker/Broken.html">RubyBreaker::Broken</a>
82
+
83
+ <li><a href="../../RubyBreaker/Context.html">RubyBreaker::Context</a>
84
+
85
+ <li><a href="../../RubyBreaker/Errors.html">RubyBreaker::Errors</a>
86
+
87
+ <li><a href="../../RubyBreaker/Errors/ArgumentTypeError.html">RubyBreaker::Errors::ArgumentTypeError</a>
88
+
89
+ <li><a href="../../RubyBreaker/Errors/ArityError.html">RubyBreaker::Errors::ArityError</a>
90
+
91
+ <li><a href="../../RubyBreaker/Errors/InternalError.html">RubyBreaker::Errors::InternalError</a>
92
+
93
+ <li><a href="../../RubyBreaker/Errors/InvalidSubtypeCheck.html">RubyBreaker::Errors::InvalidSubtypeCheck</a>
94
+
95
+ <li><a href="../../RubyBreaker/Errors/InvalidTypeConstruction.html">RubyBreaker::Errors::InvalidTypeConstruction</a>
96
+
97
+ <li><a href="../../RubyBreaker/Errors/ReturnTypeError.html">RubyBreaker::Errors::ReturnTypeError</a>
98
+
99
+ <li><a href="../../RubyBreaker/Errors/TypeError.html">RubyBreaker::Errors::TypeError</a>
100
+
101
+ <li><a href="../../RubyBreaker/Errors/UserError.html">RubyBreaker::Errors::UserError</a>
102
+
103
+ <li><a href="../../RubyBreaker/ObjectPosition.html">RubyBreaker::ObjectPosition</a>
104
+
105
+ <li><a href="../../RubyBreaker/Position.html">RubyBreaker::Position</a>
106
+
107
+ <li><a href="../../RubyBreaker/RDocSupport.html">RubyBreaker::RDocSupport</a>
108
+
109
+ <li><a href="../../RubyBreaker/RubyTypeUtils.html">RubyBreaker::RubyTypeUtils</a>
110
+
111
+ <li><a href="../../RubyBreaker/Runtime.html">RubyBreaker::Runtime</a>
112
+
113
+ <li><a href="../../RubyBreaker/Runtime/Inspector.html">RubyBreaker::Runtime::Inspector</a>
114
+
115
+ <li><a href="../../RubyBreaker/Runtime/MethodInfo.html">RubyBreaker::Runtime::MethodInfo</a>
116
+
117
+ <li><a href="../../RubyBreaker/Runtime/Monitor.html">RubyBreaker::Runtime::Monitor</a>
118
+
119
+ <li><a href="../../RubyBreaker/Runtime/MonitorInstaller.html">RubyBreaker::Runtime::MonitorInstaller</a>
120
+
121
+ <li><a href="../../RubyBreaker/Runtime/MonitorSwitch.html">RubyBreaker::Runtime::MonitorSwitch</a>
122
+
123
+ <li><a href="../../RubyBreaker/Runtime/ObjectWrapper.html">RubyBreaker::Runtime::ObjectWrapper</a>
124
+
125
+ <li><a href="../../RubyBreaker/Runtime/Pluggable.html">RubyBreaker::Runtime::Pluggable</a>
126
+
127
+ <li><a href="../../RubyBreaker/Runtime/TypeSigParser.html">RubyBreaker::Runtime::TypeSigParser</a>
128
+
129
+ <li><a href="../../RubyBreaker/Runtime/TypeSigUnparser.html">RubyBreaker::Runtime::TypeSigUnparser</a>
130
+
131
+ <li><a href="../../RubyBreaker/Runtime/TypeSystem.html">RubyBreaker::Runtime::TypeSystem</a>
132
+
133
+ <li><a href="../../RubyBreaker/TypeComparer.html">RubyBreaker::TypeComparer</a>
134
+
135
+ <li><a href="../../RubyBreaker/TypeDefs.html">RubyBreaker::TypeDefs</a>
136
+
137
+ <li><a href="../../RubyBreaker/TypeDefs/AnyType.html">RubyBreaker::TypeDefs::AnyType</a>
138
+
139
+ <li><a href="../../RubyBreaker/TypeDefs/BlockType.html">RubyBreaker::TypeDefs::BlockType</a>
140
+
141
+ <li><a href="../../RubyBreaker/TypeDefs/DuckType.html">RubyBreaker::TypeDefs::DuckType</a>
142
+
143
+ <li><a href="../../RubyBreaker/TypeDefs/FusionType.html">RubyBreaker::TypeDefs::FusionType</a>
144
+
145
+ <li><a href="../../RubyBreaker/TypeDefs/MethodListType.html">RubyBreaker::TypeDefs::MethodListType</a>
146
+
147
+ <li><a href="../../RubyBreaker/TypeDefs/MethodType.html">RubyBreaker::TypeDefs::MethodType</a>
148
+
149
+ <li><a href="../../RubyBreaker/TypeDefs/NilType.html">RubyBreaker::TypeDefs::NilType</a>
150
+
151
+ <li><a href="../../RubyBreaker/TypeDefs/NominalType.html">RubyBreaker::TypeDefs::NominalType</a>
152
+
153
+ <li><a href="../../RubyBreaker/TypeDefs/OptionalType.html">RubyBreaker::TypeDefs::OptionalType</a>
154
+
155
+ <li><a href="../../RubyBreaker/TypeDefs/OrType.html">RubyBreaker::TypeDefs::OrType</a>
156
+
157
+ <li><a href="../../RubyBreaker/TypeDefs/SelfType.html">RubyBreaker::TypeDefs::SelfType</a>
158
+
159
+ <li><a href="../../RubyBreaker/TypeDefs/Type.html">RubyBreaker::TypeDefs::Type</a>
160
+
161
+ <li><a href="../../RubyBreaker/TypeDefs/VarLengthType.html">RubyBreaker::TypeDefs::VarLengthType</a>
162
+
163
+ <li><a href="../../RubyBreaker/TypeUnparser.html">RubyBreaker::TypeUnparser</a>
164
+
165
+ <li><a href="../../RubyBreaker/Typing.html">RubyBreaker::Typing</a>
166
+
167
+ <li><a href="../../RubyBreaker/Util.html">RubyBreaker::Util</a>
168
+
169
+ <li><a href="../../Rake.html">Rake</a>
170
+
171
+ <li><a href="../../Rake/RubyBreakerTestTask.html">Rake::RubyBreakerTestTask</a>
172
+
173
+ <li><a href="../../Test.html">Test</a>
174
+
175
+ <li><a href="../../Test/Unit.html">Test::Unit</a>
176
+
177
+ <li><a href="../../Object.html">Object</a>
178
+
179
+ </ul>
180
+ </nav>
181
+
182
+ </div>
183
+ </nav>
184
+
185
+ <div id="documentation">
186
+ <h1 class="class">class RubyBreaker::Errors::ArgumentTypeError</h1>
187
+
188
+ <div id="description" class="description">
189
+
190
+ </div><!-- description -->
191
+
192
+
193
+
194
+
195
+ <section id="5Buntitled-5D" class="documentation-section">
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+
204
+ <!-- Methods -->
205
+
206
+ </section><!-- 5Buntitled-5D -->
207
+
208
+ </div><!-- documentation -->
209
+
210
+
211
+ <footer id="validator-badges">
212
+ <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
213
+ <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
214
+ <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
215
+ </footer>
216
+