# Java-Job: 111694 # Python-Job: 111439 # Includes all revisions p: Project = input; # Prepare output variables relative_list: output mean[string][int] of float; # Temporary variables cur_date: time; statement_counter := visitor { before node: Statement -> { if (def(node.kind) and (node.kind == StatementKind.TRY or node.kind == StatementKind.WITH)) relative_list[p.name][yearof(cur_date)] << 1; else relative_list[p.name][yearof(cur_date)] << 0; } }; visit(p, visitor { before node: CodeRepository -> { for (minus_year: int=22; minus_year >= 0; minus_year--) { cur_date = addyear(T"Dec 31, 2022, 10:00:00 AM", -minus_year); snapshot := getsnapshot(node, cur_date); foreach (i: int; def(snapshot[i])) visit(snapshot[i], statement_counter); } } });