Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Correctly annotate unused variables with a macro | Vincent Sanders | 2016-02-06 | 5 | -7/+18 |
| | |||||
* | Add support for TreatNullAs=EmptyString extended attribute. | John-Mark Bell | 2016-02-01 | 3 | -2/+20 |
| | |||||
* | Expose nullable flag in IR and have generated getters use it. | John-Mark Bell | 2016-02-01 | 3 | -2/+14 |
| | |||||
* | Make generated string attribute getters cope with libdom returning NULL. | John-Mark Bell | 2016-01-31 | 1 | -4/+8 |
| | | | | Fixes #2415, #2418. | ||||
* | simplify strndup detection | Vincent Sanders | 2016-01-24 | 1 | -3/+1 |
| | |||||
* | Improve strndup detection | Vincent Sanders | 2016-01-24 | 1 | -1/+3 |
| | |||||
* | Use attribute types from IR for generated event handlers | Vincent Sanders | 2015-11-05 | 2 | -20/+149 |
| | |||||
* | extend IR to have a separate map for attribute types | Vincent Sanders | 2015-11-05 | 2 | -32/+92 |
| | |||||
* | Add generated code for short integer values | Vincent Sanders | 2015-11-01 | 1 | -0/+53 |
| | |||||
* | split heuristic code generation out from interface logic | Vincent Sanders | 2015-11-01 | 4 | -185/+230 |
| | |||||
* | extend the interface attribute setter automatic code generation to cover longs | Vincent Sanders | 2015-10-25 | 1 | -0/+29 |
| | |||||
* | improve unimplemented warning to include type modifier | Vincent Sanders | 2015-10-24 | 3 | -7/+16 |
| | |||||
* | extend the interface attribute getter automatic code generation to cover longs | Vincent Sanders | 2015-10-24 | 1 | -0/+24 |
| | |||||
* | Extend IR attribute entries to contain the type modifiler | Vincent Sanders | 2015-10-24 | 2 | -17/+43 |
| | |||||
* | Fix putforwards generation to cope with getters leaving a dirty stack | Vincent Sanders | 2015-10-14 | 1 | -5/+4 |
| | | | | Kinnison did all teh heavy tjinking on this! | ||||
* | slightly modify the IDL to c name translation | Vincent Sanders | 2015-10-13 | 1 | -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 names | Vincent Sanders | 2015-10-12 | 1 | -2/+21 |
| | |||||
* | show the property type on unimplemented getter warning | Vincent Sanders | 2015-10-12 | 1 | -2/+4 |
| | |||||
* | show the property type on unimplemented setter warning | Vincent Sanders | 2015-10-09 | 3 | -2/+60 |
| | |||||
* | Improve the generated instanceof in the binding to take an index | Vincent Sanders | 2015-10-09 | 1 | -16/+16 |
| | |||||
* | Add automatic generation of property getters and setters | Vincent Sanders | 2015-10-08 | 3 | -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 conversion | Vincent Sanders | 2015-10-08 | 3 | -64/+69 |
| | |||||
* | Add warning for identifying generated output | Vincent Sanders | 2015-10-08 | 2 | -1/+5 |
| | |||||
* | make interface operations with elipsis parameters output line directives | Vincent Sanders | 2015-10-01 | 1 | -4/+1 |
| | |||||
* | Process extended attributes for constructors | Vincent Sanders | 2015-09-30 | 2 | -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 Sanders | 2015-09-30 | 5 | -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 classes | Vincent Sanders | 2015-09-28 | 1 | -5/+9 |
| | |||||
* | annotates binding AST with source linenumber and file | Vincent Sanders | 2015-09-28 | 6 | -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 reporting | Vincent Sanders | 2015-09-28 | 3 | -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 postface | Vincent Sanders | 2015-09-26 | 8 | -172/+196 |
| | |||||
* | Improve documentation on webidl type specifiers | Vincent Sanders | 2015-09-25 | 1 | -15/+15 |
| | |||||
* | Make the binding parser understand c types | Vincent Sanders | 2015-09-25 | 9 | -212/+229 |
| | | | | | | 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 Sanders | 2015-09-07 | 2 | -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 Sanders | 2015-08-30 | 6 | -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 ir | Vincent Sanders | 2015-08-21 | 2 | -6/+131 |
| | |||||
* | only publicly export initialisors and finalisors if necessary | Vincent Sanders | 2015-08-21 | 3 | -19/+33 |
| | |||||
* | split up duk-libdom generation source as it had grown unweildy | Vincent Sanders | 2015-08-21 | 6 | -1411/+2021 |
| | |||||
* | add dictionary support and generation | Vincent Sanders | 2015-08-21 | 3 | -307/+583 |
| | | | | The dictionary implementation is presetnt but incomplete. | ||||
* | rename interface map to be intermediate representation | Vincent Sanders | 2015-08-17 | 6 | -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 dictionaries | Vincent Sanders | 2015-08-17 | 5 | -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 arguments | Vincent Sanders | 2015-08-13 | 3 | -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 elements | Vincent Sanders | 2015-08-11 | 2 | -14/+95 |
| | |||||
* | Change to using single instance of constant strings for magic values | Vincent Sanders | 2015-08-11 | 1 | -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 operations | Vincent Sanders | 2015-08-11 | 2 | -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 valid | Vincent Sanders | 2015-08-10 | 1 | -2/+14 |
| | |||||
* | Add dry run feature | Vincent Sanders | 2015-08-10 | 3 | -3/+22 |
| | |||||
* | Properly inject interface prototypes | Daniel Silverstone | 2015-08-09 | 1 | -3/+5 |
| | |||||
* | Generate interface objects | Daniel Silverstone | 2015-08-09 | 1 | -2/+21 |
| | |||||
* | Stop parallel runs of genbind temporary files conflicting. | Daniel Silverstone | 2015-08-09 | 1 | -1/+4 |
| | |||||
* | Update the interface map to contain all operation arguments | Vincent Sanders | 2015-08-09 | 7 | -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. |