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,1271 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<title>Code coverage report for marko-v4/compiler/Parser.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/compiler/</a> Parser.js
|
|
20
|
-
</h1>
|
|
21
|
-
<div class='clearfix'>
|
|
22
|
-
<div class='fl pad1y space-right2'>
|
|
23
|
-
<span class="strong">88.11% </span>
|
|
24
|
-
<span class="quiet">Statements</span>
|
|
25
|
-
<span class='fraction'>163/185</span>
|
|
26
|
-
</div>
|
|
27
|
-
<div class='fl pad1y space-right2'>
|
|
28
|
-
<span class="strong">82.76% </span>
|
|
29
|
-
<span class="quiet">Branches</span>
|
|
30
|
-
<span class='fraction'>72/87</span>
|
|
31
|
-
</div>
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">95.45% </span>
|
|
34
|
-
<span class="quiet">Functions</span>
|
|
35
|
-
<span class='fraction'>21/22</span>
|
|
36
|
-
</div>
|
|
37
|
-
<div class='fl pad1y space-right2'>
|
|
38
|
-
<span class="strong">88.11% </span>
|
|
39
|
-
<span class="quiet">Lines</span>
|
|
40
|
-
<span class='fraction'>163/185</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
|
|
407
|
-
362
|
|
408
|
-
363
|
|
409
|
-
364
|
|
410
|
-
365
|
|
411
|
-
366
|
|
412
|
-
367
|
|
413
|
-
368
|
|
414
|
-
369
|
|
415
|
-
370
|
|
416
|
-
371
|
|
417
|
-
372
|
|
418
|
-
373
|
|
419
|
-
374
|
|
420
|
-
375
|
|
421
|
-
376
|
|
422
|
-
377
|
|
423
|
-
378
|
|
424
|
-
379
|
|
425
|
-
380
|
|
426
|
-
381
|
|
427
|
-
382
|
|
428
|
-
383
|
|
429
|
-
384
|
|
430
|
-
385
|
|
431
|
-
386
|
|
432
|
-
387
|
|
433
|
-
388
|
|
434
|
-
389
|
|
435
|
-
390
|
|
436
|
-
391
|
|
437
|
-
392
|
|
438
|
-
393
|
|
439
|
-
394
|
|
440
|
-
395
|
|
441
|
-
396
|
|
442
|
-
397
|
|
443
|
-
398
|
|
444
|
-
399
|
|
445
|
-
400
|
|
446
|
-
401
|
|
447
|
-
402
|
|
448
|
-
403</td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
449
|
-
<span class="cline-any cline-yes">1×</span>
|
|
450
|
-
<span class="cline-any cline-yes">1×</span>
|
|
451
|
-
<span class="cline-any cline-neutral"> </span>
|
|
452
|
-
<span class="cline-any cline-yes">1×</span>
|
|
453
|
-
<span class="cline-any cline-neutral"> </span>
|
|
454
|
-
<span class="cline-any cline-yes">5×</span>
|
|
455
|
-
<span class="cline-any cline-neutral"> </span>
|
|
456
|
-
<span class="cline-any cline-neutral"> </span>
|
|
457
|
-
<span class="cline-any cline-yes">2×</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-yes">1×</span>
|
|
462
|
-
<span class="cline-any cline-neutral"> </span>
|
|
463
|
-
<span class="cline-any cline-yes">1×</span>
|
|
464
|
-
<span class="cline-any cline-yes">30×</span>
|
|
465
|
-
<span class="cline-any cline-neutral"> </span>
|
|
466
|
-
<span class="cline-any cline-neutral"> </span>
|
|
467
|
-
<span class="cline-any cline-yes">1×</span>
|
|
468
|
-
<span class="cline-any cline-yes">245×</span>
|
|
469
|
-
<span class="cline-any cline-neutral"> </span>
|
|
470
|
-
<span class="cline-any cline-yes">1014×</span>
|
|
471
|
-
<span class="cline-any cline-neutral"> </span>
|
|
472
|
-
<span class="cline-any cline-neutral"> </span>
|
|
473
|
-
<span class="cline-any cline-yes">46×</span>
|
|
474
|
-
<span class="cline-any cline-yes">5×</span>
|
|
475
|
-
<span class="cline-any cline-yes">41×</span>
|
|
476
|
-
<span class="cline-any cline-yes">41×</span>
|
|
477
|
-
<span class="cline-any cline-neutral"> </span>
|
|
478
|
-
<span class="cline-any cline-neutral"> </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">245×</span>
|
|
483
|
-
<span class="cline-any cline-neutral"> </span>
|
|
484
|
-
<span class="cline-any cline-neutral"> </span>
|
|
485
|
-
<span class="cline-any cline-yes">1×</span>
|
|
486
|
-
<span class="cline-any cline-yes">30×</span>
|
|
487
|
-
<span class="cline-any cline-yes">30×</span>
|
|
488
|
-
<span class="cline-any cline-yes">52×</span>
|
|
489
|
-
<span class="cline-any cline-neutral"> </span>
|
|
490
|
-
<span class="cline-any cline-neutral"> </span>
|
|
491
|
-
<span class="cline-any cline-yes">30×</span>
|
|
492
|
-
<span class="cline-any cline-yes">30×</span>
|
|
493
|
-
<span class="cline-any cline-yes">14×</span>
|
|
494
|
-
<span class="cline-any cline-neutral"> </span>
|
|
495
|
-
<span class="cline-any cline-neutral"> </span>
|
|
496
|
-
<span class="cline-any cline-yes">30×</span>
|
|
497
|
-
<span class="cline-any cline-neutral"> </span>
|
|
498
|
-
<span class="cline-any cline-yes">30×</span>
|
|
499
|
-
<span class="cline-any cline-neutral"> </span>
|
|
500
|
-
<span class="cline-any cline-yes">30×</span>
|
|
501
|
-
<span class="cline-any cline-yes">66×</span>
|
|
502
|
-
<span class="cline-any cline-yes">66×</span>
|
|
503
|
-
<span class="cline-any cline-yes">20×</span>
|
|
504
|
-
<span class="cline-any cline-neutral"> </span>
|
|
505
|
-
<span class="cline-any cline-yes">46×</span>
|
|
506
|
-
<span class="cline-any cline-yes">46×</span>
|
|
507
|
-
<span class="cline-any cline-neutral"> </span>
|
|
508
|
-
<span class="cline-any cline-neutral"> </span>
|
|
509
|
-
<span class="cline-any cline-neutral"> </span>
|
|
510
|
-
<span class="cline-any cline-yes">30×</span>
|
|
511
|
-
<span class="cline-any cline-yes">18×</span>
|
|
512
|
-
<span class="cline-any cline-neutral"> </span>
|
|
513
|
-
<span class="cline-any cline-neutral"> </span>
|
|
514
|
-
<span class="cline-any cline-yes">12×</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-yes">3×</span>
|
|
521
|
-
<span class="cline-any cline-neutral"> </span>
|
|
522
|
-
<span class="cline-any cline-yes">3×</span>
|
|
523
|
-
<span class="cline-any cline-neutral"> </span>
|
|
524
|
-
<span class="cline-any cline-yes">3×</span>
|
|
525
|
-
<span class="cline-any cline-yes">3×</span>
|
|
526
|
-
<span class="cline-any cline-neutral"> </span>
|
|
527
|
-
<span class="cline-any cline-yes">3×</span>
|
|
528
|
-
<span class="cline-any cline-neutral"> </span>
|
|
529
|
-
<span class="cline-any cline-neutral"> </span>
|
|
530
|
-
<span class="cline-any cline-neutral"> </span>
|
|
531
|
-
<span class="cline-any cline-neutral"> </span>
|
|
532
|
-
<span class="cline-any cline-yes">3×</span>
|
|
533
|
-
<span class="cline-any cline-neutral"> </span>
|
|
534
|
-
<span class="cline-any cline-neutral"> </span>
|
|
535
|
-
<span class="cline-any cline-neutral"> </span>
|
|
536
|
-
<span class="cline-any cline-yes">704×</span>
|
|
537
|
-
<span class="cline-any cline-yes">704×</span>
|
|
538
|
-
<span class="cline-any cline-neutral"> </span>
|
|
539
|
-
<span class="cline-any cline-neutral"> </span>
|
|
540
|
-
<span class="cline-any cline-neutral"> </span>
|
|
541
|
-
<span class="cline-any cline-yes">704×</span>
|
|
542
|
-
<span class="cline-any cline-yes">704×</span>
|
|
543
|
-
<span class="cline-any cline-neutral"> </span>
|
|
544
|
-
<span class="cline-any cline-yes">704×</span>
|
|
545
|
-
<span class="cline-any cline-neutral"> </span>
|
|
546
|
-
<span class="cline-any cline-yes">704×</span>
|
|
547
|
-
<span class="cline-any cline-neutral"> </span>
|
|
548
|
-
<span class="cline-any cline-yes">704×</span>
|
|
549
|
-
<span class="cline-any cline-yes">704×</span>
|
|
550
|
-
<span class="cline-any cline-neutral"> </span>
|
|
551
|
-
<span class="cline-any cline-yes">704×</span>
|
|
552
|
-
<span class="cline-any cline-neutral"> </span>
|
|
553
|
-
<span class="cline-any cline-neutral"> </span>
|
|
554
|
-
<span class="cline-any cline-neutral"> </span>
|
|
555
|
-
<span class="cline-any cline-yes">704×</span>
|
|
556
|
-
<span class="cline-any cline-neutral"> </span>
|
|
557
|
-
<span class="cline-any cline-yes">704×</span>
|
|
558
|
-
<span class="cline-any cline-neutral"> </span>
|
|
559
|
-
<span class="cline-any cline-neutral"> </span>
|
|
560
|
-
<span class="cline-any cline-neutral"> </span>
|
|
561
|
-
<span class="cline-any cline-yes">2922×</span>
|
|
562
|
-
<span class="cline-any cline-neutral"> </span>
|
|
563
|
-
<span class="cline-any cline-yes">2922×</span>
|
|
564
|
-
<span class="cline-any cline-neutral"> </span>
|
|
565
|
-
<span class="cline-any cline-neutral"> </span>
|
|
566
|
-
<span class="cline-any cline-neutral"> </span>
|
|
567
|
-
<span class="cline-any cline-neutral"> </span>
|
|
568
|
-
<span class="cline-any cline-yes">2922×</span>
|
|
569
|
-
<span class="cline-any cline-yes">123×</span>
|
|
570
|
-
<span class="cline-any cline-neutral"> </span>
|
|
571
|
-
<span class="cline-any cline-yes">2799×</span>
|
|
572
|
-
<span class="cline-any cline-yes">2799×</span>
|
|
573
|
-
<span class="cline-any cline-neutral"> </span>
|
|
574
|
-
<span class="cline-any cline-neutral"> </span>
|
|
575
|
-
<span class="cline-any cline-neutral"> </span>
|
|
576
|
-
<span class="cline-any cline-neutral"> </span>
|
|
577
|
-
<span class="cline-any cline-yes">1676×</span>
|
|
578
|
-
<span class="cline-any cline-yes">1676×</span>
|
|
579
|
-
<span class="cline-any cline-neutral"> </span>
|
|
580
|
-
<span class="cline-any cline-yes">1676×</span>
|
|
581
|
-
<span class="cline-any cline-yes">1676×</span>
|
|
582
|
-
<span class="cline-any cline-yes">1676×</span>
|
|
583
|
-
<span class="cline-any cline-yes">1676×</span>
|
|
584
|
-
<span class="cline-any cline-neutral"> </span>
|
|
585
|
-
<span class="cline-any cline-yes">1676×</span>
|
|
586
|
-
<span class="cline-any cline-yes">298×</span>
|
|
587
|
-
<span class="cline-any cline-neutral"> </span>
|
|
588
|
-
<span class="cline-any cline-neutral"> </span>
|
|
589
|
-
<span class="cline-any cline-yes">1676×</span>
|
|
590
|
-
<span class="cline-any cline-neutral"> </span>
|
|
591
|
-
<span class="cline-any cline-yes">1676×</span>
|
|
592
|
-
<span class="cline-any cline-yes">1676×</span>
|
|
593
|
-
<span class="cline-any cline-yes">4×</span>
|
|
594
|
-
<span class="cline-any cline-yes">1672×</span>
|
|
595
|
-
<span class="cline-any cline-yes">7×</span>
|
|
596
|
-
<span class="cline-any cline-neutral"> </span>
|
|
597
|
-
<span class="cline-any cline-yes">7×</span>
|
|
598
|
-
<span class="cline-any cline-yes">7×</span>
|
|
599
|
-
<span class="cline-any cline-yes">7×</span>
|
|
600
|
-
<span class="cline-any cline-neutral"> </span>
|
|
601
|
-
<span class="cline-any cline-yes">7×</span>
|
|
602
|
-
<span class="cline-any cline-no"> </span>
|
|
603
|
-
<span class="cline-any cline-neutral"> </span>
|
|
604
|
-
<span class="cline-any cline-neutral"> </span>
|
|
605
|
-
<span class="cline-any cline-neutral"> </span>
|
|
606
|
-
<span class="cline-any cline-neutral"> </span>
|
|
607
|
-
<span class="cline-any cline-neutral"> </span>
|
|
608
|
-
<span class="cline-any cline-no"> </span>
|
|
609
|
-
<span class="cline-any cline-neutral"> </span>
|
|
610
|
-
<span class="cline-any cline-neutral"> </span>
|
|
611
|
-
<span class="cline-any cline-yes">7×</span>
|
|
612
|
-
<span class="cline-any cline-neutral"> </span>
|
|
613
|
-
<span class="cline-any cline-neutral"> </span>
|
|
614
|
-
<span class="cline-any cline-yes">7×</span>
|
|
615
|
-
<span class="cline-any cline-neutral"> </span>
|
|
616
|
-
<span class="cline-any cline-neutral"> </span>
|
|
617
|
-
<span class="cline-any cline-neutral"> </span>
|
|
618
|
-
<span class="cline-any cline-yes">1669×</span>
|
|
619
|
-
<span class="cline-any cline-neutral"> </span>
|
|
620
|
-
<span class="cline-any cline-yes">1669×</span>
|
|
621
|
-
<span class="cline-any cline-neutral"> </span>
|
|
622
|
-
<span class="cline-any cline-yes">1669×</span>
|
|
623
|
-
<span class="cline-any cline-neutral"> </span>
|
|
624
|
-
<span class="cline-any cline-neutral"> </span>
|
|
625
|
-
<span class="cline-any cline-neutral"> </span>
|
|
626
|
-
<span class="cline-any cline-neutral"> </span>
|
|
627
|
-
<span class="cline-any cline-neutral"> </span>
|
|
628
|
-
<span class="cline-any cline-neutral"> </span>
|
|
629
|
-
<span class="cline-any cline-yes">1269×</span>
|
|
630
|
-
<span class="cline-any cline-yes">1269×</span>
|
|
631
|
-
<span class="cline-any cline-yes">633×</span>
|
|
632
|
-
<span class="cline-any cline-yes">636×</span>
|
|
633
|
-
<span class="cline-any cline-yes">389×</span>
|
|
634
|
-
<span class="cline-any cline-neutral"> </span>
|
|
635
|
-
<span class="cline-any cline-yes">247×</span>
|
|
636
|
-
<span class="cline-any cline-yes">247×</span>
|
|
637
|
-
<span class="cline-any cline-yes">247×</span>
|
|
638
|
-
<span class="cline-any cline-yes">247×</span>
|
|
639
|
-
<span class="cline-any cline-neutral"> </span>
|
|
640
|
-
<span class="cline-any cline-yes">2×</span>
|
|
641
|
-
<span class="cline-any cline-yes">2×</span>
|
|
642
|
-
<span class="cline-any cline-neutral"> </span>
|
|
643
|
-
<span class="cline-any cline-neutral"> </span>
|
|
644
|
-
<span class="cline-any cline-yes">247×</span>
|
|
645
|
-
<span class="cline-any cline-yes">245×</span>
|
|
646
|
-
<span class="cline-any cline-no"> </span>
|
|
647
|
-
<span class="cline-any cline-neutral"> </span>
|
|
648
|
-
<span class="cline-any cline-yes">245×</span>
|
|
649
|
-
<span class="cline-any cline-neutral"> </span>
|
|
650
|
-
<span class="cline-any cline-neutral"> </span>
|
|
651
|
-
<span class="cline-any cline-yes">2×</span>
|
|
652
|
-
<span class="cline-any cline-neutral"> </span>
|
|
653
|
-
<span class="cline-any cline-neutral"> </span>
|
|
654
|
-
<span class="cline-any cline-neutral"> </span>
|
|
655
|
-
<span class="cline-any cline-yes">1269×</span>
|
|
656
|
-
<span class="cline-any cline-neutral"> </span>
|
|
657
|
-
<span class="cline-any cline-neutral"> </span>
|
|
658
|
-
<span class="cline-any cline-neutral"> </span>
|
|
659
|
-
<span class="cline-any cline-neutral"> </span>
|
|
660
|
-
<span class="cline-any cline-neutral"> </span>
|
|
661
|
-
<span class="cline-any cline-yes">1269×</span>
|
|
662
|
-
<span class="cline-any cline-neutral"> </span>
|
|
663
|
-
<span class="cline-any cline-yes">280×</span>
|
|
664
|
-
<span class="cline-any cline-neutral"> </span>
|
|
665
|
-
<span class="cline-any cline-neutral"> </span>
|
|
666
|
-
<span class="cline-any cline-yes">1269×</span>
|
|
667
|
-
<span class="cline-any cline-neutral"> </span>
|
|
668
|
-
<span class="cline-any cline-neutral"> </span>
|
|
669
|
-
<span class="cline-any cline-neutral"> </span>
|
|
670
|
-
<span class="cline-any cline-yes">1669×</span>
|
|
671
|
-
<span class="cline-any cline-neutral"> </span>
|
|
672
|
-
<span class="cline-any cline-yes">1669×</span>
|
|
673
|
-
<span class="cline-any cline-neutral"> </span>
|
|
674
|
-
<span class="cline-any cline-no"> </span>
|
|
675
|
-
<span class="cline-any cline-no"> </span>
|
|
676
|
-
<span class="cline-any cline-neutral"> </span>
|
|
677
|
-
<span class="cline-any cline-no"> </span>
|
|
678
|
-
<span class="cline-any cline-no"> </span>
|
|
679
|
-
<span class="cline-any cline-no"> </span>
|
|
680
|
-
<span class="cline-any cline-neutral"> </span>
|
|
681
|
-
<span class="cline-any cline-yes">1669×</span>
|
|
682
|
-
<span class="cline-any cline-neutral"> </span>
|
|
683
|
-
<span class="cline-any cline-neutral"> </span>
|
|
684
|
-
<span class="cline-any cline-yes">1669×</span>
|
|
685
|
-
<span class="cline-any cline-neutral"> </span>
|
|
686
|
-
<span class="cline-any cline-yes">2×</span>
|
|
687
|
-
<span class="cline-any cline-yes">2×</span>
|
|
688
|
-
<span class="cline-any cline-neutral"> </span>
|
|
689
|
-
<span class="cline-any cline-neutral"> </span>
|
|
690
|
-
<span class="cline-any cline-neutral"> </span>
|
|
691
|
-
<span class="cline-any cline-yes">1669×</span>
|
|
692
|
-
<span class="cline-any cline-no"> </span>
|
|
693
|
-
<span class="cline-any cline-no"> </span>
|
|
694
|
-
<span class="cline-any cline-no"> </span>
|
|
695
|
-
<span class="cline-any cline-neutral"> </span>
|
|
696
|
-
<span class="cline-any cline-neutral"> </span>
|
|
697
|
-
<span class="cline-any cline-no"> </span>
|
|
698
|
-
<span class="cline-any cline-no"> </span>
|
|
699
|
-
<span class="cline-any cline-no"> </span>
|
|
700
|
-
<span class="cline-any cline-no"> </span>
|
|
701
|
-
<span class="cline-any cline-neutral"> </span>
|
|
702
|
-
<span class="cline-any cline-neutral"> </span>
|
|
703
|
-
<span class="cline-any cline-neutral"> </span>
|
|
704
|
-
<span class="cline-any cline-yes">1669×</span>
|
|
705
|
-
<span class="cline-any cline-yes">30×</span>
|
|
706
|
-
<span class="cline-any cline-neutral"> </span>
|
|
707
|
-
<span class="cline-any cline-neutral"> </span>
|
|
708
|
-
<span class="cline-any cline-yes">1669×</span>
|
|
709
|
-
<span class="cline-any cline-yes">8×</span>
|
|
710
|
-
<span class="cline-any cline-no"> </span>
|
|
711
|
-
<span class="cline-any cline-neutral"> </span>
|
|
712
|
-
<span class="cline-any cline-yes">8×</span>
|
|
713
|
-
<span class="cline-any cline-neutral"> </span>
|
|
714
|
-
<span class="cline-any cline-neutral"> </span>
|
|
715
|
-
<span class="cline-any cline-neutral"> </span>
|
|
716
|
-
<span class="cline-any cline-neutral"> </span>
|
|
717
|
-
<span class="cline-any cline-yes">1669×</span>
|
|
718
|
-
<span class="cline-any cline-neutral"> </span>
|
|
719
|
-
<span class="cline-any cline-yes">1669×</span>
|
|
720
|
-
<span class="cline-any cline-neutral"> </span>
|
|
721
|
-
<span class="cline-any cline-neutral"> </span>
|
|
722
|
-
<span class="cline-any cline-neutral"> </span>
|
|
723
|
-
<span class="cline-any cline-neutral"> </span>
|
|
724
|
-
<span class="cline-any cline-neutral"> </span>
|
|
725
|
-
<span class="cline-any cline-neutral"> </span>
|
|
726
|
-
<span class="cline-any cline-yes">1672×</span>
|
|
727
|
-
<span class="cline-any cline-yes">1672×</span>
|
|
728
|
-
<span class="cline-any cline-yes">7×</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-yes">1665×</span>
|
|
733
|
-
<span class="cline-any cline-neutral"> </span>
|
|
734
|
-
<span class="cline-any cline-yes">1665×</span>
|
|
735
|
-
<span class="cline-any cline-neutral"> </span>
|
|
736
|
-
<span class="cline-any cline-neutral"> </span>
|
|
737
|
-
<span class="cline-any cline-neutral"> </span>
|
|
738
|
-
<span class="cline-any cline-neutral"> </span>
|
|
739
|
-
<span class="cline-any cline-neutral"> </span>
|
|
740
|
-
<span class="cline-any cline-yes">34×</span>
|
|
741
|
-
<span class="cline-any cline-neutral"> </span>
|
|
742
|
-
<span class="cline-any cline-yes">34×</span>
|
|
743
|
-
<span class="cline-any cline-neutral"> </span>
|
|
744
|
-
<span class="cline-any cline-yes">34×</span>
|
|
745
|
-
<span class="cline-any cline-neutral"> </span>
|
|
746
|
-
<span class="cline-any cline-neutral"> </span>
|
|
747
|
-
<span class="cline-any cline-yes">34×</span>
|
|
748
|
-
<span class="cline-any cline-yes">6×</span>
|
|
749
|
-
<span class="cline-any cline-yes">6×</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-neutral"> </span>
|
|
754
|
-
<span class="cline-any cline-no"> </span>
|
|
755
|
-
<span class="cline-any cline-neutral"> </span>
|
|
756
|
-
<span class="cline-any cline-no"> </span>
|
|
757
|
-
<span class="cline-any cline-neutral"> </span>
|
|
758
|
-
<span class="cline-any cline-no"> </span>
|
|
759
|
-
<span class="cline-any cline-no"> </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-yes">11×</span>
|
|
764
|
-
<span class="cline-any cline-neutral"> </span>
|
|
765
|
-
<span class="cline-any cline-yes">11×</span>
|
|
766
|
-
<span class="cline-any cline-neutral"> </span>
|
|
767
|
-
<span class="cline-any cline-yes">11×</span>
|
|
768
|
-
<span class="cline-any cline-yes">11×</span>
|
|
769
|
-
<span class="cline-any cline-neutral"> </span>
|
|
770
|
-
<span class="cline-any cline-neutral"> </span>
|
|
771
|
-
<span class="cline-any cline-neutral"> </span>
|
|
772
|
-
<span class="cline-any cline-yes">458×</span>
|
|
773
|
-
<span class="cline-any cline-yes">458×</span>
|
|
774
|
-
<span class="cline-any cline-yes">458×</span>
|
|
775
|
-
<span class="cline-any cline-yes">458×</span>
|
|
776
|
-
<span class="cline-any cline-neutral"> </span>
|
|
777
|
-
<span class="cline-any cline-yes">458×</span>
|
|
778
|
-
<span class="cline-any cline-yes">458×</span>
|
|
779
|
-
<span class="cline-any cline-neutral"> </span>
|
|
780
|
-
<span class="cline-any cline-neutral"> </span>
|
|
781
|
-
<span class="cline-any cline-neutral"> </span>
|
|
782
|
-
<span class="cline-any cline-yes">15×</span>
|
|
783
|
-
<span class="cline-any cline-yes">15×</span>
|
|
784
|
-
<span class="cline-any cline-yes">15×</span>
|
|
785
|
-
<span class="cline-any cline-yes">15×</span>
|
|
786
|
-
<span class="cline-any cline-neutral"> </span>
|
|
787
|
-
<span class="cline-any cline-neutral"> </span>
|
|
788
|
-
<span class="cline-any cline-neutral"> </span>
|
|
789
|
-
<span class="cline-any cline-yes">6×</span>
|
|
790
|
-
<span class="cline-any cline-neutral"> </span>
|
|
791
|
-
<span class="cline-any cline-neutral"> </span>
|
|
792
|
-
<span class="cline-any cline-neutral"> </span>
|
|
793
|
-
<span class="cline-any cline-neutral"> </span>
|
|
794
|
-
<span class="cline-any cline-neutral"> </span>
|
|
795
|
-
<span class="cline-any cline-neutral"> </span>
|
|
796
|
-
<span class="cline-any cline-neutral"> </span>
|
|
797
|
-
<span class="cline-any cline-neutral"> </span>
|
|
798
|
-
<span class="cline-any cline-yes">4965×</span>
|
|
799
|
-
<span class="cline-any cline-yes">4965×</span>
|
|
800
|
-
<span class="cline-any cline-neutral"> </span>
|
|
801
|
-
<span class="cline-any cline-neutral"> </span>
|
|
802
|
-
<span class="cline-any cline-neutral"> </span>
|
|
803
|
-
<span class="cline-any cline-yes">1676×</span>
|
|
804
|
-
<span class="cline-any cline-neutral"> </span>
|
|
805
|
-
<span class="cline-any cline-yes">1676×</span>
|
|
806
|
-
<span class="cline-any cline-yes">1276×</span>
|
|
807
|
-
<span class="cline-any cline-yes">1276×</span>
|
|
808
|
-
<span class="cline-any cline-yes">1276×</span>
|
|
809
|
-
<span class="cline-any cline-yes">4×</span>
|
|
810
|
-
<span class="cline-any cline-neutral"> </span>
|
|
811
|
-
<span class="cline-any cline-yes">4×</span>
|
|
812
|
-
<span class="cline-any cline-yes">4×</span>
|
|
813
|
-
<span class="cline-any cline-neutral"> </span>
|
|
814
|
-
<span class="cline-any cline-neutral"> </span>
|
|
815
|
-
<span class="cline-any cline-yes">4×</span>
|
|
816
|
-
<span class="cline-any cline-neutral"> </span>
|
|
817
|
-
<span class="cline-any cline-neutral"> </span>
|
|
818
|
-
<span class="cline-any cline-yes">4×</span>
|
|
819
|
-
<span class="cline-any cline-neutral"> </span>
|
|
820
|
-
<span class="cline-any cline-no"> </span>
|
|
821
|
-
<span class="cline-any cline-neutral"> </span>
|
|
822
|
-
<span class="cline-any cline-neutral"> </span>
|
|
823
|
-
<span class="cline-any cline-neutral"> </span>
|
|
824
|
-
<span class="cline-any cline-no"> </span>
|
|
825
|
-
<span class="cline-any cline-neutral"> </span>
|
|
826
|
-
<span class="cline-any cline-yes">1272×</span>
|
|
827
|
-
<span class="cline-any cline-yes">9×</span>
|
|
828
|
-
<span class="cline-any cline-neutral"> </span>
|
|
829
|
-
<span class="cline-any cline-neutral"> </span>
|
|
830
|
-
<span class="cline-any cline-neutral"> </span>
|
|
831
|
-
<span class="cline-any cline-yes">1663×</span>
|
|
832
|
-
<span class="cline-any cline-yes">1663×</span>
|
|
833
|
-
<span class="cline-any cline-neutral"> </span>
|
|
834
|
-
<span class="cline-any cline-yes">1663×</span>
|
|
835
|
-
<span class="cline-any cline-yes">852×</span>
|
|
836
|
-
<span class="cline-any cline-yes">852×</span>
|
|
837
|
-
<span class="cline-any cline-yes">2×</span>
|
|
838
|
-
<span class="cline-any cline-neutral"> </span>
|
|
839
|
-
<span class="cline-any cline-neutral"> </span>
|
|
840
|
-
<span class="cline-any cline-neutral"> </span>
|
|
841
|
-
<span class="cline-any cline-yes">1661×</span>
|
|
842
|
-
<span class="cline-any cline-neutral"> </span>
|
|
843
|
-
<span class="cline-any cline-neutral"> </span>
|
|
844
|
-
<span class="cline-any cline-neutral"> </span>
|
|
845
|
-
<span class="cline-any cline-yes">1676×</span>
|
|
846
|
-
<span class="cline-any cline-yes">1676×</span>
|
|
847
|
-
<span class="cline-any cline-neutral"> </span>
|
|
848
|
-
<span class="cline-any cline-neutral"> </span>
|
|
849
|
-
<span class="cline-any cline-neutral"> </span>
|
|
850
|
-
<span class="cline-any cline-yes">1×</span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
|
|
851
|
-
var ok = require('assert').ok;
|
|
852
|
-
var AttributePlaceholder = require('./ast/AttributePlaceholder');
|
|
853
|
-
|
|
854
|
-
var COMPILER_ATTRIBUTE_HANDLERS = {
|
|
855
|
-
'preserve-whitespace': function(attr, context) {
|
|
856
|
-
context.setPreserveWhitespace(true);
|
|
857
|
-
},
|
|
858
|
-
'preserve-comments': function(attr, context) {
|
|
859
|
-
context.setPreserveComments(true);
|
|
860
|
-
}
|
|
861
|
-
};
|
|
862
|
-
|
|
863
|
-
var ieConditionalCommentRegExp = /^\[if [^]*?<!\[endif\]$/;
|
|
864
|
-
|
|
865
|
-
function isIEConditionalComment(comment) {
|
|
866
|
-
return ieConditionalCommentRegExp.test(comment);
|
|
867
|
-
}
|
|
868
|
-
|
|
869
|
-
function replacePlaceholderEscapeFuncs(node, context) {
|
|
870
|
-
var walker = context.createWalker({
|
|
871
|
-
exit: function(node, parent) {
|
|
872
|
-
if (node.type === 'FunctionCall' &&
|
|
873
|
-
node.callee.type === 'Identifier') {
|
|
874
|
-
|
|
875
|
-
if (node.callee.name === '$noEscapeXml') {
|
|
876
|
-
return new AttributePlaceholder({escape: false, value: node.args[0]});
|
|
877
|
-
} else <span class="missing-if-branch" title="else path not taken" >E</span>if (node.callee.name === '$escapeXml') {
|
|
878
|
-
return new AttributePlaceholder({escape: true, value: node.args[0]});
|
|
879
|
-
}
|
|
880
|
-
}
|
|
881
|
-
}
|
|
882
|
-
});
|
|
883
|
-
|
|
884
|
-
return walker.walk(node);
|
|
885
|
-
}
|
|
886
|
-
|
|
887
|
-
function mergeShorthandClassNames(el, shorthandClassNames, context) {
|
|
888
|
-
var builder = context.builder;
|
|
889
|
-
let classNames = shorthandClassNames.map((className) => {
|
|
890
|
-
return builder.parseExpression(className.value);
|
|
891
|
-
});
|
|
892
|
-
|
|
893
|
-
var classAttr = el.getAttributeValue('class');
|
|
894
|
-
if (classAttr) {
|
|
895
|
-
classNames.push(classAttr);
|
|
896
|
-
}
|
|
897
|
-
|
|
898
|
-
let prevClassName;
|
|
899
|
-
|
|
900
|
-
var finalClassNames = [];
|
|
901
|
-
|
|
902
|
-
for (var i=0; i<classNames.length; i++) {
|
|
903
|
-
let className = classNames[i];
|
|
904
|
-
if (prevClassName && className.type === 'Literal' && prevClassName.type === 'Literal') {
|
|
905
|
-
prevClassName.value += ' ' + className.value;
|
|
906
|
-
} else {
|
|
907
|
-
finalClassNames.push(className);
|
|
908
|
-
prevClassName = className;
|
|
909
|
-
}
|
|
910
|
-
}
|
|
911
|
-
|
|
912
|
-
if (finalClassNames.length === 1) {
|
|
913
|
-
el.setAttributeValue('class', finalClassNames[0]);
|
|
914
|
-
} else {
|
|
915
|
-
|
|
916
|
-
el.setAttributeValue('class', builder.functionCall(context.helper('classList'), finalClassNames));
|
|
917
|
-
}
|
|
918
|
-
}
|
|
919
|
-
|
|
920
|
-
class Parser {
|
|
921
|
-
constructor(parserImpl, options) {
|
|
922
|
-
ok(parserImpl, '"parserImpl" is required');
|
|
923
|
-
|
|
924
|
-
this.parserImpl = parserImpl;
|
|
925
|
-
|
|
926
|
-
this.prevTextNode = null;
|
|
927
|
-
this.stack = null;
|
|
928
|
-
|
|
929
|
-
this.raw = options && options.raw === true;
|
|
930
|
-
|
|
931
|
-
// The context gets provided when parse is called
|
|
932
|
-
// but we store it as part of the object so that the handler
|
|
933
|
-
// methods have access
|
|
934
|
-
this.context = null;
|
|
935
|
-
}
|
|
936
|
-
|
|
937
|
-
_reset() {
|
|
938
|
-
this.prevTextNode = null;
|
|
939
|
-
this.stack = [];
|
|
940
|
-
}
|
|
941
|
-
|
|
942
|
-
parse(src, context) {
|
|
943
|
-
ok(typeof src === 'string', '"src" should be a string');
|
|
944
|
-
ok(context, '"context" is required');
|
|
945
|
-
|
|
946
|
-
this._reset();
|
|
947
|
-
|
|
948
|
-
this.context = context;
|
|
949
|
-
|
|
950
|
-
var builder = context.builder;
|
|
951
|
-
var rootNode = builder.templateRoot();
|
|
952
|
-
|
|
953
|
-
this.stack.push({
|
|
954
|
-
node: rootNode
|
|
955
|
-
});
|
|
956
|
-
|
|
957
|
-
this.parserImpl.parse(src, this);
|
|
958
|
-
|
|
959
|
-
return rootNode;
|
|
960
|
-
}
|
|
961
|
-
|
|
962
|
-
handleCharacters(text, parseMode) {
|
|
963
|
-
var builder = this.context.builder;
|
|
964
|
-
|
|
965
|
-
var escape = parseMode !== 'html';
|
|
966
|
-
// NOTE: If parseMode is 'static-text' or 'parsed-text' then that means that special
|
|
967
|
-
// HTML characters may not have been escaped on the way in so we need to escape
|
|
968
|
-
// them on the way out
|
|
969
|
-
|
|
970
|
-
if (this.prevTextNode && this.prevTextNode.isLiteral() && this.prevTextNode.escape === escape) {
|
|
971
|
-
this.prevTextNode.argument.value += text;
|
|
972
|
-
} else {
|
|
973
|
-
this.prevTextNode = builder.text(builder.literal(text), escape);
|
|
974
|
-
this.parentNode.appendChild(this.prevTextNode);
|
|
975
|
-
}
|
|
976
|
-
}
|
|
977
|
-
|
|
978
|
-
handleStartElement(el) {
|
|
979
|
-
var context = this.context;
|
|
980
|
-
var builder = context.builder;
|
|
981
|
-
|
|
982
|
-
var tagName = el.tagName;
|
|
983
|
-
var tagNameExpression = el.tagNameExpression;
|
|
984
|
-
var attributes = el.attributes;
|
|
985
|
-
var argument = el.argument; // e.g. For <for(color in colors)>, argument will be "color in colors"
|
|
986
|
-
|
|
987
|
-
if (argument) {
|
|
988
|
-
argument = argument.value;
|
|
989
|
-
}
|
|
990
|
-
|
|
991
|
-
var raw = this.raw;
|
|
992
|
-
|
|
993
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (!raw) {
|
|
994
|
-
if (tagNameExpression) {
|
|
995
|
-
tagName = builder.parseExpression(tagNameExpression);
|
|
996
|
-
} else if (tagName === 'marko-compiler-options') {
|
|
997
|
-
this.parentNode.setTrimStartEnd(true);
|
|
998
|
-
|
|
999
|
-
attributes.forEach(function (attr) {
|
|
1000
|
-
let attrName = attr.name;
|
|
1001
|
-
let handler = COMPILER_ATTRIBUTE_HANDLERS[attrName];
|
|
1002
|
-
|
|
1003
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!handler) {
|
|
1004
|
-
<span class="cstat-no" title="statement not covered" > context.addError({</span>
|
|
1005
|
-
code: 'ERR_INVALID_COMPILER_OPTION',
|
|
1006
|
-
message: 'Invalid Marko compiler option of "' + attrName + '". Allowed: ' + Object.keys(COMPILER_ATTRIBUTE_HANDLERS).join(', '),
|
|
1007
|
-
pos: el.pos,
|
|
1008
|
-
node: el
|
|
1009
|
-
});
|
|
1010
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
1011
|
-
}
|
|
1012
|
-
|
|
1013
|
-
handler(attr, context);
|
|
1014
|
-
});
|
|
1015
|
-
|
|
1016
|
-
return;
|
|
1017
|
-
}
|
|
1018
|
-
}
|
|
1019
|
-
|
|
1020
|
-
this.prevTextNode = null;
|
|
1021
|
-
|
|
1022
|
-
var attributeParseErrors = [];
|
|
1023
|
-
|
|
1024
|
-
var elDef = {
|
|
1025
|
-
tagName: tagName,
|
|
1026
|
-
argument: argument,
|
|
1027
|
-
openTagOnly: el.openTagOnly === true,
|
|
1028
|
-
selfClosed: el.selfClosed === true,
|
|
1029
|
-
pos: el.pos,
|
|
1030
|
-
attributes: attributes.map((attr) => {
|
|
1031
|
-
var attrValue;
|
|
1032
|
-
if (attr.hasOwnProperty('literalValue')) {
|
|
1033
|
-
attrValue = builder.literal(attr.literalValue);
|
|
1034
|
-
} else if (attr.value == null) {
|
|
1035
|
-
attrValue = undefined;
|
|
1036
|
-
} else {
|
|
1037
|
-
let parsedExpression;
|
|
1038
|
-
let valid = true;
|
|
1039
|
-
try {
|
|
1040
|
-
parsedExpression = builder.parseExpression(attr.value);
|
|
1041
|
-
} catch(e) {
|
|
1042
|
-
valid = false;
|
|
1043
|
-
attributeParseErrors.push('Invalid JavaScript expression for attribute "' + attr.name + '": ' + e);
|
|
1044
|
-
}
|
|
1045
|
-
|
|
1046
|
-
if (valid) {
|
|
1047
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (raw) {
|
|
1048
|
-
<span class="cstat-no" title="statement not covered" > attrValue = parsedExpression;</span>
|
|
1049
|
-
} else {
|
|
1050
|
-
attrValue = replacePlaceholderEscapeFuncs(parsedExpression, context);
|
|
1051
|
-
}
|
|
1052
|
-
} else {
|
|
1053
|
-
attrValue = null;
|
|
1054
|
-
}
|
|
1055
|
-
}
|
|
1056
|
-
|
|
1057
|
-
var attrDef = {
|
|
1058
|
-
name: attr.name,
|
|
1059
|
-
value: attrValue,
|
|
1060
|
-
rawValue: attr.value
|
|
1061
|
-
};
|
|
1062
|
-
|
|
1063
|
-
if (attr.argument) {
|
|
1064
|
-
// TODO Do something with the argument pos
|
|
1065
|
-
attrDef.argument = attr.argument.value;
|
|
1066
|
-
}
|
|
1067
|
-
|
|
1068
|
-
return attrDef;
|
|
1069
|
-
})
|
|
1070
|
-
};
|
|
1071
|
-
|
|
1072
|
-
var node;
|
|
1073
|
-
|
|
1074
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (raw) {
|
|
1075
|
-
|
|
1076
|
-
<span class="cstat-no" title="statement not covered" > node = builder.htmlElement(elDef);</span>
|
|
1077
|
-
<span class="cstat-no" title="statement not covered" > node.pos = elDef.pos;</span>
|
|
1078
|
-
|
|
1079
|
-
<span class="cstat-no" title="statement not covered" > let taglibLookup = this.context.taglibLookup;</span>
|
|
1080
|
-
<span class="cstat-no" title="statement not covered" > let tagDef = taglibLookup.getTag(tagName);</span>
|
|
1081
|
-
<span class="cstat-no" title="statement not covered" > node.tagDef = tagDef;</span>
|
|
1082
|
-
} else {
|
|
1083
|
-
node = this.context.createNodeForEl(elDef);
|
|
1084
|
-
}
|
|
1085
|
-
|
|
1086
|
-
if (attributeParseErrors.length) {
|
|
1087
|
-
|
|
1088
|
-
attributeParseErrors.forEach((e) => {
|
|
1089
|
-
context.addError(node, e);
|
|
1090
|
-
});
|
|
1091
|
-
}
|
|
1092
|
-
|
|
1093
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (raw) {
|
|
1094
|
-
<span class="cstat-no" title="statement not covered" > if (el.shorthandId) {</span>
|
|
1095
|
-
<span class="cstat-no" title="statement not covered" > let parsed = builder.parseExpression(el.shorthandId.value);</span>
|
|
1096
|
-
<span class="cstat-no" title="statement not covered" > node.rawShorthandId = parsed.value;</span>
|
|
1097
|
-
}
|
|
1098
|
-
|
|
1099
|
-
<span class="cstat-no" title="statement not covered" > if (el.shorthandClassNames) {</span>
|
|
1100
|
-
<span class="cstat-no" title="statement not covered" > node.rawShorthandClassNames = el.shorthandClassNames.map((className) => {</span>
|
|
1101
|
-
<span class="cstat-no" title="statement not covered" > let parsed = builder.parseExpression(className.value);</span>
|
|
1102
|
-
<span class="cstat-no" title="statement not covered" > return parsed.value;</span>
|
|
1103
|
-
});
|
|
1104
|
-
}
|
|
1105
|
-
} else {
|
|
1106
|
-
if (el.shorthandClassNames) {
|
|
1107
|
-
mergeShorthandClassNames(node, el.shorthandClassNames, context);
|
|
1108
|
-
}
|
|
1109
|
-
|
|
1110
|
-
if (el.shorthandId) {
|
|
1111
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (node.hasAttribute('id')) {
|
|
1112
|
-
<span class="cstat-no" title="statement not covered" > context.addError(node, 'A shorthand ID cannot be used in conjunction with the "id" attribute');</span>
|
|
1113
|
-
} else {
|
|
1114
|
-
node.setAttributeValue('id', builder.parseExpression(el.shorthandId.value));
|
|
1115
|
-
}
|
|
1116
|
-
}
|
|
1117
|
-
}
|
|
1118
|
-
|
|
1119
|
-
this.parentNode.appendChild(node);
|
|
1120
|
-
|
|
1121
|
-
this.stack.push({
|
|
1122
|
-
node: node,
|
|
1123
|
-
tag: null
|
|
1124
|
-
});
|
|
1125
|
-
}
|
|
1126
|
-
|
|
1127
|
-
handleEndElement(elementName) {
|
|
1128
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (this.raw !== true) {
|
|
1129
|
-
if (elementName === 'marko-compiler-options') {
|
|
1130
|
-
return;
|
|
1131
|
-
}
|
|
1132
|
-
}
|
|
1133
|
-
|
|
1134
|
-
this.prevTextNode = null;
|
|
1135
|
-
|
|
1136
|
-
this.stack.pop();
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
}
|
|
1140
|
-
|
|
1141
|
-
handleComment(comment) {
|
|
1142
|
-
this.prevTextNode = null;
|
|
1143
|
-
|
|
1144
|
-
var builder = this.context.builder;
|
|
1145
|
-
|
|
1146
|
-
var preserveComment = this.context.isPreserveComments() ||
|
|
1147
|
-
isIEConditionalComment(comment);
|
|
1148
|
-
|
|
1149
|
-
if (this.raw || preserveComment) {
|
|
1150
|
-
var commentNode = builder.htmlComment(builder.literal(comment));
|
|
1151
|
-
this.parentNode.appendChild(commentNode);
|
|
1152
|
-
}
|
|
1153
|
-
}
|
|
1154
|
-
|
|
1155
|
-
handleDeclaration<span class="fstat-no" title="function not covered" >(value) {</span>
|
|
1156
|
-
<span class="cstat-no" title="statement not covered" > this.prevTextNode = null;</span>
|
|
1157
|
-
|
|
1158
|
-
<span class="cstat-no" title="statement not covered" > var builder = this.context.builder;</span>
|
|
1159
|
-
|
|
1160
|
-
<span class="cstat-no" title="statement not covered" > var declarationNode = builder.declaration(builder.literal(value));</span>
|
|
1161
|
-
<span class="cstat-no" title="statement not covered" > this.parentNode.appendChild(declarationNode);</span>
|
|
1162
|
-
}
|
|
1163
|
-
|
|
1164
|
-
handleDocumentType(value) {
|
|
1165
|
-
this.prevTextNode = null;
|
|
1166
|
-
|
|
1167
|
-
var builder = this.context.builder;
|
|
1168
|
-
|
|
1169
|
-
var docTypeNode = builder.documentType(builder.literal(value));
|
|
1170
|
-
this.parentNode.appendChild(docTypeNode);
|
|
1171
|
-
}
|
|
1172
|
-
|
|
1173
|
-
handleBodyTextPlaceholder(expression, escape) {
|
|
1174
|
-
this.prevTextNode = null;
|
|
1175
|
-
var builder = this.context.builder;
|
|
1176
|
-
var parsedExpression = builder.parseExpression(expression);
|
|
1177
|
-
var preserveWhitespace = true;
|
|
1178
|
-
|
|
1179
|
-
var text = builder.text(parsedExpression, escape, preserveWhitespace);
|
|
1180
|
-
this.parentNode.appendChild(text);
|
|
1181
|
-
}
|
|
1182
|
-
|
|
1183
|
-
handleScriptlet(code) {
|
|
1184
|
-
this.prevTextNode = null;
|
|
1185
|
-
var builder = this.context.builder;
|
|
1186
|
-
var scriptlet = builder.scriptlet(code);
|
|
1187
|
-
this.parentNode.appendChild(scriptlet);
|
|
1188
|
-
}
|
|
1189
|
-
|
|
1190
|
-
handleError(event) {
|
|
1191
|
-
this.context.addError({
|
|
1192
|
-
message: event.message,
|
|
1193
|
-
code: event.code,
|
|
1194
|
-
pos: event.pos,
|
|
1195
|
-
endPos: event.endPos
|
|
1196
|
-
});
|
|
1197
|
-
}
|
|
1198
|
-
|
|
1199
|
-
get parentNode() {
|
|
1200
|
-
var last = this.stack[this.stack.length-1];
|
|
1201
|
-
return last.node;
|
|
1202
|
-
}
|
|
1203
|
-
|
|
1204
|
-
getParserStateForTag(el) {
|
|
1205
|
-
var attributes = el.attributes;
|
|
1206
|
-
|
|
1207
|
-
for (var i=0; i<attributes.length; i++) {
|
|
1208
|
-
var attr = attributes[i];
|
|
1209
|
-
var attrName = attr.name;
|
|
1210
|
-
if (attrName === 'marko-body') {
|
|
1211
|
-
var parseMode;
|
|
1212
|
-
|
|
1213
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (attr.literalValue) {
|
|
1214
|
-
parseMode = attr.literalValue;
|
|
1215
|
-
}
|
|
1216
|
-
|
|
1217
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (parseMode === 'static-text' ||
|
|
1218
|
-
parseMode === 'parsed-text' ||
|
|
1219
|
-
<span class="branch-2 cbranch-no" title="branch not covered" > parseMode === 'html')</span> {
|
|
1220
|
-
return parseMode;
|
|
1221
|
-
} else {
|
|
1222
|
-
<span class="cstat-no" title="statement not covered" > this.context.addError({</span>
|
|
1223
|
-
message: 'Value for "marko-body" should be one of the following: "static-text", "parsed-text", "html"',
|
|
1224
|
-
code: 'ERR_INVALID_ATTR'
|
|
1225
|
-
});
|
|
1226
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
1227
|
-
}
|
|
1228
|
-
} else if (attrName === 'marko-init') {
|
|
1229
|
-
return 'static-text';
|
|
1230
|
-
}
|
|
1231
|
-
}
|
|
1232
|
-
|
|
1233
|
-
var tagName = el.tagName;
|
|
1234
|
-
var tagDef = this.context.getTagDef(tagName);
|
|
1235
|
-
|
|
1236
|
-
if (tagDef) {
|
|
1237
|
-
var body = tagDef.body;
|
|
1238
|
-
if (body) {
|
|
1239
|
-
return body; // 'parsed-text' | 'static-text' | 'html'
|
|
1240
|
-
}
|
|
1241
|
-
}
|
|
1242
|
-
|
|
1243
|
-
return null; // Default parse state
|
|
1244
|
-
}
|
|
1245
|
-
|
|
1246
|
-
isOpenTagOnly(tagName) {
|
|
1247
|
-
var tagDef = this.context.getTagDef(tagName);
|
|
1248
|
-
return tagDef && tagDef.openTagOnly;
|
|
1249
|
-
}
|
|
1250
|
-
}
|
|
1251
|
-
|
|
1252
|
-
module.exports = Parser;</pre></td></tr>
|
|
1253
|
-
</table></pre>
|
|
1254
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
1255
|
-
</div><!-- /wrapper -->
|
|
1256
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
1257
|
-
Code coverage
|
|
1258
|
-
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Tue Oct 18 2016 14:11:32 GMT-0700 (PDT)
|
|
1259
|
-
</div>
|
|
1260
|
-
</div>
|
|
1261
|
-
<script src="../../prettify.js"></script>
|
|
1262
|
-
<script>
|
|
1263
|
-
window.onload = function () {
|
|
1264
|
-
if (typeof prettyPrint === 'function') {
|
|
1265
|
-
prettyPrint();
|
|
1266
|
-
}
|
|
1267
|
-
};
|
|
1268
|
-
</script>
|
|
1269
|
-
<script src="../../sorter.js"></script>
|
|
1270
|
-
</body>
|
|
1271
|
-
</html>
|