diff options
author | 2018-02-20 09:32:48 -0800 | |
---|---|---|
committer | 2018-02-20 09:36:11 -0800 | |
commit | ae011947a89dc15ffa33322176ae8738c3894a7d (patch) | |
tree | 797cf10e871f0ab5619fd4b595cca7a0535ecdcd /src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParamsStore.java | |
parent | a7b34a1591cfa1034dca9b2c4ff9743d81396a97 (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.java | 29 |
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 |