org.aspectj.org.eclipse.jdt.internal.formatter
Class FormatterCommentParser

java.lang.Object
  extended by org.aspectj.org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser
      extended by org.aspectj.org.eclipse.jdt.internal.compiler.parser.JavadocParser
          extended by org.aspectj.org.eclipse.jdt.internal.formatter.FormatterCommentParser
All Implemented Interfaces:
JavadocTagConstants, IJavaDocTagConstants

public class FormatterCommentParser
extends JavadocParser
implements IJavaDocTagConstants

Internal parser used for formatting javadoc comments.


Field Summary
 boolean parseHtmlTags
           
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.parser.JavadocParser
docComment, shouldReportProblems
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser
abort, ARGUMENT_RECOVERY, ARGUMENT_TYPE_RECOVERY, AST_STACK_INCREMENT, astLengthPtr, astLengthStack, astPtr, astStack, checkDocComment, COMPIL_PARSER, COMPLETION_PARSER, complianceLevel, deprecated, DOM_PARSER, EMPTY_ARGUMENT_RECOVERY, firstTagPosition, FORMATTER_COMMENT_PARSER, identifierLengthPtr, identifierLengthStack, identifierPositionStack, identifierPtr, identifierStack, index, inheritedPositions, inheritedPositionsPtr, inlineTagStart, inlineTagStarted, javadocEnd, javadocStart, javadocTextEnd, javadocTextStart, kind, lastBlockTagValue, lastIdentifierEndPosition, lineEnd, lineEnds, lineStarted, memberStart, PARSER_KIND, QUALIFIED_NAME_RECOVERY, reportProblems, returnStatement, scanner, SELECTION_PARSER, setJavadocPositions, source, SOURCE_PARSER, sourceLevel, sourceParser, starPosition, tagSourceEnd, tagSourceStart, tagValue, TEXT_PARSE, TEXT_VERIF, textStart, tokenPreviousPosition
 
Fields inherited from interface org.aspectj.org.eclipse.jdt.internal.formatter.comment.IJavaDocTagConstants
BLOCK_FOOTER, BLOCK_FOOTER_LENGTH, BLOCK_HEADER, BLOCK_HEADER_LENGTH, BLOCK_LINE_PREFIX, BLOCK_LINE_PREFIX_LENGTH, COMMENT_ROOT_TAGS, COMMENT_TAG_PREFIX, JAVADOC_BREAK_TAGS, JAVADOC_BREAK_TAGS_ID, JAVADOC_CLOSED_TAG, JAVADOC_CODE_TAGS, JAVADOC_CODE_TAGS_ID, JAVADOC_HEADER, JAVADOC_HEADER_LENGTH, JAVADOC_IMMUTABLE_TAGS, JAVADOC_IMMUTABLE_TAGS_ID, JAVADOC_NEWLINE_TAGS, JAVADOC_PARAM_TAGS, JAVADOC_SEPARATOR_TAGS, JAVADOC_SEPARATOR_TAGS_ID, JAVADOC_SINGLE_BREAK_TAG, JAVADOC_SINGLE_BREAK_TAG_ID, JAVADOC_SINGLE_TAGS_ID, JAVADOC_STAR, JAVADOC_TAG_PREFIX, JAVADOC_TAGS_ID_MASK, JAVADOC_TAGS_INDEX_MASK, LINE_COMMENT_PREFIX, LINE_COMMENT_PREFIX_LENGTH, LINK_TAG_POSTFIX, LINK_TAG_PREFIX, LINK_TAG_PREFIX_STRING
 
Fields inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.parser.JavadocTagConstants
ALL_TAGS_LENGTH, BLOCK_IDX, BLOCK_TAGS, BLOCK_TAGS_LENGTH, CLASS_TAGS, COMPILATION_UNIT_TAGS, FIELD_TAGS, HREF_TAG, INLINE_IDX, INLINE_TAGS, INLINE_TAGS_LENGTH, JAVADOC_TAG_TYPE, METHOD_TAGS, NO_TAG_VALUE, ORDERED_TAGS_NUMBER, PACKAGE_TAGS, PARAM_TAG_EXPECTED_ORDER, SEE_TAG_EXPECTED_ORDER, TAG_AUTHOR, TAG_AUTHOR_LENGTH, TAG_AUTHOR_VALUE, TAG_CATEGORY, TAG_CATEGORY_LENGTH, TAG_CATEGORY_VALUE, TAG_CODE, TAG_CODE_LENGTH, TAG_CODE_VALUE, TAG_DEPRECATED, TAG_DEPRECATED_LENGTH, TAG_DEPRECATED_VALUE, TAG_DOC_ROOT, TAG_DOC_ROOT_LENGTH, TAG_DOC_ROOT_VALUE, TAG_EXCEPTION, TAG_EXCEPTION_LENGTH, TAG_EXCEPTION_VALUE, TAG_INHERITDOC, TAG_INHERITDOC_LENGTH, TAG_INHERITDOC_VALUE, TAG_LINK, TAG_LINK_LENGTH, TAG_LINK_VALUE, TAG_LINKPLAIN, TAG_LINKPLAIN_LENGTH, TAG_LINKPLAIN_VALUE, TAG_LITERAL, TAG_LITERAL_LENGTH, TAG_LITERAL_VALUE, TAG_NAMES, TAG_OTHERS_VALUE, TAG_PARAM, TAG_PARAM_LENGTH, TAG_PARAM_VALUE, TAG_RETURN, TAG_RETURN_LENGTH, TAG_RETURN_VALUE, TAG_SEE, TAG_SEE_LENGTH, TAG_SEE_VALUE, TAG_SERIAL, TAG_SERIAL_DATA, TAG_SERIAL_DATA_LENGTH, TAG_SERIAL_DATA_VALUE, TAG_SERIAL_FIELD, TAG_SERIAL_FIELD_LENGTH, TAG_SERIAL_FIELD_VALUE, TAG_SERIAL_LENGTH, TAG_SERIAL_VALUE, TAG_SINCE, TAG_SINCE_LENGTH, TAG_SINCE_VALUE, TAG_THROWS, TAG_THROWS_LENGTH, TAG_THROWS_VALUE, TAG_TYPE_BLOCK, TAG_TYPE_INLINE, TAG_TYPE_NONE, TAG_VALUE, TAG_VALUE_LENGTH, TAG_VALUE_VALUE, TAG_VERSION, TAG_VERSION_LENGTH, TAG_VERSION_VALUE, THROWS_TAG_EXPECTED_ORDER
 
Constructor Summary
FormatterCommentParser(long sourceLevel)
           
 
Method Summary
protected  java.lang.Object createArgumentReference(char[] name, int dim, boolean isVarargs, java.lang.Object ref, long[] dimPositions, long argNamePos)
           
protected  boolean createFakeReference(int start)
           
protected  java.lang.Object createFieldReference(java.lang.Object receiver)
           
protected  java.lang.Object createMethodReference(java.lang.Object receiver, java.util.List arguments)
           
protected  void createTag()
           
protected  java.lang.Object createTypeReference(int primitiveToken)
           
 boolean parse(int start, int end)
           
protected  boolean parseHtmlTag(int previousPosition, int endTextPosition)
          Parse a possible HTML tag like: <code> <br> <h?> Note that the default is to do nothing!
protected  boolean parseIdentifierTag(boolean report)
           
protected  boolean parseParam()
           
protected  boolean parseReference()
           
protected  boolean parseReturn()
           
protected  boolean parseTag(int previousPosition)
           
protected  boolean parseThrows()
           
protected  boolean pushParamName(boolean isTypeParam)
           
protected  boolean pushSeeRef(java.lang.Object statement)
           
protected  void pushText(int start, int end)
           
protected  boolean pushThrowName(java.lang.Object typeRef)
           
protected  void refreshInlineTagPosition(int previousPosition)
           
protected  void setInlineTagStarted(boolean started)
           
 java.lang.String toDebugString()
           
 java.lang.String toString()
           
protected  void updateDocComment()
           
protected  boolean verifyEndLine(int textPosition)
           
protected  boolean verifySpaceOrEndComment()
           
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.parser.JavadocParser
checkDeprecation, createReturnStatement, getParsedTypeDeclaration, parseInheritDocTag, parseSimpleTag, refreshReturnStatement
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser
commentParse, consumeToken, getCurrentTokenType, parseArguments, parseHref, parseMember, parseQualifiedName, peekChar, pushIdentifier, pushOnAstStack, readChar, readToken, readTokenAndConsume, readTokenSafely, recordInheritedPosition, syntaxRecoverQualifiedName, updateLineEnd
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

parseHtmlTags

public boolean parseHtmlTags
Constructor Detail

FormatterCommentParser

public FormatterCommentParser(long sourceLevel)
Method Detail

parse

public boolean parse(int start,
                     int end)

createArgumentReference

protected java.lang.Object createArgumentReference(char[] name,
                                                   int dim,
                                                   boolean isVarargs,
                                                   java.lang.Object ref,
                                                   long[] dimPositions,
                                                   long argNamePos)
                                            throws InvalidInputException
Overrides:
createArgumentReference in class JavadocParser
Throws:
InvalidInputException

createFakeReference

protected boolean createFakeReference(int start)
Overrides:
createFakeReference in class AbstractCommentParser

createFieldReference

protected java.lang.Object createFieldReference(java.lang.Object receiver)
                                         throws InvalidInputException
Overrides:
createFieldReference in class JavadocParser
Throws:
InvalidInputException

createMethodReference

protected java.lang.Object createMethodReference(java.lang.Object receiver,
                                                 java.util.List arguments)
                                          throws InvalidInputException
Overrides:
createMethodReference in class JavadocParser
Throws:
InvalidInputException

createTag

protected void createTag()
Overrides:
createTag in class JavadocParser

createTypeReference

protected java.lang.Object createTypeReference(int primitiveToken)
Overrides:
createTypeReference in class JavadocParser

parseHtmlTag

protected boolean parseHtmlTag(int previousPosition,
                               int endTextPosition)
                        throws InvalidInputException
Description copied from class: AbstractCommentParser
Parse a possible HTML tag like: Note that the default is to do nothing!

Overrides:
parseHtmlTag in class AbstractCommentParser
Parameters:
previousPosition - The position of the '<' character on which the tag might start
endTextPosition - The position of the end of the previous text
Returns:
true if a valid html tag has been parsed, false otherwise
Throws:
InvalidInputException - If any problem happens during the parse in this area

parseIdentifierTag

protected boolean parseIdentifierTag(boolean report)
Overrides:
parseIdentifierTag in class AbstractCommentParser

parseParam

protected boolean parseParam()
                      throws InvalidInputException
Overrides:
parseParam in class JavadocParser
Throws:
InvalidInputException

parseReference

protected boolean parseReference()
                          throws InvalidInputException
Overrides:
parseReference in class AbstractCommentParser
Throws:
InvalidInputException

parseReturn

protected boolean parseReturn()
Overrides:
parseReturn in class JavadocParser

parseTag

protected boolean parseTag(int previousPosition)
                    throws InvalidInputException
Overrides:
parseTag in class JavadocParser
Throws:
InvalidInputException

parseThrows

protected boolean parseThrows()
Overrides:
parseThrows in class JavadocParser

pushParamName

protected boolean pushParamName(boolean isTypeParam)
Overrides:
pushParamName in class JavadocParser

pushSeeRef

protected boolean pushSeeRef(java.lang.Object statement)
Overrides:
pushSeeRef in class JavadocParser

pushText

protected void pushText(int start,
                        int end)
Overrides:
pushText in class JavadocParser

pushThrowName

protected boolean pushThrowName(java.lang.Object typeRef)
Overrides:
pushThrowName in class JavadocParser

refreshInlineTagPosition

protected void refreshInlineTagPosition(int previousPosition)
Overrides:
refreshInlineTagPosition in class JavadocParser

setInlineTagStarted

protected void setInlineTagStarted(boolean started)
Overrides:
setInlineTagStarted in class AbstractCommentParser
Parameters:
started - the inlineTagStarted to set

toString

public java.lang.String toString()
Overrides:
toString in class JavadocParser

toDebugString

public java.lang.String toDebugString()

updateDocComment

protected void updateDocComment()
Overrides:
updateDocComment in class JavadocParser

verifyEndLine

protected boolean verifyEndLine(int textPosition)
Overrides:
verifyEndLine in class AbstractCommentParser

verifySpaceOrEndComment

protected boolean verifySpaceOrEndComment()
Overrides:
verifySpaceOrEndComment in class AbstractCommentParser