# The virtual static type associated
meth stype_for(recv: MMType): MMVirtualType
do
- var prop = recv.select_property(global)
+ var prop = recv.local_class[global]
assert prop isa MMTypeProperty
return prop.real_stype_for(recv)
end
end
end
-redef class MMType
- # Select a virtual type property by its name
- meth select_virtual_type(name: Symbol): MMTypeProperty
- do
- assert local_class != null
- assert name != null
- var res = select_property(local_class.virtual_type(name))
- assert res isa MMTypeProperty
- return res
- end
-end
-
class MMVirtualType
special MMTypeFormal
# The property associed
end
return null
end
+
+ # Select a virtual type property by its name
+ meth select_virtual_type(name: Symbol): MMTypeProperty
+ do
+ assert name != null
+ var gp = virtual_type(name)
+ if gp == null then return null
+ var res = self[gp]
+ assert res isa MMTypeProperty
+ return res
+ end
end