module T::Private::Methods::CallValidation
def self.create_validator_method_fast(mod, original_method, method_sig, original_visibility)
def self.create_validator_method_fast(mod, original_method, method_sig, original_visibility) if method_sig.return_type.is_a?(T::Private::Types::Void) raise 'Should have used create_validator_procedure_fast' end # trampoline to reduce stack frame size arg_types = method_sig.arg_types case arg_types.length when 0 create_validator_method_fast0(mod, original_method, method_sig, original_visibility, method_sig.return_type.raw_type) when 1 create_validator_method_fast1(mod, original_method, method_sig, original_visibility, method_sig.return_type.raw_type, arg_types[0][1].raw_type) when 2 create_validator_method_fast2(mod, original_method, method_sig, original_visibility, method_sig.return_type.raw_type, arg_types[0][1].raw_type, arg_types[1][1].raw_type) when 3 create_validator_method_fast3(mod, original_method, method_sig, original_visibility, method_sig.return_type.raw_type, arg_types[0][1].raw_type, arg_types[1][1].raw_type, arg_types[2][1].raw_type) when 4 create_validator_method_fast4(mod, original_method, method_sig, original_visibility, method_sig.return_type.raw_type, arg_types[0][1].raw_type, arg_types[1][1].raw_type, arg_types[2][1].raw_type, arg_types[3][1].raw_type) else raise 'should not happen' end end