aboutsummaryrefslogtreecommitdiff
path: root/doc/TODO.txt
blob: 05734ce0ee227a1cf06e7fe5324e8d141eeedb0a (plain)
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
## Fix Eclipse's HandleCleanup

* Fix the AST.Node view of the innards of the method. Now nested applications of @Cleanup blow everything up.

* Replace the multi-catch block strategy at least with more catch blocks (all encapsulating try/catch blocks' caught types as well), or use sneakyThrow, which is even better.

* Fix PrintAST to always run at the very very very end.

## Fix eclipse's pointers

* We really need to do more work on setting positions properly.

## Eclipse insertion point for newly generated code

We need to figure out which of the bodyStart/bodyDeclarationStart/sourceStart blocks are used as where insertions happen, and set it to the entire line of a field and not just the annotation.

Don't forget to extend past the opening brace for @Data!

## Website

See the following for CC licences:

http://creativecommons.org/license/results-one?q_1=2&q_1=1&field_commercial=yes&field_derivatives=yes&field_jurisdiction=us&field_format=&field_worktitle=lombok&field_attribute_to_name=&field_attribute_to_url=&field_sourceurl=&field_morepermissionsurl=&lang=en_US&language=en_US&n_questions=3

## javadoc

Either just let people run lombokc and javadoc that, -or-, use a doclet and presumptively cast our way into javadoc's AST.

## lombokc

To keep comments, try:

com.sun.tools.javac.main.JavaCompiler.instance(context).keepComments = true;

## netbeans agent plugin

module: java.source
class: org.netbeans.modules.java.source.parsing.JavacParser

to instrument:

class: JavacTaskImpl

method1: public JCBlock reparseMethodBody(CompilationUnitTree topLevel, MethodTree methodBody, String newText, int annonIndex) {}
method2: public Iterable<? extends CompilationUnitTree> parse();

in either case, returned value could be null/empty. CompilationUnitTree are MethodTree are superinterfaces of JCCU and JCMD.

problem: the agent stops receiving requests to transform classes early in the netbeans load process.

Possible work-around: Rewrite the entire JavacTaskImpl.class file on disk. It's in:

/NetBeans 6.7 RC3.app/Contents/Resources/NetBeans/java2/modules/ext/javac-impl-nb-7.0-b07.jar

Some work has been done in the addNetbeans branch.

## website

## javadoc

## screencasts

## installers

## hook into class file writing

on javac: com.sun.tools.javac.jvm.ClassWriter.writeClassFile(OutputStream out, ClassSymbol c) - hack the one line where out.write() is called.