Remove 'closure' as a value for 'compiler.enum.obfuscate.names'.
Closure friendly output is can now be requested via a compiler flag.
Change-Id: I31f7cfad4f190674275948d16c0914cc2fc2fc21
diff --git a/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java b/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
index 5956fce..a5588f8 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
@@ -1148,7 +1148,7 @@
// TODO(stalcup): is in wrong place, move to optimization stage
ConfigProps configProps = new ConfigProps(module);
- EnumNameObfuscator.exec(jprogram, logger,configProps);
+ EnumNameObfuscator.exec(jprogram, logger, configProps, options);
// (4) Normalize the unresolved Java AST
// Replace defender method references
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/EnumNameObfuscator.java b/dev/core/src/com/google/gwt/dev/jjs/impl/EnumNameObfuscator.java
index 3089112..f3307d5 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/EnumNameObfuscator.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/EnumNameObfuscator.java
@@ -16,6 +16,7 @@
package com.google.gwt.dev.jjs.impl;
import com.google.gwt.core.ext.TreeLogger;
+import com.google.gwt.dev.PrecompileTaskOptions;
import com.google.gwt.dev.cfg.ConfigProps;
import com.google.gwt.dev.jjs.ast.Context;
import com.google.gwt.dev.jjs.ast.JClassType;
@@ -32,6 +33,7 @@
import com.google.gwt.dev.jjs.ast.JVisitor;
import com.google.gwt.thirdparty.guava.common.collect.Lists;
+import java.util.Collection;
import java.util.List;
/**
@@ -203,20 +205,18 @@
}
}
- private static boolean typeInBlacklist(List<String> blacklistedEnums, JClassType cType) {
+ private static boolean typeInBlacklist(Collection<String> blacklistedEnums, JClassType cType) {
return blacklistedEnums.contains(cType.getName().replace('$', '.'));
}
- public static void exec(JProgram jprogram, TreeLogger logger, ConfigProps configProps) {
- String enumObfucationProperty = configProps.getString(
- EnumNameObfuscator.ENUM_NAME_OBFUSCATION_PROPERTY, "false");
- // TODO(rluble): Replace configuration property by the command line option.
- boolean closureMode = enumObfucationProperty.equals("closure");
- if (enumObfucationProperty.equals("false")) {
+ public static void exec(JProgram jprogram, TreeLogger logger, ConfigProps configProps,
+ PrecompileTaskOptions options) {
+ if (!configProps.getBoolean(ENUM_NAME_OBFUSCATION_PROPERTY, false)) {
return;
}
- List<String> blacklistedEnums = configProps.getCommaSeparatedStrings(
- EnumNameObfuscator.ENUM_NAME_OBFUSCATION_BLACKLIST_PROPERTY);
+ boolean closureMode = options.isClosureCompilerEnabled();
+ List<String> blacklistedEnums =
+ configProps.getCommaSeparatedStrings(ENUM_NAME_OBFUSCATION_BLACKLIST_PROPERTY);
new EnumNameCallChecker(jprogram, logger, blacklistedEnums).accept(jprogram);
new EnumNameReplacer(jprogram, logger, blacklistedEnums, closureMode).exec();
}
diff --git a/user/src/com/google/gwt/core/CompilerParameters.gwt.xml b/user/src/com/google/gwt/core/CompilerParameters.gwt.xml
index 21378c2..df4aca4 100644
--- a/user/src/com/google/gwt/core/CompilerParameters.gwt.xml
+++ b/user/src/com/google/gwt/core/CompilerParameters.gwt.xml
@@ -43,10 +43,7 @@
<!--
Whether or not the compiler should alter Enum.name() to return
ordinal() as a way of obfuscating Enum field identifiers.
- A value of 'true' returns the ordinal. A value of 'closure'
- passes the enum's name through Util.makeEnumName() deferring
- the obfuscation until a later Closure Compiler pass can replace
- it.
+ A value of 'true' returns the ordinal.
-->
<define-configuration-property name="compiler.enum.obfuscate.names"
is-multi-valued='false' />