public override void Visit(VariantNode node) { BeginNonTextNode(); var variant = new VariantNode(node.Id); variant.Main = VisitBranch(node.Main); variant.Alternative = VisitBranch(node.Alternative); AppendNode(variant); EndNonTextNode(); }
public SqlCompilerOutputScope EnterMainVariantScope(object id) { var variant = new VariantNode(id) { Main = new ContainerNode(), Alternative = new ContainerNode() }; Output.Add(variant); return(OpenScope(ContextType.Collection, (ContainerNode)variant.Main)); }
public override void Visit(VariantNode node) { if (configuration.AlternativeBranches.Contains(node.Id)) { VisitNodeSequence(node.Alternative); } else { VisitNodeSequence(node.Main); } }
public virtual void Visit(VariantNode node) { throw new InvalidOperationException(); }