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);
        }
Esempio n. 2
0
        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);
        }