private static SecondaryRulePart ConvertSecondaryRulePart(SecondaryRulePart source, RuleInstance ruleInstance, Dictionary <object, object> convertingContext)
        {
#if DEBUG
            //_gbcLogger.Info($"source = {source}");
#endif

            if (source == null)
            {
                return(null);
            }

            if (convertingContext.ContainsKey(source))
            {
                return((SecondaryRulePart)convertingContext[source]);
            }

            var result = new SecondaryRulePart();
            convertingContext[source] = result;

            FillBaseRulePart(source, result, ruleInstance, convertingContext);

            result.PrimaryPart = ConvertPrimaryRulePart(source.PrimaryPart, ruleInstance, convertingContext);

#if DEBUG
            //_gbcLogger.Info($"result = {result}");
#endif

            return(result);
        }
Beispiel #2
0
        public static string ToString(SecondaryRulePart rulePart)
        {
            var sb = new StringBuilder();

            sb.Append(" { ");

            sb.Append(ToString(rulePart.Expression));

            sb.Append(" }");
            sb.Append(AnnotatedItemToString(rulePart));

            return(sb.ToString());
        }
 /// <inheritdoc/>
 protected override void OnEnter()
 {
     Result        = new SecondaryRulePart();
     _baseRulePart = Result;
 }