Merge pull request #2368 from github/nora/move-files-misc1

Move contextual and ast-viewer files into language-support
This commit is contained in:
Nora
2023-04-26 14:15:35 +02:00
committed by GitHub
21 changed files with 108 additions and 90 deletions

View File

@@ -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";
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";

View File

@@ -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 "./astViewer";
import {
activate as archiveFilesystemProvider_activate,
zipArchiveScheme,
@@ -36,18 +34,17 @@ import {
QueryServerConfigListener,
} from "./config";
import {
AstViewer,
install,
spawnIdeServer,
getQueryEditorCommands,
} from "./language-support";
import { DatabaseManager } from "./local-databases";
import { DatabaseUI } from "./local-databases-ui";
import {
TemplatePrintAstProvider,
TemplatePrintCfgProvider,
TemplateQueryDefinitionProvider,
TemplateQueryReferenceProvider,
} from "./contextual/templateProvider";
} from "./language-support";
import { DatabaseManager } from "./local-databases";
import { DatabaseUI } from "./local-databases-ui";
import {
DEFAULT_DISTRIBUTION_VERSION_RANGE,
DistributionKind,
@@ -119,7 +116,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";

View File

@@ -1,16 +1,20 @@
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 "./ast-viewer";
import { Uri } from "vscode";
import { QueryOutputDir } from "../run-queries-shared";
import { QueryOutputDir } from "../../run-queries-shared";
import { fileRangeFromURI } from "../contextual/file-range-from-uri";
/**
* 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(

View File

@@ -1,12 +1,12 @@
import { Uri, window } from "vscode";
import { withProgress } from "./progress";
import { AstViewer } from "./astViewer";
import { withProgress } from "../../progress";
import { AstViewer } from "./ast-viewer";
import { AstCfgCommands } from "../../common/commands";
import { LocalQueries } from "../../local-queries";
import {
TemplatePrintAstProvider,
TemplatePrintCfgProvider,
} from "./contextual/templateProvider";
import { AstCfgCommands } from "./common/commands";
import { LocalQueries } from "./local-queries";
} from "../contextual/template-provider";
type AstCfgOptions = {
localQueries: LocalQueries;

View File

@@ -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;

View File

@@ -1,10 +1,10 @@
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(
export function fileRangeFromURI(
uri: UrlValue | undefined,
db: DatabaseItem,
): vscode.Location | undefined {

View File

@@ -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 { 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";
import { fileRangeFromURI } from "./file-range-from-uri";
export const SELECT_QUERY_NAME = "#select";
export const TEMPLATE_NAME = "selectedSourceFile";

View File

@@ -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<CodeQLCliServer, "resolveQlpacks">,

View File

@@ -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 { 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";
import { AstBuilder } from "../ast-viewer/ast-builder";
/**
* Runs templated CodeQL queries to find definitions in

View File

@@ -1,3 +1,10 @@
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";

View File

@@ -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";
import { DatabaseManager } from "./local-databases";
import { DecodedBqrsChunk, EntityValue } from "./pure/bqrs-cli-types";
import { BaseLogger, extLogger } from "./common";

View File

@@ -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";
import { LocalQueries } from "../../../src/local-queries";
import { QueryResultType } from "../../../src/pure/new-messages";
import { createVSCodeCommandManager } from "../../../src/common/vscode/commands";

View File

@@ -9,8 +9,7 @@ import {
getQlPackForDbscheme,
languageToDbScheme,
} from "../../../src/helpers";
import { resolveQueries } from "../../../src/contextual/queryResolver";
import { KeyType } from "../../../src/contextual/keyType";
import { KeyType, resolveQueries } from "../../../src/language-support";
import { faker } from "@faker-js/faker";
import { getActivatedExtension } from "../global.helper";

View File

@@ -1,15 +1,15 @@
import { readFileSync } from "fs-extra";
import AstBuilder from "../../../../src/contextual/astBuilder";
import { CodeQLCliServer } from "../../../../src/cli";
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";
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 <common.h>
@@ -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}`);

View File

@@ -1,10 +1,10 @@
import { readFile } from "fs-extra";
import { load } from "js-yaml";
import { AstViewer, AstItem } from "../../../src/astViewer";
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";
import { testDisposeHandler } from "../../../test-dispose-handler";
import { mockDatabaseItem } from "../../../utils/mocking.helpers";
describe("AstViewer", () => {
let astRoots: AstItem[];
@@ -135,7 +135,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

View File

@@ -1,12 +1,12 @@
import { Uri, Range } from "vscode";
import fileRangeFromURI from "../../../../src/contextual/fileRangeFromURI";
import { DatabaseItem } from "../../../../src/local-databases";
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";
import { fileRangeFromURI } from "../../../../../src/language-support";
describe("fileRangeFromURI", () => {
it("should return undefined when value is not a file URI", () => {

View File

@@ -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 { getErrorMessage } from "../../../../../src/pure/helpers-pure";
import * as helpers from "../../../../src/helpers";
import * as helpers from "../../../../../src/helpers";
import {
KeyType,
qlpackOfDatabase,
resolveQueries,
} from "../../../../src/contextual/queryResolver";
import { CodeQLCliServer } from "../../../../src/cli";
import { mockDatabaseItem, mockedObject } from "../../utils/mocking.helpers";
} from "../../../../../src/language-support";
import { CodeQLCliServer } from "../../../../../src/cli";
import { mockDatabaseItem, mockedObject } from "../../../utils/mocking.helpers";
describe("queryResolver", () => {
let getQlPackForDbschemeSpy: jest.SpiedFunction<

View File

@@ -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";
import {
QueryInProgress,
compileQuery as compileQueryLegacy,