Skip to content

Commit d236666

Browse files
committed
Reduce unnecessary repetition in generated view/scene builder code
This resulted in 7500 lines less code, 1mb smaller debug binaries and 0.5mb smaller release binaries
1 parent 1dc30de commit d236666

15 files changed

+1737
-9451
lines changed

Sources/SwiftCrossUI/Builders/SceneBuilder.swift

Lines changed: 148 additions & 878 deletions
Large diffs are not rendered by default.
Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// This file was generated using gyb. Do not edit it directly. Edit
2+
// SceneBuilder.swift.gyb instead.
13
%{
24
maximum_scene_count = 20
35
}%
@@ -11,16 +13,8 @@ public struct SceneBuilder {
1113
}
1214
%for i in range(2, maximum_scene_count + 1):
1315

14-
public static func buildBlock<
15-
${",\n ".join("Scene%d: Scene" % j for j in range(i))}
16-
>(
17-
${",\n ".join("_ scene%d: Scene%d" % (j, j) for j in range(i))}
18-
) -> TupleScene${i}<
19-
${",\n ".join("Scene%d" % j for j in range(i))}
20-
> {
21-
return TupleScene${i}(
22-
${",\n ".join("scene%d" % j for j in range(i))}
23-
)
16+
public static func buildBlock<${", ".join("Scene%d: Scene" % j for j in range(i))}>(${", ".join("_ scene%d: Scene%d" % (j, j) for j in range(i))}) -> TupleScene${i}<${", ".join("Scene%d" % j for j in range(i))}> {
17+
return TupleScene${i}(${", ".join("scene%d" % j for j in range(i))})
2418
}
2519
%end
2620
}

0 commit comments

Comments
 (0)