You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by er...@apache.org on 2013/11/01 12:33:17 UTC

[04/10] git commit: [flex-falcon] [refs/heads/develop] - When available - which is not always the case in the tests - include the fully qualified interface name in the @extends annotation.

When available - which is not always the case in the tests - include the fully qualified interface name in the @extends annotation.

Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


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

Branch: refs/heads/develop
Commit: 914fb884a68605c428e37083d9d546a75f81fe58
Parents: 9a3f3d9
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Fri Nov 1 09:34:18 2013 +0100
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Fri Nov 1 12:32:58 2013 +0100

----------------------------------------------------------------------
 .../codegen/js/goog/IJSGoogDocEmitter.java      |  2 +-
 .../codegen/js/goog/JSGoogDocEmitter.java       | 27 +++++++++++++++++---
 .../internal/codegen/js/goog/JSGoogEmitter.java |  4 ++-
 3 files changed, 27 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/914fb884/compiler.jx/src/org/apache/flex/compiler/codegen/js/goog/IJSGoogDocEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/codegen/js/goog/IJSGoogDocEmitter.java b/compiler.jx/src/org/apache/flex/compiler/codegen/js/goog/IJSGoogDocEmitter.java
index 540f97f..b3d3ad9 100644
--- a/compiler.jx/src/org/apache/flex/compiler/codegen/js/goog/IJSGoogDocEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/codegen/js/goog/IJSGoogDocEmitter.java
@@ -49,7 +49,7 @@ import org.apache.flex.compiler.tree.as.IVariableNode;
 public interface IJSGoogDocEmitter extends IJSDocEmitter
 {
 
-    void emitInterfaceDoc(IInterfaceNode node);
+    void emitInterfaceDoc(IInterfaceNode node, ICompilerProject project);
 
     void emitFieldDoc(IVariableNode node, IDefinition def);
 

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/914fb884/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogDocEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogDocEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogDocEmitter.java
index b5ba549..44f8f16 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogDocEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogDocEmitter.java
@@ -59,16 +59,35 @@ public class JSGoogDocEmitter extends JSDocEmitter implements IJSGoogDocEmitter
     }
 
     @Override
-    public void emitInterfaceDoc(IInterfaceNode node)
+    public void emitInterfaceDoc(IInterfaceNode node, ICompilerProject project)
     {
         begin();
 
         emitJSDocLine(JSEmitterTokens.INTERFACE.getToken());
 
-        String[] inodes = node.getExtendedInterfaces();
-        for (String inode : inodes)
+        boolean hasQualifiedNames = true;
+        IExpressionNode[] inodes = node.getExtendedInterfaceNodes();
+        for (IExpressionNode inode : inodes)
         {
-            emitJSDocLine(ASEmitterTokens.EXTENDS, inode);
+            IDefinition dnode = inode.resolve(project);
+            if (dnode != null)
+            {
+                emitJSDocLine(ASEmitterTokens.EXTENDS, dnode.getQualifiedName());
+            }
+            else
+            {
+                hasQualifiedNames = false;
+                break;
+            }
+        }
+        
+        if (!hasQualifiedNames)
+        {
+            String[] inames = node.getExtendedInterfaces();
+            for (String iname : inames)
+            {
+                emitJSDocLine(ASEmitterTokens.EXTENDS, iname);
+            }
         }
 
         end();

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/914fb884/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitter.java
index 49d23c6..30e70bb 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitter.java
@@ -252,7 +252,9 @@ public class JSGoogEmitter extends JSEmitter implements IJSGoogEmitter
     @Override
     public void emitInterface(IInterfaceNode node)
     {
-        getDoc().emitInterfaceDoc(node);
+        ICompilerProject project = getWalker().getProject();
+
+        getDoc().emitInterfaceDoc(node, project);
 
         String qname = node.getQualifiedName();
         if (qname != null && !qname.equals(""))