def setOwner(self, owner): assert self.owner is None self.owner = owner self.normal_variables = [] for count, normal_arg in enumerate( self.normal_args ): if type( normal_arg ) == str: normal_variable = Variables.ParameterVariable( owner = self.owner, parameter_name = normal_arg, kw_only = False ) elif type( normal_arg ) == tuple: sub_parameter_spec = ParameterSpecTuple( normal_args = normal_arg, nest_count = self.nest_count + 1 ) sub_parameter_spec.setOwner( self.owner ) sub_parameter_name = "Unpackable_%s_%s" % ( self.nest_count, count+1 ) normal_variable = Variables.NestedParameterVariable( owner = self.owner, parameter_name = sub_parameter_name, parameter_spec = sub_parameter_spec ) else: assert False, normal_arg self.normal_variables.append( normal_variable )