mirror of
https://github.com/github/codeql-action.git
synced 2025-12-27 09:40:17 +08:00
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com> Co-authored-by: Henry Mercer <henrymercer@github.com>
49 lines
2.0 KiB
TypeScript
49 lines
2.0 KiB
TypeScript
import * as ts from "typescript";
|
|
import { AnyDescriptorProto, DescriptorRegistry } from "@protobuf-ts/plugin-framework";
|
|
export declare class CommentGenerator {
|
|
private readonly registry;
|
|
constructor(registry: DescriptorRegistry);
|
|
/**
|
|
* Adds comments from the .proto as a JSDoc block.
|
|
*
|
|
* Looks up comments for the given descriptor in
|
|
* the source code info.
|
|
*
|
|
* Adds `@deprecated` tag if the element is
|
|
* marked deprecated. Also adds @deprecated if
|
|
* the descriptor is a type (enum, message) and
|
|
* the entire .proto file is marked deprecated.
|
|
*
|
|
* Adds `@generated` tag with source code
|
|
* information.
|
|
*
|
|
* Leading detached comments are added as line
|
|
* comments in front of the JSDoc block.
|
|
*
|
|
* Trailing comments are a bit weird. For .proto
|
|
* enums and messages, they sit between open
|
|
* bracket and first member. A message seems to
|
|
* only ever have a trailing comment if it is
|
|
* empty. For a simple solution, trailing
|
|
* comments on enums and messages should simply
|
|
* be appended to the leading block so that the
|
|
* information is not discarded.
|
|
*/
|
|
addCommentsForDescriptor(node: ts.Node, descriptor: AnyDescriptorProto, trailingCommentsMode: 'appendToLeadingBlock' | 'trailingLines'): void;
|
|
/**
|
|
* Returns a block of source comments (no leading detached!),
|
|
* with @generated tags and @deprecated tag (if applicable).
|
|
*/
|
|
getCommentBlock(descriptor: AnyDescriptorProto, appendTrailingComments?: boolean): string;
|
|
/**
|
|
* Returns "@deprecated\n" if explicitly deprecated.
|
|
* For top level types, also returns "@deprecated\n" if entire file is deprecated.
|
|
* Otherwise, returns "".
|
|
*/
|
|
makeDeprecatedTag(descriptor: AnyDescriptorProto): "" | "@deprecated\n";
|
|
/**
|
|
* Creates string like "@generated from protobuf field: string foo = 1;"
|
|
*/
|
|
makeGeneratedTag(descriptor: AnyDescriptorProto): string;
|
|
}
|