4 using System.Collections.Generic;
5 using System.Globalization;
8 namespace SiliconStudio.Shaders.Ast
18 #region Constructors and Destructors
40 #region Public Properties
48 public string Text {
get; set; }
66 Text = ConvertValueToString(value);
79 public List<Literal> SubLiterals {
get; set; }
83 #region Public Methods
89 if (SubLiterals != null) ChildrenList.AddRange(SubLiterals);
97 if (SubLiterals != null) str = string.Join(
" ", SubLiterals);
98 return string.Format(
"{0}", str);
101 private static string ConvertValueToString(
object value)
105 string defaultString = ((float)value).ToString(
"g", CultureInfo.InvariantCulture);
106 if (!defaultString.Contains(
".") && !defaultString.Contains(
"e"))
107 defaultString +=
".0";
108 return defaultString;
112 string defaultString = ((double)value).ToString(
"g", CultureInfo.InvariantCulture);
113 if (!defaultString.Contains(
".") && !defaultString.Contains(
"e"))
114 defaultString +=
".0";
115 return defaultString;
118 return ((
int)value).ToString(CultureInfo.InvariantCulture);
120 return ((uint)value).ToString(CultureInfo.InvariantCulture);
122 return value.ToString();
128 if (ReferenceEquals(null, other))
132 if (ReferenceEquals(
this, other))
136 return Equals(other.value, value);
142 if (ReferenceEquals(null, obj))
146 if (ReferenceEquals(
this, obj))
150 if (obj.GetType() != typeof(
Literal))
160 return (value != null ? value.GetHashCode() : 0);
173 return Equals(left, right);
186 return !Equals(left, right);
override IEnumerable< Node > Childrens()
Gets the child nodes. An enumeration of child nodes
override bool Equals(object obj)
override int GetHashCode()
override string ToString()
Literal()
Initializes a new instance of the Literal class.
bool Equals(Literal other)
Literal(object value)
Initializes a new instance of the Literal class.