def _generate_forward_declarations(self, domain): lines = [] for declaration in domain.type_declarations: if (isinstance(declaration.type, ObjectType)): objc_name = ObjCGenerator.objc_name_for_type(declaration.type) lines.append('@class %s;' % objc_name) return '\n'.join(lines)
def _generate_type_interface(self, domain, declaration): lines = [] objc_name = ObjCGenerator.objc_name_for_type(declaration.type) lines.append('@interface %s : %s' % (objc_name, ObjCGenerator.OBJC_JSON_OBJECT_BASE)) required_members = filter(lambda member: not member.is_optional, declaration.type_members) optional_members = filter(lambda member: member.is_optional, declaration.type_members) if required_members: lines.append(self._generate_init_method_for_required_members(domain, declaration, required_members)) for member in required_members: lines.append('/* required */ ' + self._generate_member_property(declaration, member)) for member in optional_members: lines.append('/* optional */ ' + self._generate_member_property(declaration, member)) lines.append('@end') return '\n'.join(lines)
def generate_type_implementation(self, domain, declaration): lines = [] lines.append('@implementation %s' % ObjCGenerator.objc_name_for_type(declaration.type)) required_members = filter(lambda member: not member.is_optional, declaration.type_members) if required_members: lines.append('') lines.append(self._generate_init_method_for_required_members(domain, declaration, required_members)) for member in declaration.type_members: lines.append('') lines.append(self._generate_setter_for_member(domain, declaration, member)) lines.append('') lines.append(self._generate_getter_for_member(domain, declaration, member)) lines.append('') lines.append('@end') return '\n'.join(lines)
def _generate_type_interface(self, domain, declaration): lines = [] objc_name = ObjCGenerator.objc_name_for_type(declaration.type) lines.append('__attribute__((visibility ("default")))') lines.append('@interface %s : %s' % (objc_name, ObjCGenerator.OBJC_JSON_OBJECT_BASE)) required_members = [member for member in declaration.type_members if not member.is_optional] optional_members = [member for member in declaration.type_members if member.is_optional] if required_members: lines.append(self._generate_init_method_for_required_members(domain, declaration, required_members)) for member in required_members: lines.append('/* required */ ' + self._generate_member_property(declaration, member)) for member in optional_members: lines.append('/* optional */ ' + self._generate_member_property(declaration, member)) lines.append('@end') return '\n'.join(lines)
def generate_type_implementation(self, domain, declaration): lines = [] lines.append('@implementation %s' % ObjCGenerator.objc_name_for_type(declaration.type)) required_members = filter(lambda member: not member.is_optional, declaration.type_members) if required_members: lines.append('') lines.append( self._generate_init_method_for_required_members( domain, declaration, required_members)) for member in declaration.type_members: lines.append('') lines.append( self._generate_setter_for_member(domain, declaration, member)) lines.append('') lines.append( self._generate_getter_for_member(domain, declaration, member)) lines.append('') lines.append('@end') return '\n'.join(lines)