BOO-986: Allow DefaultAttribute to work on parameters without an explicit type by...
[boo.git] / todo.txt
blob1ef7bd60ae04943ad1f62709a26badc2d3b8c118
1 Please refer to our issue tracker at\r
2 \r
3         http://jira.codehaus.org/secure/BrowseProject.jspa?id=10671\r
4         \r
5 for open issues.\r
6 \r
7 Those with patches are also listed here:\r
8 http://boo.codehaus.org/Open+Issues+With+Patches\r
9 \r
10 Named parameters:\r
11         def logHistoryFile(to: [required] fname, since: startDate as date):\r
12                 print fname\r
13                 \r
14         logHistoryFile(to: "foo.txt", since: date.Now - 10s)\r
16 All the issues on this file will be eventually moved there.\r
18 * optimize InitializeNameResolution step and NameResolutionService\r
19         * NamespaceEntity.IsModule(Type)\r
20         * NamespaceEntity.Add(Type)\r
21         * NamespaceEntity.GetChildNamespace(string)\r
22         * OrganizeAssemblyTypes(Assembly)\r
24 * split RuntimeServices\r
26 * InjectCasts\r
27         * simplificar EmitAssembly\r
29 * ProcessMethodBodies.LeaveConstructor deve inserir a chamado ao constructor\r
30 super APÓS qualquer validação:\r
31         * criar um StatementGroup com uma propriedade Priority  \r
32                 * Body.InsertIntoGroup(groupPriority, index, Statement)\r
33                 * Body.AddToGroup(groupPriority, Statement)\r
34                 * sentenças normais são consideradas com prioridade 10\r
35                 * validação de parâmetros pode ser inserida com prioridade 0\r
36                 * chamada ao constructor super com prioriedade 1\r
38 * cache da resolução de nomes entre compilações\r
40 * nomes de tipo primitivo podem ser utilizados em conversões:\r
42         int(Enum.Value), int("foo"), int(3.0)\r
44 * ITypeBinding.GetDefaultMember() as IBinding => ITypeBinding.GetDefaultMembers() as (IBinding)\r
46 * macros para o SharpDevelop em boo\r
48 * StatementGroup para permitir o agrupamento de statements com mesmo propósito\r
49 * binary literals: 0b001\r
50 * WARNING: property getter should return a value\r
51 * CompilerParameters.Properties (passed in the command line as -D:name=value just like nant)\r
52 * warning levels\r
53 * statically typed IEnumerator pattern\r
54 *  patterns ((in|is|isa) (not)?) (value1, value2), em outras palavras:\r
55         BinaryExpression(\r
56                 BinaryOperatorType.*,\r
57                 ReferenceExpression,\r
58                 TupleLiteralExpression)\r
59         devem ser transformados em:\r
61                 ((reference == value1) or (reference == value2))\r
62                 ((reference is value1) or (reference is value2))\r
63                 etc\r
64 * operadores de conversão (operator bool, operator string, etc)\r
65 * PreAttribute:\r
67         [pre(n > 0)]\r
68         def fatorial(n as int):\r
69                 return n*fatorial(n-1) if n > 1\r
70                 return 1\r
72 Optimizations\r
73 -----------\r
74 * otimização para chamadas a array.Length\r
75 * tail call prefix para funçoes recursivas com a ScanDirectories do rgrep.boo\r
76 * const expression unfolding\r
77 * proper tail recursion (fatorial)\r