Expose missing members of Array to prep for dotnet/corefxdotnet/coreclr#9998. (dotne...
authorDan Moseley <danmose@microsoft.com>
Tue, 12 Jul 2016 20:26:53 +0000 (13:26 -0700)
committerGitHub <noreply@github.com>
Tue, 12 Jul 2016 20:26:53 +0000 (13:26 -0700)
* Expose missing members of Array to prep for dotnet/corefxdotnet/coreclr#9998. modelgen.exe is helpful.

* Remove dead code

* Implement Array.LongLength.

* Revert "Implement Array.LongLength."

This reverts commit dotnet/coreclr@fdf7e96172d3b816551b827b6a45fbc692b0551d.

* Revert "Remove dead code"

This reverts commit dotnet/coreclr@432087c2d6f826db93fa30a07476dc2decb12633.

* Expose Array.GetLongLength from VM

Commit migrated from https://github.com/dotnet/coreclr/commit/3e9d46373f7067f140c8a2881d87c82d132727da

src/coreclr/src/mscorlib/model.xml
src/coreclr/src/vm/ecalllist.h

index 881ce97..4598093 100644 (file)
       <Member Name="Clear(System.Array,System.Int32,System.Int32)" />
       <Member Name="Clone" />
       <Member Name="ConstrainedCopy(System.Array,System.Int32,System.Array,System.Int32,System.Int32)" />
+      <Member Name="ConvertAll&lt;TInput,TOutput&gt;(TInput[],System.Converter&lt;TInput,TOutput&gt;)" />
       <Member Name="Copy(System.Array,System.Array,System.Int32)" />
+      <Member Name="Copy(System.Array,System.Array,System.Int64)" />
       <Member Name="Copy(System.Array,System.Int32,System.Array,System.Int32,System.Int32)" />
+      <Member Name="Copy(System.Array,System.Int64,System.Array,System.Int64,System.Int64)" />
       <Member Name="CopyTo(System.Array,System.Int32)" />
+      <Member Name="CopyTo(System.Array,System.Int64)" />
       <Member Name="CreateInstance(System.Type,System.Int32)" />
+      <Member Name="CreateInstance(System.Type,System.Int32,System.Int32)" />
+      <Member Name="CreateInstance(System.Type,System.Int32,System.Int32,System.Int32)" />
       <Member Name="CreateInstance(System.Type,System.Int32[])" />
       <Member Name="CreateInstance(System.Type,System.Int32[],System.Int32[])" />
-      <Member Name="ForEach&lt;T&gt;(T[],System.Action&lt;T&gt;)" />
+      <Member Name="CreateInstance(System.Type,System.Int64[])" />
       <Member Name="Empty&lt;T&gt;" />
       <Member Name="Exists&lt;T&gt;(T[],System.Predicate&lt;T&gt;)" />
       <Member Name="Find&lt;T&gt;(T[],System.Predicate&lt;T&gt;)" />
       <Member Name="FindLastIndex&lt;T&gt;(T[],System.Int32,System.Int32,System.Predicate&lt;T&gt;)" />
       <Member Name="FindLastIndex&lt;T&gt;(T[],System.Int32,System.Predicate&lt;T&gt;)" />
       <Member Name="FindLastIndex&lt;T&gt;(T[],System.Predicate&lt;T&gt;)" />
+      <Member Name="ForEach&lt;T&gt;(T[],System.Action&lt;T&gt;)" />
       <Member Name="get_IsFixedSize" />
       <Member Name="get_IsReadOnly" />
       <Member Name="get_IsSynchronized" />
       <Member Name="get_Length" />
+      <Member Name="get_LongLength" />
       <Member Name="get_Rank" />
       <Member Name="get_SyncRoot" />
       <Member Name="GetEnumerator" />
       <Member Name="GetLength(System.Int32)" />
+      <Member Name="GetLongLength(System.Int32)" />
       <Member Name="GetLowerBound(System.Int32)" />
       <Member Name="GetUpperBound(System.Int32)" />
       <Member Name="GetValue(System.Int32)" />
+      <Member Name="GetValue(System.Int32,System.Int32)" />
+      <Member Name="GetValue(System.Int32,System.Int32,System.Int32)" />
       <Member Name="GetValue(System.Int32[])" />
+      <Member Name="GetValue(System.Int64)" />
+      <Member Name="GetValue(System.Int64,System.Int64)" />
+      <Member Name="GetValue(System.Int64,System.Int64,System.Int64)" />
+      <Member Name="GetValue(System.Int64[])" />
       <Member Name="IndexOf(System.Array,System.Object)" />
       <Member Name="IndexOf(System.Array,System.Object,System.Int32)" />
       <Member Name="IndexOf(System.Array,System.Object,System.Int32,System.Int32)" />
       <Member Name="Reverse(System.Array)" />
       <Member Name="Reverse(System.Array,System.Int32,System.Int32)" />
       <Member Name="SetValue(System.Object,System.Int32)" />
+      <Member Name="SetValue(System.Object,System.Int32,System.Int32)" />
+      <Member Name="SetValue(System.Object,System.Int32,System.Int32,System.Int32)" />
       <Member Name="SetValue(System.Object,System.Int32[])" />
+      <Member Name="SetValue(System.Object,System.Int64)" />
+      <Member Name="SetValue(System.Object,System.Int64,System.Int64)" />
+      <Member Name="SetValue(System.Object,System.Int64,System.Int64,System.Int64)" />
+      <Member Name="SetValue(System.Object,System.Int64[])" />
       <Member Name="Sort(System.Array)" />
       <Member Name="Sort(System.Array,System.Array)" />
       <Member Name="Sort(System.Array,System.Array,System.Collections.IComparer)" />
       <Member MemberType="Property" Name="IsReadOnly" />
       <Member MemberType="Property" Name="IsSynchronized" />
       <Member MemberType="Property" Name="Length" />
+      <Member MemberType="Property" Name="LongLength" />
       <Member MemberType="Property" Name="Rank" />
       <Member MemberType="Property" Name="SyncRoot" />
       <Member Status="ImplRoot" Name="GetDataPtrOffsetInternal" /> <!-- EE -->
index 8675ddd..0b9ab3a 100644 (file)
@@ -1519,9 +1519,7 @@ FCFuncStart(gArrayFuncs)
     FCFuncElement("GetUpperBound", ArrayNative::GetUpperBound)
     FCIntrinsicSig("GetLength", &gsig_IM_Int_RetInt, ArrayNative::GetLength, CORINFO_INTRINSIC_Array_GetDimLength)
     FCFuncElement("get_Length", ArrayNative::GetLengthNoRank)
-#ifndef FEATURE_CORECLR
     FCFuncElement("get_LongLength", ArrayNative::GetLongLengthNoRank)
-#endif
     FCFuncElement("GetDataPtrOffsetInternal", ArrayNative::GetDataPtrOffsetInternal)
     FCFuncElement("Initialize", ArrayNative::Initialize)
     FCFuncElement("Copy", ArrayNative::ArrayCopy)