77 Commits

Author SHA1 Message Date
Jeff Williams
43ebd95874 add tests for external tag 2014-05-23 13:29:52 -07:00
Jeff Williams
1566421a62 give doclets a longname even if the name is empty (#643) 2014-04-26 10:57:10 -07:00
Jeff Williams
f635b10b6f fix comment-attachment issue (#638)
The issue in brief: Within an object literal, if a standalone comment was followed by a commented symbol, the symbol's comment would not be attached correctly.

The fix essentially reverts the changes for #565, which are no longer needed thanks to 50cd99fa2fca753fcf7c9ec3ecf70afd47168e94.

The fix also corrects the order in which we walk a MemberExpression's child nodes. Without this correction, comments would not be attached correctly inside CallExpression nodes.
2014-04-25 21:53:30 -07:00
Jeff Williams
3d1c36a325 keep all type info for return and type tags (#618)
For consistency with method parameters, this change extends our unfortunate practice of adding type properties to the parent of the `type` object, rather than the object itself.
2014-04-15 09:26:19 -07:00
Jeff Williams
02f14958b1 cleanup 2014-04-15 09:06:16 -07:00
Bill Tutt
821156c01c Fix issue #631: virtual comments inside of modules aren't members of modules. 2014-04-13 20:28:20 -04:00
Jeff Williams
62406412b6 walk children of ES6 nodes (#555)
For now, the node visitor discards these and logs a warning.
2014-04-07 08:47:51 -07:00
Jeff Williams
3e4e48accd attach inline type annotations to function params (#611)
includes a new Rhino jar: jsdoc3/rhino@bb2446ad
2014-03-30 22:01:04 -07:00
Jeff Williams
8df4472a2d set the correct longname when the doclet's name starts with the namespace's name (#608)
plus some cleanup
2014-03-27 15:12:24 -07:00
Jeff Williams
65b2fd6499 fix typo; cleanup 2014-03-27 14:42:54 -07:00
Jeff Williams
a2512832a7 remove obsolete text fixtures 2014-03-27 14:39:17 -07:00
Jeff Williams
8128dc5335 handle default values that are array literals (#604)
plus some test cleanup
2014-03-18 10:16:41 -07:00
Jeff Williams
cd6c89ec10 re-enable default values that are object literals (#607) 2014-03-18 10:00:16 -07:00
Jeff Williams
3b5db81d92 fix closures with multiple lends tags (#569)
There were three separate problems here:

1. The visitor called `trackVars` at the wrong time for `AssignmentExpression` and `VariableDeclarator` nodes, which prevented JSDoc from setting the `funcscope` property correctly.
2. The `funcscope` property was being added to `VariableDeclarator` nodes. It should only be added to `AssignmentExpression` nodes.
3. We were trying to resolve the variable name `____` in `AssignmentExpression` nodes. This is a special value we add to the source code so that the `lends` tag will work, and it should never be resolved against the enclosing scope.

The previous, buggy behavior looked reasonable in most cases, but it didn't work for closures that contain multiple `lends` tags.
2014-03-16 19:58:34 -07:00
Jeff Williams
49ad746e49 trailing whitespace cleanup 2014-03-04 13:47:57 -08:00
Jeff Williams
48e6c392d5 huge whitespace cleanup
- remove all trailing whitespace
- for consistency, replace all tabs with spaces
2014-03-03 07:43:01 -08:00
Jeff Williams
4e3e4a0151 fix lends tag inside nested function calls (#565)
plus some minor test cleanup
2014-02-23 20:16:16 -08:00
Jeff Williams
ec93145550 fix the lends tag inside of closures (#573) 2014-02-23 09:36:59 -08:00
Jeff Williams
2a61c9f613 oops, forgot to commit a new test fixture (#574) 2014-02-16 09:35:27 -08:00
Jeff Williams
43b6920085 document new properties on module.exports (#500) 2014-02-01 20:12:24 -08:00
Jeff Williams
8bf9db836e Merge remote-tracking branch 'rassilon/issue-535'
Conflicts:
	lib/jsdoc/tag/dictionary/definitions.js
	test/fixtures/constanttag.js
	test/specs/tags/constanttag.js
2013-12-03 21:45:15 -08:00
Jeff Williams
44ff7255e2 correctly retrieve the name from @const tags, with or without a type (#367) 2013-12-01 08:14:19 -08:00
Jeff Williams
71cf7d7a1e rename text fixture for consistency 2013-11-26 07:51:20 -08:00
Bill Tutt
89ff00bbc7 longnames for external's no longer contain braces if the tag's text contained braces.
This fixes #351.
2013-11-26 07:48:22 -08:00
Bill Tutt
8be3a1fecc Fix jsdoc #535: @member and @constant with only type create incorrect doclet. 2013-11-21 22:51:58 -05:00
Jeff Williams
6651a85b35 Merge branch 'master' into parsimony
Conflicts:
	lib/jsdoc/src/filter.js
	lib/jsdoc/src/scanner.js
	package.json
	test/specs/jsdoc/src/filter.js
	test/specs/jsdoc/src/scanner.js
	test/specs/tags/exportstag.js
2013-11-04 08:54:46 -08:00
Jeff Williams
01882a231b test for variable-scoping issue in JSDoc 3.2.1 (#513) 2013-11-04 07:51:23 -08:00
Jeff Williams
de4297b20b refactor jsdoc.js; update Rhino
- Switched to a new Rhino fork: https://github.com/jsdoc3/rhino
  (currently reflects mozilla/rhino HEAD + enhancements for JSDoc)
- Removed jsdoc/util/global; new Rhino fork provides a `global` alias
  just like Node.js
- Moved most of jsdoc.js into cli.js, and refactored for clarity
2013-10-27 10:46:27 -07:00
Jeff Williams
751bea1b0a fixes for Node.js compatibility (see details)
- new Rhino .jar to help find module paths
(https://github.com/hegemonic/rhino/commit/31b70105)
- make __dirname and process.cwd() provide the current module path; use
only env.dirname for JSDoc's home dir; fix callers
- get rid of jsdoc/util/include (and update test framework accordingly)
- avoid running Rhino/Node.js tests on the wrong runtime
- remove support for global 'publish' function, which relied upon
jsdoc/util/include
- update jsdoc/util/dumper for consistency with Node.js'
JSON.stringify()
- fix jsdoc/util/runtime to detect Node.js correctly
- add Node.js versions of jsdoc/fs and jsdoc/path
- other minor cleanup
2013-10-25 23:30:56 -07:00
Jeff Williams
e7752cde18 Merge branch 'master' into parsimony
Conflicts:
	lib/jsdoc/name.js
	lib/jsdoc/src/handlers.js
	lib/jsdoc/src/parser.js
	lib/jsdoc/tag/dictionary/definitions.js
	lib/jsdoc/util/templateHelper.js
	package.json
	test/specs/documentation/alias.js
	test/specs/documentation/modules.js
	test/specs/tags/augmentstag.js
	test/specs/tags/overviewtag.js
2013-10-21 08:42:29 -07:00
Jeff Williams
735a9b790c esprima parser (currently disabled) 2013-10-21 08:02:03 -07:00
Jeff Williams
752e871f98 prevent undocumented overrides from replacing documented parents (#503) 2013-10-15 08:54:13 -07:00
Jeff Williams
700e5d9ea9 fix type tag for type expressions that span multiple lines (#427) 2013-09-14 08:33:54 -07:00
Jeff Williams
da524aa558 allow requires tag text to be an inline link tag (#486) 2013-09-09 22:24:44 -07:00
Jeff Williams
abeb539a33 unit tests for let keyword (#477) 2013-08-17 00:24:36 -07:00
Jeff Williams
47fe83de3d prevent crashes in lenient mode when a param tag has an invalid type expression (#451) 2013-08-04 23:21:01 -07:00
Louis-Dominique Dubeau
39bf9adb2b Allow the presence of inline tags for a @returns tag that does not have a type spec. 2013-06-28 09:33:05 -04:00
Jeff Williams
da22d723b7 Merge branch 'master' into parsimony
Conflicts:
	lib/jsdoc/src/parser.js
	test/specs/tags/defaulttag.js
2013-06-23 21:40:21 -07:00
Jeff Williams
44d9ec6831 new parser infrastructure
consumes ASTs that follow the Mozilla Parser API spec:
https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API

passes all tests on OS X; performance is comparable to previous
version. also includes some miscellaneous cleanup.

remaining issues:
- only Rhino AST builder is supported
- node visitors (old and new) may not be hooked up yet
- circular-reference issues in doclets
- docs are (mostly) missing
- various other TODO comments
2013-06-23 10:18:13 -07:00
Ernst Haagsman
70109a2956 @default tag with object literals
Changed boolean 'doclet.defaultobject' to 'doclet.defaultvaluetype' field. Improved unit testing and fixed template.
2013-05-15 10:54:55 +02:00
Ernst Haagsman
9af5ea424e @default tag: added support for object literal defaults
Default object literals are now stored as a string. In the default
template they are shown with syntax highlighting.
2013-05-09 14:38:14 +02:00
Jeff Williams
32b2ea5a1d recognize Closure Compiler-style typedefs (#391) 2013-04-16 03:21:30 -07:00
Jeff Williams
883b181ac7 use the correct comment when creating doclets for overloaded methods (#179) 2013-04-14 17:50:25 -07:00
Jeff Williams
407a718543 Merge branch 'pr/365' 2013-04-07 07:14:57 -07:00
Jeff Williams
e5be860cc4 support modules that export a single non-constructor function (#384) 2013-04-06 16:53:20 -07:00
mathematicalcoffee
66321a196f Merge branch 'master' into feature-listens 2013-03-25 10:30:24 +10:00
mathematicalcoffee
17a69c727f modified @listens test fixture so I can use it for addEventListeners too 2013-03-18 14:31:46 +10:00
mathematicalcoffee
66d4b0623a updated @listens test to use a fixture 2013-02-26 14:59:52 +10:00
mathematicalcoffee
933615da86 Merge branch 'master' into tests-tag
Conflicts:
	test/specs/tags/paramtag.js
2013-02-26 13:54:35 +10:00
mathematicalcoffee
bbf6f51f77 Moved inline doclet definition to external fixtures 2013-02-22 14:47:34 +10:00