[debugger] simulate getters
authorFedor Indutny <fedor.indutny@gmail.com>
Thu, 8 Sep 2011 03:59:38 +0000 (10:59 +0700)
committerFedor Indutny <fedor.indutny@gmail.com>
Thu, 8 Sep 2011 19:06:07 +0000 (02:06 +0700)
lib/_debugger.js

index 5472fcd..ae11d23 100644 (file)
@@ -652,6 +652,7 @@ function Interface() {
   for (var i in proto) {
     if (proto.hasOwnProperty(i) && ignored.indexOf(i) === -1) {
       this.repl.context[i] = proto[i].bind(this);
+      this.repl.context[i]._debugger = true;
     }
   }
 
@@ -724,6 +725,12 @@ Interface.prototype.requireConnection = function() {
 Interface.prototype.controlEval = function(code, context, filename, callback) {
   try {
     var result = vm.runInContext(code, context, filename);
+
+    // Simulate getters
+    if (typeof result === 'function' && result._debugger) {
+      result = result();
+    }
+
     if (this.paused === 0) return callback(null, result);
     this.waiting = function() {
       callback(null, result);