From e42c9e24fe236f0ed9211724a9397535f9e3ab07 Mon Sep 17 00:00:00 2001 From: booster Date: Wed, 1 Apr 2026 15:31:46 +0300 Subject: [PATCH] Fixed build on Xcode 26.4 commit_hash:003f63688a2a0d33a0e8f84680d3982ecace7ece --- api_generator/api_generator/generators/divan/generator.py | 2 -- .../api_generator/generators/swift/swift_entities.py | 4 ++-- .../references/swift/EnumWithDefaultTypeTemplate.swift | 4 ++-- client/ios/DivKit/Expressions/ExpressionResolver.swift | 6 +++++- client/ios/DivKit/generated_sources/DivPivotTemplate.swift | 4 ++-- .../generated_sources/EnumWithDefaultTypeTemplate.swift | 4 ++-- 6 files changed, 13 insertions(+), 11 deletions(-) diff --git a/api_generator/api_generator/generators/divan/generator.py b/api_generator/api_generator/generators/divan/generator.py index 7660a0ebe..b35c3fcec 100644 --- a/api_generator/api_generator/generators/divan/generator.py +++ b/api_generator/api_generator/generators/divan/generator.py @@ -89,8 +89,6 @@ class DivanGenerator(Generator): if with_factory_methods: def add_methods_declarations(ent: DivanEntity): - nonlocal result_declaration - def add_declaration(comment_block: Text, declaration: Text): nonlocal result_declaration if not declaration.lines: diff --git a/api_generator/api_generator/generators/swift/swift_entities.py b/api_generator/api_generator/generators/swift/swift_entities.py index db61d7ced..2a8fcda01 100644 --- a/api_generator/api_generator/generators/swift/swift_entities.py +++ b/api_generator/api_generator/generators/swift/swift_entities.py @@ -933,8 +933,8 @@ class SwiftEntityEnumeration(EntityEnumeration): result = Text(f'private static func resolveUnknownValue({params}) -> {return_type} {{') if self.default_entity_declaration: default_type = utils.capitalize_camel_case(self.default_entity_declaration) - result += f' let type = (context.templateData["type"] as? String ?? {default_type}.type)' - result += ' .flatMap { context.templateToType[$0] ?? $0 } ' + result += f' let raw = context.templateData["type"] as? String ?? {default_type}.type' + result += ' let type = context.templateToType[raw] ?? raw' else: result += ' guard let type = (context.templateData["type"] as? String).flatMap({ context.templateToType[$0] ?? $0 }) else {' result += ' return .failure(NonEmptyArray(.requiredFieldIsMissing(field: "type")))' diff --git a/api_generator/tests/references/swift/EnumWithDefaultTypeTemplate.swift b/api_generator/tests/references/swift/EnumWithDefaultTypeTemplate.swift index 9c530b251..291fd5ac3 100644 --- a/api_generator/tests/references/swift/EnumWithDefaultTypeTemplate.swift +++ b/api_generator/tests/references/swift/EnumWithDefaultTypeTemplate.swift @@ -65,8 +65,8 @@ public enum EnumWithDefaultTypeTemplate: TemplateValue, Sendable { } private static func resolveUnknownValue(context: TemplatesContext, useOnlyLinks: Bool) -> DeserializationResult { - let type = (context.templateData["type"] as? String ?? WithDefault.type) - .flatMap { context.templateToType[$0] ?? $0 } + let raw = context.templateData["type"] as? String ?? WithDefault.type + let type = context.templateToType[raw] ?? raw return { var result: DeserializationResult? diff --git a/client/ios/DivKit/Expressions/ExpressionResolver.swift b/client/ios/DivKit/Expressions/ExpressionResolver.swift index ce1516576..338302be3 100644 --- a/client/ios/DivKit/Expressions/ExpressionResolver.swift +++ b/client/ios/DivKit/Expressions/ExpressionResolver.swift @@ -212,9 +212,13 @@ public final class ExpressionResolver { return nil } + private func resolveStringBasedLink(_ link: ExpressionLink) -> String? { + resolveStringBasedLink(link, initializer: { $0 as? String }) + } + private func resolveStringBasedLink( _ link: ExpressionLink, - initializer: (String) -> T? = { $0 } + initializer: (String) -> T? ) -> T? { var stringValue = "" for item in link.items { diff --git a/client/ios/DivKit/generated_sources/DivPivotTemplate.swift b/client/ios/DivKit/generated_sources/DivPivotTemplate.swift index d7bca4065..d9475fd65 100644 --- a/client/ios/DivKit/generated_sources/DivPivotTemplate.swift +++ b/client/ios/DivKit/generated_sources/DivPivotTemplate.swift @@ -65,8 +65,8 @@ public enum DivPivotTemplate: TemplateValue, Sendable { } private static func resolveUnknownValue(context: TemplatesContext, useOnlyLinks: Bool) -> DeserializationResult { - let type = (context.templateData["type"] as? String ?? DivPivotFixed.type) - .flatMap { context.templateToType[$0] ?? $0 } + let raw = context.templateData["type"] as? String ?? DivPivotFixed.type + let type = context.templateToType[raw] ?? raw return { var result: DeserializationResult? diff --git a/client/ios/DivKitTests/Entities/generated_sources/EnumWithDefaultTypeTemplate.swift b/client/ios/DivKitTests/Entities/generated_sources/EnumWithDefaultTypeTemplate.swift index a413b5ab5..d63c8027f 100644 --- a/client/ios/DivKitTests/Entities/generated_sources/EnumWithDefaultTypeTemplate.swift +++ b/client/ios/DivKitTests/Entities/generated_sources/EnumWithDefaultTypeTemplate.swift @@ -68,8 +68,8 @@ public enum EnumWithDefaultTypeTemplate: TemplateValue, Sendable { } private static func resolveUnknownValue(context: TemplatesContext, useOnlyLinks: Bool) -> DeserializationResult { - let type = (context.templateData["type"] as? String ?? WithDefault.type) - .flatMap { context.templateToType[$0] ?? $0 } + let raw = context.templateData["type"] as? String ?? WithDefault.type + let type = context.templateToType[raw] ?? raw return { var result: DeserializationResult?