我尝试创建一个查询来获取具有特定返回类型的所有方法。查看 的定义,FAMIXMethod
我FAMIXBehavioralEntity
认为 declareType: 是此查询的正确方法FAMIXMethodGroup
。
我尝试使用查询:
self select: [ :each | each declaredType: String ]
但这停止了
错误:“消息未理解”
我尝试创建一个查询来获取具有特定返回类型的所有方法。查看 的定义,FAMIXMethod
我FAMIXBehavioralEntity
认为 declareType: 是此查询的正确方法FAMIXMethodGroup
。
我尝试使用查询:
self select: [ :each | each declaredType: String ]
但这停止了
错误:“消息未理解”
declaredType:
是一个二传手,所以你试图改变声明的类型,它应该是一个FAMIXType
. 因此MessageNotUnderstood。
一种可能的方法是获取声明类型(它是 的(子)实例FAMIXType
)并请求smalltalkClass
. 请注意,declaredType 可能不存在。
self select: [ :each |
each hasDeclaredType and: [
each declaredType smalltalkClass isKindOf: String class ] ].
也许可以使用 Moose Query 设计一种更简单的方法,但我对此并不熟悉。