You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by cd...@apache.org on 2016/04/21 13:35:38 UTC

[08/19] git commit: [flex-falcon] [refs/heads/feature/maven-migration-test] - externc: hasTemplate() and containsTemplate() in FunctionUtils updated to grab templates from the parent class too

externc: hasTemplate() and containsTemplate() in FunctionUtils updated to grab templates from the parent class too


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

Branch: refs/heads/feature/maven-migration-test
Commit: 2b5fb56f147f927c638e3643d954ce4586a35b79
Parents: 36b65ef
Author: Josh Tynjala <jo...@apache.org>
Authored: Tue Apr 19 16:29:57 2016 -0700
Committer: Josh Tynjala <jo...@apache.org>
Committed: Tue Apr 19 16:29:57 2016 -0700

----------------------------------------------------------------------
 .../codegen/externals/utils/FunctionUtils.java  | 38 +++++++++++++++-----
 1 file changed, 30 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2b5fb56f/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/utils/FunctionUtils.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/utils/FunctionUtils.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/utils/FunctionUtils.java
index f384689..5a9b658 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/utils/FunctionUtils.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/utils/FunctionUtils.java
@@ -21,6 +21,7 @@ package org.apache.flex.compiler.internal.codegen.externals.utils;
 
 import org.apache.flex.compiler.internal.codegen.externals.reference.BaseReference;
 import org.apache.flex.compiler.internal.codegen.externals.reference.ClassReference;
+import org.apache.flex.compiler.internal.codegen.externals.reference.MemberReference;
 import org.apache.flex.compiler.internal.codegen.externals.reference.ReferenceModel;
 
 import com.google.common.base.Strings;
@@ -214,19 +215,40 @@ public class FunctionUtils
 
     public static boolean hasTemplate(BaseReference reference)
     {
+        if(reference instanceof MemberReference)
+        {
+            MemberReference memberRef = (MemberReference) reference;
+            if(memberRef.getClassReference().getComment().getTemplateTypeNames().size() > 0)
+            {
+                return true;
+            }
+        }
         return reference.getComment().getTemplateTypeNames().size() > 0;
     }
     
     public static boolean containsTemplate(BaseReference reference, String name)
     {
-    	for (String template : reference.getComment().getTemplateTypeNames())
-    	{
-    		if (name.contains("<" + template + ">"))
-    			return true;
-    		if (name.equals(template))
-    			return true;
-    	}
-    	return false;
+        if(reference instanceof MemberReference)
+        {
+            MemberReference memberRef = (MemberReference) reference;
+            if(commentContainsTemplate(memberRef.getClassReference().getComment(), name))
+            {
+                return true;
+            }
+        }
+        return commentContainsTemplate(reference.getComment(), name);
+    }
+    
+    private static boolean commentContainsTemplate(JSDocInfo comment, String name)
+    {
+        for (String template : comment.getTemplateTypeNames())
+        {
+            if (name.contains("<" + template + ">"))
+                return true;
+            if (name.equals(template))
+                return true;
+        }
+        return false;
     }
 
 }