diff options
author | Roel Spilker <r.spilker@gmail.com> | 2011-10-31 23:19:25 +0100 |
---|---|---|
committer | Roel Spilker <r.spilker@gmail.com> | 2011-10-31 23:19:25 +0100 |
commit | 70f778daa560a899abe91a4908cd37c70ff1f3b4 (patch) | |
tree | fbf77f10ebffc9da1ab59be25c4ff6499f9dc54a /src/utils/lombok/javac/java7 | |
parent | ed177bb7822f460bf7e3b07a1f5754f127842a63 (diff) | |
download | lombok-70f778daa560a899abe91a4908cd37c70ff1f3b4.tar.gz lombok-70f778daa560a899abe91a4908cd37c70ff1f3b4.tar.bz2 lombok-70f778daa560a899abe91a4908cd37c70ff1f3b4.zip |
Fixed delombok making a mess of comments (issue 284) for javac 6. delombok in java7 is now completely broken but we'll fix that next.
Diffstat (limited to 'src/utils/lombok/javac/java7')
-rw-r--r-- | src/utils/lombok/javac/java7/CommentCollectingScanner.java | 21 | ||||
-rw-r--r-- | src/utils/lombok/javac/java7/CommentCollectingScannerFactory.java | 8 |
2 files changed, 14 insertions, 15 deletions
diff --git a/src/utils/lombok/javac/java7/CommentCollectingScanner.java b/src/utils/lombok/javac/java7/CommentCollectingScanner.java index 2c588175..c1aec385 100644 --- a/src/utils/lombok/javac/java7/CommentCollectingScanner.java +++ b/src/utils/lombok/javac/java7/CommentCollectingScanner.java @@ -26,22 +26,21 @@ import java.nio.CharBuffer; import lombok.javac.Comment; import lombok.javac.Comment.EndConnection; import lombok.javac.Comment.StartConnection; -import lombok.javac.Comments; +import com.sun.tools.javac.util.List; +import com.sun.tools.javac.util.ListBuffer; import com.sun.tools.javac.parser.Scanner; public class CommentCollectingScanner extends Scanner { - private final Comments comments; + private final ListBuffer<Comment> comments = ListBuffer.lb(); private int endComment = 0; - public CommentCollectingScanner(CommentCollectingScannerFactory factory, CharBuffer charBuffer, Comments comments) { + public CommentCollectingScanner(CommentCollectingScannerFactory factory, CharBuffer charBuffer) { super(factory, charBuffer); - this.comments = comments; } - public CommentCollectingScanner(CommentCollectingScannerFactory factory, char[] input, int inputLength, Comments comments) { + public CommentCollectingScanner(CommentCollectingScannerFactory factory, char[] input, int inputLength) { super(factory, input, inputLength); - this.comments = comments; } @Override @@ -55,7 +54,7 @@ public class CommentCollectingScanner extends Scanner { EndConnection end = determineEndConnection(endPos); Comment comment = new Comment(prevEndPos, pos, endPos, content, start, end); - comments.add(comment); + comments.append(comment); } private EndConnection determineEndConnection(int pos) { @@ -72,7 +71,7 @@ public class CommentCollectingScanner extends Scanner { return first ? EndConnection.DIRECT_AFTER_COMMENT : EndConnection.AFTER_COMMENT; } } - + private StartConnection determineStartConnection(int from, int to) { if (from == to) { return StartConnection.DIRECT_AFTER_PREVIOUS; @@ -88,8 +87,12 @@ public class CommentCollectingScanner extends Scanner { } return StartConnection.AFTER_PREVIOUS; } - + private boolean isNewLine(char c) { return c == '\n' || c == '\r'; } + + public List<Comment> getComments() { + return comments.toList(); + } } diff --git a/src/utils/lombok/javac/java7/CommentCollectingScannerFactory.java b/src/utils/lombok/javac/java7/CommentCollectingScannerFactory.java index c6cf4011..757f44a1 100644 --- a/src/utils/lombok/javac/java7/CommentCollectingScannerFactory.java +++ b/src/utils/lombok/javac/java7/CommentCollectingScannerFactory.java @@ -23,14 +23,11 @@ package lombok.javac.java7; import java.nio.CharBuffer; -import lombok.javac.Comments; - import com.sun.tools.javac.parser.Scanner; import com.sun.tools.javac.parser.ScannerFactory; import com.sun.tools.javac.util.Context; public class CommentCollectingScannerFactory extends ScannerFactory { - private final Context context; public static void preRegister(final Context context) { if (context.get(scannerFactoryKey) == null) { @@ -49,13 +46,12 @@ public class CommentCollectingScannerFactory extends ScannerFactory { /** Create a new scanner factory. */ protected CommentCollectingScannerFactory(Context context) { super(context); - this.context = context; } @Override public Scanner newScanner(CharSequence input, boolean keepDocComments) { if (input instanceof CharBuffer) { - return new CommentCollectingScanner(this, (CharBuffer)input, context.get(Comments.class)); + return new CommentCollectingScanner(this, (CharBuffer)input); } char[] array = input.toString().toCharArray(); return newScanner(array, array.length, keepDocComments); @@ -63,6 +59,6 @@ public class CommentCollectingScannerFactory extends ScannerFactory { @Override public Scanner newScanner(char[] input, int inputLength, boolean keepDocComments) { - return new CommentCollectingScanner(this, input, inputLength, context.get(Comments.class)); + return new CommentCollectingScanner(this, input, inputLength); } } |