Skip to content

Commit 024b2d6

Browse files
committed
feat(ast): Update internal AST
1 parent 2d1b047 commit 024b2d6

File tree

5 files changed

+40
-6
lines changed

5 files changed

+40
-6
lines changed

ql/lib/codeql/bicep/ast/internal/Arguments.qll

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
private import AstNodes
77
private import TreeSitter
88
private import codeql.bicep.ast.AstNodes
9+
private import Expr
910

1011
/**
1112
* A Arguments AST Node.
@@ -19,6 +20,11 @@ class ArgumentsImpl extends TArguments, AstNode {
1920

2021
override string toString() { result = ast.toString() }
2122

23+
ExprImpl getArgument(int index ) {
24+
toTreeSitter(result) = ast.getChild(index)
25+
}
2226

23-
27+
ExprImpl getArguments() {
28+
toTreeSitter(result) = ast.getChild(_)
29+
}
2430
}

ql/lib/codeql/bicep/ast/internal/AstNodes.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ class TIdents = TIdentifier or TPropertyIdentifier;
8787
* A statement in a Bicep program
8888
*/
8989
class TStmts =
90-
TAssertStatement or TForStatement or TIfStatement or TImportStatement or TImportWithStatement or
91-
TStatement or TUsingStatement;
90+
TInfrastructure or TAssertStatement or TForStatement or TIfStatement or TImportStatement or
91+
TImportWithStatement or TStatement or TUsingStatement;
9292

9393
/**
9494
* A expersion value in a Bicep program

ql/lib/codeql/bicep/ast/internal/CallExpression.qll

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@ private import AstNodes
77
private import TreeSitter
88
private import codeql.bicep.ast.AstNodes
99
private import Expr
10-
10+
private import Expression
11+
private import Idents
12+
private import Arguments
13+
private import NullableReturnType
1114

1215
/**
1316
* A CallExpression AST Node.
@@ -21,6 +24,15 @@ class CallExpressionImpl extends TCallExpression, ExprImpl {
2124

2225
override string toString() { result = ast.toString() }
2326

27+
IdentsImpl getIdentifier() {
28+
toTreeSitter(result) = ast.getFunction()
29+
}
2430

31+
ArgumentsImpl getArguments() {
32+
toTreeSitter(result) = ast.getArguments()
33+
}
2534

35+
NullableReturnTypeImpl getReturnType() {
36+
toTreeSitter(result) = ast.getChild()
37+
}
2638
}

ql/lib/codeql/bicep/ast/internal/Infrastructure.qll

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
private import AstNodes
77
private import TreeSitter
88
private import codeql.bicep.ast.AstNodes
9+
private import Stmts
10+
911

1012
/**
1113
* A Infrastructure AST Node.
@@ -19,6 +21,7 @@ class InfrastructureImpl extends TInfrastructure, AstNode {
1921

2022
override string toString() { result = ast.toString() }
2123

22-
23-
24+
StmtsImpl getStatement(int index) {
25+
toTreeSitter(result) = ast.getChild(index)
26+
}
2427
}

ql/lib/codeql/bicep/ast/internal/UserDefinedFunction.qll

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
private import AstNodes
77
private import TreeSitter
88
private import codeql.bicep.ast.AstNodes
9+
private import Identifier
10+
private import Stmts
11+
private import Type
912

1013
/**
1114
* A UserDefinedFunction AST Node.
@@ -19,6 +22,16 @@ class UserDefinedFunctionImpl extends TUserDefinedFunction, AstNode {
1922

2023
override string toString() { result = ast.toString() }
2124

25+
IdentifierImpl getName() {
26+
toTreeSitter(result) = ast.getName()
27+
}
2228

29+
TypeImpl getReturnType() {
30+
toTreeSitter(result) = ast.getReturns()
31+
}
32+
33+
StmtsImpl getBody() {
34+
toTreeSitter(result) = ast.getChild(_)
35+
}
2336

2437
}

0 commit comments

Comments
 (0)