You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2017/05/15 22:12:54 UTC

[1/2] git commit: [flex-falcon] [refs/heads/release0.8.0] - allow pruning of Class Selectors

Repository: flex-falcon
Updated Branches:
  refs/heads/release0.8.0 ad8fb20ee -> d210ac57c


allow pruning of Class Selectors


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

Branch: refs/heads/release0.8.0
Commit: 55ca0b2d5c6b4892afba73fcbcba2ef3bac7ce42
Parents: ad8fb20
Author: Alex Harui <ah...@apache.org>
Authored: Mon May 15 15:12:21 2017 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Mon May 15 15:12:21 2017 -0700

----------------------------------------------------------------------
 .../css/semantics/CSSSemanticAnalyzer.java      | 36 +++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/55ca0b2d/compiler/src/main/java/org/apache/flex/compiler/internal/css/semantics/CSSSemanticAnalyzer.java
----------------------------------------------------------------------
diff --git a/compiler/src/main/java/org/apache/flex/compiler/internal/css/semantics/CSSSemanticAnalyzer.java b/compiler/src/main/java/org/apache/flex/compiler/internal/css/semantics/CSSSemanticAnalyzer.java
index e2f244c..d34cdee 100644
--- a/compiler/src/main/java/org/apache/flex/compiler/internal/css/semantics/CSSSemanticAnalyzer.java
+++ b/compiler/src/main/java/org/apache/flex/compiler/internal/css/semantics/CSSSemanticAnalyzer.java
@@ -36,6 +36,7 @@ import org.apache.flex.compiler.css.ICSSProperty;
 import org.apache.flex.compiler.css.ICSSPropertyValue;
 import org.apache.flex.compiler.css.ICSSRule;
 import org.apache.flex.compiler.css.ICSSSelector;
+import org.apache.flex.compiler.css.ICSSSelectorCondition;
 import org.apache.flex.compiler.definitions.IClassDefinition;
 import org.apache.flex.compiler.definitions.IDefinition;
 import org.apache.flex.compiler.definitions.metadata.IMetaTag;
@@ -385,7 +386,11 @@ public class CSSSemanticAnalyzer
             for (final ICSSSelector selector : rule.getSelectorGroup())
             {
                 if (isWildcardSelector(selector))
-                    return true;
+                {
+                	String selName = getOptionalSelectorName(selector);
+                	if (selName == null) return true;
+                    return qnames.contains(selName);
+                }
                 final String qname = resolvedSelectors.get(selector);
                 if (qnames.contains(qname))
                     return true;
@@ -514,6 +519,35 @@ public class CSSSemanticAnalyzer
     }
 
     /**
+     * Check if the selector is a optional class selector.
+     * An optional class selector is a class selector
+     * with the name opt_qname_otherstuff.
+     * 
+     * The output will not contain the selector if the
+     * class identified by qname is not in the output.
+     * 
+     * @param selector CSS selector
+     * @return True if the selector is a "optional" selector.
+     */
+    public static String getOptionalSelectorName(ICSSSelector selector)
+    {
+    	ImmutableList<ICSSSelectorCondition> conditions = selector.getConditions();
+    	if (conditions.size() == 0)
+    		return null;
+        final String elementName = conditions.get(0).getValue();
+        if (elementName == null) return null;
+        if (elementName.startsWith("opt_"))
+        {
+        	int c = elementName.indexOf("_", 4);
+        	if (c >= 0)
+        	{
+        		return elementName.substring(4, c).replace("-", ".");
+        		
+        	}
+        }
+        return null;
+    }
+    /**
      * Build a map from QNames to class definitions.
      * 
      * @param classDefinitions Class definitions.


[2/2] git commit: [flex-falcon] [refs/heads/release0.8.0] - revert appending library-path to js-library-path and swc-library-path

Posted by ah...@apache.org.
revert appending library-path to js-library-path and swc-library-path


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

Branch: refs/heads/release0.8.0
Commit: d210ac57c1a2d3bd8f87c664d8453fdc702c623c
Parents: 55ca0b2
Author: Alex Harui <ah...@apache.org>
Authored: Mon May 15 15:12:46 2017 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Mon May 15 15:12:46 2017 -0700

----------------------------------------------------------------------
 .../flex/compiler/internal/projects/FlexJSProject.java    | 10 ++++++----
 .../flex/compiler/internal/projects/FlexProject.java      | 10 ++++++----
 2 files changed, 12 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/d210ac57/compiler-jx/src/main/java/org/apache/flex/compiler/internal/projects/FlexJSProject.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/projects/FlexJSProject.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/projects/FlexJSProject.java
index a726d38..8dc88b0 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/projects/FlexJSProject.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/projects/FlexJSProject.java
@@ -392,8 +392,9 @@ public class FlexJSProject extends FlexProject
     public List<String> getCompilerExternalLibraryPath(Configuration config)
     {
     	List<String> list = ((JSConfiguration)config).getCompilerJsExternalLibraryPath();
-        list.addAll(config.getCompilerExternalLibraryPath());
-    	return list;
+        if (list != null && list.size() > 0)
+        	return list;
+        return config.getCompilerExternalLibraryPath();
     }
 
     /**
@@ -402,8 +403,9 @@ public class FlexJSProject extends FlexProject
     public List<String> getCompilerLibraryPath(Configuration config)
     {
     	List<String> list = ((JSConfiguration)config).getCompilerJsLibraryPath();
-        list.addAll(config.getCompilerLibraryPath());
-    	return list;
+        if (list != null && list.size() > 0)
+        	return list;
+        return config.getCompilerLibraryPath();
     }
     
     /**

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/d210ac57/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProject.java
----------------------------------------------------------------------
diff --git a/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProject.java b/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProject.java
index b01eed5..6a8ffd9 100644
--- a/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProject.java
+++ b/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProject.java
@@ -2340,8 +2340,9 @@ public class FlexProject extends ASProject implements IFlexProject
     public List<String> getCompilerExternalLibraryPath(Configuration config)
     {
     	List<String> list = config.getCompilerSwfExternalLibraryPath();
-        list.addAll(config.getCompilerExternalLibraryPath());
-    	return list;
+        if (list != null && list.size() > 0)
+        	return list;
+        return config.getCompilerExternalLibraryPath();
     }
 
     /**
@@ -2350,8 +2351,9 @@ public class FlexProject extends ASProject implements IFlexProject
     public List<String> getCompilerLibraryPath(Configuration config)
     {
     	List<String> list = config.getCompilerSwfLibraryPath();
-        list.addAll(config.getCompilerLibraryPath());
-    	return list;
+        if (list != null && list.size() > 0)
+        	return list;
+        return config.getCompilerLibraryPath();
     }
 
     /**