Index: chrome/browser/resources/chromeos/chromevox/common/math_semantic_tree.js |
diff --git a/chrome/browser/resources/chromeos/chromevox/common/math_semantic_tree.js b/chrome/browser/resources/chromeos/chromevox/common/math_semantic_tree.js |
index 647aaec6d7f4dd5d01aed275281762661c1e388b..991ae3244caf6d562f09ebd9b5342c50750ae8b5 100644 |
--- a/chrome/browser/resources/chromeos/chromevox/common/math_semantic_tree.js |
+++ b/chrome/browser/resources/chromeos/chromevox/common/math_semantic_tree.js |
@@ -50,7 +50,7 @@ cvox.SemanticTree.Node = function(id) { |
/** @type {number} */ |
this.id = id; |
- /** @type {Array.<Element>} */ |
+ /** @type {Array<Element>} */ |
this.mathml = []; |
/** @type {cvox.SemanticTree.Node} */ |
@@ -65,7 +65,7 @@ cvox.SemanticTree.Node = function(id) { |
/** @type {cvox.SemanticAttr.Font} */ |
this.font = cvox.SemanticAttr.Font.UNKNOWN; |
- /** @type {!Array.<cvox.SemanticTree.Node>} */ |
+ /** @type {!Array<cvox.SemanticTree.Node>} */ |
this.childNodes = []; |
/** @type {string} */ |
@@ -73,7 +73,7 @@ cvox.SemanticTree.Node = function(id) { |
/** Branch nodes can store additional nodes that can be useful. |
* E.g. a node of type FENCED can have the opening and closing fences here. |
- * @type {!Array.<cvox.SemanticTree.Node>} |
+ * @type {!Array<cvox.SemanticTree.Node>} |
*/ |
this.contentNodes = []; |
}; |
@@ -83,7 +83,7 @@ cvox.SemanticTree.Node = function(id) { |
* Retrieve all subnodes (including the node itself) that satisfy a given |
* predicate. |
* @param {function(cvox.SemanticTree.Node): boolean} pred The predicate. |
- * @return {!Array.<cvox.SemanticTree.Node>} The nodes in the tree for which the |
+ * @return {!Array<cvox.SemanticTree.Node>} The nodes in the tree for which the |
* predicate holds. |
*/ |
cvox.SemanticTree.Node.prototype.querySelectorAll = function(pred) { |
@@ -124,7 +124,7 @@ cvox.SemanticTree.Node.prototype.querySelectorAll = function(pred) { |
/** |
* Translates a list of nodes into XML representation. |
* @param {string} tag Name of the enclosing tag. |
- * @param {!Array.<!cvox.SemanticTree.Node>} nodes A list of nodes. |
+ * @param {!Array<!cvox.SemanticTree.Node>} nodes A list of nodes. |
* @return {Node} An XML representation of the node list. |
*/ |
var xmlNodeList = function(tag, nodes) { |
@@ -283,7 +283,7 @@ cvox.SemanticTree.Node.prototype.updateContent_ = function(content) { |
* Adds MathML nodes to the node's store of MathML nodes if necessary only, as |
* we can not necessarily assume that the MathML of the content nodes and |
* children are all disjoint. |
- * @param {Array.<Node>} mmlNodes List of MathML nodes. |
+ * @param {Array<Node>} mmlNodes List of MathML nodes. |
* @private |
*/ |
cvox.SemanticTree.Node.prototype.addMathmlNodes_ = function(mmlNodes) { |
@@ -297,7 +297,7 @@ cvox.SemanticTree.Node.prototype.addMathmlNodes_ = function(mmlNodes) { |
/** |
* Removes MathML nodes from the node's store of MathML nodes. |
- * @param {Array.<Node>} mmlNodes List of MathML nodes. |
+ * @param {Array<Node>} mmlNodes List of MathML nodes. |
* @private |
*/ |
cvox.SemanticTree.Node.prototype.removeMathmlNodes_ = function(mmlNodes) { |
@@ -493,8 +493,8 @@ cvox.SemanticTree.prototype.parseMathml_ = function(mml) { |
/** |
* Parse a list of MathML nodes into the semantic tree. |
- * @param {Array.<Element>} mmls A list of MathML nodes. |
- * @return {!Array.<cvox.SemanticTree.Node>} The list of resulting semantic |
+ * @param {Array<Element>} mmls A list of MathML nodes. |
+ * @return {!Array<cvox.SemanticTree.Node>} The list of resulting semantic |
* node. |
* @private |
*/ |
@@ -549,8 +549,8 @@ cvox.SemanticTree.prototype.makeLeafNode_ = function(mml) { |
/** |
* Create a branching node. |
* @param {!cvox.SemanticAttr.Type} type The type of the node. |
- * @param {!Array.<cvox.SemanticTree.Node>} children The child nodes. |
- * @param {!Array.<cvox.SemanticTree.Node>} contentNodes The content Nodes. |
+ * @param {!Array<cvox.SemanticTree.Node>} children The child nodes. |
+ * @param {!Array<cvox.SemanticTree.Node>} contentNodes The content Nodes. |
* @param {string=} content Content string if there is any. |
* @return {!cvox.SemanticTree.Node} The new node. |
* @private |
@@ -577,7 +577,7 @@ cvox.SemanticTree.prototype.makeBranchNode_ = function( |
/** |
* Create a branching node for an implicit operation, currently assumed to |
* be of multiplicative type. |
- * @param {!Array.<!cvox.SemanticTree.Node>} nodes The operands. |
+ * @param {!Array<!cvox.SemanticTree.Node>} nodes The operands. |
* @return {!cvox.SemanticTree.Node} The new branch node. |
* @private |
*/ |
@@ -596,7 +596,7 @@ cvox.SemanticTree.prototype.makeImplicitNode_ = function(nodes) { |
/** |
* Create a branching node for an infix operation. |
- * @param {!Array.<cvox.SemanticTree.Node>} children The operands. |
+ * @param {!Array<cvox.SemanticTree.Node>} children The operands. |
* @param {!cvox.SemanticTree.Node} opNode The operator. |
* @return {!cvox.SemanticTree.Node} The new branch node. |
* @private |
@@ -612,7 +612,7 @@ cvox.SemanticTree.prototype.makeInfixNode_ = function(children, opNode) { |
* one content (thereby concatenating the content of each node into a single |
* content string) with the inner node as a child. |
* @param {!cvox.SemanticTree.Node} inner The inner node. |
- * @param {!Array.<cvox.SemanticTree.Node>} nodeList List of nodes. |
+ * @param {!Array<cvox.SemanticTree.Node>} nodeList List of nodes. |
* @param {!cvox.SemanticAttr.Type} type The new type of the node. |
* @return {!cvox.SemanticTree.Node} The new branch node. |
* @private |
@@ -635,7 +635,7 @@ cvox.SemanticTree.prototype.makeConcatNode_ = function(inner, nodeList, type) { |
* Example: + - a becomes (+ (- (a))) |
* Input: a [+, -] -> Output: content: '+ -', child: a |
* @param {!cvox.SemanticTree.Node} node The inner node. |
- * @param {!Array.<cvox.SemanticTree.Node>} prefixes Prefix operators |
+ * @param {!Array<cvox.SemanticTree.Node>} prefixes Prefix operators |
* from the outermost to the innermost. |
* @return {!cvox.SemanticTree.Node} The new branch node. |
* @private |
@@ -662,7 +662,7 @@ cvox.SemanticTree.prototype.makePrefixNode_ = function(node, prefixes) { |
* Example: a - + becomes (((a) -) +) |
* Input: a [-, +] -> Output: content: '- +', child: a |
* @param {!cvox.SemanticTree.Node} node The inner node. |
- * @param {!Array.<cvox.SemanticTree.Node>} postfixes Postfix operators from |
+ * @param {!Array<cvox.SemanticTree.Node>} postfixes Postfix operators from |
* innermost to outermost. |
* @return {!cvox.SemanticTree.Node} The new branch node. |
* @private |
@@ -683,7 +683,7 @@ cvox.SemanticTree.prototype.makePostfixNode_ = function(node, postfixes) { |
* |
* This is the main heuristic to rewrite a flat row of terms into a meaningful |
* term tree. |
- * @param {!Array.<cvox.SemanticTree.Node>} nodes The list of nodes. |
+ * @param {!Array<cvox.SemanticTree.Node>} nodes The list of nodes. |
* @return {!cvox.SemanticTree.Node} The root node of the syntax tree. |
* @private |
*/ |
@@ -702,7 +702,7 @@ cvox.SemanticTree.prototype.processRow_ = function(nodes) { |
/** |
* Constructs a syntax tree with relation and operator precedence from a list |
* of nodes. |
- * @param {!Array.<!cvox.SemanticTree.Node>} nodes The list of nodes. |
+ * @param {!Array<!cvox.SemanticTree.Node>} nodes The list of nodes. |
* @return {!cvox.SemanticTree.Node} The root node of the syntax tree. |
* @private |
*/ |
@@ -732,7 +732,7 @@ cvox.SemanticTree.prototype.processRelationsInRow_ = function(nodes) { |
/** |
* Constructs a syntax tree with operator precedence from a list nodes. |
- * @param {!Array.<!cvox.SemanticTree.Node>} nodes The list of nodes. |
+ * @param {!Array<!cvox.SemanticTree.Node>} nodes The list of nodes. |
* @return {!cvox.SemanticTree.Node} The root node of the syntax tree. |
* @private |
*/ |
@@ -762,7 +762,7 @@ cvox.SemanticTree.prototype.processOperationsInRow_ = function(nodes) { |
// At this point, we know that split.head is not empty! |
var node = this.makePrefixNode_( |
this.makeImplicitNode_( |
- /** @type {!Array.<!cvox.SemanticTree.Node>} */ (split.head)), |
+ /** @type {!Array<!cvox.SemanticTree.Node>} */ (split.head)), |
prefix); |
if (!split.div) { |
return node; |
@@ -774,11 +774,11 @@ cvox.SemanticTree.prototype.processOperationsInRow_ = function(nodes) { |
/** |
* Recursively constructs syntax tree with operator precedence from a list nodes |
* given a initial root node. |
- * @param {!Array.<cvox.SemanticTree.Node>} nodes The list of nodes. |
+ * @param {!Array<cvox.SemanticTree.Node>} nodes The list of nodes. |
* @param {!cvox.SemanticTree.Node} root Initial tree. |
* @param {!cvox.SemanticTree.Node} lastop Last operator that has not been |
* processed yet. |
- * @param {Array.<cvox.SemanticTree.Node>=} prefixes Operator nodes that will |
+ * @param {Array<cvox.SemanticTree.Node>=} prefixes Operator nodes that will |
* become prefix operation (or postfix in case they come after last operand). |
* @return {!cvox.SemanticTree.Node} The root node of the syntax tree. |
* @private |
@@ -918,8 +918,8 @@ cvox.SemanticTree.prototype.appendExistingOperator_ = function(root, op, node) { |
* number of matching fences. E.g. || a|b || would be turned into a fenced |
* node with fences || and content a|b. |
* 4. Any remaining unmatched delimiters are turned into punctuation nodes. |
- * @param {!Array.<!cvox.SemanticTree.Node>} nodes The list of nodes. |
- * @return {!Array.<!cvox.SemanticTree.Node>} The new list of nodes. |
+ * @param {!Array<!cvox.SemanticTree.Node>} nodes The list of nodes. |
+ * @return {!Array<!cvox.SemanticTree.Node>} The new list of nodes. |
* @private |
*/ |
cvox.SemanticTree.prototype.getFencesInRow_ = function(nodes) { |
@@ -934,13 +934,13 @@ cvox.SemanticTree.prototype.getFencesInRow_ = function(nodes) { |
* Recursively processes a list of nodes and combines all the fenced expressions |
* into single nodes. It also processes singular fences, building expressions |
* that are only fenced left or right. |
- * @param {!Array.<cvox.SemanticTree.Node>} fences FIFO queue of fence nodes. |
- * @param {!Array.<Array.<cvox.SemanticTree.Node>>} content FIFO queue content |
+ * @param {!Array<cvox.SemanticTree.Node>} fences FIFO queue of fence nodes. |
+ * @param {!Array<Array<cvox.SemanticTree.Node>>} content FIFO queue content |
* between fences. |
- * @param {!Array.<cvox.SemanticTree.Node>} openStack LIFO stack of open fences. |
- * @param {!Array.<!Array.<cvox.SemanticTree.Node>>} contentStack LIFO stack of |
+ * @param {!Array<cvox.SemanticTree.Node>} openStack LIFO stack of open fences. |
+ * @param {!Array<!Array<cvox.SemanticTree.Node>>} contentStack LIFO stack of |
* content between fences yet to be processed. |
- * @return {!Array.<cvox.SemanticTree.Node>} A list of nodes with all fenced |
+ * @return {!Array<cvox.SemanticTree.Node>} A list of nodes with all fenced |
* expressions processed. |
* @private |
*/ |
@@ -1057,10 +1057,10 @@ cvox.SemanticTree.prototype.processFences_ = function( |
// TODO (sorge) The following could be done with linear programming. |
/** |
* Trys to combine neutral fences as much as possible. |
- * @param {!Array.<!cvox.SemanticTree.Node>} fences A list of neutral fences. |
- * @param {!Array.<!Array.<cvox.SemanticTree.Node>>} content Intermediate |
+ * @param {!Array<!cvox.SemanticTree.Node>} fences A list of neutral fences. |
+ * @param {!Array<!Array<cvox.SemanticTree.Node>>} content Intermediate |
* content. Observe that |content| = |fences| - 1 |
- * @return {!Array.<cvox.SemanticTree.Node>} List of node with fully fenced |
+ * @return {!Array<cvox.SemanticTree.Node>} List of node with fully fenced |
* nodes. |
* @private |
*/ |
@@ -1099,12 +1099,12 @@ cvox.SemanticTree.prototype.processNeutralFences_ = function(fences, content) { |
* return: [c1 | c2 | c3 ], c4, ... cn |
* @param {!cvox.SemanticTree.Node} leftFence The left fence. |
* @param {!cvox.SemanticTree.Node} rightFence The right fence. |
- * @param {!Array.<cvox.SemanticTree.Node>} midFences A list of intermediate |
+ * @param {!Array<cvox.SemanticTree.Node>} midFences A list of intermediate |
* fences. |
- * @param {!Array.<!Array.<cvox.SemanticTree.Node>>} content Intermediate |
+ * @param {!Array<!Array<cvox.SemanticTree.Node>>} content Intermediate |
* content. Observe that |content| = |fences| - 1 + k where k >= 0 is the |
* remainder. |
- * @return {!Array.<!Array.<cvox.SemanticTree.Node>>} List of content nodes |
+ * @return {!Array<!Array<cvox.SemanticTree.Node>>} List of content nodes |
* where the first is the fully fenced node wrt. the given left and right |
* fence. |
* @private |
@@ -1163,7 +1163,7 @@ cvox.SemanticTree.fenceToPunct_ = function(fence) { |
* Create a fenced node. |
* @param {cvox.SemanticTree.Node} ofence Opening fence. |
* @param {cvox.SemanticTree.Node} cfence Closing fence. |
- * @param {!Array.<cvox.SemanticTree.Node>} content The content |
+ * @param {!Array<cvox.SemanticTree.Node>} content The content |
* between the fences. |
* @return {!cvox.SemanticTree.Node} The new node. |
* @private |
@@ -1184,8 +1184,8 @@ cvox.SemanticTree.prototype.makeHorizontalFencedNode_ = function( |
/** |
* Combines sequences of punctuated expressions in a list of nodes. |
- * @param {!Array.<cvox.SemanticTree.Node>} nodes The list of nodes. |
- * @return {!Array.<cvox.SemanticTree.Node>} The new list of nodes. |
+ * @param {!Array<cvox.SemanticTree.Node>} nodes The list of nodes. |
+ * @return {!Array<cvox.SemanticTree.Node>} The new list of nodes. |
* @private |
*/ |
cvox.SemanticTree.prototype.getPunctuationInRow_ = function(nodes) { |
@@ -1219,9 +1219,9 @@ cvox.SemanticTree.prototype.getPunctuationInRow_ = function(nodes) { |
/** |
* Create a punctuated node. |
- * @param {!Array.<!cvox.SemanticTree.Node>} nodes List of all nodes separated |
+ * @param {!Array<!cvox.SemanticTree.Node>} nodes List of all nodes separated |
* by punctuations. |
- * @param {!Array.<!cvox.SemanticTree.Node>} punctuations List of all separating |
+ * @param {!Array<!cvox.SemanticTree.Node>} punctuations List of all separating |
* punctations. Observe that punctations is a subset of nodes. |
* @return {!cvox.SemanticTree.Node} |
* @private |
@@ -1248,7 +1248,7 @@ cvox.SemanticTree.prototype.makePunctuatedNode_ = function( |
* Creates a limit node from a sub/superscript or over/under node if the central |
* element is a big operator. Otherwise it creates the standard elements. |
* @param {string} mmlTag The tag name of the original node. |
- * @param {!Array.<!cvox.SemanticTree.Node>} children The children of the |
+ * @param {!Array<!cvox.SemanticTree.Node>} children The children of the |
* original node. |
* @return {!cvox.SemanticTree.Node} The newly created limit node. |
* @private |
@@ -1331,10 +1331,10 @@ cvox.SemanticTree.prototype.makeLimitNode_ = function(mmlTag, children) { |
* symbol. If we have an explicit function application symbol |
* following the expression we turn into a prefix function. Otherwise |
* we decide heuristically if we could have a function application. |
- * @param {!Array.<cvox.SemanticTree.Node>} restNodes The remainder list of |
+ * @param {!Array<cvox.SemanticTree.Node>} restNodes The remainder list of |
* nodes. |
- * @param {!Array.<cvox.SemanticTree.Node>=} result The result node list. |
- * @return {!Array.<!cvox.SemanticTree.Node>} The fully processed list. |
+ * @param {!Array<cvox.SemanticTree.Node>=} result The result node list. |
+ * @return {!Array<!cvox.SemanticTree.Node>} The fully processed list. |
* @private |
*/ |
cvox.SemanticTree.prototype.getFunctionsInRow_ = function(restNodes, result) { |
@@ -1360,7 +1360,7 @@ cvox.SemanticTree.prototype.getFunctionsInRow_ = function(restNodes, result) { |
/** |
* Classifies a function wrt. the heuristic that should be applied. |
* @param {!cvox.SemanticTree.Node} funcNode The node to be classified. |
- * @param {!Array.<cvox.SemanticTree.Node>} restNodes The remainder list of |
+ * @param {!Array<cvox.SemanticTree.Node>} restNodes The remainder list of |
* nodes. They can useful to look ahead if there is an explicit function |
* application. If there is one, it will be destructively removed! |
* @return {!string} The string specifying the heuristic. |
@@ -1422,10 +1422,10 @@ cvox.SemanticTree.propagatePrefixFunc_ = function(funcNode) { |
* Computes the arguments for a function from a list of nodes depending on the |
* given heuristic. |
* @param {!cvox.SemanticTree.Node} func A function node. |
- * @param {!Array.<cvox.SemanticTree.Node>} rest List of nodes to choose |
+ * @param {!Array<cvox.SemanticTree.Node>} rest List of nodes to choose |
* arguments from. |
* @param {string} heuristic The heuristic to follow. |
- * @return {!Array.<!cvox.SemanticTree.Node>} The function and the remainder of |
+ * @return {!Array<!cvox.SemanticTree.Node>} The function and the remainder of |
* the rest list. |
* @private |
*/ |
@@ -1482,12 +1482,12 @@ cvox.SemanticTree.prototype.getFunctionArgs_ = function(func, rest, heuristic) { |
/** |
* Tail recursive function to obtain integral arguments. |
- * @param {!Array.<cvox.SemanticTree.Node>} nodes List of nodes to take |
+ * @param {!Array<cvox.SemanticTree.Node>} nodes List of nodes to take |
* arguments from. |
- * @param {Array.<cvox.SemanticTree.Node>=} args List of integral arguments. |
- * @return {{integrand: !Array.<cvox.SemanticTree.Node>, |
+ * @param {Array<cvox.SemanticTree.Node>=} args List of integral arguments. |
+ * @return {{integrand: !Array<cvox.SemanticTree.Node>, |
* intvar: cvox.SemanticTree.Node, |
- * rest: !Array.<cvox.SemanticTree.Node>}} |
+ * rest: !Array<cvox.SemanticTree.Node>}} |
* Result split into integrand, integral variable and the remaining |
* elements. |
* @private |
@@ -1664,8 +1664,8 @@ cvox.SemanticTree.generalFunctionBoundary_ = function(node) { |
/** |
* Rewrites tables into matrices or case statements in a list of nodes. |
- * @param {!Array.<cvox.SemanticTree.Node>} nodes List of nodes to rewrite. |
- * @return {!Array.<cvox.SemanticTree.Node>} The new list of nodes. |
+ * @param {!Array<cvox.SemanticTree.Node>} nodes List of nodes to rewrite. |
+ * @return {!Array<cvox.SemanticTree.Node>} The new list of nodes. |
* @private |
*/ |
cvox.SemanticTree.prototype.processTablesInRow_ = function(nodes) { |
@@ -1745,7 +1745,7 @@ cvox.SemanticTree.prototype.tableToMatrixOrVector_ = function(node) { |
* Heuristic to decide if we have a case statement: An expression with a |
* singular open fence before it. |
* @param {!cvox.SemanticTree.Node} table A table node. |
- * @param {!Array.<cvox.SemanticTree.Node>} prevNodes A list of previous nodes. |
+ * @param {!Array<cvox.SemanticTree.Node>} prevNodes A list of previous nodes. |
* @return {boolean} True if we believe we have a case statement. |
* @private |
*/ |
@@ -1852,13 +1852,13 @@ cvox.SemanticTree.assignRoleToRow_ = function(row, role) { |
/** |
* Splits a list of nodes wrt. to a given predicate. |
- * @param {Array.<cvox.SemanticTree.Node>} nodes A list of nodes. |
+ * @param {Array<cvox.SemanticTree.Node>} nodes A list of nodes. |
* @param {!function(cvox.SemanticTree.Node): boolean} pred Predicate for the |
* partitioning relation. |
* @param {boolean=} reverse If true slicing is done from the end. |
- * @return {{head: !Array.<cvox.SemanticTree.Node>, |
+ * @return {{head: !Array<cvox.SemanticTree.Node>, |
* div: cvox.SemanticTree.Node, |
- * tail: !Array.<cvox.SemanticTree.Node>}} The split list. |
+ * tail: !Array<cvox.SemanticTree.Node>}} The split list. |
* @private |
*/ |
cvox.SemanticTree.sliceNodes_ = function(nodes, pred, reverse) { |
@@ -1889,11 +1889,11 @@ cvox.SemanticTree.sliceNodes_ = function(nodes, pred, reverse) { |
/** |
* Partitions a list of nodes wrt. to a given predicate. Effectively works like |
* a PER on the ordered set of nodes. |
- * @param {!Array.<!cvox.SemanticTree.Node>} nodes A list of nodes. |
+ * @param {!Array<!cvox.SemanticTree.Node>} nodes A list of nodes. |
* @param {!function(cvox.SemanticTree.Node): boolean} pred Predicate for the |
* partitioning relation. |
- * @return {{rel: !Array.<cvox.SemanticTree.Node>, |
- * comp: !Array.<!Array.<cvox.SemanticTree.Node>>}} |
+ * @return {{rel: !Array<cvox.SemanticTree.Node>, |
+ * comp: !Array<!Array<cvox.SemanticTree.Node>>}} |
* The partitioning given in terms of a collection of elements satisfying |
* the predicate and a collection of complementary sets lying inbetween the |
* related elements. Observe that we always have |comp| = |rel| + 1. |