…lines 1–101 unchanged (101 lines)
102 LiveVariablesAnalysis liveness =
103 new LiveVariablesAnalysis(cfg, scope, compiler);
104 // If the function has exactly 2 params, mark them as escaped. This is
105 // a work-around for an IE bug where it throws an exception if you
106 // write to the parameters of the callback in a sort(). See:
107 // http://code.google.com/p/closure-compiler/issues/detail?id=58
108 if (scope.getRootNode().getFirstChild().getNext().getChildCount() == 2) {
109 liveness.markAllParametersEscaped();
110 }
111 liveness.analyze();
112
113 UndiGraph<Var, Void> interferenceGraph =
114 computeVariableNamesInterferenceGraph(
115 t, cfg, liveness.getEscapedLocals());
116
…lines 117–458 unchanged (342 lines)