Repository: flex-falcon
Updated Branches:
  refs/heads/develop b36dc8ab1 -> 0e0e88bf0


fix more asdoc json output issues


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/0e0e88bf
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/0e0e88bf
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/0e0e88bf

Branch: refs/heads/develop
Commit: 0e0e88bf058233710871fa532f60f2dc1a115836
Parents: b36dc8a
Author: Alex Harui <[email protected]>
Authored: Mon Dec 5 17:16:24 2016 -0800
Committer: Alex Harui <[email protected]>
Committed: Mon Dec 5 17:16:24 2016 -0800

----------------------------------------------------------------------
 .../codegen/js/flexjs/JSFlexJSASDocEmitter.java | 88 +++++++++++++++-----
 1 file changed, 67 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/0e0e88bf/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSASDocEmitter.java
----------------------------------------------------------------------
diff --git 
a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSASDocEmitter.java
 
b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSASDocEmitter.java
index 0306072..3ca83a4 100644
--- 
a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSASDocEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSASDocEmitter.java
@@ -114,10 +114,13 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
         writeNewline("{ \"type\": \"namespace\",");
         write("  \"qname\": \"");
         write(formatQualifiedName(node.getQualifiedName()));
-        writeNewline("\",");
+        writeNewline("\"");
         indentPush();
         if (asDoc != null)
+        {
+            writeNewline(",");
                writeASDoc(asDoc);
+        }
         indentPop();
         writeNewline("}");
     }
@@ -236,9 +239,12 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
         indentPush();
         write("  \"baseClassname\": \"");
         write(formatQualifiedName(node.getBaseClassName()));
-        writeNewline("\",");
+        writeNewline("\"");
         if (asDoc != null)
+        {
+            writeNewline(",");
                writeASDoc(asDoc);
+        }
         final IDefinitionNode[] members = node.getAllMemberNodes();
         if (members.length > 0)
         {
@@ -251,7 +257,6 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
         for (IDefinitionNode mnode : members)
         {
                getWalker().walk(mnode);
-               firstMember = false;
         }
         if (members.length > 0)
         {
@@ -271,7 +276,6 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
         for (IMetaTagNode mnode : metas)
         {
                writeEventTagNode(mnode);
-               firstMember = false;
         }
         if (metas.length > 0)
         {
@@ -330,7 +334,6 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
         for (IDefinitionNode mnode : members)
         {
                getWalker().walk(mnode);
-               firstMember = false;
         }
         if (members.length > 0)
         {
@@ -361,6 +364,7 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
         accessors.add(name);
        if (!firstMember)
                writeNewline(",");
+       firstMember = false;
         writeNewline("{ \"type\": \"accessor\",");
        IAccessorDefinition def = (IAccessorDefinition)node.getDefinition();
        IAccessorDefinition otherDef = 
(IAccessorDefinition)def.resolveCorrespondingAccessor(getWalker().getProject());
@@ -387,7 +391,10 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
         writeDefinitionAttributes(def);
         indentPush();
         if (asDoc != null)
+        {
+            writeNewline(",");
                writeASDoc(asDoc);
+        }
         indentPop();
         write("}");
         addToIndex(node.getDefinition(), asDoc);
@@ -403,6 +410,7 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
         accessors.add(name);
        if (!firstMember)
                writeNewline(",");
+       firstMember = false;
         writeNewline("{ \"type\": \"accessor\",");
        IAccessorDefinition def = (IAccessorDefinition)node.getDefinition();
        IAccessorDefinition otherDef = 
(IAccessorDefinition)def.resolveCorrespondingAccessor(getWalker().getProject());
@@ -413,7 +421,7 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
             writeNewline("  \"access\": \"read-write\",");
        }
        else
-            writeNewline("  \"access\": \"read-only\",");
+            writeNewline("  \"access\": \"write-only\",");
         write("  \"return\": \"");
         
write(formatQualifiedName(node.getParameterNodes()[0].getQualifiedName()));
         writeNewline("\",");
@@ -429,7 +437,10 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
         writeDefinitionAttributes(def);
         indentPush();
         if (asDoc != null)
+        {
+            writeNewline(",");
                writeASDoc(asDoc);
+        }
         indentPop();
         write("}");
         addToIndex(node.getDefinition(), asDoc);
@@ -445,6 +456,7 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
                return;
        if (!firstMember)
                writeNewline(",");
+       firstMember = false;
         writeNewline("{ \"type\": \"field\",");
         write("  \"qname\": \"");
         write(formatQualifiedName(node.getQualifiedName()));
@@ -452,7 +464,10 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
         writeDefinitionAttributes(node.getDefinition());
         indentPush();
         if (asDoc != null)
+        {
+            writeNewline(",");
                writeASDoc(asDoc);
+        }
         indentPop();
         write("}");
         addToIndex(node.getDefinition(), asDoc);
@@ -468,6 +483,7 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
                return;
        if (!firstMember)
                writeNewline(",");
+       firstMember = false;
         writeNewline("{ \"type\": \"variable\",");
         write("  \"qname\": \"");
         write(formatQualifiedName(node.getQualifiedName()));
@@ -475,7 +491,10 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
         writeDefinitionAttributes(node.getDefinition());
         indentPush();
         if (asDoc != null)
+        {
+            writeNewline(",");
                writeASDoc(asDoc);
+        }
         indentPop();
         write("}");
         addToIndex(node.getDefinition(), asDoc);
@@ -490,6 +509,7 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
         if (accessors.contains(name)) return;
        if (!firstMember)
                writeNewline(",");
+       firstMember = false;
         
         accessors.add(name);
         writeNewline("{ \"type\": \"accessor\",");
@@ -518,7 +538,10 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
         writeDefinitionAttributes(def);
         indentPush();
         if (asDoc != null)
+        {
+            writeNewline(",");
                writeASDoc(asDoc);
+        }
         indentPop();
         write("}");
         addToIndex(node.getDefinition(), asDoc);
@@ -529,17 +552,20 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
     {
        if (node.getDefinition().isPrivate()) return;
 
-       if (!firstMember)
-               writeNewline(",");
         ASDocComment asDoc = (ASDocComment) node.getASDocComment();
         if (asDoc != null && asDoc.commentNoEnd().contains("@private"))
                return;
+       if (!firstMember)
+               writeNewline(",");
+       firstMember = false;
+
         writeNewline("{ \"type\": \"method\",");
         write("  \"qname\": \"");
         write(formatQualifiedName(node.getQualifiedName()));
         writeNewline("\",");
         writeDefinitionAttributes(node.getDefinition());
         indentPush();
+        writeNewline(",");
         if (asDoc != null)
         {
                writeASDoc(asDoc);
@@ -555,9 +581,9 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
        {
                if (!firstParam)
                        writeNewline(",");
-               write("{ name: \"");
+               write("{ \"name\": \"");
                write(param.getBaseName());
-               write("\", type: \"");
+               write("\", \"type\": \"");
             write(formatQualifiedName(param.getTypeAsDisplayString()));
             writeNewline("\"}");               
        }
@@ -624,18 +650,19 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
     {
         write("  \"namespace\": ");
         if (def.isProtected())
-               writeNewline("\"protected\",");
+               write("\"protected\"");
         else if (def.isInternal())
-               writeNewline("\"internal\",");
+               write("\"internal\"");
         else if (def.isPublic())
-               writeNewline("\"public\",");
+               write("\"public\"");
         else 
         {
                INamespaceReference nsRef = def.getNamespaceReference();
-               writeNewline("\"" + nsRef.getBaseName() + "\",");
+               write("\"" + nsRef.getBaseName() + "\"");
         }
         if (def.isBindable())
         {
+               writeNewline(",");
                List<String> events = def.getBindableEventNames();
             write("  \"bindable\": [");
             boolean firstEvent = true;
@@ -646,18 +673,31 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
                firstEvent = false;
                write("\"" + event + "\"");
             }
-            writeNewline("],");
+            write("]");
         }
         if (def.isOverride())
-            writeNewline("  \"override\": true,");
+        {
+               writeNewline(",");
+            write("  \"override\": true");
+        }
         if (def.isStatic())
-            writeNewline("  \"static\": true,");
+        {
+               writeNewline(",");
+            write("  \"static\": true");
+        }
         if (def.isDynamic())
-            writeNewline("  \"dynamic\": true,");
+        {
+               writeNewline(",");
+            write("  \"dynamic\": true");
+        }
         if (def.isFinal())
-            writeNewline("  \"final\": true,");
+        {
+               writeNewline(",");
+            write("  \"final\": true");
+        }
         if (def.isDeprecated())
         {
+               writeNewline(",");
                IDeprecationInfo dep = def.getDeprecationInfo();
             writeNewline("  \"deprecated\": {");
             indentPush();
@@ -669,7 +709,7 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
             writeNewline("\",");
             write("  \"since\":  \"");
             write(dep.getSince());
-            writeNewline("\",");
+            writeNewline("\"}");
         }
     }
     
@@ -679,15 +719,21 @@ public class JSFlexJSASDocEmitter extends JSGoogEmitter 
implements IJSFlexJSEmit
         ASDocComment asDoc = (ASDocComment) evt.getASDocComment();
         if (asDoc != null && asDoc.commentNoEnd().contains("@private"))
                return;
+       if (!firstMember)
+               writeNewline(",");
+       firstMember = false;
         write("{ \"qname\": \"");
         write(formatQualifiedName(evt.getValue("name")));
         writeNewline("\",");
         write("  \"type\": \"");
         write(evt.getValue("type"));
-        writeNewline("\",");
+        writeNewline("\"");
         indentPush();
         if (asDoc != null)
+        {
+            writeNewline(",");
                writeASDoc(asDoc);
+        }
         indentPop();
         write("}");
         addToIndex(evt.getDefinition(), asDoc);

Reply via email to