def get_value(self) -> "FunctionArgValueInput": ret = functions.FunctionArgValueInput() ret.inputs = [v.get_value() for v in self.inputs] keywords_ = {} for k, v in self.keywords.items(): keywords_[k] = v.get_value() ret.keywords = keywords_ return ret
def make_attribute(value): if isinstance(value, list): for i in range(len(value)): value[i] = make_attribute(value[i]) if isinstance(value, functions.FunctionArgValueInput): converted = {} ret = functions.FunctionArgValueInput() for v in value.inputs: converted_v = make_attribute(v) ret.inputs.append(converted_v) converted[v] = converted_v keywords_ = {} for k, v in value.keywords.items(): if v in converted.keys(): keywords_[k] = converted[v] else: keywords_[k] = make_attribute(v) ret.keywords = keywords_ return ret if isinstance(value, values.TupleValue) and value.internal_value is not None: vs = [] for v in value.internal_value: if isinstance(v, values.Object): v = v.get_value() vs.append(v) ret = values.TupleValue(vs) ret.name = value.name ret.generator = value.generator return ret if isinstance(value, values.Object): return value.get_value() return value