interfaces inheriting a builtinclass-interface should be builtinclass too

RESOLVED FIXED

Status

()

Core
XPCOM
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: smaug, Assigned: smaug)

Tracking

Trunk
x86_64
Linux
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Assignee)

Description

5 years ago
.
(Assignee)

Comment 1

5 years ago
Hmm, there is 
+                IDL_tree_property_get(
+                  IDL_INTERFACE(iter).ident, "builtinclass")) {
+                IDL_tree_error(interface_tree,
+                               "%s is not [builtinclass] but extends "
+                               "[builtinclass] interface %s",
+                               IDL_IDENT(IDL_INTERFACE(interface_tree).ident).str,
+                               IDL_IDENT(IDL_INTERFACE(iter).ident).str);
+                return FALSE;

But I don't get that error with the patch for bug 761613
(Assignee)

Comment 2

5 years ago
Hmm, we don't have that error anymore in the python implementation.
(Assignee)

Comment 3

5 years ago
Either do builtinclass implicitly, or error if inheriting builtinclass.
Yeah, I think implicit is bad. We should make it an error if a non-builtin inherits a builtin. That's what I was trying to implement, but maybe I went wrong somewhere. Possibly the problem is that it's not implemented correctly in the python XPIDL parser that we recently switched to.
(Assignee)

Comment 5

5 years ago
Created attachment 630264 [details] [diff] [review]
patch

https://tbpl.mozilla.org/?tree=Try&rev=308af20708c2

Compiles at least locally.
Assignee: nobody → bugs
Attachment #630264 - Flags: review?(khuey)
Comment on attachment 630264 [details] [diff] [review]
patch

Review of attachment 630264 [details] [diff] [review]:
-----------------------------------------------------------------

I'm just assuming you got all the interfaces.  The xpidl.py changes are fine.
Attachment #630264 - Flags: review?(khuey) → review+
(Assignee)

Updated

5 years ago
Depends on: 762007
(Assignee)

Updated

5 years ago
Summary: interfaces inheriting a builtinclass-interface should be implicitly builtinclass → interfaces inheriting a builtinclass-interface should be builtinclass too
(Assignee)

Comment 7

5 years ago
Created attachment 630541 [details] [diff] [review]
Trying some webapp hackery

This needs the patch for Bug 762007
(Assignee)

Comment 8

5 years ago
https://hg.mozilla.org/mozilla-central/rev/5fb42dae7200
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.