--- /dev/null
+function Inner() {
+ this.i = 0;
+ this.doStuff = function() {
+ this.i++;
+ if (this.i > 10000)
+ this.isDone();
+ }
+}
+
+var foo = function() {
+ var inner = new Inner();
+ var done = false;
+ inner.isDone = function() {
+ done = true;
+ }
+
+ while (true) {
+ var val = inner.doStuff();
+ if (done)
+ break;
+ }
+}
+
+foo();