Go to the source code of this file.
Classes | |
struct | binding_interface |
struct | binding |
Functions | |
int | jsapi_libdom_output (struct options *options, struct genbind_node *genbind_ast, struct genbind_node *binding_node) |
int | build_interface_map (struct genbind_node *binding_node, struct webidl_node *webidl_ast, int *interfacec_out, struct binding_interface **interfaces_out) |
void | output_code_block (struct binding *binding, struct genbind_node *codelist) |
int | output_jsclasses (struct binding *binding) |
int | output_function_spec (struct binding *binding) |
int | output_function_bodies (struct binding *binding) |
int | output_property_tinyid (struct binding *binding) |
int | output_property_spec (struct binding *binding) |
int | output_property_body (struct binding *binding) |
int | output_class_init (struct binding *binding) |
int | output_class_new (struct binding *binding) |
int build_interface_map | ( | struct genbind_node * | binding_node, |
struct webidl_node * | webidl_ast, | ||
int * | interfacec_out, | ||
struct binding_interface ** | interfaces_out | ||
) |
Build interface map.
Generate a map of all interfaces referenced from a binding and their relationships to each other.
The map will contain all the interfaces both directly referenced by the binding and all those inherited through the WebIDL.
The map is topoligicaly sorted to ensure no forward inheritance references.
The map contains an monotinicaly incrementing index for all interfaces referenced in the binding (i.e. those to be exported).
int jsapi_libdom_output | ( | struct options * | options, |
struct genbind_node * | genbind_ast, | ||
struct genbind_node * | binding_node | ||
) |
Generate binding between jsapi and netsurf libdom
int output_class_init | ( | struct binding * | binding | ) |
generate binding initialisation
int output_class_new | ( | struct binding * | binding | ) |
generate binding class constructors
void output_code_block | ( | struct binding * | binding, |
struct genbind_node * | codelist | ||
) |
output code block from a node
int output_function_bodies | ( | struct binding * | binding | ) |
Generate jsapi native function bodies.
web IDL describes methods as operators http://www.w3.org/TR/WebIDL/#idl-operations
This walks the web IDL AST to find all operator interface members and construct appropriate jsapi native function body to implement them.
Function body contents can be overriden with an operator code block in the binding definition.
binding | The binding information |
int output_function_spec | ( | struct binding * | binding | ) |
int output_jsclasses | ( | struct binding * | binding | ) |
generate classes
int output_property_body | ( | struct binding * | binding | ) |
generate property function bodies
int output_property_spec | ( | struct binding * | binding | ) |
generate property specifier structure
int output_property_tinyid | ( | struct binding * | binding | ) |
generate property tinyid enum