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 2016/11/24 06:03:25 UTC

git commit: [flex-falcon] [refs/heads/develop] - FLEX-35171 handle child selectors in CSS output generation

Repository: flex-falcon
Updated Branches:
  refs/heads/develop c040b5c88 -> b628a01d0


FLEX-35171 handle child selectors in CSS output generation


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

Branch: refs/heads/develop
Commit: b628a01d0e7a7b2943810e97b163c34fbc224456
Parents: c040b5c
Author: Alex Harui <ah...@apache.org>
Authored: Wed Nov 23 22:03:02 2016 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Wed Nov 23 22:03:02 2016 -0800

----------------------------------------------------------------------
 .../flex/compiler/internal/css/CSSSelector.java | 24 +++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/b628a01d/compiler/src/main/java/org/apache/flex/compiler/internal/css/CSSSelector.java
----------------------------------------------------------------------
diff --git a/compiler/src/main/java/org/apache/flex/compiler/internal/css/CSSSelector.java b/compiler/src/main/java/org/apache/flex/compiler/internal/css/CSSSelector.java
index edb7c7b..b3290b8 100644
--- a/compiler/src/main/java/org/apache/flex/compiler/internal/css/CSSSelector.java
+++ b/compiler/src/main/java/org/apache/flex/compiler/internal/css/CSSSelector.java
@@ -102,10 +102,32 @@ public class CSSSelector extends CSSNodeBase implements ICSSSelector
             result.append(namespacePrefix).append("|");
         if (elementName != null)
             result.append(elementName);
-        result.append(Joiner.on("").join(conditions));
+        result.append(stringifyConditions(conditions));
         return result.toString();
     }
 
+    public String stringifyConditions(List<ICSSSelectorCondition> conditions)
+    {
+    	StringBuilder s = new StringBuilder();
+    	int n = conditions.size();
+    	if (n == 0) return "";
+    	if (n == 1) return conditions.get(0).toString();
+    	for (int i = 0; i < n; i++)
+    	{
+    		ICSSSelectorCondition condition = conditions.get(i);
+    		if (condition.getConditionType() == ConditionType.CHILD)
+    		{
+    			String prefix = condition.getConditionType().prefix + " ";
+    			s.insert(0, prefix);
+    		}
+    		else
+    		{
+        		s.append(condition.getConditionType().prefix);
+    			s.append(condition.getValue());
+    		}
+    	}
+    	return s.toString();
+    }
     @Override
     public ICSSCombinator getCombinator()
     {