private Map<JsName, JsLiteral> runObfuscateNamer(PermProps props) throws IllegalNameException {
Map<JsName, JsLiteral> internedLiteralByVariableName =
JsLiteralInterner.exec(jprogram, jsProgram, (byte) (JsLiteralInterner.INTERN_ALL
& (byte) (jprogram.typeOracle.isInteropEnabled()
? ~JsLiteralInterner.INTERN_STRINGS : ~0)));
FreshNameGenerator freshNameGenerator = JsObfuscateNamer.exec(jsProgram,
props.getConfigProps());
if (options.shouldRemoveDuplicateFunctions()
&& JsStackEmulator.getStackMode(props) == JsStackEmulator.StackMode.STRIP) {
JsDuplicateFunctionRemover.exec(jsProgram, freshNameGenerator);
}