private Label GetLabelImpl(KindLabelEnum kind) { Label label = this._labels.Items.FirstOrDefault(c => c.Kind == kind); if (label == null && _parent == null) { label = _parent.GetLabelImpl(kind); } if (label == null) { throw new Exceptions.InvalidArgumentNameException($"no label of {kind.ToString()} defined"); } return(label); }
public Label AddLabel(string name = null, KindLabelEnum kind = KindLabelEnum.Default) { if (string.IsNullOrEmpty(name)) { name = this._variables.GetNewName(); } var instance = Expression.Label(Labels.GetNewName()); var label = new Label() { Instance = instance, Kind = kind }; this.AddLabel(label); return(label); }