add config option to ignore initialisers
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/VarDeclarationEmitter.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/VarDeclarationEmitter.java index a4c8e22..3b883c8 100644 --- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/VarDeclarationEmitter.java +++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/VarDeclarationEmitter.java
@@ -42,16 +42,15 @@ import org.apache.flex.compiler.tree.as.IVariableNode; public class VarDeclarationEmitter extends JSSubEmitter implements - ISubEmitter<IVariableNode> -{ - boolean ignoreInitilization; + ISubEmitter<IVariableNode> { - public VarDeclarationEmitter(IJSEmitter emitter) - { + public VarDeclarationEmitter(IJSEmitter emitter) { super(emitter); + } + protected boolean defaultInitialisation() { JSConfiguration configuration = ((FlexJSProject) getProject()).config; - ignoreInitilization = configuration.getIgnoreDefaultInitilization(); + return configuration == null || !configuration.getIgnoreDefaultInitilization(); } @Override @@ -196,8 +195,8 @@ writeToken(ASEmitterTokens.EQUAL); write("0"); } - } else if (!ignoreInitilization) { - if (ignoreInitilization && defName.equals("Boolean")) { + } else if (defaultInitialisation()) { + if (defName.equals("Boolean")) { if (node.getParent() != null && node.getParent().getParent() != null && node.getParent().getParent().getNodeID() != ASTNodeID.Op_InID) { @@ -205,7 +204,7 @@ writeToken(ASEmitterTokens.EQUAL); write(ASEmitterTokens.FALSE); } - } else if (ignoreInitilization && defName.equals("Number")) { + } else if (defName.equals("Number")) { if (node.getParent() != null && node.getParent().getParent() != null && node.getParent().getParent().getNodeID() != ASTNodeID.Op_InID) {
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 e21ef65..64ff7c9 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
@@ -3966,9 +3966,9 @@ /** * Allow the user to set Boolean and Number type to be undefined and ignore them being initialised - * to false and NaN respectively. Note that use this option breaks compatability with ActionScript. + * to false and NaN respectively. Note that using this option breaks compatability with ActionScript. */ - private boolean ignoreDefaultInitilization = true; + private boolean ignoreDefaultInitilization = false; public boolean getIgnoreDefaultInitilization() { @@ -3977,7 +3977,6 @@ @Config(advanced = true) @Mapping({ "compiler", "ignore-default-initilization" }) - @FlexOnly public void setIgnoreDefaultInitilization(ConfigurationValue cv, boolean ignoreDefaultInitilization) { this.ignoreDefaultInitilization = ignoreDefaultInitilization;