Skip to content

Commit

Permalink
Add automatic signature generation for embind symbols (#19242)
Browse files Browse the repository at this point in the history
I had to jump through a few hoops here to get the C++ files to be
include-able in the sig-generating program, but I think it worth it.
  • Loading branch information
sbc100 committed Apr 25, 2023
1 parent cb5ca6e commit d02c29f
Show file tree
Hide file tree
Showing 4 changed files with 116 additions and 78 deletions.
27 changes: 0 additions & 27 deletions src/embind/embind.js
Original file line number Diff line number Diff line change
Expand Up @@ -399,7 +399,6 @@ var LibraryEmbind = {
return impl;
},

_embind_register_void__sig: 'vpp',
_embind_register_void__deps: ['$readLatin1String', '$registerType'],
_embind_register_void: function(rawType, name) {
name = readLatin1String(name);
Expand All @@ -417,7 +416,6 @@ var LibraryEmbind = {
});
},

_embind_register_bool__sig: 'vpppii',
_embind_register_bool__deps: [
'$getShiftFromSize', '$readLatin1String', '$registerType'],
_embind_register_bool: function(rawType, name, size, trueValue, falseValue) {
Expand Down Expand Up @@ -524,7 +522,6 @@ var LibraryEmbind = {

// When converting a number from JS to C++ side, the valid range of the number is
// [minRange, maxRange], inclusive.
_embind_register_integer__sig: 'vpppii',
_embind_register_integer__deps: [
'$embindRepr', '$getShiftFromSize', '$integerReadValueFromPointer',
'$readLatin1String', '$registerType'],
Expand Down Expand Up @@ -581,7 +578,6 @@ var LibraryEmbind = {
},

#if WASM_BIGINT
_embind_register_bigint__sig: 'vpppjj',
_embind_register_bigint__deps: [
'$embindRepr', '$readLatin1String', '$registerType', '$integerReadValueFromPointer'],
_embind_register_bigint: function(primitiveType, name, size, minRange, maxRange) {
Expand Down Expand Up @@ -620,7 +616,6 @@ var LibraryEmbind = {
_embind_register_bigint: function(primitiveType, name, size, minRange, maxRange) {},
#endif

_embind_register_float__sig: 'vppp',
_embind_register_float__deps: [
'$embindRepr', '$floatReadValueFromPointer', '$getShiftFromSize',
'$readLatin1String', '$registerType'],
Expand Down Expand Up @@ -653,7 +648,6 @@ var LibraryEmbind = {
return this['fromWireType']({{{ makeGetValue('pointer', '0', 'i32') }}});
},

_embind_register_std_string__sig: 'vpp',
_embind_register_std_string__deps: [
'$readLatin1String', '$registerType',
'$simpleReadValueFromPointer', '$throwBindingError',
Expand Down Expand Up @@ -758,7 +752,6 @@ var LibraryEmbind = {
});
},

_embind_register_std_wstring__sig: 'vppp',
_embind_register_std_wstring__deps: [
'$readLatin1String', '$registerType', '$simpleReadValueFromPointer',
'$UTF16ToString', '$stringToUTF16', '$lengthBytesUTF16',
Expand Down Expand Up @@ -835,7 +828,6 @@ var LibraryEmbind = {
});
},

_embind_register_emval__sig: 'vpp',
_embind_register_emval__deps: [
'_emval_decref', '$Emval',
'$readLatin1String', '$registerType', '$simpleReadValueFromPointer'],
Expand All @@ -860,7 +852,6 @@ var LibraryEmbind = {
});
},

_embind_register_memory_view__sig: 'vpip',
_embind_register_memory_view__deps: ['$readLatin1String', '$registerType'],
_embind_register_memory_view: function(rawType, dataTypeIndex, name) {
var typeMapping = [
Expand Down Expand Up @@ -1183,7 +1174,6 @@ var LibraryEmbind = {
return fp;
},

_embind_register_function__sig: 'vpippppi',
_embind_register_function__deps: [
'$craftInvokerFunction', '$exposePublicSymbol', '$heap32VectorToArray',
'$readLatin1String', '$replacePublicSymbol', '$embind__requireFunction',
Expand All @@ -1207,7 +1197,6 @@ var LibraryEmbind = {

$tupleRegistrations: {},

_embind_register_value_array__sig: 'vpppppp',
_embind_register_value_array__deps: [
'$tupleRegistrations', '$readLatin1String', '$embind__requireFunction'],
_embind_register_value_array: function(
Expand All @@ -1226,7 +1215,6 @@ var LibraryEmbind = {
};
},

_embind_register_value_array_element__sig: 'vppppppppp',
_embind_register_value_array_element__deps: [
'$tupleRegistrations', '$embind__requireFunction'],
_embind_register_value_array_element: function(
Expand All @@ -1250,7 +1238,6 @@ var LibraryEmbind = {
});
},

_embind_finalize_value_array__sig: 'vp',
_embind_finalize_value_array__deps: [
'$tupleRegistrations', '$runDestructors',
'$simpleReadValueFromPointer', '$whenDependentTypesAreResolved'],
Expand Down Expand Up @@ -1315,7 +1302,6 @@ var LibraryEmbind = {

$structRegistrations: {},

_embind_register_value_object__sig: 'vpppppp',
_embind_register_value_object__deps: [
'$structRegistrations', '$readLatin1String', '$embind__requireFunction'],
_embind_register_value_object: function(
Expand All @@ -1334,7 +1320,6 @@ var LibraryEmbind = {
};
},

_embind_register_value_object_field__sig: 'vpppppppppp',
_embind_register_value_object_field__deps: [
'$structRegistrations', '$readLatin1String', '$embind__requireFunction'],
_embind_register_value_object_field: function(
Expand All @@ -1360,7 +1345,6 @@ var LibraryEmbind = {
});
},

_embind_finalize_value_object__sig: 'vp',
_embind_finalize_value_object__deps: [
'$structRegistrations', '$runDestructors',
'$simpleReadValueFromPointer', '$whenDependentTypesAreResolved'],
Expand Down Expand Up @@ -1985,7 +1969,6 @@ var LibraryEmbind = {
};
},

_embind_register_class__sig: 'vppppppppppppp',
_embind_register_class__deps: [
'$BindingError', '$ClassHandle', '$createNamedFunction',
'$registeredPointers', '$exposePublicSymbol',
Expand Down Expand Up @@ -2096,7 +2079,6 @@ var LibraryEmbind = {
);
},

_embind_register_class_constructor__sig: 'vpipppp',
_embind_register_class_constructor__deps: [
'$heap32VectorToArray', '$embind__requireFunction', '$runDestructors',
'$throwBindingError', '$whenDependentTypesAreResolved', '$registeredTypes',
Expand Down Expand Up @@ -2184,7 +2166,6 @@ var LibraryEmbind = {
classType.registeredClass);
},

_embind_register_class_function__sig: 'vppippppii',
_embind_register_class_function__deps: [
'$craftInvokerFunction', '$heap32VectorToArray', '$readLatin1String',
'$embind__requireFunction', '$throwUnboundTypeError',
Expand Down Expand Up @@ -2252,7 +2233,6 @@ var LibraryEmbind = {
});
},

_embind_register_class_property__sig: 'vpppppppppp',
_embind_register_class_property__deps: [
'$readLatin1String', '$embind__requireFunction', '$runDestructors',
'$throwBindingError', '$throwUnboundTypeError',
Expand Down Expand Up @@ -2324,7 +2304,6 @@ var LibraryEmbind = {
});
},

_embind_register_class_class_function__sig: 'vppippppi',
_embind_register_class_class_function__deps: [
'$craftInvokerFunction', '$ensureOverloadTable', '$heap32VectorToArray',
'$readLatin1String', '$embind__requireFunction', '$throwUnboundTypeError',
Expand Down Expand Up @@ -2382,7 +2361,6 @@ var LibraryEmbind = {
});
},

_embind_register_class_class_property__sig: 'vpppppppp',
_embind_register_class_class_property__deps: [
'$readLatin1String', '$embind__requireFunction', '$runDestructors',
'$throwBindingError', '$throwUnboundTypeError',
Expand Down Expand Up @@ -2446,7 +2424,6 @@ var LibraryEmbind = {
});
},

_embind_create_inheriting_constructor__sig: 'pppp',
_embind_create_inheriting_constructor__deps: [
'$createNamedFunction', '$Emval',
'$PureVirtualError', '$readLatin1String',
Expand Down Expand Up @@ -2530,7 +2507,6 @@ var LibraryEmbind = {
return name;
},

_embind_register_smart_ptr__sig: 'vpppipppppppp',
_embind_register_smart_ptr__deps: ['$RegisteredPointer', '$embind__requireFunction', '$whenDependentTypesAreResolved'],
_embind_register_smart_ptr: function(rawType,
rawPointeeType,
Expand Down Expand Up @@ -2569,7 +2545,6 @@ var LibraryEmbind = {
});
},

_embind_register_enum__sig: 'vpppi',
_embind_register_enum__deps: ['$exposePublicSymbol', '$getShiftFromSize', '$enumReadValueFromPointer',
'$readLatin1String', '$registerType'],
_embind_register_enum: function(rawType, name, size, isSigned) {
Expand All @@ -2595,7 +2570,6 @@ var LibraryEmbind = {
exposePublicSymbol(name, ctor);
},

_embind_register_enum_value__sig: 'vppp',
_embind_register_enum_value__deps: ['$createNamedFunction', '$readLatin1String', '$requireRegisteredType'],
_embind_register_enum_value: function(rawEnumType, name, enumValue) {
var enumType = requireRegisteredType(rawEnumType, 'enum');
Expand All @@ -2611,7 +2585,6 @@ var LibraryEmbind = {
Enum[name] = Value;
},

_embind_register_constant__sig: 'vppd',
_embind_register_constant__deps: ['$readLatin1String', '$whenDependentTypesAreResolved'],
_embind_register_constant: function(name, type, value) {
name = readLatin1String(name);
Expand Down
Loading

0 comments on commit d02c29f

Please sign in to comment.