Skip to content

Commit 987b92a

Browse files
committed
Enable type models for Python
1 parent 6fd2579 commit 987b92a

File tree

1 file changed

+25
-0
lines changed
  • extensions/ql-vscode/src/model-editor/languages/python

1 file changed

+25
-0
lines changed

extensions/ql-vscode/src/model-editor/languages/python/index.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,31 @@ export const python: ModelsAsDataLanguage = {
173173
};
174174
},
175175
},
176+
type: {
177+
extensiblePredicate: "typeModel",
178+
// extensible predicate typeModel(string type1, string type2, string path);
179+
generateMethodDefinition: (method) => [
180+
method.relatedTypeName,
181+
pythonType(method.packageName, method.typeName, method.endpointType),
182+
pythonPath(method.methodName, method.path),
183+
],
184+
readModeledMethod: (row) => {
185+
const { packageName, typeName, methodName, endpointType, path } =
186+
parsePythonTypeAndPath(row[1] as string, row[2] as string);
187+
188+
return {
189+
type: "type",
190+
relatedTypeName: row[0] as string,
191+
path,
192+
signature: pythonMethodSignature(typeName, methodName),
193+
endpointType,
194+
packageName,
195+
typeName,
196+
methodName,
197+
methodParameters: "",
198+
};
199+
},
200+
},
176201
},
177202
getArgumentOptions: (method) => {
178203
// Argument and Parameter are equivalent in Python, but we'll use Argument in the model editor

0 commit comments

Comments
 (0)