From 2ac9b323918e8c61c4707fbd79d45cf1c6eecfd0 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Tue, 1 Jun 2021 20:44:32 -0700 Subject: interpreter: Do not create Generator in GeneratorHolder This is an odd pattern, not the way most Holders work, and would be problematic if a method wanted to return a Generator. --- mesonbuild/interpreter/interpreterobjects.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'mesonbuild/interpreter/interpreterobjects.py') diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py index f7c8466..8913b21 100644 --- a/mesonbuild/interpreter/interpreterobjects.py +++ b/mesonbuild/interpreter/interpreterobjects.py @@ -621,11 +621,12 @@ class ExternalLibraryHolder(InterpreterObject, ObjectHolder[ExternalLibrary]): return DependencyHolder(pdep, self.subproject) class GeneratorHolder(InterpreterObject, ObjectHolder[build.Generator]): + @FeatureNewKwargs('generator', '0.43.0', ['capture']) - def __init__(self, interp, args, kwargs): - self.interpreter = interp + def __init__(self, gen: 'build.Generator', interpreter: 'Interpreter'): InterpreterObject.__init__(self) - ObjectHolder.__init__(self, build.Generator(args, kwargs), interp.subproject) + ObjectHolder.__init__(self, gen, interpreter.subproject) + self.interpreter = interpreter self.methods.update({'process': self.process_method}) @FeatureNewKwargs('generator.process', '0.45.0', ['preserve_path_from']) -- cgit v1.1