| Index: tools/dom/scripts/idlnode.py
|
| diff --git a/tools/dom/scripts/idlnode.py b/tools/dom/scripts/idlnode.py
|
| index 9726cb7846d28c6267d70f05282f6f0d5976625b..5fc3d22098329b716721e0211820040c92c68ec5 100755
|
| --- a/tools/dom/scripts/idlnode.py
|
| +++ b/tools/dom/scripts/idlnode.py
|
| @@ -482,9 +482,17 @@ class IDLOperation(IDLMember):
|
| # getter <ReturnType>(args). For now force the name to be __getter__,
|
| # but it should be operator[] later.
|
| if self.id is None:
|
| - if len(self.specials) != 1:
|
| + if self.specials == ['getter']:
|
| + self.id = '__getter__'
|
| + elif self.specials == ['setter']:
|
| + self.id = '__setter__'
|
| + # Special case: if it's a setter, ignore 'declared' return type
|
| + self.type = IDLType([('VoidType', None)])
|
| + elif self.specials == ['deleter']:
|
| + self.id = '__delete__'
|
| + else:
|
| raise Exception('Cannot handle %s: operation has no id' % ast)
|
| - self.id = '__%s__' % self.specials[0]
|
| +
|
| def _extra_repr(self):
|
| return [self.arguments]
|
|
|
|
|