我尝试创建一个查询以获取具有特定返回类型的所有方法。查看FAMIXMethod
和FAMIXBehavioralEntity
的定义我认为declaredType:是FAMIXMethodGroup
上此查询的正确方法。
我已尝试使用该查询:
self select: [ :each | each declaredType: String ]
但这会以
停止错误:" MessageNotUnderstood"
答案 0 :(得分:0)
declaredType:
是一个setter,因此您尝试更改declaredType,它应该是FAMIXType
。因此MessageNotUnderstood。
一种可能的方法是获取declaredType(它是FAMIXType
的(子)实例)并请求smalltalkClass
。请注意,declaredType可能不存在。
self select: [ :each |
each hasDeclaredType and: [
each declaredType smalltalkClass isKindOf: String class ] ].
也许可以使用Moose Query设计一个更简单的方法,但我对此并不熟悉。