summaryrefslogtreecommitdiff
path: root/third_party/WebIDL.py
diff options
context:
space:
mode:
authorOphir LOJKINE <pere.jobs@gmail.com>2014-05-19 23:21:21 +0200
committerOphir LOJKINE <pere.jobs@gmail.com>2014-05-19 23:21:21 +0200
commitea01df8b734fb59c8dd435b3c3a7c0aa77a9b08f (patch)
treebbb0594d17fa7e6d9fd435dff33608465164923d /third_party/WebIDL.py
parentba00e71ac68819df214fdfc57dda71c5bb58e887 (diff)
parentf681994208ed73f7642e5658ba9482c1743f0f35 (diff)
Merge remote-tracking branch 'upstream/incoming' into fast-cwrap
Diffstat (limited to 'third_party/WebIDL.py')
-rw-r--r--third_party/WebIDL.py13
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