model_utils: collect mmodules in mproject and mgroups
[nit.git] / src / debugger.nit
index cd77425..697f86b 100644 (file)
@@ -339,7 +339,7 @@ class Debugger
                if self.modelbuilder.mpropdef2npropdef.has_key(mpropdef) then
                        var npropdef = self.modelbuilder.mpropdef2npropdef[mpropdef]
                        self.parameter_check(npropdef, mpropdef, args)
-                       if npropdef isa AConcreteMethPropdef then
+                       if npropdef isa AMethPropdef then
                                return npropdef.rt_call(self, mpropdef, args)
                        else
                                print "Error, invalid propdef to call at runtime !"
@@ -647,13 +647,12 @@ class Debugger
 
                        var keys = map_of_instances.iterator
 
-                       print "Variables collection : \n"
+                       var self_var = seek_variable("self", frame)
+                       print "self: {self_var.to_s}"
 
                        for instance in map_of_instances.keys do
-                               print "Variable {instance.to_s}, Instance {map_of_instances[instance].to_s}"
+                               print "{instance.to_s}: {map_of_instances[instance].to_s}"
                        end
-
-                       print "\nEnd of current instruction \n"
                else if parts_of_command[1] == "stack" then
                        print self.stack_trace
                else if parts_of_command[1].chars.has('[') and parts_of_command[1].chars.has(']') then
@@ -992,20 +991,18 @@ class Debugger
        # If it is a primitive type, its value is directly printed
        fun print_instance(instance: Instance)
        do
-               print "Printing innards of a variable"
-
                if instance isa MutableInstance then
-                       var attributes = instance.attributes
-                       print "Object : {instance}"
+                       print "\{"
+                       print "\ttype : {instance},"
 
-                       for current_attribute in attributes.keys do
-                               print "Attribute : {current_attribute.to_s} \nValeur : {attributes[current_attribute].to_s}"
-                       end
+                       printn("\t")
+
+                       print instance.attributes.join(",\n\t"," : ")
+
+                       print "\}"
                else
-                       print "Found variable {instance}"
+                       print "{instance}"
                end
-
-               print "Stopping printing innards of a variable"
        end
 
        # Prints the attributes demanded in a SequenceRead
@@ -1425,7 +1422,7 @@ class Debugger
 
 end
 
-redef class AConcreteMethPropdef
+redef class AMethPropdef
 
        # Same as call except it will copy local variables of the parent frame to the frame defined in this call.
        # Not supposed to be used by anyone else than the Debugger.