This is an automated email from the ASF dual-hosted git repository.

aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git

commit bced732a5a7154747c9c0a39284b2f421485f4d6
Author: Alex Harui <[email protected]>
AuthorDate: Thu Aug 1 23:25:20 2019 -0700

    handle pre tags better
---
 .../java/org/apache/royale/compiler/asdoc/royale/ASDocComment.java | 7 +++++++
 .../compiler/internal/codegen/js/royale/JSRoyaleASDocEmitter.java  | 4 ++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/asdoc/royale/ASDocComment.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/asdoc/royale/ASDocComment.java
index 54c3af6..cc307d4 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/asdoc/royale/ASDocComment.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/asdoc/royale/ASDocComment.java
@@ -99,6 +99,7 @@ public class ASDocComment implements IASDocComment
                sb.append(line.trim());
         else
                sb.append(line + "\n");
+        boolean inPre = false;
         for (int i = 1; i < n - 1; i++)
         {
             line = lines[i];
@@ -106,6 +107,10 @@ public class ASDocComment implements IASDocComment
             int at = line.indexOf("@");
             if (at == -1)
             {
+               if (line.contains("<pre>"))
+                       inPre = true;
+               if (line.contains("</pre>"))
+                       inPre = false;
                    sb.append(" ");
                    if (star > -1)
                    {
@@ -114,6 +119,8 @@ public class ASDocComment implements IASDocComment
                        else
                                sb.append(line.substring(star + 1) + "\n");
                    }
+                   if (inPre)
+                       sb.append("\\n");
             }
             else
             {
diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleASDocEmitter.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleASDocEmitter.java
index 07c840a..1f4142c 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleASDocEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleASDocEmitter.java
@@ -625,7 +625,7 @@ public class JSRoyaleASDocEmitter extends JSGoogEmitter 
implements IJSRoyaleEmit
         write("  \"description\": \"");
         String d = asDoc.getDescription();
                d = d.replace("\t", " ");
-               d = d.replace("\"", "&quot;");
+               d = d.replace("\\\"", "&quot;");
                d = d.replace("\\", "\\\\");
        write(d);
                write("\"");
@@ -663,7 +663,7 @@ public class JSRoyaleASDocEmitter extends JSGoogEmitter 
implements IJSRoyaleEmit
                                        write("\"");
                                        d = value.getDescription().trim();
                                        d = d.replace("\t", " ");
-                                       d = d.replace("\"", "&quot;");
+                                       d = d.replace("\\\"", "&quot;");
                                        d = d.replace("\\", "\\\\");
                                        write(d);
                                        write("\"");

Reply via email to