Merge: nitweb: nitcorn based API to access model and source code
[nit.git] / src / modelize / modelize_property.nit
index 23feb87..b00c7f4 100644 (file)
@@ -186,11 +186,7 @@ redef class ModelBuilder
                                var sig = mpropdef.msignature
                                if sig == null then continue # Skip broken method
 
-                               for param in sig.mparameters do
-                                       var ret_type = param.mtype
-                                       var mparameter = new MParameter(param.name, ret_type, false)
-                                       mparameters.add(mparameter)
-                               end
+                               mparameters.add_all sig.mparameters
                                initializers.add(mpropdef.mproperty)
                                mpropdef.mproperty.is_autoinit = true
                        end
@@ -1064,7 +1060,7 @@ redef class AMethPropdef
                        end
                end
 
-               if mysignature.arity > 0 then
+               if nsig != null then
                        # Check parameters visibility
                        for i in [0..mysignature.arity[ do
                                var nt = nsig.n_params[i].n_type
@@ -1359,6 +1355,8 @@ redef class AAttrPropdef
                        if nexpr != null then
                                if nexpr isa ANewExpr then
                                        mtype = modelbuilder.resolve_mtype_unchecked(mmodule, mclassdef, nexpr.n_type, true)
+                               else if nexpr isa AAsCastExpr then
+                                       mtype = modelbuilder.resolve_mtype_unchecked(mmodule, mclassdef, nexpr.n_type, true)
                                else if nexpr isa AIntegerExpr then
                                        var cla: nullable MClass = null
                                        if nexpr.value isa Int then