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)); |
} |