summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibIDL/IDLParser.cpp
AgeCommit message (Collapse)Author
2022-10-21LibIDL: Resolve typedefs in UnionType members recursivelyLinus Groh
2022-10-09LibIDL: Remove static maps for interfaces and resolved importsAndrew Kaster
Instead, create a tree of Parsers all pointing to a top-level Parser. All module imports and interfaces are stored at the top level, instead of in a static map. This allows creating multiple IDL::Parsers in the same process without them stepping on each others toes.
2022-10-09LibIDL: Parse extended attributes that have () wrapped expressionsAndrew Kaster
This includes things like Exposed and LegacyFactoryFunction.
2022-10-06BindingsGenerator+LibIDL: Parse "inherit" attributesSam Atkins
An "inherit attribute" calls an ancestor's getter with the same name, but defines its own setter. Since a parent class's public methods are exposed to child classes, we don't have to do any special handling here to call the parent's methods, it just works. :^)
2022-09-21LibIDL+LibWeb: Remove stale references to "wrapper class" conceptLinus Groh
There are no wrappers for the platform object types anymore :^)
2022-09-17LibIDL+WrapperGenerator: Make it easier to work with IDL::Type classesSam Atkins
Track the kind of Type it is, and use that to provide some convenient `is_foo()` / `as_foo()` methods. While I was at it, made these all classes instead of structs and made their data private.
2022-09-17LibIDL+WrapperGenerator: Move IDL code into a librarySam Atkins
IDL function overload resolution requires knowing each IDL function's parameters and their types at runtime. The simplest way to do that is just to make the types the generator uses available to the runtime. Parsing has moved to LibIDL, but code generation has not, since that is very specific to WrapperGenerator.