protected override void AcceptVisitor (IElementVisitor visitor) { visitor.Visit (this); foreach (var c in Children) { c.Accept (visitor); } visitor.EndVisit (this); }
public static IElementVisitor <TElement> Property <TElement, TProperty>(this IElementVisitor <TElement> element, Expression <Func <TElement, object> > propertyName, Expression <Func <TProperty, object, TProperty> > getNewValue) { var myElement = (ElementVisitor <TElement>)element; var extractedName = Util.NameOf(propertyName); var childElement = myElement.AddPropertyVisitor(extractedName, getNewValue); return(element); }
/// <inheritdoc /> public override void AcceptVisitor(IElementVisitor visitor) { var functionVisitor = visitor as IFunctionVisitor; if (functionVisitor != null) { functionVisitor.VisitStructFieldAccessor(this); } else { base.AcceptVisitor(visitor); } }
/// <inheritdoc /> public override void AcceptVisitor(IElementVisitor visitor) { var functionVisitor = visitor as IFunctionVisitor; if (functionVisitor != null) { functionVisitor.VisitDropNode(this); } else { base.AcceptVisitor(visitor); } }
public StorageSchemaV3Modifier() { this.nameProvider = new StorageSchemaContentNameProvider(Namespace); this.providerParser = new ProviderParser(this.nameProvider); this.modificationLogic = new AggregatedElementModifier(); // Schema[Provider] : Provider this.modificationLogic.AddModifier( new ComposedElementModifier( new SelfElementSelector(), new ProviderAttributeSelector(this.nameProvider), new ProviderAttributeModifier())); // Schema[ProviderManifestToken] : ProviderManifestToken this.modificationLogic.AddModifier( new ComposedElementModifier( new SelfElementSelector(), new ProviderManifestTokenAttributeSelector(this.nameProvider), new ProviderManifestTokenAttributeModifier())); // Schema.EntityType.Property : CommonProperty this.modificationLogic.AddModifier( new ComposedElementModifier( new EntityTypePropertyElementSelector(this.nameProvider), new CommonPropertyElementModifier(this.nameProvider))); // Schema.Function.Parameter[Type] : FunctionType this.modificationLogic.AddModifier( new ComposedElementModifier( new FunctionParameterElementSelector(this.nameProvider), new TypeAttributeSelector(this.nameProvider), new FunctionTypeAttributeModifier())); // Schema.Function[ReturnType] : FunctionType this.modificationLogic.AddModifier( new ComposedElementModifier( new FunctionElementSelector(this.nameProvider), new ReturnTypeAttributeSelector(this.nameProvider), new FunctionTypeAttributeModifier())); // Schema.Function.ReturnType.CollectionType.RowType.Property : CommonProperty this.modificationLogic.AddModifier( new ComposedElementModifier( new FunctionReturnRowTypePropertyElementSelector(this.nameProvider), new CommonPropertyElementModifier(this.nameProvider))); }
public void Accept(IElementVisitor visitor) { visitor.Visit(this); if (this.HasChildNodes) { visitor.BeginContainer(this); foreach (var item in this.ChildNodes) { if (item is IElementVisitorTarget evt) { evt.Accept(visitor); } } visitor.EndContainer(this); } }
public static IElementVisitor <TElement> Element <TElement, TChildElement>(this IElementVisitor <TElement> element, Expression <Func <TElement, object> > childElementName, Expression <Action <IElementVisitor <TChildElement> > > childElementSetup) { if (Util.IsGenericEnumerable(typeof(TElement)) || Util.ImplementsGenericIEnumerable(typeof(TElement))) { throw new Exception(string.Format("Element of type '{0}' is IEnumerable. Use Collection() method in order to configure visit to it.", typeof(TElement))); } var myElement = (ElementVisitor <TElement>)element; var extractedName = Util.NameOf(childElementName); var childElement = myElement.AddElementVisitor <TChildElement>(extractedName, false); if (childElementSetup != null) { childElementSetup.Compile()(childElement); } return(element); }
/// <summary> /// Enumerates the UI with the specified visitor. /// </summary> /// <param name="visitor">The visitor.</param> public void Enumerate(IElementVisitor visitor) { visitor.Prepare(_settings); var queue = new Queue<IElement>(); queue.Enqueue(_element); while(queue.Count > 0) { var current = queue.Dequeue(); current.Accept(visitor); if(visitor.ShouldStopVisiting) break; foreach(var dataBound in current.GetChildren(_settings)) { queue.Enqueue(dataBound); } } }
public abstract void Visit(IElementVisitor visitor);
public override void Visit(IElementVisitor visitor) { visitor.VisitChoiceContainer(this); }
public void Accept (IElementVisitor visitor) { AcceptVisitor (visitor); }
public void VisitElements(IElementVisitor visitor) { visitor.VisitSequentialContainer(m_FirstContainer); }
public void Accept(IElementVisitor visitor) { visitor.Visit(this); }
//Drawing is always the same, so this just uses the visitor and is not decorated public override void Draw(IElementVisitor visitor) { base.elementToBeDecorated.Draw(visitor); }
protected override void AcceptVisitor(IElementVisitor visitor) { visitor.Visit(this); visitor.EndVisit(this); }
public ContainsVarChecker(INode var) { this.var = var; el = new LocalElementVisitor(this, var); ex = new LocalExpressionVisitor(this, var); }
/// <summary> /// Constructor that takes an ElementVisitor. /// </summary> /// <param name="visitor">IElementVisitor to use when traversing</param> /// <param name="filter">IElementVisitorFilter to use when traversing</param> /// <param name="includeLinks">request element links be included in the visitation</param> public FullDepthElementWalker(IElementVisitor visitor, IElementVisitorFilter filter, bool includeLinks) : base(visitor, filter, includeLinks) { }
/// <summary> /// Constructor that takes an ElementVisitor. /// This defaults to depth first traversal, pre-Order visitation of the graph with no element links. /// </summary> /// <param name="visitor">IElementVisitor to use when traversing</param> /// <param name="filter">IElementVisitorFilter to use when traversing</param> public FullDepthElementWalker(IElementVisitor visitor, IElementVisitorFilter filter) : base(visitor, filter) { }
/// <summary> /// Accepts the specified visitor. /// </summary> /// <param name="visitor">The visitor.</param> public override void Accept(IElementVisitor visitor) { visitor.Visit(this); }
public abstract TResult Accept <TState, TResult>(IElementVisitor <TState, TResult> visitor, TState state);
/// <summary> /// Accepts the specified visitor. /// </summary> /// <param name="visitor">The visitor.</param> public void Accept(IElementVisitor visitor) { }
public override void Visit(IElementVisitor visitor) { visitor.VisitParallelContainer(this); }
public override void Accept(IElementVisitor visitor) { throw new NotImplementedException(); }
/// <summary> /// Accepts the specified visitor. /// </summary> /// <param name="visitor">The visitor.</param> public void Accept(IElementVisitor visitor) { visitor.Visit(this); }
public abstract void Draw(IElementVisitor visitor);
protected override void AcceptVisitor (IElementVisitor visitor) { visitor.Visit (this); visitor.EndVisit (this); }
public override TResult Accept <TState, TResult>(IElementVisitor <TState, TResult> visitor, TState state) { return(visitor.Visit(this, state)); }
public override string Accept(IElementVisitor <string> visitor) { return(visitor.Visit(this)); }
public override void Visit(IElementVisitor visitor) { visitor.VisitRandomMusicList(this); }
public void Visit(IElementVisitor visitor) { m_Element.Visit(visitor); }
public static IElementVisitor <TElement> Collection <TElement, TCollectionElement>(this IElementVisitor <TElement> element, Expression <Func <TElement, object> > childElementName, Expression <Action <IElementVisitor <TCollectionElement> > > childElementSetup) { if (Util.IsDictionary(typeof(TElement))) { throw new Exception(string.Format("Element of type '{0}' is IDictionary. It is not yet supported for visit configuration.", typeof(TElement))); } var myElement = (ElementVisitor <TElement>)element; var extractedName = Util.NameOf(childElementName); var extractedType = Util.TypeOf(childElementName); var collectionElement = myElement.AddCollectionVisitor <TCollectionElement>(extractedType, extractedName, false); if (childElementSetup != null) { childElementSetup.Compile()(collectionElement); } return(element); }
protected abstract void AcceptVisitor (IElementVisitor visitor);
public override void Visit(IElementVisitor visitor) { visitor.VisitLightEffects(this); }
public static IVisitor Build <TElement>(this IElementVisitor <TElement> element) { return(element); }
/// <summary> /// Accepts the specified visitor. /// </summary> /// <param name="visitor">The visitor.</param> public void Accept(IElementVisitor visitor) {}
protected abstract void AcceptVisitor(IElementVisitor visitor);
public override void Accept(IElementVisitor visitor) { visitor.Visit(this); }
public void Accept(IElementVisitor visitor) { AcceptVisitor(visitor); }