/** * Class: IncludedClasses * * @author KLuck */ class com.kelvinluck.util.IncludedClasses { private static var instance:IncludedClasses; /** * Private constructor - Singleton **/ private function IncludedClasses() { } function getExcludeXml():String { var classes:Array = _arrayUnique(_getClasses(_global, '', [])); var r:String = '' + newline; for (var i:Number=0; i' + newline; } r += ''; return r; } function getArrayString():String { var r:String = '["' + newline; r += _arrayUnique(_getClasses(_global, '', [])).join('", "'); r += '"]'; return r; } private function _getClasses(obj:Object, path:String, classes:Array):Array { var ret:Array = []; for (var name:String in obj) { if (typeof(obj[name]) == 'function') { var firstLetter:String = name.substr(0, 1); if (firstLetter.toUpperCase() == firstLetter) { classes.push(path + '.' + name); } } else { var passPath = path == '' ? name : path + '.' + name; classes = classes.concat(_getClasses(obj[name], passPath, classes)); } } return classes.concat(ret); } private function _arrayUnique(a:Array):Array { var o:Object = {}; for (var i:Number=0; i