Stack Overflow Test

by 9re
@9re
stack overflow occurs even if the recursion measure
is decreasing step by step
the result may differ under your environment
♥0 | Line 24 | Modified 2009-11-23 16:56:58 | MIT License
play

ActionScript3 source code

/**
 * Copyright 9re ( http://wonderfl.net/user/9re )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/nHbq
 */

package {
import flash.display.Sprite;
import flash.text.TextField;
// @9re
// stack overflow occurs even if the recursion measure
// is decreasing step by step
// the result may differ under your environment
public class StackOverflowTest extends Sprite {
	public function StackOverflowTest() {
		function measure(i:int):int {
			return (i > 0) ? 1 + measure(--i) : 0;
		}
		
		var tf:TextField = new TextField;
		tf.width = tf.height = 465;
		addChild(tf);
		
		var i:int = 0;
		var overflow:Boolean = false;
		while (!overflow) {
			try {
				measure(i++);
			} catch (e:Error) {
				overflow = true;
			}
		}
		
		tf.appendText("stack over flow occurs at level " + --i);
	}
}
}