summaryrefslogtreecommitdiff
path: root/src/webidl-ast.h
Commit message (Collapse)AuthorAgeFilesLines
* remove unused node set APIVincent Sanders2016-11-271-2/+0
|
* restructure AST node creation to avoid castsVincent Sanders2016-11-271-0/+9
| | | | | | | | | | | | | | | | This changes Abstract Syntax Tree node creation for both webidl and genbind syntax tress. If a node is to be created with a numeric value instead of a pointer a separate API is now used instead of casting through void. This fixes parsing and AST building on big endian 64bit platforms where casting through void, which is completely undefined behaviour, generates different and non-functioning code. The solution in this patch is properly portable and correct without relying on casting at all. Thanks to James Clarke <jrtc27@jrtc27.com> for the original debugging and patch demonstrating how to work round the bug.
* improve unimplemented warning to include type modifierVincent Sanders2015-10-241-1/+1
|
* show the property type on unimplemented setter warningVincent Sanders2015-10-091-0/+4
|
* Improve documentation on webidl type specifiersVincent Sanders2015-09-251-15/+15
|
* Change dictionary generation to produce C accessors.Vincent Sanders2015-08-301-0/+2
| | | | | | 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 WebIDL parsing of dictionariesVincent Sanders2015-08-171-2/+4
| | | | | | 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-131-0/+1
| | | | | | | 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-111-0/+3
|
* Update the interface map to contain all operation argumentsVincent Sanders2015-08-091-1/+2
| | | | | | | | | 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.
* Update the webidl parser to cope with specials and overloaded methodsVincent Sanders2015-08-021-2/+12
|
* Add property generation and add it to prototype constructionVincent Sanders2015-07-291-2/+3
|
* Load the WebIDL files specified in the bindingVincent Sanders2015-07-221-9/+30
| | | | | | | | | | | | | 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.
* Expand implements statements in the AST after it has been builtVincent Sanders2014-05-161-0/+3
| | | | | | | 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.
* add function and property enumerations to the interface mapVincent Sanders2014-05-161-0/+2
|
* annotate the webIDL AST with extended attributesVincent Sanders2013-01-281-0/+2
|
* add type suffix annotations to webidl ASTVincent Sanders2012-11-271-0/+3
|
* add AST construction of constants in interfacesVincent Sanders2012-11-111-0/+7
|
* implement the "implements" webidl directiveVincent Sanders2012-10-311-0/+1
|
* The name of teh tool is nsgenbind correct this everywhereVincent Sanders2012-10-231-3/+3
|
* construct input variablesVincent Sanders2012-10-111-0/+5
|
* fix polymorphism in teh AST generationVincent Sanders2012-10-041-2/+3
|
* add modifier to allow setting of readonly or unsigned etc.Vincent Sanders2012-09-261-3/+10
| | | | add property getter/setter body
* put return type in argument list so we can have multiple prototypes per ↵Vincent Sanders2012-09-251-1/+1
| | | | operation (method)
* add interface function return typeVincent Sanders2012-09-241-0/+1
|
* add interface function argument and type processingVincent Sanders2012-09-241-1/+29
|
* add basic function body creationVincent Sanders2012-09-241-0/+2
|
* cope with partial interfacesVincent Sanders2012-09-201-8/+3
|
* add property and function array generationVincent Sanders2012-09-201-0/+13
|
* add preamble outputVincent Sanders2012-09-141-0/+1
| | | | add operation nodes to webidl ast
* fixus interface memer attributesVincent Sanders2012-09-141-2/+3
|
* add debug dump to webidlVincent Sanders2012-09-131-4/+21
|
* construct the interface target nodeVincent Sanders2012-09-111-1/+4
|
* clean up parser warningsVincent Sanders2012-09-101-1/+4
|
* clean up AST building for both parsersVincent Sanders2012-09-101-22/+10
|
* add copyright and licence noticesVincent Sanders2012-09-071-0/+13
|
* initial output generationVincent Sanders2012-09-061-1/+27
|
* make tests workVincent Sanders2012-09-051-2/+4
| | | | add basic commandlien handling
* Initial version of netsurf webidl javascript binding geenrator toolVincent Sanders2012-09-041-0/+2