refactor(compiler): replace Comment nodes with leadingComments property (#38811)
Common AST formats such as TS and Babel do not use a separate node for comments, but instead attach comments to other AST nodes. Previously this was worked around in TS by creating a `NotEmittedStatement` AST node to attach the comment to. But Babel does not have this facility, so it will not be a viable approach for the linker. This commit refactors the output AST, to remove the `CommentStmt` and `JSDocCommentStmt` nodes. Instead statements have a collection of `leadingComments` that are rendered/attached to the final AST nodes when being translated or printed. PR Close #38811
This commit is contained in:

committed by
Misko Hevery

parent
7fb388f929
commit
d795a00137
@ -94,3 +94,12 @@ export function ngToTsDiagnostic(ng: Diagnostic): ts.Diagnostic {
|
||||
length,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Strip multiline comment start and end markers from the `commentText` string.
|
||||
*
|
||||
* This will also strip the JSDOC comment start marker (`/**`).
|
||||
*/
|
||||
export function stripComment(commentText: string): string {
|
||||
return commentText.replace(/^\/\*\*?/, '').replace(/\*\/$/, '').trim();
|
||||
}
|
||||
|
Reference in New Issue
Block a user