Exemple #1
0
 public void DoOnPostEvaluate(EvaluateEventArgs ea)
 {
     if (OnPostEvaluate != null)
     {
         OnPostEvaluate(this, ea);
     }
 }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
 void _observer_OnPreEvaluate(object sender, EvaluateEventArgs e)
 {
     //throw new NotImplementedException();
 }