Commit | Line | Data |
682a6e93 |
1 | --------------------------------------------------------------------- |
2 | TODO |
3 | --------------------------------------------------------------------- |
4 | |
cdfaa4cc |
5 | - check out what chromatic said: |
6 | |
7 | I think you can check the class key <_ISA to see if it has expired. |
8 | |
682a6e93 |
9 | - switch to Context::Handle for method modifiers |
10 | |
11 | Should probably write some more tests to verify this works correctly |
12 | when we add it in, to make sure we don't break weird stuff. |
13 | |
14 | - add ::Attribute::Collection types |
15 | |
16 | mugwump was working on this ... |
17 | |
c54756cd |
18 | - do not bless methods unless asked |
19 | |
20 | We should turn off automagic method blessing for classes which are |
21 | not explictly asking for a metaclass. |
22 | |
682a6e93 |
23 | --------------------------------------------------------------------- |
24 | EXAMPLES TO WRITE |
25 | --------------------------------------------------------------------- |
26 | |
27 | - Prototype-style example |
28 | |
29 | Make a C::MOP::Class subclass which has an AUTOLOAD method, the |
30 | method will DWIM depending up on the value it is passed. |
31 | |
32 | Foo->prototype->say_hello(sub { print "Hello" }); |
33 | |
34 | This will turn into this: |
35 | |
36 | Foo->prototype->add_method('say_hello' => sub { print "Hello" }); |
37 | |
38 | I am not sure how we should handle non-method arguments, mostly |
39 | because those would be static prototype variables, which would |
40 | translate to class package variables. |
41 | |
682a6e93 |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |