11=== tests/cases/conformance/jsdoc/mod1.js ===
22/**
33 * @typedef {function(string): boolean}
4- * MyType
4+ * Type1
55 */
66
77/**
88 * Tries to use a type whose name is on a different
99 * line than the typedef tag.
10- * @param {MyType } func The function to call.
10+ * @param {Type1 } func The function to call.
1111 * @param {string} arg The argument to call it with.
1212 * @returns {boolean} The return.
1313 */
@@ -21,3 +21,33 @@ function callIt(func, arg) {
2121>arg : Symbol(arg, Decl(mod1.js, 12, 21))
2222}
2323
24+ === tests/cases/conformance/jsdoc/mod2.js ===
25+ /**
26+ * @typedef {{
27+ * num: number,
28+ * str: string,
29+ * boo: boolean
30+ * }} Type2
31+ */
32+
33+ /**
34+ * Makes use of a type with a multiline type expression.
35+ * @param {Type2} obj The object.
36+ * @returns {string|number} The return.
37+ */
38+ function check(obj) {
39+ >check : Symbol(check, Decl(mod2.js, 0, 0))
40+ >obj : Symbol(obj, Decl(mod2.js, 13, 15))
41+
42+ return obj.boo ? obj.num : obj.str;
43+ >obj.boo : Symbol(boo, Decl(mod2.js, 3, 17))
44+ >obj : Symbol(obj, Decl(mod2.js, 13, 15))
45+ >boo : Symbol(boo, Decl(mod2.js, 3, 17))
46+ >obj.num : Symbol(num, Decl(mod2.js, 1, 14))
47+ >obj : Symbol(obj, Decl(mod2.js, 13, 15))
48+ >num : Symbol(num, Decl(mod2.js, 1, 14))
49+ >obj.str : Symbol(str, Decl(mod2.js, 2, 17))
50+ >obj : Symbol(obj, Decl(mod2.js, 13, 15))
51+ >str : Symbol(str, Decl(mod2.js, 2, 17))
52+ }
53+
0 commit comments