summaryrefslogtreecommitdiff
path: root/third_party/WebIDL.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/WebIDL.py')
-rw-r--r--third_party/WebIDL.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/third_party/WebIDL.py b/third_party/WebIDL.py
index 867a7cbc..1ce44e06 100644
--- a/third_party/WebIDL.py
+++ b/third_party/WebIDL.py
@@ -649,13 +649,15 @@ class IDLInterface(IDLObjectWithScope):
# Flag the interface as being someone's consequential interface
iface.setIsConsequentialInterfaceOf(self)
additionalMembers = iface.originalMembers;
- for additionalMember in additionalMembers:
+ for additionalMember in additionalMembers[:]:
for member in self.members:
if additionalMember.identifier.name == member.identifier.name:
- raise WebIDLError(
- "Multiple definitions of %s on %s coming from 'implements' statements" %
- (member.identifier.name, self),
- [additionalMember.location, member.location])
+ # XXX emscripten: allow such name collisions, ignore parent
+ additionalMembers.remove(additionalMember)
+ #raise WebIDLError(
+ # "Multiple definitions of %s on %s coming from 'implements' statements" %
+ # (member.identifier.name, self),
+ # [additionalMember.location, member.location])
self.members.extend(additionalMembers)
iface.interfacesImplementingSelf.add(self)