public override void EmitAssign (EmitContext ec, Expression source, bool leave_copy, bool isCompound)
{
if (backing_field != null) {
- backing_field.EmitAssign (ec, source, false, false);
+ backing_field.EmitAssign (ec, source, leave_copy, false);
return;
}
--- /dev/null
+using System;
+
+class MainClass
+{
+ public static void Main()
+ {
+ Child test = new Child();
+ }
+}
+
+class Parent
+{
+ protected virtual string Property { get; }
+}
+
+class Child : Parent
+{
+ protected override string Property { get; }
+
+ public Child ()
+ {
+ new AnotherClass{ field = Property = "success" };
+ Console.WriteLine(Property);
+ }
+}
+
+class AnotherClass
+{
+ public string field;
+}
\ No newline at end of file
</method>
</type>
</test>
+ <test name="gtest-autoproperty-22.cs">
+ <type name="MainClass">
+ <method name="Void Main()" attrs="150">
+ <size>8</size>
+ </method>
+ <method name="Void .ctor()" attrs="6278">
+ <size>7</size>
+ </method>
+ </type>
+ <type name="Parent">
+ <method name="System.String get_Property()" attrs="2500">
+ <size>14</size>
+ </method>
+ <method name="Void .ctor()" attrs="6278">
+ <size>7</size>
+ </method>
+ </type>
+ <type name="Child">
+ <method name="System.String get_Property()" attrs="2244">
+ <size>14</size>
+ </method>
+ <method name="Void .ctor()" attrs="6278">
+ <size>47</size>
+ </method>
+ </type>
+ <type name="AnotherClass">
+ <method name="Void .ctor()" attrs="6278">
+ <size>7</size>
+ </method>
+ </type>
+ </test>
<test name="gtest-collectioninit-01.cs">
<type name="Test">
<method name="Void TestList(System.Collections.Generic.List`1[System.Int32], Int32)" attrs="145">