def _generate_conversions_for_command(self, domain, command): lines = [] if command.call_parameters: lines.append("") def in_param_expression(param_name, parameter): _type = parameter.type if isinstance(_type, AliasedType): _type = _type.aliased_type # Fall through to enum or primitive. if isinstance(_type, EnumType): _type = _type.primitive_type # Fall through to primitive. if isinstance(_type, PrimitiveType): if _type.raw_name() in ["array", "any", "object"]: return "&%s" % param_name if not parameter.is_optional else param_name return "*%s" % param_name if parameter.is_optional else param_name return "&%s" % param_name if not parameter.is_optional else param_name for parameter in command.call_parameters: in_param_name = "in_%s" % parameter.parameter_name objc_in_param_name = "o_%s" % in_param_name objc_type = ObjCGenerator.objc_type_for_param(domain, command.command_name, parameter, False) param_expression = in_param_expression(in_param_name, parameter) import_expression = ObjCGenerator.objc_protocol_import_expression_for_parameter( param_expression, domain, command.command_name, parameter ) if not parameter.is_optional: lines.append(" %s = %s;" % (join_type_and_name(objc_type, objc_in_param_name), import_expression)) else: lines.append(" %s;" % join_type_and_name(objc_type, objc_in_param_name)) lines.append(" if (%s)" % in_param_name) lines.append(" %s = %s;" % (objc_in_param_name, import_expression)) if lines: lines.append("") return "\n".join(lines)
def _generate_conversions_for_command(self, domain, command): lines = [] if command.call_parameters: lines.append('') def in_param_expression(param_name, parameter): _type = parameter.type if isinstance(_type, AliasedType): _type = _type.aliased_type # Fall through to enum or primitive. if isinstance(_type, EnumType): _type = _type.primitive_type # Fall through to primitive. if isinstance(_type, PrimitiveType): return '*%s' % param_name if parameter.is_optional else param_name return '%s.copyRef()' % param_name for parameter in command.call_parameters: in_param_name = 'in_%s' % parameter.parameter_name objc_in_param_name = 'o_%s' % in_param_name objc_type = ObjCGenerator.objc_type_for_param(domain, command.command_name, parameter, False) param_expression = in_param_expression(in_param_name, parameter) import_expression = ObjCGenerator.objc_protocol_import_expression_for_parameter(param_expression, domain, command.command_name, parameter) if not parameter.is_optional: lines.append(' %s = %s;' % (join_type_and_name(objc_type, objc_in_param_name), import_expression)) else: lines.append(' %s;' % join_type_and_name(objc_type, objc_in_param_name)) lines.append(' if (%s)' % in_param_name) lines.append(' %s = %s;' % (objc_in_param_name, import_expression)) if lines: lines.append('') return '\n'.join(lines)
def _generate_conversions_for_command(self, domain, command): lines = [] if command.call_parameters: lines.append('') for parameter in command.call_parameters: in_param_name = 'in_%s' % parameter.parameter_name objc_in_param_name = 'o_%s' % in_param_name objc_type = ObjCGenerator.objc_type_for_param(domain, command.command_name, parameter, False) in_param_optional_safe_name = '*%s' % in_param_name if parameter.is_optional else in_param_name import_expression = ObjCGenerator.objc_protocol_import_expression_for_parameter(in_param_optional_safe_name, domain, command.command_name, parameter) if not parameter.is_optional: lines.append(' %s = %s;' % (join_type_and_name(objc_type, objc_in_param_name), import_expression)) else: lines.append(' %s;' % join_type_and_name(objc_type, objc_in_param_name)) lines.append(' if (%s)' % in_param_name) lines.append(' %s = %s;' % (objc_in_param_name, import_expression)) if lines: lines.append('') return '\n'.join(lines)
def _generate_conversions_for_command(self, domain, command): lines = [] if command.call_parameters: lines.append('') def in_param_expression(param_name, parameter): _type = parameter.type if isinstance(_type, AliasedType): _type = _type.aliased_type # Fall through to enum or primitive. if isinstance(_type, EnumType): _type = _type.primitive_type # Fall through to primitive. if isinstance(_type, PrimitiveType): if _type.raw_name() in ['array', 'any', 'object']: return '&%s' % param_name if not parameter.is_optional else param_name return '*%s' % param_name if parameter.is_optional else param_name return '&%s' % param_name if not parameter.is_optional else param_name for parameter in command.call_parameters: in_param_name = 'in_%s' % parameter.parameter_name objc_in_param_name = 'o_%s' % in_param_name objc_type = ObjCGenerator.objc_type_for_param( domain, command.command_name, parameter, False) param_expression = in_param_expression(in_param_name, parameter) import_expression = ObjCGenerator.objc_protocol_import_expression_for_parameter( param_expression, domain, command.command_name, parameter) if not parameter.is_optional: lines.append(' %s = %s;' % (join_type_and_name( objc_type, objc_in_param_name), import_expression)) else: lines.append(' %s;' % join_type_and_name(objc_type, objc_in_param_name)) lines.append(' if (%s)' % in_param_name) lines.append(' %s = %s;' % (objc_in_param_name, import_expression)) if lines: lines.append('') return '\n'.join(lines)