1 //
2 // Copyright (c) 2010-2023 Antmicro
3 //
4 // This file is licensed under the MIT License.
5 // Full license text is available in 'licenses/MIT.txt'.
6 //
7 
8 using System;
9 using Antmicro.Renode.Core;
10 
11 using Range = Antmicro.Renode.Core.Range;
12 
13 namespace Antmicro.Renode.PlatformDescription.Syntax
14 {
15     public sealed class RangeValue : Value, ISimplestValue
16     {
RangeValue(ulong begin, ulong end)17         public RangeValue(ulong begin, ulong end)
18         {
19             Begin = begin;
20             End = end;
21         }
22 
ToRange()23         public Range ToRange()
24         {
25             return new Range(Begin, End - Begin);
26         }
27 
ToString()28         public override string ToString()
29         {
30             return string.Format("[RangeValue: {0}]", ToRange());
31         }
32 
33         public object ConvertedValue
34         {
35             get
36             {
37                 return ToRange();
38             }
39         }
40 
41         public ulong Begin { get; private set; }
42         public ulong End { get; private set; }
43     }
44 }
45