//--- Methods --- public override void Visit(AModuleItem item, ModuleVisitorDelegate visitor) { if (EventBus != null) { EventBus = visitor(item, EventBus); } if (Pattern != null) { Pattern = visitor(item, Pattern); } }
//--- Methods --- public override void Visit(AModuleItem item, ModuleVisitorDelegate visitor) { if (Queue != null) { Queue = visitor(item, Queue); } if (BatchSize != null) { BatchSize = visitor(item, BatchSize); } }
//--- Methods --- public override void Visit(AModuleItem item, ModuleVisitorDelegate visitor) { if (Kinesis != null) { Kinesis = visitor(item, Kinesis); } if (BatchSize != null) { BatchSize = visitor(item, BatchSize); } if (StartingPosition != null) { StartingPosition = visitor(item, StartingPosition); } }
//--- Methods --- public override void Visit(AModuleItem item, ModuleVisitorDelegate visitor) { if (DynamoDB != null) { DynamoDB = visitor(item, DynamoDB); } if (BatchSize != null) { BatchSize = visitor(item, BatchSize); } if (StartingPosition != null) { StartingPosition = visitor(item, StartingPosition); } }
//--- Methods --- public override void Visit(ModuleVisitorDelegate visitor) { base.Visit(visitor); // TODO (2018-11-29, bjorg): we need to make sure that only other resources are referenced (no literal items, or itself, no loops either) if (Condition != null) { TryGetFnCondition(visitor(this, FnCondition(Condition)), out var result); Condition = result ?? throw new InvalidOperationException($"invalid expression returned (condition)"); } // TODO (2018-11-29, bjorg): we need to make sure that only other resources are referenced (no literal items, or itself, no loops either) // TODO (2019-0509, bjorg): we need a mechanism to handle dependencies on conditional resources for (var i = 0; i < DependsOn.Count; ++i) { var dependency = DependsOn[i]; TryGetFnRef(visitor(this, FnRef(dependency)), out var result); DependsOn[i] = result ?? throw new InvalidOperationException($"invalid expression returned (DependsOn[{i}])"); } }
public virtual void Visit(ModuleVisitorDelegate visitor) { Reference = visitor(this, Reference); }
//--- Methods --- public override void Visit(AModuleItem item, ModuleVisitorDelegate visitor) { Expression = visitor(item, Expression); }
//--- Abstract Methods --- public abstract void Visit(AModuleItem item, ModuleVisitorDelegate visitor);
//--- Methods --- public override void Visit(AModuleItem item, ModuleVisitorDelegate visitor) { }