diff options
author | Rogan Creswick <creswick@galois.com> | 2012-03-30 17:07:02 -0700 |
---|---|---|
committer | Rogan Creswick <creswick@galois.com> | 2012-03-30 17:07:02 -0700 |
commit | f6ab6622aab00fe7c2f4c3dc41f786ebbe0f0d73 (patch) | |
tree | 870111038542cd27153e1396ebdc063573249689 /tools/jsdoc-toolkit-2.4.0/app/frame/Reflection.js |
initial revision
Diffstat (limited to 'tools/jsdoc-toolkit-2.4.0/app/frame/Reflection.js')
-rw-r--r-- | tools/jsdoc-toolkit-2.4.0/app/frame/Reflection.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tools/jsdoc-toolkit-2.4.0/app/frame/Reflection.js b/tools/jsdoc-toolkit-2.4.0/app/frame/Reflection.js new file mode 100644 index 0000000..0968f1c --- /dev/null +++ b/tools/jsdoc-toolkit-2.4.0/app/frame/Reflection.js @@ -0,0 +1,26 @@ +/**@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(/, ?/); +} |