tupl-tufts / rdl

Types, type checking, and contracts for Ruby
BSD 3-Clause "New" or "Revised" License
602 stars 38 forks source link

Matching classes speed-up and more logging #104

Closed Dargones closed 4 years ago

Dargones commented 4 years ago

More extensive logging added to struct_to_nominal and matching_classes (now on trace level).

Matching is now done by iterating over methods in question and intersecting the sets of classes for which these methods are defined, which significantly speeds up the process.

For this to work, init_meth_to_cls builds a map from methods to classes on the first call to matching_classes.