[Windows] Mono build project restructure dropping .def file enabling full static and dynamic mono builds.
if (ResolveAutopropertyAssignment (rc, right_side))
return this;
+ if (best_candidate.MemberType.Kind == MemberKind.ByRef) {
+ getter = CandidateToBaseOverride (rc, best_candidate.Get);
+ return ByRefDereference.Create(this).Resolve(rc);
+ }
+
rc.Report.Error (200, loc, "Property or indexer `{0}' cannot be assigned to (it is read-only)",
GetSignatureForError ());
return null;
--- /dev/null
+using System;
+
+class X
+{
+ public static int Main ()
+ {
+ var x = new X ();
+ x [0] = 3;
+ if (x.field != 3)
+ return 1;
+ x.Prop = 5;
+ if (x.field != 5)
+ return 2;
+
+ return 0;
+ }
+
+ int field;
+
+ ref int this [int idx] => ref field;
+
+ ref int Prop => ref field;
+
+}
\ No newline at end of file
</method>
</type>
</test>
+ <test name="test-ref-06.cs">
+ <type name="X">
+ <method name="Int32 Main()" attrs="150">
+ <size>71</size>
+ </method>
+ <method name="Int32& get_Item(Int32)" attrs="2177">
+ <size>14</size>
+ </method>
+ <method name="Int32& get_Prop()" attrs="2177">
+ <size>14</size>
+ </method>
+ <method name="Void .ctor()" attrs="6278">
+ <size>7</size>
+ </method>
+ </type>
+ </test>
<test name="test-static-using-01.cs">
<type name="A.B.X">
<method name="Int32 Test()" attrs="150">
gpointer addr;
/* add marshal info */
guint16 piflags; /* pinvoke flags */
- guint16 implmap_idx; /* index into IMPLMAP */
+ guint32 implmap_idx; /* index into IMPLMAP */
};
/*
IL_000c: ret
}
+ .method public hidebysig static int32 test_104_conv_u_and_string() cil managed
+ {
+ .maxstack 8
+ ldstr "hello"
+ conv.u
+ call int32 [mscorlib]System.Runtime.CompilerServices.RuntimeHelpers::get_OffsetToStringData()
+ add
+ ldind.u2
+ ret
+ }
+
}
#endif
break;
case STACK_TYPE_MP:
+ case STACK_TYPE_O:
break;
default:
g_assert_not_reached ();
break;
case STACK_PTR:
case STACK_MP:
+ case STACK_OBJ:
#if SIZEOF_VOID_P == 8
ins->opcode = OP_LCONV_TO_U;
#else