summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Update component version for releaserelease/0.2Vincent Sanders2016-01-031-1/+1
|
* Use attribute types from IR for generated event handlersVincent Sanders2015-11-052-20/+149
|
* extend IR to have a separate map for attribute typesVincent Sanders2015-11-052-32/+92
|
* Add generated code for short integer valuesVincent Sanders2015-11-011-0/+53
|
* split heuristic code generation out from interface logicVincent Sanders2015-11-014-185/+230
|
* extend the interface attribute setter automatic code generation to cover longsVincent Sanders2015-10-251-0/+29
|
* improve unimplemented warning to include type modifierVincent Sanders2015-10-243-7/+16
|
* extend the interface attribute getter automatic code generation to cover longsVincent Sanders2015-10-241-0/+24
|
* Extend IR attribute entries to contain the type modifilerVincent Sanders2015-10-242-17/+43
|
* Fix putforwards generation to cope with getters leaving a dirty stackVincent Sanders2015-10-141-5/+4
| | | | Kinnison did all teh heavy tjinking on this!
* slightly modify the IDL to c name translationVincent Sanders2015-10-131-8/+14
| | | | | | | This tweaks the IDL name to c name translation to not leave isolated characters. e.g. HTMLIFrameElement became html_i_frame_element now its html_iframe_element HTMLDList became html_d_list and is now html_dlist
* Extend the permitted values of the binding method namesVincent Sanders2015-10-121-2/+21
|
* show the property type on unimplemented getter warningVincent Sanders2015-10-121-2/+4
|
* show the property type on unimplemented setter warningVincent Sanders2015-10-093-2/+60
|
* Improve the generated instanceof in the binding to take an indexVincent Sanders2015-10-091-16/+16
|
* Add automatic generation of property getters and settersVincent Sanders2015-10-083-50/+241
| | | | | | | | | | | This allows the binding to omit specifying code for class property getters and setters. The omitted code will be generated by genbind to directly call suitable libdom accessors. The type of the property (string, boolean etc.) is derived from the IDL. If this type is incorrect, or is a type the generator cannot automatically produce, then the property will be treated like it has no binding implementation and generate unimplemented warnings.
* Split out idl to c name conversionVincent Sanders2015-10-083-64/+69
|
* Add warning for identifying generated outputVincent Sanders2015-10-082-1/+5
|
* make interface operations with elipsis parameters output line directivesVincent Sanders2015-10-011-4/+1
|
* Process extended attributes for constructorsVincent Sanders2015-09-302-101/+168
| | | | | Extended attributes for constructors and named constructors are now parsed into the AST as operations ready to be used to generate output.
* Implement putforwards processing.Vincent Sanders2015-09-305-22/+155
| | | | | | | | | interface attributes with the putforwards extended attribute call the setter specified in that extended attribute. The WebIDL is supposed to ensure the attribute is readonly before allowing a putforwards but we only warn about this as there are several examples where readonly is omitted.
* Allow empty classesVincent Sanders2015-09-283-6/+66
|
* annotates binding AST with source linenumber and fileVincent Sanders2015-09-286-14/+65
| | | | | Uses annotated AST to put line directives in the generated source so any code errors in the binding can be easily located.
* Improve the parser error reportingVincent Sanders2015-09-283-34/+126
| | | | | | | The parser now reports the correct file and line number for errors. Additionally the @n location structure in rules now has a filename member in addition to first_line. These members are useful for adding location information in generated source.
* Simplify genbind AST handling of preface, prologue, epilogue and postfaceVincent Sanders2015-09-268-172/+196
|
* Improve documentation on webidl type specifiersVincent Sanders2015-09-251-15/+15
|
* Make the binding parser understand c typesVincent Sanders2015-09-2511-301/+318
| | | | | | 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-072-6/+5
| | | | | | 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-306-511/+421
| | | | | | 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.
* add dictionary members to irVincent Sanders2015-08-212-6/+131
|
* only publicly export initialisors and finalisors if necessaryVincent Sanders2015-08-213-19/+33
|
* split up duk-libdom generation source as it had grown unweildyVincent Sanders2015-08-216-1411/+2021
|
* add dictionary support and generationVincent Sanders2015-08-213-307/+583
| | | | The dictionary implementation is presetnt but incomplete.
* rename interface map to be intermediate representationVincent Sanders2015-08-176-191/+201
| | | | | | 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.
* Add WebIDL parsing of dictionariesVincent Sanders2015-08-175-81/+240
| | | | | | This adds correct parsing of dictionaries into the AST. These entries in the AST are not yet used but do not affect generation of interfaces.
* 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-114-14/+161
|
* 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-104-15/+38
|
* Properly inject interface prototypesDaniel Silverstone2015-08-091-3/+5
|
* Generate interface objectsDaniel Silverstone2015-08-091-2/+21
|
* Merge branch 'vince/interfacemap'Daniel Silverstone2015-08-0938-3226/+8971
|\
| * 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
| |