Author: msierad
Date: 2007-03-06 14:22:28 -0500 (Tue, 06 Mar 2007)
New Revision: 73834
Modified:
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ChangeLog
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionAndExpression.cs
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionFactorExpresion.cs
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionFunctionExpression.cs
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionNotExpression.cs
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionOrExpression.cs
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionRelationalExpression.cs
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ExpressionCollection.cs
Log:
2007-03-06 Marek Sieradzki <[EMAIL PROTECTED]>
* ExpressionCollection.cs (ConvertToArray): Simplify.
Modified:
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ChangeLog
===================================================================
---
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ChangeLog
2007-03-06 18:16:18 UTC (rev 73833)
+++
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ChangeLog
2007-03-06 19:22:28 UTC (rev 73834)
@@ -1,3 +1,7 @@
+2007-03-06 Marek Sieradzki <[EMAIL PROTECTED]>
+
+ * ExpressionCollection.cs (ConvertToArray): Simplify.
+
2007-03-05 Marek Sieradzki <[EMAIL PROTECTED]>
* TaskEngine.cs, ChangeType.cs: Moved Collect* to ChangeType and
Modified:
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionAndExpression.cs
===================================================================
---
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionAndExpression.cs
2007-03-06 18:16:18 UTC (rev 73833)
+++
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionAndExpression.cs
2007-03-06 19:22:28 UTC (rev 73834)
@@ -31,7 +31,7 @@
using System.Xml;
namespace Microsoft.Build.BuildEngine {
- internal class ConditionAndExpression : ConditionExpression {
+ internal sealed class ConditionAndExpression : ConditionExpression {
readonly ConditionExpression left;
readonly ConditionExpression right;
Modified:
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionFactorExpresion.cs
===================================================================
---
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionFactorExpresion.cs
2007-03-06 18:16:18 UTC (rev 73833)
+++
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionFactorExpresion.cs
2007-03-06 19:22:28 UTC (rev 73834)
@@ -34,7 +34,7 @@
using System.Xml;
namespace Microsoft.Build.BuildEngine {
- internal class ConditionFactorExpression : ConditionExpression {
+ internal sealed class ConditionFactorExpression : ConditionExpression {
readonly Token token;
Modified:
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionFunctionExpression.cs
===================================================================
---
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionFunctionExpression.cs
2007-03-06 18:16:18 UTC (rev 73833)
+++
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionFunctionExpression.cs
2007-03-06 19:22:28 UTC (rev 73834)
@@ -34,7 +34,7 @@
using System.Xml;
namespace Microsoft.Build.BuildEngine {
- internal class ConditionFunctionExpression : ConditionExpression {
+ internal sealed class ConditionFunctionExpression : ConditionExpression
{
List <ConditionFactorExpression> args;
string name;
Modified:
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionNotExpression.cs
===================================================================
---
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionNotExpression.cs
2007-03-06 18:16:18 UTC (rev 73833)
+++
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionNotExpression.cs
2007-03-06 19:22:28 UTC (rev 73834)
@@ -31,7 +31,7 @@
using System.Xml;
namespace Microsoft.Build.BuildEngine {
- internal class ConditionNotExpression : ConditionExpression {
+ internal sealed class ConditionNotExpression : ConditionExpression {
readonly ConditionExpression expression;
Modified:
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionOrExpression.cs
===================================================================
---
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionOrExpression.cs
2007-03-06 18:16:18 UTC (rev 73833)
+++
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionOrExpression.cs
2007-03-06 19:22:28 UTC (rev 73834)
@@ -31,7 +31,7 @@
using System.Xml;
namespace Microsoft.Build.BuildEngine {
- internal class ConditionOrExpression : ConditionExpression {
+ internal sealed class ConditionOrExpression : ConditionExpression {
readonly ConditionExpression left;
readonly ConditionExpression right;
Modified:
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionRelationalExpression.cs
===================================================================
---
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionRelationalExpression.cs
2007-03-06 18:16:18 UTC (rev 73833)
+++
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionRelationalExpression.cs
2007-03-06 19:22:28 UTC (rev 73834)
@@ -32,7 +32,7 @@
using System.Xml;
namespace Microsoft.Build.BuildEngine {
- internal class ConditionRelationalExpression : ConditionExpression {
+ internal sealed class ConditionRelationalExpression :
ConditionExpression {
readonly ConditionExpression left;
readonly ConditionExpression right;
Modified:
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ExpressionCollection.cs
===================================================================
---
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ExpressionCollection.cs
2007-03-06 18:16:18 UTC (rev 73833)
+++
trunk/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ExpressionCollection.cs
2007-03-06 19:22:28 UTC (rev 73834)
@@ -93,53 +93,28 @@
object ConvertToArray (Project project, Type type)
{
- string[] rawTable = ConvertToString (project).Split
(';');
- int i = 0;
-
- if (type == typeof (bool[])) {
- bool[] array = new bool [rawTable.Length];
- foreach (string raw in rawTable)
- array [i++] = (bool) ConvertToObject
(raw, type.GetElementType ());
- return array;
- } else if (type == typeof (string[])) {
- string[] array = new string [rawTable.Length];
- foreach (string raw in rawTable)
- array [i++] = (string) ConvertToObject
(raw, type.GetElementType ());
- return array;
- } else if (type == typeof (int[])) {
- int[] array = new int [rawTable.Length];
- foreach (string raw in rawTable)
- array [i++] = (int) ConvertToObject
(raw, type.GetElementType ());
- return array;
- } else if (type == typeof (uint[])) {
- uint[] array = new uint [rawTable.Length];
- foreach (string raw in rawTable)
- array [i++] = (uint) ConvertToObject
(raw, type.GetElementType ());
- return array;
- } else if (type == typeof (DateTime[])) {
- DateTime[] array = new DateTime
[rawTable.Length];
- foreach (string raw in rawTable)
- array [i++] = (DateTime)
ConvertToObject (raw, type.GetElementType ());
- return array;
- } else
- throw new Exception ("Invalid type");
+ string [] rawTable = ConvertToString (project).Split
(';');
+
+ Array arr = Array.CreateInstance (type.GetElementType
(), rawTable.Length);
+ for (int i = 0; i < arr.Length; i++)
+ arr.SetValue (ConvertToObject (rawTable [i],
type.GetElementType ()), i);
+ return arr;
}
object ConvertToObject (string raw, Type type)
{
- if (type == typeof (bool)) {
+ if (type == typeof (bool))
return Boolean.Parse (raw);
- } else if (type == typeof (string)) {
+ else if (type == typeof (string))
return raw;
- } else if (type == typeof (int)) {
+ else if (type == typeof (int))
return Int32.Parse (raw);
- } else if (type == typeof (uint)) {
+ else if (type == typeof (uint))
return UInt32.Parse (raw);
- } else if (type == typeof (DateTime)) {
+ else if (type == typeof (DateTime))
return DateTime.Parse (raw);
- } else {
+ else
throw new Exception (String.Format ("Unknown
type: {0}", type.ToString ()));
- }
}
string ConvertToString (Project project)
{
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches