@@ -63,6 +63,10 @@ private module CfgImpl = Make<Location, Implementation>;
6363
6464import CfgImpl
6565
66+ class InfrastructureScopeTree extends StandardTree , PreOrderTree , PostOrderTree , Scope:: InfrastructureScope {
67+ override AstNode getChildNode ( int i ) { result = super .getStatement ( i ) }
68+ }
69+
6670/**
6771 * A literal value in a Bicep program.
6872 */
@@ -87,3 +91,38 @@ class StringLiteralTree extends LeafTree instanceof StringLiteral { }
8791 * A StringContent literal value in a Bicep program.
8892 */
8993class StringContentLiteralTree extends LeafTree instanceof StringContentLiteral { }
94+
95+ /**
96+ * ParameterDeclarationTree represents a parameter declaration in a Bicep program.
97+ */
98+ class ParameterDeclarationTree extends StandardPostOrderTree instanceof ParameterDeclaration {
99+ override AstNode getChildNode ( int i ) {
100+ i = 0 and result = super .getIdentifier ( )
101+ or
102+ i = 1 and result = super .getType ( )
103+ or
104+ i = 2 and result = super .getDefaultValue ( )
105+ }
106+ }
107+
108+ class UserDefinedFunctionTree extends StandardPostOrderTree instanceof UserDefinedFunction {
109+ override AstNode getChildNode ( int i ) {
110+ i = 0 and result = super .getIdentifier ( )
111+ or
112+ i = 1 and result = super .getParameters ( )
113+ or
114+ i = 2 and result = super .getReturnType ( )
115+ or
116+ i = 3 and result = super .getBody ( )
117+ }
118+ }
119+
120+ class OutputDeclarationTree extends StandardPostOrderTree instanceof OutputDeclaration {
121+ override AstNode getChildNode ( int i ) {
122+ i = 0 and result = super .getIdentifier ( )
123+ or
124+ i = 1 and result = super .getType ( )
125+ or
126+ i = 2 and result = super .getValue ( )
127+ }
128+ }
0 commit comments