Package com.google.javascript.rhino
Class JSDocInfoBuilder
- java.lang.Object
-
- com.google.javascript.rhino.JSDocInfoBuilder
-
public final class JSDocInfoBuilder extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description JSDocInfoBuilder(boolean parseDocumentation)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description boolean
addAuthor(java.lang.String author)
Adds an author to the current information.boolean
addReference(java.lang.String reference)
Adds a reference ("@see") to the current information.JSDocInfo
build(Node associatedNode)
Builds aJSDocInfo
object based on the populated information and returns it.boolean
hasParameter(java.lang.String name)
boolean
isConstructorRecorded()
boolean
isDescriptionRecorded()
Returns whether this builder recorded a description.boolean
isInterfaceRecorded()
boolean
isJavaDispatch()
boolean
isNgInjectRecorded()
Returns whether current JSDoc is annotated with@ngInject
.boolean
isPopulated()
Returns whether this builder is populated with information that can be used tobuild(com.google.javascript.rhino.Node)
aJSDocInfo
object.boolean
isPopulatedWithFileOverview()
Returns whether this builder is populated with information that can be used tobuild(com.google.javascript.rhino.Node)
aJSDocInfo
object that has a fileoverview tag.void
markAnnotation(java.lang.String annotation, int lineno, int charno)
Adds a marker to the current JSDocInfo and populates the marker with the annotation information.void
markName(java.lang.String name, int lineno, int charno)
Deprecated.Use #markName(String, StaticSourceFile, int, int)void
markName(java.lang.String name, StaticSourceFile file, int lineno, int charno)
Adds a name declaration to the current marker.void
markText(java.lang.String text, int startLineno, int startCharno, int endLineno, int endCharno)
Adds a textual block to the current marker.void
markTypeNode(Node typeNode, int lineno, int startCharno, int endLineno, int endCharno, boolean hasLC)
Adds a type declaration to the current marker.boolean
recordBaseType(JSTypeExpression jsType)
Records a base type.boolean
recordBlockDescription(java.lang.String description)
Records a block-level description.boolean
recordClassTemplateTypeNames(java.util.List<java.lang.String> names)
Records a template type name.boolean
recordConsistentIdGenerator()
Records that theJSDocInfo
being built should have itsJSDocInfo.isConsistentIdGenerator()
flag set totrue
.boolean
recordConstancy()
boolean
recordConstructor()
boolean
recordDefineType(JSTypeExpression type)
Records the type of a define.boolean
recordDeprecated()
boolean
recordDeprecationReason(java.lang.String reason)
Records the deprecation reason.boolean
recordDescription(java.lang.String description)
Records a description giving context for translation (i18n).boolean
recordDict()
boolean
recordEnumParameterType(JSTypeExpression type)
Records a parameter type to an enum.boolean
recordExport()
boolean
recordExpose()
boolean
recordExtendedInterface(JSTypeExpression interfaceType)
Records an extended interface type.boolean
recordExterns()
boolean
recordFileOverview(java.lang.String description)
Records a fileoverview description.boolean
recordHiddenness()
boolean
recordIdGenerator()
boolean
recordImplementedInterface(JSTypeExpression interfaceName)
Records an implemented interface.boolean
recordImplicitCast()
boolean
recordInterface()
boolean
recordJavaDispatch()
boolean
recordLends(java.lang.String name)
Records that we're lending to another name.boolean
recordMeaning(java.lang.String meaning)
Records a meaning giving context for translation (i18n).boolean
recordModifies(java.util.Set<java.lang.String> modifies)
Records the list of modifies warnings.boolean
recordNgInject(boolean ngInject)
Records that we'd like to add$inject
property inferred from parameters.boolean
recordNoAlias()
boolean
recordNoCompile()
boolean
recordNoShadow()
boolean
recordNoSideEffects()
Records that theJSDocInfo
being built should have itsJSDocInfo.isNoSideEffects()
flag set totrue
.boolean
recordNoTypeCheck()
void
recordOriginalCommentString(java.lang.String sourceComment)
Sets the original JSDoc comment string.boolean
recordOverride()
boolean
recordParameter(java.lang.String parameterName, JSTypeExpression type)
Records a typed parameter.boolean
recordParameterDescription(java.lang.String parameterName, java.lang.String description)
Records a parameter's description.boolean
recordPreserveTry()
Records that theJSDocInfo
being built should have itsJSDocInfo.shouldPreserveTry()
flag set totrue
.boolean
recordReturnDescription(java.lang.String description)
Records a return descriptionboolean
recordReturnType(JSTypeExpression jsType)
Records a return type.boolean
recordStableIdGenerator()
Records that theJSDocInfo
being built should have itsJSDocInfo.isStableIdGenerator()
flag set totrue
.boolean
recordStruct()
boolean
recordSuppressions(java.util.Set<java.lang.String> suppressions)
Records the list of suppressed warnings.boolean
recordTemplateTypeNames(java.util.List<java.lang.String> names)
Records a template type name.boolean
recordThisType(JSTypeExpression type)
Records a type for@this
annotation.boolean
recordThrowDescription(JSTypeExpression type, java.lang.String description)
Records a throw type's description.boolean
recordThrowType(JSTypeExpression type)
Records a thrown type.boolean
recordType(JSTypeExpression type)
Records a type.boolean
recordTypedef(JSTypeExpression type)
Records that theJSDocInfo
being built should be populated with atypedef
'd type.boolean
recordVersion(java.lang.String version)
Records the version.boolean
recordVisibility(JSDocInfo.Visibility visibility)
Records a visibility.boolean
shouldParseDocumentation()
-
-
-
Method Detail
-
recordOriginalCommentString
public void recordOriginalCommentString(java.lang.String sourceComment)
Sets the original JSDoc comment string. This is a no-op if the builder isn't configured to record documentation.
-
shouldParseDocumentation
public boolean shouldParseDocumentation()
-
isPopulated
public boolean isPopulated()
Returns whether this builder is populated with information that can be used tobuild(com.google.javascript.rhino.Node)
aJSDocInfo
object.
-
isPopulatedWithFileOverview
public boolean isPopulatedWithFileOverview()
Returns whether this builder is populated with information that can be used tobuild(com.google.javascript.rhino.Node)
aJSDocInfo
object that has a fileoverview tag.
-
isDescriptionRecorded
public boolean isDescriptionRecorded()
Returns whether this builder recorded a description.
-
build
public JSDocInfo build(Node associatedNode)
Builds aJSDocInfo
object based on the populated information and returns it. Once this method is called, the builder can be reused to build anotherJSDocInfo
object.- Parameters:
associatedNode
- The source node containing the JSDoc.- Returns:
- a
JSDocInfo
object populated with the values given to this builder. If no value was populated, this method simply returnsnull
-
markAnnotation
public void markAnnotation(java.lang.String annotation, int lineno, int charno)
Adds a marker to the current JSDocInfo and populates the marker with the annotation information.
-
markText
public void markText(java.lang.String text, int startLineno, int startCharno, int endLineno, int endCharno)
Adds a textual block to the current marker.
-
markTypeNode
public void markTypeNode(Node typeNode, int lineno, int startCharno, int endLineno, int endCharno, boolean hasLC)
Adds a type declaration to the current marker.
-
markName
@Deprecated public void markName(java.lang.String name, int lineno, int charno)
Deprecated.Use #markName(String, StaticSourceFile, int, int)Adds a name declaration to the current marker.
-
markName
public void markName(java.lang.String name, StaticSourceFile file, int lineno, int charno)
Adds a name declaration to the current marker.
-
recordBlockDescription
public boolean recordBlockDescription(java.lang.String description)
Records a block-level description.- Returns:
true
if the description was recorded.
-
recordVisibility
public boolean recordVisibility(JSDocInfo.Visibility visibility)
Records a visibility.- Returns:
true
if the visibility was recorded andfalse
if it was already defined
-
recordParameter
public boolean recordParameter(java.lang.String parameterName, JSTypeExpression type)
Records a typed parameter.- Returns:
true
if the typed parameter was recorded andfalse
if a parameter with the same name was already defined
-
recordParameterDescription
public boolean recordParameterDescription(java.lang.String parameterName, java.lang.String description)
Records a parameter's description.- Returns:
true
if the parameter's description was recorded andfalse
if a parameter with the same name was already defined
-
recordTemplateTypeNames
public boolean recordTemplateTypeNames(java.util.List<java.lang.String> names)
Records a template type name.- Returns:
true
if the template type name was recorded andfalse
if a template type name was already defined.
-
recordClassTemplateTypeNames
public boolean recordClassTemplateTypeNames(java.util.List<java.lang.String> names)
Records a template type name.- Returns:
true
if the template type name was recorded andfalse
if a template type name was already defined.
-
recordThrowType
public boolean recordThrowType(JSTypeExpression type)
Records a thrown type.
-
recordThrowDescription
public boolean recordThrowDescription(JSTypeExpression type, java.lang.String description)
Records a throw type's description.- Returns:
true
if the type's description was recorded andfalse
if a description with the same type was already defined
-
addAuthor
public boolean addAuthor(java.lang.String author)
Adds an author to the current information.
-
addReference
public boolean addReference(java.lang.String reference)
Adds a reference ("@see") to the current information.
-
recordConsistentIdGenerator
public boolean recordConsistentIdGenerator()
Records that theJSDocInfo
being built should have itsJSDocInfo.isConsistentIdGenerator()
flag set totrue
.- Returns:
true
if the consistentIdGenerator flag was recorded andfalse
if it was already recorded
-
recordStableIdGenerator
public boolean recordStableIdGenerator()
Records that theJSDocInfo
being built should have itsJSDocInfo.isStableIdGenerator()
flag set totrue
.- Returns:
true
if the stableIdGenerator flag was recorded andfalse
if it was already recorded.
-
recordVersion
public boolean recordVersion(java.lang.String version)
Records the version.
-
recordDeprecationReason
public boolean recordDeprecationReason(java.lang.String reason)
Records the deprecation reason.
-
recordSuppressions
public boolean recordSuppressions(java.util.Set<java.lang.String> suppressions)
Records the list of suppressed warnings.
-
recordModifies
public boolean recordModifies(java.util.Set<java.lang.String> modifies)
Records the list of modifies warnings.
-
recordType
public boolean recordType(JSTypeExpression type)
Records a type.- Returns:
true
if the type was recorded andfalse
if it is invalid or was already defined
-
recordTypedef
public boolean recordTypedef(JSTypeExpression type)
Records that theJSDocInfo
being built should be populated with atypedef
'd type.
-
recordIdGenerator
public boolean recordIdGenerator()
- Returns:
true
if the idGenerator flag was recorded andfalse
if it was already recorded
-
recordReturnType
public boolean recordReturnType(JSTypeExpression jsType)
Records a return type.- Returns:
true
if the return type was recorded andfalse
if it is invalid or was already defined
-
recordReturnDescription
public boolean recordReturnDescription(java.lang.String description)
Records a return description- Returns:
true
if the return description was recorded andfalse
if it is invalid or was already defined
-
recordDefineType
public boolean recordDefineType(JSTypeExpression type)
Records the type of a define. 'Define' values are special constants that may be manipulated by the compiler. They are designed to mimic the #define command in the C preprocessor.
-
recordEnumParameterType
public boolean recordEnumParameterType(JSTypeExpression type)
Records a parameter type to an enum.- Returns:
true
if the enum's parameter type was recorded andfalse
if it was invalid or already defined
-
recordThisType
public boolean recordThisType(JSTypeExpression type)
Records a type for@this
annotation.- Returns:
true
if the type was recorded andfalse
if it is invalid or if it collided with@enum
or@type
annotations
-
recordBaseType
public boolean recordBaseType(JSTypeExpression jsType)
Records a base type.- Returns:
true
if the base type was recorded andfalse
if it was already defined
-
recordConstancy
public boolean recordConstancy()
- Returns:
true
if the constancy was recorded andfalse
if it was already defined
-
recordDescription
public boolean recordDescription(java.lang.String description)
Records a description giving context for translation (i18n).- Returns:
true
if the description was recorded andfalse
if the description was invalid or was already defined
-
recordMeaning
public boolean recordMeaning(java.lang.String meaning)
Records a meaning giving context for translation (i18n). Different meanings will result in different translations.- Returns:
true
If the meaning was successfully updated.
-
recordFileOverview
public boolean recordFileOverview(java.lang.String description)
Records a fileoverview description.- Returns:
true
if the description was recorded andfalse
if the description was invalid or was already defined.
-
recordHiddenness
public boolean recordHiddenness()
- Returns:
true
if the hiddenness was recorded andfalse
if it was already defined
-
recordNoCompile
public boolean recordNoCompile()
- Returns:
true
if the no compile flag was recorded andfalse
if it was already recorded
-
recordNoTypeCheck
public boolean recordNoTypeCheck()
- Returns:
true
if the no check flag was recorded andfalse
if it was already recorded
-
recordConstructor
public boolean recordConstructor()
- Returns:
true
if the constructor was recorded andfalse
if it was already defined or it was incompatible with the existing flags
-
isConstructorRecorded
public boolean isConstructorRecorded()
-
recordStruct
public boolean recordStruct()
- Returns:
true
if the struct was recorded andfalse
if it was already defined or it was incompatible with the existing flags
-
recordDict
public boolean recordDict()
- Returns:
true
if the dict was recorded andfalse
if it was already defined or it was incompatible with the existing flags
-
recordJavaDispatch
public boolean recordJavaDispatch()
- Returns:
true
if the javadispatch was recorded andfalse
if it was already defined or it was incompatible with the existing flags
-
isJavaDispatch
public boolean isJavaDispatch()
-
recordPreserveTry
public boolean recordPreserveTry()
Records that theJSDocInfo
being built should have itsJSDocInfo.shouldPreserveTry()
flag set totrue
.
-
recordOverride
public boolean recordOverride()
-
recordNoAlias
public boolean recordNoAlias()
-
recordDeprecated
public boolean recordDeprecated()
-
recordInterface
public boolean recordInterface()
- Returns:
true
if the flag was recorded andfalse
if it was already defined or it was incompatible with the existing flags
-
recordExport
public boolean recordExport()
-
recordExpose
public boolean recordExpose()
-
recordNoShadow
public boolean recordNoShadow()
-
recordImplicitCast
public boolean recordImplicitCast()
-
recordNoSideEffects
public boolean recordNoSideEffects()
Records that theJSDocInfo
being built should have itsJSDocInfo.isNoSideEffects()
flag set totrue
.
-
recordExterns
public boolean recordExterns()
-
isInterfaceRecorded
public boolean isInterfaceRecorded()
-
hasParameter
public boolean hasParameter(java.lang.String name)
- Returns:
- Whether a parameter of the given name has already been recorded.
-
recordImplementedInterface
public boolean recordImplementedInterface(JSTypeExpression interfaceName)
Records an implemented interface.
-
recordExtendedInterface
public boolean recordExtendedInterface(JSTypeExpression interfaceType)
Records an extended interface type.
-
recordLends
public boolean recordLends(java.lang.String name)
Records that we're lending to another name.
-
isNgInjectRecorded
public boolean isNgInjectRecorded()
Returns whether current JSDoc is annotated with@ngInject
.
-
recordNgInject
public boolean recordNgInject(boolean ngInject)
Records that we'd like to add$inject
property inferred from parameters.
-
-