typing: add `ASuperExpr::mpropdef` to stores the called super-property
authorJean Privat <jean@pryen.org>
Tue, 11 Mar 2014 18:13:51 +0000 (14:13 -0400)
committerJean Privat <jean@pryen.org>
Tue, 11 Mar 2014 18:13:51 +0000 (14:13 -0400)
Signed-off-by: Jean Privat <jean@pryen.org>

src/typing.nit

index 2aabcad..9feb83b 100644 (file)
@@ -1420,6 +1420,10 @@ redef class ASuperExpr
        # Note: if the super is a normal call-next-method, then this attribute is null
        var callsite: nullable CallSite
 
+       # The method to call is the super is a standard `call-next-method` super-call
+       # Note: if the super is a special super-init-call, then this attribute is null
+       var mpropdef: nullable MMethodDef
+
        redef fun accept_typing(v)
        do
                var recvtype = v.nclassdef.mclassdef.bound_mtype
@@ -1448,6 +1452,7 @@ redef class ASuperExpr
                self.mtype = msignature.return_mtype
                self.is_typed = true
                v.mpropdef.has_supercall = true
+               mpropdef = v.mpropdef.as(MMethodDef)
        end
 
        private fun process_superinit(v: TypeVisitor)