Chromium Code Reviews| Index: Source/devtools/front_end/documentation/JSArticle.js |
| diff --git a/Source/devtools/front_end/documentation/JSArticle.js b/Source/devtools/front_end/documentation/JSArticle.js |
| index beb88dfad5833e84c2722a05166a07f5ca5ee412..a1176213a4aee17d6c72adde0d357fdbc559347d 100644 |
| --- a/Source/devtools/front_end/documentation/JSArticle.js |
| +++ b/Source/devtools/front_end/documentation/JSArticle.js |
| @@ -25,43 +25,63 @@ WebInspector.JSArticle = function() |
| /** |
| * @constructor |
| - * @param {string} name |
| - * @param {string} dataType |
| - * @param {string} optional |
| + * @param {?WebInspector.WikiParser.Block} name |
| + * @param {?WebInspector.WikiParser.Block} dataType |
| + * @param {?WebInspector.WikiParser.Block} optional |
| * @param {?WebInspector.WikiParser.Block} description |
| */ |
| WebInspector.JSArticle.Parameter = function(name, dataType, optional, description) |
| { |
| - this.name = name; |
| - this.dataType = dataType; |
| - this.optional = optional.toUpperCase() === "YES"; |
| + /** @type {string} */ |
| + this.name; |
| + if (name && Array.isArray(name.children()) && name.children().length > 0 && Array.isArray(name.children()[0].children()) && name.children()[0].children().length > 0) |
|
loislo
2014/09/09 08:05:04
please wrap the expression for better readability
iliia
2014/09/09 08:19:28
Done.
|
| + this.name = name.children()[0].children()[0].text(); |
| + /** @type {string} */ |
| + this.dataType; |
| + if (dataType && Array.isArray(dataType.children()) && dataType.children().length > 0 && Array.isArray(dataType.children()[0].children()) && dataType.children()[0].children().length > 0) |
|
loislo
2014/09/09 08:05:04
ditto
iliia
2014/09/09 08:19:28
Done.
|
| + this.dataType = dataType.children()[0].children()[0].text(); |
| + this.optional = false; |
| + if (optional && Array.isArray(optional.children()) && optional.children().length > 0 && Array.isArray(optional.children()[0].children()) && optional.children()[0].children().length > 0) |
|
loislo
2014/09/09 08:05:04
ditto
iliia
2014/09/09 08:19:29
Done.
|
| + this.optional = optional.children()[0].children()[0].text().toUpperCase() === "YES"; |
| this.description = description; |
| } |
| /** |
| * @constructor |
| - * @param {string} language |
| + * @param {?WebInspector.WikiParser.Block} language |
| * @param {string} code |
| - * @param {string} liveUrl |
| + * @param {?WebInspector.WikiParser.Block} liveUrl |
| * @param {?WebInspector.WikiParser.Block} description |
| */ |
| WebInspector.JSArticle.Example = function(language, code, liveUrl, description) |
| { |
| - this.language = language; |
| + /** @type {string} */ |
| + this.language; |
| + if (language && Array.isArray(language.children()) && language.children().length > 0 && Array.isArray(language.children()[0].children()) && language.children()[0].children().length > 0) |
|
loislo
2014/09/09 08:05:04
ditto
iliia
2014/09/09 08:19:28
Done.
|
| + this.language = language.children()[0].children()[0].text(); |
| this.code = code; |
| - this.liveUrl = liveUrl; |
| + /** @type {string} */ |
| + this.liveUrl; |
| + if (liveUrl && Array.isArray(liveUrl.children()) && liveUrl.children().length > 0 && Array.isArray(liveUrl.children()[0].children()) && liveUrl.children()[0].children().length > 0) |
|
loislo
2014/09/09 08:05:04
ditto
iliia
2014/09/09 08:19:28
Done.
|
| + this.liveUrl = liveUrl.children()[0].children()[0].text(); |
| this.description = description; |
| } |
| /** |
| * @constructor |
| - * @param {string} returnValueName |
| - * @param {string} returnValueDescription |
| + * @param {?WebInspector.WikiParser.Block} returnValueName |
| + * @param {?WebInspector.WikiParser.Block} returnValueDescription |
| */ |
| WebInspector.JSArticle.Method = function(returnValueName, returnValueDescription) |
| { |
| - this.returnValueName = returnValueName; |
| - this.returnValueDescription = returnValueDescription; |
| + /** @type {string} */ |
| + this.returnValueName; |
| + if (returnValueName && Array.isArray(returnValueName.children()) && returnValueName.children().length > 0 && Array.isArray(returnValueName.children()[0].children()) && returnValueName.children()[0].children().length > 0) |
|
loislo
2014/09/09 08:05:04
ditto
iliia
2014/09/09 08:19:28
Done.
|
| + this.returnValueName = returnValueName.children()[0].children()[0].text(); |
| + /** @type {string} */ |
| + this.returnValueDescription; |
| + if (returnValueDescription && Array.isArray(returnValueDescription.children()) && returnValueDescription.children().length > 0 && Array.isArray(returnValueDescription.children()[0].children()) && returnValueDescription.children()[0].children().length > 0) |
|
loislo
2014/09/09 08:05:04
ditto
iliia
2014/09/09 08:19:28
Done.
|
| + this.returnValueDescription = returnValueDescription ? returnValueDescription.children()[0].children()[0].text() : null; |
| } |
| /** |
| @@ -70,22 +90,8 @@ WebInspector.JSArticle.Method = function(returnValueName, returnValueDescription |
| */ |
| WebInspector.JSArticle.parse = function(wikiMarkupText) |
| { |
| - /** |
| - * @param {string} string |
| - * @param {string} debugInfo |
| - * @return {?WebInspector.WikiParser.Block} |
| - */ |
| - function parseString(string, debugInfo) |
| - { |
| - var result = wikiParser.parseString(string); |
| - if (!result) |
| - console.error("Can't parse " + debugInfo); |
| - return result; |
| - } |
| - |
| var wikiParser = new WebInspector.WikiParser(wikiMarkupText); |
| var wikiDocument = wikiParser.document(); |
| - |
| var article = new WebInspector.JSArticle(); |
| article.pageTitle = wikiDocument["Page_Title"]; |
| if (typeof article.pageTitle !== "string") |
| @@ -101,13 +107,8 @@ WebInspector.JSArticle.parse = function(wikiMarkupText) |
| article.methods = new WebInspector.JSArticle.Method(returnValueName, returnValue); |
| } |
| - var remarks = wikiDocument["Remarks_Section"] ? wikiDocument["Remarks_Section"]["Remarks"] : null; |
| - if (remarks) |
| - article.remarks = parseString(remarks, "remarks"); |
| - |
| - var summary = wikiDocument["Summary_Section"]; |
| - if (summary) |
| - article.summary = parseString(summary, "summary"); |
| + article.remarks = wikiDocument["Remarks_Section"] ? wikiDocument["Remarks_Section"]["Remarks"] : null; |
| + article.summary = wikiDocument["Summary_Section"]; |
| var examples = wikiDocument["Examples_Section"] ? wikiDocument["Examples_Section"]["Examples"] : []; |
| if (!Array.isArray(examples) && typeof examples !== "undefined") |
| @@ -117,7 +118,7 @@ WebInspector.JSArticle.parse = function(wikiMarkupText) |
| var language = examples[i]["Single Example"]["Language"]; |
| var code = examples[i]["Single Example"]["Code"]; |
| var liveUrl = examples[i]["Single Example"]["LiveURL"]; |
| - var description = parseString(examples[i]["Single Example"]["Description"], "example description"); |
| + var description = examples[i]["Single Example"]["Description"]; |
| article.examples.push(new WebInspector.JSArticle.Example(language, code, liveUrl, description)); |
| } |
| @@ -129,7 +130,7 @@ WebInspector.JSArticle.parse = function(wikiMarkupText) |
| var name = parameters[i]["Method Parameter"]["Name"]; |
| var dataType = parameters[i]["Method Parameter"]["Data type"]; |
| var optional = parameters[i]["Method Parameter"]["Optional"]; |
| - var description = parseString(parameters[i]["Method Parameter"]["Description"], "method description"); |
| + var description = parameters[i]["Method Parameter"]["Description"]; |
| article.parameters.push(new WebInspector.JSArticle.Parameter(name, dataType, optional, description)); |
| } |