typing: add a node parameter to `CallSite::check_signature`
authorJean Privat <jean@pryen.org>
Tue, 6 Oct 2015 22:47:35 +0000 (18:47 -0400)
committerJean Privat <jean@pryen.org>
Wed, 7 Oct 2015 02:23:36 +0000 (22:23 -0400)
Signed-off-by: Jean Privat <jean@pryen.org>

src/semantize/typing.nit

index 935e1fc..4a00d04 100644 (file)
@@ -655,9 +655,9 @@ class CallSite
        # If null then no specific association is required.
        var signaturemap: nullable SignatureMap = null
 
        # If null then no specific association is required.
        var signaturemap: nullable SignatureMap = null
 
-       private fun check_signature(v: TypeVisitor, args: Array[AExpr]): Bool
+       private fun check_signature(v: TypeVisitor, node: ANode, args: Array[AExpr]): Bool
        do
        do
-               var map = v.check_signature(self.node, args, self.mproperty, self.msignature)
+               var map = v.check_signature(node, args, self.mproperty, self.msignature)
                signaturemap = map
                return map == null
        end
                signaturemap = map
                return map == null
        end
@@ -1720,7 +1720,7 @@ redef class ASendExpr
 
                var args = compute_raw_arguments
 
 
                var args = compute_raw_arguments
 
-               callsite.check_signature(v, args)
+               callsite.check_signature(v, node, args)
 
                if callsite.mproperty.is_init then
                        var vmpropdef = v.mpropdef
 
                if callsite.mproperty.is_init then
                        var vmpropdef = v.mpropdef
@@ -1839,7 +1839,7 @@ redef class ASendReassignFormExpr
 
                var args = compute_raw_arguments
 
 
                var args = compute_raw_arguments
 
-               callsite.check_signature(v, args)
+               callsite.check_signature(v, node, args)
 
                var readtype = callsite.msignature.return_mtype
                if readtype == null then
 
                var readtype = callsite.msignature.return_mtype
                if readtype == null then
@@ -1856,7 +1856,7 @@ redef class ASendReassignFormExpr
 
                args = args.to_a # duplicate so raw_arguments keeps only the getter args
                args.add(self.n_value)
 
                args = args.to_a # duplicate so raw_arguments keeps only the getter args
                args.add(self.n_value)
-               wcallsite.check_signature(v, args)
+               wcallsite.check_signature(v, node, args)
 
                self.is_typed = true
        end
 
                self.is_typed = true
        end
@@ -1982,7 +1982,7 @@ redef class ASuperExpr
 
                var args = self.n_args.to_a
                if args.length > 0 then
 
                var args = self.n_args.to_a
                if args.length > 0 then
-                       callsite.check_signature(v, args)
+                       callsite.check_signature(v, self, args)
                else
                        # Check there is at least enough parameters
                        if mpropdef.msignature.arity < msignature.arity then
                else
                        # Check there is at least enough parameters
                        if mpropdef.msignature.arity < msignature.arity then
@@ -2081,7 +2081,7 @@ redef class ANewExpr
                end
 
                var args = n_args.to_a
                end
 
                var args = n_args.to_a
-               callsite.check_signature(v, args)
+               callsite.check_signature(v, node, args)
        end
 end
 
        end
 end