diff options
Diffstat (limited to 'third_party/WebIDL.py')
-rw-r--r-- | third_party/WebIDL.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/third_party/WebIDL.py b/third_party/WebIDL.py index 867a7cbc..a94cb528 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) @@ -3441,6 +3443,7 @@ class IDLMethod(IDLInterfaceMember, IDLScope): identifier == "Ref" or identifier == "Value" or identifier == "Operator" or + identifier == "Const" or identifier == "WebGLHandlesContextLoss"): # Known attributes that we don't need to do anything with here pass |