// Copyright 2020 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.analysis;

import com.google.devtools.build.lib.actions.ActionLookupValue;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.packages.Package;
import com.google.devtools.build.lib.skyframe.AspectFunction;
import com.google.devtools.build.lib.skyframe.ConfiguredTargetFunction;
import com.google.devtools.build.lib.skyframe.ConfiguredTargetValue;
import com.google.devtools.build.skyframe.NotComparableSkyValue;

/**
 * Super-interface for {@link ConfiguredTargetValue} and {@link
 * com.google.devtools.build.lib.analysis.AspectValue}.
 */
public interface ConfiguredObjectValue extends ActionLookupValue, NotComparableSkyValue {
  /** Returns the configured target/aspect for this value. */
  ProviderCollection getConfiguredObject();

  /**
   * Returns the set of packages transitively loaded by this value. Must only be used for
   * constructing the package -> source root map needed for some builds. If the caller has not
   * specified that this map needs to be constructed (via the constructor argument in {@link
   * ConfiguredTargetFunction#ConfiguredTargetFunction} or {@link AspectFunction#AspectFunction}),
   * calling this will crash.
   */
  NestedSet<Package> getTransitivePackagesForPackageRootResolution();

  /**
   * Clears provider data from this value, leaving only the artifact->generating action map.
   *
   * <p>Should only be used when user specifies --discard_analysis_cache. Must be called at most
   * once per value, after which {@link #getConfiguredObject} and {@link #getActions} cannot be
   * called.
   */
  void clear(boolean clearEverything);
}

@@ -867,36 +867,32 @@
 .devtools.build.
-lib.
 skyframe.AspectF
@@ -888,171 +888,65 @@
 ame.
-AspectFunction;%0Aimport com.google.devtools.build.lib.skyframe.ConfiguredTargetFunction;%0Aimport com.google.devtools.build.lib.skyframe.ConfiguredTargetValue;%0Aimport
+NotComparableSkyValue;%0A%0A/**%0A * Super-interface for %7B@link
  com
@@ -960,32 +960,36 @@
 .devtools.build.
+lib.
 skyframe.NotComp
@@ -985,66 +985,8 @@
 ame.
-NotComparableSkyValue;%0A%0A/**%0A * Super-interface for %7B@link 
 Conf
@@ -1011,58 +1011,19 @@
  and
+%0A *
  %7B@link
-%0A * com.google.devtools.build.lib.analysis.
+ 
 Aspe
@@ -1522,16 +1522,55 @@
 nk%0A   * 
+com.google.devtools.build.lib.skyframe.
 Configur
@@ -1614,24 +1614,29 @@
 tion%7D or
+%0A   *
  %7B@link 
 AspectFu
@@ -1623,24 +1623,63 @@
    * %7B@link 
+com.google.devtools.build.lib.skyframe.
 AspectFuncti
@@ -1698,21 +1698,16 @@
 ction%7D),
-%0A   *
  calling
@@ -1711,16 +1711,21 @@
 ing this
+%0A   *
  will cr

Fix javadoc referenced in ConfiguredObjectValue.