summaryrefslogtreecommitdiff
path: root/src/duk-libdom.c
Commit message (Collapse)AuthorAgeFilesLines
* Improve the generated instanceof in the binding to take an indexVincent Sanders2015-10-091-16/+16
|
* Split out idl to c name conversionVincent Sanders2015-10-081-64/+1
|
* Simplify genbind AST handling of preface, prologue, epilogue and postfaceVincent Sanders2015-09-261-16/+16
|
* Make the binding parser understand c typesVincent Sanders2015-09-251-18/+3
| | | | | | Instead of c types being opaque strings this makes the bindig parser understand them. This is necessary for extended attribute parsing in future but also makes the binding more easily understandable.
* Cause string arguments to operations to be coerced.Vincent Sanders2015-09-071-4/+2
| | | | | | It appears that string parameters to operations must be coerced from other types instead of throwing a type error to conform to expected behaviour.
* Change dictionary generation to produce C accessors.Vincent Sanders2015-08-301-74/+16
| | | | | | This generates routines which correctly handle reading a member from a dictionary and returning it as the correct c type. Currently the types "any", "user" and "sequence" remain unhandled.
* only publicly export initialisors and finalisors if necessaryVincent Sanders2015-08-211-19/+20
|
* split up duk-libdom generation source as it had grown unweildyVincent Sanders2015-08-211-1410/+1
|
* add dictionary support and generationVincent Sanders2015-08-211-111/+290
| | | | The dictionary implementation is presetnt but incomplete.
* rename interface map to be intermediate representationVincent Sanders2015-08-171-95/+95
| | | | | | The interface map is now completely inapropriately named and is in fact now an intermediate representation of the webidl and bindings kept in a sorted order.
* Basic type checking for operation argumentsVincent Sanders2015-08-131-5/+113
| | | | | | | 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.
* 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-111-23/+270
| | | | | | | | | | 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
|
* Properly inject interface prototypesDaniel Silverstone2015-08-091-3/+5
|
* Generate interface objectsDaniel Silverstone2015-08-091-2/+21
|
* Update the interface map to contain all operation argumentsVincent Sanders2015-08-091-80/+28
| | | | | | | | | 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-061-0/+11
|
* Add ptototype method type to bindingVincent Sanders2015-08-051-2/+13
| | | | | 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
|
* Fix initialiser parameter listVincent Sanders2015-08-021-3/+5
| | | | | | 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-021-12/+23
|
* Update the webidl parser to cope with specials and overloaded methodsVincent Sanders2015-08-021-116/+85
|
* generate binding header and sourceVincent Sanders2015-08-011-72/+354
| | | | | | 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-311-1/+25
|
* Generate makefile fragment and add header guardsVincent Sanders2015-07-311-19/+100
|
* 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-301-14/+85
|
* Generate constant values on the class prototypeVincent Sanders2015-07-291-0/+51
|
* Add property generation and add it to prototype constructionVincent Sanders2015-07-291-80/+155
|
* Generate class methods from interface operationsVincent Sanders2015-07-281-4/+271
|
* Add prototype generationVincent Sanders2015-07-271-7/+116
|
* make the duktape libdom generator output initializersVincent Sanders2015-07-261-27/+299
|
* initial duktape libdom generatorVincent Sanders2015-07-251-0/+268
This generator creates all the output files and generates the finalisers for every class.