-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.txt
55 lines (47 loc) · 1.81 KB
/
TODO.txt
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
ObjC:
- Support value types:
- Public static fields
- support include dependencies for type parameters, support for dipendencies for covariant return types.
Suggested solution: create a correct tree of dependencies and print base types without any methods (just fields and base types?) in order in "OCTypes.h"
- Better handke CBGetHashCode
- Finish support for delegates:
GCHandle methods should cast between (id) <-> void * with __bridge cast
General
- Support optional parameters constructors
- Add better support for detecting main partial declarations in some way
=============================================
- Error for use of string type in DllImport methods/delegates
- Check why cbstring in return types in delegates fails (.NET core runtime problem?)
- Better symbol replacement framework. Support to replace method generic calls, property/indexer usages. Better Support If the calls are "ABI" compatible
(mening for example the method call has same number/types of parameters) or a total replacement of the call with something else is needed.
Example, calling a method instead of a field
- Check to not allow Explicit Interface Implementation;
Possible support:
- Box for enums on non native methods (look getJavaType() in JavaExtensions_Types.cs)
- structs:
blittable structs with simple types [StructLayout(LayoutKind.Sequential)] can be supported
by annotating Fields with getter/setter C methods
and generating JNI code
- yield;
- delegates;
- by ref:
public class ByRef
{
static <T> ByRef<T> Create(T value)
{
return new ByRef<T>(value);
}
static <T> ByRef<T> Create()
{
return new ByRef<T>();
}
}
public class ByRef<T> : ByRef
{
public T value;
ByRef<T>() { }
ByRef<T>(T value)
{
this.value = value;
}
}