Найти методы с возвращаемым типом String
Я пытаюсь создать запрос, чтобы получить все методы с определенным типом возврата. Глядя на определения FAMIXMethod
а также FAMIXBehavioralEntity
Я думаю, что Объявленный тип: правильный метод для этого запроса на FAMIXMethodGroup
,
Я пытался использовать запрос:
self select: [ :each | each declaredType: String ]
Но это останавливается с
ошибка: "MessageNotUnderstood"
1 ответ
declaredType:
является установщиком, поэтому вы пытаетесь изменить обьявленный тип, который, как ожидается, будет FAMIXType
, Таким образом Сообщение не понято.
Возможный подход состоит в том, чтобы получить объявляемый тип (который является (под) экземпляром FAMIXType
) и попросить smalltalkClass
, Обратите внимание, что Заявленный тип может не существовать.
self select: [ :each |
each hasDeclaredType and: [
each declaredType smalltalkClass isKindOf: String class ] ].
Может быть, с Moose Query можно разработать более простой подход, но я не знаком с этим.