rubybreaker 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. data/NEWS +4 -0
  2. data/README.md +33 -19
  3. data/Rakefile +31 -13
  4. data/TODO +6 -4
  5. data/VERSION +1 -1
  6. data/bin/rubybreaker +0 -1
  7. data/lib/rubybreaker/debug/debug.rb +1 -1
  8. data/lib/rubybreaker/runtime/typesig_unparser.rb +96 -0
  9. data/lib/rubybreaker/runtime.rb +1 -0
  10. data/lib/rubybreaker/test/rspec.rb +15 -0
  11. data/lib/rubybreaker/test/testcase.rb +4 -4
  12. data/lib/rubybreaker/test.rb +1 -0
  13. data/lib/rubybreaker/type/type_grammar.treetop +5 -4
  14. data/lib/rubybreaker/type/type_unparser.rb +69 -25
  15. data/lib/rubybreaker.rb +9 -77
  16. data/test/integrated/tc_namespace.rb +56 -0
  17. data/test/ts_integrated.rb +1 -0
  18. data/test/ts_rspec.rb +31 -0
  19. data/test/ts_type.rb +2 -0
  20. data/test/type/tc_camelize.rb +24 -0
  21. data/test/type/tc_namespace.rb +25 -0
  22. data/test/type/tc_unparser.rb +31 -32
  23. data/webpage/index.html +34 -19
  24. data/webpage/rdoc/Object.html +308 -0
  25. data/webpage/rdoc/RubyBreaker/Breakable.html +5 -1
  26. data/webpage/rdoc/RubyBreaker/Broken/BrokenEigen.html +5 -1
  27. data/webpage/rdoc/RubyBreaker/Broken.html +5 -1
  28. data/webpage/rdoc/RubyBreaker/Context.html +5 -1
  29. data/webpage/rdoc/RubyBreaker/Errors/InternalError.html +4 -0
  30. data/webpage/rdoc/RubyBreaker/Errors/InvalidSubtypeCheck.html +4 -0
  31. data/webpage/rdoc/RubyBreaker/Errors/InvalidTypeConstruction.html +4 -0
  32. data/webpage/rdoc/RubyBreaker/Errors/SubtypeFailure.html +4 -0
  33. data/webpage/rdoc/RubyBreaker/Errors/TypeError.html +4 -0
  34. data/webpage/rdoc/RubyBreaker/Errors/UserError.html +4 -0
  35. data/webpage/rdoc/RubyBreaker/Errors.html +4 -0
  36. data/webpage/rdoc/RubyBreaker/Main.html +17 -132
  37. data/webpage/rdoc/RubyBreaker/ObjectPosition.html +5 -1
  38. data/webpage/rdoc/RubyBreaker/Position.html +5 -1
  39. data/webpage/rdoc/RubyBreaker/RubyTypeUtils.html +4 -0
  40. data/webpage/rdoc/RubyBreaker/Runtime/Inspector.html +4 -0
  41. data/webpage/rdoc/RubyBreaker/Runtime/MethodInfo.html +5 -1
  42. data/webpage/rdoc/RubyBreaker/Runtime/Monitor.html +5 -1
  43. data/webpage/rdoc/RubyBreaker/Runtime/MonitorInstaller.html +4 -0
  44. data/webpage/rdoc/RubyBreaker/Runtime/MonitorSwitch.html +5 -1
  45. data/webpage/rdoc/RubyBreaker/Runtime/MonitorUtils.html +4 -0
  46. data/webpage/rdoc/RubyBreaker/Runtime/ObjectWrapper.html +4 -0
  47. data/webpage/rdoc/RubyBreaker/Runtime/Pluggable.html +4 -0
  48. data/webpage/rdoc/RubyBreaker/Runtime/TypePlaceholder.html +5 -1
  49. data/webpage/rdoc/RubyBreaker/Runtime/TypeSigParser.html +4 -0
  50. data/webpage/rdoc/RubyBreaker/Runtime/TypeSystem.html +5 -1
  51. data/webpage/rdoc/RubyBreaker/Runtime/TypesigUnparser.html +404 -0
  52. data/webpage/rdoc/RubyBreaker/Runtime.html +5 -0
  53. data/webpage/rdoc/RubyBreaker/TestCase.html +47 -43
  54. data/webpage/rdoc/RubyBreaker/TypeComparer.html +4 -0
  55. data/webpage/rdoc/RubyBreaker/TypeDefs/AnyType.html +4 -0
  56. data/webpage/rdoc/RubyBreaker/TypeDefs/BlockType.html +4 -0
  57. data/webpage/rdoc/RubyBreaker/TypeDefs/DuckType.html +4 -0
  58. data/webpage/rdoc/RubyBreaker/TypeDefs/FusionType.html +4 -0
  59. data/webpage/rdoc/RubyBreaker/TypeDefs/MethodListType.html +4 -0
  60. data/webpage/rdoc/RubyBreaker/TypeDefs/MethodType.html +4 -0
  61. data/webpage/rdoc/RubyBreaker/TypeDefs/NilType.html +4 -0
  62. data/webpage/rdoc/RubyBreaker/TypeDefs/NominalType.html +4 -0
  63. data/webpage/rdoc/RubyBreaker/TypeDefs/OptionalType.html +4 -0
  64. data/webpage/rdoc/RubyBreaker/TypeDefs/OrType.html +4 -0
  65. data/webpage/rdoc/RubyBreaker/TypeDefs/SelfType.html +4 -0
  66. data/webpage/rdoc/RubyBreaker/TypeDefs/Type.html +11 -6
  67. data/webpage/rdoc/RubyBreaker/TypeDefs/VarLengthType.html +4 -0
  68. data/webpage/rdoc/RubyBreaker/TypeDefs.html +4 -0
  69. data/webpage/rdoc/RubyBreaker/TypeUnparser.html +15 -7
  70. data/webpage/rdoc/RubyBreaker/Typing.html +4 -0
  71. data/webpage/rdoc/RubyBreaker/Util.html +4 -0
  72. data/webpage/rdoc/RubyBreaker.html +6 -6
  73. data/webpage/rdoc/created.rid +9 -7
  74. data/webpage/rdoc/index.html +4 -0
  75. data/webpage/rdoc/js/search_index.js +1 -1
  76. data/webpage/rdoc/table_of_contents.html +36 -24
  77. metadata +13 -7
@@ -1 +1 @@
1
- var search_data = {"index":{"searchIndex":["rubybreaker","breakable","broken","brokeneigen","context","errors","internalerror","invalidsubtypecheck","invalidtypeconstruction","subtypefailure","typeerror","usererror","main","objectposition","position","rubytypeutils","runtime","inspector","methodinfo","monitor","monitorinstaller","monitorswitch","monitorutils","objectwrapper","pluggable","typeplaceholder","typesigparser","typesystem","testcase","typecomparer","typedefs","anytype","blocktype","ducktype","fusiontype","methodlisttype","methodtype","niltype","nominaltype","optionaltype","ortype","selftype","type","varlengthtype","typeunparser","typing","util","__rubybreaker_obj()","__rubybreaker_type()","add_meth()","after_method()","after_method_call()","before_method()","before_method_call()","camelize()","compare()","convert_caller_to_pos()","eql?()","error()","format_with_msg()","get()","get_alt_meth_name()","get_orig_meth_name()","get_self()","included()","included()","included()","input()","inspect_all()","inspect_class_meth()","inspect_meth()","inspect_meths()","install_module_monitor()","is_module?()","is_object_wrapped?()","log()","lub()","lub_helper()","method_missing()","mod()","monitor()","monitor_after_method()","monitor_before_method()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","output()","parse()","pop()","pp_methods()","pp_module()","push()","rename_meth()","respond_to?()","route()","run()","set()","set_self()","set_to()","setup()","setup()","subclass_rel?()","submodule_rel?()","subtype_of?()","subtype_rel?()","teardown()","to_s()","to_s()","turn_off()","turn_on()","typesig()","underscore()","unparse()","unparse()","verbose()"],"longSearchIndex":["rubybreaker","rubybreaker::breakable","rubybreaker::broken","rubybreaker::broken::brokeneigen","rubybreaker::context","rubybreaker::errors","rubybreaker::errors::internalerror","rubybreaker::errors::invalidsubtypecheck","rubybreaker::errors::invalidtypeconstruction","rubybreaker::errors::subtypefailure","rubybreaker::errors::typeerror","rubybreaker::errors::usererror","rubybreaker::main","rubybreaker::objectposition","rubybreaker::position","rubybreaker::rubytypeutils","rubybreaker::runtime","rubybreaker::runtime::inspector","rubybreaker::runtime::methodinfo","rubybreaker::runtime::monitor","rubybreaker::runtime::monitorinstaller","rubybreaker::runtime::monitorswitch","rubybreaker::runtime::monitorutils","rubybreaker::runtime::objectwrapper","rubybreaker::runtime::pluggable","rubybreaker::runtime::typeplaceholder","rubybreaker::runtime::typesigparser","rubybreaker::runtime::typesystem","rubybreaker::testcase","rubybreaker::typecomparer","rubybreaker::typedefs","rubybreaker::typedefs::anytype","rubybreaker::typedefs::blocktype","rubybreaker::typedefs::ducktype","rubybreaker::typedefs::fusiontype","rubybreaker::typedefs::methodlisttype","rubybreaker::typedefs::methodtype","rubybreaker::typedefs::niltype","rubybreaker::typedefs::nominaltype","rubybreaker::typedefs::optionaltype","rubybreaker::typedefs::ortype","rubybreaker::typedefs::selftype","rubybreaker::typedefs::type","rubybreaker::typedefs::varlengthtype","rubybreaker::typeunparser","rubybreaker::typing","rubybreaker::util","rubybreaker::runtime::objectwrapper#__rubybreaker_obj()","rubybreaker::runtime::objectwrapper#__rubybreaker_type()","rubybreaker::typedefs::ducktype#add_meth()","rubybreaker::runtime::typesystem#after_method()","rubybreaker::runtime::pluggable#after_method_call()","rubybreaker::runtime::typesystem#before_method()","rubybreaker::runtime::pluggable#before_method_call()","rubybreaker::util::camelize()","rubybreaker::typecomparer::compare()","rubybreaker::position::convert_caller_to_pos()","rubybreaker::typedefs::type#eql?()","rubybreaker::error()","rubybreaker::context#format_with_msg()","rubybreaker::position::get()","rubybreaker::runtime::monitorutils::get_alt_meth_name()","rubybreaker::runtime::monitorutils::get_orig_meth_name()","rubybreaker::typedefs::selftype::get_self()","rubybreaker::breakable::included()","rubybreaker::broken::included()","rubybreaker::testcase::included()","rubybreaker::main::input()","rubybreaker::runtime::inspector::inspect_all()","rubybreaker::runtime::inspector::inspect_class_meth()","rubybreaker::runtime::inspector::inspect_meth()","rubybreaker::runtime::inspector::inspect_meths()","rubybreaker::runtime::monitorinstaller::install_module_monitor()","rubybreaker::runtime::monitorinstaller::is_module?()","rubybreaker::runtime::typesystem#is_object_wrapped?()","rubybreaker::log()","rubybreaker::runtime::typesystem#lub()","rubybreaker::runtime::typesystem#lub_helper()","rubybreaker::runtime::objectwrapper#method_missing()","rubybreaker::typedefs::fusiontype#mod()","rubybreaker::monitor()","rubybreaker::runtime::monitor#monitor_after_method()","rubybreaker::runtime::monitor#monitor_before_method()","rubybreaker::context::new()","rubybreaker::errors::internalerror::new()","rubybreaker::errors::invalidsubtypecheck::new()","rubybreaker::errors::usererror::new()","rubybreaker::objectposition::new()","rubybreaker::position::new()","rubybreaker::runtime::methodinfo::new()","rubybreaker::runtime::monitor::new()","rubybreaker::runtime::monitorswitch::new()","rubybreaker::runtime::objectwrapper::new()","rubybreaker::runtime::typeplaceholder::new()","rubybreaker::typedefs::anytype::new()","rubybreaker::typedefs::blocktype::new()","rubybreaker::typedefs::ducktype::new()","rubybreaker::typedefs::fusiontype::new()","rubybreaker::typedefs::methodlisttype::new()","rubybreaker::typedefs::methodtype::new()","rubybreaker::typedefs::niltype::new()","rubybreaker::typedefs::nominaltype::new()","rubybreaker::typedefs::optionaltype::new()","rubybreaker::typedefs::ortype::new()","rubybreaker::typedefs::selftype::new()","rubybreaker::typedefs::type::new()","rubybreaker::typedefs::varlengthtype::new()","rubybreaker::main::output()","rubybreaker::runtime::typesigparser::parse()","rubybreaker::context#pop()","rubybreaker::main::pp_methods()","rubybreaker::main::pp_module()","rubybreaker::context#push()","rubybreaker::runtime::monitorinstaller::rename_meth()","rubybreaker::runtime::objectwrapper#respond_to?()","rubybreaker::runtime::monitorutils::route()","rubybreaker::main::run()","rubybreaker::position::set()","rubybreaker::typedefs::selftype::set_self()","rubybreaker::runtime::monitorswitch#set_to()","rubybreaker::main::setup()","rubybreaker::testcase::setup()","rubybreaker::rubytypeutils::subclass_rel?()","rubybreaker::rubytypeutils::submodule_rel?()","rubybreaker::typedefs::type#subtype_of?()","rubybreaker::typing::subtype_rel?()","rubybreaker::testcase::teardown()","rubybreaker::objectposition#to_s()","rubybreaker::position#to_s()","rubybreaker::runtime::monitorswitch#turn_off()","rubybreaker::runtime::monitorswitch#turn_on()","rubybreaker::broken::brokeneigen#typesig()","rubybreaker::util::underscore()","rubybreaker::typedefs::type#unparse()","rubybreaker::typeunparser::unparse()","rubybreaker::verbose()"],"info":[["RubyBreaker","","RubyBreaker.html","","<p>-\n\n<pre>This file contains utility functions that are useful for the Runtime\nLibrary.</pre>\n<p>RubyBreaker is a dynamic …\n"],["RubyBreaker::Breakable","","RubyBreaker/Breakable.html","","<p>This module should be included in classes or modules that you want to\nmonitor during runtime. The concept …\n"],["RubyBreaker::Broken","","RubyBreaker/Broken.html","","<p>This module is included for “broken” classes.\n"],["RubyBreaker::Broken::BrokenEigen","","RubyBreaker/Broken/BrokenEigen.html","","<p>-\n\n<pre class=\"ruby\"><span class=\"ruby-constant\">This</span> <span class=\"ruby-keyword\">module</span> <span class=\"ruby-identifier\">will</span> <span class=\"ruby-identifier\">be</span> <span class=\"ruby-string\">&quot;extended&quot;</span> <span class=\"ruby-identifier\">to</span> <span class=\"ruby-identifier\">the</span> <span class=\"ruby-identifier\">eigen</span> <span class=\"ruby-keyword\">class</span> <span class=\"ruby-identifier\">of</span> <span class=\"ruby-identifier\">the</span> <span class=\"ruby-keyword\">class</span> <span class=\"ruby-identifier\">that</span> \n<span class=\"ruby-identifier\">includes</span> <span class=\"ruby-constant\">Broken</span> <span class=\"ruby-keyword\">module</span>. <span class=\"ruby-constant\">This</span> <span class=\"ruby-identifier\">allows</span> <span class=\"ruby-operator\">...</span>\n</pre>\n"],["RubyBreaker::Context","","RubyBreaker/Context.html","","<p>This class represents a context which consists of one or more positions. A\nposition can refer to a physical …\n"],["RubyBreaker::Errors","","RubyBreaker/Errors.html","","<p>This module contains errors used by RubyBreaker.\n"],["RubyBreaker::Errors::InternalError","","RubyBreaker/Errors/InternalError.html","","<p>This class is a base class for any internal errors. It should be used to\ninform the faults within the …\n"],["RubyBreaker::Errors::InvalidSubtypeCheck","","RubyBreaker/Errors/InvalidSubtypeCheck.html","","<p>This error is thrown when a subtype check is not even appropriate for two\ngiven types. It should NOT …\n"],["RubyBreaker::Errors::InvalidTypeConstruction","","RubyBreaker/Errors/InvalidTypeConstruction.html","","<p>This error is thrown when a type is constructed with invalid elements.\n"],["RubyBreaker::Errors::SubtypeFailure","","RubyBreaker/Errors/SubtypeFailure.html","",""],["RubyBreaker::Errors::TypeError","","RubyBreaker/Errors/TypeError.html","",""],["RubyBreaker::Errors::UserError","","RubyBreaker/Errors/UserError.html","","<p>This class is a base class for any user errors. Unlike internal error, it\nshould use a Context to inform …\n"],["RubyBreaker::Main","","RubyBreaker/Main.html","","<p>This module has a set of entry points to the program and misc. methods for\nrunning RubyBreaker.\n"],["RubyBreaker::ObjectPosition","","RubyBreaker/ObjectPosition.html","","<p>This class represents a position with respect to an object and the name of\na method being invoked.\n"],["RubyBreaker::Position","","RubyBreaker/Position.html","","<p>This class represents a position of the type acquired from either the type\nsignature or code during runtime. …\n"],["RubyBreaker::RubyTypeUtils","","RubyBreaker/RubyTypeUtils.html","",""],["RubyBreaker::Runtime","","RubyBreaker/Runtime.html","",""],["RubyBreaker::Runtime::Inspector","","RubyBreaker/Runtime/Inspector.html","","<p>This module inspects a Breakable module, a Broken module, or a hybrid\nmodule to fetch the type information …\n"],["RubyBreaker::Runtime::MethodInfo","","RubyBreaker/Runtime/MethodInfo.html","","<p>This class has information (and data) of the method being called. Used by\nPluggable and Monitor\n"],["RubyBreaker::Runtime::Monitor","","RubyBreaker/Runtime/Monitor.html","","<p>This class monitors method calls before and after. It simply reroutes the\nresponsibility to the appropriate …\n"],["RubyBreaker::Runtime::MonitorInstaller","","RubyBreaker/Runtime/MonitorInstaller.html","","<p>This module installs a monitor in the object.\n"],["RubyBreaker::Runtime::MonitorSwitch","","RubyBreaker/Runtime/MonitorSwitch.html","","<p>This class is a switch to turn on and off the type monitoring system. It is\nimportant to turn off the …\n"],["RubyBreaker::Runtime::MonitorUtils","","RubyBreaker/Runtime/MonitorUtils.html","","<p>This module contains helper methods for monitoring objects and modules.\n"],["RubyBreaker::Runtime::ObjectWrapper","","RubyBreaker/Runtime/ObjectWrapper.html","","<p>This class represents the shell object that wraps around another object. \nNote that it is a subclass …\n"],["RubyBreaker::Runtime::Pluggable","","RubyBreaker/Runtime/Pluggable.html","","<p>Any Pluggable module can be “plugged” into the RubyBreaker monitoring\nsystem. For example, …\n"],["RubyBreaker::Runtime::TypePlaceholder","","RubyBreaker/Runtime/TypePlaceholder.html","","<p>This class is a placeholder for method types\n"],["RubyBreaker::Runtime::TypeSigParser","","RubyBreaker/Runtime/TypeSigParser.html","",""],["RubyBreaker::Runtime::TypeSystem","","RubyBreaker/Runtime/TypeSystem.html","","<p>This is the default type system for RubyBreaker. It can be overridden by a\nuser specified type system. …\n"],["RubyBreaker::TestCase","","RubyBreaker/TestCase.html","","<p>This module overrides the normal behavior of Ruby Stdlib’s TestCase class.\n"],["RubyBreaker::TypeComparer","","RubyBreaker/TypeComparer.html","","<p>This module compares two RubyBreaker-defined types for the syntactic\nequivalence.\n"],["RubyBreaker::TypeDefs","","RubyBreaker/TypeDefs.html","","<p>This module contains all RubyBreaker type definitions. This module has to\nbe included to the module if …\n"],["RubyBreaker::TypeDefs::AnyType","","RubyBreaker/TypeDefs/AnyType.html","","<p>This type can represent any object\n"],["RubyBreaker::TypeDefs::BlockType","","RubyBreaker/TypeDefs/BlockType.html","","<p>This class represents a block (in a method). It has zero or more argument \ntypes, nested block type (optional), …\n"],["RubyBreaker::TypeDefs::DuckType","","RubyBreaker/TypeDefs/DuckType.html","","<p>This class represents any object with certain methods Usage: [m1,m2,…]\nwhere m1…mn are method names …\n"],["RubyBreaker::TypeDefs::FusionType","","RubyBreaker/TypeDefs/FusionType.html","","<p>This class represents any object that has certain methods whose types are\nsame as the given nominal type’s …\n"],["RubyBreaker::TypeDefs::MethodListType","","RubyBreaker/TypeDefs/MethodListType.html","","<p>This class represents multiple method types.\n"],["RubyBreaker::TypeDefs::MethodType","","RubyBreaker/TypeDefs/MethodType.html","","<p>This class represents a method and is essentially same as block type \nexcept the method name.\n"],["RubyBreaker::TypeDefs::NilType","","RubyBreaker/TypeDefs/NilType.html","","<p>This type represents a nil\n"],["RubyBreaker::TypeDefs::NominalType","","RubyBreaker/TypeDefs/NominalType.html","","<p>This class represents a concrete object like a Numeric or String. It \nstores the actual module in the …\n"],["RubyBreaker::TypeDefs::OptionalType","","RubyBreaker/TypeDefs/OptionalType.html","","<p>This class respresents an optional argument type\n"],["RubyBreaker::TypeDefs::OrType","","RubyBreaker/TypeDefs/OrType.html","","<p>This class represents one of many types\n"],["RubyBreaker::TypeDefs::SelfType","","RubyBreaker/TypeDefs/SelfType.html","","<p>This type represents the self type. Note that this is a subclass of Nominal\nType. It works just like …\n"],["RubyBreaker::TypeDefs::Type","","RubyBreaker/TypeDefs/Type.html","","<p>This class is a catch-all. The constructor of this class must be called\nfrom children via super() in …\n"],["RubyBreaker::TypeDefs::VarLengthType","","RubyBreaker/TypeDefs/VarLengthType.html","","<p>This class represents a variable-length argument type\n"],["RubyBreaker::TypeUnparser","","RubyBreaker/TypeUnparser.html","","<p>This module prints the RubyBreaker types in a user-friendly way.\n"],["RubyBreaker::Typing","","RubyBreaker/Typing.html","","<p>This module contains subtyping logic used in RubyBreaker. See\n<em>rubytype.rb</em> for logic related to subclassing …\n"],["RubyBreaker::Util","","RubyBreaker/Util.html","","<p>This module has utility functions that are useful across all components in\nthe project.\n"],["__rubybreaker_obj","RubyBreaker::Runtime::ObjectWrapper","RubyBreaker/Runtime/ObjectWrapper.html#method-i-__rubybreaker_obj","()","<p>This method returns the original object.\n"],["__rubybreaker_type","RubyBreaker::Runtime::ObjectWrapper","RubyBreaker/Runtime/ObjectWrapper.html#method-i-__rubybreaker_type","()","<p>This method returns the type gathered so far for this object.\n"],["add_meth","RubyBreaker::TypeDefs::DuckType","RubyBreaker/TypeDefs/DuckType.html#method-i-add_meth","(meth_name)",""],["after_method","RubyBreaker::Runtime::TypeSystem","RubyBreaker/Runtime/TypeSystem.html#method-i-after_method","(obj, meth_info)","<p>This method occurs after every “monitored” method call. It updates the type\ninformation.\n"],["after_method_call","RubyBreaker::Runtime::Pluggable","RubyBreaker/Runtime/Pluggable.html#method-i-after_method_call","(obj, meth_info)","<p>This method will be invoked right after the actual method is invoked.\n<p>obj &mdash; the receiver of the method call …\n"],["before_method","RubyBreaker::Runtime::TypeSystem","RubyBreaker/Runtime/TypeSystem.html#method-i-before_method","(obj, meth_info)","<p>This method occurs before every “monitored” method call. It wraps each\nargument with the object …\n"],["before_method_call","RubyBreaker::Runtime::Pluggable","RubyBreaker/Runtime/Pluggable.html#method-i-before_method_call","(obj, meth_info)","<p>This method will be invoked right before the actual method is invoked.\n<p>obj &mdash; the receiver of the method …\n"],["camelize","RubyBreaker::Util","RubyBreaker/Util.html#method-c-camelize","(lower_case_and_underscored_word, first_letter_in_uppercase = true)","<p>File activesupport/lib/active_support/inflector/methods.rb\n"],["compare","RubyBreaker::TypeComparer","RubyBreaker/TypeComparer.html#method-c-compare","(lhs,rhs)","<p>This equal method determines whether two types are\n<strong>syntactically</strong> equivalent. Note that this is NOT a …\n"],["convert_caller_to_pos","RubyBreaker::Position","RubyBreaker/Position.html#method-c-convert_caller_to_pos","(caller_ary, idx=0)","<p>This class method is a utility function to convert a string in the caller()\narray.\n"],["eql?","RubyBreaker::TypeDefs::Type","RubyBreaker/TypeDefs/Type.html#method-i-eql-3F","(other)","<p>This method compares this object to another object syntactically.\n"],["error","RubyBreaker","RubyBreaker.html#method-c-error","(err, level=:error, &blk)","<p>This method is for reporting an error to the user. It will immediately show\nthe error message but also …\n"],["format_with_msg","RubyBreaker::Context","RubyBreaker/Context.html#method-i-format_with_msg","(pp,msg=\"\")",""],["get","RubyBreaker::Position","RubyBreaker/Position.html#method-c-get","()","<p>This class method returns a new position object for the current parsing\nposition.\n"],["get_alt_meth_name","RubyBreaker::Runtime::MonitorUtils","RubyBreaker/Runtime/MonitorUtils.html#method-c-get_alt_meth_name","(meth_name)","<p>This method returns the alternative (renamed) method name\n"],["get_orig_meth_name","RubyBreaker::Runtime::MonitorUtils","RubyBreaker/Runtime/MonitorUtils.html#method-c-get_orig_meth_name","(meth_name)","<p>This method returns the original method name\n"],["get_self","RubyBreaker::TypeDefs::SelfType","RubyBreaker/TypeDefs/SelfType.html#method-c-get_self","(mod)","<p>This is a getter method for class variable mod.\n"],["included","RubyBreaker::Breakable","RubyBreaker/Breakable.html#method-c-included","(mod)","<p>Simply keep track of this module and its eigen class so they are monitored\nlater on.\n"],["included","RubyBreaker::Broken","RubyBreaker/Broken.html#method-c-included","(mod)","<p>This method is triggered when Broken module is included. This just extends\nBrokenEigen into the target …\n"],["included","RubyBreaker::TestCase","RubyBreaker/TestCase.html#method-c-included","(mod)",""],["input","RubyBreaker::Main","RubyBreaker/Main.html#method-c-input","()","<p>Reads the input file if specified or exists\n"],["inspect_all","RubyBreaker::Runtime::Inspector","RubyBreaker/Runtime/Inspector.html#method-c-inspect_all","(mod)","<p>This method inspects the module for all methods. It returns a Hash\ncontaining (method name, method type) …\n"],["inspect_class_meth","RubyBreaker::Runtime::Inspector","RubyBreaker/Runtime/Inspector.html#method-c-inspect_class_meth","(mod, mname)","<p>This method inspects the module for the specified class method name. This\nis a shorthand for calling …\n"],["inspect_meth","RubyBreaker::Runtime::Inspector","RubyBreaker/Runtime/Inspector.html#method-c-inspect_meth","(mod, mname)","<p>This method inspects the module for the type of the specified method. It\nreturns the method type or method …\n"],["inspect_meths","RubyBreaker::Runtime::Inspector","RubyBreaker/Runtime/Inspector.html#method-c-inspect_meths","(mod, mnames)","<p>Similar to inspect_meth but returns a hash of (mname, mtype) pairs.\n"],["install_module_monitor","RubyBreaker::Runtime::MonitorInstaller","RubyBreaker/Runtime/MonitorInstaller.html#method-c-install_module_monitor","(mod)","<p>Installs an module (class) monitor to the object.\n"],["is_module?","RubyBreaker::Runtime::MonitorInstaller","RubyBreaker/Runtime/MonitorInstaller.html#method-c-is_module-3F","(recv)","<p>returns true if the receiver is a module or a class\n"],["is_object_wrapped?","RubyBreaker::Runtime::TypeSystem","RubyBreaker/Runtime/TypeSystem.html#method-i-is_object_wrapped-3F","(obj)","<p>Check if the object is wrapped by a monitor\n"],["log","RubyBreaker","RubyBreaker.html#method-c-log","(str, level=:debug, context=nil, &blk)","<p>This method logs a non-error (or error) message but with the provided\ncontext.\n"],["lub","RubyBreaker::Runtime::TypeSystem","RubyBreaker/Runtime/TypeSystem.html#method-i-lub","(obj, meth_type_map, meth_name, retval, *args, &blk)","<p>This method computes the least upper bound of the existing method type and\nnewly observed argument/block/return …\n"],["lub_helper","RubyBreaker::Runtime::TypeSystem","RubyBreaker/Runtime/TypeSystem.html#method-i-lub_helper","(exist_meth_type, new_meth_type)","<p>This method is a helper for computing the least upper bound. It handles the\ncase where existing method …\n"],["method_missing","RubyBreaker::Runtime::ObjectWrapper","RubyBreaker/Runtime/ObjectWrapper.html#method-i-method_missing","(mname,*args,&blk)","<p>This method missing method redirects all other method calls.\n"],["mod","RubyBreaker::TypeDefs::FusionType","RubyBreaker/TypeDefs/FusionType.html#method-i-mod","()","<p>This method gets the actual module of the nominal type for this fusion\ntype. This is a shorthand for …\n"],["monitor","RubyBreaker","RubyBreaker.html#method-c-monitor","()","<p>This is the manual indicator for the program entry point. It simply\nredirects to the monitor setup code. …\n"],["monitor_after_method","RubyBreaker::Runtime::Monitor","RubyBreaker/Runtime/Monitor.html#method-i-monitor_after_method","(obj, meth_info)","<p>This method is invoked after the actual method is invoked.\n"],["monitor_before_method","RubyBreaker::Runtime::Monitor","RubyBreaker/Runtime/Monitor.html#method-i-monitor_before_method","(obj, meth_info)","<p>Starts monitoring of a method; it wraps each argument so that they can\ngather type information in the …\n"],["new","RubyBreaker::Context","RubyBreaker/Context.html#method-c-new","(pos)",""],["new","RubyBreaker::Errors::InternalError","RubyBreaker/Errors/InternalError.html#method-c-new","(msg)",""],["new","RubyBreaker::Errors::InvalidSubtypeCheck","RubyBreaker/Errors/InvalidSubtypeCheck.html#method-c-new","(msg,pos=nil)",""],["new","RubyBreaker::Errors::UserError","RubyBreaker/Errors/UserError.html#method-c-new","(msg, ctx)",""],["new","RubyBreaker::ObjectPosition","RubyBreaker/ObjectPosition.html#method-c-new","(obj, meth_name)",""],["new","RubyBreaker::Position","RubyBreaker/Position.html#method-c-new","(file=\"\",line=-1,col=-1,meth=\"\")",""],["new","RubyBreaker::Runtime::MethodInfo","RubyBreaker/Runtime/MethodInfo.html#method-c-new","(meth_name, args, blk, ret)",""],["new","RubyBreaker::Runtime::Monitor","RubyBreaker/Runtime/Monitor.html#method-c-new","(mod, pluggable)",""],["new","RubyBreaker::Runtime::MonitorSwitch","RubyBreaker/Runtime/MonitorSwitch.html#method-c-new","()",""],["new","RubyBreaker::Runtime::ObjectWrapper","RubyBreaker/Runtime/ObjectWrapper.html#method-c-new","(obj)",""],["new","RubyBreaker::Runtime::TypePlaceholder","RubyBreaker/Runtime/TypePlaceholder.html#method-c-new","()",""],["new","RubyBreaker::TypeDefs::AnyType","RubyBreaker/TypeDefs/AnyType.html#method-c-new","(*args)",""],["new","RubyBreaker::TypeDefs::BlockType","RubyBreaker/TypeDefs/BlockType.html#method-c-new","(arg_types=[],blk_type=nil,ret_type=nil,*args)",""],["new","RubyBreaker::TypeDefs::DuckType","RubyBreaker/TypeDefs/DuckType.html#method-c-new","(meth_names=[],*args)",""],["new","RubyBreaker::TypeDefs::FusionType","RubyBreaker/TypeDefs/FusionType.html#method-c-new","(nom_type,meth_names=[],*args)",""],["new","RubyBreaker::TypeDefs::MethodListType","RubyBreaker/TypeDefs/MethodListType.html#method-c-new","(types=[],*args)",""],["new","RubyBreaker::TypeDefs::MethodType","RubyBreaker/TypeDefs/MethodType.html#method-c-new","(meth_name,arg_types=[],blk_type=nil,ret_type=nil,*args)",""],["new","RubyBreaker::TypeDefs::NilType","RubyBreaker/TypeDefs/NilType.html#method-c-new","(*args)",""],["new","RubyBreaker::TypeDefs::NominalType","RubyBreaker/TypeDefs/NominalType.html#method-c-new","(mod=nil,*args)",""],["new","RubyBreaker::TypeDefs::OptionalType","RubyBreaker/TypeDefs/OptionalType.html#method-c-new","(type,*args)",""],["new","RubyBreaker::TypeDefs::OrType","RubyBreaker/TypeDefs/OrType.html#method-c-new","(types=[],*args)",""],["new","RubyBreaker::TypeDefs::SelfType","RubyBreaker/TypeDefs/SelfType.html#method-c-new","(*args)",""],["new","RubyBreaker::TypeDefs::Type","RubyBreaker/TypeDefs/Type.html#method-c-new","(*args)",""],["new","RubyBreaker::TypeDefs::VarLengthType","RubyBreaker/TypeDefs/VarLengthType.html#method-c-new","(type,*args)",""],["output","RubyBreaker::Main","RubyBreaker/Main.html#method-c-output","()","<p>This method will generate the output.\n"],["parse","RubyBreaker::Runtime::TypeSigParser","RubyBreaker/Runtime/TypeSigParser.html#method-c-parse","(str)","<p>This is a simple redirecting method for parsing type signature. The only\nspecial thing about this method …\n"],["pop","RubyBreaker::Context","RubyBreaker/Context.html#method-i-pop","()",""],["pp_methods","RubyBreaker::Main","RubyBreaker/Main.html#method-c-pp_methods","(pp, meth_type_map)","<p>Pretty prints type information for methods\n"],["pp_module","RubyBreaker::Main","RubyBreaker/Main.html#method-c-pp_module","(pp, mod)","<p>Pretty prints type information for the module/class\n"],["push","RubyBreaker::Context","RubyBreaker/Context.html#method-i-push","(pos)",""],["rename_meth","RubyBreaker::Runtime::MonitorInstaller","RubyBreaker/Runtime/MonitorInstaller.html#method-c-rename_meth","(recv, meth_name)","<p>renames the method in essence; this method also “installs” the module\nmonitor for the class …\n"],["respond_to?","RubyBreaker::Runtime::ObjectWrapper","RubyBreaker/Runtime/ObjectWrapper.html#method-i-respond_to-3F","(mname)","<p>Only behave differently if it’s looking for <code>WRAPPED_INDICATOR</code>\nmethod\n"],["route","RubyBreaker::Runtime::MonitorUtils","RubyBreaker/Runtime/MonitorUtils.html#method-c-route","(obj,meth_name,*args,&blk)","<p>This will do the actual routing work for a particular “monitored” method\ncall.\n<p>obj &mdash; is the object …\n"],["run","RubyBreaker::Main","RubyBreaker/Main.html#method-c-run","()","<p>This method will run do things in the following order:\n\n<pre>* Checks to see if the user program and an input ...</pre>\n"],["set","RubyBreaker::Position","RubyBreaker/Position.html#method-c-set","(file,line,col)","<p>This class method is to set the current parsing position.\n"],["set_self","RubyBreaker::TypeDefs::SelfType","RubyBreaker/TypeDefs/SelfType.html#method-c-set_self","(mod)","<p>This is a setter method for class variable mod. NOTE: It is set every time\nBroken module is included. …\n"],["set_to","RubyBreaker::Runtime::MonitorSwitch","RubyBreaker/Runtime/MonitorSwitch.html#method-i-set_to","(mode)",""],["setup","RubyBreaker::Main","RubyBreaker/Main.html#method-c-setup","()","<p>This method is the trigger point to install a monitor in each module/class.\n"],["setup","RubyBreaker::TestCase","RubyBreaker/TestCase.html#method-c-setup","()",""],["subclass_rel?","RubyBreaker::RubyTypeUtils","RubyBreaker/RubyTypeUtils.html#method-c-subclass_rel-3F","(lhs, rhs)","<p>Checks if lhs is a subclass of rhs\n"],["submodule_rel?","RubyBreaker::RubyTypeUtils","RubyBreaker/RubyTypeUtils.html#method-c-submodule_rel-3F","(lhs,rhs)","<p>Checks if lhs is a sub-module of rhs\n"],["subtype_of?","RubyBreaker::TypeDefs::Type","RubyBreaker/TypeDefs/Type.html#method-i-subtype_of-3F","(rhs)","<p>This is a shorthand for calling Typing.subtype_rel?\n"],["subtype_rel?","RubyBreaker::Typing","RubyBreaker/Typing.html#method-c-subtype_rel-3F","(lhs, rhs)","<p>This method determines if one type is a subtype of another. This check is\nfor RubyBreaker defined types. …\n"],["teardown","RubyBreaker::TestCase","RubyBreaker/TestCase.html#method-c-teardown","()",""],["to_s","RubyBreaker::ObjectPosition","RubyBreaker/ObjectPosition.html#method-i-to_s","()",""],["to_s","RubyBreaker::Position","RubyBreaker/Position.html#method-i-to_s","()",""],["turn_off","RubyBreaker::Runtime::MonitorSwitch","RubyBreaker/Runtime/MonitorSwitch.html#method-i-turn_off","()",""],["turn_on","RubyBreaker::Runtime::MonitorSwitch","RubyBreaker/Runtime/MonitorSwitch.html#method-i-turn_on","()",""],["typesig","RubyBreaker::Broken::BrokenEigen","RubyBreaker/Broken/BrokenEigen.html#method-i-typesig","(str)","<p>This method can be used at the eigen level of the target module to specify\nthe type of a method.\n"],["underscore","RubyBreaker::Util","RubyBreaker/Util.html#method-c-underscore","(camel_cased_word)","<p>File activesupport/lib/active_support/inflector/methods.rb, line 48\n"],["unparse","RubyBreaker::TypeDefs::Type","RubyBreaker/TypeDefs/Type.html#method-i-unparse","()","<p>This method unparses the type using the pretty print method.\n"],["unparse","RubyBreaker::TypeUnparser","RubyBreaker/TypeUnparser.html#method-c-unparse","(t)","<p>This method is used to display any RubyBreaker type in a user-friendly way\nusing the pretty print method. …\n"],["verbose","RubyBreaker","RubyBreaker.html#method-c-verbose","(str, &blk)","<p>This method will display verbose message. It is not for debugging but to\ninform users of each stage in …\n"]]}}
1
+ var search_data = {"index":{"searchIndex":["object","rubybreaker","breakable","broken","brokeneigen","context","errors","internalerror","invalidsubtypecheck","invalidtypeconstruction","subtypefailure","typeerror","usererror","main","objectposition","position","rubytypeutils","runtime","inspector","methodinfo","monitor","monitorinstaller","monitorswitch","monitorutils","objectwrapper","pluggable","typeplaceholder","typesigparser","typesystem","typesigunparser","testcase","typecomparer","typedefs","anytype","blocktype","ducktype","fusiontype","methodlisttype","methodtype","niltype","nominaltype","optionaltype","ortype","selftype","type","varlengthtype","typeunparser","typing","util","\"#{rubybreaker_rspec_prefix}_describe\"()","__rubybreaker_obj()","__rubybreaker_setup()","__rubybreaker_teardown()","__rubybreaker_type()","add_meth()","after_method()","after_method_call()","before_method()","before_method_call()","camelize()","compare()","convert_caller_to_pos()","describe()","eql?()","error()","format_with_msg()","get()","get_alt_meth_name()","get_orig_meth_name()","get_self()","included()","included()","included()","input()","inspect_all()","inspect_class_meth()","inspect_meth()","inspect_meths()","install_module_monitor()","is_module?()","is_object_wrapped?()","log()","lub()","lub_helper()","method_missing()","mod()","monitor()","monitor_after_method()","monitor_before_method()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","output()","parse()","pop()","pp_methods()","pp_module()","push()","rename_meth()","respond_to?()","route()","run()","set()","set_self()","set_to()","setup()","subclass_rel?()","submodule_rel?()","subtype_of?()","subtype_rel?()","to_s()","to_s()","turn_off()","turn_on()","typesig()","underscore()","unparse()","unparse()","unparse()","verbose()"],"longSearchIndex":["object","rubybreaker","rubybreaker::breakable","rubybreaker::broken","rubybreaker::broken::brokeneigen","rubybreaker::context","rubybreaker::errors","rubybreaker::errors::internalerror","rubybreaker::errors::invalidsubtypecheck","rubybreaker::errors::invalidtypeconstruction","rubybreaker::errors::subtypefailure","rubybreaker::errors::typeerror","rubybreaker::errors::usererror","rubybreaker::main","rubybreaker::objectposition","rubybreaker::position","rubybreaker::rubytypeutils","rubybreaker::runtime","rubybreaker::runtime::inspector","rubybreaker::runtime::methodinfo","rubybreaker::runtime::monitor","rubybreaker::runtime::monitorinstaller","rubybreaker::runtime::monitorswitch","rubybreaker::runtime::monitorutils","rubybreaker::runtime::objectwrapper","rubybreaker::runtime::pluggable","rubybreaker::runtime::typeplaceholder","rubybreaker::runtime::typesigparser","rubybreaker::runtime::typesystem","rubybreaker::runtime::typesigunparser","rubybreaker::testcase","rubybreaker::typecomparer","rubybreaker::typedefs","rubybreaker::typedefs::anytype","rubybreaker::typedefs::blocktype","rubybreaker::typedefs::ducktype","rubybreaker::typedefs::fusiontype","rubybreaker::typedefs::methodlisttype","rubybreaker::typedefs::methodtype","rubybreaker::typedefs::niltype","rubybreaker::typedefs::nominaltype","rubybreaker::typedefs::optionaltype","rubybreaker::typedefs::ortype","rubybreaker::typedefs::selftype","rubybreaker::typedefs::type","rubybreaker::typedefs::varlengthtype","rubybreaker::typeunparser","rubybreaker::typing","rubybreaker::util","object#\"#{rubybreaker_rspec_prefix}_describe\"()","rubybreaker::runtime::objectwrapper#__rubybreaker_obj()","rubybreaker::testcase::__rubybreaker_setup()","rubybreaker::testcase::__rubybreaker_teardown()","rubybreaker::runtime::objectwrapper#__rubybreaker_type()","rubybreaker::typedefs::ducktype#add_meth()","rubybreaker::runtime::typesystem#after_method()","rubybreaker::runtime::pluggable#after_method_call()","rubybreaker::runtime::typesystem#before_method()","rubybreaker::runtime::pluggable#before_method_call()","rubybreaker::util::camelize()","rubybreaker::typecomparer::compare()","rubybreaker::position::convert_caller_to_pos()","object#describe()","rubybreaker::typedefs::type#eql?()","rubybreaker::error()","rubybreaker::context#format_with_msg()","rubybreaker::position::get()","rubybreaker::runtime::monitorutils::get_alt_meth_name()","rubybreaker::runtime::monitorutils::get_orig_meth_name()","rubybreaker::typedefs::selftype::get_self()","rubybreaker::breakable::included()","rubybreaker::broken::included()","rubybreaker::testcase::included()","rubybreaker::main::input()","rubybreaker::runtime::inspector::inspect_all()","rubybreaker::runtime::inspector::inspect_class_meth()","rubybreaker::runtime::inspector::inspect_meth()","rubybreaker::runtime::inspector::inspect_meths()","rubybreaker::runtime::monitorinstaller::install_module_monitor()","rubybreaker::runtime::monitorinstaller::is_module?()","rubybreaker::runtime::typesystem#is_object_wrapped?()","rubybreaker::log()","rubybreaker::runtime::typesystem#lub()","rubybreaker::runtime::typesystem#lub_helper()","rubybreaker::runtime::objectwrapper#method_missing()","rubybreaker::typedefs::fusiontype#mod()","rubybreaker::monitor()","rubybreaker::runtime::monitor#monitor_after_method()","rubybreaker::runtime::monitor#monitor_before_method()","rubybreaker::context::new()","rubybreaker::errors::internalerror::new()","rubybreaker::errors::invalidsubtypecheck::new()","rubybreaker::errors::usererror::new()","rubybreaker::objectposition::new()","rubybreaker::position::new()","rubybreaker::runtime::methodinfo::new()","rubybreaker::runtime::monitor::new()","rubybreaker::runtime::monitorswitch::new()","rubybreaker::runtime::objectwrapper::new()","rubybreaker::runtime::typeplaceholder::new()","rubybreaker::typedefs::anytype::new()","rubybreaker::typedefs::blocktype::new()","rubybreaker::typedefs::ducktype::new()","rubybreaker::typedefs::fusiontype::new()","rubybreaker::typedefs::methodlisttype::new()","rubybreaker::typedefs::methodtype::new()","rubybreaker::typedefs::niltype::new()","rubybreaker::typedefs::nominaltype::new()","rubybreaker::typedefs::optionaltype::new()","rubybreaker::typedefs::ortype::new()","rubybreaker::typedefs::selftype::new()","rubybreaker::typedefs::type::new()","rubybreaker::typedefs::varlengthtype::new()","rubybreaker::main::output()","rubybreaker::runtime::typesigparser::parse()","rubybreaker::context#pop()","rubybreaker::runtime::typesigunparser::pp_methods()","rubybreaker::runtime::typesigunparser::pp_module()","rubybreaker::context#push()","rubybreaker::runtime::monitorinstaller::rename_meth()","rubybreaker::runtime::objectwrapper#respond_to?()","rubybreaker::runtime::monitorutils::route()","rubybreaker::main::run()","rubybreaker::position::set()","rubybreaker::typedefs::selftype::set_self()","rubybreaker::runtime::monitorswitch#set_to()","rubybreaker::main::setup()","rubybreaker::rubytypeutils::subclass_rel?()","rubybreaker::rubytypeutils::submodule_rel?()","rubybreaker::typedefs::type#subtype_of?()","rubybreaker::typing::subtype_rel?()","rubybreaker::objectposition#to_s()","rubybreaker::position#to_s()","rubybreaker::runtime::monitorswitch#turn_off()","rubybreaker::runtime::monitorswitch#turn_on()","rubybreaker::broken::brokeneigen#typesig()","rubybreaker::util::underscore()","rubybreaker::runtime::typesigunparser::unparse()","rubybreaker::typedefs::type#unparse()","rubybreaker::typeunparser::unparse()","rubybreaker::verbose()"],"info":[["Object","","Object.html","",""],["RubyBreaker","","RubyBreaker.html","","<p>-\n\n<pre>This file contains utility functions that are useful for the Runtime\nLibrary.</pre>\n<p>RubyBreaker is a dynamic …\n"],["RubyBreaker::Breakable","","RubyBreaker/Breakable.html","","<p>This module should be included in classes or modules that you want to\nmonitor during runtime. The concept …\n"],["RubyBreaker::Broken","","RubyBreaker/Broken.html","","<p>This module is included for “broken” classes.\n"],["RubyBreaker::Broken::BrokenEigen","","RubyBreaker/Broken/BrokenEigen.html","","<p>-\n\n<pre class=\"ruby\"><span class=\"ruby-constant\">This</span> <span class=\"ruby-keyword\">module</span> <span class=\"ruby-identifier\">will</span> <span class=\"ruby-identifier\">be</span> <span class=\"ruby-string\">&quot;extended&quot;</span> <span class=\"ruby-identifier\">to</span> <span class=\"ruby-identifier\">the</span> <span class=\"ruby-identifier\">eigen</span> <span class=\"ruby-keyword\">class</span> <span class=\"ruby-identifier\">of</span> <span class=\"ruby-identifier\">the</span> <span class=\"ruby-keyword\">class</span> <span class=\"ruby-identifier\">that</span> \n<span class=\"ruby-identifier\">includes</span> <span class=\"ruby-constant\">Broken</span> <span class=\"ruby-keyword\">module</span>. <span class=\"ruby-constant\">This</span> <span class=\"ruby-identifier\">allows</span> <span class=\"ruby-operator\">...</span>\n</pre>\n"],["RubyBreaker::Context","","RubyBreaker/Context.html","","<p>This class represents a context which consists of one or more positions. A\nposition can refer to a physical …\n"],["RubyBreaker::Errors","","RubyBreaker/Errors.html","","<p>This module contains errors used by RubyBreaker.\n"],["RubyBreaker::Errors::InternalError","","RubyBreaker/Errors/InternalError.html","","<p>This class is a base class for any internal errors. It should be used to\ninform the faults within the …\n"],["RubyBreaker::Errors::InvalidSubtypeCheck","","RubyBreaker/Errors/InvalidSubtypeCheck.html","","<p>This error is thrown when a subtype check is not even appropriate for two\ngiven types. It should NOT …\n"],["RubyBreaker::Errors::InvalidTypeConstruction","","RubyBreaker/Errors/InvalidTypeConstruction.html","","<p>This error is thrown when a type is constructed with invalid elements.\n"],["RubyBreaker::Errors::SubtypeFailure","","RubyBreaker/Errors/SubtypeFailure.html","",""],["RubyBreaker::Errors::TypeError","","RubyBreaker/Errors/TypeError.html","",""],["RubyBreaker::Errors::UserError","","RubyBreaker/Errors/UserError.html","","<p>This class is a base class for any user errors. Unlike internal error, it\nshould use a Context to inform …\n"],["RubyBreaker::Main","","RubyBreaker/Main.html","","<p>This module has a set of entry points to the program and misc. methods for\nrunning RubyBreaker.\n"],["RubyBreaker::ObjectPosition","","RubyBreaker/ObjectPosition.html","","<p>This class represents a position with respect to an object and the name of\na method being invoked.\n"],["RubyBreaker::Position","","RubyBreaker/Position.html","","<p>This class represents a position of the type acquired from either the type\nsignature or code during runtime. …\n"],["RubyBreaker::RubyTypeUtils","","RubyBreaker/RubyTypeUtils.html","",""],["RubyBreaker::Runtime","","RubyBreaker/Runtime.html","",""],["RubyBreaker::Runtime::Inspector","","RubyBreaker/Runtime/Inspector.html","","<p>This module inspects a Breakable module, a Broken module, or a hybrid\nmodule to fetch the type information …\n"],["RubyBreaker::Runtime::MethodInfo","","RubyBreaker/Runtime/MethodInfo.html","","<p>This class has information (and data) of the method being called. Used by\nPluggable and Monitor\n"],["RubyBreaker::Runtime::Monitor","","RubyBreaker/Runtime/Monitor.html","","<p>This class monitors method calls before and after. It simply reroutes the\nresponsibility to the appropriate …\n"],["RubyBreaker::Runtime::MonitorInstaller","","RubyBreaker/Runtime/MonitorInstaller.html","","<p>This module installs a monitor in the object.\n"],["RubyBreaker::Runtime::MonitorSwitch","","RubyBreaker/Runtime/MonitorSwitch.html","","<p>This class is a switch to turn on and off the type monitoring system. It is\nimportant to turn off the …\n"],["RubyBreaker::Runtime::MonitorUtils","","RubyBreaker/Runtime/MonitorUtils.html","","<p>This module contains helper methods for monitoring objects and modules.\n"],["RubyBreaker::Runtime::ObjectWrapper","","RubyBreaker/Runtime/ObjectWrapper.html","","<p>This class represents the shell object that wraps around another object. \nNote that it is a subclass …\n"],["RubyBreaker::Runtime::Pluggable","","RubyBreaker/Runtime/Pluggable.html","","<p>Any Pluggable module can be “plugged” into the RubyBreaker monitoring\nsystem. For example, …\n"],["RubyBreaker::Runtime::TypePlaceholder","","RubyBreaker/Runtime/TypePlaceholder.html","","<p>This class is a placeholder for method types\n"],["RubyBreaker::Runtime::TypeSigParser","","RubyBreaker/Runtime/TypeSigParser.html","",""],["RubyBreaker::Runtime::TypeSystem","","RubyBreaker/Runtime/TypeSystem.html","","<p>This is the default type system for RubyBreaker. It can be overridden by a\nuser specified type system. …\n"],["RubyBreaker::Runtime::TypesigUnparser","","RubyBreaker/Runtime/TypesigUnparser.html","","<p>This module handles unparsing type signatures.\n"],["RubyBreaker::TestCase","","RubyBreaker/TestCase.html","","<p>This module overrides the normal behavior of Ruby Stdlib’s TestCase class.\n"],["RubyBreaker::TypeComparer","","RubyBreaker/TypeComparer.html","","<p>This module compares two RubyBreaker-defined types for the syntactic\nequivalence.\n"],["RubyBreaker::TypeDefs","","RubyBreaker/TypeDefs.html","","<p>This module contains all RubyBreaker type definitions. This module has to\nbe included to the module if …\n"],["RubyBreaker::TypeDefs::AnyType","","RubyBreaker/TypeDefs/AnyType.html","","<p>This type can represent any object\n"],["RubyBreaker::TypeDefs::BlockType","","RubyBreaker/TypeDefs/BlockType.html","","<p>This class represents a block (in a method). It has zero or more argument \ntypes, nested block type (optional), …\n"],["RubyBreaker::TypeDefs::DuckType","","RubyBreaker/TypeDefs/DuckType.html","","<p>This class represents any object with certain methods Usage: [m1,m2,…]\nwhere m1…mn are method names …\n"],["RubyBreaker::TypeDefs::FusionType","","RubyBreaker/TypeDefs/FusionType.html","","<p>This class represents any object that has certain methods whose types are\nsame as the given nominal type’s …\n"],["RubyBreaker::TypeDefs::MethodListType","","RubyBreaker/TypeDefs/MethodListType.html","","<p>This class represents multiple method types.\n"],["RubyBreaker::TypeDefs::MethodType","","RubyBreaker/TypeDefs/MethodType.html","","<p>This class represents a method and is essentially same as block type \nexcept the method name.\n"],["RubyBreaker::TypeDefs::NilType","","RubyBreaker/TypeDefs/NilType.html","","<p>This type represents a nil\n"],["RubyBreaker::TypeDefs::NominalType","","RubyBreaker/TypeDefs/NominalType.html","","<p>This class represents a concrete object like a Numeric or String. It \nstores the actual module in the …\n"],["RubyBreaker::TypeDefs::OptionalType","","RubyBreaker/TypeDefs/OptionalType.html","","<p>This class respresents an optional argument type\n"],["RubyBreaker::TypeDefs::OrType","","RubyBreaker/TypeDefs/OrType.html","","<p>This class represents one of many types\n"],["RubyBreaker::TypeDefs::SelfType","","RubyBreaker/TypeDefs/SelfType.html","","<p>This type represents the self type. Note that this is a subclass of Nominal\nType. It works just like …\n"],["RubyBreaker::TypeDefs::Type","","RubyBreaker/TypeDefs/Type.html","","<p>This class is a catch-all. The constructor of this class must be called\nfrom children via super() in …\n"],["RubyBreaker::TypeDefs::VarLengthType","","RubyBreaker/TypeDefs/VarLengthType.html","","<p>This class represents a variable-length argument type\n"],["RubyBreaker::TypeUnparser","","RubyBreaker/TypeUnparser.html","","<p>This module prints the RubyBreaker types in a user-friendly way.\n"],["RubyBreaker::Typing","","RubyBreaker/Typing.html","","<p>This module contains subtyping logic used in RubyBreaker. See\n<em>rubytype.rb</em> for logic related to subclassing …\n"],["RubyBreaker::Util","","RubyBreaker/Util.html","","<p>This module has utility functions that are useful across all components in\nthe project.\n"],["\"#{RUBYBREAKER_RSPEC_PREFIX}_describe\"","Object","Object.html#method-i-22-23-7BRUBYBREAKER_RSPEC_PREFIX-7D_describe-22","(*args,&blk)",""],["__rubybreaker_obj","RubyBreaker::Runtime::ObjectWrapper","RubyBreaker/Runtime/ObjectWrapper.html#method-i-__rubybreaker_obj","()","<p>This method returns the original object.\n"],["__rubybreaker_setup","RubyBreaker::TestCase","RubyBreaker/TestCase.html#method-c-__rubybreaker_setup","()",""],["__rubybreaker_teardown","RubyBreaker::TestCase","RubyBreaker/TestCase.html#method-c-__rubybreaker_teardown","()",""],["__rubybreaker_type","RubyBreaker::Runtime::ObjectWrapper","RubyBreaker/Runtime/ObjectWrapper.html#method-i-__rubybreaker_type","()","<p>This method returns the type gathered so far for this object.\n"],["add_meth","RubyBreaker::TypeDefs::DuckType","RubyBreaker/TypeDefs/DuckType.html#method-i-add_meth","(meth_name)",""],["after_method","RubyBreaker::Runtime::TypeSystem","RubyBreaker/Runtime/TypeSystem.html#method-i-after_method","(obj, meth_info)","<p>This method occurs after every “monitored” method call. It updates the type\ninformation.\n"],["after_method_call","RubyBreaker::Runtime::Pluggable","RubyBreaker/Runtime/Pluggable.html#method-i-after_method_call","(obj, meth_info)","<p>This method will be invoked right after the actual method is invoked.\n<p>obj &mdash; the receiver of the method call …\n"],["before_method","RubyBreaker::Runtime::TypeSystem","RubyBreaker/Runtime/TypeSystem.html#method-i-before_method","(obj, meth_info)","<p>This method occurs before every “monitored” method call. It wraps each\nargument with the object …\n"],["before_method_call","RubyBreaker::Runtime::Pluggable","RubyBreaker/Runtime/Pluggable.html#method-i-before_method_call","(obj, meth_info)","<p>This method will be invoked right before the actual method is invoked.\n<p>obj &mdash; the receiver of the method …\n"],["camelize","RubyBreaker::Util","RubyBreaker/Util.html#method-c-camelize","(lower_case_and_underscored_word, first_letter_in_uppercase = true)","<p>File activesupport/lib/active_support/inflector/methods.rb\n"],["compare","RubyBreaker::TypeComparer","RubyBreaker/TypeComparer.html#method-c-compare","(lhs,rhs)","<p>This equal method determines whether two types are\n<strong>syntactically</strong> equivalent. Note that this is NOT a …\n"],["convert_caller_to_pos","RubyBreaker::Position","RubyBreaker/Position.html#method-c-convert_caller_to_pos","(caller_ary, idx=0)","<p>This class method is a utility function to convert a string in the caller()\narray.\n"],["describe","Object","Object.html#method-i-describe","(*args,&blk)",""],["eql?","RubyBreaker::TypeDefs::Type","RubyBreaker/TypeDefs/Type.html#method-i-eql-3F","(other)","<p>This method compares this object to another object syntactically.\n"],["error","RubyBreaker","RubyBreaker.html#method-c-error","(err, level=:error, &blk)","<p>This method is for reporting an error to the user. It will immediately show\nthe error message but also …\n"],["format_with_msg","RubyBreaker::Context","RubyBreaker/Context.html#method-i-format_with_msg","(pp,msg=\"\")",""],["get","RubyBreaker::Position","RubyBreaker/Position.html#method-c-get","()","<p>This class method returns a new position object for the current parsing\nposition.\n"],["get_alt_meth_name","RubyBreaker::Runtime::MonitorUtils","RubyBreaker/Runtime/MonitorUtils.html#method-c-get_alt_meth_name","(meth_name)","<p>This method returns the alternative (renamed) method name\n"],["get_orig_meth_name","RubyBreaker::Runtime::MonitorUtils","RubyBreaker/Runtime/MonitorUtils.html#method-c-get_orig_meth_name","(meth_name)","<p>This method returns the original method name\n"],["get_self","RubyBreaker::TypeDefs::SelfType","RubyBreaker/TypeDefs/SelfType.html#method-c-get_self","(mod)","<p>This is a getter method for class variable mod.\n"],["included","RubyBreaker::Breakable","RubyBreaker/Breakable.html#method-c-included","(mod)","<p>Simply keep track of this module and its eigen class so they are monitored\nlater on.\n"],["included","RubyBreaker::Broken","RubyBreaker/Broken.html#method-c-included","(mod)","<p>This method is triggered when Broken module is included. This just extends\nBrokenEigen into the target …\n"],["included","RubyBreaker::TestCase","RubyBreaker/TestCase.html#method-c-included","(mod)",""],["input","RubyBreaker::Main","RubyBreaker/Main.html#method-c-input","()","<p>Reads the input file if specified or exists\n"],["inspect_all","RubyBreaker::Runtime::Inspector","RubyBreaker/Runtime/Inspector.html#method-c-inspect_all","(mod)","<p>This method inspects the module for all methods. It returns a Hash\ncontaining (method name, method type) …\n"],["inspect_class_meth","RubyBreaker::Runtime::Inspector","RubyBreaker/Runtime/Inspector.html#method-c-inspect_class_meth","(mod, mname)","<p>This method inspects the module for the specified class method name. This\nis a shorthand for calling …\n"],["inspect_meth","RubyBreaker::Runtime::Inspector","RubyBreaker/Runtime/Inspector.html#method-c-inspect_meth","(mod, mname)","<p>This method inspects the module for the type of the specified method. It\nreturns the method type or method …\n"],["inspect_meths","RubyBreaker::Runtime::Inspector","RubyBreaker/Runtime/Inspector.html#method-c-inspect_meths","(mod, mnames)","<p>Similar to inspect_meth but returns a hash of (mname, mtype) pairs.\n"],["install_module_monitor","RubyBreaker::Runtime::MonitorInstaller","RubyBreaker/Runtime/MonitorInstaller.html#method-c-install_module_monitor","(mod)","<p>Installs an module (class) monitor to the object.\n"],["is_module?","RubyBreaker::Runtime::MonitorInstaller","RubyBreaker/Runtime/MonitorInstaller.html#method-c-is_module-3F","(recv)","<p>returns true if the receiver is a module or a class\n"],["is_object_wrapped?","RubyBreaker::Runtime::TypeSystem","RubyBreaker/Runtime/TypeSystem.html#method-i-is_object_wrapped-3F","(obj)","<p>Check if the object is wrapped by a monitor\n"],["log","RubyBreaker","RubyBreaker.html#method-c-log","(str, level=:debug, context=nil, &blk)","<p>This method logs a non-error (or error) message but with the provided\ncontext.\n"],["lub","RubyBreaker::Runtime::TypeSystem","RubyBreaker/Runtime/TypeSystem.html#method-i-lub","(obj, meth_type_map, meth_name, retval, *args, &blk)","<p>This method computes the least upper bound of the existing method type and\nnewly observed argument/block/return …\n"],["lub_helper","RubyBreaker::Runtime::TypeSystem","RubyBreaker/Runtime/TypeSystem.html#method-i-lub_helper","(exist_meth_type, new_meth_type)","<p>This method is a helper for computing the least upper bound. It handles the\ncase where existing method …\n"],["method_missing","RubyBreaker::Runtime::ObjectWrapper","RubyBreaker/Runtime/ObjectWrapper.html#method-i-method_missing","(mname,*args,&blk)","<p>This method missing method redirects all other method calls.\n"],["mod","RubyBreaker::TypeDefs::FusionType","RubyBreaker/TypeDefs/FusionType.html#method-i-mod","()","<p>This method gets the actual module of the nominal type for this fusion\ntype. This is a shorthand for …\n"],["monitor","RubyBreaker","RubyBreaker.html#method-c-monitor","()","<p>This is the manual indicator for the program entry point. It simply\nredirects to the monitor setup code. …\n"],["monitor_after_method","RubyBreaker::Runtime::Monitor","RubyBreaker/Runtime/Monitor.html#method-i-monitor_after_method","(obj, meth_info)","<p>This method is invoked after the actual method is invoked.\n"],["monitor_before_method","RubyBreaker::Runtime::Monitor","RubyBreaker/Runtime/Monitor.html#method-i-monitor_before_method","(obj, meth_info)","<p>Starts monitoring of a method; it wraps each argument so that they can\ngather type information in the …\n"],["new","RubyBreaker::Context","RubyBreaker/Context.html#method-c-new","(pos)",""],["new","RubyBreaker::Errors::InternalError","RubyBreaker/Errors/InternalError.html#method-c-new","(msg)",""],["new","RubyBreaker::Errors::InvalidSubtypeCheck","RubyBreaker/Errors/InvalidSubtypeCheck.html#method-c-new","(msg,pos=nil)",""],["new","RubyBreaker::Errors::UserError","RubyBreaker/Errors/UserError.html#method-c-new","(msg, ctx)",""],["new","RubyBreaker::ObjectPosition","RubyBreaker/ObjectPosition.html#method-c-new","(obj, meth_name)",""],["new","RubyBreaker::Position","RubyBreaker/Position.html#method-c-new","(file=\"\",line=-1,col=-1,meth=\"\")",""],["new","RubyBreaker::Runtime::MethodInfo","RubyBreaker/Runtime/MethodInfo.html#method-c-new","(meth_name, args, blk, ret)",""],["new","RubyBreaker::Runtime::Monitor","RubyBreaker/Runtime/Monitor.html#method-c-new","(mod, pluggable)",""],["new","RubyBreaker::Runtime::MonitorSwitch","RubyBreaker/Runtime/MonitorSwitch.html#method-c-new","()",""],["new","RubyBreaker::Runtime::ObjectWrapper","RubyBreaker/Runtime/ObjectWrapper.html#method-c-new","(obj)",""],["new","RubyBreaker::Runtime::TypePlaceholder","RubyBreaker/Runtime/TypePlaceholder.html#method-c-new","()",""],["new","RubyBreaker::TypeDefs::AnyType","RubyBreaker/TypeDefs/AnyType.html#method-c-new","(*args)",""],["new","RubyBreaker::TypeDefs::BlockType","RubyBreaker/TypeDefs/BlockType.html#method-c-new","(arg_types=[],blk_type=nil,ret_type=nil,*args)",""],["new","RubyBreaker::TypeDefs::DuckType","RubyBreaker/TypeDefs/DuckType.html#method-c-new","(meth_names=[],*args)",""],["new","RubyBreaker::TypeDefs::FusionType","RubyBreaker/TypeDefs/FusionType.html#method-c-new","(nom_type,meth_names=[],*args)",""],["new","RubyBreaker::TypeDefs::MethodListType","RubyBreaker/TypeDefs/MethodListType.html#method-c-new","(types=[],*args)",""],["new","RubyBreaker::TypeDefs::MethodType","RubyBreaker/TypeDefs/MethodType.html#method-c-new","(meth_name,arg_types=[],blk_type=nil,ret_type=nil,*args)",""],["new","RubyBreaker::TypeDefs::NilType","RubyBreaker/TypeDefs/NilType.html#method-c-new","(*args)",""],["new","RubyBreaker::TypeDefs::NominalType","RubyBreaker/TypeDefs/NominalType.html#method-c-new","(mod=nil,*args)",""],["new","RubyBreaker::TypeDefs::OptionalType","RubyBreaker/TypeDefs/OptionalType.html#method-c-new","(type,*args)",""],["new","RubyBreaker::TypeDefs::OrType","RubyBreaker/TypeDefs/OrType.html#method-c-new","(types=[],*args)",""],["new","RubyBreaker::TypeDefs::SelfType","RubyBreaker/TypeDefs/SelfType.html#method-c-new","(*args)",""],["new","RubyBreaker::TypeDefs::Type","RubyBreaker/TypeDefs/Type.html#method-c-new","(*args)",""],["new","RubyBreaker::TypeDefs::VarLengthType","RubyBreaker/TypeDefs/VarLengthType.html#method-c-new","(type,*args)",""],["output","RubyBreaker::Main","RubyBreaker/Main.html#method-c-output","()","<p>This method will generate the output.\n"],["parse","RubyBreaker::Runtime::TypeSigParser","RubyBreaker/Runtime/TypeSigParser.html#method-c-parse","(str)","<p>This is a simple redirecting method for parsing type signature. The only\nspecial thing about this method …\n"],["pop","RubyBreaker::Context","RubyBreaker/Context.html#method-i-pop","()",""],["pp_methods","RubyBreaker::Runtime::TypesigUnparser","RubyBreaker/Runtime/TypesigUnparser.html#method-c-pp_methods","(pp, meth_type_map, opts={})","<p>Pretty prints type information for methods\n"],["pp_module","RubyBreaker::Runtime::TypesigUnparser","RubyBreaker/Runtime/TypesigUnparser.html#method-c-pp_module","(pp, mod, opts={})","<p>Pretty prints type information for the module/class\n"],["push","RubyBreaker::Context","RubyBreaker/Context.html#method-i-push","(pos)",""],["rename_meth","RubyBreaker::Runtime::MonitorInstaller","RubyBreaker/Runtime/MonitorInstaller.html#method-c-rename_meth","(recv, meth_name)","<p>renames the method in essence; this method also “installs” the module\nmonitor for the class …\n"],["respond_to?","RubyBreaker::Runtime::ObjectWrapper","RubyBreaker/Runtime/ObjectWrapper.html#method-i-respond_to-3F","(mname)","<p>Only behave differently if it’s looking for <code>WRAPPED_INDICATOR</code>\nmethod\n"],["route","RubyBreaker::Runtime::MonitorUtils","RubyBreaker/Runtime/MonitorUtils.html#method-c-route","(obj,meth_name,*args,&blk)","<p>This will do the actual routing work for a particular “monitored” method\ncall.\n<p>obj &mdash; is the object …\n"],["run","RubyBreaker::Main","RubyBreaker/Main.html#method-c-run","()","<p>This method will run do things in the following order:\n\n<pre>* Checks to see if the user program and an input ...</pre>\n"],["set","RubyBreaker::Position","RubyBreaker/Position.html#method-c-set","(file,line,col)","<p>This class method is to set the current parsing position.\n"],["set_self","RubyBreaker::TypeDefs::SelfType","RubyBreaker/TypeDefs/SelfType.html#method-c-set_self","(mod)","<p>This is a setter method for class variable mod. NOTE: It is set every time\nBroken module is included. …\n"],["set_to","RubyBreaker::Runtime::MonitorSwitch","RubyBreaker/Runtime/MonitorSwitch.html#method-i-set_to","(mode)",""],["setup","RubyBreaker::Main","RubyBreaker/Main.html#method-c-setup","()","<p>This method is the trigger point to install a monitor in each module/class.\n"],["subclass_rel?","RubyBreaker::RubyTypeUtils","RubyBreaker/RubyTypeUtils.html#method-c-subclass_rel-3F","(lhs, rhs)","<p>Checks if lhs is a subclass of rhs\n"],["submodule_rel?","RubyBreaker::RubyTypeUtils","RubyBreaker/RubyTypeUtils.html#method-c-submodule_rel-3F","(lhs,rhs)","<p>Checks if lhs is a sub-module of rhs\n"],["subtype_of?","RubyBreaker::TypeDefs::Type","RubyBreaker/TypeDefs/Type.html#method-i-subtype_of-3F","(rhs)","<p>This is a shorthand for calling Typing.subtype_rel?\n"],["subtype_rel?","RubyBreaker::Typing","RubyBreaker/Typing.html#method-c-subtype_rel-3F","(lhs, rhs)","<p>This method determines if one type is a subtype of another. This check is\nfor RubyBreaker defined types. …\n"],["to_s","RubyBreaker::ObjectPosition","RubyBreaker/ObjectPosition.html#method-i-to_s","()",""],["to_s","RubyBreaker::Position","RubyBreaker/Position.html#method-i-to_s","()",""],["turn_off","RubyBreaker::Runtime::MonitorSwitch","RubyBreaker/Runtime/MonitorSwitch.html#method-i-turn_off","()",""],["turn_on","RubyBreaker::Runtime::MonitorSwitch","RubyBreaker/Runtime/MonitorSwitch.html#method-i-turn_on","()",""],["typesig","RubyBreaker::Broken::BrokenEigen","RubyBreaker/Broken/BrokenEigen.html#method-i-typesig","(str)","<p>This method can be used at the eigen level of the target module to specify\nthe type of a method.\n"],["underscore","RubyBreaker::Util","RubyBreaker/Util.html#method-c-underscore","(camel_cased_word)","<p>File activesupport/lib/active_support/inflector/methods.rb, line 48\n"],["unparse","RubyBreaker::Runtime::TypesigUnparser","RubyBreaker/Runtime/TypesigUnparser.html#method-c-unparse","(mod, opts={})","<p>This method unparses the type information in the specified module,\ndisplaying one or more type signatures …\n"],["unparse","RubyBreaker::TypeDefs::Type","RubyBreaker/TypeDefs/Type.html#method-i-unparse","(opts={})","<p>This method is a shorthand for calling TypeUnparser.unparse(t).\n"],["unparse","RubyBreaker::TypeUnparser","RubyBreaker/TypeUnparser.html#method-c-unparse","(t, opts={})","<p>This method unparses the RubyBreaker type according to the specified\noptions.\n<p>t &mdash; RubyBreaker type\n<p>opts &mdash; \n"],["verbose","RubyBreaker","RubyBreaker.html#method-c-verbose","(str, &blk)","<p>This method will display verbose message. It is not for debugging but to\ninform users of each stage in …\n"]]}}
@@ -109,6 +109,9 @@
109
109
  </li>
110
110
  <li class="class">
111
111
  <a href="RubyBreaker/Runtime/TypeSystem.html">RubyBreaker::Runtime::TypeSystem</a>
112
+ </li>
113
+ <li class="module">
114
+ <a href="RubyBreaker/Runtime/TypesigUnparser.html">RubyBreaker::Runtime::TypesigUnparser</a>
112
115
  </li>
113
116
  <li class="module">
114
117
  <a href="RubyBreaker/TestCase.html">RubyBreaker::TestCase</a>
@@ -167,12 +170,19 @@
167
170
  <li class="module">
168
171
  <a href="RubyBreaker/Util.html">RubyBreaker::Util</a>
169
172
  </li>
173
+ <li class="class">
174
+ <a href="Object.html">Object</a>
175
+ </li>
170
176
 
171
177
  </ul>
172
178
 
173
179
  <h2 id="methods">Methods</h2>
174
180
  <ul>
175
181
 
182
+ <li class="method"><a href="RubyBreaker/TestCase.html#method-c-__rubybreaker_setup">::__rubybreaker_setup &mdash; RubyBreaker::TestCase</a>
183
+
184
+ <li class="method"><a href="RubyBreaker/TestCase.html#method-c-__rubybreaker_teardown">::__rubybreaker_teardown &mdash; RubyBreaker::TestCase</a>
185
+
176
186
  <li class="method"><a href="RubyBreaker/Util.html#method-c-camelize">::camelize &mdash; RubyBreaker::Util</a>
177
187
 
178
188
  <li class="method"><a href="RubyBreaker/TypeComparer.html#method-c-compare">::compare &mdash; RubyBreaker::TypeComparer</a>
@@ -191,10 +201,10 @@
191
201
 
192
202
  <li class="method"><a href="RubyBreaker/TestCase.html#method-c-included">::included &mdash; RubyBreaker::TestCase</a>
193
203
 
194
- <li class="method"><a href="RubyBreaker/Breakable.html#method-c-included">::included &mdash; RubyBreaker::Breakable</a>
195
-
196
204
  <li class="method"><a href="RubyBreaker/Broken.html#method-c-included">::included &mdash; RubyBreaker::Broken</a>
197
205
 
206
+ <li class="method"><a href="RubyBreaker/Breakable.html#method-c-included">::included &mdash; RubyBreaker::Breakable</a>
207
+
198
208
  <li class="method"><a href="RubyBreaker/Main.html#method-c-input">::input &mdash; RubyBreaker::Main</a>
199
209
 
200
210
  <li class="method"><a href="RubyBreaker/Runtime/Inspector.html#method-c-inspect_all">::inspect_all &mdash; RubyBreaker::Runtime::Inspector</a>
@@ -213,25 +223,25 @@
213
223
 
214
224
  <li class="method"><a href="RubyBreaker.html#method-c-monitor">::monitor &mdash; RubyBreaker</a>
215
225
 
216
- <li class="method"><a href="RubyBreaker/Position.html#method-c-new">::new &mdash; RubyBreaker::Position</a>
226
+ <li class="method"><a href="RubyBreaker/TypeDefs/OrType.html#method-c-new">::new &mdash; RubyBreaker::TypeDefs::OrType</a>
217
227
 
218
228
  <li class="method"><a href="RubyBreaker/Runtime/ObjectWrapper.html#method-c-new">::new &mdash; RubyBreaker::Runtime::ObjectWrapper</a>
219
229
 
220
- <li class="method"><a href="RubyBreaker/TypeDefs/VarLengthType.html#method-c-new">::new &mdash; RubyBreaker::TypeDefs::VarLengthType</a>
221
-
222
- <li class="method"><a href="RubyBreaker/TypeDefs/MethodType.html#method-c-new">::new &mdash; RubyBreaker::TypeDefs::MethodType</a>
223
-
224
- <li class="method"><a href="RubyBreaker/Runtime/MonitorSwitch.html#method-c-new">::new &mdash; RubyBreaker::Runtime::MonitorSwitch</a>
230
+ <li class="method"><a href="RubyBreaker/TypeDefs/FusionType.html#method-c-new">::new &mdash; RubyBreaker::TypeDefs::FusionType</a>
225
231
 
226
232
  <li class="method"><a href="RubyBreaker/TypeDefs/BlockType.html#method-c-new">::new &mdash; RubyBreaker::TypeDefs::BlockType</a>
227
233
 
228
- <li class="method"><a href="RubyBreaker/Runtime/MethodInfo.html#method-c-new">::new &mdash; RubyBreaker::Runtime::MethodInfo</a>
234
+ <li class="method"><a href="RubyBreaker/TypeDefs/DuckType.html#method-c-new">::new &mdash; RubyBreaker::TypeDefs::DuckType</a>
229
235
 
230
236
  <li class="method"><a href="RubyBreaker/Runtime/TypePlaceholder.html#method-c-new">::new &mdash; RubyBreaker::Runtime::TypePlaceholder</a>
231
237
 
232
- <li class="method"><a href="RubyBreaker/Runtime/Monitor.html#method-c-new">::new &mdash; RubyBreaker::Runtime::Monitor</a>
238
+ <li class="method"><a href="RubyBreaker/TypeDefs/MethodType.html#method-c-new">::new &mdash; RubyBreaker::TypeDefs::MethodType</a>
233
239
 
234
- <li class="method"><a href="RubyBreaker/TypeDefs/OrType.html#method-c-new">::new &mdash; RubyBreaker::TypeDefs::OrType</a>
240
+ <li class="method"><a href="RubyBreaker/Runtime/MonitorSwitch.html#method-c-new">::new &mdash; RubyBreaker::Runtime::MonitorSwitch</a>
241
+
242
+ <li class="method"><a href="RubyBreaker/TypeDefs/VarLengthType.html#method-c-new">::new &mdash; RubyBreaker::TypeDefs::VarLengthType</a>
243
+
244
+ <li class="method"><a href="RubyBreaker/Runtime/Monitor.html#method-c-new">::new &mdash; RubyBreaker::Runtime::Monitor</a>
235
245
 
236
246
  <li class="method"><a href="RubyBreaker/Errors/UserError.html#method-c-new">::new &mdash; RubyBreaker::Errors::UserError</a>
237
247
 
@@ -243,31 +253,31 @@
243
253
 
244
254
  <li class="method"><a href="RubyBreaker/Context.html#method-c-new">::new &mdash; RubyBreaker::Context</a>
245
255
 
246
- <li class="method"><a href="RubyBreaker/TypeDefs/DuckType.html#method-c-new">::new &mdash; RubyBreaker::TypeDefs::DuckType</a>
247
-
248
256
  <li class="method"><a href="RubyBreaker/ObjectPosition.html#method-c-new">::new &mdash; RubyBreaker::ObjectPosition</a>
249
257
 
258
+ <li class="method"><a href="RubyBreaker/Position.html#method-c-new">::new &mdash; RubyBreaker::Position</a>
259
+
250
260
  <li class="method"><a href="RubyBreaker/TypeDefs/AnyType.html#method-c-new">::new &mdash; RubyBreaker::TypeDefs::AnyType</a>
251
261
 
252
262
  <li class="method"><a href="RubyBreaker/TypeDefs/NilType.html#method-c-new">::new &mdash; RubyBreaker::TypeDefs::NilType</a>
253
263
 
254
264
  <li class="method"><a href="RubyBreaker/TypeDefs/NominalType.html#method-c-new">::new &mdash; RubyBreaker::TypeDefs::NominalType</a>
255
265
 
256
- <li class="method"><a href="RubyBreaker/TypeDefs/FusionType.html#method-c-new">::new &mdash; RubyBreaker::TypeDefs::FusionType</a>
257
-
258
266
  <li class="method"><a href="RubyBreaker/TypeDefs/MethodListType.html#method-c-new">::new &mdash; RubyBreaker::TypeDefs::MethodListType</a>
259
267
 
268
+ <li class="method"><a href="RubyBreaker/TypeDefs/OptionalType.html#method-c-new">::new &mdash; RubyBreaker::TypeDefs::OptionalType</a>
269
+
260
270
  <li class="method"><a href="RubyBreaker/TypeDefs/SelfType.html#method-c-new">::new &mdash; RubyBreaker::TypeDefs::SelfType</a>
261
271
 
262
- <li class="method"><a href="RubyBreaker/TypeDefs/OptionalType.html#method-c-new">::new &mdash; RubyBreaker::TypeDefs::OptionalType</a>
272
+ <li class="method"><a href="RubyBreaker/Runtime/MethodInfo.html#method-c-new">::new &mdash; RubyBreaker::Runtime::MethodInfo</a>
263
273
 
264
274
  <li class="method"><a href="RubyBreaker/Main.html#method-c-output">::output &mdash; RubyBreaker::Main</a>
265
275
 
266
276
  <li class="method"><a href="RubyBreaker/Runtime/TypeSigParser.html#method-c-parse">::parse &mdash; RubyBreaker::Runtime::TypeSigParser</a>
267
277
 
268
- <li class="method"><a href="RubyBreaker/Main.html#method-c-pp_methods">::pp_methods &mdash; RubyBreaker::Main</a>
278
+ <li class="method"><a href="RubyBreaker/Runtime/TypesigUnparser.html#method-c-pp_methods">::pp_methods &mdash; RubyBreaker::Runtime::TypesigUnparser</a>
269
279
 
270
- <li class="method"><a href="RubyBreaker/Main.html#method-c-pp_module">::pp_module &mdash; RubyBreaker::Main</a>
280
+ <li class="method"><a href="RubyBreaker/Runtime/TypesigUnparser.html#method-c-pp_module">::pp_module &mdash; RubyBreaker::Runtime::TypesigUnparser</a>
271
281
 
272
282
  <li class="method"><a href="RubyBreaker/Runtime/MonitorInstaller.html#method-c-rename_meth">::rename_meth &mdash; RubyBreaker::Runtime::MonitorInstaller</a>
273
283
 
@@ -281,22 +291,22 @@
281
291
 
282
292
  <li class="method"><a href="RubyBreaker/Main.html#method-c-setup">::setup &mdash; RubyBreaker::Main</a>
283
293
 
284
- <li class="method"><a href="RubyBreaker/TestCase.html#method-c-setup">::setup &mdash; RubyBreaker::TestCase</a>
285
-
286
294
  <li class="method"><a href="RubyBreaker/RubyTypeUtils.html#method-c-subclass_rel-3F">::subclass_rel? &mdash; RubyBreaker::RubyTypeUtils</a>
287
295
 
288
296
  <li class="method"><a href="RubyBreaker/RubyTypeUtils.html#method-c-submodule_rel-3F">::submodule_rel? &mdash; RubyBreaker::RubyTypeUtils</a>
289
297
 
290
298
  <li class="method"><a href="RubyBreaker/Typing.html#method-c-subtype_rel-3F">::subtype_rel? &mdash; RubyBreaker::Typing</a>
291
299
 
292
- <li class="method"><a href="RubyBreaker/TestCase.html#method-c-teardown">::teardown &mdash; RubyBreaker::TestCase</a>
293
-
294
300
  <li class="method"><a href="RubyBreaker/Util.html#method-c-underscore">::underscore &mdash; RubyBreaker::Util</a>
295
301
 
302
+ <li class="method"><a href="RubyBreaker/Runtime/TypesigUnparser.html#method-c-unparse">::unparse &mdash; RubyBreaker::Runtime::TypesigUnparser</a>
303
+
296
304
  <li class="method"><a href="RubyBreaker/TypeUnparser.html#method-c-unparse">::unparse &mdash; RubyBreaker::TypeUnparser</a>
297
305
 
298
306
  <li class="method"><a href="RubyBreaker.html#method-c-verbose">::verbose &mdash; RubyBreaker</a>
299
307
 
308
+ <li class="method"><a href="Object.html#method-i-22-23-7BRUBYBREAKER_RSPEC_PREFIX-7D_describe-22">#"#{RUBYBREAKER_RSPEC_PREFIX}_describe" &mdash; Object</a>
309
+
300
310
  <li class="method"><a href="RubyBreaker/Runtime/ObjectWrapper.html#method-i-__rubybreaker_obj">#__rubybreaker_obj &mdash; RubyBreaker::Runtime::ObjectWrapper</a>
301
311
 
302
312
  <li class="method"><a href="RubyBreaker/Runtime/ObjectWrapper.html#method-i-__rubybreaker_type">#__rubybreaker_type &mdash; RubyBreaker::Runtime::ObjectWrapper</a>
@@ -311,6 +321,8 @@
311
321
 
312
322
  <li class="method"><a href="RubyBreaker/Runtime/Pluggable.html#method-i-before_method_call">#before_method_call &mdash; RubyBreaker::Runtime::Pluggable</a>
313
323
 
324
+ <li class="method"><a href="Object.html#method-i-describe">#describe &mdash; Object</a>
325
+
314
326
  <li class="method"><a href="RubyBreaker/TypeDefs/Type.html#method-i-eql-3F">#eql? &mdash; RubyBreaker::TypeDefs::Type</a>
315
327
 
316
328
  <li class="method"><a href="RubyBreaker/Context.html#method-i-format_with_msg">#format_with_msg &mdash; RubyBreaker::Context</a>
@@ -339,10 +351,10 @@
339
351
 
340
352
  <li class="method"><a href="RubyBreaker/TypeDefs/Type.html#method-i-subtype_of-3F">#subtype_of? &mdash; RubyBreaker::TypeDefs::Type</a>
341
353
 
342
- <li class="method"><a href="RubyBreaker/Position.html#method-i-to_s">#to_s &mdash; RubyBreaker::Position</a>
343
-
344
354
  <li class="method"><a href="RubyBreaker/ObjectPosition.html#method-i-to_s">#to_s &mdash; RubyBreaker::ObjectPosition</a>
345
355
 
356
+ <li class="method"><a href="RubyBreaker/Position.html#method-i-to_s">#to_s &mdash; RubyBreaker::Position</a>
357
+
346
358
  <li class="method"><a href="RubyBreaker/Runtime/MonitorSwitch.html#method-i-turn_off">#turn_off &mdash; RubyBreaker::Runtime::MonitorSwitch</a>
347
359
 
348
360
  <li class="method"><a href="RubyBreaker/Runtime/MonitorSwitch.html#method-i-turn_on">#turn_on &mdash; RubyBreaker::Runtime::MonitorSwitch</a>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubybreaker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-19 00:00:00.000000000 Z
12
+ date: 2012-05-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: treetop
@@ -27,7 +27,9 @@ dependencies:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
- description: RubyBreaker is a dynamic type documentation tool for Ruby.
30
+ description: ! 'RubyBreaker is a dynamic type documentation tool for Ruby. It dynamically
31
+ instruments code, monitors objects during execution, and generates type documentation
32
+ based on the profiled information. '
31
33
  email: rubybreaker@gmail.com
32
34
  executables:
33
35
  - rubybreaker
@@ -48,8 +50,10 @@ files:
48
50
  - lib/rubybreaker/runtime/type_placeholder.rb
49
51
  - lib/rubybreaker/runtime/type_system.rb
50
52
  - lib/rubybreaker/runtime/typesig_parser.rb
53
+ - lib/rubybreaker/runtime/typesig_unparser.rb
51
54
  - lib/rubybreaker/runtime/util.rb
52
55
  - lib/rubybreaker/runtime.rb
56
+ - lib/rubybreaker/test/rspec.rb
53
57
  - lib/rubybreaker/test/testcase.rb
54
58
  - lib/rubybreaker/test.rb
55
59
  - lib/rubybreaker/type/type.rb
@@ -75,14 +79,18 @@ files:
75
79
  - test/integrated/tc_class_methods.rb
76
80
  - test/integrated/tc_inherit_broken.rb
77
81
  - test/integrated/tc_method_missing.rb
82
+ - test/integrated/tc_namespace.rb
78
83
  - test/integrated/tc_simple1.rb
79
84
  - test/runtime/tc_obj_wrapper.rb
80
85
  - test/runtime/tc_typesig_parser.rb
81
86
  - test/ts_integrated.rb
87
+ - test/ts_rspec.rb
82
88
  - test/ts_runtime.rb
83
89
  - test/ts_type.rb
84
90
  - test/ts_typing.rb
91
+ - test/type/tc_camelize.rb
85
92
  - test/type/tc_comparer.rb
93
+ - test/type/tc_namespace.rb
86
94
  - test/type/tc_parser.rb
87
95
  - test/type/tc_unparser.rb
88
96
  - test/typing/tc_rubytype.rb
@@ -124,6 +132,7 @@ files:
124
132
  - webpage/rdoc/js/search.js
125
133
  - webpage/rdoc/js/search_index.js
126
134
  - webpage/rdoc/js/searcher.js
135
+ - webpage/rdoc/Object.html
127
136
  - webpage/rdoc/rdoc.css
128
137
  - webpage/rdoc/RubyBreaker/Breakable.html
129
138
  - webpage/rdoc/RubyBreaker/Broken/BrokenEigen.html
@@ -150,6 +159,7 @@ files:
150
159
  - webpage/rdoc/RubyBreaker/Runtime/Pluggable.html
151
160
  - webpage/rdoc/RubyBreaker/Runtime/TypePlaceholder.html
152
161
  - webpage/rdoc/RubyBreaker/Runtime/TypeSigParser.html
162
+ - webpage/rdoc/RubyBreaker/Runtime/TypesigUnparser.html
153
163
  - webpage/rdoc/RubyBreaker/Runtime/TypeSystem.html
154
164
  - webpage/rdoc/RubyBreaker/Runtime.html
155
165
  - webpage/rdoc/RubyBreaker/TestCase.html
@@ -181,10 +191,6 @@ post_install_message:
181
191
  rdoc_options:
182
192
  - -x
183
193
  - lib/rubybreaker/rubylib/core.rb
184
- - -x
185
- - lib/rubybreaker/type/type_grammar.rb
186
- - lib
187
- - LICENSE
188
194
  require_paths:
189
195
  - lib
190
196
  required_ruby_version: !ruby/object:Gem::Requirement