]> git.buserror.net Git - polintos/scott/priv.git/blob - idlcomp/DONE-TODO
Add first draft of marshalling spec
[polintos/scott/priv.git] / idlcomp / DONE-TODO
1 Allow "class a.b" as well as/instead of "namespace a class b" in
2 type definitions.
3
4 Replace use of ordinary "string" with reference-counted "String".
5
6 Implement aliases, that can be used to import other namespaces or
7 specific elements thereof as if they were defined in the current
8 namespace, optionally with a different name.  They can also be used
9 simply to define an alias within a namespace.
10
11 Implement typedefs, which are like aliases, but which are treated as
12 distinct types for type-checking purposes.  Typedefs should not be
13 allowed on namespaces themselves (for now, at least... Maybe when/if
14 virtual classes are added that can change).
15
16 Finish semantic routines and generate output (mostly done).
17
18 Implement the importation of compiled types.
19
20 Add implicit System.Object inheritance.
21
22 Allow symbols defined in the current and ancestor namespaces to
23 override those elsewhere in the search path without ambiguity,
24 favoring closer namespaces.
25
26 Come up with a proper set of namespace search rules.
27
28 Implement loop detection for constant initialization.
29
30 C++: Constructors for easy struct initialization
31
32 C++: Array<> initializers for constant strings
33
34 Implement autorelease pools.  Until then, I'm not going to bother
35 fixing some memory leaks.  Partially done -- the interfaces exist,
36 but the implementation doesn't (anything autoreleased will just leak
37 for now).  Note that before it is implemented, code that assumes a
38 newly allocated object has refcount 1 needs to be fixed to
39 assume/accept the possibility that it has been autoreleased.