public class JavadocReturnStatement extends ReturnStatement {
public char[] description;
+ public boolean empty = true;
public JavadocReturnStatement(int s, int e, char[] descr) {
super(null, s, e);
this.bits |= InsideJavadoc;
}
+ /* (non-Javadoc)
+ * @see org.eclipse.jdt.internal.compiler.ast.Statement#resolve(org.eclipse.jdt.internal.compiler.lookup.BlockScope)
+ */
public void resolve(BlockScope scope) {
MethodScope methodScope = scope.methodScope();
- MethodBinding methodBinding;
+ MethodBinding methodBinding = null;
TypeBinding methodType =
(methodScope.referenceContext instanceof AbstractMethodDeclaration)
? ((methodBinding = ((AbstractMethodDeclaration) methodScope.referenceContext).binding) == null
: VoidBinding;
if (methodType == null || methodType == VoidBinding) {
scope.problemReporter().javadocUnexpectedTag(this.sourceStart, this.sourceEnd);
+ } else if (this.empty) {
+ scope.problemReporter().javadocEmptyReturnTag(this.sourceStart, this.sourceEnd);
}
}
/* (non-Javadoc)
+ * @see org.eclipse.jdt.internal.compiler.ast.Statement#printStatement(int, java.lang.StringBuffer)
+ */
+ public StringBuffer printStatement(int tab, StringBuffer output) {
+ printIndent(tab, output).append("return"); //$NON-NLS-1$
+ if (description != null )
+ output.append(' ').append(description);
+ return output;
+ }
+
+ /* (non-Javadoc)
* Redefine to capture javadoc specific signatures
* @see org.eclipse.jdt.internal.compiler.ast.ASTNode#traverse(org.eclipse.jdt.internal.compiler.ASTVisitor, org.eclipse.jdt.internal.compiler.lookup.BlockScope)
*/