devt.de/krotik/ecal/cli/tool/debug.go:56: NewCLIDebugInterpreter 100.0% devt.de/krotik/ecal/cli/tool/debug.go:63: ParseArgs 100.0% devt.de/krotik/ecal/cli/tool/debug.go:82: Interpret 100.0% devt.de/krotik/ecal/cli/tool/debug.go:137: StopDebugServer 100.0% devt.de/krotik/ecal/cli/tool/debug.go:147: LoadInitialFile 100.0% devt.de/krotik/ecal/cli/tool/debug.go:157: CanHandle 100.0% devt.de/krotik/ecal/cli/tool/debug.go:164: Handle 100.0% devt.de/krotik/ecal/cli/tool/debug.go:226: Run 100.0% devt.de/krotik/ecal/cli/tool/debug.go:263: HandleConnection 100.0% devt.de/krotik/ecal/cli/tool/debug.go:350: WriteString 100.0% devt.de/krotik/ecal/cli/tool/format.go:27: Format 100.0% devt.de/krotik/ecal/cli/tool/format.go:61: FormatFiles 100.0% devt.de/krotik/ecal/cli/tool/helper.go:69: matchesFulltextSearch 100.0% devt.de/krotik/ecal/cli/tool/helper.go:89: fillTableRow 100.0% devt.de/krotik/ecal/cli/tool/interpret.go:85: NewCLIInterpreter 100.0% devt.de/krotik/ecal/cli/tool/interpret.go:94: ParseArgs 100.0% devt.de/krotik/ecal/cli/tool/interpret.go:134: CreateRuntimeProvider 100.0% devt.de/krotik/ecal/cli/tool/interpret.go:182: LoadInitialFile 100.0% devt.de/krotik/ecal/cli/tool/interpret.go:228: CreateTerm 100.0% devt.de/krotik/ecal/cli/tool/interpret.go:242: Interpret 100.0% devt.de/krotik/ecal/cli/tool/interpret.go:323: LoadStdlibPlugins 100.0% devt.de/krotik/ecal/cli/tool/interpret.go:361: isExitLine 100.0% devt.de/krotik/ecal/cli/tool/interpret.go:370: HandleInput 100.0% devt.de/krotik/ecal/cli/tool/interpret.go:435: handleSpecialStatements 100.0% devt.de/krotik/ecal/cli/tool/interpret.go:477: displaySymbols 100.0% devt.de/krotik/ecal/cli/tool/interpret.go:519: displayPackage 100.0% devt.de/krotik/ecal/cli/tool/pack.go:57: NewCLIPacker 100.0% devt.de/krotik/ecal/cli/tool/pack.go:64: ParseArgs 100.0% devt.de/krotik/ecal/cli/tool/pack.go:111: Pack 100.0% devt.de/krotik/ecal/cli/tool/pack.go:171: packFiles 100.0% devt.de/krotik/ecal/cli/tool/pack.go:214: RunPackedBinary 100.0% devt.de/krotik/ecal/cli/tool/pack.go:301: runInterpreter 100.0% devt.de/krotik/ecal/config/config.go:56: init 100.0% devt.de/krotik/ecal/config/config.go:71: Str 100.0% devt.de/krotik/ecal/config/config.go:78: Int 100.0% devt.de/krotik/ecal/config/config.go:90: Bool 100.0% devt.de/krotik/ecal/engine/debug.go:44: MonitorEvent 100.0% devt.de/krotik/ecal/engine/debug.go:55: Reset 100.0% devt.de/krotik/ecal/engine/debug.go:66: record 100.0% devt.de/krotik/ecal/engine/debug.go:109: stateMatch 100.0% devt.de/krotik/ecal/engine/event.go:32: NewEvent 100.0% devt.de/krotik/ecal/engine/event.go:39: Name 100.0% devt.de/krotik/ecal/engine/event.go:46: Kind 100.0% devt.de/krotik/ecal/engine/event.go:53: State 100.0% devt.de/krotik/ecal/engine/event.go:57: String 100.0% devt.de/krotik/ecal/engine/monitor.go:120: newMonitorBase 100.0% devt.de/krotik/ecal/engine/monitor.go:136: NewChildMonitor 100.0% devt.de/krotik/ecal/engine/monitor.go:147: ID 100.0% devt.de/krotik/ecal/engine/monitor.go:154: RootMonitor 100.0% devt.de/krotik/ecal/engine/monitor.go:161: Scope 100.0% devt.de/krotik/ecal/engine/monitor.go:168: Priority 100.0% devt.de/krotik/ecal/engine/monitor.go:175: IsActivated 100.0% devt.de/krotik/ecal/engine/monitor.go:182: IsFinished 100.0% devt.de/krotik/ecal/engine/monitor.go:189: Activate 100.0% devt.de/krotik/ecal/engine/monitor.go:202: Skip 100.0% devt.de/krotik/ecal/engine/monitor.go:214: Finish 100.0% devt.de/krotik/ecal/engine/monitor.go:225: Errors 100.0% devt.de/krotik/ecal/engine/monitor.go:233: SetErrors 100.0% devt.de/krotik/ecal/engine/monitor.go:241: EventPath 100.0% devt.de/krotik/ecal/engine/monitor.go:264: EventPathString 100.0% devt.de/krotik/ecal/engine/monitor.go:283: String 100.0% devt.de/krotik/ecal/engine/monitor.go:309: newRootMonitor 100.0% devt.de/krotik/ecal/engine/monitor.go:329: SetFinishHandler 100.0% devt.de/krotik/ecal/engine/monitor.go:336: HighestPriority 100.0% devt.de/krotik/ecal/engine/monitor.go:350: AllErrors 100.0% devt.de/krotik/ecal/engine/monitor.go:376: descendantCreated 100.0% devt.de/krotik/ecal/engine/monitor.go:386: descendantActivated 100.0% devt.de/krotik/ecal/engine/monitor.go:402: descendantFailed 100.0% devt.de/krotik/ecal/engine/monitor.go:413: descendantFinished 100.0% devt.de/krotik/ecal/engine/monitor.go:460: newMonID 100.0% devt.de/krotik/ecal/engine/pool/threadpool.go:82: Clear 100.0% devt.de/krotik/ecal/engine/pool/threadpool.go:89: Pop 100.0% devt.de/krotik/ecal/engine/pool/threadpool.go:103: Push 100.0% devt.de/krotik/ecal/engine/pool/threadpool.go:110: Size 100.0% devt.de/krotik/ecal/engine/pool/threadpool.go:153: State 100.0% devt.de/krotik/ecal/engine/pool/threadpool.go:176: NewThreadPool 100.0% devt.de/krotik/ecal/engine/pool/threadpool.go:183: NewThreadPoolWithQueue 100.0% devt.de/krotik/ecal/engine/pool/threadpool.go:194: AddTask 100.0% devt.de/krotik/ecal/engine/pool/threadpool.go:226: getTask 100.0% devt.de/krotik/ecal/engine/pool/threadpool.go:286: NewThreadID 100.0% devt.de/krotik/ecal/engine/pool/threadpool.go:302: SetWorkerCount 100.0% devt.de/krotik/ecal/engine/pool/threadpool.go:371: Status 100.0% devt.de/krotik/ecal/engine/pool/threadpool.go:395: WorkerCount 100.0% devt.de/krotik/ecal/engine/pool/threadpool.go:404: WaitAll 100.0% devt.de/krotik/ecal/engine/pool/threadpool.go:447: JoinAll 100.0% devt.de/krotik/ecal/engine/pool/threadpool.go:498: run 100.0% devt.de/krotik/ecal/engine/pool/threadpool.go:555: Run 100.0% devt.de/krotik/ecal/engine/pool/threadpool.go:562: HandleError 100.0% devt.de/krotik/ecal/engine/processor.go:154: NewProcessor 100.0% devt.de/krotik/ecal/engine/processor.go:171: ID 100.0% devt.de/krotik/ecal/engine/processor.go:178: ThreadPool 100.0% devt.de/krotik/ecal/engine/processor.go:185: Workers 100.0% devt.de/krotik/ecal/engine/processor.go:192: Reset 100.0% devt.de/krotik/ecal/engine/processor.go:216: AddRule 100.0% devt.de/krotik/ecal/engine/processor.go:236: Rules 100.0% devt.de/krotik/ecal/engine/processor.go:243: Start 100.0% devt.de/krotik/ecal/engine/processor.go:250: Finish 100.0% devt.de/krotik/ecal/engine/processor.go:257: Stopped 100.0% devt.de/krotik/ecal/engine/processor.go:264: Status 100.0% devt.de/krotik/ecal/engine/processor.go:272: NewRootMonitor 100.0% devt.de/krotik/ecal/engine/processor.go:288: SetRootMonitorErrorObserver 100.0% devt.de/krotik/ecal/engine/processor.go:298: SetFailOnFirstErrorInTriggerSequence 100.0% devt.de/krotik/ecal/engine/processor.go:305: notifyRootMonitorErrors 100.0% devt.de/krotik/ecal/engine/processor.go:315: AddEventAndWait 100.0% devt.de/krotik/ecal/engine/processor.go:355: AddEvent 100.0% devt.de/krotik/ecal/engine/processor.go:413: IsTriggering 100.0% devt.de/krotik/ecal/engine/processor.go:439: ProcessEvent 100.0% devt.de/krotik/ecal/engine/processor.go:498: String 100.0% devt.de/krotik/ecal/engine/processor.go:511: newProcID 100.0% devt.de/krotik/ecal/engine/pubsub/eventpump.go:35: NewEventPump 100.0% devt.de/krotik/ecal/engine/pubsub/eventpump.go:45: AddObserver 100.0% devt.de/krotik/ecal/engine/pubsub/eventpump.go:74: PostEvent 100.0% devt.de/krotik/ecal/engine/pubsub/eventpump.go:116: RemoveObservers 100.0% devt.de/krotik/ecal/engine/rule.go:55: CopyAs 100.0% devt.de/krotik/ecal/engine/rule.go:68: String 100.0% devt.de/krotik/ecal/engine/rule.go:164: AddRule 100.0% devt.de/krotik/ecal/engine/rule.go:179: Rules 100.0% devt.de/krotik/ecal/engine/rule.go:186: NewRuleIndex 100.0% devt.de/krotik/ecal/engine/rule.go:215: newRuleIndexKind 100.0% devt.de/krotik/ecal/engine/rule.go:227: Type 100.0% devt.de/krotik/ecal/engine/rule.go:234: AddRule 100.0% devt.de/krotik/ecal/engine/rule.go:258: addRuleAtLevel 100.0% devt.de/krotik/ecal/engine/rule.go:330: IsTriggering 100.0% devt.de/krotik/ecal/engine/rule.go:338: isTriggeringAtLevel 100.0% devt.de/krotik/ecal/engine/rule.go:375: Match 100.0% devt.de/krotik/ecal/engine/rule.go:384: matchAtLevel 100.0% devt.de/krotik/ecal/engine/rule.go:418: String 100.0% devt.de/krotik/ecal/engine/rule.go:426: stringIndent 100.0% devt.de/krotik/ecal/engine/rule.go:476: addRule 100.0% devt.de/krotik/ecal/engine/rule.go:501: match 100.0% devt.de/krotik/ecal/engine/rule.go:528: unmatch 100.0% devt.de/krotik/ecal/engine/rule.go:535: String 100.0% devt.de/krotik/ecal/engine/rule.go:585: newRuleIndexState 100.0% devt.de/krotik/ecal/engine/rule.go:593: Type 100.0% devt.de/krotik/ecal/engine/rule.go:601: addRuleAtLevel 100.0% devt.de/krotik/ecal/engine/rule.go:627: isTriggeringAtLevel 100.0% devt.de/krotik/ecal/engine/rule.go:636: matchAtLevel 100.0% devt.de/krotik/ecal/engine/rule.go:689: stringIndent 100.0% devt.de/krotik/ecal/engine/rule.go:730: newRuleIndexAll 100.0% devt.de/krotik/ecal/engine/rule.go:737: Type 100.0% devt.de/krotik/ecal/engine/rule.go:745: addRuleAtLevel 100.0% devt.de/krotik/ecal/engine/rule.go:753: isTriggeringAtLevel 100.0% devt.de/krotik/ecal/engine/rule.go:762: matchAtLevel 100.0% devt.de/krotik/ecal/engine/rule.go:774: stringIndent 100.0% devt.de/krotik/ecal/engine/rule.go:797: newRuleIndexID 100.0% devt.de/krotik/ecal/engine/taskqueue.go:39: Error 100.0% devt.de/krotik/ecal/engine/taskqueue.go:76: Run 100.0% devt.de/krotik/ecal/engine/taskqueue.go:97: String 100.0% devt.de/krotik/ecal/engine/taskqueue.go:104: HandleError 100.0% devt.de/krotik/ecal/engine/taskqueue.go:122: NewTaskQueue 100.0% devt.de/krotik/ecal/engine/taskqueue.go:129: Clear 100.0% devt.de/krotik/ecal/engine/taskqueue.go:139: Pop 100.0% devt.de/krotik/ecal/engine/taskqueue.go:189: Push 100.0% devt.de/krotik/ecal/engine/taskqueue.go:230: Size 100.0% devt.de/krotik/ecal/engine/util.go:56: NewRuleScope 100.0% devt.de/krotik/ecal/engine/util.go:65: IsAllowedAll 100.0% devt.de/krotik/ecal/engine/util.go:77: IsAllowed 100.0% devt.de/krotik/ecal/engine/util.go:105: AddAll 100.0% devt.de/krotik/ecal/engine/util.go:114: Add 100.0% devt.de/krotik/ecal/engine/util.go:141: Len 100.0% devt.de/krotik/ecal/engine/util.go:142: Less 100.0% devt.de/krotik/ecal/engine/util.go:143: Swap 100.0% devt.de/krotik/ecal/engine/util.go:148: SortRuleSlice 100.0% devt.de/krotik/ecal/engine/util.go:157: UnitTestResetIDs 100.0% devt.de/krotik/ecal/interpreter/debug.go:84: newInterrogationState 100.0% devt.de/krotik/ecal/interpreter/debug.go:99: NewECALDebugger 100.0% devt.de/krotik/ecal/interpreter/debug.go:121: HandleInput 100.0% devt.de/krotik/ecal/interpreter/debug.go:147: StopThreads 100.0% devt.de/krotik/ecal/interpreter/debug.go:175: BreakOnStart 100.0% devt.de/krotik/ecal/interpreter/debug.go:184: BreakOnError 100.0% devt.de/krotik/ecal/interpreter/debug.go:193: SetLockingState 100.0% devt.de/krotik/ecal/interpreter/debug.go:203: SetThreadPool 100.0% devt.de/krotik/ecal/interpreter/debug.go:212: VisitState 100.0% devt.de/krotik/ecal/interpreter/debug.go:299: VisitStepInState 100.0% devt.de/krotik/ecal/interpreter/debug.go:346: VisitStepOutState 100.0% devt.de/krotik/ecal/interpreter/debug.go:414: RecordSource 100.0% devt.de/krotik/ecal/interpreter/debug.go:423: RecordThreadFinished 100.0% devt.de/krotik/ecal/interpreter/debug.go:438: SetBreakPoint 100.0% devt.de/krotik/ecal/interpreter/debug.go:447: DisableBreakPoint 100.0% devt.de/krotik/ecal/interpreter/debug.go:456: RemoveBreakPoint 100.0% devt.de/krotik/ecal/interpreter/debug.go:474: ExtractValue 100.0% devt.de/krotik/ecal/interpreter/debug.go:504: InjectValue 100.0% devt.de/krotik/ecal/interpreter/debug.go:544: Continue 100.0% devt.de/krotik/ecal/interpreter/debug.go:574: Status 100.0% devt.de/krotik/ecal/interpreter/debug.go:612: LockState 100.0% devt.de/krotik/ecal/interpreter/debug.go:623: Describe 100.0% devt.de/krotik/ecal/interpreter/debug.go:660: buildVsSnapshot 100.0% devt.de/krotik/ecal/interpreter/debug.go:677: buildGlobalVsSnapshot 100.0% devt.de/krotik/ecal/interpreter/debug.go:697: MergeMaps 100.0% devt.de/krotik/ecal/interpreter/debug.go:714: prettyPrintCallStack 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:51: AssertNumParam 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:72: Run 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:94: DocString 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:112: Run 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:124: DocString 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:142: Run 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:169: DocString 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:187: Run 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:210: DocString 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:228: Run 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:261: DocString 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:279: Run 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:299: DocString 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:317: Run 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:324: DocString 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:343: Run 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:366: DocString 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:385: Run 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:405: DocString 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:423: Run 100.0% devt.de/krotik/ecal/interpreter/debug_cmd.go:430: DocString 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:63: AssertNumParam 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:82: AssertMapParam 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:96: AssertListParam 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:120: Run 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:186: DocString 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:203: Run 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:234: addSuperClasses 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:283: DocString 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:300: Run 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:316: DocString 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:333: Run 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:357: DocString 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:374: Run 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:404: DocString 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:421: Run 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:451: DocString 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:468: Run 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:498: DocString 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:515: Run 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:522: DocString 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:539: Run 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:547: DocString 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:564: Run 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:571: DocString 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:588: Run 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:619: DocString 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:636: Run 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:676: DocString 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:693: Run 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:713: DocString 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:733: Run 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:764: DocString 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:782: Run 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:799: addEvent 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:854: DocString 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:873: Run 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:924: DocString 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:942: Run 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:992: DocString 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:1009: Run 100.0% devt.de/krotik/ecal/interpreter/func_provider.go:1068: DocString 100.0% devt.de/krotik/ecal/interpreter/provider.go:162: NewECALRuntimeProvider 100.0% devt.de/krotik/ecal/interpreter/provider.go:195: Runtime 100.0% devt.de/krotik/ecal/interpreter/provider.go:207: NewRuntimeError 100.0% devt.de/krotik/ecal/interpreter/provider.go:220: NewThreadID 100.0% devt.de/krotik/ecal/interpreter/rt_arithmetic.go:29: plusOpRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_arithmetic.go:36: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_arithmetic.go:67: minusOpRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_arithmetic.go:74: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_arithmetic.go:106: timesOpRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_arithmetic.go:113: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_arithmetic.go:135: divOpRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_arithmetic.go:142: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_arithmetic.go:164: divintOpRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_arithmetic.go:171: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_arithmetic.go:193: modintOpRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_arithmetic.go:200: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_assign.go:31: assignmentRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_assign.go:38: Validate 100.0% devt.de/krotik/ecal/interpreter/rt_assign.go:82: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_assign.go:144: letRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_assign.go:151: Validate 100.0% devt.de/krotik/ecal/interpreter/rt_assign.go:191: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:32: greaterequalOpRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:39: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:67: greaterOpRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:74: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:102: lessequalOpRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:109: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:137: lessOpRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:144: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:172: equalOpRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:179: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:201: notequalOpRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:208: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:230: andOpRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:237: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:259: orOpRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:266: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:288: notOpRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:295: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:325: likeOpRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:332: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:368: beginswithOpRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:375: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:396: endswithOpRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:403: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:424: inOpRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:431: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:457: notinOpRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_boolean.go:464: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_const.go:25: trueRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_const.go:32: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_const.go:47: falseRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_const.go:54: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_const.go:69: nullRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_const.go:76: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_func.go:33: returnRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_func.go:40: Validate 100.0% devt.de/krotik/ecal/interpreter/rt_func.go:47: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_func.go:86: funcRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_func.go:93: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_func.go:130: Run 100.0% devt.de/krotik/ecal/interpreter/rt_func.go:201: DocString 100.0% devt.de/krotik/ecal/interpreter/rt_func.go:213: String 100.0% devt.de/krotik/ecal/interpreter/rt_func.go:221: MarshalJSON 100.0% devt.de/krotik/ecal/interpreter/rt_general.go:40: Validate 100.0% devt.de/krotik/ecal/interpreter/rt_general.go:57: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_general.go:74: newBaseRuntime 100.0% devt.de/krotik/ecal/interpreter/rt_general.go:93: voidRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_general.go:100: Validate 100.0% devt.de/krotik/ecal/interpreter/rt_general.go:107: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_general.go:124: importRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_general.go:131: Validate 100.0% devt.de/krotik/ecal/interpreter/rt_general.go:138: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_general.go:184: invalidRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_general.go:191: Validate 100.0% devt.de/krotik/ecal/interpreter/rt_general.go:203: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_general.go:224: errorDetailString 100.0% devt.de/krotik/ecal/interpreter/rt_general.go:239: numVal 100.0% devt.de/krotik/ecal/interpreter/rt_general.go:271: boolVal 100.0% devt.de/krotik/ecal/interpreter/rt_general.go:298: numOp 100.0% devt.de/krotik/ecal/interpreter/rt_general.go:334: genOp 100.0% devt.de/krotik/ecal/interpreter/rt_general.go:357: strOp 100.0% devt.de/krotik/ecal/interpreter/rt_general.go:380: boolOp 100.0% devt.de/krotik/ecal/interpreter/rt_general.go:416: listOp 100.0% devt.de/krotik/ecal/interpreter/rt_identifier.go:34: identifierRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_identifier.go:41: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_identifier.go:53: resolveValue 100.0% devt.de/krotik/ecal/interpreter/rt_identifier.go:131: resolveFunction 100.0% devt.de/krotik/ecal/interpreter/rt_identifier.go:177: resolveFunctionObject 100.0% devt.de/krotik/ecal/interpreter/rt_identifier.go:207: executeFunction 100.0% devt.de/krotik/ecal/interpreter/rt_identifier.go:278: Set 100.0% devt.de/krotik/ecal/interpreter/rt_identifier.go:306: buildAccessString 100.0% devt.de/krotik/ecal/interpreter/rt_sink.go:34: sinkRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_sink.go:41: Validate 100.0% devt.de/krotik/ecal/interpreter/rt_sink.go:75: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_sink.go:156: createRule 100.0% devt.de/krotik/ecal/interpreter/rt_sink.go:233: makeStringList 100.0% devt.de/krotik/ecal/interpreter/rt_sink.go:263: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_sink.go:306: kindMatchRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_sink.go:313: scopeMatchRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_sink.go:320: stateMatchRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_sink.go:327: priorityRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_sink.go:334: suppressesRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:37: statementsRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:44: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:72: ifRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:79: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:122: guardRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:129: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:163: loopRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:170: Validate 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:210: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:267: handleIterator 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:337: getIteratorValue 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:355: getIterator 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:445: breakRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:452: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:475: continueRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:482: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:505: tryRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:512: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:588: evalExcept 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:660: mutexRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_statements.go:667: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_value.go:33: numberValueRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_value.go:40: Validate 100.0% devt.de/krotik/ecal/interpreter/rt_value.go:53: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_value.go:69: stringValueRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_value.go:76: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_value.go:123: GetInfix 100.0% devt.de/krotik/ecal/interpreter/rt_value.go:146: mapValueRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_value.go:153: Eval 100.0% devt.de/krotik/ecal/interpreter/rt_value.go:185: listValueRuntimeInst 100.0% devt.de/krotik/ecal/interpreter/rt_value.go:192: Eval 100.0% devt.de/krotik/ecal/parser/const.go:200: IsValidTokenID 100.0% devt.de/krotik/ecal/parser/helper.go:52: Type 100.0% devt.de/krotik/ecal/parser/helper.go:59: Value 100.0% devt.de/krotik/ecal/parser/helper.go:81: instance 100.0% devt.de/krotik/ecal/parser/helper.go:96: Equals 100.0% devt.de/krotik/ecal/parser/helper.go:104: equalsPath 100.0% devt.de/krotik/ecal/parser/helper.go:170: String 100.0% devt.de/krotik/ecal/parser/helper.go:179: levelString 100.0% devt.de/krotik/ecal/parser/helper.go:224: ToJSONObject 100.0% devt.de/krotik/ecal/parser/helper.go:287: ASTFromJSONObject 100.0% devt.de/krotik/ecal/parser/helper.go:402: NewLABuffer 100.0% devt.de/krotik/ecal/parser/helper.go:424: Next 100.0% devt.de/krotik/ecal/parser/helper.go:442: Peek 100.0% devt.de/krotik/ecal/parser/lexer.go:52: NewLexTokenInstance 100.0% devt.de/krotik/ecal/parser/lexer.go:70: Equals 100.0% devt.de/krotik/ecal/parser/lexer.go:120: PosString 100.0% devt.de/krotik/ecal/parser/lexer.go:127: String 100.0% devt.de/krotik/ecal/parser/lexer.go:170: Type 100.0% devt.de/krotik/ecal/parser/lexer.go:182: Value 100.0% devt.de/krotik/ecal/parser/lexer.go:341: Lex 100.0% devt.de/krotik/ecal/parser/lexer.go:350: LexToList 100.0% devt.de/krotik/ecal/parser/lexer.go:363: run 100.0% devt.de/krotik/ecal/parser/lexer.go:383: next 100.0% devt.de/krotik/ecal/parser/lexer.go:411: backup 100.0% devt.de/krotik/ecal/parser/lexer.go:421: startNew 100.0% devt.de/krotik/ecal/parser/lexer.go:428: emitToken 100.0% devt.de/krotik/ecal/parser/lexer.go:443: emitTokenAndValue 100.0% devt.de/krotik/ecal/parser/lexer.go:453: emitError 100.0% devt.de/krotik/ecal/parser/lexer.go:467: skipWhiteSpace 100.0% devt.de/krotik/ecal/parser/lexer.go:493: lexTextBlock 100.0% devt.de/krotik/ecal/parser/lexer.go:541: lexNumberBlock 100.0% devt.de/krotik/ecal/parser/lexer.go:575: lexToken 100.0% devt.de/krotik/ecal/parser/lexer.go:665: lexValue 100.0% devt.de/krotik/ecal/parser/lexer.go:741: lexComment 100.0% devt.de/krotik/ecal/parser/parser.go:23: init 100.0% devt.de/krotik/ecal/parser/parser.go:166: Parse 100.0% devt.de/krotik/ecal/parser/parser.go:174: ParseWithRuntime 100.0% devt.de/krotik/ecal/parser/parser.go:224: run 100.0% devt.de/krotik/ecal/parser/parser.go:291: next 100.0% devt.de/krotik/ecal/parser/parser.go:351: ndTerm 100.0% devt.de/krotik/ecal/parser/parser.go:359: ndInner 100.0% devt.de/krotik/ecal/parser/parser.go:376: ndPrefix 100.0% devt.de/krotik/ecal/parser/parser.go:396: ndImport 100.0% devt.de/krotik/ecal/parser/parser.go:420: ndSkink 100.0% devt.de/krotik/ecal/parser/parser.go:457: ndFunc 100.0% devt.de/krotik/ecal/parser/parser.go:506: ndReturn 100.0% devt.de/krotik/ecal/parser/parser.go:527: ndIdentifier 100.0% devt.de/krotik/ecal/parser/parser.go:622: ndList 100.0% devt.de/krotik/ecal/parser/parser.go:657: ndMap 100.0% devt.de/krotik/ecal/parser/parser.go:692: ndGuard 100.0% devt.de/krotik/ecal/parser/parser.go:748: ndLoop 100.0% devt.de/krotik/ecal/parser/parser.go:778: ndTry 100.0% devt.de/krotik/ecal/parser/parser.go:825: ndOtherwiseFinally 100.0% devt.de/krotik/ecal/parser/parser.go:849: ndMutex 100.0% devt.de/krotik/ecal/parser/parser.go:867: ldInfix 100.0% devt.de/krotik/ecal/parser/parser.go:886: IsNotEndAndToken 100.0% devt.de/krotik/ecal/parser/parser.go:893: IsNotEndAndNotTokens 100.0% devt.de/krotik/ecal/parser/parser.go:904: hasMoreStatements 100.0% devt.de/krotik/ecal/parser/parser.go:919: skipToken 100.0% devt.de/krotik/ecal/parser/parser.go:949: acceptChild 100.0% devt.de/krotik/ecal/parser/parser.go:971: parseInnerStatements 100.0% devt.de/krotik/ecal/parser/parsererror.go:21: newParserError 100.0% devt.de/krotik/ecal/parser/parsererror.go:39: Error 100.0% devt.de/krotik/ecal/parser/prettyprinter.go:41: init 100.0% devt.de/krotik/ecal/parser/prettyprinter.go:164: PrettyPrint 100.0% devt.de/krotik/ecal/parser/prettyprinter.go:242: ppPostProcessing 100.0% devt.de/krotik/ecal/parser/prettyprinter.go:325: ppMetaData 100.0% devt.de/krotik/ecal/parser/prettyprinter.go:375: ppSpecialDefs 100.0% devt.de/krotik/ecal/parser/prettyprinter.go:413: ppContainerBlocks 100.0% devt.de/krotik/ecal/parser/prettyprinter.go:480: ppSpecialBlocks 100.0% devt.de/krotik/ecal/parser/prettyprinter.go:535: ppSpecialStatements 100.0% devt.de/krotik/ecal/scope/helper.go:34: NameFromASTNode 100.0% devt.de/krotik/ecal/scope/helper.go:41: EvalToString 100.0% devt.de/krotik/ecal/scope/helper.go:48: ToObject 100.0% devt.de/krotik/ecal/scope/helper.go:59: ToScope 100.0% devt.de/krotik/ecal/scope/helper.go:71: ConvertJSONToECALObject 100.0% devt.de/krotik/ecal/scope/helper.go:117: ConvertECALToJSONObject 100.0% devt.de/krotik/ecal/scope/varsscope.go:40: NewScope 100.0% devt.de/krotik/ecal/scope/varsscope.go:48: NewScopeWithParent 100.0% devt.de/krotik/ecal/scope/varsscope.go:58: SetParentOfScope 100.0% devt.de/krotik/ecal/scope/varsscope.go:78: NewChild 100.0% devt.de/krotik/ecal/scope/varsscope.go:99: Name 100.0% devt.de/krotik/ecal/scope/varsscope.go:107: Clear 100.0% devt.de/krotik/ecal/scope/varsscope.go:115: Parent 100.0% devt.de/krotik/ecal/scope/varsscope.go:122: SetValue 100.0% devt.de/krotik/ecal/scope/varsscope.go:132: SetLocalValue 100.0% devt.de/krotik/ecal/scope/varsscope.go:147: setValue 100.0% devt.de/krotik/ecal/scope/varsscope.go:221: containerAccess 100.0% devt.de/krotik/ecal/scope/varsscope.go:275: getScopeForVariable 100.0% devt.de/krotik/ecal/scope/varsscope.go:291: GetValue 100.0% devt.de/krotik/ecal/scope/varsscope.go:301: getValue 100.0% devt.de/krotik/ecal/scope/varsscope.go:389: String 100.0% devt.de/krotik/ecal/scope/varsscope.go:399: ToJSONObject 100.0% devt.de/krotik/ecal/scope/varsscope.go:428: scopeStringChildren 100.0% devt.de/krotik/ecal/scope/varsscope.go:447: scopeStringParents 100.0% devt.de/krotik/ecal/scope/varsscope.go:460: scopeString 100.0% devt.de/krotik/ecal/stdlib/adapter.go:31: NewECALFunctionAdapter 100.0% devt.de/krotik/ecal/stdlib/adapter.go:38: Run 100.0% devt.de/krotik/ecal/stdlib/adapter.go:129: convertNumber 100.0% devt.de/krotik/ecal/stdlib/adapter.go:163: convertResultNumber 100.0% devt.de/krotik/ecal/stdlib/adapter.go:179: DocString 100.0% devt.de/krotik/ecal/stdlib/generate/generate.go:64: main 100.0% devt.de/krotik/ecal/stdlib/generate/generate.go:263: writeConstants 100.0% devt.de/krotik/ecal/stdlib/generate/generate.go:321: writeFuncDoc 100.0% devt.de/krotik/ecal/stdlib/generate/generate.go:365: writeFuncs 100.0% devt.de/krotik/ecal/stdlib/generate/generate.go:395: getPackageDocs 100.0% devt.de/krotik/ecal/stdlib/generate/generate.go:435: containsSymbol 100.0% devt.de/krotik/ecal/stdlib/generate/generate.go:443: lcFirst 100.0% devt.de/krotik/ecal/stdlib/stdlib.go:48: AddStdlibPkg 100.0% devt.de/krotik/ecal/stdlib/stdlib.go:64: AddStdlibFunc 100.0% devt.de/krotik/ecal/stdlib/stdlib.go:80: LoadStdlibPlugins 100.0% devt.de/krotik/ecal/stdlib/stdlib.go:95: LoadStdlibPlugin 100.0% devt.de/krotik/ecal/stdlib/stdlib.go:113: AddStdlibPluginFunc 100.0% devt.de/krotik/ecal/stdlib/stdlib.go:151: GetStdlibSymbols 100.0% devt.de/krotik/ecal/stdlib/stdlib.go:199: GetStdlibConst 100.0% devt.de/krotik/ecal/stdlib/stdlib.go:215: GetStdlibFunc 100.0% devt.de/krotik/ecal/stdlib/stdlib.go:238: GetPkgDocString 100.0% devt.de/krotik/ecal/stdlib/stdlib.go:253: splitModuleAndName 100.0% devt.de/krotik/ecal/util/error.go:87: NewRuntimeError 100.0% devt.de/krotik/ecal/util/error.go:97: Error 100.0% devt.de/krotik/ecal/util/error.go:113: AddTrace 100.0% devt.de/krotik/ecal/util/error.go:120: GetTrace 100.0% devt.de/krotik/ecal/util/error.go:127: GetTraceString 100.0% devt.de/krotik/ecal/util/error.go:139: ToJSONObject 100.0% devt.de/krotik/ecal/util/error.go:156: MarshalJSON 100.0% devt.de/krotik/ecal/util/error.go:172: ToJSONObject 100.0% devt.de/krotik/ecal/util/error.go:186: MarshalJSON 100.0% devt.de/krotik/ecal/util/import.go:34: Resolve 100.0% devt.de/krotik/ecal/util/import.go:55: Resolve 100.0% devt.de/krotik/ecal/util/import.go:81: isSubpath 100.0% devt.de/krotik/ecal/util/logging.go:50: NewLogLevelLogger 100.0% devt.de/krotik/ecal/util/logging.go:66: Level 100.0% devt.de/krotik/ecal/util/logging.go:73: LogError 100.0% devt.de/krotik/ecal/util/logging.go:80: LogInfo 100.0% devt.de/krotik/ecal/util/logging.go:89: LogDebug 100.0% devt.de/krotik/ecal/util/logging.go:108: NewMemoryLogger 100.0% devt.de/krotik/ecal/util/logging.go:115: LogError 100.0% devt.de/krotik/ecal/util/logging.go:122: LogInfo 100.0% devt.de/krotik/ecal/util/logging.go:129: LogDebug 100.0% devt.de/krotik/ecal/util/logging.go:136: Slice 100.0% devt.de/krotik/ecal/util/logging.go:148: Reset 100.0% devt.de/krotik/ecal/util/logging.go:155: Size 100.0% devt.de/krotik/ecal/util/logging.go:162: String 100.0% devt.de/krotik/ecal/util/logging.go:176: NewStdOutLogger 100.0% devt.de/krotik/ecal/util/logging.go:183: LogError 100.0% devt.de/krotik/ecal/util/logging.go:190: LogInfo 100.0% devt.de/krotik/ecal/util/logging.go:197: LogDebug 100.0% devt.de/krotik/ecal/util/logging.go:210: NewNullLogger 100.0% devt.de/krotik/ecal/util/logging.go:217: LogError 0.0% devt.de/krotik/ecal/util/logging.go:223: LogInfo 0.0% devt.de/krotik/ecal/util/logging.go:229: LogDebug 0.0% devt.de/krotik/ecal/util/logging.go:242: NewBufferLogger 100.0% devt.de/krotik/ecal/util/logging.go:249: LogError 100.0% devt.de/krotik/ecal/util/logging.go:256: LogInfo 100.0% devt.de/krotik/ecal/util/logging.go:263: LogDebug 100.0% total: (statements) 100.0%