public void DoOnPostEvaluate(EvaluateEventArgs ea) { if (OnPostEvaluate != null) { OnPostEvaluate(this, ea); } }
void _observer_OnPostEvaluate(object sender, EvaluateEventArgs e) { if (_maxLevel >= 0 && _DependencyDepth > _maxLevel) { return; } if (_suppressLevel >= 0 && _DependencyDepth >= _suppressLevel) { return; } if (e.Expression._token.Type == TKTYPE.LITERAL) { return; } if (e.Expression._token.ID == TKID.SUPPRESS) { return; } if (e.Expression is VariableExpression) { if (!this.AuditVariables) { return; } var v = e.Expression as VariableExpression; if ((v.Variable != null) && !v.Variable.CreateAudit) { return; } } if (e.Expression is FunctionExpression) { FunctionExpression func = e.Expression as FunctionExpression; if (!func._fn.Audited) { return; } } StringBuilder auditBuilder = new StringBuilder(); auditBuilder.Append(e.Expression.ToString()); auditBuilder.Append(" = "); if (e.Value != null) { if (e.Value is IEnumerable) { Expression.BuildParameterList(auditBuilder, e.Value as IEnumerable, sb => sb.AppendLine(",")); } else { auditBuilder.Append(e.Value.ToString()); } } auditBuilder.AppendLine(); string auditText = auditBuilder.ToString(); if (_auditHashes.Add(auditText)) { _stringBuilder.Append(auditText); } }
void _observer_OnPreEvaluate(object sender, EvaluateEventArgs e) { //throw new NotImplementedException(); }