Files
codeql/ruby/ql/test/library-tests/ast/AstDesugar.ql
2021-12-08 09:00:16 +01:00

24 lines
580 B
Plaintext

/**
* @kind graph
*/
import codeql.ruby.AST
import codeql.ruby.printAst
import codeql.ruby.ast.internal.Synthesis
class DesugarPrintAstConfiguration extends PrintAstConfiguration {
override predicate shouldPrintNode(AstNode n) {
isInDesugeredContext(n)
or
exists(n.getDesugared())
}
override predicate shouldPrintAstEdge(AstNode parent, string edgeName, AstNode child) {
super.shouldPrintAstEdge(parent, edgeName, child) and
desugarLevel(parent) = desugarLevel(child)
or
child = parent.getDesugared() and
edgeName = "getDesugared"
}
}