Кто-нибудь знает, есть ли способ в Sourcery получить ссылку на тип, от которого наследуется c? Я предполагаю, что этот вопрос не имеет непосредственного смысла, поэтому вот код для того, что я пытаюсь сделать:
Скажем, у меня в 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 в типах на основе протокола, который этот родовой c тип наследует от "части" - вот что я пытаюсь выяснить, как это сделать. Спасибо за любую помощь!