From e5845b1c2102baad39d68bcbfc61c985b9c12d69 Mon Sep 17 00:00:00 2001 From: Nora Date: Mon, 24 Apr 2023 11:31:16 +0000 Subject: [PATCH 1/7] move contextual -> language-support/contextual including tests and kebab-caseing --- extensions/ql-vscode/src/ast-cfg-commands.ts | 2 +- extensions/ql-vscode/src/extension.ts | 2 +- .../contextual/ast-builder.ts} | 16 ++++++++----- .../contextual/file-range-from-uri.ts} | 6 ++--- .../contextual/key-type.ts} | 0 .../contextual/location-finder.ts} | 22 +++++++++--------- .../contextual/query-resolver.ts} | 23 +++++++++++-------- .../contextual/template-provider.ts} | 22 +++++++++--------- .../ql-vscode/src/run-queries-shared.ts | 2 +- .../cli-integration/queries.test.ts | 2 +- .../cli-integration/run-cli.test.ts | 4 ++-- .../contextual/ast-builder.test.ts} | 8 +++---- .../contextual/file-range-from-uri.test.ts} | 8 +++---- .../contextual/query-resolver.test.ts} | 12 +++++----- .../no-workspace/run-queries.test.ts | 2 +- 15 files changed, 70 insertions(+), 61 deletions(-) rename extensions/ql-vscode/src/{contextual/astBuilder.ts => language-support/contextual/ast-builder.ts} (92%) rename extensions/ql-vscode/src/{contextual/fileRangeFromURI.ts => language-support/contextual/file-range-from-uri.ts} (82%) rename extensions/ql-vscode/src/{contextual/keyType.ts => language-support/contextual/key-type.ts} (100%) rename extensions/ql-vscode/src/{contextual/locationFinder.ts => language-support/contextual/location-finder.ts} (87%) rename extensions/ql-vscode/src/{contextual/queryResolver.ts => language-support/contextual/query-resolver.ts} (92%) rename extensions/ql-vscode/src/{contextual/templateProvider.ts => language-support/contextual/template-provider.ts} (94%) rename extensions/ql-vscode/test/vscode-tests/no-workspace/{contextual/astBuilder.test.ts => language-support/contextual/ast-builder.test.ts} (94%) rename extensions/ql-vscode/test/vscode-tests/no-workspace/{contextual/fileRangeFromURI.test.ts => language-support/contextual/file-range-from-uri.test.ts} (89%) rename extensions/ql-vscode/test/vscode-tests/no-workspace/{contextual/queryResolver.test.ts => language-support/contextual/query-resolver.test.ts} (88%) diff --git a/extensions/ql-vscode/src/ast-cfg-commands.ts b/extensions/ql-vscode/src/ast-cfg-commands.ts index 3536718183a..48ef08d842b 100644 --- a/extensions/ql-vscode/src/ast-cfg-commands.ts +++ b/extensions/ql-vscode/src/ast-cfg-commands.ts @@ -4,7 +4,7 @@ import { AstViewer } from "./astViewer"; import { TemplatePrintAstProvider, TemplatePrintCfgProvider, -} from "./contextual/templateProvider"; +} from "./language-support/contextual/template-provider"; import { AstCfgCommands } from "./common/commands"; import { LocalQueries } from "./local-queries"; diff --git a/extensions/ql-vscode/src/extension.ts b/extensions/ql-vscode/src/extension.ts index 0cb7c22012c..0a81d8ee45b 100644 --- a/extensions/ql-vscode/src/extension.ts +++ b/extensions/ql-vscode/src/extension.ts @@ -47,7 +47,7 @@ import { TemplatePrintCfgProvider, TemplateQueryDefinitionProvider, TemplateQueryReferenceProvider, -} from "./contextual/templateProvider"; +} from "./language-support/contextual/template-provider"; import { DEFAULT_DISTRIBUTION_VERSION_RANGE, DistributionKind, diff --git a/extensions/ql-vscode/src/contextual/astBuilder.ts b/extensions/ql-vscode/src/language-support/contextual/ast-builder.ts similarity index 92% rename from extensions/ql-vscode/src/contextual/astBuilder.ts rename to extensions/ql-vscode/src/language-support/contextual/ast-builder.ts index 7e3617761ef..8739fc174ff 100644 --- a/extensions/ql-vscode/src/contextual/astBuilder.ts +++ b/extensions/ql-vscode/src/language-support/contextual/ast-builder.ts @@ -1,10 +1,14 @@ -import { CodeQLCliServer } from "../cli"; -import { DecodedBqrsChunk, BqrsId, EntityValue } from "../pure/bqrs-cli-types"; -import { DatabaseItem } from "../local-databases"; -import { ChildAstItem, AstItem } from "../astViewer"; -import fileRangeFromURI from "./fileRangeFromURI"; +import { CodeQLCliServer } from "../../cli"; +import { + DecodedBqrsChunk, + BqrsId, + EntityValue, +} from "../../pure/bqrs-cli-types"; +import { DatabaseItem } from "../../local-databases"; +import { ChildAstItem, AstItem } from "../../astViewer"; +import fileRangeFromURI from "./file-range-from-uri"; import { Uri } from "vscode"; -import { QueryOutputDir } from "../run-queries-shared"; +import { QueryOutputDir } from "../../run-queries-shared"; /** * A class that wraps a tree of QL results from a query that diff --git a/extensions/ql-vscode/src/contextual/fileRangeFromURI.ts b/extensions/ql-vscode/src/language-support/contextual/file-range-from-uri.ts similarity index 82% rename from extensions/ql-vscode/src/contextual/fileRangeFromURI.ts rename to extensions/ql-vscode/src/language-support/contextual/file-range-from-uri.ts index 47f0452063e..de13e9121d9 100644 --- a/extensions/ql-vscode/src/contextual/fileRangeFromURI.ts +++ b/extensions/ql-vscode/src/language-support/contextual/file-range-from-uri.ts @@ -1,8 +1,8 @@ import * as vscode from "vscode"; -import { UrlValue, LineColumnLocation } from "../pure/bqrs-cli-types"; -import { isEmptyPath } from "../pure/bqrs-utils"; -import { DatabaseItem } from "../local-databases"; +import { UrlValue, LineColumnLocation } from "../../pure/bqrs-cli-types"; +import { isEmptyPath } from "../../pure/bqrs-utils"; +import { DatabaseItem } from "../../local-databases"; export default function fileRangeFromURI( uri: UrlValue | undefined, diff --git a/extensions/ql-vscode/src/contextual/keyType.ts b/extensions/ql-vscode/src/language-support/contextual/key-type.ts similarity index 100% rename from extensions/ql-vscode/src/contextual/keyType.ts rename to extensions/ql-vscode/src/language-support/contextual/key-type.ts diff --git a/extensions/ql-vscode/src/contextual/locationFinder.ts b/extensions/ql-vscode/src/language-support/contextual/location-finder.ts similarity index 87% rename from extensions/ql-vscode/src/contextual/locationFinder.ts rename to extensions/ql-vscode/src/language-support/contextual/location-finder.ts index 986a9c28d85..7da365c4cbe 100644 --- a/extensions/ql-vscode/src/contextual/locationFinder.ts +++ b/extensions/ql-vscode/src/language-support/contextual/location-finder.ts @@ -1,27 +1,27 @@ import { decodeSourceArchiveUri, encodeArchiveBasePath, -} from "../archive-filesystem-provider"; +} from "../../archive-filesystem-provider"; import { ColumnKindCode, EntityValue, getResultSetSchema, ResultSetSchema, -} from "../pure/bqrs-cli-types"; -import { CodeQLCliServer } from "../cli"; -import { DatabaseManager, DatabaseItem } from "../local-databases"; -import fileRangeFromURI from "./fileRangeFromURI"; -import { ProgressCallback } from "../progress"; -import { KeyType } from "./keyType"; +} from "../../pure/bqrs-cli-types"; +import { CodeQLCliServer } from "../../cli"; +import { DatabaseManager, DatabaseItem } from "../../local-databases"; +import fileRangeFromURI from "./file-range-from-uri"; +import { ProgressCallback } from "../../progress"; +import { KeyType } from "./key-type"; import { qlpackOfDatabase, resolveQueries, runContextualQuery, -} from "./queryResolver"; +} from "./query-resolver"; import { CancellationToken, LocationLink, Uri } from "vscode"; -import { QueryOutputDir } from "../run-queries-shared"; -import { QueryRunner } from "../query-server"; -import { QueryResultType } from "../pure/new-messages"; +import { QueryOutputDir } from "../../run-queries-shared"; +import { QueryRunner } from "../../query-server"; +import { QueryResultType } from "../../pure/new-messages"; export const SELECT_QUERY_NAME = "#select"; export const TEMPLATE_NAME = "selectedSourceFile"; diff --git a/extensions/ql-vscode/src/contextual/queryResolver.ts b/extensions/ql-vscode/src/language-support/contextual/query-resolver.ts similarity index 92% rename from extensions/ql-vscode/src/contextual/queryResolver.ts rename to extensions/ql-vscode/src/language-support/contextual/query-resolver.ts index ffab9c1ef90..4a451076083 100644 --- a/extensions/ql-vscode/src/contextual/queryResolver.ts +++ b/extensions/ql-vscode/src/language-support/contextual/query-resolver.ts @@ -9,16 +9,21 @@ import { getOnDiskWorkspaceFolders, QlPacksForLanguage, showAndLogExceptionWithTelemetry, -} from "../helpers"; -import { KeyType, kindOfKeyType, nameOfKeyType, tagOfKeyType } from "./keyType"; -import { CodeQLCliServer } from "../cli"; -import { DatabaseItem } from "../local-databases"; -import { extLogger, TeeLogger } from "../common"; +} from "../../helpers"; +import { + KeyType, + kindOfKeyType, + nameOfKeyType, + tagOfKeyType, +} from "./key-type"; +import { CodeQLCliServer } from "../../cli"; +import { DatabaseItem } from "../../local-databases"; +import { extLogger, TeeLogger } from "../../common"; import { CancellationToken } from "vscode"; -import { ProgressCallback } from "../progress"; -import { CoreCompletedQuery, QueryRunner } from "../query-server"; -import { redactableError } from "../pure/errors"; -import { QLPACK_FILENAMES } from "../pure/ql"; +import { ProgressCallback } from "../../progress"; +import { CoreCompletedQuery, QueryRunner } from "../../query-server"; +import { redactableError } from "../../pure/errors"; +import { QLPACK_FILENAMES } from "../../pure/ql"; export async function qlpackOfDatabase( cli: Pick, diff --git a/extensions/ql-vscode/src/contextual/templateProvider.ts b/extensions/ql-vscode/src/language-support/contextual/template-provider.ts similarity index 94% rename from extensions/ql-vscode/src/contextual/templateProvider.ts rename to extensions/ql-vscode/src/language-support/contextual/template-provider.ts index 00cd07a4e4b..6492491afc8 100644 --- a/extensions/ql-vscode/src/contextual/templateProvider.ts +++ b/extensions/ql-vscode/src/language-support/contextual/template-provider.ts @@ -14,25 +14,25 @@ import { decodeSourceArchiveUri, encodeArchiveBasePath, zipArchiveScheme, -} from "../archive-filesystem-provider"; -import { CodeQLCliServer } from "../cli"; -import { DatabaseManager } from "../local-databases"; -import { CachedOperation } from "../helpers"; -import { ProgressCallback, withProgress } from "../progress"; -import AstBuilder from "./astBuilder"; -import { KeyType } from "./keyType"; +} from "../../archive-filesystem-provider"; +import { CodeQLCliServer } from "../../cli"; +import { DatabaseManager } from "../../local-databases"; +import { CachedOperation } from "../../helpers"; +import { ProgressCallback, withProgress } from "../../progress"; +import AstBuilder from "./ast-builder"; +import { KeyType } from "./key-type"; import { FullLocationLink, getLocationsForUriString, TEMPLATE_NAME, -} from "./locationFinder"; +} from "./location-finder"; import { qlpackOfDatabase, resolveQueries, runContextualQuery, -} from "./queryResolver"; -import { isCanary, NO_CACHE_AST_VIEWER } from "../config"; -import { CoreCompletedQuery, QueryRunner } from "../query-server"; +} from "./query-resolver"; +import { isCanary, NO_CACHE_AST_VIEWER } from "../../config"; +import { CoreCompletedQuery, QueryRunner } from "../../query-server"; /** * Runs templated CodeQL queries to find definitions in diff --git a/extensions/ql-vscode/src/run-queries-shared.ts b/extensions/ql-vscode/src/run-queries-shared.ts index b37f1fa0d3f..ed05efdd339 100644 --- a/extensions/ql-vscode/src/run-queries-shared.ts +++ b/extensions/ql-vscode/src/run-queries-shared.ts @@ -24,7 +24,7 @@ import { ensureMetadataIsComplete, InitialQueryInfo } from "./query-results"; import { isQuickQueryPath } from "./local-queries"; import { nanoid } from "nanoid"; import { CodeQLCliServer } from "./cli"; -import { SELECT_QUERY_NAME } from "./contextual/locationFinder"; +import { SELECT_QUERY_NAME } from "./language-support/contextual/location-finder"; import { DatabaseManager } from "./local-databases"; import { DecodedBqrsChunk, EntityValue } from "./pure/bqrs-cli-types"; import { BaseLogger, extLogger } from "./common"; diff --git a/extensions/ql-vscode/test/vscode-tests/cli-integration/queries.test.ts b/extensions/ql-vscode/test/vscode-tests/cli-integration/queries.test.ts index bec1eaff464..04f8f8db903 100644 --- a/extensions/ql-vscode/test/vscode-tests/cli-integration/queries.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/cli-integration/queries.test.ts @@ -21,7 +21,7 @@ import { CoreCompletedQuery, QueryRunner, } from "../../../src/query-server/query-runner"; -import { SELECT_QUERY_NAME } from "../../../src/contextual/locationFinder"; +import { SELECT_QUERY_NAME } from "../../../src/language-support/contextual/location-finder"; import { LocalQueries } from "../../../src/local-queries"; import { QueryResultType } from "../../../src/pure/new-messages"; import { createVSCodeCommandManager } from "../../../src/common/vscode/commands"; diff --git a/extensions/ql-vscode/test/vscode-tests/cli-integration/run-cli.test.ts b/extensions/ql-vscode/test/vscode-tests/cli-integration/run-cli.test.ts index 9ce307b7f4d..da3501f5ff3 100644 --- a/extensions/ql-vscode/test/vscode-tests/cli-integration/run-cli.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/cli-integration/run-cli.test.ts @@ -9,8 +9,8 @@ import { getQlPackForDbscheme, languageToDbScheme, } from "../../../src/helpers"; -import { resolveQueries } from "../../../src/contextual/queryResolver"; -import { KeyType } from "../../../src/contextual/keyType"; +import { resolveQueries } from "../../../src/language-support/contextual/query-resolver"; +import { KeyType } from "../../../src/language-support/contextual/key-type"; import { faker } from "@faker-js/faker"; import { getActivatedExtension } from "../global.helper"; diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/contextual/astBuilder.test.ts b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/ast-builder.test.ts similarity index 94% rename from extensions/ql-vscode/test/vscode-tests/no-workspace/contextual/astBuilder.test.ts rename to extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/ast-builder.test.ts index be3b72795bb..50670bd5ffa 100644 --- a/extensions/ql-vscode/test/vscode-tests/no-workspace/contextual/astBuilder.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/ast-builder.test.ts @@ -1,10 +1,10 @@ import { readFileSync } from "fs-extra"; -import AstBuilder from "../../../../src/contextual/astBuilder"; -import { CodeQLCliServer } from "../../../../src/cli"; +import AstBuilder from "../../../../../src/language-support/contextual/ast-builder"; +import { CodeQLCliServer } from "../../../../../src/cli"; import { Uri } from "vscode"; -import { QueryOutputDir } from "../../../../src/run-queries-shared"; -import { mockDatabaseItem, mockedObject } from "../../utils/mocking.helpers"; +import { QueryOutputDir } from "../../../../../src/run-queries-shared"; +import { mockDatabaseItem, mockedObject } from "../../../utils/mocking.helpers"; import path from "path"; /** diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/contextual/fileRangeFromURI.test.ts b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/file-range-from-uri.test.ts similarity index 89% rename from extensions/ql-vscode/test/vscode-tests/no-workspace/contextual/fileRangeFromURI.test.ts rename to extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/file-range-from-uri.test.ts index f69842c428e..f347208a98e 100644 --- a/extensions/ql-vscode/test/vscode-tests/no-workspace/contextual/fileRangeFromURI.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/file-range-from-uri.test.ts @@ -1,12 +1,12 @@ import { Uri, Range } from "vscode"; -import fileRangeFromURI from "../../../../src/contextual/fileRangeFromURI"; -import { DatabaseItem } from "../../../../src/local-databases"; +import fileRangeFromURI from "../../../../../src/language-support/contextual/file-range-from-uri"; +import { DatabaseItem } from "../../../../../src/local-databases"; import { WholeFileLocation, LineColumnLocation, -} from "../../../../src/pure/bqrs-cli-types"; -import { mockDatabaseItem } from "../../utils/mocking.helpers"; +} from "../../../../../src/pure/bqrs-cli-types"; +import { mockDatabaseItem } from "../../../utils/mocking.helpers"; describe("fileRangeFromURI", () => { it("should return undefined when value is not a file URI", () => { diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/contextual/queryResolver.test.ts b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/query-resolver.test.ts similarity index 88% rename from extensions/ql-vscode/test/vscode-tests/no-workspace/contextual/queryResolver.test.ts rename to extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/query-resolver.test.ts index ed4fd51294d..50ff9ebb607 100644 --- a/extensions/ql-vscode/test/vscode-tests/no-workspace/contextual/queryResolver.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/query-resolver.test.ts @@ -1,16 +1,16 @@ import { load } from "js-yaml"; import * as fs from "fs-extra"; -import { KeyType } from "../../../../src/contextual/keyType"; -import { getErrorMessage } from "../../../../src/pure/helpers-pure"; +import { KeyType } from "../../../../../src/language-support/contextual/key-type"; +import { getErrorMessage } from "../../../../../src/pure/helpers-pure"; -import * as helpers from "../../../../src/helpers"; +import * as helpers from "../../../../../src/helpers"; import { qlpackOfDatabase, resolveQueries, -} from "../../../../src/contextual/queryResolver"; -import { CodeQLCliServer } from "../../../../src/cli"; -import { mockDatabaseItem, mockedObject } from "../../utils/mocking.helpers"; +} from "../../../../../src/language-support/contextual/query-resolver"; +import { CodeQLCliServer } from "../../../../../src/cli"; +import { mockDatabaseItem, mockedObject } from "../../../utils/mocking.helpers"; describe("queryResolver", () => { let getQlPackForDbschemeSpy: jest.SpiedFunction< diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/run-queries.test.ts b/extensions/ql-vscode/test/vscode-tests/no-workspace/run-queries.test.ts index 8b1dd649371..4349fc2d388 100644 --- a/extensions/ql-vscode/test/vscode-tests/no-workspace/run-queries.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/no-workspace/run-queries.test.ts @@ -11,7 +11,7 @@ import { import * as config from "../../../src/config"; import { tmpDir } from "../../../src/helpers"; import { CodeQLCliServer } from "../../../src/cli"; -import { SELECT_QUERY_NAME } from "../../../src/contextual/locationFinder"; +import { SELECT_QUERY_NAME } from "../../../src/language-support/contextual/location-finder"; import { QueryInProgress, compileQuery as compileQueryLegacy, From c9f7b7aacff38a69974cb738a71227dac6148f42 Mon Sep 17 00:00:00 2001 From: Nora Date: Mon, 24 Apr 2023 11:54:37 +0000 Subject: [PATCH 2/7] create index.ts and adjust imports and exports --- extensions/ql-vscode/src/ast-cfg-commands.ts | 2 +- extensions/ql-vscode/src/extension.ts | 8 +++----- .../src/language-support/contextual/ast-builder.ts | 4 ++-- .../language-support/contextual/file-range-from-uri.ts | 2 +- .../ql-vscode/src/language-support/contextual/index.ts | 6 ++++++ .../src/language-support/contextual/location-finder.ts | 2 +- .../src/language-support/contextual/template-provider.ts | 2 +- extensions/ql-vscode/src/language-support/index.ts | 1 + extensions/ql-vscode/src/run-queries-shared.ts | 2 +- .../test/vscode-tests/cli-integration/queries.test.ts | 2 +- .../test/vscode-tests/cli-integration/run-cli.test.ts | 3 +-- .../language-support/contextual/ast-builder.test.ts | 2 +- .../contextual/file-range-from-uri.test.ts | 2 +- .../language-support/contextual/query-resolver.test.ts | 4 ++-- .../test/vscode-tests/no-workspace/run-queries.test.ts | 2 +- 15 files changed, 24 insertions(+), 20 deletions(-) create mode 100644 extensions/ql-vscode/src/language-support/contextual/index.ts diff --git a/extensions/ql-vscode/src/ast-cfg-commands.ts b/extensions/ql-vscode/src/ast-cfg-commands.ts index 48ef08d842b..37704b3837d 100644 --- a/extensions/ql-vscode/src/ast-cfg-commands.ts +++ b/extensions/ql-vscode/src/ast-cfg-commands.ts @@ -4,7 +4,7 @@ import { AstViewer } from "./astViewer"; import { TemplatePrintAstProvider, TemplatePrintCfgProvider, -} from "./language-support/contextual/template-provider"; +} from "./language-support"; import { AstCfgCommands } from "./common/commands"; import { LocalQueries } from "./local-queries"; diff --git a/extensions/ql-vscode/src/extension.ts b/extensions/ql-vscode/src/extension.ts index 0a81d8ee45b..5c78961347b 100644 --- a/extensions/ql-vscode/src/extension.ts +++ b/extensions/ql-vscode/src/extension.ts @@ -39,15 +39,13 @@ import { install, spawnIdeServer, getQueryEditorCommands, -} from "./language-support"; -import { DatabaseManager } from "./local-databases"; -import { DatabaseUI } from "./local-databases-ui"; -import { TemplatePrintAstProvider, TemplatePrintCfgProvider, TemplateQueryDefinitionProvider, TemplateQueryReferenceProvider, -} from "./language-support/contextual/template-provider"; +} from "./language-support"; +import { DatabaseManager } from "./local-databases"; +import { DatabaseUI } from "./local-databases-ui"; import { DEFAULT_DISTRIBUTION_VERSION_RANGE, DistributionKind, diff --git a/extensions/ql-vscode/src/language-support/contextual/ast-builder.ts b/extensions/ql-vscode/src/language-support/contextual/ast-builder.ts index 8739fc174ff..3fd866686b8 100644 --- a/extensions/ql-vscode/src/language-support/contextual/ast-builder.ts +++ b/extensions/ql-vscode/src/language-support/contextual/ast-builder.ts @@ -6,15 +6,15 @@ import { } from "../../pure/bqrs-cli-types"; import { DatabaseItem } from "../../local-databases"; import { ChildAstItem, AstItem } from "../../astViewer"; -import fileRangeFromURI from "./file-range-from-uri"; import { Uri } from "vscode"; import { QueryOutputDir } from "../../run-queries-shared"; +import { fileRangeFromURI } from "."; /** * A class that wraps a tree of QL results from a query that * has an @kind of graph */ -export default class AstBuilder { +export class AstBuilder { private roots: AstItem[] | undefined; private bqrsPath: string; constructor( diff --git a/extensions/ql-vscode/src/language-support/contextual/file-range-from-uri.ts b/extensions/ql-vscode/src/language-support/contextual/file-range-from-uri.ts index de13e9121d9..b79c67ea0b8 100644 --- a/extensions/ql-vscode/src/language-support/contextual/file-range-from-uri.ts +++ b/extensions/ql-vscode/src/language-support/contextual/file-range-from-uri.ts @@ -4,7 +4,7 @@ import { UrlValue, LineColumnLocation } from "../../pure/bqrs-cli-types"; import { isEmptyPath } from "../../pure/bqrs-utils"; import { DatabaseItem } from "../../local-databases"; -export default function fileRangeFromURI( +export function fileRangeFromURI( uri: UrlValue | undefined, db: DatabaseItem, ): vscode.Location | undefined { diff --git a/extensions/ql-vscode/src/language-support/contextual/index.ts b/extensions/ql-vscode/src/language-support/contextual/index.ts new file mode 100644 index 00000000000..01206726935 --- /dev/null +++ b/extensions/ql-vscode/src/language-support/contextual/index.ts @@ -0,0 +1,6 @@ +export * from "./ast-builder"; +export * from "./file-range-from-uri"; +export * from "./key-type"; +export * from "./location-finder"; +export * from "./query-resolver"; +export * from "./template-provider"; diff --git a/extensions/ql-vscode/src/language-support/contextual/location-finder.ts b/extensions/ql-vscode/src/language-support/contextual/location-finder.ts index 7da365c4cbe..6e2eeb9a7cf 100644 --- a/extensions/ql-vscode/src/language-support/contextual/location-finder.ts +++ b/extensions/ql-vscode/src/language-support/contextual/location-finder.ts @@ -10,7 +10,6 @@ import { } from "../../pure/bqrs-cli-types"; import { CodeQLCliServer } from "../../cli"; import { DatabaseManager, DatabaseItem } from "../../local-databases"; -import fileRangeFromURI from "./file-range-from-uri"; import { ProgressCallback } from "../../progress"; import { KeyType } from "./key-type"; import { @@ -22,6 +21,7 @@ import { CancellationToken, LocationLink, Uri } from "vscode"; import { QueryOutputDir } from "../../run-queries-shared"; import { QueryRunner } from "../../query-server"; import { QueryResultType } from "../../pure/new-messages"; +import { fileRangeFromURI } from "."; export const SELECT_QUERY_NAME = "#select"; export const TEMPLATE_NAME = "selectedSourceFile"; diff --git a/extensions/ql-vscode/src/language-support/contextual/template-provider.ts b/extensions/ql-vscode/src/language-support/contextual/template-provider.ts index 6492491afc8..2523c9c3ac3 100644 --- a/extensions/ql-vscode/src/language-support/contextual/template-provider.ts +++ b/extensions/ql-vscode/src/language-support/contextual/template-provider.ts @@ -19,7 +19,6 @@ import { CodeQLCliServer } from "../../cli"; import { DatabaseManager } from "../../local-databases"; import { CachedOperation } from "../../helpers"; import { ProgressCallback, withProgress } from "../../progress"; -import AstBuilder from "./ast-builder"; import { KeyType } from "./key-type"; import { FullLocationLink, @@ -33,6 +32,7 @@ import { } from "./query-resolver"; import { isCanary, NO_CACHE_AST_VIEWER } from "../../config"; import { CoreCompletedQuery, QueryRunner } from "../../query-server"; +import { AstBuilder } from "."; /** * Runs templated CodeQL queries to find definitions in diff --git a/extensions/ql-vscode/src/language-support/index.ts b/extensions/ql-vscode/src/language-support/index.ts index 8c2868414d6..9686975c838 100644 --- a/extensions/ql-vscode/src/language-support/index.ts +++ b/extensions/ql-vscode/src/language-support/index.ts @@ -1,3 +1,4 @@ +export * from "./contextual"; export * from "./ide-server"; export * from "./language-support"; export * from "./query-editor"; diff --git a/extensions/ql-vscode/src/run-queries-shared.ts b/extensions/ql-vscode/src/run-queries-shared.ts index ed05efdd339..52e00c56bf6 100644 --- a/extensions/ql-vscode/src/run-queries-shared.ts +++ b/extensions/ql-vscode/src/run-queries-shared.ts @@ -24,7 +24,7 @@ import { ensureMetadataIsComplete, InitialQueryInfo } from "./query-results"; import { isQuickQueryPath } from "./local-queries"; import { nanoid } from "nanoid"; import { CodeQLCliServer } from "./cli"; -import { SELECT_QUERY_NAME } from "./language-support/contextual/location-finder"; +import { SELECT_QUERY_NAME } from "./language-support"; import { DatabaseManager } from "./local-databases"; import { DecodedBqrsChunk, EntityValue } from "./pure/bqrs-cli-types"; import { BaseLogger, extLogger } from "./common"; diff --git a/extensions/ql-vscode/test/vscode-tests/cli-integration/queries.test.ts b/extensions/ql-vscode/test/vscode-tests/cli-integration/queries.test.ts index 04f8f8db903..b6ae536ba17 100644 --- a/extensions/ql-vscode/test/vscode-tests/cli-integration/queries.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/cli-integration/queries.test.ts @@ -21,7 +21,7 @@ import { CoreCompletedQuery, QueryRunner, } from "../../../src/query-server/query-runner"; -import { SELECT_QUERY_NAME } from "../../../src/language-support/contextual/location-finder"; +import { SELECT_QUERY_NAME } from "../../../src/language-support"; import { LocalQueries } from "../../../src/local-queries"; import { QueryResultType } from "../../../src/pure/new-messages"; import { createVSCodeCommandManager } from "../../../src/common/vscode/commands"; diff --git a/extensions/ql-vscode/test/vscode-tests/cli-integration/run-cli.test.ts b/extensions/ql-vscode/test/vscode-tests/cli-integration/run-cli.test.ts index da3501f5ff3..ccf5d83eaed 100644 --- a/extensions/ql-vscode/test/vscode-tests/cli-integration/run-cli.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/cli-integration/run-cli.test.ts @@ -9,8 +9,7 @@ import { getQlPackForDbscheme, languageToDbScheme, } from "../../../src/helpers"; -import { resolveQueries } from "../../../src/language-support/contextual/query-resolver"; -import { KeyType } from "../../../src/language-support/contextual/key-type"; +import { KeyType, resolveQueries } from "../../../src/language-support"; import { faker } from "@faker-js/faker"; import { getActivatedExtension } from "../global.helper"; diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/ast-builder.test.ts b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/ast-builder.test.ts index 50670bd5ffa..441c4238982 100644 --- a/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/ast-builder.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/ast-builder.test.ts @@ -1,11 +1,11 @@ import { readFileSync } from "fs-extra"; -import AstBuilder from "../../../../../src/language-support/contextual/ast-builder"; import { CodeQLCliServer } from "../../../../../src/cli"; import { Uri } from "vscode"; import { QueryOutputDir } from "../../../../../src/run-queries-shared"; import { mockDatabaseItem, mockedObject } from "../../../utils/mocking.helpers"; import path from "path"; +import { AstBuilder } from "../../../../../src/language-support"; /** * diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/file-range-from-uri.test.ts b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/file-range-from-uri.test.ts index f347208a98e..2b714faeaee 100644 --- a/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/file-range-from-uri.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/file-range-from-uri.test.ts @@ -1,12 +1,12 @@ import { Uri, Range } from "vscode"; -import fileRangeFromURI from "../../../../../src/language-support/contextual/file-range-from-uri"; import { DatabaseItem } from "../../../../../src/local-databases"; import { WholeFileLocation, LineColumnLocation, } from "../../../../../src/pure/bqrs-cli-types"; import { mockDatabaseItem } from "../../../utils/mocking.helpers"; +import { fileRangeFromURI } from "../../../../../src/language-support"; describe("fileRangeFromURI", () => { it("should return undefined when value is not a file URI", () => { diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/query-resolver.test.ts b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/query-resolver.test.ts index 50ff9ebb607..72c30d9ae1c 100644 --- a/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/query-resolver.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/query-resolver.test.ts @@ -1,14 +1,14 @@ import { load } from "js-yaml"; import * as fs from "fs-extra"; -import { KeyType } from "../../../../../src/language-support/contextual/key-type"; import { getErrorMessage } from "../../../../../src/pure/helpers-pure"; import * as helpers from "../../../../../src/helpers"; import { + KeyType, qlpackOfDatabase, resolveQueries, -} from "../../../../../src/language-support/contextual/query-resolver"; +} from "../../../../../src/language-support"; import { CodeQLCliServer } from "../../../../../src/cli"; import { mockDatabaseItem, mockedObject } from "../../../utils/mocking.helpers"; diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/run-queries.test.ts b/extensions/ql-vscode/test/vscode-tests/no-workspace/run-queries.test.ts index 4349fc2d388..a14e8f0b07d 100644 --- a/extensions/ql-vscode/test/vscode-tests/no-workspace/run-queries.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/no-workspace/run-queries.test.ts @@ -11,7 +11,7 @@ import { import * as config from "../../../src/config"; import { tmpDir } from "../../../src/helpers"; import { CodeQLCliServer } from "../../../src/cli"; -import { SELECT_QUERY_NAME } from "../../../src/language-support/contextual/location-finder"; +import { SELECT_QUERY_NAME } from "../../../src/language-support"; import { QueryInProgress, compileQuery as compileQueryLegacy, From 3757911d34e7f2b49160e865f54c7d15fe5a4996 Mon Sep 17 00:00:00 2001 From: Nora Date: Mon, 24 Apr 2023 12:07:41 +0000 Subject: [PATCH 3/7] move src/ast-cfg-commands to language-support/ast-viewer/ast-cfg-commands --- extensions/ql-vscode/src/extension.ts | 2 +- .../ast-viewer}/ast-cfg-commands.ts | 13 +++++-------- 2 files changed, 6 insertions(+), 9 deletions(-) rename extensions/ql-vscode/src/{ => language-support/ast-viewer}/ast-cfg-commands.ts (85%) diff --git a/extensions/ql-vscode/src/extension.ts b/extensions/ql-vscode/src/extension.ts index 5c78961347b..d72bcf86d2f 100644 --- a/extensions/ql-vscode/src/extension.ts +++ b/extensions/ql-vscode/src/extension.ts @@ -117,7 +117,7 @@ import { QueryServerCommands, } from "./common/commands"; import { LocalQueries, QuickEvalCodeLensProvider } from "./local-queries"; -import { getAstCfgCommands } from "./ast-cfg-commands"; +import { getAstCfgCommands } from "./language-support/ast-viewer/ast-cfg-commands"; import { App } from "./common/app"; import { registerCommandWithErrorHandling } from "./common/vscode/commands"; import { DebuggerUI } from "./debugger/debugger-ui"; diff --git a/extensions/ql-vscode/src/ast-cfg-commands.ts b/extensions/ql-vscode/src/language-support/ast-viewer/ast-cfg-commands.ts similarity index 85% rename from extensions/ql-vscode/src/ast-cfg-commands.ts rename to extensions/ql-vscode/src/language-support/ast-viewer/ast-cfg-commands.ts index 37704b3837d..453e3710ea4 100644 --- a/extensions/ql-vscode/src/ast-cfg-commands.ts +++ b/extensions/ql-vscode/src/language-support/ast-viewer/ast-cfg-commands.ts @@ -1,12 +1,9 @@ import { Uri, window } from "vscode"; -import { withProgress } from "./progress"; -import { AstViewer } from "./astViewer"; -import { - TemplatePrintAstProvider, - TemplatePrintCfgProvider, -} from "./language-support"; -import { AstCfgCommands } from "./common/commands"; -import { LocalQueries } from "./local-queries"; +import { withProgress } from "../../progress"; +import { AstViewer } from "../../astViewer"; +import { TemplatePrintAstProvider, TemplatePrintCfgProvider } from ".."; +import { AstCfgCommands } from "../../common/commands"; +import { LocalQueries } from "../../local-queries"; type AstCfgOptions = { localQueries: LocalQueries; From 8d3d5dbf4508407a38a7443761de2096980e8907 Mon Sep 17 00:00:00 2001 From: Nora Date: Mon, 24 Apr 2023 12:10:37 +0000 Subject: [PATCH 4/7] move src/astViewer to src/language-support/ast-viewer/ast-viewer including test --- extensions/ql-vscode/src/common/commands.ts | 2 +- extensions/ql-vscode/src/extension.ts | 2 +- .../ast-viewer/ast-cfg-commands.ts | 2 +- .../ast-viewer/ast-viewer.ts} | 18 +++++++++--------- .../language-support/contextual/ast-builder.ts | 2 +- .../ast-viewer/ast-viewer.test.ts} | 9 ++++++--- 6 files changed, 19 insertions(+), 16 deletions(-) rename extensions/ql-vscode/src/{astViewer.ts => language-support/ast-viewer/ast-viewer.ts} (92%) rename extensions/ql-vscode/test/vscode-tests/no-workspace/{astViewer.test.ts => language-support/ast-viewer/ast-viewer.test.ts} (95%) diff --git a/extensions/ql-vscode/src/common/commands.ts b/extensions/ql-vscode/src/common/commands.ts index 07fb915ceb1..c02abd20f85 100644 --- a/extensions/ql-vscode/src/common/commands.ts +++ b/extensions/ql-vscode/src/common/commands.ts @@ -1,6 +1,6 @@ import type { CommandManager } from "../packages/commands"; import type { Uri, Range, TextDocumentShowOptions } from "vscode"; -import type { AstItem } from "../astViewer"; +import type { AstItem } from "../language-support/ast-viewer/ast-viewer"; import type { DbTreeViewItem } from "../databases/ui/db-tree-view-item"; import type { DatabaseItem } from "../local-databases"; import type { QueryHistoryInfo } from "../query-history/query-history-info"; diff --git a/extensions/ql-vscode/src/extension.ts b/extensions/ql-vscode/src/extension.ts index d72bcf86d2f..25def6507c0 100644 --- a/extensions/ql-vscode/src/extension.ts +++ b/extensions/ql-vscode/src/extension.ts @@ -21,7 +21,7 @@ import { testExplorerExtensionId, TestHub } from "vscode-test-adapter-api"; import { lt, parse } from "semver"; import { watch } from "chokidar"; -import { AstViewer } from "./astViewer"; +import { AstViewer } from "./language-support/ast-viewer/ast-viewer"; import { activate as archiveFilesystemProvider_activate, zipArchiveScheme, diff --git a/extensions/ql-vscode/src/language-support/ast-viewer/ast-cfg-commands.ts b/extensions/ql-vscode/src/language-support/ast-viewer/ast-cfg-commands.ts index 453e3710ea4..79a93d35808 100644 --- a/extensions/ql-vscode/src/language-support/ast-viewer/ast-cfg-commands.ts +++ b/extensions/ql-vscode/src/language-support/ast-viewer/ast-cfg-commands.ts @@ -1,6 +1,6 @@ import { Uri, window } from "vscode"; import { withProgress } from "../../progress"; -import { AstViewer } from "../../astViewer"; +import { AstViewer } from "./ast-viewer"; import { TemplatePrintAstProvider, TemplatePrintCfgProvider } from ".."; import { AstCfgCommands } from "../../common/commands"; import { LocalQueries } from "../../local-queries"; diff --git a/extensions/ql-vscode/src/astViewer.ts b/extensions/ql-vscode/src/language-support/ast-viewer/ast-viewer.ts similarity index 92% rename from extensions/ql-vscode/src/astViewer.ts rename to extensions/ql-vscode/src/language-support/ast-viewer/ast-viewer.ts index 5105439f89b..7566db5d5d0 100644 --- a/extensions/ql-vscode/src/astViewer.ts +++ b/extensions/ql-vscode/src/language-support/ast-viewer/ast-viewer.ts @@ -15,19 +15,19 @@ import { } from "vscode"; import { basename } from "path"; -import { DatabaseItem } from "./local-databases"; -import { UrlValue, BqrsId } from "./pure/bqrs-cli-types"; -import { showLocation } from "./interface-utils"; +import { DatabaseItem } from "../../local-databases"; +import { UrlValue, BqrsId } from "../../pure/bqrs-cli-types"; +import { showLocation } from "../../interface-utils"; import { isStringLoc, isWholeFileLoc, isLineColumnLoc, -} from "./pure/bqrs-utils"; -import { DisposableObject } from "./pure/disposable-object"; -import { showAndLogExceptionWithTelemetry } from "./helpers"; -import { asError, getErrorMessage } from "./pure/helpers-pure"; -import { redactableError } from "./pure/errors"; -import { AstViewerCommands } from "./common/commands"; +} from "../../pure/bqrs-utils"; +import { DisposableObject } from "../../pure/disposable-object"; +import { showAndLogExceptionWithTelemetry } from "../../helpers"; +import { asError, getErrorMessage } from "../../pure/helpers-pure"; +import { redactableError } from "../../pure/errors"; +import { AstViewerCommands } from "../../common/commands"; export interface AstItem { id: BqrsId; diff --git a/extensions/ql-vscode/src/language-support/contextual/ast-builder.ts b/extensions/ql-vscode/src/language-support/contextual/ast-builder.ts index 3fd866686b8..c9c03bbba18 100644 --- a/extensions/ql-vscode/src/language-support/contextual/ast-builder.ts +++ b/extensions/ql-vscode/src/language-support/contextual/ast-builder.ts @@ -5,7 +5,7 @@ import { EntityValue, } from "../../pure/bqrs-cli-types"; import { DatabaseItem } from "../../local-databases"; -import { ChildAstItem, AstItem } from "../../astViewer"; +import { ChildAstItem, AstItem } from "../ast-viewer/ast-viewer"; import { Uri } from "vscode"; import { QueryOutputDir } from "../../run-queries-shared"; import { fileRangeFromURI } from "."; diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/astViewer.test.ts b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/ast-viewer/ast-viewer.test.ts similarity index 95% rename from extensions/ql-vscode/test/vscode-tests/no-workspace/astViewer.test.ts rename to extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/ast-viewer/ast-viewer.test.ts index 09822a296f7..89d9fc1f961 100644 --- a/extensions/ql-vscode/test/vscode-tests/no-workspace/astViewer.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/ast-viewer/ast-viewer.test.ts @@ -1,10 +1,13 @@ import { readFile } from "fs-extra"; import { load } from "js-yaml"; -import { AstViewer, AstItem } from "../../../src/astViewer"; +import { + AstViewer, + AstItem, +} from "../../../../../src/language-support/ast-viewer/ast-viewer"; import { commands, Range, Uri } from "vscode"; -import { testDisposeHandler } from "../test-dispose-handler"; -import { mockDatabaseItem } from "../utils/mocking.helpers"; +import { testDisposeHandler } from "../../../test-dispose-handler"; +import { mockDatabaseItem } from "../../../utils/mocking.helpers"; describe("AstViewer", () => { let astRoots: AstItem[]; From ba85e98f8b033a826fc2c1f27df38ebedae81dba Mon Sep 17 00:00:00 2001 From: Nora Date: Mon, 24 Apr 2023 12:12:16 +0000 Subject: [PATCH 5/7] move language-support/contextual/ast-builder to language-support/ast-viewer/ast-builder --- .../{contextual => ast-viewer}/ast-builder.ts | 4 ++-- extensions/ql-vscode/src/language-support/contextual/index.ts | 2 +- .../{contextual => ast-viewer}/ast-builder.test.ts | 0 3 files changed, 3 insertions(+), 3 deletions(-) rename extensions/ql-vscode/src/language-support/{contextual => ast-viewer}/ast-builder.ts (97%) rename extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/{contextual => ast-viewer}/ast-builder.test.ts (100%) diff --git a/extensions/ql-vscode/src/language-support/contextual/ast-builder.ts b/extensions/ql-vscode/src/language-support/ast-viewer/ast-builder.ts similarity index 97% rename from extensions/ql-vscode/src/language-support/contextual/ast-builder.ts rename to extensions/ql-vscode/src/language-support/ast-viewer/ast-builder.ts index c9c03bbba18..b3a8826fc6d 100644 --- a/extensions/ql-vscode/src/language-support/contextual/ast-builder.ts +++ b/extensions/ql-vscode/src/language-support/ast-viewer/ast-builder.ts @@ -5,10 +5,10 @@ import { EntityValue, } from "../../pure/bqrs-cli-types"; import { DatabaseItem } from "../../local-databases"; -import { ChildAstItem, AstItem } from "../ast-viewer/ast-viewer"; +import { ChildAstItem, AstItem } from "./ast-viewer"; import { Uri } from "vscode"; import { QueryOutputDir } from "../../run-queries-shared"; -import { fileRangeFromURI } from "."; +import { fileRangeFromURI } from "../contextual"; /** * A class that wraps a tree of QL results from a query that diff --git a/extensions/ql-vscode/src/language-support/contextual/index.ts b/extensions/ql-vscode/src/language-support/contextual/index.ts index 01206726935..776a0bd9232 100644 --- a/extensions/ql-vscode/src/language-support/contextual/index.ts +++ b/extensions/ql-vscode/src/language-support/contextual/index.ts @@ -1,4 +1,4 @@ -export * from "./ast-builder"; +export * from "../ast-viewer/ast-builder"; export * from "./file-range-from-uri"; export * from "./key-type"; export * from "./location-finder"; diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/ast-builder.test.ts b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/ast-viewer/ast-builder.test.ts similarity index 100% rename from extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/contextual/ast-builder.test.ts rename to extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/ast-viewer/ast-builder.test.ts From 9a317b7651412af3d76991a8a17de016248978b1 Mon Sep 17 00:00:00 2001 From: Nora Date: Mon, 24 Apr 2023 12:16:20 +0000 Subject: [PATCH 6/7] move ast test data files --- .../ast-viewer/ast-builder.json} | 0 .../ast-viewer/ast-viewer.yml} | 0 .../language-support/ast-viewer/ast-builder.test.ts | 7 +++++-- .../language-support/ast-viewer/ast-viewer.test.ts | 5 ++++- 4 files changed, 9 insertions(+), 3 deletions(-) rename extensions/ql-vscode/test/vscode-tests/no-workspace/data/{astBuilder.json => language-support/ast-viewer/ast-builder.json} (100%) rename extensions/ql-vscode/test/vscode-tests/no-workspace/data/{astViewer.yml => language-support/ast-viewer/ast-viewer.yml} (100%) diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/data/astBuilder.json b/extensions/ql-vscode/test/vscode-tests/no-workspace/data/language-support/ast-viewer/ast-builder.json similarity index 100% rename from extensions/ql-vscode/test/vscode-tests/no-workspace/data/astBuilder.json rename to extensions/ql-vscode/test/vscode-tests/no-workspace/data/language-support/ast-viewer/ast-builder.json diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/data/astViewer.yml b/extensions/ql-vscode/test/vscode-tests/no-workspace/data/language-support/ast-viewer/ast-viewer.yml similarity index 100% rename from extensions/ql-vscode/test/vscode-tests/no-workspace/data/astViewer.yml rename to extensions/ql-vscode/test/vscode-tests/no-workspace/data/language-support/ast-viewer/ast-viewer.yml diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/ast-viewer/ast-builder.test.ts b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/ast-viewer/ast-builder.test.ts index 441c4238982..eae82be784e 100644 --- a/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/ast-viewer/ast-builder.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/ast-viewer/ast-builder.test.ts @@ -9,7 +9,7 @@ import { AstBuilder } from "../../../../../src/language-support"; /** * -This test uses an AST generated from this file (already BQRS-decoded in ../data/astBuilder.json): +This test uses an AST generated from this file (already BQRS-decoded in ../data/language-support/ast-viewer/ast-builder.json): #include @@ -161,7 +161,10 @@ describe("AstBuilder", () => { const index = mapper[resultSet] as number; if (index >= 0 && index <= 2) { return JSON.parse( - readFileSync(`${__dirname}/../data/astBuilder.json`, "utf8"), + readFileSync( + `${__dirname}/../../data/language-support/ast-viewer/ast-builder.json`, + "utf8", + ), )[index]; } else { throw new Error(`Invalid resultSet: ${resultSet}`); diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/ast-viewer/ast-viewer.test.ts b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/ast-viewer/ast-viewer.test.ts index 89d9fc1f961..15f9d34292d 100644 --- a/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/ast-viewer/ast-viewer.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/ast-viewer/ast-viewer.test.ts @@ -138,7 +138,10 @@ describe("AstViewer", () => { async function buildAst() { const astRoots = load( - await readFile(`${__dirname}/data/astViewer.yml`, "utf8"), + await readFile( + `${__dirname}/../../data/language-support/ast-viewer/ast-viewer.yml`, + "utf8", + ), ) as AstItem[]; // convert range properties into vscode.Range instances From b6b3d3b541def326f6ad8a1dd99325313b58de85 Mon Sep 17 00:00:00 2001 From: Nora Date: Tue, 25 Apr 2023 13:46:00 +0000 Subject: [PATCH 7/7] improve imports --- extensions/ql-vscode/src/common/commands.ts | 2 +- extensions/ql-vscode/src/extension.ts | 3 +-- .../src/language-support/ast-viewer/ast-builder.ts | 2 +- .../src/language-support/ast-viewer/ast-cfg-commands.ts | 5 ++++- .../ql-vscode/src/language-support/contextual/index.ts | 6 ------ .../src/language-support/contextual/location-finder.ts | 2 +- .../src/language-support/contextual/template-provider.ts | 2 +- extensions/ql-vscode/src/language-support/index.ts | 8 +++++++- .../language-support/ast-viewer/ast-viewer.test.ts | 5 +---- 9 files changed, 17 insertions(+), 18 deletions(-) delete mode 100644 extensions/ql-vscode/src/language-support/contextual/index.ts diff --git a/extensions/ql-vscode/src/common/commands.ts b/extensions/ql-vscode/src/common/commands.ts index c02abd20f85..498631ba206 100644 --- a/extensions/ql-vscode/src/common/commands.ts +++ b/extensions/ql-vscode/src/common/commands.ts @@ -1,6 +1,6 @@ import type { CommandManager } from "../packages/commands"; import type { Uri, Range, TextDocumentShowOptions } from "vscode"; -import type { AstItem } from "../language-support/ast-viewer/ast-viewer"; +import type { AstItem } from "../language-support"; import type { DbTreeViewItem } from "../databases/ui/db-tree-view-item"; import type { DatabaseItem } from "../local-databases"; import type { QueryHistoryInfo } from "../query-history/query-history-info"; diff --git a/extensions/ql-vscode/src/extension.ts b/extensions/ql-vscode/src/extension.ts index 25def6507c0..a84f1cd3d74 100644 --- a/extensions/ql-vscode/src/extension.ts +++ b/extensions/ql-vscode/src/extension.ts @@ -20,8 +20,6 @@ import { dirSync } from "tmp-promise"; import { testExplorerExtensionId, TestHub } from "vscode-test-adapter-api"; import { lt, parse } from "semver"; import { watch } from "chokidar"; - -import { AstViewer } from "./language-support/ast-viewer/ast-viewer"; import { activate as archiveFilesystemProvider_activate, zipArchiveScheme, @@ -36,6 +34,7 @@ import { QueryServerConfigListener, } from "./config"; import { + AstViewer, install, spawnIdeServer, getQueryEditorCommands, diff --git a/extensions/ql-vscode/src/language-support/ast-viewer/ast-builder.ts b/extensions/ql-vscode/src/language-support/ast-viewer/ast-builder.ts index b3a8826fc6d..e78c55efb20 100644 --- a/extensions/ql-vscode/src/language-support/ast-viewer/ast-builder.ts +++ b/extensions/ql-vscode/src/language-support/ast-viewer/ast-builder.ts @@ -8,7 +8,7 @@ import { DatabaseItem } from "../../local-databases"; import { ChildAstItem, AstItem } from "./ast-viewer"; import { Uri } from "vscode"; import { QueryOutputDir } from "../../run-queries-shared"; -import { fileRangeFromURI } from "../contextual"; +import { fileRangeFromURI } from "../contextual/file-range-from-uri"; /** * A class that wraps a tree of QL results from a query that diff --git a/extensions/ql-vscode/src/language-support/ast-viewer/ast-cfg-commands.ts b/extensions/ql-vscode/src/language-support/ast-viewer/ast-cfg-commands.ts index 79a93d35808..9d0c07734ea 100644 --- a/extensions/ql-vscode/src/language-support/ast-viewer/ast-cfg-commands.ts +++ b/extensions/ql-vscode/src/language-support/ast-viewer/ast-cfg-commands.ts @@ -1,9 +1,12 @@ import { Uri, window } from "vscode"; import { withProgress } from "../../progress"; import { AstViewer } from "./ast-viewer"; -import { TemplatePrintAstProvider, TemplatePrintCfgProvider } from ".."; import { AstCfgCommands } from "../../common/commands"; import { LocalQueries } from "../../local-queries"; +import { + TemplatePrintAstProvider, + TemplatePrintCfgProvider, +} from "../contextual/template-provider"; type AstCfgOptions = { localQueries: LocalQueries; diff --git a/extensions/ql-vscode/src/language-support/contextual/index.ts b/extensions/ql-vscode/src/language-support/contextual/index.ts deleted file mode 100644 index 776a0bd9232..00000000000 --- a/extensions/ql-vscode/src/language-support/contextual/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from "../ast-viewer/ast-builder"; -export * from "./file-range-from-uri"; -export * from "./key-type"; -export * from "./location-finder"; -export * from "./query-resolver"; -export * from "./template-provider"; diff --git a/extensions/ql-vscode/src/language-support/contextual/location-finder.ts b/extensions/ql-vscode/src/language-support/contextual/location-finder.ts index 6e2eeb9a7cf..8446d5d1a59 100644 --- a/extensions/ql-vscode/src/language-support/contextual/location-finder.ts +++ b/extensions/ql-vscode/src/language-support/contextual/location-finder.ts @@ -21,7 +21,7 @@ import { CancellationToken, LocationLink, Uri } from "vscode"; import { QueryOutputDir } from "../../run-queries-shared"; import { QueryRunner } from "../../query-server"; import { QueryResultType } from "../../pure/new-messages"; -import { fileRangeFromURI } from "."; +import { fileRangeFromURI } from "./file-range-from-uri"; export const SELECT_QUERY_NAME = "#select"; export const TEMPLATE_NAME = "selectedSourceFile"; diff --git a/extensions/ql-vscode/src/language-support/contextual/template-provider.ts b/extensions/ql-vscode/src/language-support/contextual/template-provider.ts index 2523c9c3ac3..8786c2a5632 100644 --- a/extensions/ql-vscode/src/language-support/contextual/template-provider.ts +++ b/extensions/ql-vscode/src/language-support/contextual/template-provider.ts @@ -32,7 +32,7 @@ import { } from "./query-resolver"; import { isCanary, NO_CACHE_AST_VIEWER } from "../../config"; import { CoreCompletedQuery, QueryRunner } from "../../query-server"; -import { AstBuilder } from "."; +import { AstBuilder } from "../ast-viewer/ast-builder"; /** * Runs templated CodeQL queries to find definitions in diff --git a/extensions/ql-vscode/src/language-support/index.ts b/extensions/ql-vscode/src/language-support/index.ts index 9686975c838..c6e57e6c048 100644 --- a/extensions/ql-vscode/src/language-support/index.ts +++ b/extensions/ql-vscode/src/language-support/index.ts @@ -1,4 +1,10 @@ -export * from "./contextual"; +export * from "./ast-viewer/ast-builder"; +export * from "./ast-viewer/ast-viewer"; +export * from "./contextual/file-range-from-uri"; +export * from "./contextual/key-type"; +export * from "./contextual/location-finder"; +export * from "./contextual/query-resolver"; +export * from "./contextual/template-provider"; export * from "./ide-server"; export * from "./language-support"; export * from "./query-editor"; diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/ast-viewer/ast-viewer.test.ts b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/ast-viewer/ast-viewer.test.ts index 15f9d34292d..dc205218707 100644 --- a/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/ast-viewer/ast-viewer.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/no-workspace/language-support/ast-viewer/ast-viewer.test.ts @@ -1,10 +1,7 @@ import { readFile } from "fs-extra"; import { load } from "js-yaml"; -import { - AstViewer, - AstItem, -} from "../../../../../src/language-support/ast-viewer/ast-viewer"; +import { AstViewer, AstItem } from "../../../../../src/language-support"; import { commands, Range, Uri } from "vscode"; import { testDisposeHandler } from "../../../test-dispose-handler"; import { mockDatabaseItem } from "../../../utils/mocking.helpers";