diff options
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/query2/output/QueryOutputUtils.java | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/query2/output/QueryOutputUtils.java b/src/main/java/com/google/devtools/build/lib/query2/output/QueryOutputUtils.java index d28b96a8ec..42687e2063 100644 --- a/src/main/java/com/google/devtools/build/lib/query2/output/QueryOutputUtils.java +++ b/src/main/java/com/google/devtools/build/lib/query2/output/QueryOutputUtils.java @@ -42,17 +42,21 @@ public class QueryOutputUtils { * output everything in one batch. This happens when the QueryEnvironment does not * support streaming but we don't care about ordered results. */ - boolean orderedResults = !shouldStreamResults(queryOptions, formatter); - if (orderedResults) { - formatter.output(queryOptions, - ((DigraphQueryEvalResult<Target>) result).getGraph().extractSubgraph(targetsResult), - outputStream, aspectResolver); - } else { + if (shouldStreamResults(queryOptions, formatter)) { StreamedFormatter streamedFormatter = (StreamedFormatter) formatter; streamedFormatter.setOptions(queryOptions, aspectResolver); OutputFormatterCallback.processAllTargets( streamedFormatter.createPostFactoStreamCallback(outputStream, queryOptions), targetsResult); + } else { + @SuppressWarnings("unchecked") + DigraphQueryEvalResult<Target> digraphQueryEvalResult = + (DigraphQueryEvalResult<Target>) result; + formatter.output( + queryOptions, + digraphQueryEvalResult.getGraph().extractSubgraph(targetsResult), + outputStream, + aspectResolver); } } } |