marko 2.11.1 → 2.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/.npmignore +0 -1
- package/coverage/coverage.json +0 -1
- package/coverage/lcov-report/base.css +0 -213
- package/coverage/lcov-report/index.html +0 -496
- package/coverage/lcov-report/marko-v4/bin/index.html +0 -93
- package/coverage/lcov-report/marko-v4/bin/markoc.js.html +0 -1160
- package/coverage/lcov-report/marko-v4/browser-refresh/index.html +0 -93
- package/coverage/lcov-report/marko-v4/browser-refresh/index.js.html +0 -191
- package/coverage/lcov-report/marko-v4/compiler/Builder.js.html +0 -1859
- package/coverage/lcov-report/marko-v4/compiler/CodeGenerator.js.html +0 -998
- package/coverage/lcov-report/marko-v4/compiler/CodeWriter.js.html +0 -851
- package/coverage/lcov-report/marko-v4/compiler/CompileContext.js.html +0 -1955
- package/coverage/lcov-report/marko-v4/compiler/CompileError.js.html +0 -206
- package/coverage/lcov-report/marko-v4/compiler/Compiler.js.html +0 -473
- package/coverage/lcov-report/marko-v4/compiler/HtmlJsParser.js.html +0 -341
- package/coverage/lcov-report/marko-v4/compiler/InlineCompiler.js.html +0 -317
- package/coverage/lcov-report/marko-v4/compiler/Parser.js.html +0 -1271
- package/coverage/lcov-report/marko-v4/compiler/Walker.js.html +0 -521
- package/coverage/lcov-report/marko-v4/compiler/ast/ArrayContainer.js.html +0 -653
- package/coverage/lcov-report/marko-v4/compiler/ast/ArrayExpression.js.html +0 -278
- package/coverage/lcov-report/marko-v4/compiler/ast/Assignment.js.html +0 -299
- package/coverage/lcov-report/marko-v4/compiler/ast/AttributePlaceholder.js.html +0 -173
- package/coverage/lcov-report/marko-v4/compiler/ast/BinaryExpression.js.html +0 -428
- package/coverage/lcov-report/marko-v4/compiler/ast/Code.js.html +0 -149
- package/coverage/lcov-report/marko-v4/compiler/ast/ConditionalExpression.js.html +0 -239
- package/coverage/lcov-report/marko-v4/compiler/ast/Container.js.html +0 -101
- package/coverage/lcov-report/marko-v4/compiler/ast/ContainerNode.js.html +0 -122
- package/coverage/lcov-report/marko-v4/compiler/ast/CustomTag.js.html +0 -1250
- package/coverage/lcov-report/marko-v4/compiler/ast/Declaration.js.html +0 -146
- package/coverage/lcov-report/marko-v4/compiler/ast/DocumentType.js.html +0 -146
- package/coverage/lcov-report/marko-v4/compiler/ast/Else.js.html +0 -161
- package/coverage/lcov-report/marko-v4/compiler/ast/ElseIf.js.html +0 -152
- package/coverage/lcov-report/marko-v4/compiler/ast/Expression.js.html +0 -152
- package/coverage/lcov-report/marko-v4/compiler/ast/ForEach.js.html +0 -314
- package/coverage/lcov-report/marko-v4/compiler/ast/ForEachProp.js.html +0 -290
- package/coverage/lcov-report/marko-v4/compiler/ast/ForRange.js.html +0 -374
- package/coverage/lcov-report/marko-v4/compiler/ast/ForStatement.js.html +0 -245
- package/coverage/lcov-report/marko-v4/compiler/ast/FunctionCall.js.html +0 -374
- package/coverage/lcov-report/marko-v4/compiler/ast/FunctionDeclaration.js.html +0 -296
- package/coverage/lcov-report/marko-v4/compiler/ast/Html.js.html +0 -311
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttribute/html/generateCode.js.html +0 -473
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttribute/html/index.html +0 -93
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttribute/index.html +0 -93
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttribute/index.js.html +0 -317
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttribute/vdom/generateCode.js.html +0 -128
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttribute/vdom/index.html +0 -93
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttributeCollection.js.html +0 -521
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlComment.js.html +0 -182
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/html/EndTag.js.html +0 -131
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/html/StartTag.js.html +0 -227
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/html/generateCode.js.html +0 -299
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/html/index.html +0 -119
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/index.html +0 -93
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/index.js.html +0 -578
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/vdom/EndElementVDOM.js.html +0 -104
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/vdom/HtmlElementVDOM.js.html +0 -620
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/vdom/generateCode.js.html +0 -326
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/vdom/index.html +0 -119
- package/coverage/lcov-report/marko-v4/compiler/ast/Identifier.js.html +0 -137
- package/coverage/lcov-report/marko-v4/compiler/ast/If.js.html +0 -347
- package/coverage/lcov-report/marko-v4/compiler/ast/InvokeMacro.js.html +0 -425
- package/coverage/lcov-report/marko-v4/compiler/ast/Literal.js.html +0 -320
- package/coverage/lcov-report/marko-v4/compiler/ast/LogicalExpression.js.html +0 -359
- package/coverage/lcov-report/marko-v4/compiler/ast/Macro.js.html +0 -176
- package/coverage/lcov-report/marko-v4/compiler/ast/MemberExpression.js.html +0 -308
- package/coverage/lcov-report/marko-v4/compiler/ast/NewExpression.js.html +0 -395
- package/coverage/lcov-report/marko-v4/compiler/ast/Node.js.html +0 -1235
- package/coverage/lcov-report/marko-v4/compiler/ast/ObjectExpression.js.html +0 -290
- package/coverage/lcov-report/marko-v4/compiler/ast/Program.js.html +0 -134
- package/coverage/lcov-report/marko-v4/compiler/ast/Property.js.html +0 -257
- package/coverage/lcov-report/marko-v4/compiler/ast/Return.js.html +0 -170
- package/coverage/lcov-report/marko-v4/compiler/ast/Scriptlet.js.html +0 -152
- package/coverage/lcov-report/marko-v4/compiler/ast/SelfInvokingFunction.js.html +0 -155
- package/coverage/lcov-report/marko-v4/compiler/ast/TemplateRoot.js.html +0 -344
- package/coverage/lcov-report/marko-v4/compiler/ast/Text/html/generateCode.js.html +0 -245
- package/coverage/lcov-report/marko-v4/compiler/ast/Text/html/index.html +0 -93
- package/coverage/lcov-report/marko-v4/compiler/ast/Text/index.html +0 -93
- package/coverage/lcov-report/marko-v4/compiler/ast/Text/index.js.html +0 -215
- package/coverage/lcov-report/marko-v4/compiler/ast/Text/vdom/TextVDOM.js.html +0 -407
- package/coverage/lcov-report/marko-v4/compiler/ast/Text/vdom/generateCode.js.html +0 -179
- package/coverage/lcov-report/marko-v4/compiler/ast/Text/vdom/index.html +0 -106
- package/coverage/lcov-report/marko-v4/compiler/ast/ThisExpression.js.html +0 -131
- package/coverage/lcov-report/marko-v4/compiler/ast/UnaryExpression.js.html +0 -365
- package/coverage/lcov-report/marko-v4/compiler/ast/UpdateExpression.js.html +0 -341
- package/coverage/lcov-report/marko-v4/compiler/ast/VariableDeclarator.js.html +0 -221
- package/coverage/lcov-report/marko-v4/compiler/ast/Vars.js.html +0 -290
- package/coverage/lcov-report/marko-v4/compiler/ast/WhileStatement.js.html +0 -173
- package/coverage/lcov-report/marko-v4/compiler/ast/index.html +0 -678
- package/coverage/lcov-report/marko-v4/compiler/config.js.html +0 -194
- package/coverage/lcov-report/marko-v4/compiler/index.html +0 -236
- package/coverage/lcov-report/marko-v4/compiler/index.js.html +0 -695
- package/coverage/lcov-report/marko-v4/compiler/taglib-finder/index-browser.js.html +0 -158
- package/coverage/lcov-report/marko-v4/compiler/taglib-finder/index.html +0 -106
- package/coverage/lcov-report/marko-v4/compiler/taglib-finder/index.js.html +0 -632
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/DependencyChain.js.html +0 -113
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/Attribute.js.html +0 -155
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/ImportedVariable.js.html +0 -140
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/NestedVariable.js.html +0 -134
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/Property.js.html +0 -140
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/Tag.js.html +0 -797
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/Taglib.js.html +0 -440
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/Transformer.js.html +0 -236
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/index.html +0 -184
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/index.js.html +0 -65
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/handleAttributes.js.html +0 -161
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/index.html +0 -236
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/index.js.html +0 -191
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/json-file-reader-browser.js.html +0 -143
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/json-file-reader.js.html +0 -155
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/loader-attribute.js.html +0 -659
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/loader-tag.js.html +0 -1931
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/loader-taglib.js.html +0 -1010
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/loader.js.html +0 -119
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/scanTagsDir-browser.js.html +0 -119
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/scanTagsDir.js.html +0 -548
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/tag-def-from-code.js.html +0 -287
- package/coverage/lcov-report/marko-v4/compiler/taglib-lookup/TaglibLookup.js.html +0 -1205
- package/coverage/lcov-report/marko-v4/compiler/taglib-lookup/index.html +0 -106
- package/coverage/lcov-report/marko-v4/compiler/taglib-lookup/index.js.html +0 -302
- package/coverage/lcov-report/marko-v4/compiler/util/PosInfo.js.html +0 -140
- package/coverage/lcov-report/marko-v4/compiler/util/UniqueVars.js.html +0 -227
- package/coverage/lcov-report/marko-v4/compiler/util/adjustIndent.js.html +0 -272
- package/coverage/lcov-report/marko-v4/compiler/util/deresolve-browser.js.html +0 -119
- package/coverage/lcov-report/marko-v4/compiler/util/deresolve.js.html +0 -113
- package/coverage/lcov-report/marko-v4/compiler/util/fingerprint.js.html +0 -83
- package/coverage/lcov-report/marko-v4/compiler/util/index.html +0 -366
- package/coverage/lcov-report/marko-v4/compiler/util/isCompoundExpression.js.html +0 -92
- package/coverage/lcov-report/marko-v4/compiler/util/isJavaScriptReservedWord.js.html +0 -80
- package/coverage/lcov-report/marko-v4/compiler/util/isValidJavaScriptIdentifier.js.html +0 -80
- package/coverage/lcov-report/marko-v4/compiler/util/isValidJavaScriptVarName.js.html +0 -95
- package/coverage/lcov-report/marko-v4/compiler/util/javaScriptReservedWords.js.html +0 -260
- package/coverage/lcov-report/marko-v4/compiler/util/macros.js.html +0 -326
- package/coverage/lcov-report/marko-v4/compiler/util/parseExpression.js.html +0 -77
- package/coverage/lcov-report/marko-v4/compiler/util/parseJavaScript.js.html +0 -833
- package/coverage/lcov-report/marko-v4/compiler/util/parseJavaScriptArgs.js.html +0 -101
- package/coverage/lcov-report/marko-v4/compiler/util/parseStatement.js.html +0 -77
- package/coverage/lcov-report/marko-v4/compiler/util/removeComments.js.html +0 -221
- package/coverage/lcov-report/marko-v4/compiler/util/removeDashes.js.html +0 -77
- package/coverage/lcov-report/marko-v4/compiler/util/resolve-browser.js.html +0 -125
- package/coverage/lcov-report/marko-v4/compiler/util/resolve.js.html +0 -128
- package/coverage/lcov-report/marko-v4/compiler/util/safeVarName.js.html +0 -116
- package/coverage/lcov-report/marko-v4/compiler/util/tokenizer.js.html +0 -173
- package/coverage/lcov-report/marko-v4/compiler/util/vdom/VDOMOptimizer.js.html +0 -560
- package/coverage/lcov-report/marko-v4/compiler/util/vdom/index.html +0 -119
- package/coverage/lcov-report/marko-v4/compiler/util/vdom/index.js.html +0 -119
- package/coverage/lcov-report/marko-v4/compiler/util/vdom/isStaticValue.js.html +0 -212
- package/coverage/lcov-report/marko-v4/defineRenderer.js.html +0 -206
- package/coverage/lcov-report/marko-v4/express.js.html +0 -161
- package/coverage/lcov-report/marko-v4/helpers/empty.js.html +0 -77
- package/coverage/lcov-report/marko-v4/helpers/index.html +0 -106
- package/coverage/lcov-report/marko-v4/helpers/notEmpty.js.html +0 -95
- package/coverage/lcov-report/marko-v4/hot-reload/index.html +0 -93
- package/coverage/lcov-report/marko-v4/hot-reload/index.js.html +0 -524
- package/coverage/lcov-report/marko-v4/index.html +0 -158
- package/coverage/lcov-report/marko-v4/node-require-browser.js.html +0 -113
- package/coverage/lcov-report/marko-v4/node-require.js.html +0 -434
- package/coverage/lcov-report/marko-v4/runtime/deprecate.js.html +0 -131
- package/coverage/lcov-report/marko-v4/runtime/forEachPropStatusVar.js.html +0 -158
- package/coverage/lcov-report/marko-v4/runtime/helpers.js.html +0 -839
- package/coverage/lcov-report/marko-v4/runtime/html/helpers.js.html +0 -506
- package/coverage/lcov-report/marko-v4/runtime/html/index.html +0 -106
- package/coverage/lcov-report/marko-v4/runtime/html/index.js.html +0 -914
- package/coverage/lcov-report/marko-v4/runtime/index.html +0 -145
- package/coverage/lcov-report/marko-v4/runtime/inline.js.html +0 -65
- package/coverage/lcov-report/marko-v4/runtime/loader/index-browser-dynamic.js.html +0 -128
- package/coverage/lcov-report/marko-v4/runtime/loader/index-browser.js.html +0 -119
- package/coverage/lcov-report/marko-v4/runtime/loader/index.html +0 -119
- package/coverage/lcov-report/marko-v4/runtime/loader/index.js.html +0 -548
- package/coverage/lcov-report/marko-v4/runtime/stream.js.html +0 -224
- package/coverage/lcov-report/marko-v4/runtime/vdom/helpers.js.html +0 -350
- package/coverage/lcov-report/marko-v4/runtime/vdom/index.html +0 -106
- package/coverage/lcov-report/marko-v4/runtime/vdom/index.js.html +0 -893
- package/coverage/lcov-report/marko-v4/stream.js.html +0 -98
- package/coverage/lcov-report/marko-v4/taglibs/async/async-fragment-to-await-transformer.js.html +0 -221
- package/coverage/lcov-report/marko-v4/taglibs/async/await-nested-tag-transformer.js.html +0 -140
- package/coverage/lcov-report/marko-v4/taglibs/async/await-reorderer-tag.js.html +0 -278
- package/coverage/lcov-report/marko-v4/taglibs/async/await-tag-transformer.js.html +0 -353
- package/coverage/lcov-report/marko-v4/taglibs/async/await-tag.js.html +0 -779
- package/coverage/lcov-report/marko-v4/taglibs/async/client-reorder-browser.js.html +0 -65
- package/coverage/lcov-report/marko-v4/taglibs/async/client-reorder-runtime.js.html +0 -167
- package/coverage/lcov-report/marko-v4/taglibs/async/client-reorder-runtime.min.js.html +0 -65
- package/coverage/lcov-report/marko-v4/taglibs/async/client-reorder.js.html +0 -98
- package/coverage/lcov-report/marko-v4/taglibs/async/index.html +0 -197
- package/coverage/lcov-report/marko-v4/taglibs/cache/cached-fragment-tag-transformer.js.html +0 -89
- package/coverage/lcov-report/marko-v4/taglibs/cache/cached-fragment-tag.js.html +0 -266
- package/coverage/lcov-report/marko-v4/taglibs/cache/default-cache-manager.js.html +0 -173
- package/coverage/lcov-report/marko-v4/taglibs/cache/index.html +0 -119
- package/coverage/lcov-report/marko-v4/taglibs/core/assign-tag.js.html +0 -116
- package/coverage/lcov-report/marko-v4/taglibs/core/core-transformer.js.html +0 -683
- package/coverage/lcov-report/marko-v4/taglibs/core/else-if-tag.js.html +0 -140
- package/coverage/lcov-report/marko-v4/taglibs/core/else-tag.js.html +0 -170
- package/coverage/lcov-report/marko-v4/taglibs/core/for-tag.js.html +0 -131
- package/coverage/lcov-report/marko-v4/taglibs/core/if-tag.js.html +0 -140
- package/coverage/lcov-report/marko-v4/taglibs/core/include-html-tag-browser.js.html +0 -113
- package/coverage/lcov-report/marko-v4/taglibs/core/include-html-tag.js.html +0 -152
- package/coverage/lcov-report/marko-v4/taglibs/core/include-tag.js.html +0 -248
- package/coverage/lcov-report/marko-v4/taglibs/core/include-text-tag-browser.js.html +0 -113
- package/coverage/lcov-report/marko-v4/taglibs/core/include-text-tag.js.html +0 -152
- package/coverage/lcov-report/marko-v4/taglibs/core/index.html +0 -314
- package/coverage/lcov-report/marko-v4/taglibs/core/invoke-tag.js.html +0 -116
- package/coverage/lcov-report/marko-v4/taglibs/core/macro-body-tag.js.html +0 -83
- package/coverage/lcov-report/marko-v4/taglibs/core/macro-tag.js.html +0 -131
- package/coverage/lcov-report/marko-v4/taglibs/core/marko-preserve-whitespace-tag.js.html +0 -71
- package/coverage/lcov-report/marko-v4/taglibs/core/unless-tag.js.html +0 -143
- package/coverage/lcov-report/marko-v4/taglibs/core/util/createLoopNode.js.html +0 -128
- package/coverage/lcov-report/marko-v4/taglibs/core/util/index.html +0 -119
- package/coverage/lcov-report/marko-v4/taglibs/core/util/parseFor.js.html +0 -1145
- package/coverage/lcov-report/marko-v4/taglibs/core/util/parseJavaScriptIdentifier.js.html +0 -131
- package/coverage/lcov-report/marko-v4/taglibs/core/var-tag.js.html +0 -152
- package/coverage/lcov-report/marko-v4/taglibs/core/while-tag.js.html +0 -95
- package/coverage/lcov-report/marko-v4/taglibs/html/html-comment-tag.js.html +0 -146
- package/coverage/lcov-report/marko-v4/taglibs/html/index.html +0 -93
- package/coverage/lcov-report/marko-v4/taglibs/layout/index.html +0 -132
- package/coverage/lcov-report/marko-v4/taglibs/layout/placeholder-tag.js.html +0 -107
- package/coverage/lcov-report/marko-v4/taglibs/layout/put-tag.js.html +0 -77
- package/coverage/lcov-report/marko-v4/taglibs/layout/use-tag-transformer.js.html +0 -137
- package/coverage/lcov-report/marko-v4/taglibs/layout/use-tag.js.html +0 -134
- package/coverage/lcov-report/marko-v4/vdom.js.html +0 -65
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -1
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -158
- package/coverage/lcov.info +0 -13662
|
@@ -1,1145 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<title>Code coverage report for marko-v4/taglibs/core/util/parseFor.js</title>
|
|
5
|
-
<meta charset="utf-8" />
|
|
6
|
-
<link rel="stylesheet" href="../../../../prettify.css" />
|
|
7
|
-
<link rel="stylesheet" href="../../../../base.css" />
|
|
8
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
9
|
-
<style type='text/css'>
|
|
10
|
-
.coverage-summary .sorter {
|
|
11
|
-
background-image: url(../../../../sort-arrow-sprite.png);
|
|
12
|
-
}
|
|
13
|
-
</style>
|
|
14
|
-
</head>
|
|
15
|
-
<body>
|
|
16
|
-
<div class='wrapper'>
|
|
17
|
-
<div class='pad1'>
|
|
18
|
-
<h1>
|
|
19
|
-
<a href="../../../../index.html">all files</a> / <a href="index.html">marko-v4/taglibs/core/util/</a> parseFor.js
|
|
20
|
-
</h1>
|
|
21
|
-
<div class='clearfix'>
|
|
22
|
-
<div class='fl pad1y space-right2'>
|
|
23
|
-
<span class="strong">94.71% </span>
|
|
24
|
-
<span class="quiet">Statements</span>
|
|
25
|
-
<span class='fraction'>161/170</span>
|
|
26
|
-
</div>
|
|
27
|
-
<div class='fl pad1y space-right2'>
|
|
28
|
-
<span class="strong">89.09% </span>
|
|
29
|
-
<span class="quiet">Branches</span>
|
|
30
|
-
<span class='fraction'>98/110</span>
|
|
31
|
-
</div>
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">100% </span>
|
|
34
|
-
<span class="quiet">Functions</span>
|
|
35
|
-
<span class='fraction'>8/8</span>
|
|
36
|
-
</div>
|
|
37
|
-
<div class='fl pad1y space-right2'>
|
|
38
|
-
<span class="strong">94.71% </span>
|
|
39
|
-
<span class="quiet">Lines</span>
|
|
40
|
-
<span class='fraction'>161/170</span>
|
|
41
|
-
</div>
|
|
42
|
-
</div>
|
|
43
|
-
</div>
|
|
44
|
-
<div class='status-line high'></div>
|
|
45
|
-
<pre><table class="coverage">
|
|
46
|
-
<tr><td class="line-count quiet">1
|
|
47
|
-
2
|
|
48
|
-
3
|
|
49
|
-
4
|
|
50
|
-
5
|
|
51
|
-
6
|
|
52
|
-
7
|
|
53
|
-
8
|
|
54
|
-
9
|
|
55
|
-
10
|
|
56
|
-
11
|
|
57
|
-
12
|
|
58
|
-
13
|
|
59
|
-
14
|
|
60
|
-
15
|
|
61
|
-
16
|
|
62
|
-
17
|
|
63
|
-
18
|
|
64
|
-
19
|
|
65
|
-
20
|
|
66
|
-
21
|
|
67
|
-
22
|
|
68
|
-
23
|
|
69
|
-
24
|
|
70
|
-
25
|
|
71
|
-
26
|
|
72
|
-
27
|
|
73
|
-
28
|
|
74
|
-
29
|
|
75
|
-
30
|
|
76
|
-
31
|
|
77
|
-
32
|
|
78
|
-
33
|
|
79
|
-
34
|
|
80
|
-
35
|
|
81
|
-
36
|
|
82
|
-
37
|
|
83
|
-
38
|
|
84
|
-
39
|
|
85
|
-
40
|
|
86
|
-
41
|
|
87
|
-
42
|
|
88
|
-
43
|
|
89
|
-
44
|
|
90
|
-
45
|
|
91
|
-
46
|
|
92
|
-
47
|
|
93
|
-
48
|
|
94
|
-
49
|
|
95
|
-
50
|
|
96
|
-
51
|
|
97
|
-
52
|
|
98
|
-
53
|
|
99
|
-
54
|
|
100
|
-
55
|
|
101
|
-
56
|
|
102
|
-
57
|
|
103
|
-
58
|
|
104
|
-
59
|
|
105
|
-
60
|
|
106
|
-
61
|
|
107
|
-
62
|
|
108
|
-
63
|
|
109
|
-
64
|
|
110
|
-
65
|
|
111
|
-
66
|
|
112
|
-
67
|
|
113
|
-
68
|
|
114
|
-
69
|
|
115
|
-
70
|
|
116
|
-
71
|
|
117
|
-
72
|
|
118
|
-
73
|
|
119
|
-
74
|
|
120
|
-
75
|
|
121
|
-
76
|
|
122
|
-
77
|
|
123
|
-
78
|
|
124
|
-
79
|
|
125
|
-
80
|
|
126
|
-
81
|
|
127
|
-
82
|
|
128
|
-
83
|
|
129
|
-
84
|
|
130
|
-
85
|
|
131
|
-
86
|
|
132
|
-
87
|
|
133
|
-
88
|
|
134
|
-
89
|
|
135
|
-
90
|
|
136
|
-
91
|
|
137
|
-
92
|
|
138
|
-
93
|
|
139
|
-
94
|
|
140
|
-
95
|
|
141
|
-
96
|
|
142
|
-
97
|
|
143
|
-
98
|
|
144
|
-
99
|
|
145
|
-
100
|
|
146
|
-
101
|
|
147
|
-
102
|
|
148
|
-
103
|
|
149
|
-
104
|
|
150
|
-
105
|
|
151
|
-
106
|
|
152
|
-
107
|
|
153
|
-
108
|
|
154
|
-
109
|
|
155
|
-
110
|
|
156
|
-
111
|
|
157
|
-
112
|
|
158
|
-
113
|
|
159
|
-
114
|
|
160
|
-
115
|
|
161
|
-
116
|
|
162
|
-
117
|
|
163
|
-
118
|
|
164
|
-
119
|
|
165
|
-
120
|
|
166
|
-
121
|
|
167
|
-
122
|
|
168
|
-
123
|
|
169
|
-
124
|
|
170
|
-
125
|
|
171
|
-
126
|
|
172
|
-
127
|
|
173
|
-
128
|
|
174
|
-
129
|
|
175
|
-
130
|
|
176
|
-
131
|
|
177
|
-
132
|
|
178
|
-
133
|
|
179
|
-
134
|
|
180
|
-
135
|
|
181
|
-
136
|
|
182
|
-
137
|
|
183
|
-
138
|
|
184
|
-
139
|
|
185
|
-
140
|
|
186
|
-
141
|
|
187
|
-
142
|
|
188
|
-
143
|
|
189
|
-
144
|
|
190
|
-
145
|
|
191
|
-
146
|
|
192
|
-
147
|
|
193
|
-
148
|
|
194
|
-
149
|
|
195
|
-
150
|
|
196
|
-
151
|
|
197
|
-
152
|
|
198
|
-
153
|
|
199
|
-
154
|
|
200
|
-
155
|
|
201
|
-
156
|
|
202
|
-
157
|
|
203
|
-
158
|
|
204
|
-
159
|
|
205
|
-
160
|
|
206
|
-
161
|
|
207
|
-
162
|
|
208
|
-
163
|
|
209
|
-
164
|
|
210
|
-
165
|
|
211
|
-
166
|
|
212
|
-
167
|
|
213
|
-
168
|
|
214
|
-
169
|
|
215
|
-
170
|
|
216
|
-
171
|
|
217
|
-
172
|
|
218
|
-
173
|
|
219
|
-
174
|
|
220
|
-
175
|
|
221
|
-
176
|
|
222
|
-
177
|
|
223
|
-
178
|
|
224
|
-
179
|
|
225
|
-
180
|
|
226
|
-
181
|
|
227
|
-
182
|
|
228
|
-
183
|
|
229
|
-
184
|
|
230
|
-
185
|
|
231
|
-
186
|
|
232
|
-
187
|
|
233
|
-
188
|
|
234
|
-
189
|
|
235
|
-
190
|
|
236
|
-
191
|
|
237
|
-
192
|
|
238
|
-
193
|
|
239
|
-
194
|
|
240
|
-
195
|
|
241
|
-
196
|
|
242
|
-
197
|
|
243
|
-
198
|
|
244
|
-
199
|
|
245
|
-
200
|
|
246
|
-
201
|
|
247
|
-
202
|
|
248
|
-
203
|
|
249
|
-
204
|
|
250
|
-
205
|
|
251
|
-
206
|
|
252
|
-
207
|
|
253
|
-
208
|
|
254
|
-
209
|
|
255
|
-
210
|
|
256
|
-
211
|
|
257
|
-
212
|
|
258
|
-
213
|
|
259
|
-
214
|
|
260
|
-
215
|
|
261
|
-
216
|
|
262
|
-
217
|
|
263
|
-
218
|
|
264
|
-
219
|
|
265
|
-
220
|
|
266
|
-
221
|
|
267
|
-
222
|
|
268
|
-
223
|
|
269
|
-
224
|
|
270
|
-
225
|
|
271
|
-
226
|
|
272
|
-
227
|
|
273
|
-
228
|
|
274
|
-
229
|
|
275
|
-
230
|
|
276
|
-
231
|
|
277
|
-
232
|
|
278
|
-
233
|
|
279
|
-
234
|
|
280
|
-
235
|
|
281
|
-
236
|
|
282
|
-
237
|
|
283
|
-
238
|
|
284
|
-
239
|
|
285
|
-
240
|
|
286
|
-
241
|
|
287
|
-
242
|
|
288
|
-
243
|
|
289
|
-
244
|
|
290
|
-
245
|
|
291
|
-
246
|
|
292
|
-
247
|
|
293
|
-
248
|
|
294
|
-
249
|
|
295
|
-
250
|
|
296
|
-
251
|
|
297
|
-
252
|
|
298
|
-
253
|
|
299
|
-
254
|
|
300
|
-
255
|
|
301
|
-
256
|
|
302
|
-
257
|
|
303
|
-
258
|
|
304
|
-
259
|
|
305
|
-
260
|
|
306
|
-
261
|
|
307
|
-
262
|
|
308
|
-
263
|
|
309
|
-
264
|
|
310
|
-
265
|
|
311
|
-
266
|
|
312
|
-
267
|
|
313
|
-
268
|
|
314
|
-
269
|
|
315
|
-
270
|
|
316
|
-
271
|
|
317
|
-
272
|
|
318
|
-
273
|
|
319
|
-
274
|
|
320
|
-
275
|
|
321
|
-
276
|
|
322
|
-
277
|
|
323
|
-
278
|
|
324
|
-
279
|
|
325
|
-
280
|
|
326
|
-
281
|
|
327
|
-
282
|
|
328
|
-
283
|
|
329
|
-
284
|
|
330
|
-
285
|
|
331
|
-
286
|
|
332
|
-
287
|
|
333
|
-
288
|
|
334
|
-
289
|
|
335
|
-
290
|
|
336
|
-
291
|
|
337
|
-
292
|
|
338
|
-
293
|
|
339
|
-
294
|
|
340
|
-
295
|
|
341
|
-
296
|
|
342
|
-
297
|
|
343
|
-
298
|
|
344
|
-
299
|
|
345
|
-
300
|
|
346
|
-
301
|
|
347
|
-
302
|
|
348
|
-
303
|
|
349
|
-
304
|
|
350
|
-
305
|
|
351
|
-
306
|
|
352
|
-
307
|
|
353
|
-
308
|
|
354
|
-
309
|
|
355
|
-
310
|
|
356
|
-
311
|
|
357
|
-
312
|
|
358
|
-
313
|
|
359
|
-
314
|
|
360
|
-
315
|
|
361
|
-
316
|
|
362
|
-
317
|
|
363
|
-
318
|
|
364
|
-
319
|
|
365
|
-
320
|
|
366
|
-
321
|
|
367
|
-
322
|
|
368
|
-
323
|
|
369
|
-
324
|
|
370
|
-
325
|
|
371
|
-
326
|
|
372
|
-
327
|
|
373
|
-
328
|
|
374
|
-
329
|
|
375
|
-
330
|
|
376
|
-
331
|
|
377
|
-
332
|
|
378
|
-
333
|
|
379
|
-
334
|
|
380
|
-
335
|
|
381
|
-
336
|
|
382
|
-
337
|
|
383
|
-
338
|
|
384
|
-
339
|
|
385
|
-
340
|
|
386
|
-
341
|
|
387
|
-
342
|
|
388
|
-
343
|
|
389
|
-
344
|
|
390
|
-
345
|
|
391
|
-
346
|
|
392
|
-
347
|
|
393
|
-
348
|
|
394
|
-
349
|
|
395
|
-
350
|
|
396
|
-
351
|
|
397
|
-
352
|
|
398
|
-
353
|
|
399
|
-
354
|
|
400
|
-
355
|
|
401
|
-
356
|
|
402
|
-
357
|
|
403
|
-
358
|
|
404
|
-
359
|
|
405
|
-
360
|
|
406
|
-
361</td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
407
|
-
<span class="cline-any cline-yes">1×</span>
|
|
408
|
-
<span class="cline-any cline-yes">1×</span>
|
|
409
|
-
<span class="cline-any cline-neutral"> </span>
|
|
410
|
-
<span class="cline-any cline-yes">1×</span>
|
|
411
|
-
<span class="cline-any cline-yes">1×</span>
|
|
412
|
-
<span class="cline-any cline-neutral"> </span>
|
|
413
|
-
<span class="cline-any cline-yes">1×</span>
|
|
414
|
-
<span class="cline-any cline-neutral"> </span>
|
|
415
|
-
<span class="cline-any cline-neutral"> </span>
|
|
416
|
-
<span class="cline-any cline-neutral"> </span>
|
|
417
|
-
<span class="cline-any cline-neutral"> </span>
|
|
418
|
-
<span class="cline-any cline-neutral"> </span>
|
|
419
|
-
<span class="cline-any cline-neutral"> </span>
|
|
420
|
-
<span class="cline-any cline-neutral"> </span>
|
|
421
|
-
<span class="cline-any cline-neutral"> </span>
|
|
422
|
-
<span class="cline-any cline-neutral"> </span>
|
|
423
|
-
<span class="cline-any cline-neutral"> </span>
|
|
424
|
-
<span class="cline-any cline-neutral"> </span>
|
|
425
|
-
<span class="cline-any cline-neutral"> </span>
|
|
426
|
-
<span class="cline-any cline-neutral"> </span>
|
|
427
|
-
<span class="cline-any cline-neutral"> </span>
|
|
428
|
-
<span class="cline-any cline-neutral"> </span>
|
|
429
|
-
<span class="cline-any cline-neutral"> </span>
|
|
430
|
-
<span class="cline-any cline-neutral"> </span>
|
|
431
|
-
<span class="cline-any cline-neutral"> </span>
|
|
432
|
-
<span class="cline-any cline-neutral"> </span>
|
|
433
|
-
<span class="cline-any cline-neutral"> </span>
|
|
434
|
-
<span class="cline-any cline-neutral"> </span>
|
|
435
|
-
<span class="cline-any cline-neutral"> </span>
|
|
436
|
-
<span class="cline-any cline-neutral"> </span>
|
|
437
|
-
<span class="cline-any cline-neutral"> </span>
|
|
438
|
-
<span class="cline-any cline-neutral"> </span>
|
|
439
|
-
<span class="cline-any cline-neutral"> </span>
|
|
440
|
-
<span class="cline-any cline-neutral"> </span>
|
|
441
|
-
<span class="cline-any cline-neutral"> </span>
|
|
442
|
-
<span class="cline-any cline-neutral"> </span>
|
|
443
|
-
<span class="cline-any cline-neutral"> </span>
|
|
444
|
-
<span class="cline-any cline-neutral"> </span>
|
|
445
|
-
<span class="cline-any cline-neutral"> </span>
|
|
446
|
-
<span class="cline-any cline-neutral"> </span>
|
|
447
|
-
<span class="cline-any cline-neutral"> </span>
|
|
448
|
-
<span class="cline-any cline-neutral"> </span>
|
|
449
|
-
<span class="cline-any cline-neutral"> </span>
|
|
450
|
-
<span class="cline-any cline-neutral"> </span>
|
|
451
|
-
<span class="cline-any cline-neutral"> </span>
|
|
452
|
-
<span class="cline-any cline-neutral"> </span>
|
|
453
|
-
<span class="cline-any cline-neutral"> </span>
|
|
454
|
-
<span class="cline-any cline-neutral"> </span>
|
|
455
|
-
<span class="cline-any cline-neutral"> </span>
|
|
456
|
-
<span class="cline-any cline-neutral"> </span>
|
|
457
|
-
<span class="cline-any cline-neutral"> </span>
|
|
458
|
-
<span class="cline-any cline-neutral"> </span>
|
|
459
|
-
<span class="cline-any cline-neutral"> </span>
|
|
460
|
-
<span class="cline-any cline-neutral"> </span>
|
|
461
|
-
<span class="cline-any cline-neutral"> </span>
|
|
462
|
-
<span class="cline-any cline-neutral"> </span>
|
|
463
|
-
<span class="cline-any cline-neutral"> </span>
|
|
464
|
-
<span class="cline-any cline-neutral"> </span>
|
|
465
|
-
<span class="cline-any cline-neutral"> </span>
|
|
466
|
-
<span class="cline-any cline-neutral"> </span>
|
|
467
|
-
<span class="cline-any cline-neutral"> </span>
|
|
468
|
-
<span class="cline-any cline-yes">1×</span>
|
|
469
|
-
<span class="cline-any cline-yes">17×</span>
|
|
470
|
-
<span class="cline-any cline-yes">17×</span>
|
|
471
|
-
<span class="cline-any cline-yes">17×</span>
|
|
472
|
-
<span class="cline-any cline-neutral"> </span>
|
|
473
|
-
<span class="cline-any cline-neutral"> </span>
|
|
474
|
-
<span class="cline-any cline-yes">1×</span>
|
|
475
|
-
<span class="cline-any cline-yes">147×</span>
|
|
476
|
-
<span class="cline-any cline-yes">147×</span>
|
|
477
|
-
<span class="cline-any cline-neutral"> </span>
|
|
478
|
-
<span class="cline-any cline-no"> </span>
|
|
479
|
-
<span class="cline-any cline-neutral"> </span>
|
|
480
|
-
<span class="cline-any cline-neutral"> </span>
|
|
481
|
-
<span class="cline-any cline-neutral"> </span>
|
|
482
|
-
<span class="cline-any cline-yes">1×</span>
|
|
483
|
-
<span class="cline-any cline-yes">203×</span>
|
|
484
|
-
<span class="cline-any cline-yes">203×</span>
|
|
485
|
-
<span class="cline-any cline-neutral"> </span>
|
|
486
|
-
<span class="cline-any cline-yes">13×</span>
|
|
487
|
-
<span class="cline-any cline-neutral"> </span>
|
|
488
|
-
<span class="cline-any cline-neutral"> </span>
|
|
489
|
-
<span class="cline-any cline-neutral"> </span>
|
|
490
|
-
<span class="cline-any cline-yes">1×</span>
|
|
491
|
-
<span class="cline-any cline-yes">8×</span>
|
|
492
|
-
<span class="cline-any cline-yes">8×</span>
|
|
493
|
-
<span class="cline-any cline-neutral"> </span>
|
|
494
|
-
<span class="cline-any cline-no"> </span>
|
|
495
|
-
<span class="cline-any cline-neutral"> </span>
|
|
496
|
-
<span class="cline-any cline-neutral"> </span>
|
|
497
|
-
<span class="cline-any cline-neutral"> </span>
|
|
498
|
-
<span class="cline-any cline-yes">1×</span>
|
|
499
|
-
<span class="cline-any cline-yes">48×</span>
|
|
500
|
-
<span class="cline-any cline-no"> </span>
|
|
501
|
-
<span class="cline-any cline-neutral"> </span>
|
|
502
|
-
<span class="cline-any cline-neutral"> </span>
|
|
503
|
-
<span class="cline-any cline-yes">48×</span>
|
|
504
|
-
<span class="cline-any cline-yes">35×</span>
|
|
505
|
-
<span class="cline-any cline-yes">13×</span>
|
|
506
|
-
<span class="cline-any cline-no"> </span>
|
|
507
|
-
<span class="cline-any cline-neutral"> </span>
|
|
508
|
-
<span class="cline-any cline-yes">13×</span>
|
|
509
|
-
<span class="cline-any cline-neutral"> </span>
|
|
510
|
-
<span class="cline-any cline-neutral"> </span>
|
|
511
|
-
<span class="cline-any cline-neutral"> </span>
|
|
512
|
-
<span class="cline-any cline-neutral"> </span>
|
|
513
|
-
<span class="cline-any cline-neutral"> </span>
|
|
514
|
-
<span class="cline-any cline-neutral"> </span>
|
|
515
|
-
<span class="cline-any cline-neutral"> </span>
|
|
516
|
-
<span class="cline-any cline-neutral"> </span>
|
|
517
|
-
<span class="cline-any cline-neutral"> </span>
|
|
518
|
-
<span class="cline-any cline-neutral"> </span>
|
|
519
|
-
<span class="cline-any cline-neutral"> </span>
|
|
520
|
-
<span class="cline-any cline-neutral"> </span>
|
|
521
|
-
<span class="cline-any cline-yes">1×</span>
|
|
522
|
-
<span class="cline-any cline-yes">156×</span>
|
|
523
|
-
<span class="cline-any cline-neutral"> </span>
|
|
524
|
-
<span class="cline-any cline-yes">156×</span>
|
|
525
|
-
<span class="cline-any cline-yes">156×</span>
|
|
526
|
-
<span class="cline-any cline-yes">156×</span>
|
|
527
|
-
<span class="cline-any cline-yes">156×</span>
|
|
528
|
-
<span class="cline-any cline-neutral"> </span>
|
|
529
|
-
<span class="cline-any cline-yes">156×</span>
|
|
530
|
-
<span class="cline-any cline-yes">156×</span>
|
|
531
|
-
<span class="cline-any cline-yes">156×</span>
|
|
532
|
-
<span class="cline-any cline-yes">156×</span>
|
|
533
|
-
<span class="cline-any cline-yes">156×</span>
|
|
534
|
-
<span class="cline-any cline-yes">156×</span>
|
|
535
|
-
<span class="cline-any cline-yes">156×</span>
|
|
536
|
-
<span class="cline-any cline-yes">156×</span>
|
|
537
|
-
<span class="cline-any cline-yes">156×</span>
|
|
538
|
-
<span class="cline-any cline-yes">156×</span>
|
|
539
|
-
<span class="cline-any cline-neutral"> </span>
|
|
540
|
-
<span class="cline-any cline-yes">156×</span>
|
|
541
|
-
<span class="cline-any cline-yes">156×</span>
|
|
542
|
-
<span class="cline-any cline-yes">156×</span>
|
|
543
|
-
<span class="cline-any cline-neutral"> </span>
|
|
544
|
-
<span class="cline-any cline-yes">1×</span>
|
|
545
|
-
<span class="cline-any cline-yes">147×</span>
|
|
546
|
-
<span class="cline-any cline-neutral"> </span>
|
|
547
|
-
<span class="cline-any cline-neutral"> </span>
|
|
548
|
-
<span class="cline-any cline-yes">1×</span>
|
|
549
|
-
<span class="cline-any cline-yes">271×</span>
|
|
550
|
-
<span class="cline-any cline-no"> </span>
|
|
551
|
-
<span class="cline-any cline-neutral"> </span>
|
|
552
|
-
<span class="cline-any cline-neutral"> </span>
|
|
553
|
-
<span class="cline-any cline-yes">271×</span>
|
|
554
|
-
<span class="cline-any cline-yes">271×</span>
|
|
555
|
-
<span class="cline-any cline-neutral"> </span>
|
|
556
|
-
<span class="cline-any cline-yes">271×</span>
|
|
557
|
-
<span class="cline-any cline-neutral"> </span>
|
|
558
|
-
<span class="cline-any cline-yes">21×</span>
|
|
559
|
-
<span class="cline-any cline-yes">21×</span>
|
|
560
|
-
<span class="cline-any cline-neutral"> </span>
|
|
561
|
-
<span class="cline-any cline-yes">19×</span>
|
|
562
|
-
<span class="cline-any cline-yes">19×</span>
|
|
563
|
-
<span class="cline-any cline-neutral"> </span>
|
|
564
|
-
<span class="cline-any cline-yes">126×</span>
|
|
565
|
-
<span class="cline-any cline-yes">126×</span>
|
|
566
|
-
<span class="cline-any cline-neutral"> </span>
|
|
567
|
-
<span class="cline-any cline-yes">8×</span>
|
|
568
|
-
<span class="cline-any cline-yes">8×</span>
|
|
569
|
-
<span class="cline-any cline-neutral"> </span>
|
|
570
|
-
<span class="cline-any cline-yes">19×</span>
|
|
571
|
-
<span class="cline-any cline-yes">19×</span>
|
|
572
|
-
<span class="cline-any cline-neutral"> </span>
|
|
573
|
-
<span class="cline-any cline-yes">21×</span>
|
|
574
|
-
<span class="cline-any cline-yes">21×</span>
|
|
575
|
-
<span class="cline-any cline-neutral"> </span>
|
|
576
|
-
<span class="cline-any cline-yes">11×</span>
|
|
577
|
-
<span class="cline-any cline-yes">11×</span>
|
|
578
|
-
<span class="cline-any cline-neutral"> </span>
|
|
579
|
-
<span class="cline-any cline-yes">37×</span>
|
|
580
|
-
<span class="cline-any cline-yes">3×</span>
|
|
581
|
-
<span class="cline-any cline-no"> </span>
|
|
582
|
-
<span class="cline-any cline-neutral"> </span>
|
|
583
|
-
<span class="cline-any cline-yes">34×</span>
|
|
584
|
-
<span class="cline-any cline-neutral"> </span>
|
|
585
|
-
<span class="cline-any cline-neutral"> </span>
|
|
586
|
-
<span class="cline-any cline-neutral"> </span>
|
|
587
|
-
<span class="cline-any cline-yes">156×</span>
|
|
588
|
-
<span class="cline-any cline-yes">615×</span>
|
|
589
|
-
<span class="cline-any cline-neutral"> </span>
|
|
590
|
-
<span class="cline-any cline-yes">65×</span>
|
|
591
|
-
<span class="cline-any cline-yes">65×</span>
|
|
592
|
-
<span class="cline-any cline-neutral"> </span>
|
|
593
|
-
<span class="cline-any cline-yes">65×</span>
|
|
594
|
-
<span class="cline-any cline-yes">65×</span>
|
|
595
|
-
<span class="cline-any cline-neutral"> </span>
|
|
596
|
-
<span class="cline-any cline-yes">128×</span>
|
|
597
|
-
<span class="cline-any cline-yes">126×</span>
|
|
598
|
-
<span class="cline-any cline-yes">126×</span>
|
|
599
|
-
<span class="cline-any cline-yes">126×</span>
|
|
600
|
-
<span class="cline-any cline-neutral"> </span>
|
|
601
|
-
<span class="cline-any cline-yes">128×</span>
|
|
602
|
-
<span class="cline-any cline-neutral"> </span>
|
|
603
|
-
<span class="cline-any cline-yes">21×</span>
|
|
604
|
-
<span class="cline-any cline-yes">21×</span>
|
|
605
|
-
<span class="cline-any cline-yes">21×</span>
|
|
606
|
-
<span class="cline-any cline-yes">21×</span>
|
|
607
|
-
<span class="cline-any cline-neutral"> </span>
|
|
608
|
-
<span class="cline-any cline-yes">21×</span>
|
|
609
|
-
<span class="cline-any cline-neutral"> </span>
|
|
610
|
-
<span class="cline-any cline-yes">19×</span>
|
|
611
|
-
<span class="cline-any cline-yes">19×</span>
|
|
612
|
-
<span class="cline-any cline-yes">19×</span>
|
|
613
|
-
<span class="cline-any cline-neutral"> </span>
|
|
614
|
-
<span class="cline-any cline-yes">19×</span>
|
|
615
|
-
<span class="cline-any cline-neutral"> </span>
|
|
616
|
-
<span class="cline-any cline-yes">8×</span>
|
|
617
|
-
<span class="cline-any cline-yes">8×</span>
|
|
618
|
-
<span class="cline-any cline-yes">8×</span>
|
|
619
|
-
<span class="cline-any cline-neutral"> </span>
|
|
620
|
-
<span class="cline-any cline-yes">8×</span>
|
|
621
|
-
<span class="cline-any cline-neutral"> </span>
|
|
622
|
-
<span class="cline-any cline-yes">17×</span>
|
|
623
|
-
<span class="cline-any cline-yes">17×</span>
|
|
624
|
-
<span class="cline-any cline-neutral"> </span>
|
|
625
|
-
<span class="cline-any cline-yes">17×</span>
|
|
626
|
-
<span class="cline-any cline-yes">9×</span>
|
|
627
|
-
<span class="cline-any cline-yes">8×</span>
|
|
628
|
-
<span class="cline-any cline-yes">8×</span>
|
|
629
|
-
<span class="cline-any cline-yes">8×</span>
|
|
630
|
-
<span class="cline-any cline-neutral"> </span>
|
|
631
|
-
<span class="cline-any cline-no"> </span>
|
|
632
|
-
<span class="cline-any cline-neutral"> </span>
|
|
633
|
-
<span class="cline-any cline-neutral"> </span>
|
|
634
|
-
<span class="cline-any cline-yes">17×</span>
|
|
635
|
-
<span class="cline-any cline-neutral"> </span>
|
|
636
|
-
<span class="cline-any cline-yes">17×</span>
|
|
637
|
-
<span class="cline-any cline-neutral"> </span>
|
|
638
|
-
<span class="cline-any cline-yes">39×</span>
|
|
639
|
-
<span class="cline-any cline-yes">37×</span>
|
|
640
|
-
<span class="cline-any cline-yes">37×</span>
|
|
641
|
-
<span class="cline-any cline-yes">37×</span>
|
|
642
|
-
<span class="cline-any cline-neutral"> </span>
|
|
643
|
-
<span class="cline-any cline-yes">39×</span>
|
|
644
|
-
<span class="cline-any cline-neutral"> </span>
|
|
645
|
-
<span class="cline-any cline-yes">19×</span>
|
|
646
|
-
<span class="cline-any cline-yes">19×</span>
|
|
647
|
-
<span class="cline-any cline-yes">19×</span>
|
|
648
|
-
<span class="cline-any cline-neutral"> </span>
|
|
649
|
-
<span class="cline-any cline-yes">19×</span>
|
|
650
|
-
<span class="cline-any cline-neutral"> </span>
|
|
651
|
-
<span class="cline-any cline-yes">21×</span>
|
|
652
|
-
<span class="cline-any cline-yes">21×</span>
|
|
653
|
-
<span class="cline-any cline-yes">21×</span>
|
|
654
|
-
<span class="cline-any cline-neutral"> </span>
|
|
655
|
-
<span class="cline-any cline-yes">21×</span>
|
|
656
|
-
<span class="cline-any cline-neutral"> </span>
|
|
657
|
-
<span class="cline-any cline-yes">12×</span>
|
|
658
|
-
<span class="cline-any cline-yes">11×</span>
|
|
659
|
-
<span class="cline-any cline-yes">11×</span>
|
|
660
|
-
<span class="cline-any cline-neutral"> </span>
|
|
661
|
-
<span class="cline-any cline-yes">12×</span>
|
|
662
|
-
<span class="cline-any cline-neutral"> </span>
|
|
663
|
-
<span class="cline-any cline-neutral"> </span>
|
|
664
|
-
<span class="cline-any cline-neutral"> </span>
|
|
665
|
-
<span class="cline-any cline-yes">156×</span>
|
|
666
|
-
<span class="cline-any cline-neutral"> </span>
|
|
667
|
-
<span class="cline-any cline-yes">153×</span>
|
|
668
|
-
<span class="cline-any cline-yes">123×</span>
|
|
669
|
-
<span class="cline-any cline-yes">123×</span>
|
|
670
|
-
<span class="cline-any cline-yes">13×</span>
|
|
671
|
-
<span class="cline-any cline-yes">13×</span>
|
|
672
|
-
<span class="cline-any cline-yes">13×</span>
|
|
673
|
-
<span class="cline-any cline-yes">13×</span>
|
|
674
|
-
<span class="cline-any cline-neutral"> </span>
|
|
675
|
-
<span class="cline-any cline-neutral"> </span>
|
|
676
|
-
<span class="cline-any cline-neutral"> </span>
|
|
677
|
-
<span class="cline-any cline-yes">153×</span>
|
|
678
|
-
<span class="cline-any cline-yes">123×</span>
|
|
679
|
-
<span class="cline-any cline-neutral"> </span>
|
|
680
|
-
<span class="cline-any cline-neutral"> </span>
|
|
681
|
-
<span class="cline-any cline-yes">149×</span>
|
|
682
|
-
<span class="cline-any cline-yes">21×</span>
|
|
683
|
-
<span class="cline-any cline-neutral"> </span>
|
|
684
|
-
<span class="cline-any cline-neutral"> </span>
|
|
685
|
-
<span class="cline-any cline-yes">147×</span>
|
|
686
|
-
<span class="cline-any cline-yes">11×</span>
|
|
687
|
-
<span class="cline-any cline-neutral"> </span>
|
|
688
|
-
<span class="cline-any cline-neutral"> </span>
|
|
689
|
-
<span class="cline-any cline-yes">147×</span>
|
|
690
|
-
<span class="cline-any cline-yes">21×</span>
|
|
691
|
-
<span class="cline-any cline-neutral"> </span>
|
|
692
|
-
<span class="cline-any cline-neutral"> </span>
|
|
693
|
-
<span class="cline-any cline-yes">145×</span>
|
|
694
|
-
<span class="cline-any cline-yes">19×</span>
|
|
695
|
-
<span class="cline-any cline-neutral"> </span>
|
|
696
|
-
<span class="cline-any cline-neutral"> </span>
|
|
697
|
-
<span class="cline-any cline-yes">143×</span>
|
|
698
|
-
<span class="cline-any cline-yes">8×</span>
|
|
699
|
-
<span class="cline-any cline-neutral"> </span>
|
|
700
|
-
<span class="cline-any cline-neutral"> </span>
|
|
701
|
-
<span class="cline-any cline-yes">141×</span>
|
|
702
|
-
<span class="cline-any cline-yes">121×</span>
|
|
703
|
-
<span class="cline-any cline-neutral"> </span>
|
|
704
|
-
<span class="cline-any cline-neutral"> </span>
|
|
705
|
-
<span class="cline-any cline-yes">141×</span>
|
|
706
|
-
<span class="cline-any cline-yes">19×</span>
|
|
707
|
-
<span class="cline-any cline-yes">18×</span>
|
|
708
|
-
<span class="cline-any cline-yes">2×</span>
|
|
709
|
-
<span class="cline-any cline-yes">16×</span>
|
|
710
|
-
<span class="cline-any cline-no"> </span>
|
|
711
|
-
<span class="cline-any cline-neutral"> </span>
|
|
712
|
-
<span class="cline-any cline-neutral"> </span>
|
|
713
|
-
<span class="cline-any cline-neutral"> </span>
|
|
714
|
-
<span class="cline-any cline-yes">140×</span>
|
|
715
|
-
<span class="cline-any cline-yes">8×</span>
|
|
716
|
-
<span class="cline-any cline-neutral"> </span>
|
|
717
|
-
<span class="cline-any cline-neutral"> </span>
|
|
718
|
-
<span class="cline-any cline-yes">140×</span>
|
|
719
|
-
<span class="cline-any cline-yes">8×</span>
|
|
720
|
-
<span class="cline-any cline-neutral"> </span>
|
|
721
|
-
<span class="cline-any cline-neutral"> </span>
|
|
722
|
-
<span class="cline-any cline-yes">140×</span>
|
|
723
|
-
<span class="cline-any cline-yes">8×</span>
|
|
724
|
-
<span class="cline-any cline-neutral"> </span>
|
|
725
|
-
<span class="cline-any cline-neutral"> </span>
|
|
726
|
-
<span class="cline-any cline-neutral"> </span>
|
|
727
|
-
<span class="cline-any cline-yes">140×</span>
|
|
728
|
-
<span class="cline-any cline-yes">105×</span>
|
|
729
|
-
<span class="cline-any cline-neutral"> </span>
|
|
730
|
-
<span class="cline-any cline-neutral"> </span>
|
|
731
|
-
<span class="cline-any cline-neutral"> </span>
|
|
732
|
-
<span class="cline-any cline-neutral"> </span>
|
|
733
|
-
<span class="cline-any cline-neutral"> </span>
|
|
734
|
-
<span class="cline-any cline-neutral"> </span>
|
|
735
|
-
<span class="cline-any cline-neutral"> </span>
|
|
736
|
-
<span class="cline-any cline-yes">35×</span>
|
|
737
|
-
<span class="cline-any cline-yes">11×</span>
|
|
738
|
-
<span class="cline-any cline-neutral"> </span>
|
|
739
|
-
<span class="cline-any cline-neutral"> </span>
|
|
740
|
-
<span class="cline-any cline-neutral"> </span>
|
|
741
|
-
<span class="cline-any cline-neutral"> </span>
|
|
742
|
-
<span class="cline-any cline-neutral"> </span>
|
|
743
|
-
<span class="cline-any cline-neutral"> </span>
|
|
744
|
-
<span class="cline-any cline-neutral"> </span>
|
|
745
|
-
<span class="cline-any cline-yes">24×</span>
|
|
746
|
-
<span class="cline-any cline-yes">15×</span>
|
|
747
|
-
<span class="cline-any cline-neutral"> </span>
|
|
748
|
-
<span class="cline-any cline-neutral"> </span>
|
|
749
|
-
<span class="cline-any cline-neutral"> </span>
|
|
750
|
-
<span class="cline-any cline-neutral"> </span>
|
|
751
|
-
<span class="cline-any cline-neutral"> </span>
|
|
752
|
-
<span class="cline-any cline-neutral"> </span>
|
|
753
|
-
<span class="cline-any cline-yes">9×</span>
|
|
754
|
-
<span class="cline-any cline-yes">9×</span>
|
|
755
|
-
<span class="cline-any cline-yes">1×</span>
|
|
756
|
-
<span class="cline-any cline-neutral"> </span>
|
|
757
|
-
<span class="cline-any cline-yes">8×</span>
|
|
758
|
-
<span class="cline-any cline-neutral"> </span>
|
|
759
|
-
<span class="cline-any cline-neutral"> </span>
|
|
760
|
-
<span class="cline-any cline-neutral"> </span>
|
|
761
|
-
<span class="cline-any cline-neutral"> </span>
|
|
762
|
-
<span class="cline-any cline-neutral"> </span>
|
|
763
|
-
<span class="cline-any cline-neutral"> </span>
|
|
764
|
-
<span class="cline-any cline-no"> </span>
|
|
765
|
-
<span class="cline-any cline-neutral"> </span>
|
|
766
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
|
|
767
|
-
var removeComments = require('../../../compiler/util/removeComments');
|
|
768
|
-
var compiler = require('../../../compiler');
|
|
769
|
-
|
|
770
|
-
var integerRegExp = /^-?\d+$/;
|
|
771
|
-
var numberRegExp = /^-?(?:\d+|\d+\.\d*|\d*\.\d+|\d+\.\d+)$/;
|
|
772
|
-
|
|
773
|
-
var tokenizer = require('../../../compiler/util/tokenizer').create([
|
|
774
|
-
{
|
|
775
|
-
name: 'stringDouble',
|
|
776
|
-
pattern: /"(?:[^"]|\\")*"/,
|
|
777
|
-
},
|
|
778
|
-
{
|
|
779
|
-
name: 'stringSingle',
|
|
780
|
-
pattern: /'(?:[^']|\\')*'/
|
|
781
|
-
},
|
|
782
|
-
{
|
|
783
|
-
name: 'in',
|
|
784
|
-
pattern: /\s+in\s+/,
|
|
785
|
-
},
|
|
786
|
-
{
|
|
787
|
-
name: 'from',
|
|
788
|
-
pattern: /\s+from\s+/
|
|
789
|
-
},
|
|
790
|
-
{
|
|
791
|
-
name: 'to',
|
|
792
|
-
pattern: /\s+to\s+/,
|
|
793
|
-
},
|
|
794
|
-
{
|
|
795
|
-
name: 'step',
|
|
796
|
-
pattern: /\s+step\s+/,
|
|
797
|
-
},
|
|
798
|
-
{
|
|
799
|
-
name: 'semicolon',
|
|
800
|
-
pattern: /[;]/,
|
|
801
|
-
},
|
|
802
|
-
{
|
|
803
|
-
name: 'separator',
|
|
804
|
-
pattern: /separator=/
|
|
805
|
-
},
|
|
806
|
-
{
|
|
807
|
-
name: 'status-var',
|
|
808
|
-
pattern: /status\-var=/
|
|
809
|
-
},
|
|
810
|
-
{
|
|
811
|
-
name: 'iterator',
|
|
812
|
-
pattern: /iterator=/
|
|
813
|
-
},
|
|
814
|
-
{
|
|
815
|
-
name: 'pipe',
|
|
816
|
-
pattern: /\s+\|\s+/
|
|
817
|
-
},
|
|
818
|
-
{
|
|
819
|
-
name: 'groupOpen',
|
|
820
|
-
pattern: /[\{\(\[]/
|
|
821
|
-
},
|
|
822
|
-
{
|
|
823
|
-
name: 'groupClose',
|
|
824
|
-
pattern: /[\}\)\]]/
|
|
825
|
-
}
|
|
826
|
-
]);
|
|
827
|
-
|
|
828
|
-
function throwError(message) {
|
|
829
|
-
var error = new Error(message);
|
|
830
|
-
error.code = 'INVALID_FOR';
|
|
831
|
-
throw error;
|
|
832
|
-
}
|
|
833
|
-
|
|
834
|
-
function buildIdentifier(name, errorMessage) {
|
|
835
|
-
try {
|
|
836
|
-
return compiler.builder.identifier(name);
|
|
837
|
-
} catch(e) {
|
|
838
|
-
<span class="cstat-no" title="statement not covered" > throwError(errorMessage + ': ' + e.message);</span>
|
|
839
|
-
}
|
|
840
|
-
}
|
|
841
|
-
|
|
842
|
-
function parseExpression(str, errorMessage) {
|
|
843
|
-
try {
|
|
844
|
-
return compiler.builder.parseExpression(str);
|
|
845
|
-
} catch(e) {
|
|
846
|
-
throwError(errorMessage + ': ' + e.message);
|
|
847
|
-
}
|
|
848
|
-
}
|
|
849
|
-
|
|
850
|
-
function parseStatement(str, errorMessage) {
|
|
851
|
-
try {
|
|
852
|
-
return compiler.builder.parseStatement(str);
|
|
853
|
-
} catch(e) {
|
|
854
|
-
<span class="cstat-no" title="statement not covered" > throwError(errorMessage + ': ' + e.message);</span>
|
|
855
|
-
}
|
|
856
|
-
}
|
|
857
|
-
|
|
858
|
-
function createNumberExpression(str, errorMessage) {
|
|
859
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (str == null) {
|
|
860
|
-
<span class="cstat-no" title="statement not covered" > return null;</span>
|
|
861
|
-
}
|
|
862
|
-
|
|
863
|
-
if (integerRegExp.test(str)) {
|
|
864
|
-
return compiler.builder.literal(parseInt(str, 10));
|
|
865
|
-
} else <span class="missing-if-branch" title="if path not taken" >I</span>if (numberRegExp.test(str)) {
|
|
866
|
-
<span class="cstat-no" title="statement not covered" > return compiler.builder.literal(parseFloat(str));</span>
|
|
867
|
-
} else {
|
|
868
|
-
return parseExpression(str, errorMessage);
|
|
869
|
-
}
|
|
870
|
-
}
|
|
871
|
-
|
|
872
|
-
/**
|
|
873
|
-
* Parses a for loop string in the following forms:
|
|
874
|
-
*
|
|
875
|
-
* <varName> in <expression>
|
|
876
|
-
* <varName> in <expression> | status-var=<varName> separator=<expression>
|
|
877
|
-
* <varName> from <expression> to <expression>
|
|
878
|
-
* <varName> from <expression> to <expression> step <expression>
|
|
879
|
-
* <init>; <test>; <update>
|
|
880
|
-
*/
|
|
881
|
-
module.exports = function(str) {
|
|
882
|
-
str = removeComments(str);
|
|
883
|
-
|
|
884
|
-
let depth = 0;
|
|
885
|
-
var prevToken;
|
|
886
|
-
var loopType;
|
|
887
|
-
var pipeFound = false;
|
|
888
|
-
|
|
889
|
-
var varName;
|
|
890
|
-
var nameVarName;
|
|
891
|
-
var valueVarName;
|
|
892
|
-
var inExpression;
|
|
893
|
-
var statusVarName;
|
|
894
|
-
var separatorExpression;
|
|
895
|
-
var fromExpression;
|
|
896
|
-
var toExpression;
|
|
897
|
-
var stepExpression;
|
|
898
|
-
var iteratorExpression;
|
|
899
|
-
|
|
900
|
-
var forInit;
|
|
901
|
-
var forTest;
|
|
902
|
-
var forUpdate;
|
|
903
|
-
|
|
904
|
-
function finishVarName(end) {
|
|
905
|
-
varName = str.substring(0, end).trim();
|
|
906
|
-
}
|
|
907
|
-
|
|
908
|
-
function finishPrevPart(end) {
|
|
909
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!prevToken) {
|
|
910
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
911
|
-
}
|
|
912
|
-
|
|
913
|
-
var start = prevToken.end;
|
|
914
|
-
var part = str.substring(start, end).trim();
|
|
915
|
-
|
|
916
|
-
switch(prevToken.name) {
|
|
917
|
-
case 'from':
|
|
918
|
-
fromExpression = part;
|
|
919
|
-
break;
|
|
920
|
-
case 'to':
|
|
921
|
-
toExpression = part;
|
|
922
|
-
break;
|
|
923
|
-
case 'in':
|
|
924
|
-
inExpression = part;
|
|
925
|
-
break;
|
|
926
|
-
case 'step':
|
|
927
|
-
stepExpression = part;
|
|
928
|
-
break;
|
|
929
|
-
case 'status-var':
|
|
930
|
-
statusVarName = part;
|
|
931
|
-
break;
|
|
932
|
-
case 'separator':
|
|
933
|
-
separatorExpression = part;
|
|
934
|
-
break;
|
|
935
|
-
case 'iterator':
|
|
936
|
-
iteratorExpression = part;
|
|
937
|
-
break;
|
|
938
|
-
case 'pipe':
|
|
939
|
-
if (part.length !== 0) {
|
|
940
|
-
throwError('Unexpected input: ' + part);
|
|
941
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
942
|
-
}
|
|
943
|
-
break;
|
|
944
|
-
}
|
|
945
|
-
}
|
|
946
|
-
|
|
947
|
-
tokenizer.forEachToken(str, (token) => {
|
|
948
|
-
switch(token.name) {
|
|
949
|
-
case 'groupOpen':
|
|
950
|
-
depth++;
|
|
951
|
-
break;
|
|
952
|
-
case 'groupClose':
|
|
953
|
-
depth--;
|
|
954
|
-
break;
|
|
955
|
-
case 'in':
|
|
956
|
-
if (depth === 0 && !loopType) {
|
|
957
|
-
loopType = 'ForEach';
|
|
958
|
-
finishVarName(token.start);
|
|
959
|
-
prevToken = token;
|
|
960
|
-
}
|
|
961
|
-
break;
|
|
962
|
-
case 'from':
|
|
963
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (depth === 0 && !loopType) {
|
|
964
|
-
loopType = 'ForRange';
|
|
965
|
-
finishVarName(token.start);
|
|
966
|
-
prevToken = token;
|
|
967
|
-
}
|
|
968
|
-
break;
|
|
969
|
-
case 'to':
|
|
970
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (depth === 0 && prevToken && prevToken.name === 'from') {
|
|
971
|
-
finishPrevPart(token.start);
|
|
972
|
-
prevToken = token;
|
|
973
|
-
}
|
|
974
|
-
break;
|
|
975
|
-
case 'step':
|
|
976
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (depth === 0 && prevToken && prevToken.name === 'to') {
|
|
977
|
-
finishPrevPart(token.start);
|
|
978
|
-
prevToken = token;
|
|
979
|
-
}
|
|
980
|
-
break;
|
|
981
|
-
case 'semicolon':
|
|
982
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (depth === 0) {
|
|
983
|
-
loopType = 'For';
|
|
984
|
-
|
|
985
|
-
if (forInit == null) {
|
|
986
|
-
forInit = str.substring(0, token.start);
|
|
987
|
-
} else <span class="missing-if-branch" title="else path not taken" >E</span>if (forTest == null) {
|
|
988
|
-
forTest = str.substring(prevToken.end, token.start);
|
|
989
|
-
forUpdate = str.substring(token.end);
|
|
990
|
-
} else {
|
|
991
|
-
<span class="cstat-no" title="statement not covered" > throwError('Invalid native for loop. Expected format: <init>; <test>; <update>');</span>
|
|
992
|
-
}
|
|
993
|
-
|
|
994
|
-
prevToken = token;
|
|
995
|
-
}
|
|
996
|
-
break;
|
|
997
|
-
case 'pipe':
|
|
998
|
-
if (depth === 0) {
|
|
999
|
-
pipeFound = true;
|
|
1000
|
-
finishPrevPart(token.start);
|
|
1001
|
-
prevToken = token;
|
|
1002
|
-
}
|
|
1003
|
-
break;
|
|
1004
|
-
case 'status-var':
|
|
1005
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (depth === 0 && pipeFound && str.charAt(token.start-1) === ' ') {
|
|
1006
|
-
finishPrevPart(token.start);
|
|
1007
|
-
prevToken = token;
|
|
1008
|
-
}
|
|
1009
|
-
break;
|
|
1010
|
-
case 'separator':
|
|
1011
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (depth === 0 && pipeFound && str.charAt(token.start-1) === ' ') {
|
|
1012
|
-
finishPrevPart(token.start);
|
|
1013
|
-
prevToken = token;
|
|
1014
|
-
}
|
|
1015
|
-
break;
|
|
1016
|
-
case 'iterator':
|
|
1017
|
-
if (depth === 0 && pipeFound && str.charAt(token.start-1) === ' ') {
|
|
1018
|
-
finishPrevPart(token.start);
|
|
1019
|
-
prevToken = token;
|
|
1020
|
-
}
|
|
1021
|
-
break;
|
|
1022
|
-
}
|
|
1023
|
-
});
|
|
1024
|
-
|
|
1025
|
-
finishPrevPart(str.length);
|
|
1026
|
-
|
|
1027
|
-
if (loopType === 'ForEach') {
|
|
1028
|
-
var nameValue = varName.split(/\s*,\s*/);
|
|
1029
|
-
if (nameValue.length === 2) {
|
|
1030
|
-
nameVarName = buildIdentifier(nameValue[0], 'Invalid name variable');
|
|
1031
|
-
valueVarName = buildIdentifier(nameValue[1], 'Invalid value variable');
|
|
1032
|
-
varName = null;
|
|
1033
|
-
loopType = 'ForEachProp';
|
|
1034
|
-
}
|
|
1035
|
-
}
|
|
1036
|
-
|
|
1037
|
-
if (inExpression) {
|
|
1038
|
-
inExpression = parseExpression(inExpression, 'Invalid "in" expression');
|
|
1039
|
-
}
|
|
1040
|
-
|
|
1041
|
-
if (separatorExpression) {
|
|
1042
|
-
separatorExpression = parseExpression(separatorExpression, 'Invalid "separator" expression');
|
|
1043
|
-
}
|
|
1044
|
-
|
|
1045
|
-
if (iteratorExpression) {
|
|
1046
|
-
iteratorExpression = parseExpression(iteratorExpression, 'Invalid "iterator" expression');
|
|
1047
|
-
}
|
|
1048
|
-
|
|
1049
|
-
if (fromExpression) {
|
|
1050
|
-
fromExpression = createNumberExpression(fromExpression, 'Invalid "from" expression');
|
|
1051
|
-
}
|
|
1052
|
-
|
|
1053
|
-
if (toExpression) {
|
|
1054
|
-
toExpression = createNumberExpression(toExpression, 'Invalid "to" expression');
|
|
1055
|
-
}
|
|
1056
|
-
|
|
1057
|
-
if (stepExpression) {
|
|
1058
|
-
stepExpression = createNumberExpression(stepExpression, 'Invalid "step" expression');
|
|
1059
|
-
}
|
|
1060
|
-
|
|
1061
|
-
if (varName != null) {
|
|
1062
|
-
varName = buildIdentifier(varName, 'Invalid variable name');
|
|
1063
|
-
}
|
|
1064
|
-
|
|
1065
|
-
if (statusVarName) {
|
|
1066
|
-
statusVarName = parseExpression(statusVarName, 'Invalid status-var option');
|
|
1067
|
-
if (statusVarName.type === 'Literal') {
|
|
1068
|
-
statusVarName = compiler.builder.identifier(statusVarName.value);
|
|
1069
|
-
} else <span class="missing-if-branch" title="if path not taken" >I</span>if (statusVarName.type !== 'Identifier') {
|
|
1070
|
-
<span class="cstat-no" title="statement not covered" > throwError('Invalid status-var option');</span>
|
|
1071
|
-
}
|
|
1072
|
-
}
|
|
1073
|
-
|
|
1074
|
-
if (forInit) {
|
|
1075
|
-
forInit = parseStatement(forInit, 'Invalid for loop init');
|
|
1076
|
-
}
|
|
1077
|
-
|
|
1078
|
-
if (forTest) {
|
|
1079
|
-
forTest = parseExpression(forTest, 'Invalid for loop test');
|
|
1080
|
-
}
|
|
1081
|
-
|
|
1082
|
-
if (forUpdate) {
|
|
1083
|
-
forUpdate = parseExpression(forUpdate, 'Invalid for loop update');
|
|
1084
|
-
}
|
|
1085
|
-
|
|
1086
|
-
// No more tokens... now we need to sort out what happened
|
|
1087
|
-
if (loopType === 'ForEach') {
|
|
1088
|
-
return {
|
|
1089
|
-
'loopType': loopType,
|
|
1090
|
-
'varName': varName,
|
|
1091
|
-
'in': inExpression,
|
|
1092
|
-
'separator': separatorExpression,
|
|
1093
|
-
'statusVarName': statusVarName,
|
|
1094
|
-
'iterator': iteratorExpression
|
|
1095
|
-
};
|
|
1096
|
-
} else if (loopType === 'ForEachProp') {
|
|
1097
|
-
return {
|
|
1098
|
-
'loopType': loopType,
|
|
1099
|
-
'nameVarName': nameVarName,
|
|
1100
|
-
'valueVarName': valueVarName,
|
|
1101
|
-
'in': inExpression,
|
|
1102
|
-
'separator': separatorExpression,
|
|
1103
|
-
'statusVarName': statusVarName
|
|
1104
|
-
};
|
|
1105
|
-
} else if (loopType === 'ForRange') {
|
|
1106
|
-
return {
|
|
1107
|
-
'loopType': loopType,
|
|
1108
|
-
'varName': varName,
|
|
1109
|
-
'from': fromExpression,
|
|
1110
|
-
'to': toExpression,
|
|
1111
|
-
'step': stepExpression
|
|
1112
|
-
};
|
|
1113
|
-
} else <span class="missing-if-branch" title="else path not taken" >E</span>if (loopType === 'For') {
|
|
1114
|
-
if (forTest == null) {
|
|
1115
|
-
throwError('Invalid native for loop. Expected format: <init>; <test>; <update>');
|
|
1116
|
-
}
|
|
1117
|
-
return {
|
|
1118
|
-
'loopType': loopType,
|
|
1119
|
-
'init': forInit,
|
|
1120
|
-
'test': forTest,
|
|
1121
|
-
'update': forUpdate
|
|
1122
|
-
};
|
|
1123
|
-
} else {
|
|
1124
|
-
<span class="cstat-no" title="statement not covered" > throwError('Invalid for loop');</span>
|
|
1125
|
-
}
|
|
1126
|
-
};</pre></td></tr>
|
|
1127
|
-
</table></pre>
|
|
1128
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
1129
|
-
</div><!-- /wrapper -->
|
|
1130
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
1131
|
-
Code coverage
|
|
1132
|
-
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Tue Oct 18 2016 14:11:32 GMT-0700 (PDT)
|
|
1133
|
-
</div>
|
|
1134
|
-
</div>
|
|
1135
|
-
<script src="../../../../prettify.js"></script>
|
|
1136
|
-
<script>
|
|
1137
|
-
window.onload = function () {
|
|
1138
|
-
if (typeof prettyPrint === 'function') {
|
|
1139
|
-
prettyPrint();
|
|
1140
|
-
}
|
|
1141
|
-
};
|
|
1142
|
-
</script>
|
|
1143
|
-
<script src="../../../../sorter.js"></script>
|
|
1144
|
-
</body>
|
|
1145
|
-
</html>
|