Module: Jade::Codegen::MethodNames
Constant Summary collapse
- INTERFACE_METHODS =
{ 'Basics.Eq' => { '(==)' => '==', }, 'Basics.Comparable' => { 'compare' => 'compare', }, 'Basics.Numeric' => { '(+)' => '+', '(-)' => '-', '(*)' => '*', '(/)' => '/', }, 'Basics.Appendable' => { '(++)' => '+', }, }.freeze
- OPERATOR_INTERFACES =
INTERFACE_METHODS.keys.to_set.freeze
- CALL_OPERATORS =
{ 'Basics.(==)' => '==', 'Basics.(!=)' => '!=', 'Basics.(<)' => '<', 'Basics.(>)' => '>', 'Basics.(<=)' => '<=', 'Basics.(>=)' => '>=', 'Basics.(+)' => '+', 'Basics.(-)' => '-', 'Basics.(*)' => '*', 'Basics.(/)' => '/', 'Basics.(++)' => '+', 'Basics.compare' => 'compare', }.freeze
Instance Method Summary collapse
- #call_operator(qualified_name) ⇒ Object
- #interface_method(interface_qname, fn_name) ⇒ Object
- #operator_interface?(interface_qname) ⇒ Boolean
Instance Method Details
#call_operator(qualified_name) ⇒ Object
49 50 51 |
# File 'lib/jade/codegen/method_names.rb', line 49 def call_operator(qualified_name) CALL_OPERATORS[qualified_name] end |
#interface_method(interface_qname, fn_name) ⇒ Object
41 42 43 |
# File 'lib/jade/codegen/method_names.rb', line 41 def interface_method(interface_qname, fn_name) INTERFACE_METHODS.dig(interface_qname, fn_name) end |
#operator_interface?(interface_qname) ⇒ Boolean
45 46 47 |
# File 'lib/jade/codegen/method_names.rb', line 45 def operator_interface?(interface_qname) OPERATOR_INTERFACES.include?(interface_qname) end |