org.codehaus.groovy.tools.groovydoc
Class SimpleGroovyClassDocAssembler
java.lang.Object
org.codehaus.groovy.antlr.treewalker.VisitorAdapter
org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDocAssembler
- All Implemented Interfaces:
- GroovyTokenTypes, Visitor
public class SimpleGroovyClassDocAssembler
- extends VisitorAdapter
- implements GroovyTokenTypes
Fields inherited from interface org.codehaus.groovy.antlr.parser.GroovyTokenTypes |
ABSTRACT, ANNOTATION, ANNOTATION_ARRAY_INIT, ANNOTATION_DEF, ANNOTATION_FIELD_DEF, ANNOTATION_MEMBER_VALUE_PAIR, ANNOTATIONS, ARRAY_DECLARATOR, ASSIGN, AT, BAND, BAND_ASSIGN, BIG_SUFFIX, BLOCK, BNOT, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, CASE_GROUP, CLASS_DEF, CLOSABLE_BLOCK, CLOSABLE_BLOCK_OP, CLOSURE_LIST, COLON, COMMA, COMPARE_TO, CTOR_CALL, CTOR_IDENT, DEC, DIGIT, DIV, DIV_ASSIGN, DOLLAR, DOT, DYNAMIC_MEMBER, ELIST, ELVIS_OPERATOR, EMPTY_STAT, ENUM_CONSTANT_DEF, ENUM_DEF, EOF, EQUAL, ESC, EXPONENT, EXPR, EXTENDS_CLAUSE, FINAL, FLOAT_SUFFIX, FOR_CONDITION, FOR_EACH_CLAUSE, FOR_IN_ITERABLE, FOR_INIT, FOR_ITERATOR, GE, GT, HEX_DIGIT, IDENT, IMPLEMENTS_CLAUSE, IMPLICIT_PARAMETERS, IMPORT, INC, INDEX_OP, INSTANCE_INIT, INTERFACE_DEF, LABELED_ARG, LABELED_STAT, LAND, LBRACK, LCURLY, LE, LETTER, LIST_CONSTRUCTOR, LITERAL_as, LITERAL_assert, LITERAL_boolean, LITERAL_break, LITERAL_byte, LITERAL_case, LITERAL_catch, LITERAL_char, LITERAL_class, LITERAL_continue, LITERAL_def, LITERAL_default, LITERAL_double, LITERAL_else, LITERAL_enum, LITERAL_extends, LITERAL_false, LITERAL_finally, LITERAL_float, LITERAL_for, LITERAL_if, LITERAL_implements, LITERAL_import, LITERAL_in, LITERAL_instanceof, LITERAL_int, LITERAL_interface, LITERAL_long, LITERAL_native, LITERAL_new, LITERAL_null, LITERAL_package, LITERAL_private, LITERAL_protected, LITERAL_public, LITERAL_return, LITERAL_short, LITERAL_static, LITERAL_super, LITERAL_switch, LITERAL_synchronized, LITERAL_this, LITERAL_threadsafe, LITERAL_throw, LITERAL_throws, LITERAL_transient, LITERAL_true, LITERAL_try, LITERAL_void, LITERAL_volatile, LITERAL_while, LNOT, LOR, LPAREN, LT, MAP_CONSTRUCTOR, MEMBER_POINTER, METHOD_CALL, METHOD_DEF, MINUS, MINUS_ASSIGN, ML_COMMENT, MOD, MOD_ASSIGN, MODIFIERS, NLS, NOT_EQUAL, NULL_TREE_LOOKAHEAD, NUM_BIG_DECIMAL, NUM_BIG_INT, NUM_DOUBLE, NUM_FLOAT, NUM_INT, NUM_LONG, OBJBLOCK, ONE_NL, OPTIONAL_DOT, PACKAGE_DEF, PARAMETER_DEF, PARAMETERS, PLUS, PLUS_ASSIGN, POST_DEC, POST_INC, QUESTION, RANGE_EXCLUSIVE, RANGE_INCLUSIVE, RBRACK, RCURLY, REGEX_FIND, REGEX_MATCH, REGEXP_CTOR_END, REGEXP_LITERAL, REGEXP_SYMBOL, RPAREN, SELECT_SLOT, SEMI, SH_COMMENT, SL, SL_ASSIGN, SL_COMMENT, SLIST, SPREAD_ARG, SPREAD_DOT, SPREAD_MAP_ARG, SR, SR_ASSIGN, STAR, STAR_ASSIGN, STAR_STAR, STAR_STAR_ASSIGN, STATIC_IMPORT, STATIC_INIT, STRICTFP, STRING_CH, STRING_CONSTRUCTOR, STRING_CTOR_END, STRING_CTOR_MIDDLE, STRING_CTOR_START, STRING_LITERAL, STRING_NL, SUPER_CTOR_CALL, TRIPLE_DOT, TYPE, TYPE_ARGUMENT, TYPE_ARGUMENTS, TYPE_LOWER_BOUNDS, TYPE_PARAMETER, TYPE_PARAMETERS, TYPE_UPPER_BOUNDS, TYPECAST, UNARY_MINUS, UNARY_PLUS, UNUSED_CONST, UNUSED_DO, UNUSED_GOTO, VARIABLE_DEF, VARIABLE_PARAMETER_DEF, VOCAB, WILDCARD_TYPE, WS |
Method Summary |
private void |
addAnnotationRef(SimpleGroovyParameter node,
GroovySourceAST t)
|
private void |
addAnnotationRef(SimpleGroovyProgramElementDoc node,
GroovySourceAST t)
|
private void |
addAnnotationRefs(SimpleGroovyProgramElementDoc node,
java.util.List<GroovySourceAST> nodes)
|
private void |
addParametersTo(GroovySourceAST t,
SimpleGroovyExecutableMemberDoc executableMemberDoc)
|
private void |
adjustForAutomaticEnumMethods(SimpleGroovyClassDoc currentClassDoc)
|
private java.lang.String |
extractImportPath(GroovySourceAST t)
|
private java.lang.String |
extractName(GroovySourceAST typeNode)
|
private java.lang.String |
getAsText(GroovySourceAST typeNode,
java.lang.String defaultText)
|
private java.lang.String |
getChildTextFromSource(GroovySourceAST child)
|
private java.lang.String |
getChildTextFromSource(GroovySourceAST child,
java.lang.String tokens)
|
private SimpleGroovyClassDoc |
getCurrentClassDoc()
|
private SimpleGroovyClassDoc |
getCurrentOrTopLevelClassDoc(GroovySourceAST node)
|
private java.lang.String |
getDefaultValue(GroovySourceAST t)
|
private GroovySourceAST |
getGrandParentNode()
|
java.util.Map<java.lang.String,GroovyClassDoc> |
getGroovyClassDocs()
|
private java.lang.String |
getIdentFor(GroovySourceAST gpn)
|
private java.lang.String |
getJavaDocCommentsBeforeNode(GroovySourceAST t)
|
private GroovySourceAST |
getParentNode()
|
private java.lang.String |
getText(GroovySourceAST node)
|
private java.lang.String |
getTypeNodeAsText(GroovySourceAST typeNode,
java.lang.String defaultText)
|
private java.lang.String |
getTypeOrDefault(GroovySourceAST t)
|
private void |
handleDefaultValue(GroovySourceAST currentNode,
SimpleGroovyParameter parameter)
|
private boolean |
insideAnonymousInnerClass()
|
private boolean |
isFieldDefinition()
|
private boolean |
isMajorType(GroovySourceAST t)
|
private boolean |
isNested()
|
private boolean |
isTopLevelConstruct(GroovySourceAST node)
|
GroovySourceAST |
pop()
|
private void |
postProcessClassDocs()
|
private void |
processAnnotations(GroovySourceAST t,
SimpleGroovyProgramElementDoc node)
|
private boolean |
processModifiers(GroovySourceAST t,
SimpleGroovyMemberDoc memberDoc)
|
void |
push(GroovySourceAST t)
|
private java.lang.String |
recurseDownImportBranch(GroovySourceAST t)
|
void |
visitAnnotationDef(GroovySourceAST t,
int visit)
|
void |
visitAnnotationFieldDef(GroovySourceAST t,
int visit)
|
void |
visitClassDef(GroovySourceAST t,
int visit)
|
void |
visitCtorIdent(GroovySourceAST t,
int visit)
|
void |
visitEnumConstantDef(GroovySourceAST t,
int visit)
|
void |
visitEnumDef(GroovySourceAST t,
int visit)
|
void |
visitExtendsClause(GroovySourceAST t,
int visit)
|
void |
visitImplementsClause(GroovySourceAST t,
int visit)
|
void |
visitImport(GroovySourceAST t,
int visit)
|
void |
visitInterfaceDef(GroovySourceAST t,
int visit)
|
void |
visitMethodDef(GroovySourceAST t,
int visit)
|
void |
visitVariableDef(GroovySourceAST t,
int visit)
|
Methods inherited from class org.codehaus.groovy.antlr.treewalker.VisitorAdapter |
setUp, tearDown, visitAbstract, visitAnnotation, visitAnnotationArrayInit, visitAnnotationMemberValuePair, visitAnnotations, visitArrayDeclarator, visitAssign, visitAt, visitBand, visitBandAssign, visitBigSuffix, visitBlock, visitBnot, visitBor, visitBorAssign, visitBsr, visitBsrAssign, visitBxor, visitBxorAssign, visitCaseGroup, visitClosedBlock, visitClosureList, visitClosureOp, visitColon, visitComma, visitCompareTo, visitCtorCall, visitDec, visitDefault, visitDigit, visitDiv, visitDivAssign, visitDollar, visitDot, visitDynamicMember, visitElist, visitEmptyStat, visitEof, visitEqual, visitEsc, visitExponent, visitExpr, visitFinal, visitFloatSuffix, visitForCondition, visitForEachClause, visitForInit, visitForInIterable, visitForIterator, visitGe, visitGt, visitHexDigit, visitIdent, visitImplicitParameters, visitInc, visitIndexOp, visitInstanceInit, visitLabeledArg, visitLabeledStat, visitLand, visitLbrack, visitLcurly, visitLe, visitLetter, visitListConstructor, visitLiteralAs, visitLiteralAssert, visitLiteralBoolean, visitLiteralBreak, visitLiteralByte, visitLiteralCase, visitLiteralCatch, visitLiteralChar, visitLiteralClass, visitLiteralContinue, visitLiteralDef, visitLiteralDefault, visitLiteralDouble, visitLiteralElse, visitLiteralEnum, visitLiteralExtends, visitLiteralFalse, visitLiteralFinally, visitLiteralFloat, visitLiteralFor, visitLiteralIf, visitLiteralImplements, visitLiteralImport, visitLiteralIn, visitLiteralInstanceof, visitLiteralInt, visitLiteralInterface, visitLiteralLong, visitLiteralNative, visitLiteralNew, visitLiteralNull, visitLiteralPackage, visitLiteralPrivate, visitLiteralProtected, visitLiteralPublic, visitLiteralReturn, visitLiteralShort, visitLiteralStatic, visitLiteralSuper, visitLiteralSwitch, visitLiteralSynchronized, visitLiteralThis, visitLiteralThreadsafe, visitLiteralThrow, visitLiteralThrows, visitLiteralTransient, visitLiteralTrue, visitLiteralTry, visitLiteralVoid, visitLiteralVolatile, visitLiteralWhile, visitLnot, visitLor, visitLparen, visitLt, visitMapConstructor, visitMemberPointer, visitMethodCall, visitMinus, visitMinusAssign, visitMlComment, visitMod, visitModAssign, visitModifiers, visitNls, visitNotEqual, visitNullTreeLookahead, visitNumBigDecimal, visitNumBigInt, visitNumDouble, visitNumFloat, visitNumInt, visitNumLong, visitObjblock, visitOneNl, visitOptionalDot, visitPackageDef, visitParameterDef, visitParameters, visitPlus, visitPlusAssign, visitPostDec, visitPostInc, visitQuestion, visitRangeExclusive, visitRangeInclusive, visitRbrack, visitRcurly, visitRegexFind, visitRegexMatch, visitRegexpCtorEnd, visitRegexpLiteral, visitRegexpSymbol, visitRparen, visitSelectSlot, visitSemi, visitShComment, visitSl, visitSlAssign, visitSlComment, visitSlist, visitSpreadArg, visitSpreadDot, visitSpreadMapArg, visitSr, visitSrAssign, visitStar, visitStarAssign, visitStarStar, visitStarStarAssign, visitStaticImport, visitStaticInit, visitStrictfp, visitStringCh, visitStringConstructor, visitStringCtorEnd, visitStringCtorMiddle, visitStringCtorStart, visitStringLiteral, visitStringNl, visitSuperCtorCall, visitTripleDot, visitType, visitTypeArgument, visitTypeArguments, visitTypecast, visitTypeLowerBounds, visitTypeParameter, visitTypeParameters, visitTypeUpperBounds, visitUnaryMinus, visitUnaryPlus, visitUnusedConst, visitUnusedDo, visitUnusedGoto, visitVariableParameterDef, visitVocab, visitWildcardType, visitWs |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FS
private static final java.lang.String FS
- See Also:
- Constant Field Values
PREV_JAVADOC_COMMENT_PATTERN
private static final java.util.regex.Pattern PREV_JAVADOC_COMMENT_PATTERN
stack
private final java.util.Stack<GroovySourceAST> stack
classDocs
private java.util.Map<java.lang.String,GroovyClassDoc> classDocs
importedClassesAndPackages
private java.util.List<java.lang.String> importedClassesAndPackages
links
private java.util.List<LinkArgument> links
properties
private java.util.Properties properties
currentFieldDoc
private SimpleGroovyFieldDoc currentFieldDoc
sourceBuffer
private SourceBuffer sourceBuffer
packagePath
private java.lang.String packagePath
lastLineCol
private LineColumn lastLineCol
insideEnum
private boolean insideEnum
foundClasses
private java.util.Map<java.lang.String,SimpleGroovyClassDoc> foundClasses
isGroovy
private boolean isGroovy
SimpleGroovyClassDocAssembler
public SimpleGroovyClassDocAssembler(java.lang.String packagePath,
java.lang.String file,
SourceBuffer sourceBuffer,
java.util.List<LinkArgument> links,
java.util.Properties properties,
boolean isGroovy)
getGroovyClassDocs
public java.util.Map<java.lang.String,GroovyClassDoc> getGroovyClassDocs()
visitInterfaceDef
public void visitInterfaceDef(GroovySourceAST t,
int visit)
- Specified by:
visitInterfaceDef
in interface Visitor
- Overrides:
visitInterfaceDef
in class VisitorAdapter
visitEnumDef
public void visitEnumDef(GroovySourceAST t,
int visit)
- Specified by:
visitEnumDef
in interface Visitor
- Overrides:
visitEnumDef
in class VisitorAdapter
visitAnnotationDef
public void visitAnnotationDef(GroovySourceAST t,
int visit)
- Specified by:
visitAnnotationDef
in interface Visitor
- Overrides:
visitAnnotationDef
in class VisitorAdapter
visitClassDef
public void visitClassDef(GroovySourceAST t,
int visit)
- Specified by:
visitClassDef
in interface Visitor
- Overrides:
visitClassDef
in class VisitorAdapter
visitImport
public void visitImport(GroovySourceAST t,
int visit)
- Specified by:
visitImport
in interface Visitor
- Overrides:
visitImport
in class VisitorAdapter
visitExtendsClause
public void visitExtendsClause(GroovySourceAST t,
int visit)
- Specified by:
visitExtendsClause
in interface Visitor
- Overrides:
visitExtendsClause
in class VisitorAdapter
visitImplementsClause
public void visitImplementsClause(GroovySourceAST t,
int visit)
- Specified by:
visitImplementsClause
in interface Visitor
- Overrides:
visitImplementsClause
in class VisitorAdapter
visitCtorIdent
public void visitCtorIdent(GroovySourceAST t,
int visit)
- Specified by:
visitCtorIdent
in interface Visitor
- Overrides:
visitCtorIdent
in class VisitorAdapter
visitMethodDef
public void visitMethodDef(GroovySourceAST t,
int visit)
- Specified by:
visitMethodDef
in interface Visitor
- Overrides:
visitMethodDef
in class VisitorAdapter
visitAnnotationFieldDef
public void visitAnnotationFieldDef(GroovySourceAST t,
int visit)
- Specified by:
visitAnnotationFieldDef
in interface Visitor
- Overrides:
visitAnnotationFieldDef
in class VisitorAdapter
visitEnumConstantDef
public void visitEnumConstantDef(GroovySourceAST t,
int visit)
- Specified by:
visitEnumConstantDef
in interface Visitor
- Overrides:
visitEnumConstantDef
in class VisitorAdapter
visitVariableDef
public void visitVariableDef(GroovySourceAST t,
int visit)
- Specified by:
visitVariableDef
in interface Visitor
- Overrides:
visitVariableDef
in class VisitorAdapter
postProcessClassDocs
private void postProcessClassDocs()
isNested
private boolean isNested()
isTopLevelConstruct
private boolean isTopLevelConstruct(GroovySourceAST node)
adjustForAutomaticEnumMethods
private void adjustForAutomaticEnumMethods(SimpleGroovyClassDoc currentClassDoc)
extractImportPath
private java.lang.String extractImportPath(GroovySourceAST t)
recurseDownImportBranch
private java.lang.String recurseDownImportBranch(GroovySourceAST t)
addAnnotationRef
private void addAnnotationRef(SimpleGroovyProgramElementDoc node,
GroovySourceAST t)
addAnnotationRef
private void addAnnotationRef(SimpleGroovyParameter node,
GroovySourceAST t)
addAnnotationRefs
private void addAnnotationRefs(SimpleGroovyProgramElementDoc node,
java.util.List<GroovySourceAST> nodes)
processAnnotations
private void processAnnotations(GroovySourceAST t,
SimpleGroovyProgramElementDoc node)
getDefaultValue
private java.lang.String getDefaultValue(GroovySourceAST t)
getChildTextFromSource
private java.lang.String getChildTextFromSource(GroovySourceAST child)
getChildTextFromSource
private java.lang.String getChildTextFromSource(GroovySourceAST child,
java.lang.String tokens)
isFieldDefinition
private boolean isFieldDefinition()
insideAnonymousInnerClass
private boolean insideAnonymousInnerClass()
processModifiers
private boolean processModifiers(GroovySourceAST t,
SimpleGroovyMemberDoc memberDoc)
getJavaDocCommentsBeforeNode
private java.lang.String getJavaDocCommentsBeforeNode(GroovySourceAST t)
isMajorType
private boolean isMajorType(GroovySourceAST t)
getText
private java.lang.String getText(GroovySourceAST node)
extractName
private java.lang.String extractName(GroovySourceAST typeNode)
getTypeOrDefault
private java.lang.String getTypeOrDefault(GroovySourceAST t)
getTypeNodeAsText
private java.lang.String getTypeNodeAsText(GroovySourceAST typeNode,
java.lang.String defaultText)
getAsText
private java.lang.String getAsText(GroovySourceAST typeNode,
java.lang.String defaultText)
addParametersTo
private void addParametersTo(GroovySourceAST t,
SimpleGroovyExecutableMemberDoc executableMemberDoc)
handleDefaultValue
private void handleDefaultValue(GroovySourceAST currentNode,
SimpleGroovyParameter parameter)
push
public void push(GroovySourceAST t)
- Specified by:
push
in interface Visitor
- Overrides:
push
in class VisitorAdapter
pop
public GroovySourceAST pop()
- Specified by:
pop
in interface Visitor
- Overrides:
pop
in class VisitorAdapter
getParentNode
private GroovySourceAST getParentNode()
getGrandParentNode
private GroovySourceAST getGrandParentNode()
getCurrentOrTopLevelClassDoc
private SimpleGroovyClassDoc getCurrentOrTopLevelClassDoc(GroovySourceAST node)
getCurrentClassDoc
private SimpleGroovyClassDoc getCurrentClassDoc()
getIdentFor
private java.lang.String getIdentFor(GroovySourceAST gpn)
Copyright © ${year} The Codehaus. All Rights Reserved.