Sha256: 1b6acac5b72661b87c41d28896e078c6e5c9fe57ba8998223dc9f74cdd284e9d

Contents?: true

Size: 1.2 KB

Versions: 39

Compression:

Stored size: 1.2 KB

Contents

// -*- c++ -*-
#include "rucy/extension.h"


#include <xot/string.h>


namespace Rucy
{


	void
	check_class (Value obj, Value klass)
	{
		if (!klass)
			argument_error(__FILE__, __LINE__);

		if (!obj.is_kind_of(klass))
		{
			RUCY_SYMBOL(clas, "class");
			RUCY_SYM(name);
			type_error(__FILE__, __LINE__,
				Xot::stringf(
					"object is instance of %s, but %s is expected.",
					obj(clas)(name).c_str(), klass(name).c_str()));
		}
	}

	void
	check_arg_count (
		const char* file, int line,
		const char* method, int nargs, int nargs_expected_n0,
		int n1, int n2, int n3, int n4, int n5,
		int n6, int n7, int n8, int n9, int n10)
	{
		if (nargs < 0 || nargs_expected_n0 < 0)
			argument_error(__FILE__, __LINE__);

		if (
			nargs != nargs_expected_n0 &&
			(n1  < 0 || nargs != n1)   &&
			(n2  < 0 || nargs != n2)   &&
			(n3  < 0 || nargs != n3)   &&
			(n4  < 0 || nargs != n4)   &&
			(n5  < 0 || nargs != n5)   &&
			(n6  < 0 || nargs != n6)   &&
			(n7  < 0 || nargs != n7)   &&
			(n8  < 0 || nargs != n8)   &&
			(n9  < 0 || nargs != n9)   &&
			(n10 < 0 || nargs != n10))
		{
			arg_count_error(
				file, line, method, nargs, nargs_expected_n0,
				n1, n2, n3, n4, n5, n6, n7, n8, n9, n10);
		}
	}


}// Rucy

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
rucy-0.3 src/extension.cpp
rucy-0.2.1 src/extension.cpp
rucy-0.2 src/extension.cpp
rucy-0.1.44 src/extension.cpp
rucy-0.1.43 src/extension.cpp
rucy-0.1.42 src/extension.cpp
rucy-0.1.41 src/extension.cpp
rucy-0.1.40 src/extension.cpp
rucy-0.1.39 src/extension.cpp
rucy-0.1.38 src/extension.cpp
rucy-0.1.37 src/extension.cpp
rucy-0.1.36 src/extension.cpp
rucy-0.1.35 src/extension.cpp
rucy-0.1.34 src/extension.cpp
rucy-0.1.33 src/extension.cpp
rucy-0.1.32 src/extension.cpp
rucy-0.1.31 src/extension.cpp
rucy-0.1.30 src/extension.cpp
rucy-0.1.29 src/extension.cpp
rucy-0.1.28 src/extension.cpp