forked from iskiselev/JSIL
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathArray.cs
More file actions
109 lines (87 loc) · 3.88 KB
/
Copy pathArray.cs
File metadata and controls
109 lines (87 loc) · 3.88 KB
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
using System;
using JSIL.Meta;
using JSIL.Proxy;
namespace JSIL.Proxies {
[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("JSIL.Array.New($elementType, $size)")]
public static System.Array CreateInstance (Type elementType, Int32 size) {
throw new InvalidOperationException();
}
[JSReplacement("JSIL.MultidimensionalArray.New.apply(null, [$elementType].concat($sizes))")]
public static System.Array CreateInstance (Type elementType, AnyType[] sizes) {
throw new InvalidOperationException();
}
[JSReplacement("JSIL.MultidimensionalArray.New($elementType, $sizeX, $sizeY)")]
public static System.Array CreateInstance (Type elementType, AnyType sizeX, AnyType sizeY) {
throw new InvalidOperationException();
}
[JSReplacement("JSIL.MultidimensionalArray.New($elementType, $sizeX, $sizeY, $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("Array.prototype.indexOf.call($array, $value)")]
public static int IndexOf (AnyType[] array, AnyType value) {
throw new InvalidOperationException();
}
[JSReplacement("Array.prototype.indexOf.call($array, $value, $startIndex)")]
public static int IndexOf (AnyType[] array, AnyType value, int startIndex) {
throw new InvalidOperationException();
}
[JSReplacement("Array.prototype.indexOf.call($array, $value)")]
public static int IndexOf<T> (T[] array, T value) {
throw new InvalidOperationException();
}
[JSReplacement("Array.prototype.indexOf.call($array, $value, $startIndex)")]
public static int IndexOf<T> (T[] array, T value, int startIndex) {
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();
}
}
}