@@ -53,8 +53,10 @@ export class AstReferenceResolver {
53
53
54
54
public resolve ( declarationReference : tsdoc . DocDeclarationReference ) : AstDeclaration | ResolverFailure {
55
55
// Is it referring to the working package?
56
- if ( declarationReference . packageName !== undefined
57
- && declarationReference . packageName !== this . _workingPackage . name ) {
56
+ if (
57
+ declarationReference . packageName !== undefined &&
58
+ declarationReference . packageName !== this . _workingPackage . name
59
+ ) {
58
60
return new ResolverFailure ( 'External package references are not supported' ) ;
59
61
}
60
62
@@ -64,7 +66,8 @@ export class AstReferenceResolver {
64
66
}
65
67
66
68
const astModule : AstModule = this . _astSymbolTable . fetchAstModuleFromWorkingPackage (
67
- this . _workingPackage . entryPointSourceFile ) ;
69
+ this . _workingPackage . entryPointSourceFile
70
+ ) ;
68
71
69
72
if ( declarationReference . memberReferences . length === 0 ) {
70
73
return new ResolverFailure ( 'Package references are not supported' ) ;
@@ -78,18 +81,25 @@ export class AstReferenceResolver {
78
81
}
79
82
80
83
const rootAstEntity : AstEntity | undefined = this . _astSymbolTable . tryGetExportOfAstModule (
81
- exportName , astModule ) ;
84
+ exportName ,
85
+ astModule
86
+ ) ;
82
87
83
88
if ( rootAstEntity === undefined ) {
84
- return new ResolverFailure ( `The package "${ this . _workingPackage . name } " does not have an export "${ exportName } "` ) ;
89
+ return new ResolverFailure (
90
+ `The package "${ this . _workingPackage . name } " does not have an export "${ exportName } "`
91
+ ) ;
85
92
}
86
93
87
94
if ( ! ( rootAstEntity instanceof AstSymbol ) ) {
88
95
return new ResolverFailure ( 'This type of declaration is not supported yet by the resolver' ) ;
89
96
}
90
97
91
- let currentDeclaration : AstDeclaration | ResolverFailure = this . _selectDeclaration ( rootAstEntity . astDeclarations ,
92
- rootMemberReference , rootAstEntity . localName ) ;
98
+ let currentDeclaration : AstDeclaration | ResolverFailure = this . _selectDeclaration (
99
+ rootAstEntity . astDeclarations ,
100
+ rootMemberReference ,
101
+ rootAstEntity . localName
102
+ ) ;
93
103
94
104
if ( currentDeclaration instanceof ResolverFailure ) {
95
105
return currentDeclaration ;
@@ -103,13 +113,18 @@ export class AstReferenceResolver {
103
113
return memberName ;
104
114
}
105
115
106
- const matchingChildren : ReadonlyArray < AstDeclaration > = currentDeclaration . findChildrenWithName ( memberName ) ;
116
+ const matchingChildren : ReadonlyArray < AstDeclaration > = currentDeclaration . findChildrenWithName (
117
+ memberName
118
+ ) ;
107
119
if ( matchingChildren . length === 0 ) {
108
120
return new ResolverFailure ( `No member was found with name "${ memberName } "` ) ;
109
121
}
110
122
111
- const selectedDeclaration : AstDeclaration | ResolverFailure = this . _selectDeclaration ( matchingChildren ,
112
- memberReference , memberName ) ;
123
+ const selectedDeclaration : AstDeclaration | ResolverFailure = this . _selectDeclaration (
124
+ matchingChildren ,
125
+ memberReference ,
126
+ memberName
127
+ ) ;
113
128
114
129
if ( selectedDeclaration instanceof ResolverFailure ) {
115
130
return selectedDeclaration ;
@@ -131,9 +146,11 @@ export class AstReferenceResolver {
131
146
return memberReference . memberIdentifier . identifier ;
132
147
}
133
148
134
- private _selectDeclaration ( astDeclarations : ReadonlyArray < AstDeclaration > ,
135
- memberReference : tsdoc . DocMemberReference , astSymbolName : string ) : AstDeclaration | ResolverFailure {
136
-
149
+ private _selectDeclaration (
150
+ astDeclarations : ReadonlyArray < AstDeclaration > ,
151
+ memberReference : tsdoc . DocMemberReference ,
152
+ astSymbolName : string
153
+ ) : AstDeclaration | ResolverFailure {
137
154
const memberSelector : tsdoc . DocMemberSelector | undefined = memberReference . selector ;
138
155
139
156
if ( memberSelector === undefined ) {
@@ -142,13 +159,17 @@ export class AstReferenceResolver {
142
159
} else {
143
160
// If we found multiple matches, but the extra ones are all ancillary declarations,
144
161
// then return the main declaration.
145
- const nonAncillaryMatch : AstDeclaration | undefined = this . _tryDisambiguateAncillaryMatches ( astDeclarations ) ;
162
+ const nonAncillaryMatch : AstDeclaration | undefined = this . _tryDisambiguateAncillaryMatches (
163
+ astDeclarations
164
+ ) ;
146
165
if ( nonAncillaryMatch ) {
147
166
return nonAncillaryMatch ;
148
167
}
149
168
150
- return new ResolverFailure ( `The reference is ambiguous because "${ astSymbolName } "`
151
- + ` has more than one declaration; you need to add a TSDoc member reference selector` ) ;
169
+ return new ResolverFailure (
170
+ `The reference is ambiguous because "${ astSymbolName } "` +
171
+ ` has more than one declaration; you need to add a TSDoc member reference selector`
172
+ ) ;
152
173
}
153
174
}
154
175
@@ -162,9 +183,11 @@ export class AstReferenceResolver {
162
183
return new ResolverFailure ( `The selector "${ memberSelector . selector } " is not a supported selector type` ) ;
163
184
}
164
185
165
- private _selectUsingSystemSelector ( astDeclarations : ReadonlyArray < AstDeclaration > ,
166
- memberSelector : tsdoc . DocMemberSelector , astSymbolName : string ) : AstDeclaration | ResolverFailure {
167
-
186
+ private _selectUsingSystemSelector (
187
+ astDeclarations : ReadonlyArray < AstDeclaration > ,
188
+ memberSelector : tsdoc . DocMemberSelector ,
189
+ astSymbolName : string
190
+ ) : AstDeclaration | ResolverFailure {
168
191
const selectorName : string = memberSelector . selector ;
169
192
170
193
let selectorSyntaxKind : ts . SyntaxKind ;
@@ -195,10 +218,14 @@ export class AstReferenceResolver {
195
218
return new ResolverFailure ( `Unsupported system selector "${ selectorName } "` ) ;
196
219
}
197
220
198
- const matches : AstDeclaration [ ] = astDeclarations . filter ( x => x . declaration . kind === selectorSyntaxKind ) ;
221
+ const matches : AstDeclaration [ ] = astDeclarations . filter (
222
+ ( x ) => x . declaration . kind === selectorSyntaxKind
223
+ ) ;
199
224
if ( matches . length === 0 ) {
200
- return new ResolverFailure ( `A declaration for "${ astSymbolName } " was not found that matches the`
201
- + ` TSDoc selector "${ selectorName } "` ) ;
225
+ return new ResolverFailure (
226
+ `A declaration for "${ astSymbolName } " was not found that matches the` +
227
+ ` TSDoc selector "${ selectorName } "`
228
+ ) ;
202
229
}
203
230
if ( matches . length > 1 ) {
204
231
// If we found multiple matches, but the extra ones are all ancillary declarations,
@@ -208,15 +235,18 @@ export class AstReferenceResolver {
208
235
return nonAncillaryMatch ;
209
236
}
210
237
211
- return new ResolverFailure ( `More than one declaration "${ astSymbolName } " matches the`
212
- + ` TSDoc selector "${ selectorName } "` ) ;
238
+ return new ResolverFailure (
239
+ `More than one declaration "${ astSymbolName } " matches the TSDoc selector "${ selectorName } "`
240
+ ) ;
213
241
}
214
242
return matches [ 0 ] ;
215
243
}
216
244
217
- private _selectUsingIndexSelector ( astDeclarations : ReadonlyArray < AstDeclaration > ,
218
- memberSelector : tsdoc . DocMemberSelector , astSymbolName : string ) : AstDeclaration | ResolverFailure {
219
-
245
+ private _selectUsingIndexSelector (
246
+ astDeclarations : ReadonlyArray < AstDeclaration > ,
247
+ memberSelector : tsdoc . DocMemberSelector ,
248
+ astSymbolName : string
249
+ ) : AstDeclaration | ResolverFailure {
220
250
const selectorOverloadIndex : number = parseInt ( memberSelector . selector ) ;
221
251
222
252
const matches : AstDeclaration [ ] = [ ] ;
@@ -228,8 +258,10 @@ export class AstReferenceResolver {
228
258
}
229
259
230
260
if ( matches . length === 0 ) {
231
- return new ResolverFailure ( `An overload for "${ astSymbolName } " was not found that matches the`
232
- + ` TSDoc selector ":${ selectorOverloadIndex } "` ) ;
261
+ return new ResolverFailure (
262
+ `An overload for "${ astSymbolName } " was not found that matches the` +
263
+ ` TSDoc selector ":${ selectorOverloadIndex } "`
264
+ ) ;
233
265
}
234
266
if ( matches . length > 1 ) {
235
267
// If we found multiple matches, but the extra ones are all ancillary declarations,
@@ -239,8 +271,10 @@ export class AstReferenceResolver {
239
271
return nonAncillaryMatch ;
240
272
}
241
273
242
- return new ResolverFailure ( `More than one declaration for "${ astSymbolName } " matches the`
243
- + ` TSDoc selector ":${ selectorOverloadIndex } "` ) ;
274
+ return new ResolverFailure (
275
+ `More than one declaration for "${ astSymbolName } " matches the` +
276
+ ` TSDoc selector ":${ selectorOverloadIndex } "`
277
+ ) ;
244
278
}
245
279
return matches [ 0 ] ;
246
280
}
@@ -249,7 +283,9 @@ export class AstReferenceResolver {
249
283
* This resolves an ambiguous match in the case where the extra matches are all ancillary declarations,
250
284
* except for one match that is the main declaration.
251
285
*/
252
- private _tryDisambiguateAncillaryMatches ( matches : ReadonlyArray < AstDeclaration > ) : AstDeclaration | undefined {
286
+ private _tryDisambiguateAncillaryMatches (
287
+ matches : ReadonlyArray < AstDeclaration >
288
+ ) : AstDeclaration | undefined {
253
289
let result : AstDeclaration | undefined = undefined ;
254
290
255
291
for ( const match of matches ) {
0 commit comments