xpcomcore-rubygem 0.3.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. data/README.markdown +14 -0
  2. data/Rakefile +13 -11
  3. data/VERSION +1 -1
  4. data/bin/xpcomcore +7 -0
  5. data/lib/xpcomcore-rubygem.rb +9 -0
  6. data/lib/xpcomcore-rubygem/commands.rb +54 -0
  7. data/lib/xpcomcore-rubygem/commands/generate.rb +23 -0
  8. data/lib/xpcomcore-rubygem/commands/generate/application.rb +63 -0
  9. data/lib/xpcomcore-rubygem/commands/generate/jeweler_builder_command.rb +108 -0
  10. data/lib/xpcomcore-rubygem/commands/generate/library.rb +25 -0
  11. data/lib/xpcomcore-rubygem/commands/generate/template_helpers.rb +78 -0
  12. data/lib/xpcomcore-rubygem/commands/launch.rb +129 -0
  13. data/templates/application/application.ini.erb +12 -0
  14. data/templates/application/chrome/chrome.manifest.erb +1 -0
  15. data/templates/application/chrome/content/xul/main_window.xul.erb +6 -0
  16. data/{extension → templates/application}/components/bootstrapper.js +1 -1
  17. data/templates/application/defaults/preferences/prefs.js.erb +7 -0
  18. data/templates/shared/jsdoc_doc_task.erb +7 -0
  19. data/templates/shared/xultestrunner_test_task.erb +7 -0
  20. data/xpcomcore-rubygem.gemspec +48 -136
  21. data/xpcomcore/Rakefile +42 -19
  22. data/xpcomcore/bootstrapper.js +1 -3
  23. data/xpcomcore/{VERSION.yml → build_properties.yml} +3 -0
  24. data/xpcomcore/components/XPCOMCore.js +0 -2
  25. data/xpcomcore/doc/files.html +10 -10
  26. data/xpcomcore/doc/index.html +17 -17
  27. data/xpcomcore/doc/symbols/_global_.html +10 -9
  28. data/xpcomcore/doc/symbols/{Error.html → error.html} +10 -9
  29. data/xpcomcore/doc/symbols/{File.html → file.html} +13 -12
  30. data/xpcomcore/doc/symbols/{File.NoSuchFileError.html → file.nosuchfileerror.html} +13 -12
  31. data/xpcomcore/doc/symbols/{Kernel.html → kernel.html} +48 -47
  32. data/xpcomcore/doc/symbols/{LoadError.html → loaderror.html} +13 -12
  33. data/xpcomcore/doc/symbols/{SelfConceptError.html → selfconcepterror.html} +13 -12
  34. data/xpcomcore/doc/symbols/{Sys.html → sys.html} +12 -11
  35. data/xpcomcore/doc/symbols/{XPCBuiltins.html → xpcbuiltins.html} +11 -10
  36. metadata +61 -135
  37. data/README.rdoc +0 -18
  38. data/bin/xpcomcore-firefox +0 -4
  39. data/bin/xpcomcore-rubygem-install +0 -205
  40. data/extension/README.txt +0 -1
  41. data/extension/install.rdf +0 -16
  42. data/xpcomcore/etc/jsdoc-toolkit/README.txt +0 -186
  43. data/xpcomcore/etc/jsdoc-toolkit/app/frame.js +0 -33
  44. data/xpcomcore/etc/jsdoc-toolkit/app/frame/Chain.js +0 -102
  45. data/xpcomcore/etc/jsdoc-toolkit/app/frame/Dumper.js +0 -144
  46. data/xpcomcore/etc/jsdoc-toolkit/app/frame/Hash.js +0 -84
  47. data/xpcomcore/etc/jsdoc-toolkit/app/frame/Link.js +0 -153
  48. data/xpcomcore/etc/jsdoc-toolkit/app/frame/Namespace.js +0 -10
  49. data/xpcomcore/etc/jsdoc-toolkit/app/frame/Opt.js +0 -134
  50. data/xpcomcore/etc/jsdoc-toolkit/app/frame/Reflection.js +0 -26
  51. data/xpcomcore/etc/jsdoc-toolkit/app/frame/String.js +0 -93
  52. data/xpcomcore/etc/jsdoc-toolkit/app/frame/Testrun.js +0 -129
  53. data/xpcomcore/etc/jsdoc-toolkit/app/handlers/FOODOC.js +0 -26
  54. data/xpcomcore/etc/jsdoc-toolkit/app/handlers/XMLDOC.js +0 -26
  55. data/xpcomcore/etc/jsdoc-toolkit/app/handlers/XMLDOC/DomReader.js +0 -159
  56. data/xpcomcore/etc/jsdoc-toolkit/app/handlers/XMLDOC/XMLDoc.js +0 -16
  57. data/xpcomcore/etc/jsdoc-toolkit/app/handlers/XMLDOC/XMLParse.js +0 -292
  58. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC.js +0 -104
  59. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/DocComment.js +0 -200
  60. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/DocTag.js +0 -294
  61. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/JsDoc.js +0 -126
  62. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/JsPlate.js +0 -109
  63. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/Lang.js +0 -144
  64. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/Parser.js +0 -145
  65. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/PluginManager.js +0 -33
  66. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/Symbol.js +0 -645
  67. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/SymbolSet.js +0 -241
  68. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/TextStream.js +0 -41
  69. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/Token.js +0 -18
  70. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/TokenReader.js +0 -332
  71. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/TokenStream.js +0 -133
  72. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/Util.js +0 -32
  73. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/Walker.js +0 -474
  74. data/xpcomcore/etc/jsdoc-toolkit/app/main.js +0 -111
  75. data/xpcomcore/etc/jsdoc-toolkit/app/plugins/commentSrcJson.js +0 -20
  76. data/xpcomcore/etc/jsdoc-toolkit/app/plugins/frameworkPrototype.js +0 -16
  77. data/xpcomcore/etc/jsdoc-toolkit/app/plugins/functionCall.js +0 -10
  78. data/xpcomcore/etc/jsdoc-toolkit/app/plugins/publishSrcHilite.js +0 -62
  79. data/xpcomcore/etc/jsdoc-toolkit/app/plugins/symbolLink.js +0 -10
  80. data/xpcomcore/etc/jsdoc-toolkit/app/plugins/tagParamConfig.js +0 -31
  81. data/xpcomcore/etc/jsdoc-toolkit/app/plugins/tagSynonyms.js +0 -43
  82. data/xpcomcore/etc/jsdoc-toolkit/app/run.js +0 -348
  83. data/xpcomcore/etc/jsdoc-toolkit/app/t/TestDoc.js +0 -144
  84. data/xpcomcore/etc/jsdoc-toolkit/app/t/runner.js +0 -13
  85. data/xpcomcore/etc/jsdoc-toolkit/app/test.js +0 -325
  86. data/xpcomcore/etc/jsdoc-toolkit/app/test/addon.js +0 -24
  87. data/xpcomcore/etc/jsdoc-toolkit/app/test/anon_inner.js +0 -14
  88. data/xpcomcore/etc/jsdoc-toolkit/app/test/augments.js +0 -31
  89. data/xpcomcore/etc/jsdoc-toolkit/app/test/augments2.js +0 -26
  90. data/xpcomcore/etc/jsdoc-toolkit/app/test/borrows.js +0 -46
  91. data/xpcomcore/etc/jsdoc-toolkit/app/test/borrows2.js +0 -23
  92. data/xpcomcore/etc/jsdoc-toolkit/app/test/config.js +0 -22
  93. data/xpcomcore/etc/jsdoc-toolkit/app/test/constructs.js +0 -18
  94. data/xpcomcore/etc/jsdoc-toolkit/app/test/encoding.js +0 -10
  95. data/xpcomcore/etc/jsdoc-toolkit/app/test/encoding_other.js +0 -12
  96. data/xpcomcore/etc/jsdoc-toolkit/app/test/event.js +0 -54
  97. data/xpcomcore/etc/jsdoc-toolkit/app/test/exports.js +0 -14
  98. data/xpcomcore/etc/jsdoc-toolkit/app/test/functions_anon.js +0 -39
  99. data/xpcomcore/etc/jsdoc-toolkit/app/test/functions_nested.js +0 -33
  100. data/xpcomcore/etc/jsdoc-toolkit/app/test/global.js +0 -13
  101. data/xpcomcore/etc/jsdoc-toolkit/app/test/globals.js +0 -25
  102. data/xpcomcore/etc/jsdoc-toolkit/app/test/ignore.js +0 -10
  103. data/xpcomcore/etc/jsdoc-toolkit/app/test/inner.js +0 -16
  104. data/xpcomcore/etc/jsdoc-toolkit/app/test/jsdoc_test.js +0 -477
  105. data/xpcomcore/etc/jsdoc-toolkit/app/test/lend.js +0 -33
  106. data/xpcomcore/etc/jsdoc-toolkit/app/test/memberof.js +0 -19
  107. data/xpcomcore/etc/jsdoc-toolkit/app/test/memberof_constructor.js +0 -17
  108. data/xpcomcore/etc/jsdoc-toolkit/app/test/module.js +0 -17
  109. data/xpcomcore/etc/jsdoc-toolkit/app/test/name.js +0 -19
  110. data/xpcomcore/etc/jsdoc-toolkit/app/test/namespace_nested.js +0 -23
  111. data/xpcomcore/etc/jsdoc-toolkit/app/test/nocode.js +0 -13
  112. data/xpcomcore/etc/jsdoc-toolkit/app/test/oblit_anon.js +0 -20
  113. data/xpcomcore/etc/jsdoc-toolkit/app/test/overview.js +0 -20
  114. data/xpcomcore/etc/jsdoc-toolkit/app/test/param_inline.js +0 -37
  115. data/xpcomcore/etc/jsdoc-toolkit/app/test/params_optional.js +0 -8
  116. data/xpcomcore/etc/jsdoc-toolkit/app/test/prototype.js +0 -17
  117. data/xpcomcore/etc/jsdoc-toolkit/app/test/prototype_nested.js +0 -9
  118. data/xpcomcore/etc/jsdoc-toolkit/app/test/prototype_oblit.js +0 -13
  119. data/xpcomcore/etc/jsdoc-toolkit/app/test/prototype_oblit_constructor.js +0 -24
  120. data/xpcomcore/etc/jsdoc-toolkit/app/test/public.js +0 -10
  121. data/xpcomcore/etc/jsdoc-toolkit/app/test/scripts/code.js +0 -5
  122. data/xpcomcore/etc/jsdoc-toolkit/app/test/scripts/notcode.txt +0 -5
  123. data/xpcomcore/etc/jsdoc-toolkit/app/test/shared.js +0 -42
  124. data/xpcomcore/etc/jsdoc-toolkit/app/test/shared2.js +0 -2
  125. data/xpcomcore/etc/jsdoc-toolkit/app/test/shortcuts.js +0 -22
  126. data/xpcomcore/etc/jsdoc-toolkit/app/test/static_this.js +0 -13
  127. data/xpcomcore/etc/jsdoc-toolkit/app/test/synonyms.js +0 -31
  128. data/xpcomcore/etc/jsdoc-toolkit/app/test/tosource.js +0 -23
  129. data/xpcomcore/etc/jsdoc-toolkit/app/test/variable_redefine.js +0 -14
  130. data/xpcomcore/etc/jsdoc-toolkit/changes.txt +0 -96
  131. data/xpcomcore/etc/jsdoc-toolkit/conf/sample.conf +0 -31
  132. data/xpcomcore/etc/jsdoc-toolkit/java/build.xml +0 -36
  133. data/xpcomcore/etc/jsdoc-toolkit/java/build_1.4.xml +0 -36
  134. data/xpcomcore/etc/jsdoc-toolkit/java/classes/js.jar +0 -0
  135. data/xpcomcore/etc/jsdoc-toolkit/java/src/JsDebugRun.java +0 -21
  136. data/xpcomcore/etc/jsdoc-toolkit/java/src/JsRun.java +0 -21
  137. data/xpcomcore/etc/jsdoc-toolkit/jsdebug.jar +0 -0
  138. data/xpcomcore/etc/jsdoc-toolkit/jsrun.jar +0 -0
  139. data/xpcomcore/etc/jsdoc-toolkit/jsrun.sh +0 -52
  140. data/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/allclasses.tmpl +0 -17
  141. data/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/allfiles.tmpl +0 -56
  142. data/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/class.tmpl +0 -646
  143. data/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/index.tmpl +0 -39
  144. data/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/publish.js +0 -200
  145. data/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/static/default.css +0 -162
  146. data/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/static/header.html +0 -2
  147. data/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/static/index.html +0 -19
  148. data/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/symbol.tmpl +0 -35
@@ -1,126 +0,0 @@
1
- /**
2
- @constructor
3
- @param [opt] Used to override the commandline options. Useful for testing.
4
- @version $Id: JsDoc.js 773 2009-01-24 09:42:04Z micmath $
5
- */
6
- JSDOC.JsDoc = function(/**object*/ opt) {
7
- if (opt) {
8
- JSDOC.opt = opt;
9
- }
10
-
11
- if (JSDOC.opt.h) {
12
- JSDOC.usage();
13
- quit();
14
- }
15
-
16
- // defend against options that are not sane
17
- if (JSDOC.opt._.length == 0) {
18
- LOG.warn("No source files to work on. Nothing to do.");
19
- quit();
20
- }
21
- if (JSDOC.opt.t === true || JSDOC.opt.d === true) {
22
- JSDOC.usage();
23
- }
24
-
25
- if (typeof JSDOC.opt.d == "string") {
26
- if (!JSDOC.opt.d.charAt(JSDOC.opt.d.length-1).match(/[\\\/]/)) {
27
- JSDOC.opt.d = JSDOC.opt.d+"/";
28
- }
29
- LOG.inform("Output directory set to '"+JSDOC.opt.d+"'.");
30
- IO.mkPath(JSDOC.opt.d);
31
- }
32
- if (JSDOC.opt.e) IO.setEncoding(JSDOC.opt.e);
33
-
34
- // the -r option: scan source directories recursively
35
- if (typeof JSDOC.opt.r == "boolean") JSDOC.opt.r = 10;
36
- else if (!isNaN(parseInt(JSDOC.opt.r))) JSDOC.opt.r = parseInt(JSDOC.opt.r);
37
- else JSDOC.opt.r = 1;
38
-
39
- // the -D option: define user variables
40
- var D = {};
41
- if (JSDOC.opt.D) {
42
- for (var i = 0; i < JSDOC.opt.D.length; i++) {
43
- var defineParts = JSDOC.opt.D[i].split(":", 2);
44
- if (defineParts) D[defineParts[0]] = defineParts[1];
45
- }
46
- }
47
- JSDOC.opt.D = D;
48
- // combine any conf file D options with the commandline D options
49
- if (defined(JSDOC.conf)) for (var c in JSDOC.conf.D) {
50
- if (!defined(JSDOC.opt.D[c])) {
51
- JSDOC.opt.D[c] = JSDOC.conf.D[c];
52
- }
53
- }
54
-
55
- // Give plugins a chance to initialize
56
- if (defined(JSDOC.PluginManager)) {
57
- JSDOC.PluginManager.run("onInit", JSDOC.opt);
58
- }
59
-
60
- JSDOC.opt.srcFiles = JSDOC.JsDoc._getSrcFiles();
61
- JSDOC.JsDoc._parseSrcFiles();
62
- JSDOC.JsDoc.symbolSet = JSDOC.Parser.symbols;
63
- }
64
-
65
- /**
66
- Retrieve source file list.
67
- @returns {String[]} The pathnames of the files to be parsed.
68
- */
69
- JSDOC.JsDoc._getSrcFiles = function() {
70
- JSDOC.JsDoc.srcFiles = [];
71
-
72
- var ext = ["js"];
73
- if (JSDOC.opt.x) {
74
- ext = JSDOC.opt.x.split(",").map(function($) {return $.toLowerCase()});
75
- }
76
-
77
- for (var i = 0; i < JSDOC.opt._.length; i++) {
78
- JSDOC.JsDoc.srcFiles = JSDOC.JsDoc.srcFiles.concat(
79
- IO.ls(JSDOC.opt._[i], JSDOC.opt.r).filter(
80
- function($) {
81
- var thisExt = $.split(".").pop().toLowerCase();
82
-
83
- if (JSDOC.opt.E) {
84
- for(var n = 0; n < JSDOC.opt.E.length; n++) {
85
- if ($.match(new RegExp(JSDOC.opt.E[n]))) {
86
- LOG.inform("Excluding " + $);
87
- return false; // if the file matches the regex then it's excluded.
88
- }
89
- }
90
- }
91
-
92
- return (ext.indexOf(thisExt) > -1); // we're only interested in files with certain extensions
93
- }
94
- )
95
- );
96
- }
97
-
98
- return JSDOC.JsDoc.srcFiles;
99
- }
100
-
101
- JSDOC.JsDoc._parseSrcFiles = function() {
102
- JSDOC.Parser.init();
103
- for (var i = 0, l = JSDOC.JsDoc.srcFiles.length; i < l; i++) {
104
- var srcFile = JSDOC.JsDoc.srcFiles[i];
105
-
106
- if (JSDOC.opt.v) LOG.inform("Parsing file: " + srcFile);
107
-
108
- try {
109
- var src = IO.readFile(srcFile);
110
- }
111
- catch(e) {
112
- LOG.warn("Can't read source file '"+srcFile+"': "+e.message);
113
- }
114
-
115
- var tr = new JSDOC.TokenReader();
116
- var ts = new JSDOC.TokenStream(tr.tokenize(new JSDOC.TextStream(src)));
117
-
118
- JSDOC.Parser.parse(ts, srcFile);
119
-
120
- }
121
- JSDOC.Parser.finish();
122
-
123
- if (JSDOC.PluginManager) {
124
- JSDOC.PluginManager.run("onFinishedParsing", JSDOC.Parser.symbols);
125
- }
126
- }
@@ -1,109 +0,0 @@
1
- /**
2
- @constructor
3
- */
4
- JSDOC.JsPlate = function(templateFile) {
5
- if (templateFile) this.template = IO.readFile(templateFile);
6
-
7
- this.templateFile = templateFile;
8
- this.code = "";
9
- this.parse();
10
- }
11
-
12
- JSDOC.JsPlate.prototype.parse = function() {
13
- this.template = this.template.replace(/\{#[\s\S]+?#\}/gi, "");
14
- this.code = "var output=``"+this.template;
15
-
16
- this.code = this.code.replace(
17
- /<for +each="(.+?)" +in="(.+?)" *>/gi,
18
- function (match, eachName, inName) {
19
- return "``;\rvar $"+eachName+"_keys = keys("+inName+");\rfor(var $"+eachName+"_i = 0; $"+eachName+"_i < $"+eachName+"_keys.length; $"+eachName+"_i++) {\rvar $"+eachName+"_last = ($"+eachName+"_i == $"+eachName+"_keys.length-1);\rvar $"+eachName+"_key = $"+eachName+"_keys[$"+eachName+"_i];\rvar "+eachName+" = "+inName+"[$"+eachName+"_key];\routput+=``";
20
- }
21
- );
22
- this.code = this.code.replace(/<if test="(.+?)">/g, "``;\rif ($1) { output+=``");
23
- this.code = this.code.replace(/<elseif test="(.+?)"\s*\/>/g, "``;}\relse if ($1) { output+=``");
24
- this.code = this.code.replace(/<else\s*\/>/g, "``;}\relse { output+=``");
25
- this.code = this.code.replace(/<\/(if|for)>/g, "``;\r};\routput+=``");
26
- this.code = this.code.replace(
27
- /\{\+\s*([\s\S]+?)\s*\+\}/gi,
28
- function (match, code) {
29
- code = code.replace(/"/g, "``"); // prevent qoute-escaping of inline code
30
- code = code.replace(/(\r?\n)/g, " ");
31
- return "``+ ("+code+") +``";
32
- }
33
- );
34
- this.code = this.code.replace(
35
- /\{!\s*([\s\S]+?)\s*!\}/gi,
36
- function (match, code) {
37
- code = code.replace(/"/g, "``"); // prevent qoute-escaping of inline code
38
- code = code.replace(/(\n)/g, " ");
39
- return "``; "+code+";\routput+=``";
40
- }
41
- );
42
- this.code = this.code+"``;";
43
-
44
- this.code = this.code.replace(/(\r?\n)/g, "\\n");
45
- this.code = this.code.replace(/"/g, "\\\"");
46
- this.code = this.code.replace(/``/g, "\"");
47
- }
48
-
49
- JSDOC.JsPlate.prototype.toCode = function() {
50
- return this.code;
51
- }
52
-
53
- JSDOC.JsPlate.keys = function(obj) {
54
- var keys = [];
55
- if (obj.constructor.toString().indexOf("Array") > -1) {
56
- for (var i = 0; i < obj.length; i++) {
57
- keys.push(i);
58
- }
59
- }
60
- else {
61
- for (var i in obj) {
62
- keys.push(i);
63
- }
64
- }
65
- return keys;
66
- };
67
-
68
- JSDOC.JsPlate.values = function(obj) {
69
- var values = [];
70
- if (obj.constructor.toString().indexOf("Array") > -1) {
71
- for (var i = 0; i < obj.length; i++) {
72
- values.push(obj[i]);
73
- }
74
- }
75
- else {
76
- for (var i in obj) {
77
- values.push(obj[i]);
78
- }
79
- }
80
- return values;
81
- };
82
-
83
- JSDOC.JsPlate.prototype.process = function(data, compact) {
84
- var keys = JSDOC.JsPlate.keys;
85
- var values = JSDOC.JsPlate.values;
86
-
87
- try {
88
- eval(this.code);
89
- }
90
- catch (e) {
91
- print(">> There was an error evaluating the compiled code from template: "+this.templateFile);
92
- print(" The error was on line "+e.lineNumber+" "+e.name+": "+e.message);
93
- var lines = this.code.split("\r");
94
- if (e.lineNumber-2 >= 0) print("line "+(e.lineNumber-1)+": "+lines[e.lineNumber-2]);
95
- print("line "+e.lineNumber+": "+lines[e.lineNumber-1]);
96
- print("");
97
- }
98
-
99
- if (compact) { // patch by mcbain.asm
100
- // Remove lines that contain only space-characters, usually left by lines in the template
101
- // which originally only contained JSPlate tags or code. This makes it easier to write
102
- // non-tricky templates which still put out nice code (not bloated with extra lines).
103
- // Lines purposely left blank (just a line ending) are left alone.
104
- output = output.replace(/\s+?(\r?)\n/g, "$1\n");
105
- }
106
-
107
- /*debug*///print(this.code);
108
- return output;
109
- }
@@ -1,144 +0,0 @@
1
- /**
2
- @namespace
3
- */
4
- JSDOC.Lang = {
5
- }
6
-
7
- JSDOC.Lang.isBuiltin = function(name) {
8
- return (JSDOC.Lang.isBuiltin.coreObjects.indexOf(name) > -1);
9
- }
10
- JSDOC.Lang.isBuiltin.coreObjects = ['_global_', 'Array', 'Boolean', 'Date', 'Error', 'Function', 'Math', 'Number', 'Object', 'RegExp', 'String'];
11
-
12
- JSDOC.Lang.whitespace = function(ch) {
13
- return JSDOC.Lang.whitespace.names[ch];
14
- }
15
- JSDOC.Lang.whitespace.names = {
16
- " ": "SPACE",
17
- "\f": "FORMFEED",
18
- "\t": "TAB",
19
- "\u0009": "UNICODE_TAB",
20
- "\u000A": "UNICODE_NBR",
21
- "\u0008": "VERTICAL_TAB"
22
- };
23
-
24
- JSDOC.Lang.newline = function(ch) {
25
- return JSDOC.Lang.newline.names[ch];
26
- }
27
- JSDOC.Lang.newline.names = {
28
- "\n": "NEWLINE",
29
- "\r": "RETURN",
30
- "\u000A": "UNICODE_LF",
31
- "\u000D": "UNICODE_CR",
32
- "\u2029": "UNICODE_PS",
33
- "\u2028": "UNICODE_LS"
34
- };
35
-
36
- JSDOC.Lang.keyword = function(word) {
37
- return JSDOC.Lang.keyword.names["="+word];
38
- }
39
- JSDOC.Lang.keyword.names = {
40
- "=break": "BREAK",
41
- "=case": "CASE",
42
- "=catch": "CATCH",
43
- "=const": "VAR",
44
- "=continue": "CONTINUE",
45
- "=default": "DEFAULT",
46
- "=delete": "DELETE",
47
- "=do": "DO",
48
- "=else": "ELSE",
49
- "=false": "FALSE",
50
- "=finally": "FINALLY",
51
- "=for": "FOR",
52
- "=function": "FUNCTION",
53
- "=if": "IF",
54
- "=in": "IN",
55
- "=instanceof": "INSTANCEOF",
56
- "=new": "NEW",
57
- "=null": "NULL",
58
- "=return": "RETURN",
59
- "=switch": "SWITCH",
60
- "=this": "THIS",
61
- "=throw": "THROW",
62
- "=true": "TRUE",
63
- "=try": "TRY",
64
- "=typeof": "TYPEOF",
65
- "=void": "VOID",
66
- "=while": "WHILE",
67
- "=with": "WITH",
68
- "=var": "VAR"
69
- };
70
-
71
- JSDOC.Lang.punc = function(ch) {
72
- return JSDOC.Lang.punc.names[ch];
73
- }
74
- JSDOC.Lang.punc.names = {
75
- ";": "SEMICOLON",
76
- ",": "COMMA",
77
- "?": "HOOK",
78
- ":": "COLON",
79
- "||": "OR",
80
- "&&": "AND",
81
- "|": "BITWISE_OR",
82
- "^": "BITWISE_XOR",
83
- "&": "BITWISE_AND",
84
- "===": "STRICT_EQ",
85
- "==": "EQ",
86
- "=": "ASSIGN",
87
- "!==": "STRICT_NE",
88
- "!=": "NE",
89
- "<<": "LSH",
90
- "<=": "LE",
91
- "<": "LT",
92
- ">>>": "URSH",
93
- ">>": "RSH",
94
- ">=": "GE",
95
- ">": "GT",
96
- "++": "INCREMENT",
97
- "--": "DECREMENT",
98
- "+": "PLUS",
99
- "-": "MINUS",
100
- "*": "MUL",
101
- "/": "DIV",
102
- "%": "MOD",
103
- "!": "NOT",
104
- "~": "BITWISE_NOT",
105
- ".": "DOT",
106
- "[": "LEFT_BRACKET",
107
- "]": "RIGHT_BRACKET",
108
- "{": "LEFT_CURLY",
109
- "}": "RIGHT_CURLY",
110
- "(": "LEFT_PAREN",
111
- ")": "RIGHT_PAREN"
112
- };
113
-
114
- JSDOC.Lang.matching = function(name) {
115
- return JSDOC.Lang.matching.names[name];
116
- }
117
- JSDOC.Lang.matching.names = {
118
- "LEFT_PAREN": "RIGHT_PAREN",
119
- "RIGHT_PAREN": "LEFT_PAREN",
120
- "LEFT_CURLY": "RIGHT_CURLY",
121
- "RIGHT_CURLY": "LEFT_CURLY",
122
- "LEFT_BRACE": "RIGHT_BRACE",
123
- "RIGHT_BRACE": "LEFT_BRACE"
124
- }
125
-
126
- JSDOC.Lang.isNumber = function(str) {
127
- return /^(\.[0-9]|[0-9]+\.|[0-9])[0-9]*([eE][+-][0-9]+)?$/i.test(str);
128
- }
129
-
130
- JSDOC.Lang.isHexDec = function(str) {
131
- return /^0x[0-9A-F]+$/i.test(str);
132
- }
133
-
134
- JSDOC.Lang.isWordChar = function(str) {
135
- return /^[a-zA-Z0-9$_.]+$/.test(str);
136
- }
137
-
138
- JSDOC.Lang.isSpace = function(str) {
139
- return (typeof JSDOC.Lang.whitespace(str) != "undefined");
140
- }
141
-
142
- JSDOC.Lang.isNewline = function(str) {
143
- return (typeof JSDOC.Lang.newline(str) != "undefined");
144
- }
@@ -1,145 +0,0 @@
1
- if (typeof JSDOC == "undefined") JSDOC = {};
2
-
3
- /**
4
- @namespace
5
- @requires JSDOC.Walker
6
- @requires JSDOC.Symbol
7
- @requires JSDOC.DocComment
8
- */
9
- JSDOC.Parser = {
10
- conf: {
11
- ignoreCode: JSDOC.opt.n,
12
- ignoreAnonymous: true, // factory: true
13
- treatUnderscoredAsPrivate: true, // factory: true
14
- explain: false // factory: false
15
- },
16
-
17
- addSymbol: function(symbol) {
18
-
19
- if (JSDOC.Parser.rename) {
20
- for (var n in JSDOC.Parser.rename) {
21
- if (symbol.alias.indexOf(n) == 0) {
22
- if (symbol.name == symbol.alias) {
23
- symbol.name = symbol.name.replace(n, JSDOC.Parser.rename[n]);
24
- }
25
- symbol.alias = symbol.alias.replace(n, JSDOC.Parser.rename[n]);
26
- }
27
- }
28
- }
29
-
30
- if (JSDOC.opt.S) {
31
- if (typeof JSDOC.Parser.secureModules == "undefined") JSDOC.Parser.secureModules = {};
32
- if (/^exports\./.test(symbol.alias)) {
33
- symbol.srcFile.match(/(^|[\\\/])([^\\\/]+)\.js/i);
34
- var fileNS = RegExp.$2;
35
- symbol.alias = symbol.alias.replace(/^exports\./, fileNS);
36
- symbol.name = symbol.name.replace(/^exports\./, "");
37
- symbol.memberOf = fileNS;
38
-
39
- // need to create the namespace associated with this file first
40
- if (!JSDOC.Parser.secureModules[fileNS]) {
41
- JSDOC.Parser.secureModules[fileNS] = 1;
42
- var nsSymbol = new JSDOC.Symbol(fileNS, [], "GLOBAL", new JSDOC.DocComment(""));
43
- nsSymbol.isNamespace = true;
44
- nsSymbol.srcFile = "";
45
- nsSymbol.isPrivate = false;
46
- nsSymbol.srcFile = symbol.srcFile;
47
- nsSymbol.desc = (JSDOC.Parser.symbols.getSymbol(symbol.srcFile) || {desc: ""}).desc;
48
- JSDOC.Parser.addSymbol(nsSymbol);
49
-
50
- }
51
- }
52
- else { // a method that is not exported?
53
- if (!symbol.isNamespace) return;
54
- }
55
- }
56
- // if a symbol alias is documented more than once the last one with the user docs wins
57
- if (JSDOC.Parser.symbols.hasSymbol(symbol.alias)) {
58
- var oldSymbol = JSDOC.Parser.symbols.getSymbol(symbol.alias);
59
- if (oldSymbol.comment.isUserComment) {
60
- if (symbol.comment.isUserComment) { // old and new are both documented
61
- LOG.warn("The symbol '"+symbol.alias+"' is documented more than once.");
62
- }
63
- else { // old is documented but new isn't
64
- return;
65
- }
66
- }
67
- }
68
-
69
- // we don't document anonymous things
70
- if (JSDOC.Parser.conf.ignoreAnonymous && symbol.name.match(/\$anonymous\b/)) return;
71
-
72
- // uderscored things may be treated as if they were marked private, this cascades
73
- if (JSDOC.Parser.conf.treatUnderscoredAsPrivate && symbol.name.match(/[.#-]_[^.#-]+$/)) {
74
- if (!symbol.comment.getTag("public").length > 0) symbol.isPrivate = true;
75
- }
76
-
77
- // -p flag is required to document private things
78
- if (!JSDOC.opt.p && symbol.isPrivate) return; // issue #161 fixed by mcbain.asm
79
-
80
- // ignored things are not documented, this doesn't cascade
81
- if (symbol.isIgnored) return;
82
- JSDOC.Parser.symbols.addSymbol(symbol);
83
- },
84
-
85
- addBuiltin: function(name) {
86
- var builtin = new JSDOC.Symbol(name, [], "CONSTRUCTOR", new JSDOC.DocComment(""));
87
- builtin.isNamespace = true;
88
- builtin.srcFile = "";
89
- builtin.isPrivate = false;
90
- JSDOC.Parser.addSymbol(builtin);
91
- return builtin;
92
- },
93
-
94
- init: function() {
95
- JSDOC.Parser.symbols = new JSDOC.SymbolSet();
96
- JSDOC.Parser.walker = new JSDOC.Walker();
97
- },
98
-
99
- finish: function() {
100
- JSDOC.Parser.symbols.relate();
101
-
102
- // make a litle report about what was found
103
- if (JSDOC.Parser.conf.explain) {
104
- var symbols = JSDOC.Parser.symbols.toArray();
105
- var srcFile = "";
106
- for (var i = 0, l = symbols.length; i < l; i++) {
107
- var symbol = symbols[i];
108
- if (srcFile != symbol.srcFile) {
109
- srcFile = symbol.srcFile;
110
- print("\n"+srcFile+"\n-------------------");
111
- }
112
- print(i+":\n alias => "+symbol.alias + "\n name => "+symbol.name+ "\n isa => "+symbol.isa + "\n memberOf => " + symbol.memberOf + "\n isStatic => " + symbol.isStatic + ", isInner => " + symbol.isInner+ ", isPrivate => " + symbol.isPrivate);
113
- }
114
- print("-------------------\n");
115
- }
116
- }
117
- }
118
-
119
- JSDOC.Parser.parse = function(/**JSDOC.TokenStream*/ts, /**String*/srcFile) {
120
- JSDOC.Symbol.srcFile = (srcFile || "");
121
- JSDOC.DocComment.shared = ""; // shared comments don't cross file boundaries
122
-
123
- if (!JSDOC.Parser.walker) JSDOC.Parser.init();
124
- JSDOC.Parser.walker.walk(ts); // adds to our symbols
125
-
126
- // filter symbols by option
127
- for (var p = JSDOC.Parser.symbols._index.first(); p; p = JSDOC.Parser.symbols._index.next()) {
128
- var symbol = p.value;
129
-
130
- if (!symbol) continue;
131
-
132
- if (symbol.is("FILE") || symbol.is("GLOBAL")) {
133
- continue;
134
- }
135
- else if (!JSDOC.opt.a && !symbol.comment.isUserComment) {
136
- JSDOC.Parser.symbols.deleteSymbol(symbol.alias);
137
- }
138
-
139
- if (/#$/.test(symbol.alias)) { // we don't document prototypes
140
- JSDOC.Parser.symbols.deleteSymbol(symbol.alias);
141
- }
142
- }
143
-
144
- return JSDOC.Parser.symbols.toArray();
145
- }