| 1234567891011121314151617181920212223242526 |
- /**@constructor*/
- function Reflection(obj) {
- this.obj = obj;
- }
- Reflection.prototype.getConstructorName = function() {
- if (this.obj.constructor.name) return this.obj.constructor.name;
- var src = this.obj.constructor.toSource();
- var name = src.substring(name.indexOf("function")+8, src.indexOf('(')).replace(/ /g,'');
- return name;
- }
- Reflection.prototype.getMethod = function(name) {
- for (var p in this.obj) {
- if (p == name && typeof(this.obj[p]) == "function") return this.obj[p];
- }
- return null;
- }
- Reflection.prototype.getParameterNames = function() {
- var src = this.obj.toSource();
- src = src.substring(
- src.indexOf("(", 8)+1, src.indexOf(")")
- );
- return src.split(/, ?/);
- }
|