<s> package org . eclipse . jdt . internal . compiler . ast ; import org . eclipse . jdt . internal . compiler . ASTVisitor ; import org . eclipse . jdt . internal . compiler . lookup . * ; public class JavadocReturnStatement extends ReturnStatement { public JavadocReturnStatement ( int s , int e ) { super ( null , s , e ) ; this . bits |= ( ASTNode . InsideJavadoc | ASTNode . Empty ) ; } public void resolve ( BlockScope scope ) { MethodScope methodScope = scope . methodScope ( ) ; MethodBinding methodBinding = null ; TypeBinding methodType = ( methodScope . referenceContext instanceof AbstractMethodDeclaration ) ? ( ( methodBinding = ( ( AbstractMethodDeclaration ) methodScope . referenceContext ) . binding ) == null ? null : methodBinding . returnType ) : TypeBinding . VOID ; if ( methodType == null || methodType == TypeBinding . VOID ) { scope . problemReporter ( ) . javadocUnexpectedTag ( this . sourceStart , this . sourceEnd ) ; } else if ( ( this . bits & ASTNode . Empty ) != 0 ) { scope . problemReporter ( ) . javadocEmptyReturnTag ( this . sourceStart , this . sourceEnd , scope . getDeclarationModifiers ( ) ) ; } } public StringBuffer printStatement ( int tab , StringBuffer output ) { printIndent ( tab , output ) . append ( "return" ) ; if ( ( this . bits & ASTNode . Empty ) == 0 ) output . append ( ' ' ) . append ( " <not empty>" ) ; return output ; } public void traverse ( ASTVisitor visitor , BlockScope scope ) { visitor . visit ( this , scope ) ; visitor . endVisit ( this , scope ) ; } public void traverse ( ASTVisitor visitor , ClassScope scope ) { visitor . visit ( this , scope ) ; visitor . endVisit ( this , scope ) ; } } </s>