alias - Fix aliases
[rune.git] / TODO
1
2 * infinintely recursive aliases are not currently detected.
3
4   alias a = b;
5   alias b = a + 1;
6
7 * get rid of need for 'auto' prefix in casts to distinguish between
8   variable names and types.
9
10 * share pens and also share font information
11
12 * Handle simple exposure aggregation and use clip to limit update area
13   (see tests/gfxslider.d)
14
15 isg for resolveType's assigned expression
16
17 DONE<<constructors/destructors for global elements and statement blocks>> ?
18
19 reference type resolver and libi/exp.c TOK_STRIND and TOK_CALL.  METHOD CALLS
20 via ref types (don't screw around with the exp, dup it instead?)
21
22 refine: check validity of procedural refinements (different return types,
23 argument types, etc...)
24
25 is d_Search now obsolete?
26
27 Add support for 'super'.  Either 'structural->super' or 'super.<blah>'
28 (for method calls), to access a superclass element that has been overloaded
29 in the subclass.
30
31 We need to be able to copy a statement tree (procedure body) on the fly
32 in the resolver, when a subclass is passed to a procedure expecting its
33 superclass.  We have to keep track of compound types (proc args) in order
34 to cache the various versions of the procedure.  We already have d_Super
35 to locate the procedure in a TOK_CALL if the procedure body is NULL.
36 The modified procedure must be able to pass a different sg_Level.. i.e.
37 the one for the superclass, even though all of its types will be the actual
38 class (the subclass), in order to locate the proper declaration (a declaration
39 may be invisible to the subclass but visible to the superclass).
40
41 --
42
43
44 int ary[exp] ... the exp is shared across qualifications of the type,
45 which is bad.  Also, what about compound types sharing the same semgroup?
46 that should be ok.
47
48 double check 'isglobal' TF/SGF_NOINIT cache
49
50 cast procedures generally work but we really need to formalize
51 how ex_Type is set verses what the exp node really wants (e.g. for
52 procedures... look at ex_Type or look at the procdecl's return type?).
53
54 really fix cast... in libi/exp.c 
55
56 Check global scope when indirecting through a type or class rather 
57 then storage.  only allow global scope for storage in that case.
58
59 non-global procedure called through object -- automatic "this" reference.
60 procedures embedded in class accessing class elements?????  global vs
61 non-global
62
63 Implement STF_FORWARD checking (do not allow forward reference stack 
64 declarations to other decls at the same semantic level.)
65
66 Make procedural refinement work
67
68 Implement scope
69
70 Implement heap variables (implement as initialized pointers / use '@' ?)
71
72 Partial procedure args resolution
73
74 procedure pointers (point to the declaration)
75