nitlanguage
/
nit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
src: cleanup importations
[nit.git]
/
src
/
debugger.nit
diff --git
a/src/debugger.nit
b/src/debugger.nit
index
f35d963
..
0f211e6
100644
(file)
--- a/
src/debugger.nit
+++ b/
src/debugger.nit
@@
-23,6
+23,7
@@
import nitx
intrude import local_var_init
intrude import scope
intrude import toolcontext
intrude import local_var_init
intrude import scope
intrude import toolcontext
+private import parser_util
redef class Model
# Cleans the model to remove a module and what it defines when semantic analysis fails on injected code
redef class Model
# Cleans the model to remove a module and what it defines when semantic analysis fails on injected code
@@
-110,7
+111,7
@@
redef class ToolContext
for m in messages do
if m.text.search("Warning") == null then had_error = true
for m in messages do
if m.text.search("Warning") == null then had_error = true
- stderr.write("{m.to_color_string}\n")
+ sys.stderr.write("{m.to_color_string}\n")
end
end
end
end
@@
-223,6
+224,8
@@
class Debugger
var old = frame.current_node
frame.current_node = n
var old = frame.current_node
frame.current_node = n
+ if sys.stdin.poll_in then process_debug_command(gets)
+
if not self.autocontinue then
if not n isa ABlockExpr then
steps_fun_call(n)
if not self.autocontinue then
if not n isa ABlockExpr then
steps_fun_call(n)
@@
-333,7
+336,8
@@
class Debugger
if initprop != null then
self.send(initprop, [mobj])
end
if initprop != null then
self.send(initprop, [mobj])
end
- var mainprop = mmod.try_get_primitive_method("main", sys_type.mclass)
+ var mainprop = mmod.try_get_primitive_method("run", sys_type.mclass) or else
+ mmod.try_get_primitive_method("main", sys_type.mclass)
if mainprop != null then
self.rt_send(mainprop, [mobj])
end
if mainprop != null then
self.rt_send(mainprop, [mobj])
end
@@
-586,13
+590,12
@@
class Debugger
var keys = map_of_instances.iterator
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
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
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
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
@@
-931,20
+934,18
@@
class Debugger
# If it is a primitive type, its value is directly printed
fun print_instance(instance: Instance)
do
# 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
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
else
- print "Found variable {instance}"
+ print "{instance}"
end
end
-
- print "Stopping printing innards of a variable"
end
# Prints the attributes demanded in a SequenceRead
end
# Prints the attributes demanded in a SequenceRead