Example #1
0
        public override bool ResolveObject(VariableTable varTable)
        {
            if (!base.ResolveObject(varTable))
            {
                return(false);
            }

            if (_isRef)
            {
                ApplianceState stateVar = (ApplianceState)varTable[_stringValue];
                _valid = stateVar != null;

                if (_valid)
                {
                    _value = new ValueConstraint(stateVar);
                }
            }
            else
            {
                try
                {
                    _value = new PUCValue(State.Type.ValueSpace.Validate(_stringValue));
                }
                catch (Exception)
                {
                    _valid = false;
                    throw new PUC.Parsers.SpecParseException(this.LineNumber, "String value does not match the value space of state " + State.Name);
                }
            }

            return(_valid);
        }
Example #2
0
        public virtual bool IsSameValue(IPUCValue val)
        {
            if (val is PUCValue)
            {
                if (val.Value != this.Value)
                {
                    return(false);
                }

                return(true);
            }

            return(false);
        }
Example #3
0
        public virtual bool IsSameValue(IPUCValue val)
        {
            if (val is ValueConstraint)
            {
                ValueConstraint vc = (ValueConstraint)val;

                if (vc._stateName != this._stateName)
                {
                    return(false);
                }

                return(true);
            }

            return(false);
        }
Example #4
0
        public StateValueDependency(ApplianceState state, ApplianceState refState)
            : base(state)
        {
            _stringValue = refState.FullName;
            _isRef       = true;
            _valid       = false;

            if (!state.Type.ValueSpace.IsSameSpace(refState.Type.ValueSpace))
            {
                throw new PUC.Parsers.SpecParseException(0, "Value space of state " + state.FullName + " does not match space of state " + refState.FullName);
            }

            _value = new ValueConstraint(refState);

            _valid = true;
        }
Example #5
0
        public StateValueDependency(ApplianceState state, string value)
            : base(state)
        {
            _stringValue = value;
            _isRef       = false;

            try
            {
                _valid = false;
                _value = new PUCValue(State.Type.ValueSpace.Validate(_stringValue));
            }
            catch (Exception)
            {
                throw new PUC.Parsers.SpecParseException(0, "Value does not match value space of state " + State.Name);
            }

            _valid = true;
        }