Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 | 3 | -6/+66 |
| | |||||
* | 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 | 11 | -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 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 | 4 | -14/+161 |
| | |||||
* | 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 | 4 | -15/+38 |
| | |||||
* | Properly inject interface prototypes | Daniel Silverstone | 2015-08-09 | 1 | -3/+5 |
| | |||||
* | Generate interface objects | Daniel Silverstone | 2015-08-09 | 1 | -2/+21 |
| | |||||
* | Merge branch 'vince/interfacemap' | Daniel Silverstone | 2015-08-09 | 38 | -3226/+8971 |
|\ | |||||
| * | 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. | ||||
| * | Enable warnings to be enabled and generated for unimplemented elements | Vincent Sanders | 2015-08-06 | 3 | -3/+28 |
| | | |||||
| * | Add ptototype method type to binding | Vincent Sanders | 2015-08-05 | 4 | -7/+27 |
| | | | | | | | | | | This allows additional cdata to be added to the generated prototype constructor. | ||||
| * | change method and property generators default block generation | Vincent Sanders | 2015-08-05 | 1 | -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 Sanders | 2015-08-04 | 1 | -14/+18 |
| | | |||||
| * | Update README with info on generated output | Vincent Sanders | 2015-08-04 | 1 | -0/+56 |
| | | |||||
| * | When constructing the interface map ensure method type search code does not ↵ | Vincent Sanders | 2015-08-03 | 1 | -1/+3 |
| | | | | | | | | strcmp null |