PageRenderTime 19ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/tags/jsdoc_toolkit-2.0.1/jsdoc-toolkit/app/frame/Reflection.js

http://jsdoc-toolkit.googlecode.com/
JavaScript | 26 lines | 22 code | 3 blank | 1 comment | 6 complexity | 14075d115109486506e3ad50abb28ed8 MD5 | raw file
  1. /**@constructor*/
  2. function Reflection(obj) {
  3. this.obj = obj;
  4. }
  5. Reflection.prototype.getConstructorName = function() {
  6. if (this.obj.constructor.name) return this.obj.constructor.name;
  7. var src = this.obj.constructor.toSource();
  8. var name = src.substring(name.indexOf("function")+8, src.indexOf('(')).replace(/ /g,'');
  9. return name;
  10. }
  11. Reflection.prototype.getMethod = function(name) {
  12. for (var p in this.obj) {
  13. if (p == name && typeof(this.obj[p]) == "function") return this.obj[p];
  14. }
  15. return null;
  16. }
  17. Reflection.prototype.getParameterNames = function() {
  18. var src = this.obj.toSource();
  19. src = src.substring(
  20. src.indexOf("(", 8)+1, src.indexOf(")")
  21. );
  22. return src.split(/, ?/);
  23. }