feat: add limited support of comments inside js call.

This commit is contained in:
Artem Kobzar
2022-04-07 15:32:03 +02:00
committed by teamcity
parent 6e30ce2763
commit 45e3c94a8b
20 changed files with 890 additions and 20 deletions
@@ -1138,6 +1138,15 @@ public class JsToStringGenerationVisitor extends JsVisitor {
newline();
}
@Override
public void visitMultiLineComment(@NotNull JsMultiLineComment comment) {
p.print("/*");
p.print(comment.getText());
p.print("*/");
needSemi = false;
newline();
}
@Override
public void visitDocComment(@NotNull JsDocComment comment) {
boolean asSingleLine = comment.getTags().size() == 1;
@@ -0,0 +1,22 @@
/*
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.js.backend.ast
class JsMultiLineComment(val text: String) : SourceInfoAwareJsNode(), JsStatement {
override fun accept(visitor: JsVisitor) {
visitor.visitMultiLineComment(this)
}
override fun acceptChildren(visitor: JsVisitor) {
}
override fun traverse(visitor: JsVisitorWithContext, ctx: JsContext<*>) {
visitor.visit(this, ctx)
visitor.endVisit(this, ctx)
}
override fun deepCopy() = this
}
@@ -165,6 +165,9 @@ abstract class JsVisitor {
open fun visitSingleLineComment(comment: JsSingleLineComment): Unit =
visitElement(comment)
open fun visitMultiLineComment(comment: JsMultiLineComment): Unit =
visitElement(comment)
open fun visitExport(export: JsExport): Unit =
visitElement(export)
@@ -214,6 +214,9 @@ public abstract class JsVisitorWithContext {
public void endVisit(@NotNull JsSingleLineComment x, @NotNull JsContext ctx) {
}
public void endVisit(@NotNull JsMultiLineComment x, @NotNull JsContext ctx) {
}
public void endVisit(@NotNull JsExport x, @NotNull JsContext ctx) {
}
@@ -404,6 +407,10 @@ public abstract class JsVisitorWithContext {
return true;
}
public boolean visit(@NotNull JsMultiLineComment x, @NotNull JsContext ctx) {
return true;
}
public boolean visit(@NotNull JsExport x, @NotNull JsContext ctx) {
return true;
}