diff --git a/src/com/google/javascript/jscomp/GlobalVarReferenceMap.java b/src/com/google/javascript/jscomp/GlobalVarReferenceMap.java index 9f4c8eb2f21..c49037e841c 100644 --- a/src/com/google/javascript/jscomp/GlobalVarReferenceMap.java +++ b/src/com/google/javascript/jscomp/GlobalVarReferenceMap.java @@ -17,6 +17,7 @@ package com.google.javascript.jscomp; import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; import com.google.javascript.jscomp.ReferenceCollectingCallback.Reference; import com.google.javascript.jscomp.ReferenceCollectingCallback.ReferenceCollection; import com.google.javascript.jscomp.ReferenceCollectingCallback.ReferenceMap; @@ -24,7 +25,6 @@ import com.google.javascript.rhino.Node; import java.util.ArrayList; -import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -44,22 +44,24 @@ class GlobalVarReferenceMap implements ReferenceMap { private Map refMap = null; - private final Map inputOrder; + private final ImmutableMap inputOrder; /** * @param inputs The ordered list of all inputs for the compiler. */ GlobalVarReferenceMap(List inputs, List externs) { - inputOrder = new HashMap<>(); + ImmutableMap.Builder inputOrderBuilder = ImmutableMap.builder(); + int ind = 0; for (CompilerInput extern : externs) { - inputOrder.put(extern.getInputId(), ind); + inputOrderBuilder.put(extern.getInputId(), ind); ind++; } for (CompilerInput input : inputs) { - inputOrder.put(input.getInputId(), ind); + inputOrderBuilder.put(input.getInputId(), ind); ind++; } + inputOrder = inputOrderBuilder.build(); } @Override