Beispiel #1
0
        static XshdImport ParseImport(XmlReader reader)
        {
            XshdImport import = new XshdImport();

            SetPosition(import, reader);
            import.RuleSetReference = ParseRuleSetReference(reader);
            if (!reader.IsEmptyElement)
            {
                reader.Skip();
            }
            return(import);
        }
            public object VisitImport(XshdImport import)
            {
                if (import.RuleSetReference.InlineElement != null)
                {
                    return(import.RuleSetReference.AcceptVisitor(this));
                }
                XshdSyntaxDefinition definition = allSyntaxDefinitions.SingleOrDefault(def => def.Name == import.RuleSetReference.ReferencedDefinition);

                if (definition != null && visitedDefinitons.Add(definition))
                {
                    foundColors.AddRange(definition.Elements.OfType <XshdColor>());
                }
                return(null);
            }
            public object VisitImport(XshdImport import)
            {
                var hrs = GetRuleSet(import, import.RuleSetReference);

                if (reverseRuleSetDict.TryGetValue(hrs, out var inputRuleSet))
                {
                    // ensure the ruleset is processed before importing its members
                    if (VisitRuleSet(inputRuleSet) != hrs)
                    {
                        Debug.Fail("this shouldn't happen");
                    }
                }
                return(hrs);
            }
 public object VisitImport(XshdImport import)
 {
     return(import.RuleSetReference.AcceptVisitor(this));
 }