aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParamsStore.java
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2018-02-20 09:32:48 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-20 09:36:11 -0800
commitae011947a89dc15ffa33322176ae8738c3894a7d (patch)
tree797cf10e871f0ab5619fd4b595cca7a0535ecdcd /src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParamsStore.java
parenta7b34a1591cfa1034dca9b2c4ff9743d81396a97 (diff)
@AutoCodec some c++ linking data structures.
PiperOrigin-RevId: 186314781
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParamsStore.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParamsStore.java29
1 files changed, 22 insertions, 7 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParamsStore.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParamsStore.java
index 5aa25f6f16..71f9464ee6 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParamsStore.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParamsStore.java
@@ -126,16 +126,31 @@ public abstract class CcLinkParamsStore {
/** An empty CcLinkParamStore. */
public static final CcLinkParamsStore EMPTY = new EmptyCcLinkParamsStore();
- /**
- * An implementation class for the CcLinkParamsStore.
- */
+ /** An implementation class for the CcLinkParamsStore. */
+ @AutoCodec
public static final class CcLinkParamsStoreImpl extends CcLinkParamsStore {
+ public static final ObjectCodec<CcLinkParamsStoreImpl> CODEC =
+ new CcLinkParamsStore_CcLinkParamsStoreImpl_AutoCodec();
public CcLinkParamsStoreImpl(CcLinkParamsStore store) {
- super.staticSharedParams = store.get(true, true);
- super.staticNoSharedParams = store.get(true, false);
- super.noStaticSharedParams = store.get(false, true);
- super.noStaticNoSharedParams = store.get(false, false);
+ this(
+ store.get(true, true),
+ store.get(true, false),
+ store.get(false, true),
+ store.get(false, false));
+ }
+
+ @VisibleForSerialization
+ @AutoCodec.Instantiator
+ CcLinkParamsStoreImpl(
+ CcLinkParams staticSharedParams,
+ CcLinkParams staticNoSharedParams,
+ CcLinkParams noStaticSharedParams,
+ CcLinkParams noStaticNoSharedParams) {
+ super.staticSharedParams = staticSharedParams;
+ super.staticNoSharedParams = staticNoSharedParams;
+ super.noStaticSharedParams = noStaticSharedParams;
+ super.noStaticNoSharedParams = noStaticNoSharedParams;
}
@Override