Bug 1550545, part 3 - Move the logic for notxpcom implying hidden into jsonxpt. r=nika
authorAndrew McCreight <continuation@gmail.com>
Thu, 09 May 2019 22:07:12 +0000
changeset 535204 8095cb5a0964634f1905cafb714a33a8c7fbbd5f
parent 535203 d9144ab0231e1cb13e8ff2aa886e3550a3334ca1
child 535205 e93a97c6e708cd67d514574a14a611ca516906b4
push id2082
push userffxbld-merge
push dateMon, 01 Jul 2019 08:34:18 +0000
treeherdermozilla-release@2fb19d0466d2 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersnika
bugs1550545
milestone68.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1550545, part 3 - Move the logic for notxpcom implying hidden into jsonxpt. r=nika Differential Revision: https://phabricator.services.mozilla.com/D30528
xpcom/idl-parser/xpidl/jsonxpt.py
xpcom/reflect/xptinfo/xptcodegen.py
--- a/xpcom/idl-parser/xpidl/jsonxpt.py
+++ b/xpcom/idl-parser/xpidl/jsonxpt.py
@@ -132,18 +132,17 @@ def mk_method(method, params, getter=0, 
         # never call the methods if they're marked notxpcom, and all xpcom
         # methods return the same type (nsresult).
         # XXX: If we ever use these files for other purposes than xptcodegen we
         # may want to write that info.
         'params': params,
         'flags': flags(
             ('getter', getter),
             ('setter', setter),
-            ('notxpcom', method.notxpcom),
-            ('hidden', method.noscript),
+            ('hidden', method.noscript or method.notxpcom),
             ('optargc', optargc),
             ('jscontext', method.implicit_jscontext),
             ('hasretval', hasretval),
             ('symbol', method.symbol),
         ),
     }
 
 
--- a/xpcom/reflect/xptinfo/xptcodegen.py
+++ b/xpcom/reflect/xptinfo/xptcodegen.py
@@ -315,17 +315,17 @@ def link_to_cpp(interfaces, fd):
             "%d = %s" % (len(params), paramname),
             mType=lower_type(param['type'],
                              in_='in' in param['flags'],
                              out='out' in param['flags'],
                              optional='optional' in param['flags'])
         ))
 
     def is_method_reflectable(method):
-        if 'notxpcom' in method['flags'] or 'hidden' in method['flags']:
+        if 'hidden' in method['flags']:
             return False
 
         for param in method['params']:
             # Reflected methods can't use native types. All native types end up
             # getting tagged as void*, so this check is easy.
             if param['type']['tag'] == 'TD_VOID':
                 return False