MCPcopy Index your code
hub / github.com/jsdoc/jsdoc / parse

Method parse

lib/jsdoc/src/parser.js:165–214  ·  view source on GitHub ↗

* Parse the given source files for JSDoc comments. * @param {Array. } sourceFiles An array of filepaths to the JavaScript sources. * @param {string} [encoding] * * @fires module:jsdoc/src/parser.Parser.parseBegin * @fires module:jsdoc/src/parser.Parser.fileBegin

(sourceFiles, encoding)

Source from the content-addressed store, hash-verified

163 * var docs = jsdocParser.parse(myFiles);
164 */
165 parse(sourceFiles, encoding) {
166 encoding = encoding || jsdoc.env.conf.encoding || 'utf8';
167
168 let filename = '';
169 let sourceCode = '';
170 let sourceFile;
171 const parsedFiles = [];
172 const e = {};
173
174 if (typeof sourceFiles === 'string') {
175 sourceFiles = [sourceFiles];
176 }
177
178 e.sourcefiles = sourceFiles;
179 logger.debug('Parsing source files: %j', sourceFiles);
180
181 this.emit('parseBegin', e);
182
183 for (let i = 0, l = sourceFiles.length; i < l; i++) {
184 sourceCode = '';
185 sourceFile = sourceFiles[i];
186
187 if (sourceFile.indexOf(SCHEMA) === 0) {
188 sourceCode = sourceFile.substr(SCHEMA.length);
189 filename = `[[string${i}]]`;
190 }
191 else {
192 filename = sourceFile;
193 try {
194 sourceCode = fs.readFileSync(filename, encoding);
195 }
196 catch (err) {
197 logger.error('Unable to read and parse the source file %s: %s', filename, err);
198 }
199 }
200
201 if (sourceCode.length) {
202 this._parseSourceCode(sourceCode, filename);
203 parsedFiles.push(filename);
204 }
205 }
206
207 this.emit('parseComplete', {
208 sourcefiles: parsedFiles,
209 doclets: this._resultBuffer
210 });
211 logger.debug('Finished parsing source files.');
212
213 return this._resultBuffer;
214 }
215
216 // TODO: docs
217 fireProcessingComplete(doclets) {

Callers 5

resolver.jsFile · 0.45
parseFunction · 0.45
parseTypeFunction · 0.45
parseTypeExpressionFunction · 0.45
parseTypeTextFunction · 0.45

Calls 1

_parseSourceCodeMethod · 0.95

Tested by

no test coverage detected