summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Basic type checking for operation argumentsVincent Sanders2015-08-133-7/+136
| | | | | | | Arguments passed to basic operations are checked for type if they are strings, bolleans or numbers. Operations that are overloaded, special or have elipsis are not checked.
* Extend WebIDL parsing to cope with second edition IDL static interface elementsVincent Sanders2015-08-112-14/+95
|
* Change to using single instance of constant strings for magic valuesVincent Sanders2015-08-111-27/+51
| | | | | | | Previously every reference to a constant magic string value was a separate and the compiler was not good at making them all common. This makes the string constants an explicit reference to a single instance of the string.
* Ensure the number of parameters is correct for operationsVincent Sanders2015-08-112-26/+273
| | | | | | | | | | For normal operations (not special, overloaded or varadic) check the number of parameters passed is correct and add default values if necessary. This means every normal operation will always have a complete set of parameters and throw an error if there are too few non optional arguments.
* Ensure private member definitions in structures are validVincent Sanders2015-08-101-2/+14
|
* Add dry run featureVincent Sanders2015-08-103-3/+22
|
* Properly inject interface prototypesDaniel Silverstone2015-08-091-3/+5
|
* Generate interface objectsDaniel Silverstone2015-08-091-2/+21
|
* Stop parallel runs of genbind temporary files conflicting.Daniel Silverstone2015-08-091-1/+4
|
* Update the interface map to contain all operation argumentsVincent Sanders2015-08-097-141/+310
| | | | | | | | | This extends the interface map (the intermediate representation) to have information on every operations arguments including overloading and optional arguments. This is important to allow automated checking of passed parameters numbers and types in future.
* Enable warnings to be enabled and generated for unimplemented elementsVincent Sanders2015-08-063-3/+28
|
* Add ptototype method type to bindingVincent Sanders2015-08-054-7/+27
| | | | | This allows additional cdata to be added to the generated prototype constructor.
* change method and property generators default block generationVincent Sanders2015-08-051-8/+33
| | | | | | | If the binding implementation of a method or property is empty then generate a default implementation (currently simply a return statement) otherwise the binding implementation must be complete including a return statement.
* The Read-only properties generator was using the wrong number of parameters.Vincent Sanders2015-08-041-14/+18
|
* When constructing the interface map ensure method type search code does not ↵Vincent Sanders2015-08-031-1/+3
| | | | strcmp null
* Fix initialiser parameter listVincent Sanders2015-08-022-4/+10
| | | | | | The initialiser parameter list parsing was missing creation of a parameter node in the AST and the parameter iterator was looking for a method node instead of a paramter node.
* generates files with temporary name and only overwites on changeVincent Sanders2015-08-023-40/+158
|
* Update the webidl parser to cope with specials and overloaded methodsVincent Sanders2015-08-026-143/+227
|
* generate binding header and sourceVincent Sanders2015-08-013-72/+371
| | | | | | These allow a closed set of functions used by the automatic bindings and gives an external interface allowing all the generated prototypes to be created in the correct order
* ensure nothing is generated for interfaces marked with NoInterfaceObjectVincent Sanders2015-07-313-16/+61
|
* Generate makefile fragment and add header guardsVincent Sanders2015-07-315-35/+126
|
* Clean up code generation functionsVincent Sanders2015-07-301-186/+221
|
* Generate prototype header and include it from each class sourceVincent Sanders2015-07-301-20/+90
|
* Add generation of private header and cause class files to include itVincent Sanders2015-07-303-16/+110
|
* Generate constant values on the class prototypeVincent Sanders2015-07-293-0/+156
|
* Add property generation and add it to prototype constructionVincent Sanders2015-07-298-119/+541
|
* Generate class methods from interface operationsVincent Sanders2015-07-281-4/+271
|
* Add prototype generationVincent Sanders2015-07-272-7/+119
|
* make the duktape libdom generator output initializersVincent Sanders2015-07-262-74/+376
|
* initial duktape libdom generatorVincent Sanders2015-07-257-51/+337
| | | | | This generator creates all the output files and generates the finalisers for every class.
* Build interface map allowing for correct dependency generationVincent Sanders2015-07-246-351/+349
| | | | | | | | | | | | | This constructs an ordered list of all interfaces in their dependency order. The topological sort ordering is derived from the interfaces inheritance. The resulting table allows the generation phase to easily map interfaces to classes defined in the binding with a useful ordering. Additionally it was noticed that the uievent IDL was missing so that has now been added and allows for a much more complete graph of interfaces to be constructed.
* Load the WebIDL files specified in the bindingVincent Sanders2015-07-226-55/+279
| | | | | | | | | | | | | This loads the WebIDL specified in the bindings into an Abstract Syntax Tree (AST) and performs the mixin operations for implements. Additionally the specs now use a slightly extended IDL syntax. Instead of wholesale implementing the second edition of the IDL spec the parser has been updated to cope with iterator and Promise keywords as those are the only changes used in the dom and html specifications. A bug was also fixed in the lexer where negative int literals were not recognised.
* chnage binding AST to put methds inside class nodesVincent Sanders2015-07-224-13/+115
|
* Change binding grammar to new approach.Vincent Sanders2015-07-219-775/+937
|
* make property generation use mapVincent Sanders2014-05-163-185/+236
|
* make function specifier and body generation use the interface mapVincent Sanders2014-05-163-175/+140
|
* Expand implements statements in the AST after it has been builtVincent Sanders2014-05-165-76/+127
| | | | | | | This greatly simplifies output generation because instead of dealing with implements on every traverse they are expanded once. Additionaly errors in expansion are found and generate error early.
* split out jsapi class generation and make use interface mapVincent Sanders2014-05-166-303/+293
|
* complete implementation of interface map generation and split out to own moduleVincent Sanders2014-05-165-166/+350
|
* generate function bodies for all interfacesVincent Sanders2014-05-163-92/+121
|
* add function and property enumerations to the interface mapVincent Sanders2014-05-165-16/+83
|
* rename jsapi method generation to be named function rather than oddly named ↵Vincent Sanders2014-05-164-11/+14
| | | | webidl operator nomenclature
* make binding constructor multiple interface capableVincent Sanders2014-05-165-188/+401
|
* construct topoligicaly consitant (dependancy correct) interface mapVincent Sanders2014-05-166-129/+394
| | | | use dependancy map to generate javascript prototype for all interfaces in the binding.
* move flag indicating jsapi object for an interface should be a global from ↵Vincent Sanders2014-05-166-80/+121
| | | | api definition to the interface flags
* add flags to interface within bindingVincent Sanders2014-05-166-36/+152
|
* move binding type from explicit statement into declaration.Vincent Sanders2014-05-165-107/+123
| | | | | As a side effect the binding declaration changes and looses its (unused) name/identifier
* cope with older bison deirectives to get a pure parserVincent Sanders2014-05-022-2/+8
|
* use core buildsystem tool variables for flex and bisonVincent Sanders2014-05-021-3/+3
|
* Fix building for Win32John-Mark Bell2014-01-172-0/+27
|