}
var me = ExtensionExpression as MemberExpr;
- if (me != null)
+ if (me != null) {
me.ResolveInstanceExpression (ec, null);
+ var fe = me as FieldExpr;
+ if (fe != null)
+ fe.Spec.MemberDefinition.SetIsUsed ();
+ }
InstanceExpression = null;
return this;
--- /dev/null
+// Compiler options: -warnaserror
+
+using System;
+using System.Linq;
+
+namespace UnusedFieldWarningTest2
+{
+ class Repro
+ {
+ int[] a = new int[] { 1 };
+
+ void Foo ()
+ {
+ Console.Write (a.FirstOrDefault ());
+ }
+
+ static void Main ()
+ {
+ }
+ }
+}
\ No newline at end of file
</method>\r
</type>\r
</test>\r
+ <test name="gtest-exmethod-44.cs">\r
+ <type name="UnusedFieldWarningTest2.Repro">\r
+ <method name="Void Foo()" attrs="129">\r
+ <size>18</size>\r
+ </method>\r
+ <method name="Void Main()" attrs="145">\r
+ <size>2</size>\r
+ </method>\r
+ <method name="Void .ctor()" attrs="6278">\r
+ <size>23</size>\r
+ </method>\r
+ </type>\r
+ </test>\r
<test name="gtest-fixedbuffer-01.cs">\r
<type name="TestNew">\r
<method name="Void SetTest()" attrs="134">\r