diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2015-12-25 04:52:13 +0100 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2016-02-23 17:06:13 +0100 |
commit | c95855c7ea6f4451bb549bee4bc1302b92ed951b (patch) | |
tree | 3bc438a9137bd558b4cef3b0db52e99395be574c /components/script/dom/bindings/codegen/parser/WebIDL.py | |
parent | 3550993075a0dedb5857a421cf39c3e8942b30f8 (diff) | |
download | servo-c95855c7ea6f4451bb549bee4bc1302b92ed951b.tar.gz servo-c95855c7ea6f4451bb549bee4bc1302b92ed951b.zip |
Implement [LegacyUnenumerableNamedProperties] in the WebIDL parser
http://github.com/heycam/webidl/issues/82
Diffstat (limited to 'components/script/dom/bindings/codegen/parser/WebIDL.py')
-rw-r--r-- | components/script/dom/bindings/codegen/parser/WebIDL.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/components/script/dom/bindings/codegen/parser/WebIDL.py b/components/script/dom/bindings/codegen/parser/WebIDL.py index 273824fb1b0..c17e1c975a0 100644 --- a/components/script/dom/bindings/codegen/parser/WebIDL.py +++ b/components/script/dom/bindings/codegen/parser/WebIDL.py @@ -1069,6 +1069,12 @@ class IDLInterface(IDLObjectWithScope, IDLExposureMixins): specialMembersSeen[memberType] = member + if (self.getExtendedAttribute("LegacyUnenumerableNamedProperties") and + "named getters" not in specialMembersSeen): + raise WebIDLError("[LegacyUnenumerableNamedProperties] used on an interface " + "without a named getter", + [self.location]) + if self._isOnGlobalProtoChain: # Make sure we have no named setters, creators, or deleters for memberType in ["setter", "creator", "deleter"]: @@ -1417,7 +1423,8 @@ class IDLInterface(IDLObjectWithScope, IDLExposureMixins): identifier == "UnsafeInPrerendering" or identifier == "LegacyEventInit" or identifier == "ProbablyShortLivingObject" or - identifier == "Abstract"): + identifier == "Abstract" or + identifier == "LegacyUnenumerableNamedProperties"): # Known extended attributes that do not take values if not attr.noArguments(): raise WebIDLError("[%s] must take no arguments" % identifier, |