有谁知道 Sourcery 中是否有办法获取对泛型继承的类型的引用?我假设这个问题没有立即意义,所以这里有一些我正在尝试做的代码:
假设我在 Swift 中有以下内容:
public protocol GenericProtocol { }
public enum GenericType1: GenericProtocol { }
public enum GenericType2: GenericProtocol { }
public protocol RandomProtocol { }
public struct RandomStruct<T: GenericProtocol>: RandomProtocol { }
我想在 Sourcery 中做的是这样的:
{% for type in types.based.RandomProtocol %}
{% if type.isGeneric %}
{% for genericType in types based on the protocol that this generic type inherits from %}
{{ type.name }}<{{ genericType.name }}>
{% endfor %}
{% endif %}
{% endfor %}
这样它最终会打印:
RandomStruct<GenericType1>
RandomStruct<GenericType2>
“基于此泛型类型继承的协议的类型中的 genericType”部分是我试图弄清楚如何做的。感谢您的任何帮助!