Skip to content

Commit 67446d6

Browse files
aoeuicopybara-github
authored andcommitted
Delete KeyedConfiguredTarget.
No longer needed since ConfiguredTargetKey is embedded in ConfiguredTarget. PiperOrigin-RevId: 535908504 Change-Id: Id0b11ae876d32a94438c7409136c0c52dcadf1ad
1 parent 861df78 commit 67446d6

24 files changed

+214
-297
lines changed

src/main/java/com/google/devtools/build/lib/buildtool/CqueryProcessor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
package com.google.devtools.build.lib.buildtool;
1515

1616
import com.google.common.collect.ImmutableList;
17+
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
1718
import com.google.devtools.build.lib.cmdline.TargetPattern;
1819
import com.google.devtools.build.lib.query2.PostAnalysisQueryEnvironment.TopLevelConfigurations;
1920
import com.google.devtools.build.lib.query2.cquery.ConfiguredTargetQueryEnvironment;
2021
import com.google.devtools.build.lib.query2.cquery.CqueryOptions;
21-
import com.google.devtools.build.lib.query2.cquery.KeyedConfiguredTarget;
2222
import com.google.devtools.build.lib.query2.engine.QueryEnvironment.QueryFunction;
2323
import com.google.devtools.build.lib.query2.engine.QueryExpression;
2424
import com.google.devtools.build.lib.runtime.CommandEnvironment;
@@ -27,7 +27,7 @@
2727
import java.util.Collection;
2828

2929
/** Performs {@code cquery} processing. */
30-
public final class CqueryProcessor extends PostAnalysisQueryProcessor<KeyedConfiguredTarget> {
30+
public final class CqueryProcessor extends PostAnalysisQueryProcessor<ConfiguredTarget> {
3131

3232
public CqueryProcessor(
3333
QueryExpression queryExpression, TargetPattern.Parser mainRepoTargetParser) {

src/main/java/com/google/devtools/build/lib/query2/cquery/BuildOutputFormatterCallback.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
package com.google.devtools.build.lib.query2.cquery;
1616

1717
import com.google.common.collect.ImmutableList;
18+
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
1819
import com.google.devtools.build.lib.analysis.configuredtargets.OutputFileConfiguredTarget;
1920
import com.google.devtools.build.lib.events.ExtendedEventHandler;
2021
import com.google.devtools.build.lib.packages.Attribute;
@@ -37,7 +38,7 @@ class BuildOutputFormatterCallback extends CqueryThreadsafeCallback {
3738
CqueryOptions options,
3839
OutputStream out,
3940
SkyframeExecutor skyframeExecutor,
40-
TargetAccessor<KeyedConfiguredTarget> accessor) {
41+
TargetAccessor<ConfiguredTarget> accessor) {
4142
super(eventHandler, options, out, skyframeExecutor, accessor, /*uniquifyResults=*/ false);
4243
}
4344

@@ -66,28 +67,28 @@ public Iterable<Object> getPossibleValues(Rule rule, Attribute attr) {
6667
}
6768

6869
@Nullable
69-
private ConfiguredAttributeMapper getAttributeMap(KeyedConfiguredTarget kct)
70+
private ConfiguredAttributeMapper getAttributeMap(ConfiguredTarget kct)
7071
throws InterruptedException {
7172
Rule associatedRule = accessor.getTarget(kct).getAssociatedRule();
7273
if (associatedRule == null) {
7374
return null;
74-
} else if (kct.getConfiguredTarget() instanceof OutputFileConfiguredTarget) {
75+
} else if (kct instanceof OutputFileConfiguredTarget) {
7576
return ConfiguredAttributeMapper.of(
7677
associatedRule,
7778
accessor.getGeneratingConfiguredTarget(kct).getConfigConditions(),
78-
kct.getConfigurationChecksum(),
79-
/*alwaysSucceed=*/ false);
79+
kct.getConfigurationKey().getOptionsChecksum(),
80+
/* alwaysSucceed= */ false);
8081
} else {
8182
return ConfiguredAttributeMapper.of(
8283
associatedRule,
8384
kct.getConfigConditions(),
84-
kct.getConfigurationChecksum(),
85-
/*alwaysSucceed=*/ false);
85+
kct.getConfigurationKey().getOptionsChecksum(),
86+
/* alwaysSucceed= */ false);
8687
}
8788
}
8889

8990
@Override
90-
public void processOutput(Iterable<KeyedConfiguredTarget> partialResult)
91+
public void processOutput(Iterable<ConfiguredTarget> partialResult)
9192
throws InterruptedException, IOException {
9293
BuildOutputFormatter.TargetOutputter outputter =
9394
new TargetOutputter(
@@ -98,7 +99,7 @@ public void processOutput(Iterable<KeyedConfiguredTarget> partialResult)
9899
// and which path is chosen, which people may find even more informative.
99100
(rule, attr) -> false,
100101
System.lineSeparator());
101-
for (KeyedConfiguredTarget configuredTarget : partialResult) {
102+
for (ConfiguredTarget configuredTarget : partialResult) {
102103
Target target = accessor.getTarget(configuredTarget);
103104
outputter.output(target, new CqueryAttributeReader(getAttributeMap(configuredTarget)));
104105
}

src/main/java/com/google/devtools/build/lib/query2/cquery/ConfigFunction.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
package com.google.devtools.build.lib.query2.cquery;
1515

1616
import com.google.common.collect.ImmutableList;
17+
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
1718
import com.google.devtools.build.lib.query2.common.AbstractBlazeQueryEnvironment;
1819
import com.google.devtools.build.lib.query2.engine.Callback;
1920
import com.google.devtools.build.lib.query2.engine.QueryEnvironment;
@@ -58,7 +59,7 @@ public List<ArgumentType> getArgumentTypes() {
5859

5960
/**
6061
* This function is only viable with ConfiguredTargetQueryEnvironment which extends {@link
61-
* AbstractBlazeQueryEnvironment <KeyedConfiguredTarget>}.
62+
* AbstractBlazeQueryEnvironment <ConfiguredTarget>}.
6263
*/
6364
@Override
6465
@SuppressWarnings("unchecked")
@@ -84,6 +85,6 @@ public <T> QueryTaskFuture<Void> eval(
8485
targetExpression.toString(),
8586
targetsFuture,
8687
configuration,
87-
(Callback<KeyedConfiguredTarget>) callback));
88+
(Callback<ConfiguredTarget>) callback));
8889
}
8990
}

src/main/java/com/google/devtools/build/lib/query2/cquery/ConfiguredTargetAccessor.java

Lines changed: 28 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717

1818
import com.google.common.base.Preconditions;
1919
import com.google.common.collect.ImmutableList;
20+
import com.google.common.collect.ImmutableListMultimap;
2021
import com.google.common.collect.ImmutableMap;
2122
import com.google.common.collect.ImmutableSet;
22-
import com.google.common.collect.Multimap;
2323
import com.google.common.collect.Multimaps;
2424
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
2525
import com.google.devtools.build.lib.analysis.ConfiguredTargetValue;
@@ -57,7 +57,7 @@
5757
*
5858
* <p>Incomplete; we'll implement getVisibility when needed.
5959
*/
60-
public class ConfiguredTargetAccessor implements TargetAccessor<KeyedConfiguredTarget> {
60+
public class ConfiguredTargetAccessor implements TargetAccessor<ConfiguredTarget> {
6161

6262
private final WalkableGraph walkableGraph;
6363
private final ConfiguredTargetQueryEnvironment queryEnvironment;
@@ -69,55 +69,56 @@ public ConfiguredTargetAccessor(
6969
}
7070

7171
@Override
72-
public String getTargetKind(KeyedConfiguredTarget target) {
72+
public String getTargetKind(ConfiguredTarget target) {
7373
Target actualTarget = getTarget(target);
7474
return actualTarget.getTargetKind();
7575
}
7676

7777
@Override
78-
public String getLabel(KeyedConfiguredTarget target) {
79-
return target.getLabel().toString();
78+
public String getLabel(ConfiguredTarget target) {
79+
return target.getOriginalLabel().toString();
8080
}
8181

8282
@Override
83-
public String getPackage(KeyedConfiguredTarget target) {
84-
return target.getLabel().getPackageIdentifier().getPackageFragment().toString();
83+
public String getPackage(ConfiguredTarget target) {
84+
return target.getOriginalLabel().getPackageIdentifier().getPackageFragment().toString();
8585
}
8686

8787
@Override
88-
public boolean isRule(KeyedConfiguredTarget target) {
88+
public boolean isRule(ConfiguredTarget target) {
8989
Target actualTarget = getTarget(target);
9090
return actualTarget instanceof Rule;
9191
}
9292

9393
@Override
94-
public boolean isTestRule(KeyedConfiguredTarget target) {
94+
public boolean isTestRule(ConfiguredTarget target) {
9595
Target actualTarget = getTarget(target);
9696
return TargetUtils.isTestRule(actualTarget);
9797
}
9898

9999
@Override
100-
public boolean isTestSuite(KeyedConfiguredTarget target) {
100+
public boolean isTestSuite(ConfiguredTarget target) {
101101
Target actualTarget = getTarget(target);
102102
return TargetUtils.isTestSuiteRule(actualTarget);
103103
}
104104

105105
@Override
106-
public List<KeyedConfiguredTarget> getPrerequisites(
106+
public List<ConfiguredTarget> getPrerequisites(
107107
QueryExpression caller,
108-
KeyedConfiguredTarget keyedConfiguredTarget,
108+
ConfiguredTarget keyedConfiguredTarget,
109109
String attrName,
110110
String errorMsgPrefix)
111111
throws QueryException, InterruptedException {
112112
// Process aliases.
113-
KeyedConfiguredTarget actual = keyedConfiguredTarget.getActual();
113+
ConfiguredTarget actual = keyedConfiguredTarget.getActual();
114114

115115
Preconditions.checkArgument(
116116
isRule(actual), "%s %s is not a rule configured target", errorMsgPrefix, getLabel(actual));
117117

118-
Multimap<Label, KeyedConfiguredTarget> depsByLabel =
118+
ImmutableListMultimap<Label, ConfiguredTarget> depsByLabel =
119119
Multimaps.index(
120-
queryEnvironment.getFwdDeps(ImmutableList.of(actual)), KeyedConfiguredTarget::getLabel);
120+
queryEnvironment.getFwdDeps(ImmutableList.of(actual)),
121+
ConfiguredTarget::getOriginalLabel);
121122

122123
Rule rule = (Rule) getTarget(actual);
123124
ImmutableMap<Label, ConfigMatchingProvider> configConditions = actual.getConfigConditions();
@@ -135,41 +136,41 @@ public List<KeyedConfiguredTarget> getPrerequisites(
135136
errorMsgPrefix, rule.getRuleClass(), attrName),
136137
ConfigurableQuery.Code.ATTRIBUTE_MISSING);
137138
}
138-
ImmutableList.Builder<KeyedConfiguredTarget> toReturn = ImmutableList.builder();
139+
ImmutableList.Builder<ConfiguredTarget> toReturn = ImmutableList.builder();
139140
attributeMapper.visitLabels(attrName, label -> toReturn.addAll(depsByLabel.get(label)));
140141
return toReturn.build();
141142
}
142143

143144
@Override
144-
public List<String> getStringListAttr(KeyedConfiguredTarget target, String attrName) {
145+
public List<String> getStringListAttr(ConfiguredTarget target, String attrName) {
145146
Target actualTarget = getTarget(target);
146147
return TargetUtils.getStringListAttr(actualTarget, attrName);
147148
}
148149

149150
@Override
150-
public String getStringAttr(KeyedConfiguredTarget target, String attrName) {
151+
public String getStringAttr(ConfiguredTarget target, String attrName) {
151152
Target actualTarget = getTarget(target);
152153
return TargetUtils.getStringAttr(actualTarget, attrName);
153154
}
154155

155156
@Override
156-
public Iterable<String> getAttrAsString(KeyedConfiguredTarget target, String attrName) {
157+
public Iterable<String> getAttrAsString(ConfiguredTarget target, String attrName) {
157158
Target actualTarget = getTarget(target);
158159
return TargetUtils.getAttrAsString(actualTarget, attrName);
159160
}
160161

161162
@Override
162-
public ImmutableSet<QueryVisibility<KeyedConfiguredTarget>> getVisibility(
163-
QueryExpression caller, KeyedConfiguredTarget from) throws QueryException {
163+
public ImmutableSet<QueryVisibility<ConfiguredTarget>> getVisibility(
164+
QueryExpression caller, ConfiguredTarget from) throws QueryException {
164165
// TODO(bazel-team): implement this if needed.
165166
throw new QueryException(
166167
"visible() is not supported on configured targets",
167168
ConfigurableQuery.Code.VISIBLE_FUNCTION_NOT_SUPPORTED);
168169
}
169170

170-
public Target getTarget(KeyedConfiguredTarget keyedConfiguredTarget) {
171+
public Target getTarget(ConfiguredTarget configuredTarget) {
171172
// Dereference any aliases that might be present.
172-
Label label = keyedConfiguredTarget.getConfiguredTarget().getOriginalLabel();
173+
Label label = configuredTarget.getOriginalLabel();
173174
try {
174175
return queryEnvironment.getTarget(label);
175176
} catch (InterruptedException e) {
@@ -180,18 +181,15 @@ public Target getTarget(KeyedConfiguredTarget keyedConfiguredTarget) {
180181
}
181182

182183
/** Returns the rule that generates the given output file. */
183-
RuleConfiguredTarget getGeneratingConfiguredTarget(KeyedConfiguredTarget kct)
184+
RuleConfiguredTarget getGeneratingConfiguredTarget(ConfiguredTarget kct)
184185
throws InterruptedException {
185-
Preconditions.checkArgument(kct.getConfiguredTarget() instanceof OutputFileConfiguredTarget);
186+
Preconditions.checkArgument(kct instanceof OutputFileConfiguredTarget);
186187
return (RuleConfiguredTarget)
187188
((ConfiguredTargetValue)
188189
walkableGraph.getValue(
189190
ConfiguredTargetKey.builder()
190-
.setLabel(
191-
((OutputFileConfiguredTarget) kct.getConfiguredTarget())
192-
.getGeneratingRule()
193-
.getLabel())
194-
.setConfiguration(queryEnvironment.getConfiguration(kct))
191+
.setLabel(((OutputFileConfiguredTarget) kct).getGeneratingRule().getLabel())
192+
.setConfigurationKey(kct.getConfigurationKey())
195193
.build()
196194
.toKey()))
197195
.getConfiguredTarget();

0 commit comments

Comments
 (0)