As I understand it, the commented out externs are ones that we couldn't
properly parse successfully. I would consider it a bug in externc because
the externs should generally be considered correct.

I think I can fix the bodyUsed issue. It seems to be ignoring the @override
tag and defaulting to Object because no type is specified. It appears that
we may have resolved this already for methods, but not getters/setters.

After fixing that one, I'll investigate any other issues that you add to
this thread.

--
Josh Tynjala
Bowler Hat LLC
https://bowlerhat.dev/


On Wed, Feb 18, 2026 at 2:13 AM Harbs <[email protected]> wrote:

> I’m trying to add more js typedefs and I’m running into issues.
>
> One issue I just ran into is:
>
> /** @type {boolean} */
> Body.prototype.bodyUsed;
>
>
> /** @override */
> Request.prototype.bodyUsed;
>
> /** @override */
> Response.prototype.bodyUsed;
>
>
> Request and Response both:
>  * @implements {Body}
>
> When compiling, we get an error because the Request and Response
> setters/getters are typed to “Object”, while the Body ones are correctly
> types as Booleans.
>
> It seems like externc does not find the inherited types using @implements.
>
> Is this a bug? Something not implemented? Is it easy to fix?
>
> We can add more files to the list we maintain in royale-extras, but I’d
> like to reduce that rather than increase it.
>
> Thoughts?
>
> Harbs

Reply via email to