Skip to content

Commit e3d3882

Browse files
lauraharkercopybara-github
authored andcommitted
Clean up unused function parameters and unnecessary Map<T, T> that could be a Set<T>
PiperOrigin-RevId: 704413159
1 parent 482663d commit e3d3882

File tree

1 file changed

+13
-15
lines changed

1 file changed

+13
-15
lines changed

src/com/google/javascript/jscomp/StripCode.java

+13-15
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
import com.google.common.collect.ImmutableSet;
2424
import com.google.javascript.jscomp.CodingConvention.SubclassRelationship;
25-
import com.google.javascript.jscomp.base.LinkedIdentityHashMap;
25+
import com.google.javascript.jscomp.base.LinkedIdentityHashSet;
2626
import com.google.javascript.jscomp.diagnostic.LogFile;
2727
import com.google.javascript.rhino.IR;
2828
import com.google.javascript.rhino.Node;
@@ -54,7 +54,7 @@ class StripCode implements CompilerPass {
5454
private final AbstractCompiler compiler;
5555
private final ImmutableSet<String> stripNameSuffixes;
5656
private final ImmutableSet<String> stripNamePrefixes;
57-
private final LinkedIdentityHashMap<String, String> varsToRemove = new LinkedIdentityHashMap<>();
57+
private final LinkedIdentityHashSet<String> varsToRemove = new LinkedIdentityHashSet<>();
5858

5959
private final String[] stripTypesList;
6060
private final String[] stripTypePrefixesList;
@@ -246,7 +246,7 @@ public void visit(NodeTraversal t, Node n, Node parent) {
246246
break;
247247

248248
case OBJECTLIT:
249-
eliminateKeysWithStripNamesFromObjLit(t, n);
249+
eliminateKeysWithStripNamesFromObjLit(n);
250250
break;
251251

252252
case EXPR_RESULT:
@@ -288,7 +288,7 @@ void removeVarDeclarationsByNameOrRvalue(NodeTraversal t, Node n, Node parent) {
288288
|| qualifiedNameBeginsWithStripType(nameNode)
289289
|| isCallWhoseReturnValueShouldBeStripped(nameNode.getFirstChild())) {
290290
// Remove the NAME.
291-
varsToRemove.put(name, name);
291+
varsToRemove.add(name);
292292
if (name.contains("$")) {
293293
// We need to be careful with this code pattern that appears after
294294
// collapsing properties.
@@ -353,7 +353,7 @@ void maybeRemoveReferenceToRemovedVariable(NodeTraversal t, Node n, Node parent)
353353
// GETELEM
354354
// NAME
355355
// NUMBER|STRING|NAME|...
356-
if (parent.getFirstChild() == n && isReferenceToRemovedVar(t, n)) {
356+
if (parent.getFirstChild() == n && isReferenceToRemovedVar(n)) {
357357
decisionsLog.log(() -> n.getString() + ": removing getelem/getprop/call chain");
358358
replaceHighestNestedCallWithNull(t, parent, parent.getParent());
359359
}
@@ -371,7 +371,7 @@ void maybeRemoveReferenceToRemovedVariable(NodeTraversal t, Node n, Node parent)
371371
case ASSIGN_MUL:
372372
case ASSIGN_DIV:
373373
case ASSIGN_MOD:
374-
if (isReferenceToRemovedVar(t, n)) {
374+
if (isReferenceToRemovedVar(n)) {
375375
if (parent.getFirstChild() == n) {
376376
Node grandparent = parent.getParent();
377377
decisionsLog.log(
@@ -399,7 +399,7 @@ void maybeRemoveReferenceToRemovedVariable(NodeTraversal t, Node n, Node parent)
399399

400400
case NEW:
401401
case CALL:
402-
if (!n.isFirstChildOf(parent) && isReferenceToRemovedVar(t, n)) {
402+
if (!n.isFirstChildOf(parent) && isReferenceToRemovedVar(n)) {
403403
// NOTE: the callee is handled when we visit the CALL or NEW node
404404
decisionsLog.log(
405405
() -> n.getQualifiedName() + ": replacing parameter reference with null");
@@ -419,7 +419,7 @@ void maybeRemoveReferenceToRemovedVariable(NodeTraversal t, Node n, Node parent)
419419
boolean parentIsCallee =
420420
(grandparent.isCall() || grandparent.isNew()) && parent.isFirstChildOf(grandparent);
421421
boolean isSafeToRemove = !isLastChild || !parentIsCallee;
422-
if (isSafeToRemove && isReferenceToRemovedVar(t, n)) {
422+
if (isSafeToRemove && isReferenceToRemovedVar(n)) {
423423
decisionsLog.log(
424424
() -> n.getQualifiedName() + ": replacing reference in comma expr with null");
425425
replaceWithNull(n);
@@ -428,7 +428,7 @@ void maybeRemoveReferenceToRemovedVariable(NodeTraversal t, Node n, Node parent)
428428
break;
429429

430430
default:
431-
if (isReferenceToRemovedVar(t, n)) {
431+
if (isReferenceToRemovedVar(n)) {
432432
decisionsLog.log(() -> n.getQualifiedName() + ": replacing reference with null");
433433
replaceWithNull(n);
434434
t.reportCodeChange();
@@ -550,10 +550,9 @@ void maybeEliminateExpressionByName(Node n) {
550550
/**
551551
* Eliminates any object literal keys in an object literal declaration that have strip names.
552552
*
553-
* @param t The traversal
554553
* @param n An OBJLIT node
555554
*/
556-
void eliminateKeysWithStripNamesFromObjLit(NodeTraversal t, Node n) {
555+
void eliminateKeysWithStripNamesFromObjLit(Node n) {
557556
// OBJLIT
558557
// key1
559558
// value1
@@ -680,12 +679,11 @@ boolean qualifiedNameBeginsWithStripType(String name) {
680679
/**
681680
* Determines whether a NAME node represents a reference to a variable that has been removed.
682681
*
683-
* @param t The traversal
684682
* @param n A NAME node
685683
* @return Whether the variable was removed
686684
*/
687-
boolean isReferenceToRemovedVar(NodeTraversal t, Node n) {
688-
return varsToRemove.get(n.getString()) != null;
685+
boolean isReferenceToRemovedVar(Node n) {
686+
return varsToRemove.contains(n.getString());
689687
}
690688

691689
/**
@@ -695,7 +693,7 @@ boolean isReferenceToRemovedVar(NodeTraversal t, Node n) {
695693
* class-defining functions (e.g. goog.inherits).
696694
*
697695
* @param t The traversal
698-
* @param n A CALL node
696+
* @param n A CALL or NEW node
699697
* @return Whether the node triggers statement removal
700698
*/
701699
boolean isMethodOrCtorCallThatTriggersRemoval(NodeTraversal t, Node n, Node parent) {

0 commit comments

Comments
 (0)