Delete StringCanonicalizer.

This is a no-op change to inline the method calls. https://github.com/bazelbuild/bazel/commit/76f5a48fbd037496e12a4ea4af3a7333b7de14f5 replaced the implementation to `String#intern`.

PiperOrigin-RevId: 627998754
Change-Id: Ibaf09017c9f75d03572ed35c9f34e0b410bb6a13
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ActionInputMap.java b/src/main/java/com/google/devtools/build/lib/actions/ActionInputMap.java
index 209a089..04b54a8 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/ActionInputMap.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/ActionInputMap.java
@@ -27,7 +27,6 @@
 import com.google.devtools.build.lib.bugreport.BugReporter;
 import com.google.devtools.build.lib.collect.compacthashmap.CompactHashMap;
 import com.google.devtools.build.lib.skyframe.TreeArtifactValue;
-import com.google.devtools.build.lib.util.StringCanonicalizer;
 import com.google.devtools.build.lib.vfs.PathFragment;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -97,7 +96,7 @@
 
     private void put(String name, Object val) {
       // Input path segments are commonly shared among actions, so intern before storing.
-      name = StringCanonicalizer.intern(name);
+      name = name.intern();
 
       switch (subFolders.size()) {
         case 0 -> subFolders = ImmutableMap.of(name, val);
diff --git a/src/main/java/com/google/devtools/build/lib/actions/cache/PersistentStringIndexer.java b/src/main/java/com/google/devtools/build/lib/actions/cache/PersistentStringIndexer.java
index c3204d9..1b98e52 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/cache/PersistentStringIndexer.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/cache/PersistentStringIndexer.java
@@ -18,7 +18,6 @@
 import com.google.devtools.build.lib.clock.Clock;
 import com.google.devtools.build.lib.concurrent.ThreadSafety.ConditionallyThreadSafe;
 import com.google.devtools.build.lib.util.PersistentMap;
-import com.google.devtools.build.lib.util.StringCanonicalizer;
 import com.google.devtools.build.lib.util.StringIndexer;
 import com.google.devtools.build.lib.vfs.FileSystemUtils;
 import com.google.devtools.build.lib.vfs.Path;
@@ -88,7 +87,7 @@
     if (i != null) {
       return i;
     }
-    s = StringCanonicalizer.intern(s);
+    s = s.intern();
     synchronized (this) {
       i = stringToInt.size();
       Integer existing = stringToInt.putIfAbsent(s, i);
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BlazeDirectories.java b/src/main/java/com/google/devtools/build/lib/analysis/BlazeDirectories.java
index c7c0535..989e64b 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BlazeDirectories.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BlazeDirectories.java
@@ -21,7 +21,6 @@
 import com.google.devtools.build.lib.actions.ArtifactRoot;
 import com.google.devtools.build.lib.actions.ArtifactRoot.RootType;
 import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
-import com.google.devtools.build.lib.util.StringCanonicalizer;
 import com.google.devtools.build.lib.vfs.Path;
 import javax.annotation.Nullable;
 
@@ -251,7 +250,7 @@
    * <p>For example: {@code "bazel-out"}.
    */
   public static String getRelativeOutputPath(String productName) {
-    return StringCanonicalizer.intern(productName + "-out");
+    return (productName + "-out").intern();
   }
 
   public String getProductName() {
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/RepositoryName.java b/src/main/java/com/google/devtools/build/lib/cmdline/RepositoryName.java
index b15e953..3747008 100644
--- a/src/main/java/com/google/devtools/build/lib/cmdline/RepositoryName.java
+++ b/src/main/java/com/google/devtools/build/lib/cmdline/RepositoryName.java
@@ -22,7 +22,6 @@
 import com.google.common.base.Preconditions;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.SerializationConstant;
 import com.google.devtools.build.lib.util.Pair;
-import com.google.devtools.build.lib.util.StringCanonicalizer;
 import com.google.devtools.build.lib.util.StringUtilities;
 import com.google.devtools.build.lib.vfs.OsPathPolicy;
 import com.google.devtools.build.lib.vfs.PathFragment;
@@ -61,7 +60,7 @@
           .build(
               name -> {
                 validate(name);
-                return new RepositoryName(StringCanonicalizer.intern(name));
+                return new RepositoryName(name.intern());
               });
 
   /**
diff --git a/src/main/java/com/google/devtools/build/lib/packages/CallStack.java b/src/main/java/com/google/devtools/build/lib/packages/CallStack.java
index e2ae805..64984ac 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/CallStack.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/CallStack.java
@@ -18,7 +18,6 @@
 import com.google.devtools.build.lib.skyframe.serialization.VisibleForSerialization;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.util.HashCodes;
-import com.google.devtools.build.lib.util.StringCanonicalizer;
 import java.util.List;
 import java.util.Objects;
 import javax.annotation.Nullable;
@@ -65,8 +64,7 @@
         String name, String file, int line, int col, @Nullable Node next) {
       // Use common canonicalizer based on assertion that most strings (function names, locations)
       // were already shared across packages to some degree.
-      return new Node(
-          StringCanonicalizer.intern(name), StringCanonicalizer.intern(file), line, col, next);
+      return new Node(name.intern(), file.intern(), line, col, next);
     }
 
     private Node(String name, Location location, @Nullable Node next) {
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Type.java b/src/main/java/com/google/devtools/build/lib/packages/Type.java
index 7ccb3e9..8663180 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Type.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Type.java
@@ -24,7 +24,6 @@
 import com.google.devtools.build.lib.collect.nestedset.Depset;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.SerializationConstant;
 import com.google.devtools.build.lib.util.LoggingUtil;
-import com.google.devtools.build.lib.util.StringCanonicalizer;
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
 import java.util.LinkedHashSet;
@@ -255,10 +254,7 @@
   /** The type of a Starlark integer in the signed 32-bit range. */
   @SerializationConstant public static final Type<StarlarkInt> INTEGER = new IntegerType();
 
-  /**
-   * The type of a string which interns the string instance in {@link StringCanonicalizer}'s weak
-   * interner.
-   */
+  /** The type of a string which interns the instance with String#intern. */
   @SerializationConstant
   public static final Type<String> STRING = new StringType(/* internString= */ true);
 
@@ -266,9 +262,8 @@
    * The type of a string which does not intern the string instance.
    *
    * <p>When there is only one string instance created in blaze, interning it introduces memory
-   * overhead of an additional map entry in weak interner's map. So for attribute whose string value
-   * tends to not duplicate (for example rule name), it is preferable not to intern such string
-   * values.
+   * overhead. So for attribute whose string value tends to not duplicate (for example rule name),
+   * it is preferable not to intern such string values.
    */
   @SerializationConstant
   public static final Type<String> STRING_NO_INTERN = new StringType(/* internString= */ false);
@@ -479,7 +474,7 @@
       if (!(x instanceof String)) {
         throw new ConversionException(this, x, what);
       }
-      return internString ? StringCanonicalizer.intern((String) x) : (String) x;
+      return internString ? ((String) x).intern() : (String) x;
     }
 
     @Override
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/GlobDescriptor.java b/src/main/java/com/google/devtools/build/lib/skyframe/GlobDescriptor.java
index 1803cdb..f414de7 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/GlobDescriptor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/GlobDescriptor.java
@@ -19,7 +19,6 @@
 import com.google.devtools.build.lib.packages.Globber;
 import com.google.devtools.build.lib.skyframe.serialization.VisibleForSerialization;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
-import com.google.devtools.build.lib.util.StringCanonicalizer;
 import com.google.devtools.build.lib.vfs.PathFragment;
 import com.google.devtools.build.lib.vfs.Root;
 import com.google.devtools.build.skyframe.SkyFunctionName;
@@ -79,7 +78,7 @@
     this.packageId = Preconditions.checkNotNull(packageId);
     this.packageRoot = Preconditions.checkNotNull(packageRoot);
     this.subdir = Preconditions.checkNotNull(subdir);
-    this.pattern = Preconditions.checkNotNull(StringCanonicalizer.intern(pattern));
+    this.pattern = Preconditions.checkNotNull(pattern.intern());
     this.globberOperation = globberOperation;
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalValue.java
index 166da7c..73b533d 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalValue.java
@@ -21,7 +21,6 @@
 import com.google.devtools.build.lib.packages.AdvertisedProviderSet;
 import com.google.devtools.build.lib.packages.Rule;
 import com.google.devtools.build.lib.packages.Target;
-import com.google.devtools.build.lib.util.StringCanonicalizer;
 import com.google.devtools.build.skyframe.SkyKey;
 import com.google.devtools.build.skyframe.SkyValue;
 import java.util.Objects;
@@ -184,7 +183,7 @@
 
     private TransitiveTraversalValueWithError(String errorMessage, String kind) {
       super(kind);
-      this.errorMessage = StringCanonicalizer.intern(Preconditions.checkNotNull(errorMessage));
+      this.errorMessage = Preconditions.checkNotNull(errorMessage).intern();
     }
 
     @Override
diff --git a/src/main/java/com/google/devtools/build/lib/util/BUILD b/src/main/java/com/google/devtools/build/lib/util/BUILD
index e39f8a7..9436ed6 100644
--- a/src/main/java/com/google/devtools/build/lib/util/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/util/BUILD
@@ -312,14 +312,10 @@
 java_library(
     name = "string",
     srcs = [
-        "StringCanonicalizer.java",
         "StringUtil.java",
         "StringUtilities.java",
     ],
-    deps = [
-        "//src/main/java/com/google/devtools/build/lib/concurrent",
-        "//third_party:guava",
-    ],
+    deps = ["//third_party:guava"],
 )
 
 java_library(
diff --git a/src/main/java/com/google/devtools/build/lib/util/StringCanonicalizer.java b/src/main/java/com/google/devtools/build/lib/util/StringCanonicalizer.java
deleted file mode 100644
index b294c6d..0000000
--- a/src/main/java/com/google/devtools/build/lib/util/StringCanonicalizer.java
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2014 The Bazel Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//    http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-package com.google.devtools.build.lib.util;
-
-/**
- * Just an indirection to {@code String#intern}.
- *
- * <p>TODO: b/335098503 - turn this down if String#intern sticks.
- */
-public final class StringCanonicalizer {
-
-  private StringCanonicalizer() {}
-
-  /** Interns a String. */
-  public static String intern(String arg) {
-    return arg.intern();
-  }
-}
diff --git a/src/test/java/com/google/devtools/build/lib/util/StringCanonicalizerTest.java b/src/test/java/com/google/devtools/build/lib/util/StringCanonicalizerTest.java
deleted file mode 100644
index 6e4d2a6..0000000
--- a/src/test/java/com/google/devtools/build/lib/util/StringCanonicalizerTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2014 The Bazel Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//    http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-package com.google.devtools.build.lib.util;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.JUnit4;
-
-/**
- * Tests for String canonicalizer.
- */
-@RunWith(JUnit4.class)
-public class StringCanonicalizerTest {
-
-  @Test
-  public void twoDifferentStringsAreDifferent() {
-    String stringA = StringCanonicalizer.intern("A");
-    String stringB = StringCanonicalizer.intern("B");
-    assertThat(stringA).isNotEqualTo(stringB);
-  }
-
-  @Test
-  public void twoSameStringsAreCanonicalized() {
-    String stringA1 = StringCanonicalizer.intern(new String("A"));
-    String stringA2 = StringCanonicalizer.intern(new String("A"));
-    assertThat(stringA2).isSameInstanceAs(stringA1);
-  }
-}