rubybreaker 0.0.3 → 0.0.4

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 (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