-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathArray.cs
232 lines (190 loc) · 9.01 KB
/
Array.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
using System;
using JSIL.Meta;
using JSIL.Proxy;
namespace JSIL.Proxies {
using System.Collections;
using System.Collections.Generic;
[JSProxy(
typeof(Array),
memberPolicy: JSProxyMemberPolicy.ReplaceDeclared
)]
public abstract class ArrayProxy {
[JSChangeName("length")]
[JSAlwaysAccessAsProperty]
[JSNeverReplace]
[JSIsPure]
abstract public int Length { get; }
[JSChangeName("length")]
[JSAlwaysAccessAsProperty]
[JSNeverReplace]
[JSIsPure]
abstract public long LongLength { get; }
[JSReplacement("$$jsilcore.System.Array.prototype.GetLowerBound.call($this, $dimension)")]
public int GetLowerBound(int dimension)
{
throw new InvalidOperationException();
}
[JSReplacement("$$jsilcore.System.Array.prototype.GetUpperBound.call($this, $dimension)")]
public int GetUpperBound(int dimension)
{
throw new InvalidOperationException();
}
[JSReplacement("$$jsilcore.System.Array.prototype.GetLength.call($this, $dimension)")]
public int GetLength(int dimension)
{
throw new InvalidOperationException();
}
[JSReplacement("JSIL.Array.New($elementType, $size)")]
public static System.Array CreateInstance (Type elementType, Int32 size) {
throw new InvalidOperationException();
}
[JSReplacement("JSIL.MultidimensionalArray.CreateInstance(elementType, $sizes)")]
public static System.Array CreateInstance (Type elementType, AnyType[] sizes) {
throw new InvalidOperationException();
}
[JSReplacement("JSIL.MultidimensionalArray.New($elementType, [0, $sizeX, 0, $sizeY])")]
public static System.Array CreateInstance (Type elementType, AnyType sizeX, AnyType sizeY) {
throw new InvalidOperationException();
}
[JSReplacement("JSIL.MultidimensionalArray.New($elementType, [0, $sizeX, 0, $sizeY, 0, $sizeZ])")]
public static System.Array CreateInstance (Type elementType, AnyType sizeX, AnyType sizeY, AnyType sizeZ) {
throw new InvalidOperationException();
}
[JSExternal]
[JSRuntimeDispatch]
public abstract void Set (params AnyType[] values);
[JSExternal]
[JSRuntimeDispatch]
public abstract AnyType Get (params AnyType[] values);
[JSReplacement("$this.Get.apply($this, $indices)")]
public abstract AnyType GetValue (AnyType[] indices);
[JSReplacement("$this.Set.apply($this, $indices.concat([$value]))")]
public abstract void SetValue (AnyType value, AnyType[] indices);
[JSReplacement("JSIL.Array.IndexOf($array, 0, $array.length, $value)")]
public static int IndexOf (Array array, AnyType value) {
throw new InvalidOperationException();
}
[JSReplacement("JSIL.Array.IndexOf($array, $startIndex, $array.length - $startIndex, $value)")]
public static int IndexOf (Array array, AnyType value, int startIndex) {
throw new InvalidOperationException();
}
[JSReplacement("JSIL.Array.IndexOf($array, $startIndex, $count, $value)")]
public static int IndexOf(Array array, AnyType value, int startIndex, int count)
{
throw new InvalidOperationException();
}
[JSReplacement("JSIL.Array.IndexOf($array, 0, $array.length, $value)")]
public static int IndexOf<T> (T[] array, T value) {
throw new InvalidOperationException();
}
[JSReplacement("JSIL.Array.IndexOf($array, $startIndex, $array.length - $startIndex, $value)")]
public static int IndexOf<T> (T[] array, T value, int startIndex) {
throw new InvalidOperationException();
}
[JSReplacement("JSIL.Array.IndexOf($array, $startIndex, $count, $value)")]
public static int IndexOf<T>(T[] array, T value, int startIndex, int count)
{
throw new InvalidOperationException();
}
[JSReplacement("JSIL.Array.Clone($this)")]
public object Clone () {
throw new InvalidOperationException();
}
[JSReplacement("JSIL.Array.Erase($array, $etypeof(array), $index, $length)")]
public static extern void Clear (Array array, int index, int length);
[JSReplacement("JSIL.Array.CopyTo($this, $array, $destinationIndex)")]
public void CopyTo (Array array, int destinationIndex) {
throw new InvalidOperationException();
}
[JSReplacement("Array.prototype.sort.call($array)")]
public static void Sort (AnyType[] array) {
throw new InvalidOperationException();
}
[JSReplacement("Array.prototype.sort.call($array)")]
public static void Sort<T> (T[] array) {
throw new InvalidOperationException();
}
[JSReplacement("JSIL.GetEnumerator($this)")]
[JSIsPure]
[JSResultIsNew]
public System.Collections.IEnumerator GetEnumerator () {
throw new InvalidOperationException();
}
[JSReplacement("JSIL.BinarySearch($$jsilcore.System.Object, Array.prototype.slice.call($array), 0, $array.length, $value, null)")]
public static int BinarySearch(Array array, object value)
{
throw new InvalidOperationException();
}
[JSReplacement("JSIL.BinarySearch($$jsilcore.System.Object, Array.prototype.slice.call($array), 0, $array.length, $value, $comparer)")]
public static int BinarySearch(Array array, object value, IComparer comparer)
{
throw new InvalidOperationException();
}
[JSReplacement("JSIL.BinarySearch($$jsilcore.System.Object, Array.prototype.slice.call($array), $startIndex, $length, $value, null)")]
public static int BinarySearch(Array array, int startIndex, int length, object value)
{
throw new InvalidOperationException();
}
[JSReplacement("JSIL.BinarySearch($$jsilcore.System.Object, Array.prototype.slice.call($array), $startIndex, $length, $value, $comparer)")]
public static int BinarySearch(Array array, int startIndex, int length, object value, IComparer comparer)
{
throw new InvalidOperationException();
}
[JSReplacement("JSIL.BinarySearch($typeof(value), Array.prototype.slice.call($array), 0, $array.length, $value, null)")]
public static int BinarySearch<T>(T[] array, T value)
{
throw new InvalidOperationException();
}
[JSReplacement("JSIL.BinarySearch($typeof(value), Array.prototype.slice.call($array), 0, $array.length, $value, $comparer)")]
public static int BinarySearch<T>(T[] array, T value, IComparer<T> comparer)
{
throw new InvalidOperationException();
}
[JSReplacement("JSIL.BinarySearch($typeof(value), Array.prototype.slice.call($array), $startIndex, $length, $value, null)")]
public static int BinarySearch<T>(T[] array, int startIndex, int length, T value)
{
throw new InvalidOperationException();
}
[JSReplacement("JSIL.BinarySearch($typeof(value), Array.prototype.slice.call($array), $startIndex, $length, $value, $comparer)")]
public static int BinarySearch<T>(T[] array, int startIndex, int length, T value, IComparer<T> comparer)
{
throw new InvalidOperationException();
}
[JSReplacement("JSIL.Array.New($elementType, $size)")]
internal static System.Array UnsafeCreateInstance(Type elementType, Int32 size)
{
throw new InvalidOperationException();
}
[JSReplacement("JSIL.MultidimensionalArray.CreateInstance($elementType, $sizes)")]
internal static System.Array UnsafeCreateInstance(Type elementType, AnyType[] sizes)
{
throw new InvalidOperationException();
}
[JSReplacement("JSIL.MultidimensionalArray.New($elementType, [0, $sizeX, 0, $sizeY])")]
internal static System.Array UnsafeCreateInstance(Type elementType, AnyType sizeX, AnyType sizeY)
{
throw new InvalidOperationException();
}
[JSReplacement("JSIL.MultidimensionalArray.New($elementType, [0, $sizeX, 0, $sizeY, 0, $sizeZ])")]
internal static System.Array UnsafeCreateInstance(Type elementType, AnyType sizeX, AnyType sizeY, AnyType sizeZ)
{
throw new InvalidOperationException();
}
/*Mono methods*/
[JSReplacement("$array[$index]")]
internal static T UnsafeLoad<T>(T[] array, int index)
{
throw new InvalidOperationException();
}
[JSReplacement("$array[$index] = $value")]
internal static void UnsafeStore<T>(T[] array, int index, T value)
{
throw new InvalidOperationException();
}
[JSReplacement("$instance")]
internal static R UnsafeMov<S, R>(S instance)
{
throw new InvalidOperationException();
}
}
}