summaryrefslogtreecommitdiff
path: root/src/classlibnative/bcltype/arraynative.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/classlibnative/bcltype/arraynative.cpp')
-rw-r--r--src/classlibnative/bcltype/arraynative.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/classlibnative/bcltype/arraynative.cpp b/src/classlibnative/bcltype/arraynative.cpp
index a40aed5619..eb5cfd9340 100644
--- a/src/classlibnative/bcltype/arraynative.cpp
+++ b/src/classlibnative/bcltype/arraynative.cpp
@@ -133,21 +133,29 @@ FCIMPL1(INT64, ArrayNative::GetLongLengthNoRank, ArrayBase* array)
FCIMPLEND
-FCIMPL1(INT32, ArrayNative::GetDataPtrOffsetInternal, ArrayBase* array)
+FCIMPL1(void*, ArrayNative::GetRawArrayData, ArrayBase* array)
{
FCALL_CONTRACT;
VALIDATEOBJECT(array);
- if (array == NULL)
- FCThrow(kNullReferenceException);
+ _ASSERTE(array != NULL);
- return ArrayBase::GetDataPtrOffset(array->GetMethodTable());
+ return array->GetDataPtr();
}
FCIMPLEND
+FCIMPL1(INT32, ArrayNative::GetElementSize, ArrayBase* array)
+{
+ FCALL_CONTRACT;
+
+ VALIDATEOBJECT(array);
+ _ASSERTE(array != NULL);
+ return (INT32)array->GetComponentSize();
+}
+FCIMPLEND