-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Expand file tree
/
Copy pathprintAst.ql
More file actions
33 lines (29 loc) · 976 Bytes
/
printAst.ql
File metadata and controls
33 lines (29 loc) · 976 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
* @name Print AST
* @description Outputs a representation of a file's Abstract Syntax Tree. This
* query is used by the VS Code extension.
* @id py/print-ast
* @kind graph
* @tags ide-contextual-queries/print-ast
*/
import python
import semmle.python.PrintAst
import analysis.DefinitionTracking
/**
* Gets the source file that will be used to generate the AST.
*/
external string selectedSourceFile();
class PrintAstConfigurationOverride extends PrintAstConfiguration {
/**
* Holds if the location matches the selected file in the VS Code extension and
* the element is not a synthetic constructor.
*/
override predicate shouldPrint(AstNode e, Location l) {
super.shouldPrint(e, l) and
l.getFile() = getFileBySourceArchiveName(selectedSourceFile())
}
override predicate shouldPrintYaml(YamlNode y, Location l) {
super.shouldPrintYaml(y, l) and
l.getFile() = getFileBySourceArchiveName(selectedSourceFile())
}
}