private IRuleRef ParseRuleRef(SrgsRuleRef srgsRuleRef, IElement parent) { IRuleRef ruleRef = null; bool flag = true; if (srgsRuleRef == SrgsRuleRef.Null) { ruleRef = _parser.Null; } else if (srgsRuleRef == SrgsRuleRef.Void) { ruleRef = _parser.Void; } else if (srgsRuleRef == SrgsRuleRef.Garbage) { ruleRef = _parser.Garbage; } else { ruleRef = _parser.CreateRuleRef(parent, srgsRuleRef.Uri, srgsRuleRef.SemanticKey, srgsRuleRef.Params); flag = false; } if (flag) { _parser.InitSpecialRuleRef(parent, ruleRef); } ruleRef.PostParse(parent); return(ruleRef); }
internal override IElement CreateElement(IElementFactory elementFactory, IElement parent, IRule rule, IdentifierCollection ruleIds) { IRuleRef garbage = elementFactory.Garbage; elementFactory.InitSpecialRuleRef(parent, garbage); return(garbage); }
internal override IElement CreateElement(IElementFactory elementFactory, IElement parent, IRule rule, IdentifierCollection ruleIds) { // Return a ruleref to Garbage IRuleRef ruleRef = elementFactory.Garbage; elementFactory.InitSpecialRuleRef(parent, ruleRef); return(ruleRef); }