Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIain McCoy <iainmc@mono-cvs.ximian.com>2005-08-26 16:11:30 +0400
committerIain McCoy <iainmc@mono-cvs.ximian.com>2005-08-26 16:11:30 +0400
commit829eca87bd2bb8d6862be71b64c48375838fa713 (patch)
tree4ed5c8d9e2aa776db0da68279c3686675db182d5 /mcs/class/PresentationFramework
parent440a1319a661270a5ddf9f3e062d120d161be164 (diff)
2005-08-26 Iain McCoy <iain@mccoy.id.au>
* System.Windows.Serialization/data-classes-builder.pl: tighten up access controls for members that don't exist in microsoft's impl (internal access only is appropriate for these members) * Test/XamlParser.cs: use reflection to access the newly tightened-up members svn path=/trunk/mcs/; revision=48887
Diffstat (limited to 'mcs/class/PresentationFramework')
-rw-r--r--mcs/class/PresentationFramework/ChangeLog8
-rw-r--r--mcs/class/PresentationFramework/System.Windows.Serialization/data-classes-builder.pl7
-rw-r--r--mcs/class/PresentationFramework/Test/XamlParser.cs6
3 files changed, 18 insertions, 3 deletions
diff --git a/mcs/class/PresentationFramework/ChangeLog b/mcs/class/PresentationFramework/ChangeLog
index 1cb6f0dca3f..e45700bbf06 100644
--- a/mcs/class/PresentationFramework/ChangeLog
+++ b/mcs/class/PresentationFramework/ChangeLog
@@ -1,5 +1,13 @@
2005-08-26 Iain McCoy <iain@mccoy.id.au>
+ * System.Windows.Serialization/data-classes-builder.pl: tighten up
+ access controls for members that don't exist in microsoft's impl
+ (internal access only is appropriate for these members)
+ * Test/XamlParser.cs: use reflection to access the newly tightened-up
+ members
+
+2005-08-26 Iain McCoy <iain@mccoy.id.au>
+
* Mono.Windows.Serialization/CodeWriter.cs,
Mono.Windows.Serialization/ParserToCode.cs: renamed CodeWriter to
ParserToCode in order to more closely parallel
diff --git a/mcs/class/PresentationFramework/System.Windows.Serialization/data-classes-builder.pl b/mcs/class/PresentationFramework/System.Windows.Serialization/data-classes-builder.pl
index d2ebd2e8b32..ee40a19069b 100644
--- a/mcs/class/PresentationFramework/System.Windows.Serialization/data-classes-builder.pl
+++ b/mcs/class/PresentationFramework/System.Windows.Serialization/data-classes-builder.pl
@@ -186,8 +186,13 @@ for $class (keys %classes) {
$propname = substr($prop, index($prop, " ") + 1);
$fieldname = "_$propname";
+ if ($propname =~ m/^[a-z]/) {
+ $access = "internal";
+ } else {
+ $access = "public";
+ }
- print X "\n\tpublic $proptype $propname {\n";
+ print X "\n\t$access $proptype $propname {\n";
print X "\t\tget { return $fieldname; }\n";
print X "\t}\n";
print X "\n\tinternal void set$propname($proptype v) {\n";
diff --git a/mcs/class/PresentationFramework/Test/XamlParser.cs b/mcs/class/PresentationFramework/Test/XamlParser.cs
index 7399c5b93ec..32a1a4b6543 100644
--- a/mcs/class/PresentationFramework/Test/XamlParser.cs
+++ b/mcs/class/PresentationFramework/Test/XamlParser.cs
@@ -134,7 +134,8 @@ public class XamlParserTest {
n = getNextNode(p);
Assert.IsTrue(n is XamlElementStartNode, "B1");
Assert.AreEqual(0, n.Depth, "B2");
- Assert.AreEqual("nnn", ((XamlElementStartNode)n).name, "B3");
+ string name = (string)n.GetType().GetProperty("name", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(n, null);
+ Assert.AreEqual("nnn", name, "B3");
Assert.AreEqual(((XamlElementStartNode)n).ElementType, typeof(ConsoleApp), "B4");
n = getNextNode(p);
@@ -208,7 +209,8 @@ public class XamlParserTest {
n = getNextNode(p);
Assert.IsTrue(n is XamlElementStartNode, "C1");
Assert.AreEqual(1, n.Depth, "C2");
- Assert.AreEqual("XXX", ((XamlElementStartNode)n).name, "C3");
+ string name = (string)n.GetType().GetProperty("name", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(n, null);
+ Assert.AreEqual("XXX", name, "C3");
Assert.AreEqual(((XamlElementStartNode)n).ElementType, typeof(ConsoleWriter), "C4");
n = getNextNode(p);