Пример #1
0
 public ExpressionValue(ExpressionValueType type, Function value) : this(type)
 {
     this.sValue = "function";
     this.bValue = true;
     this.nValue = 1;
     this.fValue = value;
 }
Пример #2
0
 public ExpressionValue(ExpressionValueType type)
 {
     this.type = type;
     if (type == ExpressionValueType.OBJECT)
     {
         this.members = new Dictionary <string, ExpressionValue>();
     }
 }
Пример #3
0
        public ExpressionValue(ExpressionValueType type, float value) : this(type)
        {
            if (float.IsInfinity(value))
            {
                this.sValue = "Infinity";
            }
            else if (float.IsNaN(value))
            {
                this.sValue = "NaN";
            }
            else
            {
                this.sValue = value.ToString();
            }

            this.bValue = (value != 0) ? true : false;
            this.nValue = value;
        }
Пример #4
0
        public override object VisitDesignator([NotNull] SLangGrammarParser.DesignatorContext context)
        {
            // first step -- find in context or in imported modules

            SlangType           resultType;
            ExpressionValueType valueType = ExpressionValueType.Variable;
            var  item = FindItemByName(context.Id().GetText());
            bool fromCurrentModule = true;

            if (item != null)
            {
                if (item is ModuleNameTable module && module.ModuleData.Name != moduleItem.ModuleData.Name)
                {
                    fromCurrentModule = false;
                }
                else if (item is VariableNameTableItem var)
                {
                    if (var.IsConstant) // константа
                    {
                        valueType = ExpressionValueType.Value;
                    }
                }
            }
Пример #5
0
 public ExpressionValue(ExpressionValueType type, string value) : this(type)
 {
     this.sValue = value;
     this.bValue = (value != "");
     this.nValue = (value != "") ? 1 : 0;
 }
Пример #6
0
 public ExpressionValue(ExpressionValueType type, bool value) : this(type)
 {
     this.sValue = value.ToString();
     this.bValue = value;
     this.nValue = (value) ? 1 : 0;
 }
Пример #7
0
 public ExpressionResult(SlangType type, ExpressionValueType exprType)
 {
     Type           = type;
     ExpressionType = exprType;
 }
Пример #8
0
 /// <summary>
 /// Initializes a new instance of the class with the specified ByteArray value.
 /// </summary>
 /// <param name="value">Number value</param>
 public ExpressionValue(byte[] value)
 {
     Type        = ExpressionValueType.ByteArray;
     _numValue   = 0;
     _arrayValue = value;
 }
Пример #9
0
 /// <summary>
 /// Initializes a new instance of the class with the specified Real value.
 /// </summary>
 /// <param name="value">Real value</param>
 public ExpressionValue(double value)
 {
     Type       = ExpressionValueType.Real;
     _realValue = value;
 }
Пример #10
0
 /// <summary>
 /// Initializes a new instance of the class with the specified Number value.
 /// </summary>
 /// <param name="value">Number value</param>
 public ExpressionValue(long value)
 {
     Type      = ExpressionValueType.Integer;
     _numValue = value;
 }
Пример #11
0
 /// <summary>
 /// Initializes a new instance of the class with the specified Boolean value.
 /// </summary>
 /// <param name="value">Boolean value</param>
 public ExpressionValue(bool value)
 {
     Type      = ExpressionValueType.Bool;
     _numValue = value ? 1 : 0;
 }
Пример #12
0
 /// <summary>Initializes a new instance of the <see cref="T:System.Object" /> class.</summary>
 public ExpressionValue(ExpressionValueType type)
 {
     Type = type;
 }
Пример #13
0
 /// <summary>
 /// Initializes a new instance of the class with the Error value.
 /// </summary>
 public ExpressionValue()
 {
     Type = ExpressionValueType.Error;
 }
Пример #14
0
 /// <summary>
 /// Sets the value type of this expression to the one specified in the arument.
 /// </summary>
 /// <param name="type">Value type to set</param>
 protected void SuggestType(ExpressionValueType type)
 {
     ValueType = type;
 }
Пример #15
0
 public ExpressionValue(ExpressionValueType Type,
                        AbstractType RepresentedType)
 {
     this.Type            = Type;
     this.RepresentedType = RepresentedType;
 }
Пример #16
0
 /// <summary>
 /// Initializes a new instance of the class with the specified String value.
 /// </summary>
 /// <param name="value">String value</param>
 public ExpressionValue(string value)
 {
     Type         = ExpressionValueType.String;
     _stringValue = value;
 }
Пример #17
0
 public ExpressionValue(ExpressionValueType Type,
                        AbstractType RepresentedType,
                        IExpression BaseExpression) : this(Type, RepresentedType)
 {
     this._baseExpression = BaseExpression;
 }
Пример #18
0
 /// <summary>
 /// Initializes a new instance of the class with the specified Number value.
 /// </summary>
 /// <param name="value">Number value</param>
 public ExpressionValue(long value)
 {
     Type      = ExpressionValueType.Number;
     _numValue = value;
 }