@@ -0,0 +1,1262 @@
+/*%0A * Copyright 2019-present Facebook, Inc.%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22); you may%0A * not use this file except in compliance with the License. You may obtain%0A * a copy of the License at%0A *%0A *     http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS, WITHOUT%0A * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the%0A * License for the specific language governing permissions and limitations%0A * under the License.%0A */%0Apackage com.facebook.buck.core.rules.actions;%0A%0Aimport org.immutables.value.Value;%0Aimport org.immutables.value.Value.Style.ImplementationVisibility;%0A%0A/**%0A * Implementation of %7B@link ActionAnalysisData%7D that just holds an %7B@link Action%7D. This mimics the%0A * effect of having a deferred%0A */%0A@Value.Immutable(builder = false, copy = false)%0A@Value.Style(visibility = ImplementationVisibility.PACKAGE)%0Apublic abstract class ActionWrapperData implements ActionAnalysisData %7B%0A%0A  @Override%0A  @Value.Parameter%0A  public abstract ActionAnalysisDataKey getKey();%0A%0A  /** @return the %7B@link Action%7D this wraps */%0A  @Value.Parameter%0A  public abstract Action getAction();%0A%7D%0A

Add an ActionWrapperData that mimics having an deferred in the analysis