org.eclipse.wst.jsdt.core.dom

## Class Comment

- java.lang.Object
- - org.eclipse.wst.jsdt.core.dom.ASTNode
  - - org.eclipse.wst.jsdt.core.dom.Comment

Direct Known Subclasses:
  BlockComment, JSdoc, LineComment

    public abstract class Comment
    extends ASTNode

Abstract base class for all AST nodes that represent comments. There are exactly three kinds of comment: line comments (`LineComment`), block comments (`BlockComment`), and doc comments (`JSdoc`).

     Comment:
         LineComment
         BlockComment
         JSdoc

Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

### Field Summary

### Fields inherited from class org.eclipse.wst.jsdt.core.dom.ASTNode

`ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_NAME, ARRAY_TYPE, ARROW_FUNCTION_EXPRESSION, ASSIGNMENT, ASSIGNMENT_NAME, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, DEBUGGER_STATEMENT, DO_STATEMENT, EMPTY_EXPRESSION, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, EXPORT_DECLARATION, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_IN_STATEMENT, FOR_OF_STATEMENT, FOR_STATEMENT, FUNCTION_DECLARATION, FUNCTION_DECLARATION_STATEMENT, FUNCTION_EXPRESSION, FUNCTION_INVOCATION, FUNCTION_REF, FUNCTION_REF_PARAMETER, IF_STATEMENT, IMPORT_DECLARATION, INFERRED_TYPE, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, JAVASCRIPT_UNIT, JSDOC, LABELED_STATEMENT, LINE_COMMENT, LIST_EXPRESSION, MALFORMED, MEMBER_REF, META_PROPERTY, MODIFIER, MODULE_SPECIFIER, NULL_LITERAL, NUMBER_LITERAL, OBJECT_LITERAL, OBJECT_LITERAL_FIELD, OBJECT_NAME, ORIGINAL, PACKAGE_DECLARATION, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, REGULAR_EXPRESSION_LITERAL, REST_ELEMENT_NAME, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_VARIABLE_DECLARATION, SPREAD_ELEMENT, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SWITCH_CASE, SWITCH_STATEMENT, TAG_ELEMENT, TEMPLATE_ELEMENT, TEMPLATE_LITERAL, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_EXPRESSION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, UNDEFINED_LITERAL, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WITH_STATEMENT, YIELD_EXPRESSION`

### Method Summary

All Methods Instance Methods Concrete Methods
`ASTNode` `getAlternateRoot()` Returns the root AST node that this comment occurs within, or `null` if none (or not recorded).
`boolean` `isBlockComment()` Returns whether this comment is a block comment (`BlockComment`).
`boolean` `isDocComment()` Returns whether this comment is a doc comment (`JSdoc`).
`boolean` `isLineComment()` Returns whether this comment is a line comment (`LineComment`).
`void` `setAlternateRoot(ASTNode root)` Returns the root AST node that this comment occurs within, or `null` if none (or not recorded).

### Methods inherited from class org.eclipse.wst.jsdt.core.dom.ASTNode

`accept, copySubtree, copySubtrees, delete, equals, getAST, getBodyChild, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Method Detail

#### isBlockComment

    public final boolean isBlockComment()

Returns whether this comment is a block comment (`BlockComment`).

Returns:
  `true` if this is a block comment, and `false` otherwise

#### isLineComment

    public final boolean isLineComment()

Returns whether this comment is a line comment (`LineComment`).

Returns:
  `true` if this is a line comment, and `false` otherwise

#### isDocComment

    public final boolean isDocComment()

Returns whether this comment is a doc comment (`JSdoc`).

Returns:
  `true` if this is a doc comment, and `false` otherwise

#### getAlternateRoot

    public final ASTNode getAlternateRoot()

Returns the root AST node that this comment occurs within, or `null` if none (or not recorded).

Typically, the comment nodes created while parsing a compilation unit are not considered descendents of the normal AST root, namely an `JavaScriptUnit`. Instead, these comment nodes exist outside the normal AST and each is a root in its own right. This optional property provides a well-known way to navigate from the comment to the javaScript unit in such cases. Note that the alternate root property is not one of the comment node's children. It is simply a reference to a node.

Returns:
  the alternate root node, or `null` if none
See Also:
  `setAlternateRoot(ASTNode)`

#### setAlternateRoot

    public final void setAlternateRoot(ASTNode root)

Returns the root AST node that this comment occurs within, or `null` if none (or not recorded).

Parameters:
  `root` - the alternate root node, or `null` if none
See Also:
  `getAlternateRoot()`