src/compiler/resolver.panack
Green: covered; red: known zero; amber: unavailable. Blank lines are outside the executable-start-line denominator.
1 import "parser.panack" 2 3 record ResolverSymbols { 4 declarations: Set[Str], 5 callables: Set[Str], 6 variants: Set[Str], 7 diagnostics: [Diagnostic] 8 } 9 10 record SourceUnit { 11 path: Str, 12 program: Program 13 } 14 15 record LoadedSource { 16 path: Str, 17 source: Str 18 } 19 20 record ModuleGraphState { 21 programs: [Program], 22 visiting: Set[Str], 23 visited: Set[Str], 24 diagnostics: [Diagnostic] 25 } 26 27 pure resolver_diagnostic(message: Str): Diagnostic { 28 Diagnostic(message, SourcePos("", 0, 1, 1)) 29 } 30 31 pure resolver_diagnostics_at(diagnostics: [Diagnostic], position: SourcePos): [Diagnostic] { 32 mut result: [Diagnostic] = [] 33 for diagnostic in diagnostics { 34 selected: SourcePos = if len(diagnostic.position.file) == 0 { position } else { diagnostic.position } 35 result = append(result, Diagnostic(diagnostic.message, selected)) 36 } 37 result 38 } 39 40 pure is_builtin(name: Str): Bool { 41 name == "async_fake_read" || name == "tcp_exchange" || name == "tcp_serve" || 42 name == "fs_read" || name == "fs_write" || name == "fs_metadata" || name == "fs_list" || name == "fs_create_directory" || name == "fs_remove_file" || name == "fs_remove_directory" || name == "fs_temp_file" || name == "fs_temp_directory" || name == "host_decode_utf8" || name == "host_sleep" || name == "process_run" || 43 name == "path_from_text" || name == "path_from_native" || name == "path_to_text" || 44 name == "path_native_bytes" || name == "path_display" || name == "path_absolute" || 45 name == "path_append" || name == "path_directory" || name == "path_filename" || 46 name == "path_current" || name == "duration_nanoseconds" || name == "duration_ticks" || 47 name == "duration_from_seconds" || name == "instant_now" || name == "instant_add" || 48 name == "instant_difference" || name == "instant_before" || 49 name == "$unit" || name == "nat" || name == "dec" || name == "quotient" || 50 name == "print" || name == "read_line" || name == "read_file" || 51 name == "write_file" || name == "len" || name == "append" || 52 name == "concat" || name == "slice" || name == "starts_with" || 53 name == "starts_with_at" || name == "reverse" || name == "is_digit" || name == "is_letter" || 54 name == "is_whitespace" || name == "map" || name == "map_put" || 55 name == "map_has" || name == "map_get" || name == "$method_put" || 56 name == "$method_has" || name == "$method_get" || name == "set" || 57 name == "set_add" || name == "set_has" || name == "$method_add" || 58 name == "$method_call" || name == "$method_map" || name == "$method_reduce" || name == "bytes" || 59 name == "byte_append" || name == "bytes_concat" || name == "byte_len" || 60 name == "byte_get" || name == "utf8_encode" || name == "utf8_decode" || 61 name == "read_bytes" || name == "write_bytes" || name == "nat_from_str" || 62 name == "command_args" || name == "environment_has" || 63 name == "environment_get" || name == "eprint" || name == "process_exit" || 64 name == "path_resolve" || name == "path_parent" || name == "path_join" || 65 name == "path_suffix" || name == "path_with_suffix" || 66 name == "path_is_absolute" || name == "file_exists" || name == "run_bytecode" || 67 name == "run_bytecode_args" 68 } 69 70 pure add_variant_symbol(symbols: ResolverSymbols, name: Str, position: SourcePos): ResolverSymbols { 71 mut diagnostics: [Diagnostic] = symbols.diagnostics 72 if name == "Path" || name == "Duration" || name == "Instant" || is_builtin(name) { 73 diagnostics = append(diagnostics, Diagnostic("variant constructor ${name} conflicts with a built-in", position)) 74 } else { 75 } 76 if set_has(symbols.variants, name) { 77 diagnostics = append(diagnostics, Diagnostic("variant constructor ${name} is declared by more than one enum", position)) 78 } else { 79 } 80 ResolverSymbols( 81 symbols.declarations, 82 set_add(symbols.callables, name), 83 set_add(symbols.variants, name), 84 diagnostics 85 ) 86 } 87 88 pure collect_variants(program: Program, positions: [SourcePos]): ResolverSymbols { 89 declarations: Set[Str] = set() 90 callables: Set[Str] = set() 91 variants: Set[Str] = set() 92 diagnostics: [Diagnostic] = [] 93 mut symbols: ResolverSymbols = ResolverSymbols(declarations, callables, variants, diagnostics) 94 mut index: Nat = 0 95 for declaration in program.declarations { 96 position: SourcePos = declaration_position(positions, index) 97 match declaration { 98 ImportDeclaration(path) => {}, 99 TypeDeclaration(name, base, guard) => {}, 100 RecordDeclaration(name, parameters, fields) => {}, 101 EnumDeclaration(name, parameters, declared_variants) => { 102 for variant in declared_variants { 103 symbols = add_variant_symbol(symbols, variant.name, position) 104 } 105 }, 106 FunctionDeclaration(name, parameters, return_type, is_pure, is_async, body, type_parameters) => {} 107 } 108 index = index + 1 109 } 110 symbols 111 } 112 113 pure add_top_level_symbol(symbols: ResolverSymbols, name: Str, callable: Bool, position: SourcePos): ResolverSymbols { 114 mut diagnostics: [Diagnostic] = symbols.diagnostics 115 if set_has(symbols.declarations, name) { 116 diagnostics = append(diagnostics, Diagnostic("top-level name ${name} is already declared", position)) 117 } else { 118 } 119 if name == "Path" || name == "Duration" || name == "Instant" || is_builtin(name) || set_has(symbols.variants, name) { 120 diagnostics = append(diagnostics, Diagnostic("top-level name ${name} conflicts with a constructor or built-in", position)) 121 } else { 122 } 123 next_callables: Set[Str] = if callable { set_add(symbols.callables, name) } else { symbols.callables } 124 ResolverSymbols( 125 set_add(symbols.declarations, name), 126 next_callables, 127 symbols.variants, 128 diagnostics 129 ) 130 } 131 132 pure collect_symbols_at(program: Program, positions: [SourcePos]): ResolverSymbols { 133 mut symbols: ResolverSymbols = collect_variants(program, positions) 134 mut index: Nat = 0 135 for declaration in program.declarations { 136 position: SourcePos = declaration_position(positions, index) 137 match declaration { 138 ImportDeclaration(path) => {}, 139 TypeDeclaration(name, base, guard) => { 140 symbols = add_top_level_symbol(symbols, name, false, position) 141 }, 142 RecordDeclaration(name, parameters, fields) => { 143 symbols = add_top_level_symbol(symbols, name, true, position) 144 }, 145 EnumDeclaration(name, parameters, variants) => { 146 symbols = add_top_level_symbol(symbols, name, false, position) 147 }, 148 FunctionDeclaration(name, parameters, return_type, is_pure, is_async, body, type_parameters) => { 149 symbols = add_top_level_symbol(symbols, name, true, position) 150 } 151 } 152 index = index + 1 153 } 154 symbols 155 } 156 157 pure collect_symbols(program: Program): ResolverSymbols { 158 collect_symbols_at(program, []) 159 } 160 161 // Synthetic AST callers have no declaration positions. Production loading 162 // supplies positions in declaration order before any flattening occurs. 163 pure declaration_position(positions: [SourcePos], index: Nat): SourcePos { 164 if index < len(positions) { positions[index] } else { SourcePos("", 0, 1, 1) } 165 } 166 167 pure append_program_declarations(programs: [Program]): Program { 168 mut declarations: [TopLevel] = [] 169 for program in programs { 170 for declaration in program.declarations { 171 declarations = append(declarations, declaration) 172 } 173 } 174 indexed_program(declarations) 175 } 176 177 pure visit_module(units: [SourceUnit], path: Str, state: ModuleGraphState): ModuleGraphState { 178 if set_has(state.visited, path) { 179 state 180 } else { 181 if set_has(state.visiting, path) { 182 diagnostics: [Diagnostic] = append(state.diagnostics, resolver_diagnostic("import cycle includes ${path}")) 183 ModuleGraphState(state.programs, state.visiting, state.visited, diagnostics) 184 } else { 185 mut found: Bool = false 186 mut selected: Program = indexed_program([]) 187 for unit in units { 188 if unit.path == path { 189 if found { 190 } else { 191 found = true 192 selected = unit.program 193 } 194 } else { 195 } 196 } 197 if !found { 198 diagnostics: [Diagnostic] = append(state.diagnostics, resolver_diagnostic("module ${path} is not loaded")) 199 ModuleGraphState(state.programs, state.visiting, state.visited, diagnostics) 200 } else { 201 active: Set[Str] = set_add(state.visiting, path) 202 mut current: ModuleGraphState = ModuleGraphState(state.programs, active, state.visited, state.diagnostics) 203 for declaration in selected.declarations { 204 match declaration { 205 ImportDeclaration(imported) => { 206 current = visit_module(units, imported, current) 207 }, 208 TypeDeclaration(name, base, guard) => {}, 209 RecordDeclaration(name, parameters, fields) => {}, 210 EnumDeclaration(name, parameters, variants) => {}, 211 FunctionDeclaration(name, parameters, return_type, is_pure, is_async, body, type_parameters) => {} 212 } 213 } 214 ModuleGraphState( 215 append(current.programs, selected), 216 state.visiting, 217 set_add(current.visited, path), 218 current.diagnostics 219 ) 220 } 221 } 222 } 223 } 224 225 pure duplicate_module_diagnostics(units: [SourceUnit]): [Diagnostic] { 226 paths: Set[Str] = set() 227 mut seen: Set[Str] = paths 228 mut diagnostics: [Diagnostic] = [] 229 for unit in units { 230 if set_has(seen, unit.path) { 231 path: Str = unit.path 232 diagnostics = append(diagnostics, resolver_diagnostic("module ${path} is loaded more than once")) 233 } else { 234 } 235 seen = set_add(seen, unit.path) 236 } 237 diagnostics 238 } 239 240 pure resolve_module_graph(units: [SourceUnit], entry: Str): [Diagnostic] { 241 empty: Set[Str] = set() 242 initial: ModuleGraphState = ModuleGraphState([], empty, empty, duplicate_module_diagnostics(units)) 243 graph: ModuleGraphState = visit_module(units, entry, initial) 244 program: Program = append_program_declarations(graph.programs) 245 concat(graph.diagnostics, resolve_program(program)) 246 } 247 248 pure resolve_expression(expression: Expr, scope: Set[Str], symbols: ResolverSymbols): [Diagnostic] { 249 mut diagnostics: [Diagnostic] = [] 250 match expression { 251 LocatedExpr(position, value) => { 252 diagnostics = resolver_diagnostics_at(resolve_expression(value, scope, symbols), position.start) 253 }, 254 NatExpr(value) => {}, 255 DecimalExpr(text) => {}, 256 StringExpr(text) => {}, 257 BoolExpr(value) => {}, 258 NameExpr(name) => { 259 if !set_has(scope, name) { 260 diagnostics = append(diagnostics, resolver_diagnostic("unknown name ${name}")) 261 } else { 262 } 263 }, 264 FunctionExpr(name) => { 265 if !set_has(symbols.callables, name) { 266 diagnostics = append(diagnostics, resolver_diagnostic("unknown function ${name}")) 267 } else {} 268 }, 269 ArrayExpr(items) => { 270 for item in items { 271 diagnostics = concat(diagnostics, resolve_expression(item, scope, symbols)) 272 } 273 }, 274 UnaryExpr(operator, operand) => { 275 diagnostics = resolve_expression(operand, scope, symbols) 276 }, 277 BinaryExpr(operator, left, right) => { 278 diagnostics = resolve_expression(left, scope, symbols) 279 diagnostics = concat(diagnostics, resolve_expression(right, scope, symbols)) 280 }, 281 DotCallExpr(target, name, arguments, types) => { 282 diagnostics = append(diagnostics, resolver_diagnostic("unresolved dot call requires module binding resolution")) 283 }, 284 CallExpr(name, arguments, type_arguments) => { 285 if !is_builtin(name) && !set_has(symbols.callables, name) { 286 diagnostics = append(diagnostics, resolver_diagnostic("unknown function ${name}")) 287 } else { 288 } 289 for argument in arguments { 290 diagnostics = concat(diagnostics, resolve_expression(argument, scope, symbols)) 291 } 292 }, 293 FieldExpr(target, field) => { 294 diagnostics = resolve_expression(target, scope, symbols) 295 }, 296 IndexExpr(target, index) => { 297 diagnostics = resolve_expression(target, scope, symbols) 298 diagnostics = concat(diagnostics, resolve_expression(index, scope, symbols)) 299 }, 300 IfExpr(condition, yes, no, has_else) => { 301 diagnostics = resolve_expression(condition, scope, symbols) 302 diagnostics = concat(diagnostics, resolve_block(yes, scope, symbols)) 303 diagnostics = concat(diagnostics, resolve_block(no, scope, symbols)) 304 }, 305 BlockExpr(block) => { 306 diagnostics = resolve_block(block, scope, symbols) 307 }, 308 MatchExpr(subject, arms) => { 309 diagnostics = resolve_expression(subject, scope, symbols) 310 for arm in arms { 311 variant: Str = arm.pattern.variant 312 if !set_has(symbols.variants, variant) { 313 diagnostics = append(diagnostics, resolver_diagnostic("unknown variant ${variant}")) 314 } else { 315 } 316 mut arm_scope: Set[Str] = scope 317 for binding in arm.pattern.bindings { 318 if set_has(arm_scope, binding) { 319 diagnostics = append(diagnostics, resolver_diagnostic("pattern binding ${binding} shadows an existing binding")) 320 } else { 321 } 322 arm_scope = set_add(arm_scope, binding) 323 } 324 diagnostics = concat(diagnostics, resolve_expression(arm.body, arm_scope, symbols)) 325 } 326 } 327 } 328 diagnostics 329 } 330 331 pure resolve_block(block: Block, parent_scope: Set[Str], symbols: ResolverSymbols): [Diagnostic] { 332 mut diagnostics: [Diagnostic] = [] 333 mut scope: Set[Str] = parent_scope 334 for statement in block.statements { 335 match statement { 336 BindingStatement(name, type_name, mutable, value) => { 337 diagnostics = concat(diagnostics, resolve_expression(value, scope, symbols)) 338 if set_has(scope, name) { 339 diagnostics = append(diagnostics, resolver_diagnostic("local ${name} shadows an existing binding")) 340 } else { 341 } 342 scope = set_add(scope, name) 343 }, 344 AssignmentStatement(name, value) => { 345 diagnostics = concat(diagnostics, resolve_expression(value, scope, symbols)) 346 scope = set_add(scope, name) 347 }, 348 ExpressionStatement(value) => { 349 diagnostics = concat(diagnostics, resolve_expression(value, scope, symbols)) 350 }, 351 WhileStatement(condition, body) => { 352 diagnostics = concat(diagnostics, resolve_expression(condition, scope, symbols)) 353 diagnostics = concat(diagnostics, resolve_block(body, scope, symbols)) 354 }, 355 ForStatement(name, iterable, body) => { 356 diagnostics = concat(diagnostics, resolve_expression(iterable, scope, symbols)) 357 mut body_scope: Set[Str] = scope 358 if set_has(scope, name) { 359 diagnostics = append(diagnostics, resolver_diagnostic("loop variable ${name} shadows an existing binding")) 360 } else { 361 } 362 body_scope = set_add(body_scope, name) 363 diagnostics = concat(diagnostics, resolve_block(body, body_scope, symbols)) 364 } 365 } 366 } 367 match block.value { 368 NoBlockValue() => {}, 369 TailBlockValue(value) => { 370 diagnostics = concat(diagnostics, resolve_expression(value, scope, symbols)) 371 } 372 } 373 diagnostics 374 } 375 376 pure resolve_function(parameters: [FunctionParameter], body: Block, symbols: ResolverSymbols): [Diagnostic] { 377 scope: Set[Str] = set() 378 mut function_scope: Set[Str] = scope 379 mut diagnostics: [Diagnostic] = [] 380 for parameter in parameters { 381 name: Str = parameter.name 382 if set_has(function_scope, name) { 383 diagnostics = append(diagnostics, resolver_diagnostic("parameter ${name} is already declared")) 384 } else { 385 } 386 function_scope = set_add(function_scope, name) 387 } 388 concat(diagnostics, resolve_block(body, function_scope, symbols)) 389 } 390 391 pure resolve_program_at(program: Program, positions: [SourcePos]): [Diagnostic] { 392 symbols: ResolverSymbols = collect_symbols_at(program, positions) 393 mut diagnostics: [Diagnostic] = symbols.diagnostics 394 for declaration in program.declarations { 395 match declaration { 396 ImportDeclaration(path) => {}, 397 TypeDeclaration(name, base, guard) => { 398 guard_scope: Set[Str] = set_add(set(), "value") 399 diagnostics = concat(diagnostics, resolve_expression(guard, guard_scope, symbols)) 400 }, 401 RecordDeclaration(name, parameters, fields) => {}, 402 EnumDeclaration(name, parameters, variants) => {}, 403 FunctionDeclaration(name, parameters, return_type, is_pure, is_async, body, type_parameters) => { 404 diagnostics = concat(diagnostics, resolve_function(parameters, body, symbols)) 405 } 406 } 407 } 408 diagnostics 409 } 410 411 pure resolve_program(program: Program): [Diagnostic] { 412 resolve_program_at(program, []) 413 } 414 415 pure render_resolver_diagnostics(diagnostics: [Diagnostic]): Str { 416 if len(diagnostics) == 0 { 417 "ok" 418 } else { 419 mut output: Str = "" 420 for diagnostic in diagnostics { 421 if len(output) > 0 { 422 output = output + "\n" 423 } else { 424 } 425 output = output + diagnostic_text(diagnostic) 426 } 427 output 428 } 429 } 430 431 pure resolve_loaded_sources(sources: [LoadedSource], entry: Str): Str { 432 mut units: [SourceUnit] = [] 433 mut diagnostics: [Diagnostic] = [] 434 for source in sources { 435 match lex_file(source.source, source.path) { 436 Ok(tokens) => { 437 match parse_program_complete(tokens) { 438 Ok(program) => { 439 units = append(units, SourceUnit(source.path, program)) 440 }, 441 Error(error) => { diagnostics = append(diagnostics, error); } 442 } 443 }, 444 Error(errors) => { 445 for error in errors { 446 diagnostics = append(diagnostics, error) 447 } 448 } 449 } 450 } 451 if len(diagnostics) > 0 { 452 render_resolver_diagnostics(diagnostics) 453 } else { 454 render_resolver_diagnostics(resolve_module_graph(units, entry)) 455 } 456 } 457 458 pure resolve_source(source: Str): Str { 459 match lex(source) { 460 Ok(tokens) => { 461 match parse_program_complete(tokens) { 462 Ok(program) => render_resolver_diagnostics(resolve_program(program)), 463 Error(error) => error.message 464 } 465 }, 466 Error(errors) => "lexing failed" 467 } 468 } 469
Functions
[
{
"id": "declaration/5",
"name": "resolver_diagnostic",
"line": 27,
"state": "covered",
"entries": "30"
},
{
"id": "declaration/6",
"name": "resolver_diagnostics_at",
"line": 31,
"state": "covered",
"entries": "75626"
},
{
"id": "declaration/7",
"name": "is_builtin",
"line": 40,
"state": "covered",
"entries": "36712"
},
{
"id": "declaration/8",
"name": "add_variant_symbol",
"line": 70,
"state": "covered",
"entries": "1001"
},
{
"id": "declaration/9",
"name": "collect_variants",
"line": 88,
"state": "covered",
"entries": "476"
},
{
"id": "declaration/10",
"name": "add_top_level_symbol",
"line": 113,
"state": "covered",
"entries": "2877"
},
{
"id": "declaration/11",
"name": "collect_symbols_at",
"line": 132,
"state": "covered",
"entries": "476"
},
{
"id": "declaration/12",
"name": "collect_symbols",
"line": 157,
"state": "covered",
"entries": "1"
},
{
"id": "declaration/13",
"name": "declaration_position",
"line": 163,
"state": "covered",
"entries": "6052"
},
{
"id": "declaration/14",
"name": "append_program_declarations",
"line": 167,
"state": "covered",
"entries": "30"
},
{
"id": "declaration/15",
"name": "visit_module",
"line": 177,
"state": "covered",
"entries": "22"
},
{
"id": "declaration/16",
"name": "duplicate_module_diagnostics",
"line": 225,
"state": "covered",
"entries": "9"
},
{
"id": "declaration/17",
"name": "resolve_module_graph",
"line": 240,
"state": "covered",
"entries": "8"
},
{
"id": "declaration/18",
"name": "resolve_expression",
"line": 248,
"state": "covered",
"entries": "151252"
},
{
"id": "declaration/19",
"name": "resolve_block",
"line": 331,
"state": "covered",
"entries": "11486"
},
{
"id": "declaration/20",
"name": "resolve_function",
"line": 376,
"state": "covered",
"entries": "2082"
},
{
"id": "declaration/21",
"name": "resolve_program_at",
"line": 391,
"state": "covered",
"entries": "475"
},
{
"id": "declaration/22",
"name": "resolve_program",
"line": 411,
"state": "covered",
"entries": "454"
},
{
"id": "declaration/23",
"name": "render_resolver_diagnostics",
"line": 415,
"state": "covered",
"entries": "238"
},
{
"id": "declaration/24",
"name": "resolve_loaded_sources",
"line": 431,
"state": "covered",
"entries": "10"
},
{
"id": "declaration/25",
"name": "resolve_source",
"line": 458,
"state": "covered",
"entries": "20"
}
]Source branch outcomes
[
{
"id": "declaration/6/statement/1/decision/body",
"outcome": "body",
"line": 33,
"state": "covered",
"hits": "26"
},
{
"id": "declaration/6/statement/1/decision/exit",
"outcome": "exit",
"line": 33,
"state": "covered",
"hits": "75626"
},
{
"id": "declaration/6/statement/1/body/statement/0/value/decision/true",
"outcome": "true",
"line": 34,
"state": "covered",
"hits": "25"
},
{
"id": "declaration/6/statement/1/body/statement/0/value/decision/false",
"outcome": "false",
"line": 34,
"state": "covered",
"hits": "1"
},
{
"id": "declaration/7/tail/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "21679"
},
{
"id": "declaration/7/tail/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "15033"
},
{
"id": "declaration/7/tail/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "21679"
},
{
"id": "declaration/7/tail/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "15033"
},
{
"id": "declaration/7/tail/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "21684"
},
{
"id": "declaration/7/tail/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "15028"
},
{
"id": "declaration/7/tail/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "21689"
},
{
"id": "declaration/7/tail/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "15023"
},
{
"id": "declaration/7/tail/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "21694"
},
{
"id": "declaration/7/tail/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "15018"
},
{
"id": "declaration/7/tail/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "21744"
},
{
"id": "declaration/7/tail/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "14968"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "21769"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "14943"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "21814"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "14898"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "21904"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "14808"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "21909"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "14803"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "21969"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "14743"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "22024"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "14688"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "22044"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "14668"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "22049"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "14663"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "22064"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "14648"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "22069"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "14643"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "22074"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "14638"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "22099"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "14613"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "22251"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "14461"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "22396"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "14316"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "22657"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "14055"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "22982"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "13730"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "23062"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "13650"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "23165"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "13547"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "23219"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "13493"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "23288"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "13424"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "23462"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "13250"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "23593"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "13119"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "23703"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "13009"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "23813"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "12899"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "23986"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "12726"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "24146"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "12566"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "24470"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "12242"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "24581"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "12131"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "24646"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "12066"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "24726"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "11986"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "24851"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "11861"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "25078"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "11634"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "25083"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "11629"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "25108"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "11604"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "25138"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "11574"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "25148"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "11564"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "25298"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "11414"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "25412"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "11300"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "25607"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "11105"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "26850"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "9862"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "29918"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "6794"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "34098"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "2614"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "34098"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "2614"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "34114"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "2598"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "34130"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "2582"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "35724"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "988"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "35936"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "776"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "35952"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "760"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36125"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "587"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36255"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "457"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36259"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "453"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36263"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "449"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36271"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "441"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36279"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "433"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36293"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "419"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36407"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "305"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36515"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "197"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36563"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "149"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36563"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "149"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36563"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "149"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36567"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "145"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36567"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "145"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36567"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "145"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36567"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "145"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36575"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "137"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36575"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "137"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36623"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "89"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36631"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "81"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36639"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "73"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36639"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "73"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36639"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "73"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36639"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "73"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36639"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "73"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36639"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "73"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36639"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "73"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36663"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "49"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36671"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "41"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36683"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "29"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36707"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "5"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36707"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "5"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 41,
"state": "covered",
"hits": "36707"
},
{
"id": "declaration/7/tail/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 41,
"state": "covered",
"hits": "5"
},
{
"id": "declaration/8/statement/1/value/decision/true",
"outcome": "true",
"line": 72,
"state": "covered",
"hits": "1"
},
{
"id": "declaration/8/statement/1/value/decision/false",
"outcome": "false",
"line": 72,
"state": "covered",
"hits": "1000"
},
{
"id": "declaration/8/statement/1/value/condition/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 72,
"state": "covered",
"hits": "1001"
},
{
"id": "declaration/8/statement/1/value/condition/decision/skip-right",
"outcome": "skip-right",
"line": 72,
"state": "zero",
"hits": "0"
},
{
"id": "declaration/8/statement/1/value/condition/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 72,
"state": "covered",
"hits": "1001"
},
{
"id": "declaration/8/statement/1/value/condition/left/decision/skip-right",
"outcome": "skip-right",
"line": 72,
"state": "zero",
"hits": "0"
},
{
"id": "declaration/8/statement/1/value/condition/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 72,
"state": "covered",
"hits": "1001"
},
{
"id": "declaration/8/statement/1/value/condition/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 72,
"state": "zero",
"hits": "0"
},
{
"id": "declaration/8/statement/2/value/decision/true",
"outcome": "true",
"line": 76,
"state": "covered",
"hits": "3"
},
{
"id": "declaration/8/statement/2/value/decision/false",
"outcome": "false",
"line": 76,
"state": "covered",
"hits": "998"
},
{
"id": "declaration/9/statement/6/decision/body",
"outcome": "body",
"line": 95,
"state": "covered",
"hits": "3026"
},
{
"id": "declaration/9/statement/6/decision/exit",
"outcome": "exit",
"line": 95,
"state": "covered",
"hits": "476"
},
{
"id": "declaration/9/statement/6/body/statement/1/value/arm/0",
"outcome": "ImportDeclaration",
"line": 98,
"state": "covered",
"hits": "149"
},
{
"id": "declaration/9/statement/6/body/statement/1/value/arm/1",
"outcome": "TypeDeclaration",
"line": 99,
"state": "covered",
"hits": "40"
},
{
"id": "declaration/9/statement/6/body/statement/1/value/arm/2",
"outcome": "RecordDeclaration",
"line": 100,
"state": "covered",
"hits": "373"
},
{
"id": "declaration/9/statement/6/body/statement/1/value/arm/3",
"outcome": "EnumDeclaration",
"line": 101,
"state": "covered",
"hits": "380"
},
{
"id": "declaration/9/statement/6/body/statement/1/value/arm/3/body/block/statement/0/decision/body",
"outcome": "body",
"line": 102,
"state": "covered",
"hits": "1001"
},
{
"id": "declaration/9/statement/6/body/statement/1/value/arm/3/body/block/statement/0/decision/exit",
"outcome": "exit",
"line": 102,
"state": "covered",
"hits": "380"
},
{
"id": "declaration/9/statement/6/body/statement/1/value/arm/4",
"outcome": "FunctionDeclaration",
"line": 106,
"state": "covered",
"hits": "2084"
},
{
"id": "declaration/10/statement/1/value/decision/true",
"outcome": "true",
"line": 115,
"state": "covered",
"hits": "14"
},
{
"id": "declaration/10/statement/1/value/decision/false",
"outcome": "false",
"line": 115,
"state": "covered",
"hits": "2863"
},
{
"id": "declaration/10/statement/2/value/decision/true",
"outcome": "true",
"line": 119,
"state": "covered",
"hits": "6"
},
{
"id": "declaration/10/statement/2/value/decision/false",
"outcome": "false",
"line": 119,
"state": "covered",
"hits": "2871"
},
{
"id": "declaration/10/statement/2/value/condition/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 119,
"state": "covered",
"hits": "2873"
},
{
"id": "declaration/10/statement/2/value/condition/decision/skip-right",
"outcome": "skip-right",
"line": 119,
"state": "covered",
"hits": "4"
},
{
"id": "declaration/10/statement/2/value/condition/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 119,
"state": "covered",
"hits": "2874"
},
{
"id": "declaration/10/statement/2/value/condition/left/decision/skip-right",
"outcome": "skip-right",
"line": 119,
"state": "covered",
"hits": "3"
},
{
"id": "declaration/10/statement/2/value/condition/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 119,
"state": "covered",
"hits": "2875"
},
{
"id": "declaration/10/statement/2/value/condition/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 119,
"state": "covered",
"hits": "2"
},
{
"id": "declaration/10/statement/2/value/condition/left/left/left/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 119,
"state": "covered",
"hits": "2876"
},
{
"id": "declaration/10/statement/2/value/condition/left/left/left/decision/skip-right",
"outcome": "skip-right",
"line": 119,
"state": "covered",
"hits": "1"
},
{
"id": "declaration/10/statement/3/value/decision/true",
"outcome": "true",
"line": 123,
"state": "covered",
"hits": "2457"
},
{
"id": "declaration/10/statement/3/value/decision/false",
"outcome": "false",
"line": 123,
"state": "covered",
"hits": "420"
},
{
"id": "declaration/11/statement/2/decision/body",
"outcome": "body",
"line": 135,
"state": "covered",
"hits": "3026"
},
{
"id": "declaration/11/statement/2/decision/exit",
"outcome": "exit",
"line": 135,
"state": "covered",
"hits": "476"
},
{
"id": "declaration/11/statement/2/body/statement/1/value/arm/0",
"outcome": "ImportDeclaration",
"line": 138,
"state": "covered",
"hits": "149"
},
{
"id": "declaration/11/statement/2/body/statement/1/value/arm/1",
"outcome": "TypeDeclaration",
"line": 139,
"state": "covered",
"hits": "40"
},
{
"id": "declaration/11/statement/2/body/statement/1/value/arm/2",
"outcome": "RecordDeclaration",
"line": 142,
"state": "covered",
"hits": "373"
},
{
"id": "declaration/11/statement/2/body/statement/1/value/arm/3",
"outcome": "EnumDeclaration",
"line": 145,
"state": "covered",
"hits": "380"
},
{
"id": "declaration/11/statement/2/body/statement/1/value/arm/4",
"outcome": "FunctionDeclaration",
"line": 148,
"state": "covered",
"hits": "2084"
},
{
"id": "declaration/13/tail/decision/true",
"outcome": "true",
"line": 164,
"state": "covered",
"hits": "1820"
},
{
"id": "declaration/13/tail/decision/false",
"outcome": "false",
"line": 164,
"state": "covered",
"hits": "4232"
},
{
"id": "declaration/14/statement/1/decision/body",
"outcome": "body",
"line": 169,
"state": "covered",
"hits": "114"
},
{
"id": "declaration/14/statement/1/decision/exit",
"outcome": "exit",
"line": 169,
"state": "covered",
"hits": "30"
},
{
"id": "declaration/14/statement/1/body/statement/0/decision/body",
"outcome": "body",
"line": 170,
"state": "covered",
"hits": "940"
},
{
"id": "declaration/14/statement/1/body/statement/0/decision/exit",
"outcome": "exit",
"line": 170,
"state": "covered",
"hits": "114"
},
{
"id": "declaration/15/tail/decision/true",
"outcome": "true",
"line": 178,
"state": "covered",
"hits": "1"
},
{
"id": "declaration/15/tail/decision/false",
"outcome": "false",
"line": 178,
"state": "covered",
"hits": "21"
},
{
"id": "declaration/15/tail/false/tail/decision/true",
"outcome": "true",
"line": 181,
"state": "covered",
"hits": "1"
},
{
"id": "declaration/15/tail/false/tail/decision/false",
"outcome": "false",
"line": 181,
"state": "covered",
"hits": "20"
},
{
"id": "declaration/15/tail/false/tail/false/statement/2/decision/body",
"outcome": "body",
"line": 187,
"state": "covered",
"hits": "54"
},
{
"id": "declaration/15/tail/false/tail/false/statement/2/decision/exit",
"outcome": "exit",
"line": 187,
"state": "covered",
"hits": "20"
},
{
"id": "declaration/15/tail/false/tail/false/statement/2/body/tail/decision/true",
"outcome": "true",
"line": 188,
"state": "covered",
"hits": "19"
},
{
"id": "declaration/15/tail/false/tail/false/statement/2/body/tail/decision/false",
"outcome": "false",
"line": 188,
"state": "covered",
"hits": "35"
},
{
"id": "declaration/15/tail/false/tail/false/statement/2/body/tail/true/tail/decision/true",
"outcome": "true",
"line": 189,
"state": "covered",
"hits": "1"
},
{
"id": "declaration/15/tail/false/tail/false/statement/2/body/tail/true/tail/decision/false",
"outcome": "false",
"line": 189,
"state": "covered",
"hits": "18"
},
{
"id": "declaration/15/tail/false/tail/false/tail/decision/true",
"outcome": "true",
"line": 197,
"state": "covered",
"hits": "2"
},
{
"id": "declaration/15/tail/false/tail/false/tail/decision/false",
"outcome": "false",
"line": 197,
"state": "covered",
"hits": "18"
},
{
"id": "declaration/15/tail/false/tail/false/tail/false/statement/2/decision/body",
"outcome": "body",
"line": 203,
"state": "covered",
"hits": "30"
},
{
"id": "declaration/15/tail/false/tail/false/tail/false/statement/2/decision/exit",
"outcome": "exit",
"line": 203,
"state": "covered",
"hits": "18"
},
{
"id": "declaration/15/tail/false/tail/false/tail/false/statement/2/body/tail/arm/0",
"outcome": "ImportDeclaration",
"line": 205,
"state": "covered",
"hits": "13"
},
{
"id": "declaration/15/tail/false/tail/false/tail/false/statement/2/body/tail/arm/1",
"outcome": "TypeDeclaration",
"line": 208,
"state": "zero",
"hits": "0"
},
{
"id": "declaration/15/tail/false/tail/false/tail/false/statement/2/body/tail/arm/2",
"outcome": "RecordDeclaration",
"line": 209,
"state": "zero",
"hits": "0"
},
{
"id": "declaration/15/tail/false/tail/false/tail/false/statement/2/body/tail/arm/3",
"outcome": "EnumDeclaration",
"line": 210,
"state": "zero",
"hits": "0"
},
{
"id": "declaration/15/tail/false/tail/false/tail/false/statement/2/body/tail/arm/4",
"outcome": "FunctionDeclaration",
"line": 211,
"state": "covered",
"hits": "17"
},
{
"id": "declaration/16/statement/3/decision/body",
"outcome": "body",
"line": 229,
"state": "covered",
"hits": "21"
},
{
"id": "declaration/16/statement/3/decision/exit",
"outcome": "exit",
"line": 229,
"state": "covered",
"hits": "9"
},
{
"id": "declaration/16/statement/3/body/statement/0/value/decision/true",
"outcome": "true",
"line": 230,
"state": "covered",
"hits": "1"
},
{
"id": "declaration/16/statement/3/body/statement/0/value/decision/false",
"outcome": "false",
"line": 230,
"state": "covered",
"hits": "20"
},
{
"id": "declaration/18/statement/1/value/arm/0",
"outcome": "LocatedExpr",
"line": 251,
"state": "covered",
"hits": "75626"
},
{
"id": "declaration/18/statement/1/value/arm/1",
"outcome": "NatExpr",
"line": 254,
"state": "covered",
"hits": "4364"
},
{
"id": "declaration/18/statement/1/value/arm/2",
"outcome": "DecimalExpr",
"line": 255,
"state": "covered",
"hits": "15"
},
{
"id": "declaration/18/statement/1/value/arm/3",
"outcome": "StringExpr",
"line": 256,
"state": "covered",
"hits": "5017"
},
{
"id": "declaration/18/statement/1/value/arm/4",
"outcome": "BoolExpr",
"line": 257,
"state": "covered",
"hits": "1130"
},
{
"id": "declaration/18/statement/1/value/arm/5",
"outcome": "NameExpr",
"line": 258,
"state": "covered",
"hits": "27459"
},
{
"id": "declaration/18/statement/1/value/arm/5/body/block/tail/decision/true",
"outcome": "true",
"line": 259,
"state": "covered",
"hits": "7"
},
{
"id": "declaration/18/statement/1/value/arm/5/body/block/tail/decision/false",
"outcome": "false",
"line": 259,
"state": "covered",
"hits": "27452"
},
{
"id": "declaration/18/statement/1/value/arm/6",
"outcome": "FunctionExpr",
"line": 264,
"state": "covered",
"hits": "73"
},
{
"id": "declaration/18/statement/1/value/arm/6/body/block/tail/decision/true",
"outcome": "true",
"line": 265,
"state": "zero",
"hits": "0"
},
{
"id": "declaration/18/statement/1/value/arm/6/body/block/tail/decision/false",
"outcome": "false",
"line": 265,
"state": "covered",
"hits": "73"
},
{
"id": "declaration/18/statement/1/value/arm/7",
"outcome": "ArrayExpr",
"line": 269,
"state": "covered",
"hits": "1028"
},
{
"id": "declaration/18/statement/1/value/arm/7/body/block/statement/0/decision/body",
"outcome": "body",
"line": 270,
"state": "covered",
"hits": "428"
},
{
"id": "declaration/18/statement/1/value/arm/7/body/block/statement/0/decision/exit",
"outcome": "exit",
"line": 270,
"state": "covered",
"hits": "1028"
},
{
"id": "declaration/18/statement/1/value/arm/8",
"outcome": "UnaryExpr",
"line": 274,
"state": "covered",
"hits": "402"
},
{
"id": "declaration/18/statement/1/value/arm/9",
"outcome": "BinaryExpr",
"line": 277,
"state": "covered",
"hits": "9228"
},
{
"id": "declaration/18/statement/1/value/arm/10",
"outcome": "DotCallExpr",
"line": 281,
"state": "zero",
"hits": "0"
},
{
"id": "declaration/18/statement/1/value/arm/11",
"outcome": "CallExpr",
"line": 284,
"state": "covered",
"hits": "13307"
},
{
"id": "declaration/18/statement/1/value/arm/11/body/block/statement/0/value/decision/true",
"outcome": "true",
"line": 285,
"state": "covered",
"hits": "9"
},
{
"id": "declaration/18/statement/1/value/arm/11/body/block/statement/0/value/decision/false",
"outcome": "false",
"line": 285,
"state": "covered",
"hits": "13298"
},
{
"id": "declaration/18/statement/1/value/arm/11/body/block/statement/0/value/condition/decision/evaluate-right",
"outcome": "evaluate-right",
"line": 285,
"state": "covered",
"hits": "7735"
},
{
"id": "declaration/18/statement/1/value/arm/11/body/block/statement/0/value/condition/decision/skip-right",
"outcome": "skip-right",
"line": 285,
"state": "covered",
"hits": "5572"
},
{
"id": "declaration/18/statement/1/value/arm/11/body/block/statement/1/decision/body",
"outcome": "body",
"line": 289,
"state": "covered",
"hits": "23527"
},
{
"id": "declaration/18/statement/1/value/arm/11/body/block/statement/1/decision/exit",
"outcome": "exit",
"line": 289,
"state": "covered",
"hits": "13307"
},
{
"id": "declaration/18/statement/1/value/arm/12",
"outcome": "FieldExpr",
"line": 293,
"state": "covered",
"hits": "6289"
},
{
"id": "declaration/18/statement/1/value/arm/13",
"outcome": "IndexExpr",
"line": 296,
"state": "covered",
"hits": "1289"
},
{
"id": "declaration/18/statement/1/value/arm/14",
"outcome": "IfExpr",
"line": 300,
"state": "covered",
"hits": "3188"
},
{
"id": "declaration/18/statement/1/value/arm/15",
"outcome": "BlockExpr",
"line": 305,
"state": "covered",
"hits": "2021"
},
{
"id": "declaration/18/statement/1/value/arm/16",
"outcome": "MatchExpr",
"line": 308,
"state": "covered",
"hits": "816"
},
{
"id": "declaration/18/statement/1/value/arm/16/body/block/statement/1/decision/body",
"outcome": "body",
"line": 310,
"state": "covered",
"hits": "3310"
},
{
"id": "declaration/18/statement/1/value/arm/16/body/block/statement/1/decision/exit",
"outcome": "exit",
"line": 310,
"state": "covered",
"hits": "816"
},
{
"id": "declaration/18/statement/1/value/arm/16/body/block/statement/1/body/statement/1/value/decision/true",
"outcome": "true",
"line": 312,
"state": "covered",
"hits": "1"
},
{
"id": "declaration/18/statement/1/value/arm/16/body/block/statement/1/body/statement/1/value/decision/false",
"outcome": "false",
"line": 312,
"state": "covered",
"hits": "3309"
},
{
"id": "declaration/18/statement/1/value/arm/16/body/block/statement/1/body/statement/3/decision/body",
"outcome": "body",
"line": 317,
"state": "covered",
"hits": "4833"
},
{
"id": "declaration/18/statement/1/value/arm/16/body/block/statement/1/body/statement/3/decision/exit",
"outcome": "exit",
"line": 317,
"state": "covered",
"hits": "3310"
},
{
"id": "declaration/18/statement/1/value/arm/16/body/block/statement/1/body/statement/3/body/statement/0/value/decision/true",
"outcome": "true",
"line": 318,
"state": "covered",
"hits": "1"
},
{
"id": "declaration/18/statement/1/value/arm/16/body/block/statement/1/body/statement/3/body/statement/0/value/decision/false",
"outcome": "false",
"line": 318,
"state": "covered",
"hits": "4832"
},
{
"id": "declaration/19/statement/2/decision/body",
"outcome": "body",
"line": 334,
"state": "covered",
"hits": "10565"
},
{
"id": "declaration/19/statement/2/decision/exit",
"outcome": "exit",
"line": 334,
"state": "covered",
"hits": "11486"
},
{
"id": "declaration/19/statement/2/body/tail/arm/0",
"outcome": "BindingStatement",
"line": 336,
"state": "covered",
"hits": "3732"
},
{
"id": "declaration/19/statement/2/body/tail/arm/0/body/block/statement/1/value/decision/true",
"outcome": "true",
"line": 338,
"state": "covered",
"hits": "4"
},
{
"id": "declaration/19/statement/2/body/tail/arm/0/body/block/statement/1/value/decision/false",
"outcome": "false",
"line": 338,
"state": "covered",
"hits": "3728"
},
{
"id": "declaration/19/statement/2/body/tail/arm/1",
"outcome": "AssignmentStatement",
"line": 344,
"state": "covered",
"hits": "4434"
},
{
"id": "declaration/19/statement/2/body/tail/arm/2",
"outcome": "ExpressionStatement",
"line": 348,
"state": "covered",
"hits": "1392"
},
{
"id": "declaration/19/statement/2/body/tail/arm/3",
"outcome": "WhileStatement",
"line": 351,
"state": "covered",
"hits": "265"
},
{
"id": "declaration/19/statement/2/body/tail/arm/4",
"outcome": "ForStatement",
"line": 355,
"state": "covered",
"hits": "742"
},
{
"id": "declaration/19/statement/2/body/tail/arm/4/body/block/statement/2/value/decision/true",
"outcome": "true",
"line": 358,
"state": "covered",
"hits": "3"
},
{
"id": "declaration/19/statement/2/body/tail/arm/4/body/block/statement/2/value/decision/false",
"outcome": "false",
"line": 358,
"state": "covered",
"hits": "739"
},
{
"id": "declaration/19/statement/3/value/arm/0",
"outcome": "NoBlockValue",
"line": 368,
"state": "covered",
"hits": "5457"
},
{
"id": "declaration/19/statement/3/value/arm/1",
"outcome": "TailBlockValue",
"line": 369,
"state": "covered",
"hits": "6029"
},
{
"id": "declaration/20/statement/3/decision/body",
"outcome": "body",
"line": 380,
"state": "covered",
"hits": "2844"
},
{
"id": "declaration/20/statement/3/decision/exit",
"outcome": "exit",
"line": 380,
"state": "covered",
"hits": "2082"
},
{
"id": "declaration/20/statement/3/body/statement/1/value/decision/true",
"outcome": "true",
"line": 382,
"state": "covered",
"hits": "1"
},
{
"id": "declaration/20/statement/3/body/statement/1/value/decision/false",
"outcome": "false",
"line": 382,
"state": "covered",
"hits": "2843"
},
{
"id": "declaration/21/statement/2/decision/body",
"outcome": "body",
"line": 394,
"state": "covered",
"hits": "3016"
},
{
"id": "declaration/21/statement/2/decision/exit",
"outcome": "exit",
"line": 394,
"state": "covered",
"hits": "475"
},
{
"id": "declaration/21/statement/2/body/tail/arm/0",
"outcome": "ImportDeclaration",
"line": 396,
"state": "covered",
"hits": "147"
},
{
"id": "declaration/21/statement/2/body/tail/arm/1",
"outcome": "TypeDeclaration",
"line": 397,
"state": "covered",
"hits": "38"
},
{
"id": "declaration/21/statement/2/body/tail/arm/2",
"outcome": "RecordDeclaration",
"line": 401,
"state": "covered",
"hits": "371"
},
{
"id": "declaration/21/statement/2/body/tail/arm/3",
"outcome": "EnumDeclaration",
"line": 402,
"state": "covered",
"hits": "378"
},
{
"id": "declaration/21/statement/2/body/tail/arm/4",
"outcome": "FunctionDeclaration",
"line": 403,
"state": "covered",
"hits": "2082"
},
{
"id": "declaration/23/tail/decision/true",
"outcome": "true",
"line": 416,
"state": "covered",
"hits": "49"
},
{
"id": "declaration/23/tail/decision/false",
"outcome": "false",
"line": 416,
"state": "covered",
"hits": "189"
},
{
"id": "declaration/23/tail/false/statement/1/decision/body",
"outcome": "body",
"line": 420,
"state": "covered",
"hits": "225"
},
{
"id": "declaration/23/tail/false/statement/1/decision/exit",
"outcome": "exit",
"line": 420,
"state": "covered",
"hits": "189"
},
{
"id": "declaration/23/tail/false/statement/1/body/statement/0/value/decision/true",
"outcome": "true",
"line": 421,
"state": "covered",
"hits": "36"
},
{
"id": "declaration/23/tail/false/statement/1/body/statement/0/value/decision/false",
"outcome": "false",
"line": 421,
"state": "covered",
"hits": "189"
},
{
"id": "declaration/24/statement/2/decision/body",
"outcome": "body",
"line": 434,
"state": "covered",
"hits": "21"
},
{
"id": "declaration/24/statement/2/decision/exit",
"outcome": "exit",
"line": 434,
"state": "covered",
"hits": "10"
},
{
"id": "declaration/24/statement/2/body/tail/arm/0",
"outcome": "Ok",
"line": 436,
"state": "covered",
"hits": "20"
},
{
"id": "declaration/24/statement/2/body/tail/arm/0/body/block/tail/arm/0",
"outcome": "Ok",
"line": 438,
"state": "covered",
"hits": "19"
},
{
"id": "declaration/24/statement/2/body/tail/arm/0/body/block/tail/arm/1",
"outcome": "Error",
"line": 441,
"state": "covered",
"hits": "1"
},
{
"id": "declaration/24/statement/2/body/tail/arm/1",
"outcome": "Error",
"line": 444,
"state": "covered",
"hits": "1"
},
{
"id": "declaration/24/statement/2/body/tail/arm/1/body/block/statement/0/decision/body",
"outcome": "body",
"line": 445,
"state": "covered",
"hits": "1"
},
{
"id": "declaration/24/statement/2/body/tail/arm/1/body/block/statement/0/decision/exit",
"outcome": "exit",
"line": 445,
"state": "covered",
"hits": "1"
},
{
"id": "declaration/24/tail/decision/true",
"outcome": "true",
"line": 451,
"state": "covered",
"hits": "2"
},
{
"id": "declaration/24/tail/decision/false",
"outcome": "false",
"line": 451,
"state": "covered",
"hits": "8"
},
{
"id": "declaration/25/tail/arm/0",
"outcome": "Ok",
"line": 460,
"state": "covered",
"hits": "19"
},
{
"id": "declaration/25/tail/arm/0/body/block/tail/arm/0",
"outcome": "Ok",
"line": 462,
"state": "covered",
"hits": "14"
},
{
"id": "declaration/25/tail/arm/0/body/block/tail/arm/1",
"outcome": "Error",
"line": 463,
"state": "covered",
"hits": "5"
},
{
"id": "declaration/25/tail/arm/1",
"outcome": "Error",
"line": 466,
"state": "covered",
"hits": "1"
}
]Reviewed declaration exclusions
[
{
"id": "declaration/0",
"reason": "import",
"line": 1
},
{
"id": "declaration/1",
"reason": "record-declaration",
"line": 3
},
{
"id": "declaration/2",
"reason": "record-declaration",
"line": 10
},
{
"id": "declaration/3",
"reason": "record-declaration",
"line": 15
},
{
"id": "declaration/4",
"reason": "record-declaration",
"line": 20
}
]