@param {Object=} options
(rawType, registeredInstance, options)
| 1912 | } |
| 1913 | /** @param {Object=} options */ |
| 1914 | function registerType(rawType, registeredInstance, options) { |
| 1915 | options = options || {}; |
| 1916 | |
| 1917 | if (!('argPackAdvance' in registeredInstance)) { |
| 1918 | throw new TypeError('registerType registeredInstance requires argPackAdvance'); |
| 1919 | } |
| 1920 | |
| 1921 | var name = registeredInstance.name; |
| 1922 | if (!rawType) { |
| 1923 | throwBindingError('type "' + name + '" must have a positive integer typeid pointer'); |
| 1924 | } |
| 1925 | if (registeredTypes.hasOwnProperty(rawType)) { |
| 1926 | if (options.ignoreDuplicateRegistrations) { |
| 1927 | return; |
| 1928 | } else { |
| 1929 | throwBindingError("Cannot register type '" + name + "' twice"); |
| 1930 | } |
| 1931 | } |
| 1932 | |
| 1933 | registeredTypes[rawType] = registeredInstance; |
| 1934 | delete typeDependencies[rawType]; |
| 1935 | |
| 1936 | if (awaitingDependencies.hasOwnProperty(rawType)) { |
| 1937 | var callbacks = awaitingDependencies[rawType]; |
| 1938 | delete awaitingDependencies[rawType]; |
| 1939 | callbacks.forEach(function(cb) { |
| 1940 | cb(); |
| 1941 | }); |
| 1942 | } |
| 1943 | } |
| 1944 | function __embind_register_bool(rawType, name, size, trueValue, falseValue) { |
| 1945 | var shift = getShiftFromSize(size); |
| 1946 |
no test coverage detected