Skip to content
Snippets Groups Projects
Commit 18632fb4 authored by Googler's avatar Googler Committed by Copybara-Service
Browse files

Update `PackageIdentifier` to use `@AutoCodec.Interner` instead of `@AutoCodec.Instantiator`.

PiperOrigin-RevId: 596045519
Change-Id: I4523b762770f601e91ffd4ae0d3f4c122ae3b537
parent 4ad18091
No related merge requests found
......@@ -43,6 +43,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/packages/semantics",
"//src/main/java/com/google/devtools/build/lib/skyframe:detailed_exceptions",
"//src/main/java/com/google/devtools/build/lib/skyframe:sky_functions",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization:visible-for-serialization",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec:serialization-constant",
"//src/main/java/com/google/devtools/build/lib/supplier",
......
......@@ -17,11 +17,13 @@ package com.google.devtools.build.lib.cmdline;
import com.google.common.base.Preconditions;
import com.google.common.collect.ComparisonChain;
import com.google.devtools.build.lib.skyframe.SkyFunctions;
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.vfs.PathFragment;
import com.google.devtools.build.skyframe.SkyFunctionName;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyKey.SkyKeyInterner;
import javax.annotation.concurrent.Immutable;
/**
......@@ -41,11 +43,16 @@ public final class PackageIdentifier implements SkyKey, Comparable<PackageIdenti
return create(RepositoryName.create(repository), pkgName);
}
@AutoCodec.Instantiator
public static PackageIdentifier create(RepositoryName repository, PathFragment pkgName) {
return interner.intern(new PackageIdentifier(repository, pkgName));
}
@VisibleForSerialization
@AutoCodec.Interner
static PackageIdentifier intern(PackageIdentifier packageIdentifier) {
return interner.intern(packageIdentifier);
}
/** Creates {@code PackageIdentifier} from a known-valid string. */
public static PackageIdentifier createUnchecked(String repository, String pkgName) {
return create(RepositoryName.createUnvalidated(repository), PathFragment.create(pkgName));
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment