allow different base class for FXG
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/50f9d453 Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/50f9d453 Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/50f9d453 Branch: refs/heads/develop Commit: 50f9d4530c669f1139b16129c45bca17c476fa3d Parents: 91a29d9 Author: Alex Harui <aha...@apache.org> Authored: Thu Jun 22 11:52:20 2017 -0700 Committer: Alex Harui <aha...@apache.org> Committed: Thu Jun 22 11:52:20 2017 -0700 ---------------------------------------------------------------------- .../flex/compiler/config/Configuration.java | 20 ++++++++++++++++++++ .../fxg/flex/FlexFXG2SWFTranscoder.java | 6 +++--- .../projects/FlexProjectConfigurator.java | 6 ++++++ .../internal/units/FXGCompilationUnit.java | 2 +- 4 files changed, 30 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/50f9d453/compiler/src/main/java/org/apache/flex/compiler/config/Configuration.java ---------------------------------------------------------------------- diff --git a/compiler/src/main/java/org/apache/flex/compiler/config/Configuration.java b/compiler/src/main/java/org/apache/flex/compiler/config/Configuration.java index 6356c88..3c8465d 100644 --- a/compiler/src/main/java/org/apache/flex/compiler/config/Configuration.java +++ b/compiler/src/main/java/org/apache/flex/compiler/config/Configuration.java @@ -1799,6 +1799,26 @@ public class Configuration componentFactoryInterface = b; } + // + // 'compiler.fxg-base-class' option + // + + private String fxgBaseClass = "spark.core.SpriteVisualElement"; + + public String getFxgBaseClass() + { + return fxgBaseClass; + } + + /** + * The base class for generated binding code + */ + @Config(advanced = true) + public void setCompilerFxgBaseClass(ConfigurationValue cv, String b) + { + fxgBaseClass = b; + } + /** * Syntax:<br/> * <code>-define=<name>,<value></code> where name is <code>NAMESPACE::name</code> and value is a legal http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/50f9d453/compiler/src/main/java/org/apache/flex/compiler/fxg/flex/FlexFXG2SWFTranscoder.java ---------------------------------------------------------------------- diff --git a/compiler/src/main/java/org/apache/flex/compiler/fxg/flex/FlexFXG2SWFTranscoder.java b/compiler/src/main/java/org/apache/flex/compiler/fxg/flex/FlexFXG2SWFTranscoder.java index aec3437..b0c4ab1 100644 --- a/compiler/src/main/java/org/apache/flex/compiler/fxg/flex/FlexFXG2SWFTranscoder.java +++ b/compiler/src/main/java/org/apache/flex/compiler/fxg/flex/FlexFXG2SWFTranscoder.java @@ -91,7 +91,7 @@ public class FlexFXG2SWFTranscoder extends FXG2SWFTranscoder private final HashMap<String, Integer> nameCounter; private Map<String, ITypeDefinition> dependencies; - private static final String packageSpriteVisualElement = "spark.core.SpriteVisualElement"; + public static String packageSpriteVisualElement = "spark.core.SpriteVisualElement"; private static final String packageShaderFilter = "spark.filters.ShaderFilter"; private static final String packageLuminosityMaskShader = "mx.graphics.shaderClasses.LuminosityMaskShader"; private static final String packageIFlexModuleFactory = "mx.core.IFlexModuleFactory"; @@ -137,7 +137,7 @@ public class FlexFXG2SWFTranscoder extends FXG2SWFTranscoder buf.append("package ").append(packageName).append("\n"); buf.append("{\n\n"); buf.append("import ").append(packageSpriteVisualElement).append(";\n\n"); - buf.append("public class ").append(className).append(" extends SpriteVisualElement\n"); + buf.append("public class ").append(className).append(" extends " + packageSpriteVisualElement + "\n"); buf.append("{\n"); buf.append(" public function ").append(className).append("()\n"); buf.append(" {\n"); @@ -584,7 +584,7 @@ public class FlexFXG2SWFTranscoder extends FXG2SWFTranscoder buf.append("import ").append(blendModeClass).append(";\n\n"); } - buf.append("public class ").append(className).append(" extends SpriteVisualElement\n"); + buf.append("public class ").append(className).append(" extends " + packageSpriteVisualElement + "\n"); buf.append("{\n"); buf.append(" public function ").append(className).append("()\n"); buf.append(" {\n"); http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/50f9d453/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProjectConfigurator.java ---------------------------------------------------------------------- diff --git a/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProjectConfigurator.java b/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProjectConfigurator.java index d66b340..67da796 100644 --- a/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProjectConfigurator.java +++ b/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProjectConfigurator.java @@ -29,9 +29,11 @@ import org.apache.flex.abc.semantics.Name; import org.apache.flex.abc.semantics.Namespace; import org.apache.flex.abc.semantics.Nsset; import org.apache.flex.compiler.config.Configuration; +import org.apache.flex.compiler.fxg.flex.FlexFXG2SWFTranscoder; import org.apache.flex.compiler.internal.as.codegen.BindableHelper; import org.apache.flex.compiler.internal.definitions.ClassDefinition; import org.apache.flex.compiler.internal.embedding.transcoders.DataTranscoder; +import org.apache.flex.compiler.internal.units.FXGCompilationUnit; import org.apache.flex.compiler.mxml.IMXMLTypeConstants; /** @@ -221,6 +223,10 @@ public class FlexProjectConfigurator configValue = configuration.getBindingValueChangeEventType(); BindableHelper.PROPERTY_CHANGE = configValue; + configValue = configuration.getFxgBaseClass(); + FlexFXG2SWFTranscoder.packageSpriteVisualElement = configValue; + FXGCompilationUnit.fxgBaseClassName = configValue; + configValue = configuration.getStatesClass(); project.setStateClass(configValue); http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/50f9d453/compiler/src/main/java/org/apache/flex/compiler/internal/units/FXGCompilationUnit.java ---------------------------------------------------------------------- diff --git a/compiler/src/main/java/org/apache/flex/compiler/internal/units/FXGCompilationUnit.java b/compiler/src/main/java/org/apache/flex/compiler/internal/units/FXGCompilationUnit.java index 3fd4703..fdaacee 100644 --- a/compiler/src/main/java/org/apache/flex/compiler/internal/units/FXGCompilationUnit.java +++ b/compiler/src/main/java/org/apache/flex/compiler/internal/units/FXGCompilationUnit.java @@ -81,7 +81,7 @@ import com.google.common.collect.Iterables; */ public class FXGCompilationUnit extends CompilationUnitBase { - private static final String fxgBaseClassName = "spark.core.SpriteVisualElement"; + public static String fxgBaseClassName = "spark.core.SpriteVisualElement"; private String qname;