diff options
Diffstat (limited to 'third_party/WebIDL.py')
-rw-r--r-- | third_party/WebIDL.py | 12 |
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) |