Skip to content

Commit b168ce7

Browse files
committed
Check against problem and path-problem aliases
1 parent 5521c00 commit b168ce7

4 files changed

Lines changed: 23 additions & 9 deletions

File tree

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
const SARIF_RESULTS_QUERY_KINDS = [
2+
"problem",
3+
"alert",
4+
"path-problem",
5+
"path-alert",
6+
];
7+
8+
/**
9+
* Returns whether this query kind supports producing SARIF results.
10+
*/
11+
export function isSarifResultsQueryKind(kind: string | undefined): boolean {
12+
if (!kind) {
13+
return false;
14+
}
15+
16+
return SARIF_RESULTS_QUERY_KINDS.includes(kind);
17+
}

extensions/ql-vscode/src/variant-analysis/code-scanning-pack.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import type { QueryLanguage } from "../common/query-language";
44
import type { CodeQLCliServer } from "../codeql-cli/cli";
55
import type { QlPackDetails } from "./ql-pack-details";
66
import { getQlPackFilePath } from "../common/ql";
7+
import { isSarifResultsQueryKind } from "../common/query-metadata";
78

89
export async function resolveCodeScanningQueryPack(
910
logger: BaseLogger,
@@ -64,10 +65,7 @@ async function filterToOnlyProblemQueries(
6465
const problemQueries: string[] = [];
6566
for (const query of queries) {
6667
const queryMetadata = await cliServer.resolveMetadata(query);
67-
if (
68-
queryMetadata.kind === "problem" ||
69-
queryMetadata.kind === "path-problem"
70-
) {
68+
if (isSarifResultsQueryKind(queryMetadata.kind)) {
7169
problemQueries.push(query);
7270
} else {
7371
void logger.log(`Skipping non-problem query ${query}`);

extensions/ql-vscode/src/variant-analysis/variant-analysis-manager.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ import { tryGetQueryMetadata } from "../codeql-cli/query-metadata";
9696
import { getOnDiskWorkspaceFolders } from "../common/vscode/workspace-folders";
9797
import { findVariantAnalysisQlPackRoot } from "./ql";
9898
import { resolveCodeScanningQueryPack } from "./code-scanning-pack";
99+
import { isSarifResultsQueryKind } from "../common/query-metadata";
99100

100101
const maxRetryCount = 3;
101102

@@ -330,7 +331,7 @@ export class VariantAnalysisManager
330331
// It's not possible to interpret a BQRS file to SARIF without an id property.
331332
if (
332333
queryMetadata?.kind &&
333-
["problem", "path-problem"].includes(queryMetadata.kind) &&
334+
isSarifResultsQueryKind(queryMetadata.kind) &&
334335
!queryMetadata.id
335336
) {
336337
throw new UserCancellationException(

extensions/ql-vscode/src/view/variant-analysis/RepositoriesSearchSortRow.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { RepositoriesSort } from "./RepositoriesSort";
1111
import { RepositoriesFilter } from "./RepositoriesFilter";
1212
import { RepositoriesResultFormat } from "./RepositoriesResultFormat";
1313
import type { ResultFormat } from "../../variant-analysis/shared/variant-analysis-result-format";
14+
import { isSarifResultsQueryKind } from "../../common/query-metadata";
1415

1516
type Props = {
1617
filterSortValue: RepositoriesFilterSortState;
@@ -47,10 +48,7 @@ const RepositoriesResultFormatColumn = styled(RepositoriesResultFormat)`
4748
function showResultFormatColumn(
4849
variantAnalysisQueryKind: string | undefined,
4950
): boolean {
50-
return (
51-
variantAnalysisQueryKind === "problem" ||
52-
variantAnalysisQueryKind === "path-problem"
53-
);
51+
return isSarifResultsQueryKind(variantAnalysisQueryKind);
5452
}
5553

5654
export const RepositoriesSearchSortRow = ({

0 commit comments

Comments
 (0)