internal override OperatorBuilder InternalBuild() { var hour = new Hour { OffsetInSeconds = _offset }; return new OperatorBuilder(constraints => { hour.AddConstraints(constraints); return hour; }); }
public override void ExitEveryhour(GoldenFoxLanguageParser.EveryhourContext context) { if (!Current.SecondsOffset.Any()) { Current.SecondsOffset.Push(0); } var constraints = new List<IConstraint>(); while (Current.Constraints.Any()) { constraints.Add(Current.Constraints.Pop()); } while (Current.SecondsOffset.Any()) { var hour = new Hour { OffsetInSeconds = Current.SecondsOffset.Pop() }; if (constraints.Any()) { hour.AddConstraints(constraints); } _stack.Push(hour); } }