diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2021-04-09 15:15:07 -0400 |
---|---|---|
committer | Xavier Claessens <xclaesse@gmail.com> | 2021-05-28 15:17:10 -0400 |
commit | 2e02ef6592fa6634eadbe388c2a5ee957ce20e59 (patch) | |
tree | 2083b14523bc246507a5d91dee7113e9ac66d5ee /mesonbuild/interpreter/interpreterobjects.py | |
parent | a734bcfc83a67788f71b5b84a46a4d9727b5ec09 (diff) | |
download | meson-2e02ef6592fa6634eadbe388c2a5ee957ce20e59.zip meson-2e02ef6592fa6634eadbe388c2a5ee957ce20e59.tar.gz meson-2e02ef6592fa6634eadbe388c2a5ee957ce20e59.tar.bz2 |
modules: Add methods dict everywhere
This fix calling random internal methods from meson.build as long as
they were not prefixed by underscore.
Diffstat (limited to 'mesonbuild/interpreter/interpreterobjects.py')
-rw-r--r-- | mesonbuild/interpreter/interpreterobjects.py | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py index 3f76e4e..c70b8b5 100644 --- a/mesonbuild/interpreter/interpreterobjects.py +++ b/mesonbuild/interpreter/interpreterobjects.py @@ -789,13 +789,8 @@ class ModuleObjectHolder(InterpreterObject, ObjectHolder['ModuleObject']): def method_call(self, method_name, args, kwargs): modobj = self.held_object method = modobj.methods.get(method_name) - if not method and not modobj.methods: - # FIXME: Port all modules to use the methods dict. - method = getattr(modobj, method_name, None) - if method_name.startswith('_'): - raise InvalidArguments(f'Method {method_name!r} is private.') if not method: - raise InvalidCode('Unknown method "%s" in object.' % method_name) + raise InvalidCode(f'Unknown method {method_name!r} in object.') if not getattr(method, 'no-args-flattening', False): args = flatten(args) state = ModuleState(self.interpreter) |