This is an automated email from the ASF dual-hosted git repository.

joshtynjala pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git

commit 152d7408f10ce33545ef3fc02cd674acfda4860e
Author: Josh Tynjala <[email protected]>
AuthorDate: Mon May 13 12:11:34 2024 -0700

    ICSSFontFace: add getProperties() to allow tools to access the original 
ICSSProperty values
---
 .../org/apache/royale/compiler/css/ICSSFontFace.java  |  9 +++++++++
 .../royale/compiler/internal/css/CSSFontFace.java     | 19 +++++++++++++++++++
 2 files changed, 28 insertions(+)

diff --git 
a/compiler/src/main/java/org/apache/royale/compiler/css/ICSSFontFace.java 
b/compiler/src/main/java/org/apache/royale/compiler/css/ICSSFontFace.java
index 426d8df1c..35e50f5ba 100644
--- a/compiler/src/main/java/org/apache/royale/compiler/css/ICSSFontFace.java
+++ b/compiler/src/main/java/org/apache/royale/compiler/css/ICSSFontFace.java
@@ -19,6 +19,8 @@
 
 package org.apache.royale.compiler.css;
 
+import com.google.common.collect.ImmutableList;
+
 /**
  * CSS DOM for an <code>@font-face</code> statement.
  */
@@ -80,4 +82,11 @@ public interface ICSSFontFace extends ICSSNode
      */
     boolean getAdvancedAntiAliasing();
 
+    /**
+     * Get the CSS properties in their declared order.
+     * 
+     * @return A list of CSS properties.
+     */
+    ImmutableList<ICSSProperty> getProperties();
+
 }
diff --git 
a/compiler/src/main/java/org/apache/royale/compiler/internal/css/CSSFontFace.java
 
b/compiler/src/main/java/org/apache/royale/compiler/internal/css/CSSFontFace.java
index 9e0feac89..bb45dc954 100644
--- 
a/compiler/src/main/java/org/apache/royale/compiler/internal/css/CSSFontFace.java
+++ 
b/compiler/src/main/java/org/apache/royale/compiler/internal/css/CSSFontFace.java
@@ -28,10 +28,13 @@ import org.apache.royale.compiler.common.ISourceLocation;
 import org.apache.royale.compiler.common.SourceLocation;
 import org.apache.royale.compiler.css.FontFaceSourceType;
 import org.apache.royale.compiler.css.ICSSFontFace;
+import org.apache.royale.compiler.css.ICSSProperty;
 import org.apache.royale.compiler.css.ICSSPropertyValue;
 import org.apache.royale.compiler.problems.CSSRequiredDescriptorProblem;
 import org.apache.royale.compiler.problems.ICompilerProblem;
 
+import com.google.common.collect.ImmutableList;
+
 /**
  * Implementation for {@code @font-face} statement DOM.
  */
@@ -61,6 +64,15 @@ public class CSSFontFace extends CSSNodeBase implements 
ICSSFontFace
         ICSSPropertyValue embedAsCFFValue = null;
         ICSSPropertyValue advancedAAValue = null;
 
+        if (properties == null)
+        {
+            this.propertyList = ImmutableList.of();
+        }
+        else
+        {
+            this.propertyList = new 
ImmutableList.Builder<ICSSProperty>().addAll(properties).build();
+        }
+
         if (properties != null)
         {
             // don't use children.add() or addAll() here because JBurg doesn't
@@ -141,6 +153,7 @@ public class CSSFontFace extends CSSNodeBase implements 
ICSSFontFace
     private final String fontWeight;
     private final boolean isEmbedAsCFF;
     private final boolean isAdvancedAntiAliasing;
+    private final ImmutableList<ICSSProperty> propertyList;
 
     private final List<ICompilerProblem> problems = new 
ArrayList<ICompilerProblem>();
 
@@ -193,6 +206,12 @@ public class CSSFontFace extends CSSNodeBase implements 
ICSSFontFace
         return isEmbedAsCFF;
     }
 
+    @Override
+    public ImmutableList<ICSSProperty> getProperties()
+    {
+        return propertyList;
+    }
+
     @Override
     public boolean getAdvancedAntiAliasing()
     {

Reply via email to