private void InstrumentBranch( LanguageSupport support, long fileId, long funcId, AstTransformer inserter, XElement func) { var branches = support.AstAnalyzer.FindBranches(func); foreach (var branch in branches) { var position = CodeRange.Locate(branch); var branchId = RegisterBranch(fileId, funcId, position); inserter.InsertPredicate(branch, branchId, ElementType.Decision); } }
private void InstrumentStatement( LanguageSupport support, long fileId, long funcId, AstTransformer inserter, XElement func) { var stmts = support.AstAnalyzer.FindStatements(func); foreach (var stmt in stmts) { var position = CodeRange.Locate(stmt); var stmtId = RegisterStatement(fileId, funcId, position); inserter.InsertStatementBefore(stmt, stmtId, CodeTransformer.Done, ElementType.Statement); } }