def process_new_values(self, invalues):
    invalues = listify(invalues)
    for v in invalues:
        if isinstance(v, (RunTargetHolder, CustomTargetHolder, BuildTargetHolder)):
            v = v.held_object
        if isinstance(v, (build.BuildTarget, build.CustomTarget, build.RunTarget)):
            self.add_target(v.name, v)
        elif isinstance(v, list):
            self.module_method_callback(v)
        elif isinstance(v, build.GeneratedList):
            pass
        elif isinstance(v, build.RunScript):
            self.build.install_scripts.append(v)
        elif isinstance(v, build.Data):
            self.build.data.append(v)
        elif isinstance(v, dependencies.ExternalProgram):
            return ExternalProgramHolder(v, self.subproject)
        elif isinstance(v, dependencies.InternalDependency):
            self.process_new_values(v.sources[0])
        elif hasattr(v, 'held_object'):
            pass
        elif isinstance(v, (int, str, bool, Disabler)):
            pass
        else:
            raise InterpreterException('Module returned a value of unknown type.')
def process_new_values(self, invalues):
    invalues = listify(invalues)
    for v in invalues:
        if isinstance(v, (RunTargetHolder, CustomTargetHolder, BuildTargetHolder)):
            v = v.held_object
        if isinstance(v, (build.BuildTarget, build.CustomTarget, build.RunTarget)):
            self.add_target(v.name, v)
        elif isinstance(v, list):
            self.module_method_callback(v)
        elif isinstance(v, build.GeneratedList):
            pass
        elif isinstance(v, build.RunScript):
            self.build.install_scripts.append(v)
        elif isinstance(v, build.Data):
            self.build.data.append(v)
        elif isinstance(v, dependencies.ExternalProgram):
            return ExternalProgramHolder(v, self.subproject)
        elif isinstance(v, dependencies.InternalDependency):
            self.process_new_values(v.sources[0])
        elif hasattr(v, 'held_object'):
            pass
        elif isinstance(v, (int, str, bool, Disabler)):
            pass
        else:
            raise InterpreterException('Module returned a value of unknown type.')