diff options
author | 2016-03-22 20:07:43 +0000 | |
---|---|---|
committer | 2016-03-23 12:19:51 +0000 | |
commit | 81c5bd88bed02f7541cf56dd27d96867a560c4b7 (patch) | |
tree | 6b3211f489f64dbcf2f9829fdf89b3daa2f9c741 /src/main/java/com/google/devtools/build | |
parent | 73f2a45d3a601b43e72c866e44f4ba3eaa782aeb (diff) |
Add comments to analysis-phase objects so future developers won't accidentally keep references to them after the analysis phase.
--
MOS_MIGRATED_REVID=117855145
Diffstat (limited to 'src/main/java/com/google/devtools/build')
3 files changed, 15 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/AnalysisEnvironment.java b/src/main/java/com/google/devtools/build/lib/analysis/AnalysisEnvironment.java index bf0213959e..cf1b16b8d7 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/AnalysisEnvironment.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/AnalysisEnvironment.java @@ -29,6 +29,11 @@ import com.google.devtools.build.skyframe.SkyFunction; /** * The set of services that are provided to {@link ConfiguredTarget} objects * during initialization. + * + * <p>These objects should not outlast the analysis phase. Do not pass them to {@link Action} + * objects or other persistent objects. There are internal tests to ensure that AnalysisEnvironment + * objects are not persisted that check the name of this class, so update those tests you change the + * names of any implementation of this class. */ public interface AnalysisEnvironment extends ActionRegistry { /** diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java index 273d56229f..706d986193 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java @@ -89,6 +89,11 @@ import javax.annotation.Nullable; * A helper class for rule implementations building and initialization. Objects of this * class are intended to be passed to the builder for the configured target, which then creates the * configured target. + * + * <p>These objects should not outlast the analysis phase. Do not pass them to {@link Action} + * objects or other persistent objects. There are internal tests to ensure that RuleContext objects + * are not persisted that check the name of this class, so update those tests if you change this + * class's name. */ public final class RuleContext extends TargetContext implements ActionConstructionContext, ActionRegistry, RuleErrorConsumer { diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java index f76808c957..4c1dcac8d8 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java @@ -41,6 +41,11 @@ import java.util.List; * Support for Objc rule types that export an Xcode provider or generate xcode project files. * * <p>Methods on this class can be called in any order without impacting the result. + * + * <p>These objects should not outlast the analysis phase. Do not pass them to {@link Action} + * objects or other persistent objects. There are internal tests to ensure that XcodeSupport objects + * are not persisted that check the name of this class, so update those tests if you change this + * class's name. */ public final class XcodeSupport { |