added tests for new javadoc behaviour, javac implementation of copying javadoc for getters/setters, and fixed pretty printer to no longer inject an extra newline at the top of javadoc.

This commit is contained in:
Reinier Zwitserloot committed 2013-07-08 21:20:24 +02:00
1 parent 0d5fea94da
commit 867929c79f
11 files changed
+219 -6

No files matched your search

@@ -530,7 +530,14 @@ public class PrettyCommentsPrinter extends JCTree.Visitor {
print("/**"); println();
int pos = 0;
int endpos = lineEndPos(dc, pos);
boolean atStart = true;
while (pos < dc.length()) {
String line = dc.substring(pos, endpos);
if (line.trim().isEmpty() && atStart) {
atStart = false;
continue;
}
atStart = false;
align();
print(" *");
if (pos < dc.length() && dc.charAt(pos) > ' ') print(" ");
@@ -1,9 +1,13 @@
/* cmt *//* cmt2 */ /* cmt3 */ /*bla */
public class CommentsInterspersed {
/** javadoc for field */
/**
* javadoc for field
*/
private int x;
/* bla2 */ private String test = "foo"; //$NON-NLS-1$
/** Javadoc on method */
/**
* Javadoc on method
*/
public native void gwtTest(); /*-{
javascript;
}-*/
@@ -3,7 +3,9 @@ class DelegateWithDeprecated {
private interface Bar {
@Deprecated
void deprecatedAnnotation();
/** @deprecated */
/**
* @deprecated
*/
void deprecatedComment();
void notDeprecated();
}
@@ -10,6 +10,9 @@ class GetterDeprecated {
public int getAnnotation() {
return this.annotation;
}
/**
* @deprecated
*/
@java.lang.Deprecated
@java.lang.SuppressWarnings("all")
public int getJavadoc() {
@@ -0,0 +1,100 @@
class GetterSetterJavadoc1 {
/**
* Some text
*/
private int fieldName;
@java.lang.SuppressWarnings("all")
public GetterSetterJavadoc1() {
}
/**
* Getter section
*
* @return Sky is blue
*/
@java.lang.SuppressWarnings("all")
public int getFieldName() {
return this.fieldName;
}
/**
* Some text
*
* @param fieldName Hello, World
*/
@java.lang.SuppressWarnings("all")
public void setFieldName(final int fieldName) {
this.fieldName = fieldName;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof GetterSetterJavadoc1)) return false;
final GetterSetterJavadoc1 other = (GetterSetterJavadoc1)o;
if (!other.canEqual((java.lang.Object)this)) return false;
if (this.getFieldName() != other.getFieldName()) return false;
return true;
}
@java.lang.SuppressWarnings("all")
public boolean canEqual(final java.lang.Object other) {
return other instanceof GetterSetterJavadoc1;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
final int PRIME = 31;
int result = 1;
result = result * PRIME + this.getFieldName();
return result;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public java.lang.String toString() {
return "GetterSetterJavadoc1(fieldName=" + this.getFieldName() + ")";
}
}
class GetterSetterJavadoc2 {
/**
* Some text
*/
private int fieldName;
/**
* Some text
*
* @return Sky is blue
*/
@java.lang.SuppressWarnings("all")
public int getFieldName() {
return this.fieldName;
}
/**
* Some text
*
* @param fieldName Hello, World
*/
@java.lang.SuppressWarnings("all")
public void setFieldName(final int fieldName) {
this.fieldName = fieldName;
}
}
class GetterSetterJavadoc3 {
/**
* Some text
*/
private int fieldName;
/**
* Getter section
* @return Sky is blue
*/
@java.lang.SuppressWarnings("all")
public int getFieldName() {
return this.fieldName;
}
/**
* Setter section
* @param fieldName Hello, World
*/
@java.lang.SuppressWarnings("all")
public void setFieldName(final int fieldName) {
this.fieldName = fieldName;
}
}
@@ -0,0 +1,24 @@
/**
* Doc on package
*/
package testPackage;
/** Weird doc */
/**
* Doc on class
*/
class JavadocGenerally {
/**
* Doc on field
*/
private int someField;
/**
* Doc on method
*/
public void test() {
}
/**
* Doc on inner
*/
public interface TestingInner {
}
}
@@ -10,6 +10,9 @@ class SetterDeprecated {
public void setAnnotation(final int annotation) {
this.annotation = annotation;
}
/**
* @deprecated
*/
@java.lang.Deprecated
@java.lang.SuppressWarnings("all")
public void setJavadoc(final int javadoc) {
@@ -1,12 +1,16 @@
import /* cmt */ lombok./* cmt2 */Getter /* cmt3 */ ;
public /*bla */ class CommentsInterspersed {
/** javadoc for field */
/**
* javadoc for field
*/
private int x;
private /* bla2 */ @Getter String test = "foo"; //$NON-NLS-1$
/** Javadoc on method */
/**
* Javadoc on method
*/
public native void gwtTest(); /*-{
javascript;
}-*/
@@ -6,7 +6,9 @@ class DelegateWithDeprecated {
private interface Bar {
@Deprecated
void deprecatedAnnotation();
/** @deprecated */
/**
* @deprecated
*/
void deprecatedComment();
void notDeprecated();
}
@@ -0,0 +1,37 @@
@lombok.Data
class GetterSetterJavadoc1 {
/**
* Some text
*
* @param fieldName Hello, World
* --- GETTER ---
* Getter section
*
* @return Sky is blue
*/
private int fieldName;
}
class GetterSetterJavadoc2 {
/**
* Some text
*
* @param fieldName Hello, World
* @return Sky is blue
*/
@lombok.Getter @lombok.Setter private int fieldName;
}
class GetterSetterJavadoc3 {
/**
* Some text
*
* **SETTER**
* Setter section
* @param fieldName Hello, World
* **GETTER**
* Getter section
* @return Sky is blue
*/
@lombok.Getter @lombok.Setter private int fieldName;
}
@@ -0,0 +1,27 @@
/**
* Doc on package
*/
package testPackage;
/** Weird doc */
/**
* Doc on class
*/
class JavadocGenerally {
/**
* Doc on field
*/
private int someField;
/**
* Doc on method
*/
public void test() {
}
/**
* Doc on inner
*/
public interface TestingInner {
}
}