diff --git a/extensions/ql-vscode/src/model-editor/languages/csharp/index.ts b/extensions/ql-vscode/src/model-editor/languages/csharp/index.ts new file mode 100644 index 000000000..67c198646 --- /dev/null +++ b/extensions/ql-vscode/src/model-editor/languages/csharp/index.ts @@ -0,0 +1,15 @@ +import type { ModelsAsDataLanguage } from "../models-as-data"; +import { staticLanguage } from "../static"; + +export const csharp: ModelsAsDataLanguage = { + ...staticLanguage, + predicates: { + ...staticLanguage.predicates, + sink: { + ...staticLanguage.predicates.sink, + }, + source: { + ...staticLanguage.predicates.source, + }, + }, +}; diff --git a/extensions/ql-vscode/src/model-editor/languages/java/index.ts b/extensions/ql-vscode/src/model-editor/languages/java/index.ts new file mode 100644 index 000000000..d749c0893 --- /dev/null +++ b/extensions/ql-vscode/src/model-editor/languages/java/index.ts @@ -0,0 +1,15 @@ +import type { ModelsAsDataLanguage } from "../models-as-data"; +import { staticLanguage } from "../static"; + +export const java: ModelsAsDataLanguage = { + ...staticLanguage, + predicates: { + ...staticLanguage.predicates, + sink: { + ...staticLanguage.predicates.sink, + }, + source: { + ...staticLanguage.predicates.source, + }, + }, +}; diff --git a/extensions/ql-vscode/src/model-editor/languages/languages.ts b/extensions/ql-vscode/src/model-editor/languages/languages.ts index bdf58beec..a2a013c5e 100644 --- a/extensions/ql-vscode/src/model-editor/languages/languages.ts +++ b/extensions/ql-vscode/src/model-editor/languages/languages.ts @@ -3,13 +3,14 @@ import type { ModelsAsDataLanguage, ModelsAsDataLanguagePredicates, } from "./models-as-data"; +import { csharp } from "./csharp"; +import { java } from "./java"; import { python } from "./python"; import { ruby } from "./ruby"; -import { staticLanguage } from "./static"; const languages: Partial> = { - [QueryLanguage.CSharp]: staticLanguage, - [QueryLanguage.Java]: staticLanguage, + [QueryLanguage.CSharp]: csharp, + [QueryLanguage.Java]: java, [QueryLanguage.Python]: python, [QueryLanguage.Ruby]: ruby, }; diff --git a/extensions/ql-vscode/src/model-editor/languages/static/index.ts b/extensions/ql-vscode/src/model-editor/languages/static/index.ts index 287562734..cfeb07bc5 100644 --- a/extensions/ql-vscode/src/model-editor/languages/static/index.ts +++ b/extensions/ql-vscode/src/model-editor/languages/static/index.ts @@ -10,7 +10,7 @@ function readRowToMethod(row: DataTuple[]): string { return `${row[0]}.${row[1]}#${row[3]}${row[4]}`; } -export const staticLanguage: ModelsAsDataLanguage = { +export const staticLanguage = { createMethodSignature: ({ packageName, typeName, @@ -168,4 +168,4 @@ export const staticLanguage: ModelsAsDataLanguage = { argumentsList.length > 0 ? argumentsList[0].path : "Argument[this]", }; }, -}; +} satisfies ModelsAsDataLanguage;