mirror of
https://github.com/RGBCube/serenity
synced 2025-07-14 02:37:37 +00:00
![]() This requires a little explanation. The overload resolution algorithm, where this is used, repeatedly has steps like this: > Otherwise: if V is a platform object, and there is an entry in S that > has one of the following types at position i of its type list, > - an interface type that V implements > - object > - a nullable version of any of the above types > - an annotated type whose inner type is one of the above types > - a union type, nullable union type, or annotated union type that has > one of the above types in its flattened member types > then remove from S all other entries. So, the API here tries to match that. We save the matching entry when checking through them and then use that in `remove_all_other_entries()`. Removing all those entries when all we actually care about is looking at that one matching entry feels silly, but sticking to the spec is more important while things are still half-implemented. :^) |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
IDLParser.cpp | ||
IDLParser.h | ||
Types.cpp | ||
Types.h |