From de165ce6e3d57c5f4ff7516a5ee4748f6e1624ae Mon Sep 17 00:00:00 2001 From: Giulia Stocco <98900+gfs@users.noreply.github.com> Date: Mon, 17 Aug 2026 12:44:37 -0700 Subject: [PATCH 01/10] X++: generate dbscheme and QL classes from the compiler's AST Adds the first stage of X++ CodeQL support: a schema generated directly from the X++ compiler's own AST hierarchy, rather than a hand-maintained mapping. Xpp.SchemaGenerator reflects over the 243 types deriving from Microsoft.Dynamics.AX.Metadata.XppCompiler.Ast in Microsoft.Dynamics.AX.Framework.Xlnt.XppCore.dll, using MetadataLoadContext so no code from the proprietary compiler package is executed. It emits xpp/schema/ast.py, which misc/codegen turns into the dbscheme, the QL classes and their hand-editable stubs. The generator resolves several mismatches between the CLR hierarchy and the schema: - CLR tuples (try/catch pairs, switch cases, call arguments) have no schema equivalent, so a named class is synthesized per tuple-valued property. - Dictionaries of AST values are represented by their values, since the key is always the value's own name. - Subclasses that re-declare an inherited property are collapsed onto the ancestor's declaration, which would otherwise emit conflicting QL predicates. - HasX booleans that duplicate the hasX() predicate generated for an optional X are dropped. - Table names that would collide with a class table get an explicit override. The compiler package is proprietary and is not committed. Point XPP_COMPILER_PACKAGE at an extracted copy and run xpp/tools/generate-schema.sh; the generated output is committed so the QL layer can be worked on without it. Verified: generation is deterministic across runs and the full generated library compiles against the dbscheme. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1f6fb880-dfd8-4fba-91a2-903f43dc287d --- xpp/.gitignore | 2 + xpp/codegen.conf | 8 + xpp/codeql-extractor.yml | 11 + xpp/extractor/Xpp.SchemaGenerator/AstModel.cs | 694 ++ .../Xpp.SchemaGenerator/CompilerPackage.cs | 129 + xpp/extractor/Xpp.SchemaGenerator/Program.cs | 66 + .../Xpp.SchemaGenerator/SchemaWriter.cs | 163 + .../Xpp.SchemaGenerator.csproj | 19 + xpp/prefix.dbscheme | 6 + xpp/ql/.generated.list | 1182 +++ xpp/ql/.gitattributes | 1184 +++ xpp/ql/lib/codeql/xpp/elements.qll | 262 + .../lib/codeql/xpp/elements/AddExpression.qll | 9 + .../xpp/elements/AggregateSelection.qll | 9 + .../xpp/elements/AllFieldsSelection.qll | 9 + .../lib/codeql/xpp/elements/AndExpression.qll | 9 + xpp/ql/lib/codeql/xpp/elements/AnyType.qll | 9 + .../xpp/elements/ArraySpecification.qll | 10 + .../codeql/xpp/elements/AsClrExpression.qll | 9 + .../lib/codeql/xpp/elements/AsExpression.qll | 9 + .../xpp/elements/AssignDecrementStatement.qll | 9 + .../xpp/elements/AssignDivideStatement.qll | 9 + .../xpp/elements/AssignEqualStatement.qll | 9 + .../xpp/elements/AssignIncrementStatement.qll | 9 + .../elements/AssignMultipleFieldStatement.qll | 11 + .../xpp/elements/AssignMultiplyStatement.qll | 9 + .../elements/AssignPostDecrementStatement.qll | 9 + .../elements/AssignPostIncrementStatement.qll | 9 + .../elements/AssignPreDecrementStatement.qll | 9 + .../elements/AssignPreIncrementStatement.qll | 9 + .../codeql/xpp/elements/AssignmentBinary.qll | 10 + .../elements/AssignmentEventHandlerBase.qll | 9 + .../elements/AssignmentEventHandlerClr.qll | 9 + .../AssignmentEventHandlerInstance.qll | 10 + .../elements/AssignmentEventHandlerStatic.qll | 9 + .../xpp/elements/AssignmentSingleField.qll | 10 + .../xpp/elements/AssignmentStatement.qll | 9 + xpp/ql/lib/codeql/xpp/elements/Ast.qll | 15 + xpp/ql/lib/codeql/xpp/elements/Attribute.qll | 11 + .../xpp/elements/AttributeExpression.qll | 10 + .../lib/codeql/xpp/elements/AttributeList.qll | 10 + .../codeql/xpp/elements/AttributeLiteral.qll | 9 + .../elements/AttributeNamedParameterEntry.qll | 10 + .../xpp/elements/AvgAggregateSelection.qll | 9 + .../codeql/xpp/elements/BinaryExpression.qll | 9 + .../xpp/elements/BooleanAttributeLiteral.qll | 9 + .../xpp/elements/BooleanLiteralExpression.qll | 9 + .../lib/codeql/xpp/elements/BooleanType.qll | 9 + .../codeql/xpp/elements/BreakStatement.qll | 9 + .../xpp/elements/BreakpointStatement.qll | 9 + xpp/ql/lib/codeql/xpp/elements/Case.qll | 9 + .../lib/codeql/xpp/elements/CaseDefault.qll | 9 + xpp/ql/lib/codeql/xpp/elements/CaseValues.qll | 10 + xpp/ql/lib/codeql/xpp/elements/Catch.qll | 9 + .../codeql/xpp/elements/CatchAllValues.qll | 9 + .../codeql/xpp/elements/CatchExpression.qll | 10 + .../xpp/elements/CatchUpdateConflict.qll | 11 + .../xpp/elements/ChangeCompanyStatement.qll | 9 + .../codeql/xpp/elements/ChangeStatement.qll | 10 + xpp/ql/lib/codeql/xpp/elements/Class.qll | 10 + .../xpp/elements/ClassAccessModifier.qll | 9 + .../codeql/xpp/elements/ClassOrInterface.qll | 10 + .../ClrEnumerationLiteralExpression.qll | 9 + xpp/ql/lib/codeql/xpp/elements/ClrType.qll | 9 + xpp/ql/lib/codeql/xpp/elements/Comment.qll | 12 + .../codeql/xpp/elements/CompilationUnit.qll | 11 + .../elements/CompilationUnitRegionEntry.qll | 10 + .../codeql/xpp/elements/CompoundStatement.qll | 9 + .../xpp/elements/ConditionalExpression.qll | 9 + .../elements/ContainerAttributeLiteral.qll | 10 + .../elements/ContainerLiteralExpression.qll | 10 + .../lib/codeql/xpp/elements/ContainerType.qll | 9 + .../codeql/xpp/elements/ContinueStatement.qll | 9 + .../xpp/elements/CountAggregateSelection.qll | 9 + .../lib/codeql/xpp/elements/CrossCompany.qll | 9 + .../codeql/xpp/elements/CrossCompanyAll.qll | 9 + .../xpp/elements/CrossCompanyContainer.qll | 10 + .../xpp/elements/DateAttributeLiteral.qll | 9 + .../xpp/elements/DateLiteralExpression.qll | 9 + .../xpp/elements/DateTimeAttributeLiteral.qll | 9 + .../elements/DateTimeLiteralExpression.qll | 9 + .../lib/codeql/xpp/elements/DateTimeType.qll | 9 + xpp/ql/lib/codeql/xpp/elements/DateType.qll | 9 + .../xpp/elements/DblAttributeLiteral.qll | 9 + xpp/ql/lib/codeql/xpp/elements/DblType.qll | 9 + .../lib/codeql/xpp/elements/Declaration.qll | 12 + .../elements/DefaultTypeAttributeLiteral.qll | 9 + .../elements/DefaultTypeLiteralExpression.qll | 9 + xpp/ql/lib/codeql/xpp/elements/Delegate.qll | 9 + .../codeql/xpp/elements/DeleteStatement.qll | 10 + .../codeql/xpp/elements/DivideExpression.qll | 9 + .../codeql/xpp/elements/DoWhileStatement.qll | 10 + xpp/ql/lib/codeql/xpp/elements/Element.qll | 8 + .../codeql/xpp/elements/EmptyExpression.qll | 9 + .../codeql/xpp/elements/EmptyStatement.qll | 9 + .../xpp/elements/EnumAttributeLiteral.qll | 9 + .../elements/EnumerationLiteralExpression.qll | 9 + .../codeql/xpp/elements/EnumerationType.qll | 9 + .../codeql/xpp/elements/EqualExpression.qll | 9 + .../lib/codeql/xpp/elements/ErrorElement.qll | 12 + xpp/ql/lib/codeql/xpp/elements/Evaluation.qll | 10 + .../EvaluationActualParameterEntry.qll | 10 + .../codeql/xpp/elements/ExplicitSelection.qll | 10 + xpp/ql/lib/codeql/xpp/elements/Expression.qll | 9 + .../elements/ExpressionCompilationUnit.qll | 10 + .../xpp/elements/ExpressionQualifier.qll | 10 + .../xpp/elements/ExpressionStatement.qll | 10 + .../codeql/xpp/elements/FieldAssignment.qll | 10 + .../codeql/xpp/elements/FieldDeclaration.qll | 11 + .../codeql/xpp/elements/FieldExpression.qll | 10 + .../codeql/xpp/elements/FieldSelection.qll | 9 + .../xpp/elements/FieldSpecification.qll | 11 + xpp/ql/lib/codeql/xpp/elements/File.qll | 9 + .../lib/codeql/xpp/elements/FindStatement.qll | 10 + .../codeql/xpp/elements/FlushStatement.qll | 9 + xpp/ql/lib/codeql/xpp/elements/ForAssign.qll | 10 + .../xpp/elements/ForDeclarationAssign.qll | 10 + .../xpp/elements/ForExpressionAssign.qll | 10 + .../codeql/xpp/elements/ForFieldAssign.qll | 9 + .../xpp/elements/ForFieldDecrementAssign.qll | 9 + .../xpp/elements/ForFieldIncrementAssign.qll | 9 + .../xpp/elements/ForFieldPostDecrement.qll | 9 + .../xpp/elements/ForFieldPostIncrement.qll | 9 + .../xpp/elements/ForFieldPreDecrement.qll | 9 + .../xpp/elements/ForFieldPreIncrement.qll | 9 + .../lib/codeql/xpp/elements/ForStatement.qll | 11 + .../lib/codeql/xpp/elements/FormControl.qll | 9 + .../lib/codeql/xpp/elements/FormDataField.qll | 10 + .../codeql/xpp/elements/FormDataSource.qll | 11 + .../codeql/xpp/elements/FormElementType.qll | 9 + .../codeql/xpp/elements/FormModelElement.qll | 12 + .../codeql/xpp/elements/FormNestedElement.qll | 10 + .../lib/codeql/xpp/elements/FunctionCall.qll | 9 + .../xpp/elements/FunctionDeclaration.qll | 11 + .../codeql/xpp/elements/GenericEvaluation.qll | 10 + .../codeql/xpp/elements/GenericXppType.qll | 9 + .../xpp/elements/GlobalOrderElement.qll | 9 + .../xpp/elements/GreaterThanExpression.qll | 9 + .../elements/GreaterThanOrEqualExpression.qll | 9 + .../xpp/elements/GuidAttributeLiteral.qll | 9 + xpp/ql/lib/codeql/xpp/elements/GuidType.qll | 9 + .../lib/codeql/xpp/elements/IfStatement.qll | 10 + .../xpp/elements/IfThenElseStatement.qll | 10 + .../codeql/xpp/elements/ImplicitSelection.qll | 9 + .../lib/codeql/xpp/elements/InExpression.qll | 9 + .../xpp/elements/InsertFieldSpecification.qll | 9 + .../codeql/xpp/elements/InsertStatement.qll | 12 + .../lib/codeql/xpp/elements/InstanceName.qll | 9 + .../xpp/elements/Int64AttributeLiteral.qll | 9 + .../xpp/elements/Int64LiteralExpression.qll | 9 + xpp/ql/lib/codeql/xpp/elements/Int64Type.qll | 9 + .../xpp/elements/IntAttributeLiteral.qll | 9 + .../xpp/elements/IntLiteralExpression.qll | 9 + xpp/ql/lib/codeql/xpp/elements/IntType.qll | 9 + .../xpp/elements/IntegerDivideExpression.qll | 9 + xpp/ql/lib/codeql/xpp/elements/Interface.qll | 9 + xpp/ql/lib/codeql/xpp/elements/Intrinsic.qll | 9 + .../elements/IntrinsicAttributeLiteral.qll | 9 + .../codeql/xpp/elements/IsAsExpression.qll | 9 + .../codeql/xpp/elements/IsClrExpression.qll | 9 + .../lib/codeql/xpp/elements/IsExpression.qll | 9 + .../codeql/xpp/elements/JoinSpecification.qll | 10 + .../xpp/elements/LessThanExpression.qll | 9 + .../elements/LessThanOrEqualExpression.qll | 9 + .../codeql/xpp/elements/LikeExpression.qll | 9 + .../codeql/xpp/elements/LiteralExpression.qll | 9 + .../codeql/xpp/elements/LocalDeclaration.qll | 9 + .../elements/LocalDeclarationsStatement.qll | 10 + xpp/ql/lib/codeql/xpp/elements/Locatable.qll | 10 + xpp/ql/lib/codeql/xpp/elements/Location.qll | 10 + .../xpp/elements/MaxAggregateSelection.qll | 9 + xpp/ql/lib/codeql/xpp/elements/Method.qll | 11 + .../codeql/xpp/elements/MethodOrDelegate.qll | 13 + .../xpp/elements/MinAggregateSelection.qll | 9 + .../lib/codeql/xpp/elements/ModExpression.qll | 9 + .../lib/codeql/xpp/elements/ModelElement.qll | 14 + .../xpp/elements/ModelElementUsingEntry.qll | 9 + xpp/ql/lib/codeql/xpp/elements/Modifier.qll | 9 + .../xpp/elements/MoveCursorStatement.qll | 10 + .../xpp/elements/MultiplyExpression.qll | 9 + .../xpp/elements/NamedFieldReference.qll | 9 + xpp/ql/lib/codeql/xpp/elements/NamedType.qll | 9 + xpp/ql/lib/codeql/xpp/elements/NewCall.qll | 10 + .../xpp/elements/NewClrArrayExpression.qll | 10 + xpp/ql/lib/codeql/xpp/elements/NewClrCall.qll | 9 + .../codeql/xpp/elements/NextExpression.qll | 9 + .../xpp/elements/NotEqualExpression.qll | 9 + .../lib/codeql/xpp/elements/NotExpression.qll | 9 + .../xpp/elements/NullLiteralExpression.qll | 9 + .../xpp/elements/NumberedFieldReference.qll | 10 + .../lib/codeql/xpp/elements/OrExpression.qll | 9 + .../lib/codeql/xpp/elements/OrderElement.qll | 9 + .../xpp/elements/ParameterDeclaration.qll | 9 + .../xpp/elements/PhysicalAndExpression.qll | 9 + .../xpp/elements/PhysicalNotExpression.qll | 9 + .../xpp/elements/PhysicalOrExpression.qll | 9 + .../xpp/elements/PhysicalXorExpression.qll | 9 + .../lib/codeql/xpp/elements/Placeholder.qll | 9 + .../codeql/xpp/elements/PrintStatement.qll | 10 + .../lib/codeql/xpp/elements/ProvidedType.qll | 10 + .../xpp/elements/ProvidedTypeStaticCall.qll | 10 + .../lib/codeql/xpp/elements/QualifiedCall.qll | 10 + .../codeql/xpp/elements/QualifiedField.qll | 9 + .../xpp/elements/QualifiedInstanceName.qll | 11 + .../xpp/elements/QualifiedNumberedField.qll | 10 + .../xpp/elements/QualifiedStaticCall.qll | 11 + .../xpp/elements/QualifiedStaticField.qll | 9 + .../QualifiedStaticFieldExpression.qll | 9 + xpp/ql/lib/codeql/xpp/elements/Qualifier.qll | 9 + xpp/ql/lib/codeql/xpp/elements/Query.qll | 15 + .../codeql/xpp/elements/QueryDataSource.qll | 13 + .../xpp/elements/QueryDataSourceHaving.qll | 10 + .../xpp/elements/QueryDataSourceRange.qll | 9 + .../xpp/elements/QueryDataSourceRelation.qll | 9 + .../codeql/xpp/elements/QueryModelElement.qll | 11 + .../xpp/elements/RealLiteralExpression.qll | 9 + .../xpp/elements/RelationalExpression.qll | 9 + .../codeql/xpp/elements/RetryStatement.qll | 9 + .../codeql/xpp/elements/ReturnStatement.qll | 10 + .../codeql/xpp/elements/SearchStatement.qll | 10 + xpp/ql/lib/codeql/xpp/elements/Selection.qll | 9 + .../codeql/xpp/elements/SelectionField.qll | 9 + .../xpp/elements/ShiftLeftExpression.qll | 9 + .../xpp/elements/ShiftRightExpression.qll | 9 + .../lib/codeql/xpp/elements/SimpleField.qll | 9 + .../xpp/elements/SimpleInstanceName.qll | 10 + .../xpp/elements/SimpleOrderElement.qll | 9 + .../codeql/xpp/elements/SimpleQualifier.qll | 9 + xpp/ql/lib/codeql/xpp/elements/Statement.qll | 9 + .../lib/codeql/xpp/elements/StaticField.qll | 9 + .../codeql/xpp/elements/StaticMethodCall.qll | 10 + .../codeql/xpp/elements/StaticQualifier.qll | 10 + .../xpp/elements/StringAttributeLiteral.qll | 9 + .../codeql/xpp/elements/StringLengthType.qll | 9 + .../xpp/elements/StringLiteralExpression.qll | 9 + xpp/ql/lib/codeql/xpp/elements/StringType.qll | 9 + .../xpp/elements/SubtractExpression.qll | 9 + .../xpp/elements/SumAggregateSelection.qll | 9 + xpp/ql/lib/codeql/xpp/elements/SuperCall.qll | 9 + xpp/ql/lib/codeql/xpp/elements/SwitchCase.qll | 9 + .../codeql/xpp/elements/SwitchStatement.qll | 11 + .../xpp/elements/SwitchStatementCaseEntry.qll | 11 + xpp/ql/lib/codeql/xpp/elements/Table.qll | 11 + .../xpp/elements/TableFieldDeclaration.qll | 9 + .../xpp/elements/TableFieldReference.qll | 10 + .../xpp/elements/TableLookupExpression.qll | 11 + .../codeql/xpp/elements/ThrowStatement.qll | 10 + .../lib/codeql/xpp/elements/TryStatement.qll | 10 + .../xpp/elements/TryStatementCatchEntry.qll | 11 + .../codeql/xpp/elements/TtsAbortStatement.qll | 9 + .../codeql/xpp/elements/TtsBeginStatement.qll | 9 + .../codeql/xpp/elements/TtsEndStatement.qll | 9 + .../lib/codeql/xpp/elements/TtsStatement.qll | 9 + .../codeql/xpp/elements/UnaryExpression.qll | 9 + .../xpp/elements/UnaryMinusExpression.qll | 9 + .../xpp/elements/UncheckedStatement.qll | 10 + .../xpp/elements/UnspecifiedElement.qll | 13 + .../codeql/xpp/elements/UpdateStatement.qll | 13 + .../codeql/xpp/elements/UsingStatement.qll | 10 + .../codeql/xpp/elements/ValidTimeState.qll | 9 + .../xpp/elements/ValidTimeStateDate.qll | 9 + .../xpp/elements/ValidTimeStateRange.qll | 9 + xpp/ql/lib/codeql/xpp/elements/VarType.qll | 9 + .../xpp/elements/VariableDeclaration.qll | 10 + xpp/ql/lib/codeql/xpp/elements/VoidType.qll | 9 + .../codeql/xpp/elements/WhileStatement.qll | 10 + xpp/ql/lib/codeql/xpp/elements/XppTuple.qll | 16 + xpp/ql/lib/codeql/xpp/elements/XppType.qll | 9 + .../xpp/elements/XppTypeCompilationUnit.qll | 10 + .../internal/AddExpressionConstructor.qll | 14 + .../elements/internal/AddExpressionImpl.qll | 16 + .../internal/AggregateSelectionImpl.qll | 16 + .../AllFieldsSelectionConstructor.qll | 14 + .../internal/AllFieldsSelectionImpl.qll | 16 + .../internal/AndExpressionConstructor.qll | 14 + .../elements/internal/AndExpressionImpl.qll | 16 + .../elements/internal/AnyTypeConstructor.qll | 14 + .../xpp/elements/internal/AnyTypeImpl.qll | 16 + .../ArraySpecificationConstructor.qll | 14 + .../internal/ArraySpecificationImpl.qll | 16 + .../internal/AsClrExpressionConstructor.qll | 14 + .../elements/internal/AsClrExpressionImpl.qll | 16 + .../internal/AsExpressionConstructor.qll | 14 + .../elements/internal/AsExpressionImpl.qll | 16 + .../AssignDecrementStatementConstructor.qll | 14 + .../internal/AssignDecrementStatementImpl.qll | 16 + .../AssignDivideStatementConstructor.qll | 14 + .../internal/AssignDivideStatementImpl.qll | 16 + .../AssignEqualStatementConstructor.qll | 14 + .../internal/AssignEqualStatementImpl.qll | 16 + .../AssignIncrementStatementConstructor.qll | 14 + .../internal/AssignIncrementStatementImpl.qll | 16 + ...ssignMultipleFieldStatementConstructor.qll | 14 + .../AssignMultipleFieldStatementImpl.qll | 16 + .../AssignMultiplyStatementConstructor.qll | 14 + .../internal/AssignMultiplyStatementImpl.qll | 16 + ...ssignPostDecrementStatementConstructor.qll | 14 + .../AssignPostDecrementStatementImpl.qll | 16 + ...ssignPostIncrementStatementConstructor.qll | 14 + .../AssignPostIncrementStatementImpl.qll | 16 + ...AssignPreDecrementStatementConstructor.qll | 14 + .../AssignPreDecrementStatementImpl.qll | 16 + ...AssignPreIncrementStatementConstructor.qll | 14 + .../AssignPreIncrementStatementImpl.qll | 16 + .../internal/AssignmentBinaryImpl.qll | 16 + .../AssignmentEventHandlerBaseImpl.qll | 16 + .../AssignmentEventHandlerClrConstructor.qll | 14 + .../AssignmentEventHandlerClrImpl.qll | 16 + ...ignmentEventHandlerInstanceConstructor.qll | 14 + .../AssignmentEventHandlerInstanceImpl.qll | 16 + .../AssignmentEventHandlerStaticImpl.qll | 16 + .../internal/AssignmentSingleFieldImpl.qll | 16 + .../internal/AssignmentStatementImpl.qll | 16 + .../codeql/xpp/elements/internal/AstImpl.qll | 22 + .../internal/AttributeConstructor.qll | 14 + .../AttributeExpressionConstructor.qll | 14 + .../internal/AttributeExpressionImpl.qll | 16 + .../xpp/elements/internal/AttributeImpl.qll | 16 + .../internal/AttributeListConstructor.qll | 14 + .../elements/internal/AttributeListImpl.qll | 16 + .../internal/AttributeLiteralImpl.qll | 16 + ...ttributeNamedParameterEntryConstructor.qll | 14 + .../AttributeNamedParameterEntryImpl.qll | 16 + .../AvgAggregateSelectionConstructor.qll | 14 + .../internal/AvgAggregateSelectionImpl.qll | 16 + .../internal/BinaryExpressionImpl.qll | 16 + .../BooleanAttributeLiteralConstructor.qll | 14 + .../internal/BooleanAttributeLiteralImpl.qll | 16 + .../BooleanLiteralExpressionConstructor.qll | 14 + .../internal/BooleanLiteralExpressionImpl.qll | 16 + .../internal/BooleanTypeConstructor.qll | 14 + .../xpp/elements/internal/BooleanTypeImpl.qll | 16 + .../internal/BreakStatementConstructor.qll | 14 + .../elements/internal/BreakStatementImpl.qll | 16 + .../BreakpointStatementConstructor.qll | 14 + .../internal/BreakpointStatementImpl.qll | 16 + .../internal/CaseDefaultConstructor.qll | 14 + .../xpp/elements/internal/CaseDefaultImpl.qll | 16 + .../codeql/xpp/elements/internal/CaseImpl.qll | 16 + .../internal/CaseValuesConstructor.qll | 14 + .../xpp/elements/internal/CaseValuesImpl.qll | 16 + .../internal/CatchAllValuesConstructor.qll | 14 + .../elements/internal/CatchAllValuesImpl.qll | 16 + .../internal/CatchExpressionConstructor.qll | 14 + .../elements/internal/CatchExpressionImpl.qll | 16 + .../xpp/elements/internal/CatchImpl.qll | 16 + .../CatchUpdateConflictConstructor.qll | 14 + .../internal/CatchUpdateConflictImpl.qll | 16 + .../ChangeCompanyStatementConstructor.qll | 14 + .../internal/ChangeCompanyStatementImpl.qll | 16 + .../elements/internal/ChangeStatementImpl.qll | 16 + .../ClassAccessModifierConstructor.qll | 14 + .../internal/ClassAccessModifierImpl.qll | 16 + .../elements/internal/ClassConstructor.qll | 14 + .../xpp/elements/internal/ClassImpl.qll | 16 + .../internal/ClassOrInterfaceImpl.qll | 16 + ...numerationLiteralExpressionConstructor.qll | 16 + .../ClrEnumerationLiteralExpressionImpl.qll | 16 + .../elements/internal/ClrTypeConstructor.qll | 14 + .../xpp/elements/internal/ClrTypeImpl.qll | 16 + .../elements/internal/CommentConstructor.qll | 14 + .../xpp/elements/internal/CommentImpl.qll | 19 + .../elements/internal/CompilationUnitImpl.qll | 16 + .../CompilationUnitRegionEntryConstructor.qll | 14 + .../CompilationUnitRegionEntryImpl.qll | 16 + .../internal/CompoundStatementConstructor.qll | 14 + .../internal/CompoundStatementImpl.qll | 16 + .../ConditionalExpressionConstructor.qll | 14 + .../internal/ConditionalExpressionImpl.qll | 16 + .../ContainerAttributeLiteralConstructor.qll | 14 + .../ContainerAttributeLiteralImpl.qll | 16 + .../ContainerLiteralExpressionConstructor.qll | 14 + .../ContainerLiteralExpressionImpl.qll | 16 + .../internal/ContainerTypeConstructor.qll | 14 + .../elements/internal/ContainerTypeImpl.qll | 16 + .../internal/ContinueStatementConstructor.qll | 14 + .../internal/ContinueStatementImpl.qll | 16 + .../CountAggregateSelectionConstructor.qll | 14 + .../internal/CountAggregateSelectionImpl.qll | 16 + .../internal/CrossCompanyAllConstructor.qll | 14 + .../elements/internal/CrossCompanyAllImpl.qll | 16 + .../CrossCompanyContainerConstructor.qll | 14 + .../internal/CrossCompanyContainerImpl.qll | 16 + .../elements/internal/CrossCompanyImpl.qll | 16 + .../DateAttributeLiteralConstructor.qll | 14 + .../internal/DateAttributeLiteralImpl.qll | 16 + .../DateLiteralExpressionConstructor.qll | 14 + .../internal/DateLiteralExpressionImpl.qll | 16 + .../DateTimeAttributeLiteralConstructor.qll | 14 + .../internal/DateTimeAttributeLiteralImpl.qll | 16 + .../DateTimeLiteralExpressionConstructor.qll | 14 + .../DateTimeLiteralExpressionImpl.qll | 16 + .../internal/DateTimeTypeConstructor.qll | 14 + .../elements/internal/DateTimeTypeImpl.qll | 16 + .../elements/internal/DateTypeConstructor.qll | 14 + .../xpp/elements/internal/DateTypeImpl.qll | 16 + .../DblAttributeLiteralConstructor.qll | 14 + .../internal/DblAttributeLiteralImpl.qll | 16 + .../elements/internal/DblTypeConstructor.qll | 14 + .../xpp/elements/internal/DblTypeImpl.qll | 16 + .../xpp/elements/internal/DeclarationImpl.qll | 16 + .../DefaultTypeAttributeLiteralImpl.qll | 16 + .../DefaultTypeLiteralExpressionImpl.qll | 16 + .../elements/internal/DelegateConstructor.qll | 14 + .../xpp/elements/internal/DelegateImpl.qll | 16 + .../internal/DeleteStatementConstructor.qll | 14 + .../elements/internal/DeleteStatementImpl.qll | 16 + .../internal/DivideExpressionConstructor.qll | 14 + .../internal/DivideExpressionImpl.qll | 16 + .../internal/DoWhileStatementConstructor.qll | 14 + .../internal/DoWhileStatementImpl.qll | 16 + .../xpp/elements/internal/ElementImpl.qll | 21 + .../internal/EmptyExpressionConstructor.qll | 14 + .../elements/internal/EmptyExpressionImpl.qll | 16 + .../internal/EmptyStatementConstructor.qll | 14 + .../elements/internal/EmptyStatementImpl.qll | 16 + .../EnumAttributeLiteralConstructor.qll | 14 + .../internal/EnumAttributeLiteralImpl.qll | 16 + ...numerationLiteralExpressionConstructor.qll | 14 + .../EnumerationLiteralExpressionImpl.qll | 16 + .../internal/EnumerationTypeConstructor.qll | 14 + .../elements/internal/EnumerationTypeImpl.qll | 16 + .../internal/EqualExpressionConstructor.qll | 14 + .../elements/internal/EqualExpressionImpl.qll | 16 + .../elements/internal/ErrorElementImpl.qll | 19 + ...luationActualParameterEntryConstructor.qll | 14 + .../EvaluationActualParameterEntryImpl.qll | 16 + .../xpp/elements/internal/EvaluationImpl.qll | 16 + .../internal/ExplicitSelectionConstructor.qll | 14 + .../internal/ExplicitSelectionImpl.qll | 16 + .../ExpressionCompilationUnitConstructor.qll | 14 + .../ExpressionCompilationUnitImpl.qll | 16 + .../xpp/elements/internal/ExpressionImpl.qll | 16 + .../ExpressionQualifierConstructor.qll | 14 + .../internal/ExpressionQualifierImpl.qll | 16 + .../ExpressionStatementConstructor.qll | 14 + .../internal/ExpressionStatementImpl.qll | 16 + .../internal/FieldAssignmentConstructor.qll | 14 + .../elements/internal/FieldAssignmentImpl.qll | 16 + .../internal/FieldDeclarationImpl.qll | 16 + .../elements/internal/FieldExpressionImpl.qll | 16 + .../internal/FieldSelectionConstructor.qll | 14 + .../elements/internal/FieldSelectionImpl.qll | 16 + .../internal/FieldSpecificationImpl.qll | 16 + .../xpp/elements/internal/FileConstructor.qll | 14 + .../codeql/xpp/elements/internal/FileImpl.qll | 16 + .../internal/FindStatementConstructor.qll | 14 + .../elements/internal/FindStatementImpl.qll | 16 + .../internal/FlushStatementConstructor.qll | 14 + .../elements/internal/FlushStatementImpl.qll | 16 + .../xpp/elements/internal/ForAssignImpl.qll | 16 + .../ForDeclarationAssignConstructor.qll | 14 + .../internal/ForDeclarationAssignImpl.qll | 16 + .../internal/ForExpressionAssignImpl.qll | 16 + .../internal/ForFieldAssignConstructor.qll | 14 + .../elements/internal/ForFieldAssignImpl.qll | 16 + .../ForFieldDecrementAssignConstructor.qll | 14 + .../internal/ForFieldDecrementAssignImpl.qll | 16 + .../ForFieldIncrementAssignConstructor.qll | 14 + .../internal/ForFieldIncrementAssignImpl.qll | 16 + .../ForFieldPostDecrementConstructor.qll | 14 + .../internal/ForFieldPostDecrementImpl.qll | 16 + .../ForFieldPostIncrementConstructor.qll | 14 + .../internal/ForFieldPostIncrementImpl.qll | 16 + .../ForFieldPreDecrementConstructor.qll | 14 + .../internal/ForFieldPreDecrementImpl.qll | 16 + .../ForFieldPreIncrementConstructor.qll | 14 + .../internal/ForFieldPreIncrementImpl.qll | 16 + .../internal/ForStatementConstructor.qll | 14 + .../elements/internal/ForStatementImpl.qll | 16 + .../internal/FormControlConstructor.qll | 14 + .../xpp/elements/internal/FormControlImpl.qll | 16 + .../internal/FormDataFieldConstructor.qll | 14 + .../elements/internal/FormDataFieldImpl.qll | 16 + .../internal/FormDataSourceConstructor.qll | 14 + .../elements/internal/FormDataSourceImpl.qll | 16 + .../internal/FormElementTypeConstructor.qll | 14 + .../elements/internal/FormElementTypeImpl.qll | 16 + .../internal/FormModelElementConstructor.qll | 14 + .../internal/FormModelElementImpl.qll | 16 + .../internal/FormNestedElementImpl.qll | 16 + .../internal/FunctionCallConstructor.qll | 14 + .../elements/internal/FunctionCallImpl.qll | 16 + .../FunctionDeclarationConstructor.qll | 14 + .../internal/FunctionDeclarationImpl.qll | 16 + .../internal/GenericEvaluationImpl.qll | 16 + .../elements/internal/GenericXppTypeImpl.qll | 16 + .../GlobalOrderElementConstructor.qll | 14 + .../internal/GlobalOrderElementImpl.qll | 16 + .../GreaterThanExpressionConstructor.qll | 14 + .../internal/GreaterThanExpressionImpl.qll | 16 + ...reaterThanOrEqualExpressionConstructor.qll | 14 + .../GreaterThanOrEqualExpressionImpl.qll | 16 + .../GuidAttributeLiteralConstructor.qll | 14 + .../internal/GuidAttributeLiteralImpl.qll | 16 + .../elements/internal/GuidTypeConstructor.qll | 14 + .../xpp/elements/internal/GuidTypeImpl.qll | 16 + .../internal/IfStatementConstructor.qll | 14 + .../xpp/elements/internal/IfStatementImpl.qll | 16 + .../IfThenElseStatementConstructor.qll | 14 + .../internal/IfThenElseStatementImpl.qll | 16 + .../internal/ImplicitSelectionConstructor.qll | 14 + .../internal/ImplicitSelectionImpl.qll | 16 + .../internal/InExpressionConstructor.qll | 14 + .../elements/internal/InExpressionImpl.qll | 16 + .../InsertFieldSpecificationConstructor.qll | 14 + .../internal/InsertFieldSpecificationImpl.qll | 16 + .../internal/InsertStatementConstructor.qll | 14 + .../elements/internal/InsertStatementImpl.qll | 16 + .../elements/internal/InstanceNameImpl.qll | 16 + .../Int64AttributeLiteralConstructor.qll | 14 + .../internal/Int64AttributeLiteralImpl.qll | 16 + .../Int64LiteralExpressionConstructor.qll | 14 + .../internal/Int64LiteralExpressionImpl.qll | 16 + .../internal/Int64TypeConstructor.qll | 14 + .../xpp/elements/internal/Int64TypeImpl.qll | 16 + .../IntAttributeLiteralConstructor.qll | 14 + .../internal/IntAttributeLiteralImpl.qll | 16 + .../IntLiteralExpressionConstructor.qll | 14 + .../internal/IntLiteralExpressionImpl.qll | 16 + .../elements/internal/IntTypeConstructor.qll | 14 + .../xpp/elements/internal/IntTypeImpl.qll | 16 + .../IntegerDivideExpressionConstructor.qll | 14 + .../internal/IntegerDivideExpressionImpl.qll | 16 + .../internal/InterfaceConstructor.qll | 14 + .../xpp/elements/internal/InterfaceImpl.qll | 16 + .../IntrinsicAttributeLiteralConstructor.qll | 14 + .../IntrinsicAttributeLiteralImpl.qll | 16 + .../internal/IntrinsicConstructor.qll | 14 + .../xpp/elements/internal/IntrinsicImpl.qll | 16 + .../elements/internal/IsAsExpressionImpl.qll | 16 + .../internal/IsClrExpressionConstructor.qll | 14 + .../elements/internal/IsClrExpressionImpl.qll | 16 + .../internal/IsExpressionConstructor.qll | 14 + .../elements/internal/IsExpressionImpl.qll | 16 + .../internal/JoinSpecificationConstructor.qll | 14 + .../internal/JoinSpecificationImpl.qll | 16 + .../LessThanExpressionConstructor.qll | 14 + .../internal/LessThanExpressionImpl.qll | 16 + .../LessThanOrEqualExpressionConstructor.qll | 14 + .../LessThanOrEqualExpressionImpl.qll | 16 + .../internal/LikeExpressionConstructor.qll | 14 + .../elements/internal/LikeExpressionImpl.qll | 16 + .../internal/LiteralExpressionImpl.qll | 16 + .../internal/LocalDeclarationImpl.qll | 16 + .../LocalDeclarationsStatementConstructor.qll | 14 + .../LocalDeclarationsStatementImpl.qll | 16 + .../xpp/elements/internal/LocatableImpl.qll | 16 + .../elements/internal/LocationConstructor.qll | 14 + .../xpp/elements/internal/LocationImpl.qll | 16 + .../MaxAggregateSelectionConstructor.qll | 14 + .../internal/MaxAggregateSelectionImpl.qll | 16 + .../elements/internal/MethodConstructor.qll | 14 + .../xpp/elements/internal/MethodImpl.qll | 16 + .../internal/MethodOrDelegateImpl.qll | 16 + .../MinAggregateSelectionConstructor.qll | 14 + .../internal/MinAggregateSelectionImpl.qll | 16 + .../internal/ModExpressionConstructor.qll | 14 + .../elements/internal/ModExpressionImpl.qll | 16 + .../elements/internal/ModelElementImpl.qll | 16 + .../ModelElementUsingEntryConstructor.qll | 14 + .../internal/ModelElementUsingEntryImpl.qll | 16 + .../elements/internal/ModifierConstructor.qll | 14 + .../xpp/elements/internal/ModifierImpl.qll | 16 + .../MoveCursorStatementConstructor.qll | 14 + .../internal/MoveCursorStatementImpl.qll | 16 + .../MultiplyExpressionConstructor.qll | 14 + .../internal/MultiplyExpressionImpl.qll | 16 + .../NamedFieldReferenceConstructor.qll | 14 + .../internal/NamedFieldReferenceImpl.qll | 16 + .../xpp/elements/internal/NamedTypeImpl.qll | 16 + .../elements/internal/NewCallConstructor.qll | 14 + .../xpp/elements/internal/NewCallImpl.qll | 16 + .../NewClrArrayExpressionConstructor.qll | 14 + .../internal/NewClrArrayExpressionImpl.qll | 16 + .../internal/NewClrCallConstructor.qll | 14 + .../xpp/elements/internal/NewClrCallImpl.qll | 16 + .../internal/NextExpressionConstructor.qll | 14 + .../elements/internal/NextExpressionImpl.qll | 16 + .../NotEqualExpressionConstructor.qll | 14 + .../internal/NotEqualExpressionImpl.qll | 16 + .../internal/NotExpressionConstructor.qll | 14 + .../elements/internal/NotExpressionImpl.qll | 16 + .../NullLiteralExpressionConstructor.qll | 14 + .../internal/NullLiteralExpressionImpl.qll | 16 + .../NumberedFieldReferenceConstructor.qll | 14 + .../internal/NumberedFieldReferenceImpl.qll | 16 + .../internal/OrExpressionConstructor.qll | 14 + .../elements/internal/OrExpressionImpl.qll | 16 + .../elements/internal/OrderElementImpl.qll | 16 + .../ParameterDeclarationConstructor.qll | 14 + .../internal/ParameterDeclarationImpl.qll | 16 + .../PhysicalAndExpressionConstructor.qll | 14 + .../internal/PhysicalAndExpressionImpl.qll | 16 + .../PhysicalNotExpressionConstructor.qll | 14 + .../internal/PhysicalNotExpressionImpl.qll | 16 + .../PhysicalOrExpressionConstructor.qll | 14 + .../internal/PhysicalOrExpressionImpl.qll | 16 + .../PhysicalXorExpressionConstructor.qll | 14 + .../internal/PhysicalXorExpressionImpl.qll | 16 + .../internal/PlaceholderConstructor.qll | 14 + .../xpp/elements/internal/PlaceholderImpl.qll | 16 + .../internal/PrintStatementConstructor.qll | 14 + .../elements/internal/PrintStatementImpl.qll | 16 + .../internal/ProvidedTypeConstructor.qll | 14 + .../elements/internal/ProvidedTypeImpl.qll | 16 + .../ProvidedTypeStaticCallConstructor.qll | 14 + .../internal/ProvidedTypeStaticCallImpl.qll | 16 + .../internal/QualifiedCallConstructor.qll | 14 + .../elements/internal/QualifiedCallImpl.qll | 16 + .../internal/QualifiedFieldConstructor.qll | 14 + .../elements/internal/QualifiedFieldImpl.qll | 16 + .../QualifiedInstanceNameConstructor.qll | 14 + .../internal/QualifiedInstanceNameImpl.qll | 16 + .../QualifiedNumberedFieldConstructor.qll | 14 + .../internal/QualifiedNumberedFieldImpl.qll | 16 + .../QualifiedStaticCallConstructor.qll | 14 + .../internal/QualifiedStaticCallImpl.qll | 16 + .../QualifiedStaticFieldConstructor.qll | 14 + ...lifiedStaticFieldExpressionConstructor.qll | 14 + .../QualifiedStaticFieldExpressionImpl.qll | 16 + .../internal/QualifiedStaticFieldImpl.qll | 16 + .../xpp/elements/internal/QualifierImpl.qll | 16 + .../elements/internal/QueryConstructor.qll | 14 + .../internal/QueryDataSourceConstructor.qll | 14 + .../QueryDataSourceHavingConstructor.qll | 14 + .../internal/QueryDataSourceHavingImpl.qll | 16 + .../elements/internal/QueryDataSourceImpl.qll | 16 + .../QueryDataSourceRangeConstructor.qll | 14 + .../internal/QueryDataSourceRangeImpl.qll | 16 + .../QueryDataSourceRelationConstructor.qll | 14 + .../internal/QueryDataSourceRelationImpl.qll | 16 + .../xpp/elements/internal/QueryImpl.qll | 16 + .../internal/QueryModelElementConstructor.qll | 14 + .../internal/QueryModelElementImpl.qll | 16 + .../RealLiteralExpressionConstructor.qll | 14 + .../internal/RealLiteralExpressionImpl.qll | 16 + .../internal/RelationalExpressionImpl.qll | 16 + .../internal/RetryStatementConstructor.qll | 14 + .../elements/internal/RetryStatementImpl.qll | 16 + .../internal/ReturnStatementConstructor.qll | 14 + .../elements/internal/ReturnStatementImpl.qll | 16 + .../internal/SearchStatementConstructor.qll | 14 + .../elements/internal/SearchStatementImpl.qll | 16 + .../elements/internal/SelectionFieldImpl.qll | 16 + .../xpp/elements/internal/SelectionImpl.qll | 16 + .../ShiftLeftExpressionConstructor.qll | 14 + .../internal/ShiftLeftExpressionImpl.qll | 16 + .../ShiftRightExpressionConstructor.qll | 14 + .../internal/ShiftRightExpressionImpl.qll | 16 + .../internal/SimpleFieldConstructor.qll | 14 + .../xpp/elements/internal/SimpleFieldImpl.qll | 16 + .../SimpleInstanceNameConstructor.qll | 14 + .../internal/SimpleInstanceNameImpl.qll | 16 + .../SimpleOrderElementConstructor.qll | 14 + .../internal/SimpleOrderElementImpl.qll | 16 + .../elements/internal/SimpleQualifierImpl.qll | 16 + .../xpp/elements/internal/StatementImpl.qll | 16 + .../internal/StaticFieldConstructor.qll | 14 + .../xpp/elements/internal/StaticFieldImpl.qll | 16 + .../internal/StaticMethodCallConstructor.qll | 14 + .../internal/StaticMethodCallImpl.qll | 16 + .../internal/StaticQualifierConstructor.qll | 14 + .../elements/internal/StaticQualifierImpl.qll | 16 + .../StringAttributeLiteralConstructor.qll | 14 + .../internal/StringAttributeLiteralImpl.qll | 16 + .../internal/StringLengthTypeConstructor.qll | 14 + .../internal/StringLengthTypeImpl.qll | 16 + .../StringLiteralExpressionConstructor.qll | 14 + .../internal/StringLiteralExpressionImpl.qll | 16 + .../xpp/elements/internal/StringTypeImpl.qll | 16 + .../SubtractExpressionConstructor.qll | 14 + .../internal/SubtractExpressionImpl.qll | 16 + .../SumAggregateSelectionConstructor.qll | 14 + .../internal/SumAggregateSelectionImpl.qll | 16 + .../internal/SuperCallConstructor.qll | 14 + .../xpp/elements/internal/SuperCallImpl.qll | 16 + .../internal/SwitchCaseConstructor.qll | 14 + .../xpp/elements/internal/SwitchCaseImpl.qll | 16 + .../SwitchStatementCaseEntryConstructor.qll | 14 + .../internal/SwitchStatementCaseEntryImpl.qll | 16 + .../internal/SwitchStatementConstructor.qll | 14 + .../elements/internal/SwitchStatementImpl.qll | 16 + .../elements/internal/TableConstructor.qll | 14 + .../TableFieldDeclarationConstructor.qll | 14 + .../internal/TableFieldDeclarationImpl.qll | 16 + .../internal/TableFieldReferenceImpl.qll | 16 + .../xpp/elements/internal/TableImpl.qll | 16 + .../TableLookupExpressionConstructor.qll | 14 + .../internal/TableLookupExpressionImpl.qll | 16 + .../internal/ThrowStatementConstructor.qll | 14 + .../elements/internal/ThrowStatementImpl.qll | 16 + .../TryStatementCatchEntryConstructor.qll | 14 + .../internal/TryStatementCatchEntryImpl.qll | 16 + .../internal/TryStatementConstructor.qll | 14 + .../elements/internal/TryStatementImpl.qll | 16 + .../internal/TtsAbortStatementConstructor.qll | 14 + .../internal/TtsAbortStatementImpl.qll | 16 + .../internal/TtsBeginStatementConstructor.qll | 14 + .../internal/TtsBeginStatementImpl.qll | 16 + .../internal/TtsEndStatementConstructor.qll | 14 + .../elements/internal/TtsEndStatementImpl.qll | 16 + .../elements/internal/TtsStatementImpl.qll | 16 + .../elements/internal/UnaryExpressionImpl.qll | 16 + .../UnaryMinusExpressionConstructor.qll | 14 + .../internal/UnaryMinusExpressionImpl.qll | 16 + .../UncheckedStatementConstructor.qll | 14 + .../internal/UncheckedStatementImpl.qll | 16 + .../UnspecifiedElementConstructor.qll | 14 + .../internal/UnspecifiedElementImpl.qll | 19 + .../internal/UpdateStatementConstructor.qll | 14 + .../elements/internal/UpdateStatementImpl.qll | 16 + .../internal/UsingStatementConstructor.qll | 14 + .../elements/internal/UsingStatementImpl.qll | 16 + .../ValidTimeStateDateConstructor.qll | 14 + .../internal/ValidTimeStateDateImpl.qll | 16 + .../elements/internal/ValidTimeStateImpl.qll | 16 + .../ValidTimeStateRangeConstructor.qll | 14 + .../internal/ValidTimeStateRangeImpl.qll | 16 + .../elements/internal/VarTypeConstructor.qll | 14 + .../xpp/elements/internal/VarTypeImpl.qll | 16 + .../internal/VariableDeclarationImpl.qll | 16 + .../elements/internal/VoidTypeConstructor.qll | 14 + .../xpp/elements/internal/VoidTypeImpl.qll | 16 + .../internal/WhileStatementConstructor.qll | 14 + .../elements/internal/WhileStatementImpl.qll | 16 + .../xpp/elements/internal/XppTupleImpl.qll | 23 + .../XppTypeCompilationUnitConstructor.qll | 14 + .../internal/XppTypeCompilationUnitImpl.qll | 16 + .../xpp/elements/internal/XppTypeImpl.qll | 16 + .../internal/generated/AddExpression.qll | 23 + .../internal/generated/AggregateSelection.qll | 22 + .../internal/generated/AllFieldsSelection.qll | 23 + .../internal/generated/AndExpression.qll | 23 + .../elements/internal/generated/AnyType.qll | 23 + .../internal/generated/ArraySpecification.qll | 54 + .../internal/generated/AsClrExpression.qll | 23 + .../internal/generated/AsExpression.qll | 23 + .../generated/AssignDecrementStatement.qll | 25 + .../generated/AssignDivideStatement.qll | 25 + .../generated/AssignEqualStatement.qll | 25 + .../generated/AssignIncrementStatement.qll | 25 + .../AssignMultipleFieldStatement.qll | 62 + .../generated/AssignMultiplyStatement.qll | 25 + .../AssignPostDecrementStatement.qll | 25 + .../AssignPostIncrementStatement.qll | 25 + .../generated/AssignPreDecrementStatement.qll | 25 + .../generated/AssignPreIncrementStatement.qll | 25 + .../internal/generated/AssignmentBinary.qll | 39 + .../generated/AssignmentEventHandlerBase.qll | 47 + .../generated/AssignmentEventHandlerClr.qll | 25 + .../AssignmentEventHandlerInstance.qll | 41 + .../AssignmentEventHandlerStatic.qll | 38 + .../generated/AssignmentSingleField.qll | 39 + .../generated/AssignmentStatement.qll | 21 + .../xpp/elements/internal/generated/Ast.qll | 25 + .../elements/internal/generated/Attribute.qll | 89 + .../generated/AttributeExpression.qll | 39 + .../internal/generated/AttributeList.qll | 51 + .../internal/generated/AttributeLiteral.qll | 21 + .../AttributeNamedParameterEntry.qll | 56 + .../generated/AvgAggregateSelection.qll | 25 + .../internal/generated/BinaryExpression.qll | 52 + .../generated/BooleanAttributeLiteral.qll | 25 + .../generated/BooleanLiteralExpression.qll | 25 + .../internal/generated/BooleanType.qll | 23 + .../internal/generated/BreakStatement.qll | 23 + .../generated/BreakpointStatement.qll | 23 + .../xpp/elements/internal/generated/Case.qll | 21 + .../internal/generated/CaseDefault.qll | 23 + .../internal/generated/CaseValues.qll | 44 + .../xpp/elements/internal/generated/Catch.qll | 21 + .../internal/generated/CatchAllValues.qll | 23 + .../internal/generated/CatchExpression.qll | 39 + .../generated/CatchUpdateConflict.qll | 55 + .../generated/ChangeCompanyStatement.qll | 25 + .../internal/generated/ChangeStatement.qll | 53 + .../xpp/elements/internal/generated/Class.qll | 68 + .../generated/ClassAccessModifier.qll | 36 + .../internal/generated/ClassOrInterface.qll | 125 + .../ClrEnumerationLiteralExpression.qll | 55 + .../elements/internal/generated/ClrType.qll | 52 + .../elements/internal/generated/Comment.qll | 34 + .../internal/generated/CompilationUnit.qll | 84 + .../generated/CompilationUnitRegionEntry.qll | 56 + .../internal/generated/CompoundStatement.qll | 44 + .../generated/ConditionalExpression.qll | 69 + .../generated/ContainerAttributeLiteral.qll | 46 + .../generated/ContainerLiteralExpression.qll | 46 + .../internal/generated/ContainerType.qll | 23 + .../internal/generated/ContinueStatement.qll | 23 + .../generated/CountAggregateSelection.qll | 25 + .../internal/generated/CrossCompany.qll | 21 + .../internal/generated/CrossCompanyAll.qll | 23 + .../generated/CrossCompanyContainer.qll | 39 + .../generated/DateAttributeLiteral.qll | 25 + .../generated/DateLiteralExpression.qll | 25 + .../generated/DateTimeAttributeLiteral.qll | 25 + .../generated/DateTimeLiteralExpression.qll | 25 + .../internal/generated/DateTimeType.qll | 23 + .../elements/internal/generated/DateType.qll | 23 + .../generated/DblAttributeLiteral.qll | 25 + .../elements/internal/generated/DblType.qll | 23 + .../internal/generated/Declaration.qll | 86 + .../generated/DefaultTypeAttributeLiteral.qll | 38 + .../DefaultTypeLiteralExpression.qll | 38 + .../elements/internal/generated/Delegate.qll | 28 + .../internal/generated/DeleteStatement.qll | 39 + .../internal/generated/DivideExpression.qll | 23 + .../internal/generated/DoWhileStatement.qll | 55 + .../elements/internal/generated/Element.qll | 77 + .../internal/generated/EmptyExpression.qll | 23 + .../internal/generated/EmptyStatement.qll | 23 + .../generated/EnumAttributeLiteral.qll | 51 + .../EnumerationLiteralExpression.qll | 55 + .../internal/generated/EnumerationType.qll | 59 + .../internal/generated/EqualExpression.qll | 25 + .../internal/generated/ErrorElement.qll | 22 + .../internal/generated/Evaluation.qll | 46 + .../EvaluationActualParameterEntry.qll | 50 + .../internal/generated/ExplicitSelection.qll | 44 + .../internal/generated/Expression.qll | 44 + .../generated/ExpressionCompilationUnit.qll | 56 + .../generated/ExpressionQualifier.qll | 39 + .../generated/ExpressionStatement.qll | 52 + .../internal/generated/FieldAssignment.qll | 75 + .../internal/generated/FieldDeclaration.qll | 141 + .../internal/generated/FieldExpression.qll | 42 + .../internal/generated/FieldSelection.qll | 35 + .../internal/generated/FieldSpecification.qll | 115 + .../xpp/elements/internal/generated/File.qll | 28 + .../internal/generated/FindStatement.qll | 39 + .../internal/generated/FlushStatement.qll | 40 + .../elements/internal/generated/ForAssign.qll | 37 + .../generated/ForDeclarationAssign.qll | 48 + .../generated/ForExpressionAssign.qll | 37 + .../internal/generated/ForFieldAssign.qll | 23 + .../generated/ForFieldDecrementAssign.qll | 25 + .../generated/ForFieldIncrementAssign.qll | 25 + .../generated/ForFieldPostDecrement.qll | 23 + .../generated/ForFieldPostIncrement.qll | 23 + .../generated/ForFieldPreDecrement.qll | 23 + .../generated/ForFieldPreIncrement.qll | 23 + .../internal/generated/ForStatement.qll | 86 + .../internal/generated/FormControl.qll | 135 + .../internal/generated/FormDataField.qll | 51 + .../internal/generated/FormDataSource.qll | 127 + .../internal/generated/FormElementType.qll | 35 + .../internal/generated/FormModelElement.qll | 106 + .../internal/generated/FormNestedElement.qll | 37 + .../internal/generated/FunctionCall.qll | 35 + .../generated/FunctionDeclaration.qll | 123 + .../internal/generated/GenericEvaluation.qll | 44 + .../internal/generated/GenericXppType.qll | 44 + .../internal/generated/GlobalOrderElement.qll | 48 + .../generated/GreaterThanExpression.qll | 25 + .../GreaterThanOrEqualExpression.qll | 25 + .../generated/GuidAttributeLiteral.qll | 25 + .../elements/internal/generated/GuidType.qll | 23 + .../internal/generated/IfStatement.qll | 55 + .../generated/IfThenElseStatement.qll | 70 + .../internal/generated/ImplicitSelection.qll | 23 + .../internal/generated/InExpression.qll | 23 + .../generated/InsertFieldSpecification.qll | 75 + .../internal/generated/InsertStatement.qll | 88 + .../internal/generated/InstanceName.qll | 21 + .../generated/Int64AttributeLiteral.qll | 25 + .../generated/Int64LiteralExpression.qll | 25 + .../elements/internal/generated/Int64Type.qll | 23 + .../generated/IntAttributeLiteral.qll | 25 + .../generated/IntLiteralExpression.qll | 25 + .../elements/internal/generated/IntType.qll | 23 + .../generated/IntegerDivideExpression.qll | 25 + .../elements/internal/generated/Interface.qll | 23 + .../elements/internal/generated/Intrinsic.qll | 63 + .../generated/IntrinsicAttributeLiteral.qll | 85 + .../internal/generated/IsAsExpression.qll | 49 + .../internal/generated/IsClrExpression.qll | 23 + .../internal/generated/IsExpression.qll | 23 + .../internal/generated/JoinSpecification.qll | 51 + .../internal/generated/LessThanExpression.qll | 25 + .../generated/LessThanOrEqualExpression.qll | 25 + .../internal/generated/LikeExpression.qll | 25 + .../internal/generated/LiteralExpression.qll | 21 + .../internal/generated/LocalDeclaration.qll | 21 + .../generated/LocalDeclarationsStatement.qll | 46 + .../elements/internal/generated/Locatable.qll | 37 + .../elements/internal/generated/Location.qll | 54 + .../generated/MaxAggregateSelection.qll | 25 + .../elements/internal/generated/Method.qll | 214 + .../internal/generated/MethodOrDelegate.qll | 128 + .../generated/MinAggregateSelection.qll | 25 + .../internal/generated/ModExpression.qll | 23 + .../internal/generated/ModelElement.qll | 281 + .../generated/ModelElementUsingEntry.qll | 49 + .../elements/internal/generated/Modifier.qll | 35 + .../generated/MoveCursorStatement.qll | 51 + .../internal/generated/MultiplyExpression.qll | 25 + .../generated/NamedFieldReference.qll | 51 + .../elements/internal/generated/NamedType.qll | 31 + .../elements/internal/generated/NewCall.qll | 37 + .../generated/NewClrArrayExpression.qll | 102 + .../internal/generated/NewClrCall.qll | 35 + .../internal/generated/NextExpression.qll | 35 + .../internal/generated/NotEqualExpression.qll | 25 + .../internal/generated/NotExpression.qll | 23 + .../generated/NullLiteralExpression.qll | 25 + .../generated/NumberedFieldReference.qll | 41 + .../internal/generated/OrExpression.qll | 23 + .../internal/generated/OrderElement.qll | 55 + .../generated/ParameterDeclaration.qll | 39 + .../internal/generated/ParentChild.qll | 3813 +++++++++ .../generated/PhysicalAndExpression.qll | 25 + .../generated/PhysicalNotExpression.qll | 25 + .../generated/PhysicalOrExpression.qll | 25 + .../generated/PhysicalXorExpression.qll | 25 + .../internal/generated/Placeholder.qll | 23 + .../internal/generated/PrintStatement.qll | 44 + .../internal/generated/ProvidedType.qll | 56 + .../generated/ProvidedTypeStaticCall.qll | 54 + .../generated/PureSynthConstructors.qll | 5 + .../internal/generated/QualifiedCall.qll | 51 + .../internal/generated/QualifiedField.qll | 47 + .../generated/QualifiedInstanceName.qll | 67 + .../generated/QualifiedNumberedField.qll | 41 + .../generated/QualifiedStaticCall.qll | 97 + .../generated/QualifiedStaticField.qll | 57 + .../QualifiedStaticFieldExpression.qll | 64 + .../elements/internal/generated/Qualifier.qll | 21 + .../xpp/elements/internal/generated/Query.qll | 188 + .../internal/generated/QueryDataSource.qll | 280 + .../generated/QueryDataSourceHaving.qll | 67 + .../generated/QueryDataSourceRange.qll | 47 + .../generated/QueryDataSourceRelation.qll | 66 + .../internal/generated/QueryModelElement.qll | 109 + .../xpp/elements/internal/generated/Raw.qll | 7444 +++++++++++++++++ .../generated/RealLiteralExpression.qll | 25 + .../generated/RelationalExpression.qll | 36 + .../internal/generated/RetryStatement.qll | 23 + .../internal/generated/ReturnStatement.qll | 39 + .../internal/generated/SearchStatement.qll | 55 + .../elements/internal/generated/Selection.qll | 21 + .../internal/generated/SelectionField.qll | 45 + .../generated/ShiftLeftExpression.qll | 25 + .../generated/ShiftRightExpression.qll | 25 + .../internal/generated/SimpleField.qll | 52 + .../internal/generated/SimpleInstanceName.qll | 51 + .../internal/generated/SimpleOrderElement.qll | 36 + .../internal/generated/SimpleQualifier.qll | 33 + .../elements/internal/generated/Statement.qll | 33 + .../internal/generated/StaticField.qll | 45 + .../internal/generated/StaticMethodCall.qll | 70 + .../internal/generated/StaticQualifier.qll | 46 + .../generated/StringAttributeLiteral.qll | 25 + .../internal/generated/StringLengthType.qll | 52 + .../generated/StringLiteralExpression.qll | 60 + .../internal/generated/StringType.qll | 21 + .../internal/generated/SubtractExpression.qll | 25 + .../generated/SumAggregateSelection.qll | 25 + .../elements/internal/generated/SuperCall.qll | 23 + .../internal/generated/SwitchCase.qll | 23 + .../internal/generated/SwitchStatement.qll | 60 + .../generated/SwitchStatementCaseEntry.qll | 60 + .../xpp/elements/internal/generated/Synth.qll | 5995 +++++++++++++ .../internal/generated/SynthConstructors.qll | 209 + .../xpp/elements/internal/generated/Table.qll | 133 + .../generated/TableFieldDeclaration.qll | 25 + .../generated/TableFieldReference.qll | 37 + .../generated/TableLookupExpression.qll | 55 + .../internal/generated/ThrowStatement.qll | 39 + .../internal/generated/TryStatement.qll | 75 + .../generated/TryStatementCatchEntry.qll | 55 + .../internal/generated/TtsAbortStatement.qll | 23 + .../internal/generated/TtsBeginStatement.qll | 23 + .../internal/generated/TtsEndStatement.qll | 23 + .../internal/generated/TtsStatement.qll | 21 + .../internal/generated/UnaryExpression.qll | 37 + .../generated/UnaryMinusExpression.qll | 25 + .../internal/generated/UncheckedStatement.qll | 55 + .../internal/generated/UnspecifiedElement.qll | 66 + .../internal/generated/UpdateStatement.qll | 123 + .../internal/generated/UsingStatement.qll | 64 + .../internal/generated/ValidTimeState.qll | 21 + .../internal/generated/ValidTimeStateDate.qll | 36 + .../generated/ValidTimeStateRange.qll | 51 + .../elements/internal/generated/VarType.qll | 23 + .../generated/VariableDeclaration.qll | 59 + .../elements/internal/generated/VoidType.qll | 23 + .../internal/generated/WhileStatement.qll | 55 + .../elements/internal/generated/XppTuple.qll | 26 + .../elements/internal/generated/XppType.qll | 38 + .../generated/XppTypeCompilationUnit.qll | 41 + xpp/ql/lib/qlpack.yml | 17 + xpp/ql/lib/xpp.dbscheme | 3925 +++++++++ xpp/ql/lib/xpp.dbscheme.stats | 4 + .../AddExpression/MISSING_SOURCE.txt | 4 + .../AllFieldsSelection/MISSING_SOURCE.txt | 4 + .../AndExpression/MISSING_SOURCE.txt | 4 + .../generated/AnyType/MISSING_SOURCE.txt | 4 + .../ArraySpecification/MISSING_SOURCE.txt | 4 + .../AsClrExpression/MISSING_SOURCE.txt | 4 + .../generated/AsExpression/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../AssignDivideStatement/MISSING_SOURCE.txt | 4 + .../AssignEqualStatement/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../generated/Attribute/MISSING_SOURCE.txt | 4 + .../AttributeExpression/MISSING_SOURCE.txt | 4 + .../AttributeList/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../AvgAggregateSelection/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../generated/BooleanType/MISSING_SOURCE.txt | 4 + .../BreakStatement/MISSING_SOURCE.txt | 4 + .../BreakpointStatement/MISSING_SOURCE.txt | 4 + .../generated/CaseDefault/MISSING_SOURCE.txt | 4 + .../generated/CaseValues/MISSING_SOURCE.txt | 4 + .../CatchAllValues/MISSING_SOURCE.txt | 4 + .../CatchExpression/MISSING_SOURCE.txt | 4 + .../CatchUpdateConflict/MISSING_SOURCE.txt | 4 + .../ChangeCompanyStatement/MISSING_SOURCE.txt | 4 + .../generated/Class/MISSING_SOURCE.txt | 4 + .../ClassAccessModifier/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../generated/ClrType/MISSING_SOURCE.txt | 4 + .../generated/Comment/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../CompoundStatement/MISSING_SOURCE.txt | 4 + .../ConditionalExpression/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../ContainerType/MISSING_SOURCE.txt | 4 + .../ContinueStatement/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../CrossCompanyAll/MISSING_SOURCE.txt | 4 + .../CrossCompanyContainer/MISSING_SOURCE.txt | 4 + .../DateAttributeLiteral/MISSING_SOURCE.txt | 4 + .../DateLiteralExpression/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../generated/DateTimeType/MISSING_SOURCE.txt | 4 + .../generated/DateType/MISSING_SOURCE.txt | 4 + .../DblAttributeLiteral/MISSING_SOURCE.txt | 4 + .../generated/DblType/MISSING_SOURCE.txt | 4 + .../generated/Delegate/MISSING_SOURCE.txt | 4 + .../DeleteStatement/MISSING_SOURCE.txt | 4 + .../DivideExpression/MISSING_SOURCE.txt | 4 + .../DoWhileStatement/MISSING_SOURCE.txt | 4 + .../EmptyExpression/MISSING_SOURCE.txt | 4 + .../EmptyStatement/MISSING_SOURCE.txt | 4 + .../EnumAttributeLiteral/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../EnumerationType/MISSING_SOURCE.txt | 4 + .../EqualExpression/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../ExplicitSelection/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../ExpressionQualifier/MISSING_SOURCE.txt | 4 + .../ExpressionStatement/MISSING_SOURCE.txt | 4 + .../FieldAssignment/MISSING_SOURCE.txt | 4 + .../FieldSelection/MISSING_SOURCE.txt | 4 + .../generated/File/MISSING_SOURCE.txt | 4 + .../FindStatement/MISSING_SOURCE.txt | 4 + .../FlushStatement/MISSING_SOURCE.txt | 4 + .../ForDeclarationAssign/MISSING_SOURCE.txt | 4 + .../ForFieldAssign/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../ForFieldPostDecrement/MISSING_SOURCE.txt | 4 + .../ForFieldPostIncrement/MISSING_SOURCE.txt | 4 + .../ForFieldPreDecrement/MISSING_SOURCE.txt | 4 + .../ForFieldPreIncrement/MISSING_SOURCE.txt | 4 + .../generated/ForStatement/MISSING_SOURCE.txt | 4 + .../generated/FormControl/MISSING_SOURCE.txt | 4 + .../FormDataField/MISSING_SOURCE.txt | 4 + .../FormDataSource/MISSING_SOURCE.txt | 4 + .../FormElementType/MISSING_SOURCE.txt | 4 + .../FormModelElement/MISSING_SOURCE.txt | 4 + .../generated/FunctionCall/MISSING_SOURCE.txt | 4 + .../FunctionDeclaration/MISSING_SOURCE.txt | 4 + .../GlobalOrderElement/MISSING_SOURCE.txt | 4 + .../GreaterThanExpression/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../GuidAttributeLiteral/MISSING_SOURCE.txt | 4 + .../generated/GuidType/MISSING_SOURCE.txt | 4 + .../generated/IfStatement/MISSING_SOURCE.txt | 4 + .../IfThenElseStatement/MISSING_SOURCE.txt | 4 + .../ImplicitSelection/MISSING_SOURCE.txt | 4 + .../generated/InExpression/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../InsertStatement/MISSING_SOURCE.txt | 4 + .../Int64AttributeLiteral/MISSING_SOURCE.txt | 4 + .../Int64LiteralExpression/MISSING_SOURCE.txt | 4 + .../generated/Int64Type/MISSING_SOURCE.txt | 4 + .../IntAttributeLiteral/MISSING_SOURCE.txt | 4 + .../IntLiteralExpression/MISSING_SOURCE.txt | 4 + .../generated/IntType/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../generated/Interface/MISSING_SOURCE.txt | 4 + .../generated/Intrinsic/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../IsClrExpression/MISSING_SOURCE.txt | 4 + .../generated/IsExpression/MISSING_SOURCE.txt | 4 + .../JoinSpecification/MISSING_SOURCE.txt | 4 + .../LessThanExpression/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../LikeExpression/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../MaxAggregateSelection/MISSING_SOURCE.txt | 4 + .../generated/Method/MISSING_SOURCE.txt | 4 + .../MinAggregateSelection/MISSING_SOURCE.txt | 4 + .../ModExpression/MISSING_SOURCE.txt | 4 + .../ModelElementUsingEntry/MISSING_SOURCE.txt | 4 + .../generated/Modifier/MISSING_SOURCE.txt | 4 + .../MoveCursorStatement/MISSING_SOURCE.txt | 4 + .../MultiplyExpression/MISSING_SOURCE.txt | 4 + .../NamedFieldReference/MISSING_SOURCE.txt | 4 + .../generated/NewCall/MISSING_SOURCE.txt | 4 + .../NewClrArrayExpression/MISSING_SOURCE.txt | 4 + .../generated/NewClrCall/MISSING_SOURCE.txt | 4 + .../NextExpression/MISSING_SOURCE.txt | 4 + .../NotEqualExpression/MISSING_SOURCE.txt | 4 + .../NotExpression/MISSING_SOURCE.txt | 4 + .../NullLiteralExpression/MISSING_SOURCE.txt | 4 + .../NumberedFieldReference/MISSING_SOURCE.txt | 4 + .../generated/OrExpression/MISSING_SOURCE.txt | 4 + .../ParameterDeclaration/MISSING_SOURCE.txt | 4 + .../PhysicalAndExpression/MISSING_SOURCE.txt | 4 + .../PhysicalNotExpression/MISSING_SOURCE.txt | 4 + .../PhysicalOrExpression/MISSING_SOURCE.txt | 4 + .../PhysicalXorExpression/MISSING_SOURCE.txt | 4 + .../generated/Placeholder/MISSING_SOURCE.txt | 4 + .../PrintStatement/MISSING_SOURCE.txt | 4 + .../generated/ProvidedType/MISSING_SOURCE.txt | 4 + .../ProvidedTypeStaticCall/MISSING_SOURCE.txt | 4 + .../QualifiedCall/MISSING_SOURCE.txt | 4 + .../QualifiedField/MISSING_SOURCE.txt | 4 + .../QualifiedInstanceName/MISSING_SOURCE.txt | 4 + .../QualifiedNumberedField/MISSING_SOURCE.txt | 4 + .../QualifiedStaticCall/MISSING_SOURCE.txt | 4 + .../QualifiedStaticField/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../generated/Query/MISSING_SOURCE.txt | 4 + .../QueryDataSource/MISSING_SOURCE.txt | 4 + .../QueryDataSourceHaving/MISSING_SOURCE.txt | 4 + .../QueryDataSourceRange/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../QueryModelElement/MISSING_SOURCE.txt | 4 + .../RealLiteralExpression/MISSING_SOURCE.txt | 4 + .../RetryStatement/MISSING_SOURCE.txt | 4 + .../ReturnStatement/MISSING_SOURCE.txt | 4 + .../SearchStatement/MISSING_SOURCE.txt | 4 + .../ShiftLeftExpression/MISSING_SOURCE.txt | 4 + .../ShiftRightExpression/MISSING_SOURCE.txt | 4 + .../generated/SimpleField/MISSING_SOURCE.txt | 4 + .../SimpleInstanceName/MISSING_SOURCE.txt | 4 + .../SimpleOrderElement/MISSING_SOURCE.txt | 4 + .../generated/StaticField/MISSING_SOURCE.txt | 4 + .../StaticMethodCall/MISSING_SOURCE.txt | 4 + .../StaticQualifier/MISSING_SOURCE.txt | 4 + .../StringAttributeLiteral/MISSING_SOURCE.txt | 4 + .../StringLengthType/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../SubtractExpression/MISSING_SOURCE.txt | 4 + .../SumAggregateSelection/MISSING_SOURCE.txt | 4 + .../generated/SuperCall/MISSING_SOURCE.txt | 4 + .../generated/SwitchCase/MISSING_SOURCE.txt | 4 + .../SwitchStatement/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../generated/Table/MISSING_SOURCE.txt | 4 + .../TableFieldDeclaration/MISSING_SOURCE.txt | 4 + .../TableLookupExpression/MISSING_SOURCE.txt | 4 + .../ThrowStatement/MISSING_SOURCE.txt | 4 + .../generated/TryStatement/MISSING_SOURCE.txt | 4 + .../TryStatementCatchEntry/MISSING_SOURCE.txt | 4 + .../TtsAbortStatement/MISSING_SOURCE.txt | 4 + .../TtsBeginStatement/MISSING_SOURCE.txt | 4 + .../TtsEndStatement/MISSING_SOURCE.txt | 4 + .../UnaryMinusExpression/MISSING_SOURCE.txt | 4 + .../UncheckedStatement/MISSING_SOURCE.txt | 4 + .../UpdateStatement/MISSING_SOURCE.txt | 4 + .../UsingStatement/MISSING_SOURCE.txt | 4 + .../ValidTimeStateDate/MISSING_SOURCE.txt | 4 + .../ValidTimeStateRange/MISSING_SOURCE.txt | 4 + .../generated/VarType/MISSING_SOURCE.txt | 4 + .../generated/VoidType/MISSING_SOURCE.txt | 4 + .../WhileStatement/MISSING_SOURCE.txt | 4 + .../XppTypeCompilationUnit/MISSING_SOURCE.txt | 4 + xpp/schema/__init__.py | 14 + xpp/schema/ast.py | 1013 +++ xpp/schema/prelude.py | 85 + xpp/tools/generate-schema.sh | 38 + 1201 files changed, 48137 insertions(+) create mode 100644 xpp/.gitignore create mode 100644 xpp/codegen.conf create mode 100644 xpp/codeql-extractor.yml create mode 100644 xpp/extractor/Xpp.SchemaGenerator/AstModel.cs create mode 100644 xpp/extractor/Xpp.SchemaGenerator/CompilerPackage.cs create mode 100644 xpp/extractor/Xpp.SchemaGenerator/Program.cs create mode 100644 xpp/extractor/Xpp.SchemaGenerator/SchemaWriter.cs create mode 100644 xpp/extractor/Xpp.SchemaGenerator/Xpp.SchemaGenerator.csproj create mode 100644 xpp/prefix.dbscheme create mode 100644 xpp/ql/.generated.list create mode 100644 xpp/ql/.gitattributes create mode 100644 xpp/ql/lib/codeql/xpp/elements.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AddExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AggregateSelection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AllFieldsSelection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AndExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AnyType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ArraySpecification.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AsClrExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AsExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AssignDecrementStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AssignDivideStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AssignEqualStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AssignIncrementStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AssignMultipleFieldStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AssignMultiplyStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AssignPostDecrementStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AssignPostIncrementStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AssignPreDecrementStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AssignPreIncrementStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AssignmentBinary.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AssignmentEventHandlerBase.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AssignmentEventHandlerClr.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AssignmentEventHandlerInstance.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AssignmentEventHandlerStatic.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AssignmentSingleField.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AssignmentStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Ast.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Attribute.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AttributeExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AttributeList.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AttributeNamedParameterEntry.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/AvgAggregateSelection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/BinaryExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/BooleanAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/BooleanLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/BooleanType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/BreakStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/BreakpointStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Case.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/CaseDefault.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/CaseValues.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Catch.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/CatchAllValues.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/CatchExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/CatchUpdateConflict.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ChangeCompanyStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ChangeStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Class.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ClassAccessModifier.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ClassOrInterface.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ClrEnumerationLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ClrType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Comment.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/CompilationUnit.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/CompilationUnitRegionEntry.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/CompoundStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ConditionalExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ContainerAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ContainerLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ContainerType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ContinueStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/CountAggregateSelection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/CrossCompany.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/CrossCompanyAll.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/CrossCompanyContainer.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/DateAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/DateLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/DateTimeAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/DateTimeLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/DateTimeType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/DateType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/DblAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/DblType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Declaration.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/DefaultTypeAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/DefaultTypeLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Delegate.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/DeleteStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/DivideExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/DoWhileStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Element.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/EmptyExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/EmptyStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/EnumAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/EnumerationLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/EnumerationType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/EqualExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ErrorElement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Evaluation.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/EvaluationActualParameterEntry.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ExplicitSelection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Expression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ExpressionCompilationUnit.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ExpressionQualifier.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ExpressionStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/FieldAssignment.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/FieldDeclaration.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/FieldExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/FieldSelection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/FieldSpecification.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/File.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/FindStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/FlushStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ForAssign.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ForDeclarationAssign.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ForExpressionAssign.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ForFieldAssign.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ForFieldDecrementAssign.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ForFieldIncrementAssign.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ForFieldPostDecrement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ForFieldPostIncrement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ForFieldPreDecrement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ForFieldPreIncrement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ForStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/FormControl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/FormDataField.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/FormDataSource.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/FormElementType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/FormModelElement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/FormNestedElement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/FunctionCall.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/FunctionDeclaration.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/GenericEvaluation.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/GenericXppType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/GlobalOrderElement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/GreaterThanExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/GreaterThanOrEqualExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/GuidAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/GuidType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/IfStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/IfThenElseStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ImplicitSelection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/InExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/InsertFieldSpecification.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/InsertStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/InstanceName.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Int64AttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Int64LiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Int64Type.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/IntAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/IntLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/IntType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/IntegerDivideExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Interface.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Intrinsic.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/IntrinsicAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/IsAsExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/IsClrExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/IsExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/JoinSpecification.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/LessThanExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/LessThanOrEqualExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/LikeExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/LiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/LocalDeclaration.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/LocalDeclarationsStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Locatable.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Location.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/MaxAggregateSelection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Method.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/MethodOrDelegate.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/MinAggregateSelection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ModExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ModelElement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ModelElementUsingEntry.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Modifier.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/MoveCursorStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/MultiplyExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/NamedFieldReference.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/NamedType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/NewCall.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/NewClrArrayExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/NewClrCall.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/NextExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/NotEqualExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/NotExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/NullLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/NumberedFieldReference.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/OrExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/OrderElement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ParameterDeclaration.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/PhysicalAndExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/PhysicalNotExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/PhysicalOrExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/PhysicalXorExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Placeholder.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/PrintStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ProvidedType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ProvidedTypeStaticCall.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/QualifiedCall.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/QualifiedField.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/QualifiedInstanceName.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/QualifiedNumberedField.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/QualifiedStaticCall.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/QualifiedStaticField.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/QualifiedStaticFieldExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Qualifier.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Query.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/QueryDataSource.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/QueryDataSourceHaving.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/QueryDataSourceRange.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/QueryDataSourceRelation.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/QueryModelElement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/RealLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/RelationalExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/RetryStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ReturnStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/SearchStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Selection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/SelectionField.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ShiftLeftExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ShiftRightExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/SimpleField.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/SimpleInstanceName.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/SimpleOrderElement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/SimpleQualifier.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Statement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/StaticField.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/StaticMethodCall.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/StaticQualifier.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/StringAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/StringLengthType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/StringLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/StringType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/SubtractExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/SumAggregateSelection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/SuperCall.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/SwitchCase.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/SwitchStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/SwitchStatementCaseEntry.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/Table.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/TableFieldDeclaration.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/TableFieldReference.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/TableLookupExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ThrowStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/TryStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/TryStatementCatchEntry.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/TtsAbortStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/TtsBeginStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/TtsEndStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/TtsStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/UnaryExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/UnaryMinusExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/UncheckedStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/UnspecifiedElement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/UpdateStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/UsingStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ValidTimeState.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ValidTimeStateDate.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/ValidTimeStateRange.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/VarType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/VariableDeclaration.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/VoidType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/WhileStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/XppTuple.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/XppType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/XppTypeCompilationUnit.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AddExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AddExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AggregateSelectionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AllFieldsSelectionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AllFieldsSelectionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AndExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AndExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AnyTypeConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AnyTypeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ArraySpecificationConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ArraySpecificationImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AsClrExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AsClrExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AsExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AsExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignDecrementStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignDecrementStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignDivideStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignDivideStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignEqualStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignEqualStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignIncrementStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignIncrementStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignMultipleFieldStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignMultipleFieldStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignMultiplyStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignMultiplyStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignPostDecrementStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignPostDecrementStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignPostIncrementStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignPostIncrementStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignPreDecrementStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignPreDecrementStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignPreIncrementStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignPreIncrementStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignmentBinaryImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerBaseImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerClrConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerClrImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerInstanceConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerInstanceImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerStaticImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignmentSingleFieldImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignmentStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AstImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AttributeConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AttributeExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AttributeExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AttributeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AttributeListConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AttributeListImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AttributeLiteralImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AttributeNamedParameterEntryConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AttributeNamedParameterEntryImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AvgAggregateSelectionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AvgAggregateSelectionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/BinaryExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/BooleanAttributeLiteralConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/BooleanAttributeLiteralImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/BooleanLiteralExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/BooleanLiteralExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/BooleanTypeConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/BooleanTypeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/BreakStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/BreakStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/BreakpointStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/BreakpointStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CaseDefaultConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CaseDefaultImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CaseImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CaseValuesConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CaseValuesImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CatchAllValuesConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CatchAllValuesImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CatchExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CatchExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CatchImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CatchUpdateConflictConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CatchUpdateConflictImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ChangeCompanyStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ChangeCompanyStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ChangeStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ClassAccessModifierConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ClassAccessModifierImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ClassConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ClassImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ClassOrInterfaceImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ClrEnumerationLiteralExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ClrEnumerationLiteralExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ClrTypeConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ClrTypeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CommentConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CommentImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CompilationUnitImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CompilationUnitRegionEntryConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CompilationUnitRegionEntryImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CompoundStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CompoundStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ConditionalExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ConditionalExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ContainerAttributeLiteralConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ContainerAttributeLiteralImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ContainerLiteralExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ContainerLiteralExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ContainerTypeConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ContainerTypeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ContinueStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ContinueStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CountAggregateSelectionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CountAggregateSelectionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CrossCompanyAllConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CrossCompanyAllImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CrossCompanyContainerConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CrossCompanyContainerImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/CrossCompanyImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DateAttributeLiteralConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DateAttributeLiteralImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DateLiteralExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DateLiteralExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DateTimeAttributeLiteralConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DateTimeAttributeLiteralImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DateTimeLiteralExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DateTimeLiteralExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DateTimeTypeConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DateTimeTypeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DateTypeConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DateTypeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DblAttributeLiteralConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DblAttributeLiteralImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DblTypeConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DblTypeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DeclarationImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DefaultTypeAttributeLiteralImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DefaultTypeLiteralExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DelegateConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DelegateImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DeleteStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DeleteStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DivideExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DivideExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DoWhileStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/DoWhileStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ElementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/EmptyExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/EmptyExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/EmptyStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/EmptyStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/EnumAttributeLiteralConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/EnumAttributeLiteralImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/EnumerationLiteralExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/EnumerationLiteralExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/EnumerationTypeConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/EnumerationTypeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/EqualExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/EqualExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ErrorElementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/EvaluationActualParameterEntryConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/EvaluationActualParameterEntryImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/EvaluationImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ExplicitSelectionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ExplicitSelectionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ExpressionCompilationUnitConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ExpressionCompilationUnitImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ExpressionQualifierConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ExpressionQualifierImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ExpressionStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ExpressionStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FieldAssignmentConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FieldAssignmentImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FieldDeclarationImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FieldExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FieldSelectionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FieldSelectionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FieldSpecificationImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FileConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FileImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FindStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FindStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FlushStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FlushStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ForAssignImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ForDeclarationAssignConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ForDeclarationAssignImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ForExpressionAssignImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ForFieldAssignConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ForFieldAssignImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ForFieldDecrementAssignConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ForFieldDecrementAssignImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ForFieldIncrementAssignConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ForFieldIncrementAssignImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPostDecrementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPostDecrementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPostIncrementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPostIncrementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPreDecrementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPreDecrementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPreIncrementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPreIncrementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ForStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ForStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FormControlConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FormControlImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FormDataFieldConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FormDataFieldImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FormDataSourceConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FormDataSourceImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FormElementTypeConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FormElementTypeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FormModelElementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FormModelElementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FormNestedElementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FunctionCallConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FunctionCallImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FunctionDeclarationConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FunctionDeclarationImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/GenericEvaluationImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/GenericXppTypeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/GlobalOrderElementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/GlobalOrderElementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/GreaterThanExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/GreaterThanExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/GreaterThanOrEqualExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/GreaterThanOrEqualExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/GuidAttributeLiteralConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/GuidAttributeLiteralImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/GuidTypeConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/GuidTypeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IfStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IfStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IfThenElseStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IfThenElseStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ImplicitSelectionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ImplicitSelectionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/InExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/InExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/InsertFieldSpecificationConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/InsertFieldSpecificationImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/InsertStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/InsertStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/InstanceNameImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/Int64AttributeLiteralConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/Int64AttributeLiteralImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/Int64LiteralExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/Int64LiteralExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/Int64TypeConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/Int64TypeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IntAttributeLiteralConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IntAttributeLiteralImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IntLiteralExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IntLiteralExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IntTypeConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IntTypeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IntegerDivideExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IntegerDivideExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/InterfaceConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/InterfaceImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IntrinsicAttributeLiteralConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IntrinsicAttributeLiteralImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IntrinsicConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IntrinsicImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IsAsExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IsClrExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IsClrExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IsExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/IsExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/JoinSpecificationConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/JoinSpecificationImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/LessThanExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/LessThanExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/LessThanOrEqualExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/LessThanOrEqualExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/LikeExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/LikeExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/LiteralExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/LocalDeclarationImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/LocalDeclarationsStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/LocalDeclarationsStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/LocatableImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/LocationConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/LocationImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/MaxAggregateSelectionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/MaxAggregateSelectionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/MethodConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/MethodImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/MethodOrDelegateImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/MinAggregateSelectionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/MinAggregateSelectionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ModExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ModExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ModelElementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ModelElementUsingEntryConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ModelElementUsingEntryImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ModifierConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ModifierImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/MoveCursorStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/MoveCursorStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/MultiplyExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/MultiplyExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NamedFieldReferenceConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NamedFieldReferenceImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NamedTypeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NewCallConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NewCallImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NewClrArrayExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NewClrArrayExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NewClrCallConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NewClrCallImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NextExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NextExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NotEqualExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NotEqualExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NotExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NotExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NullLiteralExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NullLiteralExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NumberedFieldReferenceConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NumberedFieldReferenceImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/OrExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/OrExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/OrderElementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ParameterDeclarationConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ParameterDeclarationImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/PhysicalAndExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/PhysicalAndExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/PhysicalNotExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/PhysicalNotExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/PhysicalOrExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/PhysicalOrExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/PhysicalXorExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/PhysicalXorExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/PlaceholderConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/PlaceholderImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/PrintStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/PrintStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ProvidedTypeConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ProvidedTypeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ProvidedTypeStaticCallConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ProvidedTypeStaticCallImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QualifiedCallConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QualifiedCallImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QualifiedFieldConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QualifiedFieldImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QualifiedInstanceNameConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QualifiedInstanceNameImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QualifiedNumberedFieldConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QualifiedNumberedFieldImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticCallConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticCallImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticFieldConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticFieldExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticFieldExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticFieldImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QualifierImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QueryConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceHavingConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceHavingImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceRangeConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceRangeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceRelationConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceRelationImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QueryImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QueryModelElementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/QueryModelElementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/RealLiteralExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/RealLiteralExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/RelationalExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/RetryStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/RetryStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ReturnStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ReturnStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SearchStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SearchStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SelectionFieldImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SelectionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ShiftLeftExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ShiftLeftExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ShiftRightExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ShiftRightExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SimpleFieldConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SimpleFieldImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SimpleInstanceNameConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SimpleInstanceNameImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SimpleOrderElementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SimpleOrderElementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SimpleQualifierImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/StatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/StaticFieldConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/StaticFieldImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/StaticMethodCallConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/StaticMethodCallImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/StaticQualifierConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/StaticQualifierImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/StringAttributeLiteralConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/StringAttributeLiteralImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/StringLengthTypeConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/StringLengthTypeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/StringLiteralExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/StringLiteralExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/StringTypeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SubtractExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SubtractExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SumAggregateSelectionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SumAggregateSelectionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SuperCallConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SuperCallImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SwitchCaseConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SwitchCaseImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SwitchStatementCaseEntryConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SwitchStatementCaseEntryImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SwitchStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SwitchStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/TableConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/TableFieldDeclarationConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/TableFieldDeclarationImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/TableFieldReferenceImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/TableImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/TableLookupExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/TableLookupExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ThrowStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ThrowStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/TryStatementCatchEntryConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/TryStatementCatchEntryImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/TryStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/TryStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/TtsAbortStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/TtsAbortStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/TtsBeginStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/TtsBeginStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/TtsEndStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/TtsEndStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/TtsStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/UnaryExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/UnaryMinusExpressionConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/UnaryMinusExpressionImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/UncheckedStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/UncheckedStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/UnspecifiedElementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/UnspecifiedElementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/UpdateStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/UpdateStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/UsingStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/UsingStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ValidTimeStateDateConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ValidTimeStateDateImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ValidTimeStateImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ValidTimeStateRangeConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/ValidTimeStateRangeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/VarTypeConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/VarTypeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/VariableDeclarationImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/VoidTypeConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/VoidTypeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/WhileStatementConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/WhileStatementImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/XppTupleImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/XppTypeCompilationUnitConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/XppTypeCompilationUnitImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/XppTypeImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AddExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AggregateSelection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AllFieldsSelection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AndExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AnyType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ArraySpecification.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AsClrExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AsExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignDecrementStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignDivideStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignEqualStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignIncrementStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignMultipleFieldStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignMultiplyStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignPostDecrementStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignPostIncrementStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignPreDecrementStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignPreIncrementStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentBinary.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerBase.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerClr.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerInstance.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerStatic.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentSingleField.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Ast.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Attribute.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AttributeExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AttributeList.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AttributeNamedParameterEntry.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AvgAggregateSelection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/BinaryExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/BooleanAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/BooleanLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/BooleanType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/BreakStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/BreakpointStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Case.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/CaseDefault.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/CaseValues.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Catch.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/CatchAllValues.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/CatchExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/CatchUpdateConflict.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ChangeCompanyStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ChangeStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Class.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ClassAccessModifier.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ClassOrInterface.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ClrEnumerationLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ClrType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Comment.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/CompilationUnit.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/CompilationUnitRegionEntry.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/CompoundStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ConditionalExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ContainerAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ContainerLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ContainerType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ContinueStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/CountAggregateSelection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/CrossCompany.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/CrossCompanyAll.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/CrossCompanyContainer.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/DateAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/DateLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/DateTimeAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/DateTimeLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/DateTimeType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/DateType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/DblAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/DblType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Declaration.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/DefaultTypeAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/DefaultTypeLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Delegate.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/DeleteStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/DivideExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/DoWhileStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Element.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/EmptyExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/EmptyStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/EnumAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/EnumerationLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/EnumerationType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/EqualExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ErrorElement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Evaluation.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/EvaluationActualParameterEntry.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ExplicitSelection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Expression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ExpressionCompilationUnit.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ExpressionQualifier.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ExpressionStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldAssignment.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldDeclaration.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldSelection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldSpecification.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/File.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/FindStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/FlushStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ForAssign.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ForDeclarationAssign.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ForExpressionAssign.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldAssign.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldDecrementAssign.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldIncrementAssign.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldPostDecrement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldPostIncrement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldPreDecrement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldPreIncrement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ForStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/FormControl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/FormDataField.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/FormDataSource.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/FormElementType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/FormModelElement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/FormNestedElement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/FunctionCall.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/FunctionDeclaration.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/GenericEvaluation.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/GenericXppType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/GlobalOrderElement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/GreaterThanExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/GreaterThanOrEqualExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/GuidAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/GuidType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/IfStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/IfThenElseStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ImplicitSelection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/InExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/InsertFieldSpecification.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/InsertStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/InstanceName.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Int64AttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Int64LiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Int64Type.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/IntAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/IntLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/IntType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/IntegerDivideExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Interface.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Intrinsic.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/IntrinsicAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/IsAsExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/IsClrExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/IsExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/JoinSpecification.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/LessThanExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/LessThanOrEqualExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/LikeExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/LiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/LocalDeclaration.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/LocalDeclarationsStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Locatable.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Location.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/MaxAggregateSelection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Method.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/MethodOrDelegate.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/MinAggregateSelection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ModExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ModelElement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ModelElementUsingEntry.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Modifier.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/MoveCursorStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/MultiplyExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/NamedFieldReference.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/NamedType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/NewCall.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/NewClrArrayExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/NewClrCall.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/NextExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/NotEqualExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/NotExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/NullLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/NumberedFieldReference.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/OrExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/OrderElement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ParameterDeclaration.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ParentChild.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/PhysicalAndExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/PhysicalNotExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/PhysicalOrExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/PhysicalXorExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Placeholder.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/PrintStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ProvidedType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ProvidedTypeStaticCall.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/PureSynthConstructors.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedCall.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedField.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedInstanceName.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedNumberedField.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedStaticCall.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedStaticField.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedStaticFieldExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Qualifier.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Query.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/QueryDataSource.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/QueryDataSourceHaving.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/QueryDataSourceRange.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/QueryDataSourceRelation.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/QueryModelElement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Raw.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/RealLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/RelationalExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/RetryStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ReturnStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/SearchStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Selection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/SelectionField.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ShiftLeftExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ShiftRightExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/SimpleField.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/SimpleInstanceName.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/SimpleOrderElement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/SimpleQualifier.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Statement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/StaticField.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/StaticMethodCall.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/StaticQualifier.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/StringAttributeLiteral.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/StringLengthType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/StringLiteralExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/StringType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/SubtractExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/SumAggregateSelection.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/SuperCall.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/SwitchCase.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/SwitchStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/SwitchStatementCaseEntry.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Synth.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/SynthConstructors.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/Table.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/TableFieldDeclaration.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/TableFieldReference.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/TableLookupExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ThrowStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/TryStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/TryStatementCatchEntry.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/TtsAbortStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/TtsBeginStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/TtsEndStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/TtsStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/UnaryExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/UnaryMinusExpression.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/UncheckedStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/UnspecifiedElement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/UpdateStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/UsingStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ValidTimeState.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ValidTimeStateDate.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/ValidTimeStateRange.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/VarType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/VariableDeclaration.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/VoidType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/WhileStatement.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/XppTuple.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/XppType.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/XppTypeCompilationUnit.qll create mode 100644 xpp/ql/lib/qlpack.yml create mode 100644 xpp/ql/lib/xpp.dbscheme create mode 100644 xpp/ql/lib/xpp.dbscheme.stats create mode 100644 xpp/ql/test/extractor-tests/generated/AddExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AllFieldsSelection/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AndExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AnyType/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ArraySpecification/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AsClrExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AsExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AssignDecrementStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AssignDivideStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AssignEqualStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AssignIncrementStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AssignMultipleFieldStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AssignMultiplyStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AssignPostDecrementStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AssignPostIncrementStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AssignPreDecrementStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AssignPreIncrementStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerClr/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerInstance/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/Attribute/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AttributeExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AttributeList/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AttributeNamedParameterEntry/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/AvgAggregateSelection/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/BooleanAttributeLiteral/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/BooleanLiteralExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/BooleanType/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/BreakStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/BreakpointStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/CaseDefault/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/CaseValues/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/CatchAllValues/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/CatchExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/CatchUpdateConflict/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ChangeCompanyStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/Class/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ClassAccessModifier/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ClrEnumerationLiteralExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ClrType/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/Comment/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/CompilationUnitRegionEntry/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/CompoundStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ConditionalExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ContainerAttributeLiteral/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ContainerLiteralExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ContainerType/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ContinueStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/CountAggregateSelection/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/CrossCompanyAll/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/CrossCompanyContainer/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/DateAttributeLiteral/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/DateLiteralExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/DateTimeAttributeLiteral/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/DateTimeLiteralExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/DateTimeType/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/DateType/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/DblAttributeLiteral/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/DblType/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/Delegate/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/DeleteStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/DivideExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/DoWhileStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/EmptyExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/EmptyStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/EnumAttributeLiteral/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/EnumerationLiteralExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/EnumerationType/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/EqualExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/EvaluationActualParameterEntry/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ExplicitSelection/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ExpressionCompilationUnit/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ExpressionQualifier/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ExpressionStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/FieldAssignment/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/FieldSelection/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/File/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/FindStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/FlushStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ForDeclarationAssign/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ForFieldAssign/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ForFieldDecrementAssign/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ForFieldIncrementAssign/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ForFieldPostDecrement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ForFieldPostIncrement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ForFieldPreDecrement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ForFieldPreIncrement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ForStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/FormControl/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/FormDataField/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/FormDataSource/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/FormElementType/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/FormModelElement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/FunctionCall/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/FunctionDeclaration/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/GlobalOrderElement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/GreaterThanExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/GreaterThanOrEqualExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/GuidAttributeLiteral/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/GuidType/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/IfStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/IfThenElseStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ImplicitSelection/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/InExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/InsertFieldSpecification/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/InsertStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/Int64AttributeLiteral/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/Int64LiteralExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/Int64Type/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/IntAttributeLiteral/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/IntLiteralExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/IntType/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/IntegerDivideExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/Interface/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/Intrinsic/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/IntrinsicAttributeLiteral/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/IsClrExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/IsExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/JoinSpecification/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/LessThanExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/LessThanOrEqualExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/LikeExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/LocalDeclarationsStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/MaxAggregateSelection/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/Method/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/MinAggregateSelection/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ModExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ModelElementUsingEntry/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/Modifier/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/MoveCursorStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/MultiplyExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/NamedFieldReference/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/NewCall/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/NewClrArrayExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/NewClrCall/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/NextExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/NotEqualExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/NotExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/NullLiteralExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/NumberedFieldReference/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/OrExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ParameterDeclaration/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/PhysicalAndExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/PhysicalNotExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/PhysicalOrExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/PhysicalXorExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/Placeholder/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/PrintStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ProvidedType/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ProvidedTypeStaticCall/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/QualifiedCall/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/QualifiedField/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/QualifiedInstanceName/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/QualifiedNumberedField/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/QualifiedStaticCall/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/QualifiedStaticField/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/QualifiedStaticFieldExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/Query/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/QueryDataSource/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/QueryDataSourceHaving/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/QueryDataSourceRange/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/QueryDataSourceRelation/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/QueryModelElement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/RealLiteralExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/RetryStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ReturnStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/SearchStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ShiftLeftExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ShiftRightExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/SimpleField/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/SimpleInstanceName/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/SimpleOrderElement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/StaticField/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/StaticMethodCall/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/StaticQualifier/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/StringAttributeLiteral/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/StringLengthType/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/StringLiteralExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/SubtractExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/SumAggregateSelection/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/SuperCall/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/SwitchCase/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/SwitchStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/SwitchStatementCaseEntry/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/Table/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/TableFieldDeclaration/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/TableLookupExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ThrowStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/TryStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/TryStatementCatchEntry/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/TtsAbortStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/TtsBeginStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/TtsEndStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/UnaryMinusExpression/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/UncheckedStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/UpdateStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/UsingStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ValidTimeStateDate/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/ValidTimeStateRange/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/VarType/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/VoidType/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/WhileStatement/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/XppTypeCompilationUnit/MISSING_SOURCE.txt create mode 100644 xpp/schema/__init__.py create mode 100644 xpp/schema/ast.py create mode 100644 xpp/schema/prelude.py create mode 100755 xpp/tools/generate-schema.sh diff --git a/xpp/.gitignore b/xpp/.gitignore new file mode 100644 index 000000000000..a6cbe1fd9504 --- /dev/null +++ b/xpp/.gitignore @@ -0,0 +1,2 @@ +extractor/**/bin/* +extractor/**/obj/* diff --git a/xpp/codegen.conf b/xpp/codegen.conf new file mode 100644 index 000000000000..059a00f334f8 --- /dev/null +++ b/xpp/codegen.conf @@ -0,0 +1,8 @@ +# configuration file for X++ code generation default options +--schema=schema +--generate=dbscheme,ql +--dbscheme=ql/lib/xpp.dbscheme +--ql-output=ql/lib/codeql/xpp/elements/internal/generated +--ql-stub-output=ql/lib/codeql/xpp/elements +--ql-test-output=ql/test/extractor-tests/generated +--script-name=xpp/tools/generate-schema.sh diff --git a/xpp/codeql-extractor.yml b/xpp/codeql-extractor.yml new file mode 100644 index 000000000000..81fec7b2a440 --- /dev/null +++ b/xpp/codeql-extractor.yml @@ -0,0 +1,11 @@ +name: "xpp" +display_name: "X++" +version: 0.0.1 +column_kind: "utf16" +build_modes: + - none +file_types: + - name: xpp + display_name: X++ metadata objects + extensions: + - .xml diff --git a/xpp/extractor/Xpp.SchemaGenerator/AstModel.cs b/xpp/extractor/Xpp.SchemaGenerator/AstModel.cs new file mode 100644 index 000000000000..f4f0bce113b1 --- /dev/null +++ b/xpp/extractor/Xpp.SchemaGenerator/AstModel.cs @@ -0,0 +1,694 @@ +using System.Reflection; +using System.Text; + +namespace Xpp.SchemaGenerator; + +public enum PropertyKind +{ + /// A single owned AST child. + Child, + + /// An ordered collection of owned AST children. + ChildList, + + String, + StringList, + Boolean, + Int, + IntList, + + /// A CLR enum, recorded by member name. + Enum, + + /// A collection of CLR enums, recorded by member name. + EnumList, + + /// Deliberately not represented in the schema. + Skipped, +} + +public sealed record AstProperty( + string ClrName, + string SchemaName, + PropertyKind Kind, + string? TypeName, + string? SkipReason) +{ + /// + /// Explicit dbscheme table name, set when the derived name would clash with another + /// declaration. See . + /// + public string? TableName { get; init; } +} + +public sealed record AstType( + string Name, + string? BaseName, + bool IsAbstract, + IReadOnlyList Properties, + bool IsSynthetic = false); + +/// +/// The X++ AST hierarchy, reflected out of the compiler package and classified into the shape +/// misc/codegen consumes. +/// +public sealed class AstModel +{ + /// + /// Back-references to the containing node. The schema models containment top-down, so these + /// would introduce cycles. + /// + private static readonly HashSet BackReferences = new(StringComparer.Ordinal) + { + "Parent", + "ParentAst", + }; + + /// Base class for tuple-derived synthetic classes. + public const string SyntheticBase = "XppTuple"; + + private const string PositionType = "Microsoft.Dynamics.AX.Metadata.XppCompiler.TextPosition"; + + /// + /// Types that are not part of the Ast hierarchy but are still worth extracting. They + /// are declared by hand in the schema prelude and referenced by the generated classes. + /// + private static readonly Dictionary ExternalTypes = new(StringComparer.Ordinal) + { + ["Microsoft.Dynamics.AX.Framework.Xlnt.XppParser.Comment"] = "Comment", + }; + + public required IReadOnlyList Types { get; init; } + + public required IReadOnlyList Diagnostics { get; init; } + + public static AstModel Build(CompilerPackage package) + { + var astTypes = package.AstAssemblyTypes() + .Where(CompilerPackage.IsAstType) + .Where(t => t.FullName != CompilerPackage.AstRoot) + .OrderBy(t => t.Name, StringComparer.Ordinal) + .ToList(); + + var known = astTypes.Select(TypeName).ToHashSet(StringComparer.Ordinal); + known.Add("Ast"); + + var context = new BuildContext(known); + var result = new List(); + + foreach (var type in astTypes) + { + string? baseName = null; + try + { + var baseType = type.BaseType; + if (baseType is not null && CompilerPackage.IsAstType(baseType)) + baseName = TypeName(baseType); + } + catch + { + // Unresolvable base; reported below. + } + + if (baseName is null) + { + context.Diagnostics.Add($"{type.Name}: could not resolve an Ast base type, rooting at Ast"); + baseName = "Ast"; + } + + var properties = new List(); + PropertyInfo[] declared; + try + { + declared = type.GetProperties( + BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly); + } + catch (Exception e) + { + context.Diagnostics.Add($"{type.Name}: could not read properties ({e.GetType().Name})"); + declared = []; + } + + foreach (var property in declared.OrderBy(p => p.Name, StringComparer.Ordinal)) + { + var classified = context.Classify(type, property); + if (classified.Kind != PropertyKind.Skipped) + properties.Add(classified); + } + + result.Add(new AstType(TypeName(type), baseName, type.IsAbstract, properties)); + } + + result.AddRange(context.Synthetics.Values.OrderBy(t => t.Name, StringComparer.Ordinal)); + result = DropInheritedRedeclarations(result); + result = DropUnreferencedSynthetics(result); + result = DropRedundantPresenceFlags(result); + result = ResolveTableNameConflicts(result); + + return new AstModel { Types = result, Diagnostics = context.Diagnostics }; + } + + /// Mutable state threaded through classification. + private sealed class BuildContext(HashSet known) + { + public List Diagnostics { get; } = []; + + public Dictionary Synthetics { get; } = new(StringComparer.Ordinal); + + public AstProperty Classify(Type owner, PropertyInfo property) + { + var schemaName = ToSnakeCase(property.Name); + + AstProperty Skip(string reason) => + new(property.Name, schemaName, PropertyKind.Skipped, null, reason); + + if (BackReferences.Contains(property.Name)) + return Skip("back-reference"); + + Type propertyType; + try + { + propertyType = property.PropertyType; + } + catch (Exception e) + { + Diagnostics.Add($"{owner.Name}.{property.Name}: unresolvable type ({e.GetType().Name})"); + return Skip("unresolvable type"); + } + + if (FullName(propertyType) == PositionType) + return Skip("source extent, carried by locations"); + + // Dictionaries of AST values: the key is always the value's own name, so only the + // values are represented. + var dictionaryValue = DictionaryValue(propertyType); + if (dictionaryValue is not null) + { + if (IsKnownAst(dictionaryValue)) + return new AstProperty(property.Name, schemaName, PropertyKind.ChildList, TypeName(dictionaryValue), null); + + Diagnostics.Add( + $"{owner.Name}.{property.Name}: dictionary of unsupported value type " + + $"'{FullName(dictionaryValue)}'"); + return Skip("unsupported dictionary value"); + } + + var element = CollectionElement(propertyType); + if (element is not null) + return ClassifyCollection(owner, property, schemaName, element); + + if (IsKnownAst(propertyType)) + return new AstProperty(property.Name, schemaName, PropertyKind.Child, TypeName(propertyType), null); + + if (ExternalTypes.TryGetValue(FullName(propertyType), out var external)) + return new AstProperty(property.Name, schemaName, PropertyKind.Child, external, null); + + if (IsTuple(propertyType)) + { + var synthetic = SynthesizeTuple(owner, property, propertyType); + return synthetic is null + ? Skip("unsupported tuple") + : new AstProperty(property.Name, schemaName, PropertyKind.Child, synthetic, null); + } + + return ClassifyScalar(owner, property, schemaName, propertyType, Skip); + } + + private AstProperty ClassifyCollection( + Type owner, PropertyInfo property, string schemaName, Type element) + { + if (IsKnownAst(element)) + return new AstProperty(property.Name, schemaName, PropertyKind.ChildList, TypeName(element), null); + + if (ExternalTypes.TryGetValue(FullName(element), out var externalElement)) + return new AstProperty(property.Name, schemaName, PropertyKind.ChildList, externalElement, null); + + if (IsTuple(element)) + { + var synthetic = SynthesizeTuple(owner, property, element); + return synthetic is null + ? new AstProperty(property.Name, schemaName, PropertyKind.Skipped, null, "unsupported tuple") + : new AstProperty(property.Name, schemaName, PropertyKind.ChildList, synthetic, null); + } + + if (FullName(element) == PositionType) + { + return new AstProperty( + property.Name, schemaName, PropertyKind.Skipped, null, "source extents"); + } + + if (IsEnum(element)) + return new AstProperty(property.Name, schemaName, PropertyKind.EnumList, TypeName(element), null); + + switch (FullName(element)) + { + case "System.String": + return new AstProperty(property.Name, schemaName, PropertyKind.StringList, null, null); + case "System.Int32": + case "System.Int64": + return new AstProperty(property.Name, schemaName, PropertyKind.IntList, null, null); + } + + Diagnostics.Add( + $"{owner.Name}.{property.Name}: collection of unsupported element type " + + $"'{FullName(element)}'"); + return new AstProperty( + property.Name, schemaName, PropertyKind.Skipped, null, "unsupported collection element"); + } + + private AstProperty ClassifyScalar( + Type owner, PropertyInfo property, string schemaName, Type propertyType, + Func skip) + { + if (IsEnum(propertyType)) + return new AstProperty(property.Name, schemaName, PropertyKind.Enum, TypeName(propertyType), null); + + var underlying = NullableUnderlying(propertyType) ?? propertyType; + + if (IsEnum(underlying)) + return new AstProperty(property.Name, schemaName, PropertyKind.Enum, TypeName(underlying), null); + + switch (FullName(underlying)) + { + case "System.String": + return new AstProperty(property.Name, schemaName, PropertyKind.String, null, null); + case "System.Boolean": + return new AstProperty(property.Name, schemaName, PropertyKind.Boolean, null, null); + case "System.Int32": + case "System.Int64": + return new AstProperty(property.Name, schemaName, PropertyKind.Int, null, null); + } + + Diagnostics.Add($"{owner.Name}.{property.Name}: unsupported type '{FullName(propertyType)}'"); + return skip("unsupported type"); + } + + /// + /// Creates (or reuses) a schema class standing in for a CLR tuple, since the schema has + /// no tuple type. The name is derived from the declaring property so it is stable. + /// + private string? SynthesizeTuple(Type owner, PropertyInfo property, Type tuple) + { + Type[] arguments; + try + { + arguments = tuple.GetGenericArguments(); + } + catch + { + return null; + } + + // The "Entry" suffix keeps the generated table name distinct from the one derived + // from the declaring property itself. + var name = TypeName(owner) + Singularize(property.Name) + "Entry"; + if (Synthetics.ContainsKey(name)) + return name; + + var used = new HashSet(StringComparer.Ordinal); + var fields = new List(); + + for (var i = 0; i < arguments.Length; i++) + { + var argument = arguments[i]; + var position = i + 1; + + var nested = CollectionElement(argument); + if (nested is not null && IsKnownAst(nested)) + { + fields.Add(new AstProperty( + $"Item{position}", Unique(used, ToSnakeCase(TypeName(nested)) + "s"), + PropertyKind.ChildList, TypeName(nested), null)); + continue; + } + + if (IsKnownAst(argument)) + { + fields.Add(new AstProperty( + $"Item{position}", Unique(used, ToSnakeCase(TypeName(argument))), + PropertyKind.Child, TypeName(argument), null)); + continue; + } + + if (ExternalTypes.TryGetValue(FullName(argument), out var external)) + { + fields.Add(new AstProperty( + $"Item{position}", Unique(used, ToSnakeCase(external)), + PropertyKind.Child, external, null)); + continue; + } + + if (FullName(argument) == PositionType) + continue; + + var kind = FullName(argument) switch + { + "System.String" => PropertyKind.String, + "System.Boolean" => PropertyKind.Boolean, + "System.Int32" or "System.Int64" => PropertyKind.Int, + _ => PropertyKind.Skipped, + }; + + if (kind == PropertyKind.Skipped) + { + Diagnostics.Add( + $"{owner.Name}.{property.Name}: tuple element {position} has unsupported " + + $"type '{FullName(argument)}'"); + return null; + } + + fields.Add(new AstProperty( + $"Item{position}", Unique(used, $"item{position}"), kind, null, null)); + } + + Synthetics[name] = new AstType(name, SyntheticBase, false, fields, IsSynthetic: true); + return name; + } + + private static string Unique(HashSet used, string candidate) + { + var name = candidate; + var suffix = 2; + while (!used.Add(name)) + name = $"{candidate}{suffix++}"; + return name; + } + + private bool IsKnownAst(Type type) + { + try + { + return CompilerPackage.IsAstType(type) && known.Contains(TypeName(type)); + } + catch + { + return false; + } + } + } + + /// + /// Gives an explicit dbscheme table name to properties whose derived name would clash with a + /// class table. + /// + /// + /// The generator derives a property's table from tableize("{Class}_{property}") and a + /// class's table from tableize(Class). X++ has classes such as + /// QueryDataSourceHaving alongside a QueryDataSource.Having property, which + /// collide. Since tableize is pluralize composed with underscore, equal + /// underscored forms imply equal table names, so comparing underscored forms is enough to + /// detect the clash without reimplementing English pluralisation. + /// + /// + /// Drops HasX booleans that duplicate the hasX() predicate the QL generator + /// already emits for an optional X property on the same class. + /// + /// + /// Property names inherited from the hand-written prelude by every generated class. + /// + private static readonly string[] PreludeProperties = ["location", "is_unknown"]; + + /// + /// Removes properties that an ancestor already declares. + /// + /// + /// The X++ compiler's classes frequently re-declare an inherited property, either to narrow + /// its type or simply as a `new` member. The schema models inheritance directly, so the + /// ancestor's declaration is the one to keep; re-emitting it on the subclass produces a + /// conflicting, non-overriding QL predicate. + /// + private static List DropInheritedRedeclarations(List types) + { + var byName = types.ToDictionary(t => t.Name, StringComparer.Ordinal); + + HashSet InheritedNames(AstType type) + { + var names = new HashSet(PreludeProperties, StringComparer.Ordinal); + var seen = new HashSet(StringComparer.Ordinal) { type.Name }; + + var baseName = type.BaseName; + while (baseName is not null && byName.TryGetValue(baseName, out var ancestor)) + { + if (!seen.Add(ancestor.Name)) + break; + + foreach (var property in ancestor.Properties) + names.Add(property.SchemaName); + + baseName = ancestor.BaseName; + } + + return names; + } + + return types.Select(type => + { + var inherited = InheritedNames(type); + var properties = type.Properties + .Where(p => !inherited.Contains(p.SchemaName)) + .ToList(); + + return properties.Count == type.Properties.Count + ? type + : type with { Properties = properties }; + }).ToList(); + } + + /// + /// Drops synthetic tuple classes left unreferenced, which happens when the property that + /// introduced one turns out to be an inherited re-declaration. + /// + private static List DropUnreferencedSynthetics(List types) + { + var referenced = types + .SelectMany(t => t.Properties) + .Select(p => p.TypeName) + .Where(n => n is not null) + .ToHashSet(StringComparer.Ordinal)!; + + return types.Where(t => !t.IsSynthetic || referenced.Contains(t.Name)).ToList(); + } + + private static List DropRedundantPresenceFlags(List types) + { + return types.Select(type => + { + var optionalNames = type.Properties + .Where(p => p.Kind is PropertyKind.String or PropertyKind.Int or + PropertyKind.Enum or PropertyKind.Child) + .Select(p => p.SchemaName) + .ToHashSet(StringComparer.Ordinal); + + var properties = type.Properties.Where(p => + { + if (p.Kind != PropertyKind.Boolean) + return true; + if (!p.SchemaName.StartsWith("has_", StringComparison.Ordinal)) + return true; + return !optionalNames.Contains(p.SchemaName["has_".Length..]); + }).ToList(); + + return properties.Count == type.Properties.Count + ? type + : type with { Properties = properties }; + }).ToList(); + } + + private static List ResolveTableNameConflicts(List types) + { + var classForms = types + .Select(t => Singularize(ToSnakeCase(t.Name))) + .ToHashSet(StringComparer.Ordinal); + + return types.Select(type => + { + var owner = ToSnakeCase(type.Name); + var properties = type.Properties.Select(property => + { + var derived = $"{owner}_{property.SchemaName}"; + return classForms.Contains(Singularize(derived)) + ? property with { TableName = derived + "_prop" } + : property; + }).ToList(); + + return type with { Properties = properties }; + }).ToList(); + } + + private static string FullName(Type type) + { + try + { + return type.FullName ?? type.Name; + } + catch + { + return type.Name; + } + } + + /// + /// The schema-safe name of a type. CLR generic type names carry an arity suffix + /// (Foo`1) that is not a valid Python identifier. + /// + private static string TypeName(Type type) + { + var name = type.Name; + var tick = name.IndexOf('`'); + return tick < 0 ? name : name[..tick]; + } + + private static bool IsEnum(Type type) + { + try + { + return type.IsEnum; + } + catch + { + return false; + } + } + + /// + /// compares against runtime types and so does not + /// work inside a MetadataLoadContext; match on the generic definition instead. + /// + private static Type? NullableUnderlying(Type type) + { + try + { + if (!type.IsGenericType) + return null; + var definition = FullName(type.GetGenericTypeDefinition()); + return definition.StartsWith("System.Nullable`1", StringComparison.Ordinal) + ? type.GetGenericArguments()[0] + : null; + } + catch + { + return null; + } + } + + private static bool IsTuple(Type type) + { + try + { + if (!type.IsGenericType) + return false; + var definition = FullName(type.GetGenericTypeDefinition()); + return definition.StartsWith("System.Tuple`", StringComparison.Ordinal) || + definition.StartsWith("System.ValueTuple`", StringComparison.Ordinal); + } + catch + { + return false; + } + } + + /// Value type if is a dictionary, else null. + private static Type? DictionaryValue(Type type) + { + try + { + if (!type.IsGenericType) + return null; + + var definition = FullName(type.GetGenericTypeDefinition()); + var isDictionary = + definition.StartsWith("System.Collections.Generic.IDictionary`2", StringComparison.Ordinal) || + definition.StartsWith("System.Collections.Generic.Dictionary`2", StringComparison.Ordinal) || + definition.StartsWith("System.Collections.Generic.IReadOnlyDictionary`2", StringComparison.Ordinal) || + definition.StartsWith("Microsoft.Dynamics.AX.Metadata.XppCompiler.LinkedDictionary`2", StringComparison.Ordinal); + + return isDictionary ? type.GetGenericArguments()[1] : null; + } + catch + { + return null; + } + } + + /// Element type if is a supported collection, else null. + private static Type? CollectionElement(Type type) + { + try + { + if (type.IsArray) + return type.GetElementType(); + + if (!type.IsGenericType) + return null; + + var definition = FullName(type.GetGenericTypeDefinition()); + var isCollection = + definition.StartsWith("System.Collections.Generic.List`1", StringComparison.Ordinal) || + definition.StartsWith("System.Collections.Generic.IList`1", StringComparison.Ordinal) || + definition.StartsWith("System.Collections.Generic.ICollection`1", StringComparison.Ordinal) || + definition.StartsWith("System.Collections.Generic.IEnumerable`1", StringComparison.Ordinal) || + definition.StartsWith("System.Collections.Generic.IReadOnlyList`1", StringComparison.Ordinal) || + definition.StartsWith("System.Collections.Generic.ISet`1", StringComparison.Ordinal) || + definition.StartsWith("System.Collections.Generic.HashSet`1", StringComparison.Ordinal) || + definition.StartsWith("System.Collections.ObjectModel.Collection`1", StringComparison.Ordinal) || + definition.StartsWith("System.Collections.ObjectModel.ReadOnlyCollection`1", StringComparison.Ordinal); + + return isCollection ? type.GetGenericArguments()[0] : null; + } + catch + { + return null; + } + } + + /// Crude singularisation, good enough for the property names in this hierarchy. + public static string Singularize(string name) + { + if (name.EndsWith("ies", StringComparison.Ordinal)) + return name[..^3] + "y"; + + // Latin-ish and already-singular endings that must not lose a trailing "s". + foreach (var ending in new[] { "ss", "us", "is" }) + { + if (name.EndsWith(ending, StringComparison.Ordinal)) + return name; + } + + // "Catches", "Boxes", "Bushes", "Buzzes" drop the whole "es". + foreach (var ending in new[] { "ches", "shes", "sses", "xes", "zes" }) + { + if (name.EndsWith(ending, StringComparison.Ordinal)) + return name[..^2]; + } + + if (name.EndsWith("s", StringComparison.Ordinal)) + return name[..^1]; + + return name; + } + + /// Converts a CLR PascalCase identifier to the snake_case the schema uses. + public static string ToSnakeCase(string name) + { + var builder = new StringBuilder(name.Length + 8); + for (var i = 0; i < name.Length; i++) + { + var c = name[i]; + if (char.IsUpper(c)) + { + // Break before a new word, but keep runs of capitals (e.g. "XppType") together. + var previousIsLower = i > 0 && !char.IsUpper(name[i - 1]) && name[i - 1] != '_'; + var nextIsLower = i + 1 < name.Length && char.IsLower(name[i + 1]); + if (i > 0 && (previousIsLower || (char.IsUpper(name[i - 1]) && nextIsLower))) + builder.Append('_'); + builder.Append(char.ToLowerInvariant(c)); + } + else + { + builder.Append(c); + } + } + + return builder.ToString(); + } +} diff --git a/xpp/extractor/Xpp.SchemaGenerator/CompilerPackage.cs b/xpp/extractor/Xpp.SchemaGenerator/CompilerPackage.cs new file mode 100644 index 000000000000..c0d8eadb66b2 --- /dev/null +++ b/xpp/extractor/Xpp.SchemaGenerator/CompilerPackage.cs @@ -0,0 +1,129 @@ +using System.Reflection; + +namespace Xpp.SchemaGenerator; + +/// +/// Reflection-only access to the X++ compiler assemblies shipped in +/// Microsoft.Dynamics.AX.Platform.CompilerPackage. +/// +/// +/// Uses , which reads PE metadata without executing any code +/// from the package. The package is proprietary and is never committed to this repository; the +/// directory is supplied by the caller or via XPP_COMPILER_PACKAGE. +/// +public sealed class CompilerPackage : IDisposable +{ + /// Assembly declaring the X++ AST node classes. + public const string AstAssembly = "Microsoft.Dynamics.AX.Framework.Xlnt.XppCore"; + + /// Namespace shared by the AST node classes. + public const string AstNamespace = "Microsoft.Dynamics.AX.Metadata.XppCompiler"; + + /// Root of the X++ AST class hierarchy. + public const string AstRoot = AstNamespace + ".Ast"; + + private readonly MetadataLoadContext context; + + public CompilerPackage(string packageDirectory) + { + if (!Directory.Exists(packageDirectory)) + throw new DirectoryNotFoundException($"Compiler package directory not found: {packageDirectory}"); + + PackageDirectory = packageDirectory; + + var paths = Directory.GetFiles(packageDirectory, "*.dll", SearchOption.AllDirectories).ToList(); + var present = paths.Select(Path.GetFileNameWithoutExtension) + .ToHashSet(StringComparer.OrdinalIgnoreCase); + + // Package assemblies take precedence; reference assemblies only fill in the BCL. + foreach (var referenceAssembly in ReferenceAssemblyPaths()) + { + if (!present.Contains(Path.GetFileNameWithoutExtension(referenceAssembly))) + paths.Add(referenceAssembly); + } + + context = new MetadataLoadContext(new PathAssemblyResolver(paths), "mscorlib"); + } + + public string PackageDirectory { get; } + + /// + /// Locates the net472 reference assemblies restored alongside this tool. They are required + /// because the XLNT assemblies target .NET Framework. + /// + private static IEnumerable ReferenceAssemblyPaths() + { + var roots = new List(); + + var packageRoot = Environment.GetEnvironmentVariable("NUGET_PACKAGES"); + if (string.IsNullOrEmpty(packageRoot)) + { + packageRoot = Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), + ".nuget", "packages"); + } + + var referencePackage = Path.Combine(packageRoot, "microsoft.netframework.referenceassemblies.net472"); + if (Directory.Exists(referencePackage)) + { + // Any restored version will do; the BCL surface we need is stable across them. + foreach (var version in Directory.GetDirectories(referencePackage).OrderByDescending(d => d)) + { + var dir = Path.Combine(version, "build", ".NETFramework", "v4.7.2"); + if (Directory.Exists(dir)) + { + roots.Add(dir); + break; + } + } + } + + return roots.SelectMany(r => Directory.GetFiles(r, "*.dll")); + } + + /// Every type in the AST assembly, tolerating unresolvable references. + public IReadOnlyList AstAssemblyTypes() + { + var assembly = context.LoadFromAssemblyPath( + Path.Combine(PackageDirectory, AstAssembly + ".dll")); + try + { + return assembly.GetTypes(); + } + catch (ReflectionTypeLoadException e) + { + return e.Types.Where(t => t is not null).ToArray()!; + } + } + + /// The base-class chain of , outermost last. + public static IReadOnlyList BaseChain(Type type) + { + var chain = new List(); + var current = type; + while (true) + { + try + { + current = current.BaseType; + } + catch + { + break; + } + + if (current is null) + break; + + chain.Add(current.FullName ?? current.Name); + } + + return chain; + } + + /// True if is Ast or derives from it. + public static bool IsAstType(Type type) => + type.FullName == AstRoot || BaseChain(type).Contains(AstRoot); + + public void Dispose() => context.Dispose(); +} diff --git a/xpp/extractor/Xpp.SchemaGenerator/Program.cs b/xpp/extractor/Xpp.SchemaGenerator/Program.cs new file mode 100644 index 000000000000..c1895e77e4d8 --- /dev/null +++ b/xpp/extractor/Xpp.SchemaGenerator/Program.cs @@ -0,0 +1,66 @@ +using Xpp.SchemaGenerator; + +// Regenerates xpp/schema/ast.py from the X++ compiler package's AST hierarchy. +// +// Xpp.SchemaGenerator [--package ] [--output ] +// +// Commands: +// schema write the generated schema module +// report summarise the reflected model and any unmapped properties + +var command = args.FirstOrDefault() ?? "report"; + +string? packageDirectory = null; +string? output = null; + +for (var i = 1; i < args.Length - 1; i++) +{ + switch (args[i]) + { + case "--package": + packageDirectory = args[++i]; + break; + case "--output": + output = args[++i]; + break; + } +} + +packageDirectory ??= Environment.GetEnvironmentVariable("XPP_COMPILER_PACKAGE"); + +if (string.IsNullOrEmpty(packageDirectory)) +{ + Console.Error.WriteLine( + "No compiler package directory. Pass --package or set XPP_COMPILER_PACKAGE."); + return 2; +} + +using var package = new CompilerPackage(packageDirectory); +var model = AstModel.Build(package); + +switch (command) +{ + case "schema": + var schema = SchemaWriter.Render(model); + if (output is null) + { + Console.Write(schema); + } + else + { + Directory.CreateDirectory(Path.GetDirectoryName(Path.GetFullPath(output))!); + File.WriteAllText(output, schema); + Console.Error.WriteLine( + $"wrote {model.Types.Count} types to {output} ({model.Diagnostics.Count} diagnostics)"); + } + + return 0; + + case "report": + Console.Write(SchemaWriter.RenderReport(model)); + return 0; + + default: + Console.Error.WriteLine($"Unknown command '{command}'. Expected 'schema' or 'report'."); + return 2; +} diff --git a/xpp/extractor/Xpp.SchemaGenerator/SchemaWriter.cs b/xpp/extractor/Xpp.SchemaGenerator/SchemaWriter.cs new file mode 100644 index 000000000000..e2c1f9f5e603 --- /dev/null +++ b/xpp/extractor/Xpp.SchemaGenerator/SchemaWriter.cs @@ -0,0 +1,163 @@ +namespace Xpp.SchemaGenerator; + +/// +/// Renders an as the Python schema module consumed by +/// misc/codegen. +/// +public static class SchemaWriter +{ + /// Reserved words that cannot be used bare as schema property names. + private static readonly HashSet PythonKeywords = new(StringComparer.Ordinal) + { + "and", "as", "assert", "async", "await", "break", "class", "continue", "def", "del", + "elif", "else", "except", "finally", "for", "from", "global", "if", "import", "in", + "is", "lambda", "none", "nonlocal", "not", "or", "pass", "raise", "return", "try", + "while", "with", "yield", + }; + + /// + /// Names defined by the schema prelude or by schemadefs that a property must not + /// shadow. + /// + private static readonly HashSet ReservedNames = new(StringComparer.Ordinal) + { + "int", "string", "boolean", "predicate", "optional", "list", "set", "child", "synth", + }; + + /// + /// Names supplied by the hand-written prelude. Generated classes may derive from these + /// without the generator emitting them. + /// + private static readonly HashSet PreludeTypes = new(StringComparer.Ordinal) + { + "Element", "File", "Location", "Locatable", "ErrorElement", "UnspecifiedElement", + "Comment", "Ast", "XppTuple", + }; + + public static string Render(AstModel model) + { + var writer = new StringWriter(); + + writer.WriteLine("# Generated by xpp/extractor/Xpp.SchemaGenerator, do not edit by hand."); + writer.WriteLine("#"); + writer.WriteLine("# Source: Microsoft.Dynamics.AX.Framework.Xlnt.XppCore.dll"); + writer.WriteLine("# from Microsoft.Dynamics.AX.Platform.CompilerPackage."); + writer.WriteLine("#"); + writer.WriteLine("# Regenerate with `xpp/tools/generate-schema.sh`."); + writer.WriteLine(); + writer.WriteLine("from .prelude import *"); + writer.WriteLine(); + + foreach (var type in InDefinitionOrder(model.Types)) + { + writer.WriteLine(); + writer.WriteLine($"class {type.Name}({type.BaseName}):"); + + if (type.Properties.Count == 0) + { + writer.WriteLine(" pass"); + continue; + } + + foreach (var property in type.Properties) + writer.WriteLine($" {RenderProperty(property)}"); + } + + return writer.ToString(); + } + + /// + /// Orders types so that every class is emitted after its base, which Python requires. Ties + /// are broken alphabetically so the output is stable across runs. + /// + private static IEnumerable InDefinitionOrder(IReadOnlyList types) + { + var pending = types.OrderBy(t => t.Name, StringComparer.Ordinal).ToList(); + var emitted = new HashSet(PreludeTypes, StringComparer.Ordinal); + var ordered = new List(pending.Count); + + while (pending.Count > 0) + { + var ready = pending.Where(t => t.BaseName is null || emitted.Contains(t.BaseName)).ToList(); + if (ready.Count == 0) + { + // A cycle, or a base that is neither generated nor in the prelude. Emitting the + // remainder keeps the failure visible in the generated file rather than here. + ordered.AddRange(pending); + break; + } + + foreach (var type in ready) + { + ordered.Add(type); + emitted.Add(type.Name); + pending.Remove(type); + } + } + + return ordered; + } + + private static string RenderProperty(AstProperty property) + { + var name = SafeName(property.SchemaName); + + var rendered = property.Kind switch + { + PropertyKind.Child => $"{name}: optional[\"{property.TypeName}\"] | child", + PropertyKind.ChildList => $"{name}: list[\"{property.TypeName}\"] | child", + PropertyKind.String => $"{name}: optional[string]", + PropertyKind.StringList => $"{name}: list[string]", + PropertyKind.Boolean => $"{name}: predicate", + PropertyKind.Int => $"{name}: optional[int]", + PropertyKind.IntList => $"{name}: list[int]", + // Enums are recorded by member name so the schema does not depend on numeric + // values that can shift between platform releases. + PropertyKind.Enum => $"{name}: optional[string]", + PropertyKind.EnumList => $"{name}: list[string]", + _ => throw new InvalidOperationException( + $"cannot render skipped property {property.ClrName}"), + }; + + return property.TableName is null + ? rendered + : $"{rendered} | ql.db_table_name(\"{property.TableName}\")"; + } + + private static string SafeName(string name) => + PythonKeywords.Contains(name) || ReservedNames.Contains(name) ? name + "_" : name; + + /// A human-readable report of the model, used to review generator coverage. + public static string RenderReport(AstModel model) + { + var writer = new StringWriter(); + + writer.WriteLine($"types: {model.Types.Count}"); + writer.WriteLine($"abstract: {model.Types.Count(t => t.IsAbstract)}"); + writer.WriteLine($"properties: {model.Types.Sum(t => t.Properties.Count)}"); + writer.WriteLine(); + + foreach (var group in model.Types + .SelectMany(t => t.Properties) + .GroupBy(p => p.Kind) + .OrderByDescending(g => g.Count())) + { + writer.WriteLine($" {group.Count(),5} {group.Key}"); + } + + if (model.Diagnostics.Count > 0) + { + writer.WriteLine(); + writer.WriteLine($"diagnostics: {model.Diagnostics.Count}"); + foreach (var group in model.Diagnostics.GroupBy(d => d.Split(": ").Last()) + .OrderByDescending(g => g.Count())) + { + writer.WriteLine($" {group.Count(),5} {group.Key}"); + foreach (var item in group.Take(5)) + writer.WriteLine($" {item}"); + } + } + + return writer.ToString(); + } +} diff --git a/xpp/extractor/Xpp.SchemaGenerator/Xpp.SchemaGenerator.csproj b/xpp/extractor/Xpp.SchemaGenerator/Xpp.SchemaGenerator.csproj new file mode 100644 index 000000000000..ccb8e4bebc5b --- /dev/null +++ b/xpp/extractor/Xpp.SchemaGenerator/Xpp.SchemaGenerator.csproj @@ -0,0 +1,19 @@ + + + + Exe + net8.0 + enable + enable + Xpp.SchemaGenerator + Xpp.SchemaGenerator + + + + + + + + + diff --git a/xpp/prefix.dbscheme b/xpp/prefix.dbscheme new file mode 100644 index 000000000000..b422464bb902 --- /dev/null +++ b/xpp/prefix.dbscheme @@ -0,0 +1,6 @@ +/** + * The source location of the snapshot. + */ +sourceLocationPrefix( + string prefix: string ref +); diff --git a/xpp/ql/.generated.list b/xpp/ql/.generated.list new file mode 100644 index 000000000000..cfc4f7193d5d --- /dev/null +++ b/xpp/ql/.generated.list @@ -0,0 +1,1182 @@ +lib/codeql/xpp/elements/AddExpression.qll 4a2fcfc5d20e3da098d36bdde90fad74210deaee632b34e7e770c7f7f095bd6e 02f87dd7605bb75997fcfd99872b744bee767f5b06719aca52702134cb394760 +lib/codeql/xpp/elements/AggregateSelection.qll 8c725200e127cb56d2ee7cba81fa65a6577281e46192644c4142f04ffb1ecfb6 8c100b00d8efb047a03731826846b2adbfbda52a49e23a4724f1cef981f87d80 +lib/codeql/xpp/elements/AllFieldsSelection.qll 1a54382e3c3518a7f9a868e861570591162adae4c18cef936b504b8cd0d80054 32a7bdceaee25928243b99db1b0c21534cbb19fd03dfe24a8a7a69414d3ba4d7 +lib/codeql/xpp/elements/AndExpression.qll 9941d3238a0d9ff998358b41647116c2b018f403405f739706b2dd59089db082 fb241e31b932f8b54352e075ffd64662845600e93b67dae1b8316a2eeccc6e85 +lib/codeql/xpp/elements/AnyType.qll 0252091652b7a6c86e848977abf4a168df84e64cef0dc9fcf7ed7c223f4b6bb7 e800100e6128d5a14a0dfb84eadad1e6315e3e61c2902ff431ad37f6c6ae8945 +lib/codeql/xpp/elements/ArraySpecification.qll 6908234dc70cbc5e46d1e99b7474cd322e5d2541b44593b178b9ae17d1720280 6f4e069aff2631a51705026dc9c1e29f34bba2ae50ef88f1be18a7086a3a3e0c +lib/codeql/xpp/elements/AsClrExpression.qll a21094b288e821397c30b3b5c9e70b2af8f4b67491742776d5fce648bf911f91 0b1bf3738fc8c154fa7dd6da4048f8b00cd9b62f5aef99c3f9de11e83fd60d62 +lib/codeql/xpp/elements/AsExpression.qll 862d978bf4754ee2de86549c03b8e6aa3c6fd5d4560337edb2e25717c6a27548 ddec4917416336dd0106fb5ffa927557a9cdde9c83fe8af7a86b10d006b90db9 +lib/codeql/xpp/elements/AssignDecrementStatement.qll e0955f59cd758030994429d247a1f6a89a7cc66c260bb0c12e8814da549f1087 c1c0def8ccb2d9096df99df9883d980251d5bfcbe8801fd38be793021e5e9b6a +lib/codeql/xpp/elements/AssignDivideStatement.qll 00e8e2b04799b6b6e3a4af0eff43eb5e5b6f238bcb127de93ab49d9e0694e521 b2166e1b264c8d559a3195406a5273e725e6778e8c75c669fb4529025c10085d +lib/codeql/xpp/elements/AssignEqualStatement.qll 8ed104b0003c372d9c0b885267b43654d156d456d576ba30cc17f5de2c964b0a 816588a8d3b6d60d36ab455f25ae354751a8080f937f24ffb7e75336ed2e691b +lib/codeql/xpp/elements/AssignIncrementStatement.qll 3377d384e5a44230940816376c5d4fd50e9ea0d1fe85e746f486ffbe1c95d7bf eed9b49295fc9985e2c46b2d670ab1e326286487724f0e3c14866ec5e20dc470 +lib/codeql/xpp/elements/AssignMultipleFieldStatement.qll 9ea99074e0f0c93d53376e72b665e97f4a4b6e0f17e10741a5295dcfd31b8c17 2c7848ba51494b58210c149dd50384f06cfe8327fb15b275ec3374924f3300e7 +lib/codeql/xpp/elements/AssignMultiplyStatement.qll 9b972fa75ef8de4d076100a595c2233a50e81dbe3e4c0e72829fda095f1f4f22 2ff4f016bea3b54701a98af8069b8528e75bfd6ff0a5438041974606646bdfff +lib/codeql/xpp/elements/AssignPostDecrementStatement.qll f636e0758f4ce0c256618b3e5c17c9ba72d18a21cb742ef9d6427baee3facd21 603a00761cb279c43d6e563141b3f4a494909630c0930b61546b2df4bf2332d6 +lib/codeql/xpp/elements/AssignPostIncrementStatement.qll 1c9ea3a429df0b218f37b46ac8001b70836eab82c38b54d4a890d858439a59b1 c96093b6ce3d66e14e95a2c90aa5b68cf9a5383bc05d44b9395147e12050f031 +lib/codeql/xpp/elements/AssignPreDecrementStatement.qll 1c5c063f05e27cf953338d4469bf1ab26c8e43bb0617a2ae29f7bf45700fd291 1d850799cb1674a611a89c153e6d92e87e03918a10bdbcf55fb8b3370d686c8c +lib/codeql/xpp/elements/AssignPreIncrementStatement.qll eeeb97dcf464568d0a893a285fe156d5c1efa65caa1784d505e985ad0e815429 87076b7e65f44c64227b2d6e40e27d41086a77f269dbcced55bfced1093bcff6 +lib/codeql/xpp/elements/AssignmentBinary.qll 9137c9b7a21bee6859bc83f0a8657f670360a3bde979638f2a73749aaf342b2d a4d37e442c3142953b371303cfb1129c3c04643a5b500652f71d182eb0b85d73 +lib/codeql/xpp/elements/AssignmentEventHandlerBase.qll 66db6ee48cd71eeddeecb04ddc4d17559ca2b3c264ec488d218289c37138f05d 03d1db37570909610ad70ad4644056169fa157aa1c31b88b2170ef49380872fd +lib/codeql/xpp/elements/AssignmentEventHandlerClr.qll bda5f01e5fc052f4783a9f5bc552821f6257e488beeb8534f3c9029a98d5f9a1 910df9b2a745376b8b076d5950769fe5a7d91b8b441090cebc51b1cb365d73cd +lib/codeql/xpp/elements/AssignmentEventHandlerInstance.qll 5ebf7f274714800b578cd8055a952506e7ff1457e007f96f563d2b3cc1ef0f85 7ada7409d0936fa0e4b3fa582fb6d86ef3b95256e2e84cb70a0e5a072aec866d +lib/codeql/xpp/elements/AssignmentEventHandlerStatic.qll b8f1b1013357a93552a7ffdec2252b84ad8c87a12d16c325bdf485ce55732082 bb5053fb1679f389e17ad2bffe87f4505ee3ee5d9408d85c9cd2fafd6cc983b4 +lib/codeql/xpp/elements/AssignmentSingleField.qll 225fc3727f1758bb5b6c6f1f0784fb70f1b0841b7981e18353cf65a06683fbd2 c3a7536a4afb9db0dc9c9f241189dab88681c5ce7b669b4ecc5930ea3ce6309f +lib/codeql/xpp/elements/AssignmentStatement.qll bce7c66f085cae6ad34a122eef96d0825f23836d934e2b42c1b961cb12f92270 7f3c5eaec2442897c560c630855671b9ba88045a498b34cc6526537ced4bfe2a +lib/codeql/xpp/elements/Ast.qll f6e1c68f19bd58d016123c8da3e6ee5af88ee4da0a0e01f990448a213134a6dd 2bda427c22627af377fd73afb48f566176c0d5ae60de36f9e3d3be154c6bfb59 +lib/codeql/xpp/elements/Attribute.qll 13ce52099cf3feed87f4bc4392f2669c1c3cd080cdc7e2e1884cb91e9d16c10a e44daf9be5e23b4d960fd3a688240db903445fcdae5f760a2464b47f154b7f00 +lib/codeql/xpp/elements/AttributeExpression.qll edf5e60515e57ddff8702676efe206200c2a0b6b75d16c936770f2bf928aacb6 130a74a142bfa3b38149ba68c99a76d8986a8e9d187640096d5a2df6e36d47d8 +lib/codeql/xpp/elements/AttributeList.qll 0156c0fa00315d72d741c7e4f4888c73be82372e1d8fac2cfe3529f95239b15a 9baff1d4203382fa24d3f8acbd8b87ec3cfa3d0e0e7b82d606d1c151241660c9 +lib/codeql/xpp/elements/AttributeLiteral.qll 16015eda1a341764dd4421ff9281d32ad039f44f983536ee9595deeede2161fb beba992e7d4379ec2a2639ce21d774a2d2f0e8719c604a20ddeb554cc22ea967 +lib/codeql/xpp/elements/AttributeNamedParameterEntry.qll 8194909058113ff653051ea32365b73cd172367beb41383ab304a4925be72da0 6b50e29c9ab16a0af6b95222749ce0fb9ba1f9d80f5b9c85771fbdafc0350619 +lib/codeql/xpp/elements/AvgAggregateSelection.qll 81ae351aa825f0bc702088387ddd4239fcf81b47d4f51aaf07fd3e8eb80fe843 debdc90c877d1c0886617857f7545ed1439e777c42af098e98a05b07fefec539 +lib/codeql/xpp/elements/BinaryExpression.qll 0e19d543b4c76a6922d328ffc55fa2c52bc711f873f2fd2a270968514a6f7acc 2a3a87668ae6c6e54a336fccf413849f7289d9e90dacb7196e9887729db82e11 +lib/codeql/xpp/elements/BooleanAttributeLiteral.qll 0886f9b43acf601395d431475f2cdc042cddf2224ef60756eb3afc40d5036b68 6ee86417d80ff7c0c49bbdd3f12889f90297f3ce882312cd247bae210bab77f4 +lib/codeql/xpp/elements/BooleanLiteralExpression.qll e373db7b055cb7f2f975c02549d5640346c05ee7a8fb65437764f6213628a797 704e29e3fb674387622c1dbb19ffe4fddcf851c88248b0f5bcbcafd075bd661b +lib/codeql/xpp/elements/BooleanType.qll ac6f7a5789d59ccdff189402e284a07fc259d1d7cf2ff57329165460bf638c78 0798eae1a7e0dc339ca534959343815cdeea0d8351e01deb06fd1c5c5dfb7841 +lib/codeql/xpp/elements/BreakStatement.qll 5726bd833eee06e426f1c3aef52b4788f6f82c8218b85ad10e0d697c8c026952 21a874a3415b8661eb6249169cddb5a9acac0781c075a8f8a31e6dc8e9f60e51 +lib/codeql/xpp/elements/BreakpointStatement.qll 346d86c283fc093e3f83e1e393ab2221b60ed201fb2274562db56cd7f1ceb0eb 23406db52697cdcf1c9f0c09b6413ff8add266ed886527b2b62c092731fd2e22 +lib/codeql/xpp/elements/Case.qll 651f317d244767a6856df55b996ec055d107350b8cf4ae22f0461537f80f2485 4567463a03de594bdb3f87f84c5a336155c87b6d991f672354a9e93be1e107b1 +lib/codeql/xpp/elements/CaseDefault.qll 6352988567ab8396333aac70c24e11793e0e7fb8fe4eedfdedaa260bb1ab3846 bc13b35994276015d03a37f5afb43a6e013b43bf7227afc7b9c2fd6ffecc0fd6 +lib/codeql/xpp/elements/CaseValues.qll 37cd9d36ba5710c1c3c4050ec81f785f6c07b8607040943e45ce90a6191373f3 c6db14d6279d9fa141aef388ccc74cdccc072cbdfb46e5ae3b7c4120732b0c8e +lib/codeql/xpp/elements/Catch.qll 630b63790196a9ab570143e185f5cabc926aa4121b691e497d5d2039b418c5dc 57eb36423c35c1b5cd4b4d379de54b4ae8ac4cddb737aafca2ffca077f5b7966 +lib/codeql/xpp/elements/CatchAllValues.qll 6f50e96cd6988b51f08134cf6fc11da6feac474ee4b60be68e4f4f922c3a4966 50786653a51e0ce7c8a8819f6389a0aaf4877cabf539d7387853d638dc3e9eec +lib/codeql/xpp/elements/CatchExpression.qll a883545ea509211f27dd5a4903a9a3658fa1ca7cb6c94e94c1436b1c97f070c6 23c5859a2e658bc66085fef42d2168d170b94f58ba3469624b70f0e7ad894a83 +lib/codeql/xpp/elements/CatchUpdateConflict.qll 7079fdfa1e06f1d275a4269477973703da86e80d2748c91ad4870c9a9fb2fa83 cb0c351c2f59c797d37548ded0d1b13109dc55bcbf7b6a13c89acef6f7b4cbe8 +lib/codeql/xpp/elements/ChangeCompanyStatement.qll 95e0c25a4148e3a8a3c10c950b5e3a1d0ce739100b2c516fce1939ce90529c75 d2514c2b957a44ffca4f21eaa96d633da87dc5e70a324ee11eb9c283a4deaa54 +lib/codeql/xpp/elements/ChangeStatement.qll fa67234218ffebf377d8c3e89024dbe8d9679c4cd9af6f7c8121823081bc3743 20c7166da74d37b0cee85287507b67cd4c768bd5b4de601df2927c2ac6db7c8d +lib/codeql/xpp/elements/Class.qll f9c009ddccac77888bd7417569fd84fcaa8340c2bef3ca16b9a6df6eb64a4348 aad7d3a7a4265ff9eda385a3c84e1604760258abb2c2318c242505297c2afd7e +lib/codeql/xpp/elements/ClassAccessModifier.qll 708cef471f29ffde3860136bbcf04dcaf6b8e242779b1279481ee7316fbbb5ce 5d6f1e57287504fb69214662cbdabb47c69e52f0cf48e6a9da8bfc3c20d334d6 +lib/codeql/xpp/elements/ClassOrInterface.qll 258185766556092cf0967a1844905e43199bab23bd316cdab10dbebe2cb085b3 a0578ac7cf8f996afdbd7449db5abc13367d975414ccbb7ae9f67d1cf8e471df +lib/codeql/xpp/elements/ClrEnumerationLiteralExpression.qll 2afb3d8bcbbade61f575fa222823c7855568533b7f147254dcdb1f9b022ec609 b718c2271ed84c161c23acf9c635e43aa95061053b7adf3159f78e244d0d7328 +lib/codeql/xpp/elements/ClrType.qll 85d0708c0b13ac3c4068675553c67608f54f76bbdab60d530def2e1c7dc96612 4529a0a5b100bf362011797e1ee56a85e5321961857b5c378868be61af1b9545 +lib/codeql/xpp/elements/Comment.qll 26bfa2b75062825c494ececaa7b38483335e1f6a576193434e5d49e555678bf5 f5fa402fc3c59c8f5449243bce3eef46eeb31acdd725963effc84eefe9c72a13 +lib/codeql/xpp/elements/CompilationUnit.qll e0e35d895c2832f096efad55e40ba3604101f62632ef86914a5e3f2b39334bff 16b7e05928499bdab56d4d99040e94e91f99d92c90f39607253c10c477bcfece +lib/codeql/xpp/elements/CompilationUnitRegionEntry.qll 882cdcfdc78e4febb2ca8c5afc29d7f06d9214d87033b4cb790f27837e44b627 26fe52e05ca4665afbd6da49be3b36522b4ccbef3daba23bda0f73737738a5f6 +lib/codeql/xpp/elements/CompoundStatement.qll dcedda1b0e9c7ed05e3e743bd9a2d6ffc42bbf6ba82c7b4391a52e19bffcc993 f3aa6f7d3b1c0381f3ec3a1bf830e458be795ad04cab5f6e68dab7d2cadac0f2 +lib/codeql/xpp/elements/ConditionalExpression.qll b702c082fd5ef8b1a9f7bac0aa83cddf72447189853dea7c7e88141940bc55dd 8e9674f965f5bd1c5284f356f52f3abe3d32d95a63f85ca83ec0c230ef921737 +lib/codeql/xpp/elements/ContainerAttributeLiteral.qll 8480eee674488d5151c172581af081f667ae6a1c75b7497a68df59e5c70764ab 3cc814b198af5d5240dfcf15a0ef88278f71942723c73b3052cdc3466ba23f6d +lib/codeql/xpp/elements/ContainerLiteralExpression.qll 79c5dd1a0594b8acb6d18b88682a9b0118943f3e761ce5badc1f31c959b51657 a1dc4906bde47dbbdaeffbdf12a180b5bb312ab6ad8c09f6f85cd65cfbfcd4c0 +lib/codeql/xpp/elements/ContainerType.qll 3271c5f8ca67a8e12f1f5d14254f3f90b6fb5cafd24340450429f2f683759beb 015bba8ca8d37b5d430342c5400770286a547b11d2db3eceb713f1f1dfc9b35d +lib/codeql/xpp/elements/ContinueStatement.qll 424424ccb01ee45c494aeb0780067d3a4df042a8245131bbcc2bd77ae584de0c a028f2b62241a52926ea3eb6770919f389e66832c4b8a7ec098eb2d83a41efec +lib/codeql/xpp/elements/CountAggregateSelection.qll 5f1d29b97a63e9df9362021bb12dca9f0d9ec36ba39238e1f5d3f6f18e29e070 0ad30c585bf1f94047aedbdb217e6051663978f8f2aa6bb9827cb4b99a0df716 +lib/codeql/xpp/elements/CrossCompany.qll 86c99583ee23a945cedf95d4ffe25656204ec5d44b198ccff7f8e24f00351fac 7f0ea00e7a988288e12f99fdf374da2c7caa3d7cbd8a17a5756586f239800bcb +lib/codeql/xpp/elements/CrossCompanyAll.qll c9477a25398c37e65a87eb28eaaf9e7623ae2b8d18da88237fd59eaa57a5a458 1f83f443ef5d5b8fe0eaadd907537025ba34ab223cd80d3ec714b75c2bcab704 +lib/codeql/xpp/elements/CrossCompanyContainer.qll 2cf702549961f1dbbc8a2cc969f299ceed7d0ebd18b3292aeeb5f15647c44b7a 185ccd56608e0912f7cc203af2ee5353607160d26b436e1a6d61325faad49db8 +lib/codeql/xpp/elements/DateAttributeLiteral.qll bc056b684374ce92abdd1f602841f7cf873b33091bf2f52931d10ec779255982 394d06469ce0ad797844ec38bbe4802ca8cd4eb6397758134c610ab6860a8cd9 +lib/codeql/xpp/elements/DateLiteralExpression.qll 5adffbab2818a85fd9777d6cff0f81c6d6e67324e3c2e7f617bbc22d2a4928e1 1c4da25b79095f22d9482cd95e84ea3db0f5f1b2b37a58f4846a47fe7d712441 +lib/codeql/xpp/elements/DateTimeAttributeLiteral.qll a63214951dd00a2691e249e85056c67a5158cf1b5090df71111cedc5c24f9ee1 b80e0c39967fb79925ee57508c7c00fa0fc9b342ad679fc93f1f373a240d3db4 +lib/codeql/xpp/elements/DateTimeLiteralExpression.qll 7a287bfb30e04058de6c55388cd575dea608192642dd2b242233b385c7a9680c a510b865481a0d06dfb8c36e797071e73698c057926c0321e7e720254b78eb35 +lib/codeql/xpp/elements/DateTimeType.qll 86485bf66e5197a2b5c63a276ec4e093cfeefcb5eb9784afbdeeb5912939131f 7985f6dc65f4d75756d69f30294c894498c5fc093d2f2661012cbf8bc06f16b2 +lib/codeql/xpp/elements/DateType.qll c19a24f4282007848b1a288b0f314b9d4e30c049ce45be0c98a91d68de81a1fd 2095626145c00b8a9962d35f544d437c048743b863ee4b71e8d1a5d6169b610b +lib/codeql/xpp/elements/DblAttributeLiteral.qll 8e277df503631685f9108070684677add4b0b7618d47d5424f3ea457f7e31c4f f77129613525f0ba1a6fbeb7b767618df594a551fd00bebb01a28ab187605ba4 +lib/codeql/xpp/elements/DblType.qll 1ff28d50765fd0c23a2fac02d490fdfb5753c56081b4fb35cf25034fb0e89d17 8a1212e87117c1e70ed9447f4f2083b235729c2b11ee2bad584f19e8c11eb0c9 +lib/codeql/xpp/elements/Declaration.qll b32190ebe8ae34c24512ec09c317a23b742b0e47db3e17033e4240787ef9b33a d5e5796d8ae0188cd203eea1ec3d43c0ad0e8c6210d525713a5690bddea0e964 +lib/codeql/xpp/elements/DefaultTypeAttributeLiteral.qll 2b06f4bd9dbd0de2c9caadf7e4aa4f8a59ba1d0e8ccc3231f6976186a1435e49 c386231380841d2bd2609f57758c576acf2a64e12f8065555d73eae0ad86be1e +lib/codeql/xpp/elements/DefaultTypeLiteralExpression.qll f487831ece0e4ba733bcb2b2af4c6a838c1a0a2011cfc52aaf4fdd47751f61e2 ac84a662ea36fe76211ad0b34e93a45bbd10c2e97e61ce52bb47546eeb3c517b +lib/codeql/xpp/elements/Delegate.qll 265cf4f80c8f125f112c7b41b8fabbd6a06d1434278d0f99feede3f0cb6d805e 195dea66f5665a621e4ac7505bb47f5febf3f3ed253aa56bc2092076206c46d2 +lib/codeql/xpp/elements/DeleteStatement.qll 9af866a655cf76578d1b3a40720bec9b9a11e7fdb9be9d690a7997769d1e30fa 018eb116a4be8e5b12f9388a89cd8869fb18e695da269cde8475210a9aff1a45 +lib/codeql/xpp/elements/DivideExpression.qll 7a7d9b10872181b06dfc9aadef022f8fa4ce3556004f37fc70a0b68a19a82d0c 53cd105670ec028ade70f0b8307f62ac2832bb2f6791fc997f85037ef9dd1752 +lib/codeql/xpp/elements/DoWhileStatement.qll 74677d1b0092bbbd8d7ce18a825685addb3b2714ee13ce44e87e486852ba90a7 3a190651c40ddb0c3203cfac0a2aebb2a0aaebe3cbf72dddf5fea7a8708d3e33 +lib/codeql/xpp/elements/Element.qll 8980f558fc91474ef3815319d624f83f4fd756547cd6b72a31761d988e120c29 7965ff0ad0879c70f3b9fddded3bf0ff01f04795064a0f2ee6f7806b590ddd71 +lib/codeql/xpp/elements/EmptyExpression.qll 5f1f9bbb17ed14570bf379b4e867fe3e6e3920899a2acc8902dcfa1a2ba9d354 e6960cbcf67e3cd86992881111942f5a0190e88bbb7f931f065d26811cf98f58 +lib/codeql/xpp/elements/EmptyStatement.qll cfe1f14249ec5b3966ee5564d1179cd3a6de8e312783574de34c2aaf91491abe 10192cef4d5d94d6090ee69ae56fe7c42a6cac21877f2f11ad6dc8c4b45d7dda +lib/codeql/xpp/elements/EnumAttributeLiteral.qll 36e2c605af4e69cd497392155b84adb19bc451362cecccfd920c42e43ca50c9a 5e95054d00b61ff3d264f0e448bd8e65f5a4a51abd9640bcbd72173c32b112d5 +lib/codeql/xpp/elements/EnumerationLiteralExpression.qll 39ea519a3735db2edfd69dea3a44cdc982eb829212b12c83e6b0a0dc45fad486 0afb7525eb83a64184e1b039f14850674525cfeb802810dc07e3e37512c541b9 +lib/codeql/xpp/elements/EnumerationType.qll b318f00a7b5dc7f2d8783c4b7e1b727cd2cfd8382c2df4673ed99e510cafa81a 8ce0527859849f93261377bf1aaf3877d261fcc3bac7af1049118e26dc881f04 +lib/codeql/xpp/elements/EqualExpression.qll 3b1e20cc40412d4679e4299468afe53ef2b637d4b196b3101453ba2b1d486822 0b776f8eb5d1c7c457ac36f36591ae3a582cbd3112f3b5674c681adc3391710b +lib/codeql/xpp/elements/ErrorElement.qll e7a7bcbff007f454ddefdcc0ca7ee89d8ce0f0f282f736e461b0ca9b06f13b66 ae896186bb5506269c9a94d921d022525b43821e1a721db15e0e67075aa6e4ec +lib/codeql/xpp/elements/Evaluation.qll de0079b53f2350fbc91b22f31df6590c048faa8bdc28ffdc7574fee35cbe94b1 391b9c4324ce33e9c84659166eff0d12a4a63ed5f71689326a2602dfdc8db069 +lib/codeql/xpp/elements/EvaluationActualParameterEntry.qll 9847377c879d0aca9487841458223b6dc3ca731ac6576c64606178604a61b946 afa25c53dc65325ae40a837535d34b6a7b2a948b3c2f43869aa86c66abd513c0 +lib/codeql/xpp/elements/ExplicitSelection.qll b5222ab609a3b3dd6a3f22c4c8006fef9b458ef8173c6da1ff681e2a51d72ae3 79de0ee9f40c554a7a39de97d24315c3e9c975be9bf89f5fa95942ba0ece7046 +lib/codeql/xpp/elements/Expression.qll f1c725a263880b716efd7ef6dc0aa1721047f75114992cce67647a420ddebc07 64b5cab236b6ef9d6951c2c0930b7c2a70f5e5f3f192903129381a4eb78246bb +lib/codeql/xpp/elements/ExpressionCompilationUnit.qll 5734b6182d244c00a25a073757401304d475bccec28ba0650163edb345f06f5e 3a011aad61c8de9d1b8dac0601ea5f81ae438be157b7618faaf17d1e0d5c39d7 +lib/codeql/xpp/elements/ExpressionQualifier.qll 3d58b95a1c358d12a8ee11150ba59bb115052889a2faa89093d87766ea14b7bb 03c991120db57b572c12e423bd279e75d9b57b86de440f0043958fb4ab17961f +lib/codeql/xpp/elements/ExpressionStatement.qll de263c83bb7cef4a9f3d87b18feae0382b79bfa96fe220ec7c365a9c936ab90e 67ee508931b1a6d0852236ff3746de62e33aa5f766083c335f141618ea8f1045 +lib/codeql/xpp/elements/FieldAssignment.qll dbf2655dac08be71a88260319d9c9e22baec8a81abb26e3077ab5e6e51a5ea09 351fd15b8aa252cf63cc1717d9b405bd4c15e833a75384a7975a43f4ed9bcd3e +lib/codeql/xpp/elements/FieldDeclaration.qll 0be6a87a2b192631b96ec0e22bf75b6805b9415a54becc500f6cf891f4a3f236 ed9b78070c19971dd96270a6f7fca2a757328c9a33a6bd3570a794dcff9d5abb +lib/codeql/xpp/elements/FieldExpression.qll fed666d59f64328b0e3de9a5866890e70f047208e243fab34a24f506d163473c 40166f0d04f5696fccf4fe9c81046949d20c3bcc2860425f99d51cd668611288 +lib/codeql/xpp/elements/FieldSelection.qll 739d814b543882db5039d10711d1662462112e33e39a523952e4b316fde27fdb fe522a810c61d8f32a4a65812bdfb7ebfd3b615fece34ede1eae49b63a9c041d +lib/codeql/xpp/elements/FieldSpecification.qll ab894802cf3eec8dd9154d9b1276174bfeef8f730400e5b3ae731686323d9fab 0fc63a8ecb4f4ccb8e66b724e020c5b3d30c0943731753eedcd4c10788a47e23 +lib/codeql/xpp/elements/File.qll 1e8f1090a75119ff901726e1e17a26f3c9b7e08abbac571fcb40ea48da2fbabe e9450963f1dd433c276860dc1963efcd7ac5bc76f344ec31eb53c2b54e792d95 +lib/codeql/xpp/elements/FindStatement.qll fae58b73b34a595bd159d77740fb390605a6500a65df7d3535416196cf68d2b8 48af0872b666aa8a558406f5af7fb1cf4f62aef0c0243c9d3db577b85cde5dbc +lib/codeql/xpp/elements/FlushStatement.qll 21a730805cf4a72cde6f2d683d86f25ed05ba0cb49763d16178a134453e9d660 e6250e6c091cfc2a45d8e0847e7868f3c9b09c9d257976a722582e237b1b7d3b +lib/codeql/xpp/elements/ForAssign.qll 15aba229f56c39335e41be2054974dd94aea52c0533e8ceca052eb68d37a2556 76122a394fcabfc9d7a0b4fda293c2114533c88981513ae4069912106a01b103 +lib/codeql/xpp/elements/ForDeclarationAssign.qll fd18e4dc636069db168452721b1671c5d19369a87ddfab60f2d74df8520c2edb 13869324f38a099c11e7a72b74e821ce05c5b3c98fc7dafefc01d0758390fa87 +lib/codeql/xpp/elements/ForExpressionAssign.qll 71a2deb089dc9a5811ebf57c3823f273e58e83b33011c8ccb8b5b56823e080e6 eb5620abcac20cb93a5d7b48a35db38f648dd0796d9750164d2001f33c3f5cfa +lib/codeql/xpp/elements/ForFieldAssign.qll c97cbdadba3fd64de2c3d3df502cffa4ecc0edc37053a63a4e4f4f665174ebb2 bb1daaceea4d6b66779bcf11ba6ba77a99e6155b85044663670e4d086d440a68 +lib/codeql/xpp/elements/ForFieldDecrementAssign.qll f1c0ed208a07a10cda7395b84fd75ffa05757dc6bc008557eb0572345e3d1509 0f39f0b7ddebcf27079f9d21bd8b963b6d6fccffe9b12910e13018bf067037cd +lib/codeql/xpp/elements/ForFieldIncrementAssign.qll 3d96fdf71b841a9867cb49ff5649b8564c1b500ff328cbe8d9af2bce18ad8b10 ab6ed5abb19bb2fe0c64035e4f2d047dd3d4fe6a16bc056c7790097e5c401139 +lib/codeql/xpp/elements/ForFieldPostDecrement.qll 20343037c9ea9aac5bed298ad3aba237b9b5c7509f01b1f4436dde345dc278e4 71af75907be9578c06b6fbd1f361a39a5ef7645327e187703d61dc63fcb0172d +lib/codeql/xpp/elements/ForFieldPostIncrement.qll dfa071b6255c8879850849fb818f2dbd749c062c962d3757dfb5eb980898bf43 41954f98d17c43d9966d82e8410b705fcae02dfc6b933506a52a02afbf854b7a +lib/codeql/xpp/elements/ForFieldPreDecrement.qll 9a525f77b6b3437099cad9c786154cf9096c21cb61eaacd9de3dcaee450ed052 0b377cc327d6ebf56a8abf74f0e51e2882115f56537a032921901488dcfd1679 +lib/codeql/xpp/elements/ForFieldPreIncrement.qll 0a72033f67d6f3c65b923a90120bc2206953cc7584a49039b109922f08c6face 5d9bdf63419b26e56ba131fd04ca184d3a22fb3065c0629c7d4486b6a02befee +lib/codeql/xpp/elements/ForStatement.qll 9f81158857b9fedb80a404eebd92a071fe89ac80f4cae156222da6105223deac 8895b41a05ad0d647cb88a1ff668283b5b2a60e6d448d1e99fe3d116aa45a2ba +lib/codeql/xpp/elements/FormControl.qll ac022943212f23b99282f66f94eaa7bf17ffa7745bcff9cd873d1d1c02e7a3bf e83a5325d001486afcdf768a1d50239d79b46c763661d036ca334689168f2316 +lib/codeql/xpp/elements/FormDataField.qll 0399bbaff4b6ef08fb9b38df3794c5cd14fbfea207f1dd4d116077ad814f6e48 6cc6a4ee11fad1edac9f6fefabd36db895bb5bdc349f355353f8387a1f092125 +lib/codeql/xpp/elements/FormDataSource.qll c2352beb6926fd0d93247920343d516ff8035da7f9b37ed7e7082e088af16d50 5f150494563a02ae52dbc7e4b8f94033e3028c2c3d42274a8af02cbcec32136d +lib/codeql/xpp/elements/FormElementType.qll 8ffce7f911b7708a13a2d0fa55d73d1f7b6160c582f45a59055e0bd82b2b6b25 ae4bdaaf08c0454b11e170294c1ea55d795e5744d56ee00ae1ce9c44d011e1cb +lib/codeql/xpp/elements/FormModelElement.qll 180c020e38a887bb2ab4a17b6726c68de84c12698be6bba34d9d0f18f1d10595 d5306c78ec115dfe9fa54ef522be645f5f891426d25ee0b9d683102f4ddf605c +lib/codeql/xpp/elements/FormNestedElement.qll 3d5428970d520688b00691c98f501d801ba2dabcec23945279d84d3a31dc489a 4c561b855a2eab389cc8ca5e23d60a6525582fc2fbb284548ea15993535fbef6 +lib/codeql/xpp/elements/FunctionCall.qll b4e4fd99728bf182558ef20844a59f15ff25770e084faf7da8fba5ac247645fb 419e85d4adcd240e152135124cfa7fa0d8fa9fef485ddd710cca778f38afacbd +lib/codeql/xpp/elements/FunctionDeclaration.qll 4ca12749bb28c69074c5c16b5ac1408f386e9f87c5f9202c8af7714fde13d0f2 6f1b5fad053d137607a52956951051de81095aa2b0210ad55ea360c0d0b66a5f +lib/codeql/xpp/elements/GenericEvaluation.qll fc87c28994e21ebdd37f11f2f262ac2db239622895bdedb3d7ef58f6584f3f5d 785fda45859a5fef62560d0c08aa76071331291aaad25eaba862950d94a9a92b +lib/codeql/xpp/elements/GenericXppType.qll b711641b6c6f3e626bf922b97f3b4f285fe3b88dda1d9c0f1d889f24a2c80587 9458677e368117eb33cbc98414e84f34705532f7594386527e173c0b255a8692 +lib/codeql/xpp/elements/GlobalOrderElement.qll 27de07ea6cdf65216750a99be1e712cf04e9bffa946795284d6bda1ad62a3423 7943b50d0cbce4e0f473a0da19c19715dee42828c5a2b04819f3882beb0d1bdd +lib/codeql/xpp/elements/GreaterThanExpression.qll 028de8218c161f26c3bbec2676bc9d41e037c6994773e251b236cfc7187d29a5 734f9da3ea88ebb40b2aa5c45fb7dbc3e1ddc7b5639298f93b7012565656d7eb +lib/codeql/xpp/elements/GreaterThanOrEqualExpression.qll 6147f8e32c293349e7b3eaaad2b32f7e7170441712d2ac18616d8b4ea1aeef44 b3c94d9d06c429d97046fa5c282149b71c8f9acf2b60066524acef975434f06f +lib/codeql/xpp/elements/GuidAttributeLiteral.qll e07531ed5ca6ed009e02a69f7782048da6aa7c46c25b523008394237dac658db e7a0c9cf5d3ea921a11363dbdaeb465211be254a61b8abf7b9a3bced5b7ff7cd +lib/codeql/xpp/elements/GuidType.qll 010acd378abe3e95b87273b206737df78c69d3b4e7d776c5c2f9675dad096657 2ce3bd26d2aaa0c7b4eabce829920b07754b122e0bea6a2af3415db18407a78c +lib/codeql/xpp/elements/IfStatement.qll c83d9ea05644e34140c1294367662590469b8a49b9b4247294d6acd8fbe46350 b0246e55f2ac3b609fbc239434a5f1e50bed0bcab59972a3fccf9de014e6c83f +lib/codeql/xpp/elements/IfThenElseStatement.qll d28a1ffeb0d109f8cb27a3ea69b5c12a451c43c6551a9a5dd960402b478d74c0 458dd2ec155b9a2f6b114bf290e9f1b007891e279756f72d07a56f2a22946868 +lib/codeql/xpp/elements/ImplicitSelection.qll e9b5dda954db96c7ba9c024dd914fe5daa176ffbc00cbdcae7399a8821051e00 781f6e3e8220f1617ffddd725b5529947f98aea14a105843bee960fccd34ec26 +lib/codeql/xpp/elements/InExpression.qll 42354aef576209c0325f95c357098c0ebe8ed77d7f186473f7931840f399c230 8d1b59d2dc7b25a0d8d226748be820cdbb51b79b3f47b2fc0d414c31b75492d6 +lib/codeql/xpp/elements/InsertFieldSpecification.qll c7fd6d3da17b5818a6d147be745c3b8b2ccd30932647f519a6cfc9dbc568a59f 0c9d800b6629ec2f380dcd44d9cc49b811fa596c9b4335fe3e8ba6e462d03513 +lib/codeql/xpp/elements/InsertStatement.qll b81e3dd3a15bcfd5c58cd3ce79ffcb887e4f2c2b663130f242952a7689706191 44dc45d0b3e03d4fc46ad6e914910a3ffde4c019f8987ccd8ee1e73af1f30514 +lib/codeql/xpp/elements/InstanceName.qll 66484105c78b926b546036a7501677a3ed75574eeb06ce83292d390b791ae436 a0d92d4a919ac86969ee7fe878d0cff69c51e6f4e7135b0bc608e5dce4ce901c +lib/codeql/xpp/elements/Int64AttributeLiteral.qll 5707ae2be0532f04878f7c1d4cac3c4299019e890d405a1885a71d8c8d1882d5 7f729024ec835d7664bcf2d17d97d6895ac1de8f29502896e17814d42d686845 +lib/codeql/xpp/elements/Int64LiteralExpression.qll ac16a931500c412da1614d3301c1eb5d7851aa704ab5a96dd364346572539013 02dd7825b6fd7ec4ce4667c50129ec5fab6cc06b592d9cc2ff931d39ddc59500 +lib/codeql/xpp/elements/Int64Type.qll 52e6e1478e237c79352435beb6593a4b3a953acccac6cadd3519f5a90b8ea557 7e2d3f00a2473901421a2518c988841c6de880d0d8b1122ef670baf7cec7c337 +lib/codeql/xpp/elements/IntAttributeLiteral.qll 99d73d86f285ffc2746addc0295450e10482b799a0942b7ec00dd2c35fee0d28 49389a52735af49dcdcf7e38dfb1a06d6ffddfbbaf62a665835ec27f10032608 +lib/codeql/xpp/elements/IntLiteralExpression.qll f95d21a2e5b7fb9dc15f533b91845d3071f6cb060abb01ab8076a2a987af98ea 53c07b83005e4208587029f33bcf0f97a350c81c074431c4f164369ed409c78c +lib/codeql/xpp/elements/IntType.qll 9c4975a70c7caae2724851bc1e5b3c412034df7b11bf4aadd4db4168f56c7170 5c2f6964059deb954bda51b82a2c8790297c3ba88f367e00bf7027dde7b0b1fb +lib/codeql/xpp/elements/IntegerDivideExpression.qll 0e347fadb225eaab06701267c745ded537625efb6eb2096d2080c824e20e07b5 6f1c1e42cc0c5ba24970a1a46cec60918ce90bd2c33ceca8f2c3369373bb61c4 +lib/codeql/xpp/elements/Interface.qll 214177af2d98ad0c830225c637e5e5e3c4098023f4eee782e55c97eb49bd3aa9 2db2f00855c58130950860fd0218823e0ba296446723d64a4a64da9d78fa1844 +lib/codeql/xpp/elements/Intrinsic.qll 76730c665746f17d1ead289f883360ca98ec65a12ba84f1fe7fb1af4be8bb75f 0d1942d28a233ee1fa9a1d7049cf7c4d79db31e1433223df146d876c1f9054e9 +lib/codeql/xpp/elements/IntrinsicAttributeLiteral.qll 548ffbe3897f5ae75eeb95954dda76a6b5ae6da7b5a21905579e523ab0212642 47523ca78a5ec6deeabebe2c08ab674765c1b1122fb2e88d6ca60a4a82cb4a4a +lib/codeql/xpp/elements/IsAsExpression.qll c0c8354186c3ce860700813f50a83468776afd635a2355a57da55fd19524fa32 f7ff6395dc44f2aa5aaa76fac75053bd915849216674a1363d126e36a6c342b9 +lib/codeql/xpp/elements/IsClrExpression.qll 28f5020e980eb40b5a83bcff3890378f8cd871fa455c0e2de60626c42da237d6 94dbcf846f386b9225061d4b4f387385cdf99a5291a5ec364fdb7f8268512f29 +lib/codeql/xpp/elements/IsExpression.qll dd496510ead5dd0e1a7803aeab942dc89d5cfe228b1efc48ec0904601aa1c40b 429ff714ba655c352ddadff3d8f5615898e3354e3b5221547ee30cf9b184531b +lib/codeql/xpp/elements/JoinSpecification.qll d4b96852c376b81694c09130f16ce9c484b20208a5c8a732e8ae3d744fdef788 2eb065cdc662841ce96fc8947e975ab27e9875dbbd1e4cf1400c9e83d402d3e1 +lib/codeql/xpp/elements/LessThanExpression.qll 07bf760d0d7e9f949e09014380bf13253a249b70f0e15b791e7f493262b8993d e276b167438600f4c41032bdedcc5436d48d523062d201f990b29fe44263e3aa +lib/codeql/xpp/elements/LessThanOrEqualExpression.qll 2440c762fb2cc315a45823cef99c405ccb58c47471d4e57ca9e49c07316fe710 80caa4801147ef029a8877798bdab13d48241af81ae9f307dec4731e668ed7f2 +lib/codeql/xpp/elements/LikeExpression.qll 55a838dcd0d58b6f0ceb60a6574ac68a8fad7e568ae792ae180e8dfeebdef3c3 f2d6612d6342f5e1138f642d505cb26e96b7a338d69569ff9ebe628bda1b98cf +lib/codeql/xpp/elements/LiteralExpression.qll 11893ba88162652d1143aa5f5f834fce4af7ceec24adab8edc815aba4a55e731 f96f4369c0abd2c279d9e973d897c371b0374a3aa8a034eaacba428c9e66da5b +lib/codeql/xpp/elements/LocalDeclaration.qll 9aa4a9df8c3a88fc64240d6ed637163bf2f70fda05178260e351078b3aac52a8 4e1e97e1b8fd170ea931159586f9488d39a0c1f5f47374e3e731f66cda85bad4 +lib/codeql/xpp/elements/LocalDeclarationsStatement.qll 99c4bd95fd86049b0d539f25493a86ac9939f3fcc8baff549cdf00fadccec9ec d5c2060af7c16616144aa3f03942f884ab48e315d02e04db7e7c8ebad1a7a785 +lib/codeql/xpp/elements/Locatable.qll 3738d16b9d9db9eb586f3a07978c79059bb9853d9085f69b8e679a860f5d4ea1 d54425acc3c2d53b6f99f164eaef5f53520547f42505e8ec4c7c198af8646e5d +lib/codeql/xpp/elements/Location.qll 0a68fcbf8bbfa2f4c16e2e9c3ef89eb75b2698a77322b5160405a272dd861a63 859242550a7abed61d975a76d56ff01c2b554ccc54cc14120fa094162d1c2d73 +lib/codeql/xpp/elements/MaxAggregateSelection.qll 6dcbf652e7247c069e608062cd18721fc63a25c9dad315e6b8d6ee25342b7bf3 a962ddf7afbc8efa09ffea37860fa0787979c7e629846faaf3c6850923cbbe5c +lib/codeql/xpp/elements/Method.qll 04f67013ad1ddf127c79759a0a203e97974760dac5632a5857ffc16d5466c680 8675b4b0aa8b615824a697feb798c521a0c093e2388f190a8a10fcd493733e7f +lib/codeql/xpp/elements/MethodOrDelegate.qll 6942d828a825e642e1f531a2c60a79ce0fea0c4511bc47d095916195de5d47fc ca4939c9e415c13c11d2d0b73e0f4845e2f8d17b38fbd7757567288aeedfa3ab +lib/codeql/xpp/elements/MinAggregateSelection.qll 3a2aabd8df18d83033c90ff7cd061cd4c8f13505ee845e369b493bab33656833 f1492224972b0d4b91e90b57d18aab41d7523086b7e1a38216eda2d670aec490 +lib/codeql/xpp/elements/ModExpression.qll 75e59cb7e3a7ee950e30702904826e9166029ff371b15bb56e61ffc75656593c e79401d4ba1ac6c5eb8a62fc891cc92ca8657e945623da18e02d360a3d7f5cb9 +lib/codeql/xpp/elements/ModelElement.qll 8530785741f7965e8900cbba5be9078db1764cbe998f8d93e505a20e4f664e61 ab0341c704f782a429c1fd3e8af15a62b4b8cdcb071cf1ea42a866b411502c81 +lib/codeql/xpp/elements/ModelElementUsingEntry.qll 2e436a7f6cbf1caed029d334b23291ec437aa479df44489cf5dde5fec10bf73e c6144a18efad63433c67c335a4757c5430cc0ddfc236539ac54e9b242d14e4f1 +lib/codeql/xpp/elements/Modifier.qll ce81c10af9f4348ff277bc51027f599e2f10116967efa1ff141be8707ccb5c08 bc2dfa432b4eb997ce8a6b94dc7e323b5c63522788aaaccde3113a5f1ccafbee +lib/codeql/xpp/elements/MoveCursorStatement.qll f79841eac15da37e9f06219f36a24966ff90efccf03bd4672cec247be0e49f61 2175935e171a381b7b2d106d84dc0452cccd05a93a44215702d20a97185f1775 +lib/codeql/xpp/elements/MultiplyExpression.qll bc467d7e336743d1416aea48472dedbe86d1041f6c91c19fac688bdd82d7f319 8172a0f0c39ee5ef3380405e08833b21e0e80884b08b8646931f78e60a0b2928 +lib/codeql/xpp/elements/NamedFieldReference.qll 1cc44c81c70442378937bb3054caaa8da0d37f7f70972c9d6dd3a0c3323439a6 b0f80fba4c4607998a3d9de30f8a613a519ff8437245a5466cdb63e6e3eeab1e +lib/codeql/xpp/elements/NamedType.qll e7e609ee0c94163b6b4c58e0b010c6a9d33169209785c411de63731267966cce e2fb105ff0ddb85f62de090122b48b2a11123516c558ef1647912a052f21e7fb +lib/codeql/xpp/elements/NewCall.qll bb559a16824413d66f8d65b2d0466c95933ba061fed3d70ea0e22325ecc19109 09ed1752ce08c4d6dd4279de1b29d49c1a56df8be5163961b6971488bf2d2817 +lib/codeql/xpp/elements/NewClrArrayExpression.qll fdb41b7f3c7964623b669d7a13aaab7be6f2ab290aaae670bec9c748f7715a9a 86991703dbc8b3ceb625434606e2bee5622b8edb7a87b7f73dd7ef117a96ab9a +lib/codeql/xpp/elements/NewClrCall.qll 9f5f8d7650977f4ab53d66d7d742b3487000968efad6a6f35928e0d7a7469700 e959d80a361e7f5932116048d279cbb2c888eea20c06810754d9b9c48c0333d2 +lib/codeql/xpp/elements/NextExpression.qll 0f8c2f88991f9624b3519b0f19fdbc6d2dcbc6ac79af797fad1fb31d3b647699 f8be949c5054555c8376f720a53d8afc6699a9816197d23321882c024531e8ba +lib/codeql/xpp/elements/NotEqualExpression.qll 560d8e87cb311899e19c72d9d89989fd296f97730c32ef1dd6ee7eef69431ae7 ad878355a2577836a6477c6b3d6bbfa2b9b0da6d50377ccd8f4b2f5efc2dac07 +lib/codeql/xpp/elements/NotExpression.qll efff8c932a02ea0ec541321a3521814f6d99b2a60fef9525e613d97a060a9b23 759f2026783506755e109cbf70c43911db45cad2684c52377fc215e27b510842 +lib/codeql/xpp/elements/NullLiteralExpression.qll e1127964db1e733f1c0f8546517e386131c759b957f94163c3abe5ec957ae6fe a454155c08979b9861b0cab9024bdc06586b8db42af81b5e0887acb7d5aeef17 +lib/codeql/xpp/elements/NumberedFieldReference.qll 7aa0c84676ba48dfcc46df0ac6e1d07dff3835f604c16fc4f95907523bf9311d d78f5a8648139c65fd33b1c8bc93b33b36bb0a96bfc01bd7074826bfbea57617 +lib/codeql/xpp/elements/OrExpression.qll 01e1624159da99f9c116206dac9d5209f8fef6d3fa3fcd2ad6b23c5ab95610ec 382c46e2e804e09647d855b05e1c89c492186dd1ad5760de83656715303a220f +lib/codeql/xpp/elements/OrderElement.qll 70c6215b8192f05a042c5189e8a23708183c282779279088beb9a3a0e65b62ad 1d67cd96210d7e1288265838fe76ed7513ddbdc3de5088bd6db7c2c2608f4161 +lib/codeql/xpp/elements/ParameterDeclaration.qll ada62581493f561b57922b45668bcd8930ef2fba52a2ce5a830562bb5289b2d6 b6f8bf5107ead70c9006bba2293fbc781a5f81d92de293678c591d41137f593a +lib/codeql/xpp/elements/PhysicalAndExpression.qll 37ea23c66cd1fbfed7714678195215514abfba1536566f141f58158574ac4c24 8ef20b6ddfc0946f85a60143623a223a87f893a9b59ec70a5001de5d3a0509b3 +lib/codeql/xpp/elements/PhysicalNotExpression.qll 1684a3ec6c3776026a2a5e23e736dd38678bbd710fdff60214e4e58b6fbe8fbe f54e9fddb32112e61be6b942927e55c9de9c470c974135a684fe1222e1b97d34 +lib/codeql/xpp/elements/PhysicalOrExpression.qll 217ac268dcb9c9c3c171becab63fdd2dc26292b8f623dfaec5410cb271f337e0 0db5e08604ca6fad4009cbc6a8405dea272571cbec90da93226831fd4fe2a56d +lib/codeql/xpp/elements/PhysicalXorExpression.qll 1492e91be56408e8a048a21bbd0f381b9917281be292584950cd9c317cd8f33c 9412a26509a314c902e394b081316f64dc07fc63206929b1f7ce626fb77048cc +lib/codeql/xpp/elements/Placeholder.qll 4556336905dee2a8bce790ca84e71afe547d2152190666db4d9a083819e0f052 a044b9924067f6111fec4eb3dcb61c78172eee9f1f2d75ddb34a99e68f27d5be +lib/codeql/xpp/elements/PrintStatement.qll 0928b5ab55237ab6a9abe0143f3881291ada10e039919f9d51b4e126ecca71bf 29d6d7e23bd8d65e15fcac9873daa991db943bf0d927c910dcdbe443f2fa30d8 +lib/codeql/xpp/elements/ProvidedType.qll c86c57408374739866851777a6666b4e8384934a874818c2e9da4e41f2f0b1a0 3347c0f1f4cc1abf56bffeb72d1ce8c9ec30cebdacf2a6ea52de21b490e32f80 +lib/codeql/xpp/elements/ProvidedTypeStaticCall.qll 393c15d9f147277ea5a2aae63cf9aa3961a9dd3e497ea6edb0e3dc3f4afdfaaa 5f2265473c4ec0b0c940e3c041e97c697aa5dce1abaf8042f8c61461430e4739 +lib/codeql/xpp/elements/QualifiedCall.qll 651de390ae53ee76b15cbe7d995b81e45d2b4154b61ae4583f574f6f54aa340d 975580e2558af3070a102c5bc7d3ad8ba49d442d53fefcaaa5e1b87fc753c438 +lib/codeql/xpp/elements/QualifiedField.qll 6c0152a39381d7c275bcc7a40f6172d3d49f12174e4a63748acc5a7657d6197d fc16663a418214173300ae40480732f7fe5139258aaf5be89423423cda8c80fb +lib/codeql/xpp/elements/QualifiedInstanceName.qll e9b17b979f0c3e43cab10ff43334556003eda28811ee32cd2482507ba2e915db c83276b8d70923783529eeca5444d30dc67501b535d68611d323a1ac7d9ce1af +lib/codeql/xpp/elements/QualifiedNumberedField.qll 014467ab8939c458da07286a6c33068990758e5e22905acd6225acf9548a0693 10308000bb620a433de02849dec9cde17fc32ced09f37dc073a97afd36f6603f +lib/codeql/xpp/elements/QualifiedStaticCall.qll 932719b7bb14424bed98712ab062147e5d58e6cc469ea6ac3888e39fc3b49cf9 b3213b2b1d23fcba9dc2abb6d4f55e0a0171c3b188d45084d33e9f5141733f10 +lib/codeql/xpp/elements/QualifiedStaticField.qll 583041ade7868a22990733364dcb089e05b8834e9b75a5e0fbfc91ab92bf5fd0 d3a1b9a1f54c7e248e657124601f5fd9dcd2d1326c185f500d121f7184008e68 +lib/codeql/xpp/elements/QualifiedStaticFieldExpression.qll c32cd3b876c1a0f8cd4c8e17cfd2ad3f41467c8931ea1b84eaed6ae9ceed82cf 8b9e04ffb1ec844e17b3a80a4b239fe3bc1f4bcef47469fc754be534b8197df4 +lib/codeql/xpp/elements/Qualifier.qll 2c8508ffd498657a3a4431fe4f2f48cc70522513c8286b04d475f00de635f18d 230d42248714fb4f107fda61575388e21ecccc572fd4a0897b3a1ccfe4f3252b +lib/codeql/xpp/elements/Query.qll 0d9b27a4c7d535843c2fcf50923654d8bf33a8ea1e5f3d014d6f7447f6d0ba16 4a99dae2cb688f802eed00e1b80e39af6f39399a2a250f8ff35359fabbe3ac48 +lib/codeql/xpp/elements/QueryDataSource.qll 08b73acf7e9ef4490ae096a572344d333f7ea40c176ec3f1a5ca7e0cf6319b8e dcb3d445f8a7d270c9c434b1156ffcb7b9aded0f612e413b4706bc1f41294c21 +lib/codeql/xpp/elements/QueryDataSourceHaving.qll c6c14f320a5fcae024b54d90fcc21411ef03572b9f6a7474372378059bab5e88 d8b20912ce601b6f9bc165494b0ec672dc80553e6edc4e0e150dd09ce288e7f0 +lib/codeql/xpp/elements/QueryDataSourceRange.qll 1b6d00e8b281ad764fcbf1fd79eed13d2079deb2e0ba7ee0c1fcd3d7cd5707bd 4a66c662e28125292f46ddaf767ea615fb3c4571c7c49b918c04aae02480ed11 +lib/codeql/xpp/elements/QueryDataSourceRelation.qll 26cf7a2f5bbc6372d938c0eeacc2820bf0157c0ae1f21eb245e8e35f0a07484f faf5d922e08df6684299a7bf75b3590f75f4e578621e43343f6b90c11e3480fb +lib/codeql/xpp/elements/QueryModelElement.qll 9a37260208fe148878e69e9d9d2a829f8aac799d61944344ade761fa644ea83c 9b5a1b5fc9e40feb9333ebd16441088b7b4fadff4fa961c969221314e238372a +lib/codeql/xpp/elements/RealLiteralExpression.qll 60cc42056c93dcb0cd7d6cfbb2741591830b9b9ec19466a7cb36697e323a91ef 2a41d82c76f2f50850d9a9388b9a7fccbac61923596ec9860e121edd046ff0cd +lib/codeql/xpp/elements/RelationalExpression.qll 87175f6227ce6045d18adefa0933d909fe5a99ef80c6a45a0f93ac80ad8759f4 9c26e8f83cd1382b6b62e1043d621d0599bf375025c20e9db806e79086b346bd +lib/codeql/xpp/elements/RetryStatement.qll fbfaae1c4b3ae3f884c720e6f2602c61603936e72bb9b8c15295f7cb73c44eb6 ada2e9af555419108f4256c6e914744678b053ac0426e0a44107dc983bf13ec7 +lib/codeql/xpp/elements/ReturnStatement.qll 3a531335d482e74219059dad4ad362b4ad19e08a3a014f32a1aba17889ffe525 7c3e8f22270657b1757d43313eb359d16de1258667636a3ada96dd1367f42861 +lib/codeql/xpp/elements/SearchStatement.qll 50352606d1361847976b916ddebc1aef68c6e7693685c738227d1c00ffeb1ff7 abef16bf28543d0c8f9119d07bdab086c2ac8d91b8134516a3ce56d3edcbbce3 +lib/codeql/xpp/elements/Selection.qll aed1c1a4b5bf326f0e70c916f8079181e4039f7948a075fca043a4ff2c64ba0d c9ae9609b49fde691f687b01f627a53fe24ab2ac56b134f444fdf8570dc9bf9a +lib/codeql/xpp/elements/SelectionField.qll c8cd9510834cb52d9cc81b556638962a72107183b44f5fe60cdd9ac0900ffdcf 5147160e5e839626ecea2eebaa599b00a77a9d8aa8bfca502d99364dd8899b6c +lib/codeql/xpp/elements/ShiftLeftExpression.qll b8da17f2be085fec7f105caf986bb9242886742335045b2022c6c23d59ef16da 947df11b3a8ee41f5d6f1004bcb63ded1785d1152ac49d566b7c00e15622b3b9 +lib/codeql/xpp/elements/ShiftRightExpression.qll bce119c5d986ea87b5a91e626dfe20f5576b331d8f5892beb2937731c28359c2 19547e3f63cf51b2cca3242b7877044514f48b48dbdcc79631289495052ac6c6 +lib/codeql/xpp/elements/SimpleField.qll 7c2ba9c0a8e15bff61baa10115727a1ec0216d68ecf43c1fcc15398ba225414c 1b035a882f4eeaa3061e76e52fcee3e706f2ae42d0ff3679f63df46945d8eca7 +lib/codeql/xpp/elements/SimpleInstanceName.qll 80682cba090bfeab1103e2f328e5ff59bdbceaf24880701ad03c7b6233707a39 b20e5da0809fc8d6023cc8cc2fe651c7309beec1d1829e6b21d091ce233b1b32 +lib/codeql/xpp/elements/SimpleOrderElement.qll cd4154741691dae3bb52d09ac216c1b7c6500a84970209d3e98f2cb12797121a 6dcea64a00308250ac3ea82a9211d01e1c2fb4f6bbad0d66d16521378f658136 +lib/codeql/xpp/elements/SimpleQualifier.qll a6f00a25d504f44a9d3682b6a59077e0a442ac96dfd99580bdb0046695e6c5a0 c1207bbc5c296a0fe19ce87556f9a74976c1c64c94820d8c58b0ed8eb454eaf9 +lib/codeql/xpp/elements/Statement.qll 3fb242baade0c197c54bb3c543c160258e0ca49c69cccaa8b768e45fcbc4b1f5 a5482c995868edfce41bafaf65423ecd8e8f8e8fa30f6cf386d5de6287aa3ce7 +lib/codeql/xpp/elements/StaticField.qll 4d89908c2f5210a80100f2fa14f37ed5052e687794544d5c9202e0bc6c3b1892 6415b05d6b0353760b5ad1dd2c183d2f5299b3281a834dec3e6b77e8b2e64356 +lib/codeql/xpp/elements/StaticMethodCall.qll 003b2717553685bab765999a315f41f99b64465ceba22aeaab75976f1c7bd904 945c6d7e7c39e51e30e4cfae96f5fcb26fc353287dfc10dc59622b3fb4002502 +lib/codeql/xpp/elements/StaticQualifier.qll 3cc96b983fac3915608e8eae440adeea8572b76529376908cfa0953ce80be9dd f32e36a8b04be387422d9ce6bc8bae5bd588e39113532b9fcc10ecf6aa585e99 +lib/codeql/xpp/elements/StringAttributeLiteral.qll a8ada457b678d2b8e82fc9bcb6179a55f88a9d0aac68bcfd7e12b7c46a731f7f 9fdf30a0142a43f5c4aa8563f5187097a1c505e616a85825e1375782c4274283 +lib/codeql/xpp/elements/StringLengthType.qll ec45d95d82993d786e804a0a622fcd6b89da0f05d4de2c90377ea6de455270c1 622cfb8f835e221dbced0875083c4e3a9a56a365ec342755eefd4b92dec23e97 +lib/codeql/xpp/elements/StringLiteralExpression.qll edbd98d6c0e1388852aee981aac2d0f5c849c2b4b11c6469aa6ced07c20c6e15 d687812c9f8c491b8107c533d5e6fda513cf31fbfbeb8b58bc4a49c99b0eaf73 +lib/codeql/xpp/elements/StringType.qll 3528f13351a314c8f63baa385ac7305ca90212b786ff993d63d6f9792b601771 d992b4282cb5ff612ef738c70c177d2b382c41d8c27c9c6cb34ab9124246629e +lib/codeql/xpp/elements/SubtractExpression.qll f9a47a8087ba3c8644b590f7081b19c608677e31adba820b94894ab3f4b0c3cd 6f8eee0c40018c2925b53102b6a5b6b27eb0777467640c8316dc535de30cea93 +lib/codeql/xpp/elements/SumAggregateSelection.qll 46b37611aa7ad59e013a6e9d2b6da3047ad2ece8fdf9da8963ec05ad87888b3a f292ada68f9a533937ff4bbcbf500e9df8f0f72893f606521c67e3c40c8bea4b +lib/codeql/xpp/elements/SuperCall.qll 5990c3a98933fe2221e6f621f7f11791a31d11ee1ffbc7dce3fa0a146999cac4 42ad5b46dddd19d1382d1ae3e86e1517eb1731911079996c424ddd669e4a31b2 +lib/codeql/xpp/elements/SwitchCase.qll a201d08a817190e2188205c145ef8f39b5f41bd672695c514868255a0a462053 62299f5ea445689edfd5285dc889a841f00a139571b89347f287f45c59378dca +lib/codeql/xpp/elements/SwitchStatement.qll 48ded2f2d80f84bd870522fc0b6216678fc7d583a62fee087b94005534880293 ab46d7d1fe7ff4a322594ee8982fac1769fa640fa8d45b2a64e7ffc70f9283bd +lib/codeql/xpp/elements/SwitchStatementCaseEntry.qll 3ae5a627c8af77fb7da8a5fcfa2676c0c73b7d54edf1737d38e6dfc9f2aa2349 aeb754cb8f0c042d98fb389060d8c904641cc31b8eb6954fe9f0c95666737f1f +lib/codeql/xpp/elements/Table.qll c458c02efd4a2d14ee7eff9301e39cc9ff4a00b461214be6bbaf6d548666c8f5 613ed1fb017283958d217b56cb866d412fa8f54fd58d146dd4e2f90de01a8e0a +lib/codeql/xpp/elements/TableFieldDeclaration.qll 9ecf44e27d6a9c9ded54b6c011e3dfe2569a203b2285fedcd7e1f5a08727b2cf 1fa3a6f2dc2087637420cfcb7ec4b0967c5ddbba9f9cfa2b1aed296c3e5c0b7d +lib/codeql/xpp/elements/TableFieldReference.qll bff8e4f72d723c1db1345908cafcd5a539af822cb2147bb74a411bee3bfb3a81 bb851b0ab5851d01767aacb0cb3b6ae22d42010f74e11a22226e7be5d969ba98 +lib/codeql/xpp/elements/TableLookupExpression.qll 38989d4c977fa7d461ddefbe97ffbe28ab4874c9dfd3238faee5b07286bfe1a5 b63f9d33eb65c3d752233ae099a21bce4bc14c047abcc9366708d8545688ceb0 +lib/codeql/xpp/elements/ThrowStatement.qll e3d1072beb5ee8616a05118d3a0dc62c4fcd084f092afb0fdec2cce614cc6324 805fba852fe62f71112222632de516523576aec9c0a82bc937464fc9132faefb +lib/codeql/xpp/elements/TryStatement.qll 6fe7cdbd3cf239303c677fef6a521cef6e8ff54c6b0d92b9ac099a35e99a79d2 db70e8e82d6cde90b11241cf212e9e5be77d224a48178ec6ccb81696f765c4b7 +lib/codeql/xpp/elements/TryStatementCatchEntry.qll c7ed06d9b643272c1a0c58b39b541755ef9615b0196ab1f2c0245e98d71e3ba1 b9163e1ed3169e3cc8bd35b7977e9337b5d2e1ceb9e44fcd322028f1e4cc737a +lib/codeql/xpp/elements/TtsAbortStatement.qll 491aa4f5a383750474bf1440ab51dc59daea68e3c69b2d965522558fa44d721e 5e36cfde74c6723485b507c96078a7bee4d504cfcd96267d185da0af2fcf2c00 +lib/codeql/xpp/elements/TtsBeginStatement.qll 015e7e3081d372e252d350e71ca204f68cf3cad9f45f1f00807911f9f307d351 24164a9ee24f815ff633676435a5208e512fad405a99db0cff33170402eae2e6 +lib/codeql/xpp/elements/TtsEndStatement.qll 226544266aa86e3b20cf65e5d4e1c04c60f162cf4c216b8873f863d4e6db2edc b63ab1aa49680f4181a314d3289009a290e31ea2cc8a9ff1be3cc48327b2d5f2 +lib/codeql/xpp/elements/TtsStatement.qll c3fef18b56ae4ffeac6a160889124b53045beeb5ed7e591c8cdf4e5df50f8512 601e1b875e489f914d2fee45a79072f8b0488361f385f4db80aa88c025efb1ce +lib/codeql/xpp/elements/UnaryExpression.qll a63e6d1b402489be694ce3406957091656d41eecca91ebcd7901975c9c643f8c 39f3b2050a1f3a29c66858d0c626838b5797f1d0e43db7c2672f14e561c1b175 +lib/codeql/xpp/elements/UnaryMinusExpression.qll 0782706876a91278bc9759e09a8a9baa5d5de402ff30547059e7487c36562d4a f4d79ed1cfa05d4b3a7a4cbdf6114519593fc486a5a16af1d64107a6aeaaed12 +lib/codeql/xpp/elements/UncheckedStatement.qll e4844f6efcd08d446e939b3b7f4430a60124fd73f974435477d526a88b769812 42041dfe7eadb4b05509182596bcfa2aae5bd8d2ff0517ec53727fa10d3eb9df +lib/codeql/xpp/elements/UnspecifiedElement.qll 6a77922639237ee0cf7bca50392e63d5c7ea7db46a90997c39b4cd26333a9b95 8ff27376c28006b32550914559ae8c72f58677c1f1bf896ba6ba464385071db1 +lib/codeql/xpp/elements/UpdateStatement.qll 705d3583bf413cf80e1d870e27cad83d267fdaade4deadc780360d5f39970c73 2d7c5b297ff6f2e7ba4fd160cf6ddf76015af579cc63943e254f9e4996911b70 +lib/codeql/xpp/elements/UsingStatement.qll 47c7fbb835b4019b0e541a2ccf821012dfdc52bfc0ec3c7a6156226572c86fd8 6d88b20fa45189d38ab986f58f945ed046ca4ab0c98decab0b03a043b1c00445 +lib/codeql/xpp/elements/ValidTimeState.qll 93e4a50fa3389374c504be93209fea8386a5f53da93369b92a74370062f606b9 1c9724de54f54cbc6c9e27dd14d029c9a8ed4973c0fa2d873acaad15c72195cc +lib/codeql/xpp/elements/ValidTimeStateDate.qll 41676af6a0a9697b1383463602f9c3b290b7d602b41a44aadfc1019e622a6e03 b06674e41cfc61f02b2755ade3ecb03d6646a8a3d5ca7ce4a117426e0910077c +lib/codeql/xpp/elements/ValidTimeStateRange.qll 715b29ce1dadafec41882ed34eb630a99879e99b692e25443ad7268e1942d5b0 9884e5e6eb2f364f5e13a01d3b4ba63d91cd9ea4958566831eb308fc28a28bd1 +lib/codeql/xpp/elements/VarType.qll b6ffc1acf19129016559b083a212eb8683f90500d4a0b61a2be24cc73dc8dd39 294ee1509f535707ce0ff226db41f4170456609e1151e4f2cebfdef0a53cfe4f +lib/codeql/xpp/elements/VariableDeclaration.qll 0264cd7987d1568ff28a3c3369b6f0882f3a237a215c29dca691839ef14ab42c 80bb3a4249b6202546a22a4a0fd45690325c54098ae0887cc052f24056ca76d2 +lib/codeql/xpp/elements/VoidType.qll e25a1fea11fa86f9ea5c4644c798ef25593d84189ca43234a316d38bc19a9e3b a7fa5e0d284cee12673882b386a7b254bee1081276965387f9121ab5e3a1a7ce +lib/codeql/xpp/elements/WhileStatement.qll 8b4b8925ba630ed17f5ba7ae31351c5a273acf6f6dee2453e73e4ecb8d15f731 c5de0c2445002111dba6655a81886a4f5ed3e62e62a72b27208c25c04f77f232 +lib/codeql/xpp/elements/XppTuple.qll 3b3cbc9d2d5ab228bd8e5afc893a852bde042009509ac0aed280299269c96ead 56cde522c3a823c019c2597471026a7cfec09f7140d5f538f288c3607f856e3f +lib/codeql/xpp/elements/XppType.qll 6d07f54d6fbfe27bc543e041a8dba01918be289d8d961d64d0cd799ee2779977 14358c9d1fa80f955b50ee4410885c8894e7434bba9fa10756900649f9bec3b6 +lib/codeql/xpp/elements/XppTypeCompilationUnit.qll 96d628eeba778bd64a9fa365be23406e237ae0079eb88126c2585c362938f4e0 2bb8b9a472127cd6592125bc429766847c15a8bad5a2abd922cdb21908f85403 +lib/codeql/xpp/elements/internal/AddExpressionConstructor.qll b50e97deb68dcc9843b45f20a97db6f228690120d56be24262dbdcd670fcdd77 1c450ae23725158b05b30b001bd406c628548ca236879938dfde74f6bfe934a0 +lib/codeql/xpp/elements/internal/AddExpressionImpl.qll cb41608db7883064ed17f4d6395911622a81611712f60770761ed012ddd178f9 6804d5dcedc6f754b319073658df0516eb34ca89f7b8b94a72dd1f4d82e48b53 +lib/codeql/xpp/elements/internal/AggregateSelectionImpl.qll 591121fd40b21ccabbfcbf736d17c4ba91ab1090904e17f96846b2d017da503b 27c657568903ca8209a2af96d6f5d36d80c06fe2b9ca7c54d309b71cdd3f80e4 +lib/codeql/xpp/elements/internal/AllFieldsSelectionConstructor.qll 98778cfdecbe94d3bfd473719046c22ae82095341ac389d5901450b8d08f997e 45949ca415f132316cfe83e82ba0997ec62c379cf8aded6f1140c69e4da74ee9 +lib/codeql/xpp/elements/internal/AllFieldsSelectionImpl.qll 929b4c24f7d03e4544c8224c2be794776a49be0e202c6d8a20adb752ec8cf944 8aa381165cd068e5d3574c5dea50e11dd248e59afac4e96edd1f34ee46493945 +lib/codeql/xpp/elements/internal/AndExpressionConstructor.qll f8dc211d2ef8f3b9002b38ba4028fdf2b494c5dc949bc65bb54bd9cd350aea79 51e39b5e73110ee1642c235dab0ea50655b796a53c1584eb6cb4e0dd74dd6124 +lib/codeql/xpp/elements/internal/AndExpressionImpl.qll 3878a82098b992e84e2c49edea6a5de420472f91820468071ef678b2b4f9e735 def3587b1928570ffb2d83a66346c5b51cdd486a9d327de0425e7409bbfff7d8 +lib/codeql/xpp/elements/internal/AnyTypeConstructor.qll 815be9f100d1c423d6cf34abf8d66c27c3a06cbac31a590f47682aed470976f4 06372a4162052ee8b922dd272bf2d06c89815eee5e27e3d67aa77d3859050835 +lib/codeql/xpp/elements/internal/AnyTypeImpl.qll 32c0250e90429ea04a99f46c22b2ce53bb167c00f3b1f4b7916d0d8f1b21d639 a39b4feefbdc5c1e6afda4094ec111350dded7af56930ce3a7028a36c6d1335c +lib/codeql/xpp/elements/internal/ArraySpecificationConstructor.qll d2cbd17f6468e82936e62ac958f593797dcf9932f554006aefeb676e82a19d53 af72b76d49156d51769e3b533c9329659d73dfda4d113cdeb7c225c76b6cd734 +lib/codeql/xpp/elements/internal/ArraySpecificationImpl.qll a5dbdb818278f0fd31b5d37d00b2c615550dc4e2ae177b7f8ea129d9b995ae92 53c1dc73bc7c39b89a2784ceadfd950211aabc0452375be1e0bd8fd125e394b0 +lib/codeql/xpp/elements/internal/AsClrExpressionConstructor.qll 0462f058d6e142e9b913ec798afc45b1aed980693405f981f3cd74086f5f59ca 50f51d4126cc30cea616b80aa40a504ba34f56658d5931d62886f40c66159f82 +lib/codeql/xpp/elements/internal/AsClrExpressionImpl.qll 4aa424dc210a73fae6f585856b3b7782acf53f33294e79224f3919885ccd3dff 8ba6b98931da840f24b37566e617c0d7261f7ff98d1f211d23bea68df848f9a0 +lib/codeql/xpp/elements/internal/AsExpressionConstructor.qll c3473349b4092ec2518ea0a38ca1abaaeafe4c6a3851191182be2c54ca5cd7df 52bb9d36e994dc048352712fdba7009e550d7aee6898df6a77b17c89be38892e +lib/codeql/xpp/elements/internal/AsExpressionImpl.qll 8c0e25976b8e52b48183cb32b9febed2c009d63cb6e94f754575a98a5e732dc9 04af685f57aa8e09a002e87f5e02ddb3f93e7b9bc18083afe7dbc142d0474316 +lib/codeql/xpp/elements/internal/AssignDecrementStatementConstructor.qll b7f15840bbb13442eb0ab31e5286598e911f17d49e62d504e145dd2b2e7c4dfb 35bd0684582a830c2aad4224a0b4a2ff26cf458f30d2c00b0be22f034323e1cf +lib/codeql/xpp/elements/internal/AssignDecrementStatementImpl.qll 10181a307af2f97c53a852b3de59a650cccb33e282b81b77822bbdf78e75dc56 ffe4515ecd275b60e74f5b00bcabf9add4f9e93bf1dd42dc2ccdfd7d647d1eb0 +lib/codeql/xpp/elements/internal/AssignDivideStatementConstructor.qll fa24943975bf3af329f1a9c4459f3b6afcca3cb8039aa09db009b2102aa3edc7 2b5a5cb0bf52d404b0d4f54689e0d19778d93d90f80e747686941ee471264b74 +lib/codeql/xpp/elements/internal/AssignDivideStatementImpl.qll ef0c2387b1f16f0f25d92f012335c828634e3f2fbf44b0018e0265fc92b0d84e 549203ef6bc64ed8269d299bc180710dfb2007d9517263deb0f17b7570c042f4 +lib/codeql/xpp/elements/internal/AssignEqualStatementConstructor.qll 95a9f52ef1942f55bd4eb63f1c42fde58ddc8706acd17c55d51cc182b19b8434 13e4b00dc4574a47b7c2fc18e36c3ae16c788debd61dede30d689fcb18488f03 +lib/codeql/xpp/elements/internal/AssignEqualStatementImpl.qll d296c45f6c3479fe108f0e761627be8e1f3f678d9135f3ff4eaca687db41af43 00dd8e976c26973bae3cfc64c436a72cbe01b8e796360001e5c8eb55e8a8ddd0 +lib/codeql/xpp/elements/internal/AssignIncrementStatementConstructor.qll 80016c8c66a87487c32a74d5711f6e5d6400619b7bf6f9ef56879be0c05e581b dc541772600cd08d168b469d079c17baf65ce9483bb03f97187f20422f8df2b5 +lib/codeql/xpp/elements/internal/AssignIncrementStatementImpl.qll 61da0da8b909fb8c345b8b4c3b0925714b60778f763698056dc9b026e78c0e9e 39e76c6888372b35e6d74d1bda9e8db8e41def75c756d90fd5f31849f1afaf7b +lib/codeql/xpp/elements/internal/AssignMultipleFieldStatementConstructor.qll bd34c73904e1b078a4d0e4a6048c48b1a6b8d7b2c13ba710b0d571a1d90872b3 e031c246e9501f7224661631e2f50491b9fed5cf7d0450a6f1ed723aa8bb5422 +lib/codeql/xpp/elements/internal/AssignMultipleFieldStatementImpl.qll 5020d97b1535f37f43f709201b607f184e4add2467592ff7bd1fffbd8fb417e8 f6d3b77f03cd8a255eec411835468e4645f0a6d5e8e803d8f14f861289559e2e +lib/codeql/xpp/elements/internal/AssignMultiplyStatementConstructor.qll f34c3ffb0e2cb520b73d587186c8c6242ab49df150a12bd2200b47a374f5ac79 40b0385c09fd82c1f2f142544dcc63b4835521013817a79591fd9cf7aeb6b7c6 +lib/codeql/xpp/elements/internal/AssignMultiplyStatementImpl.qll c19f2b9c69aa040be709cff8a8dec65c32a0652d4b64885c16cd1eb63e58d535 6607ad769fcce9c03a5cb20220d4f79d3c8c70e3d3e8b0a3b64a96aabc4ae671 +lib/codeql/xpp/elements/internal/AssignPostDecrementStatementConstructor.qll ccda5d218f3dc496d7cbb4a567f977924486c6dadab3c7bd430e2100760717bd 30e1d88d21a68f4202c95a9f5e9b6e80bbf86042fc62bc49641b9ed876c1707b +lib/codeql/xpp/elements/internal/AssignPostDecrementStatementImpl.qll b40a8e9fbe22fdecd6ce2497c4924738a28b2956ddb77fda60948fc84c79ca9a 251aa843869c4b0e629d5ee5012d59265407bfbfade2aeda4e07a072e20d9242 +lib/codeql/xpp/elements/internal/AssignPostIncrementStatementConstructor.qll 5ba66a6b685513e7ca040c79e9e8e4c606df9ddec9a5f20e5170efd4ce6bbe3a e9b008f5cbe02aaa82b9f2900eb58f76d8522a74479f88e69a99624389b4a7d7 +lib/codeql/xpp/elements/internal/AssignPostIncrementStatementImpl.qll 9c041ecc06f63d574aec145bf159e81c6abea8717c73737dfdb16ad63c57de5f 8a03c4db0aaa45915e86c6cf7701be9ff988c0163909ad6e468171d23a10bd29 +lib/codeql/xpp/elements/internal/AssignPreDecrementStatementConstructor.qll 5ca8ed6550fa1915898f524f77e84be95d55d8ad246bbccec46fe4df00971620 78eccc19c068feb31284b002640128dbe5627153e40f7107344cdc4cff888d7e +lib/codeql/xpp/elements/internal/AssignPreDecrementStatementImpl.qll e89b13572779af0f35c837ada709718d4e51c839da5cb7077d65eed50f9a3ed2 0b3c7397bd67ba5029052207cf44f0ff8b3d1a8cbc2e858fac9e81692dd86548 +lib/codeql/xpp/elements/internal/AssignPreIncrementStatementConstructor.qll ab050249d16ef35557991eb2e3486bb341ced1718c65a9e25c2cea8b1324d974 6f256db7d0eeee3f443a0463bbf4318acfb6ddb9144b58e95ceed80d68079796 +lib/codeql/xpp/elements/internal/AssignPreIncrementStatementImpl.qll 536834c6b88cb02fd4d4fea5129b94282d31a4fe53826ae87ad26eab097389ba 8210c0b45fe654afb192372e607e6ba6b6a24099538148a3f4ed2accc668fddb +lib/codeql/xpp/elements/internal/AssignmentBinaryImpl.qll dfd2342cd739faa42b7490324e74399772e897205ad48051b7e5582257031a49 2029bedcdb31d6cd641e05d597342ce65c6d242f0695bed2c6ce617b2a75a859 +lib/codeql/xpp/elements/internal/AssignmentEventHandlerBaseImpl.qll 3e7542b8dad36e3c6bc32f3297ea1a3842769d44c770e81f643e51b20c7c1bd5 d2d7cedef3416d653a18dc4e32cd8dd8e90dc3c99a064ae38d20470ad072b043 +lib/codeql/xpp/elements/internal/AssignmentEventHandlerClrConstructor.qll 999849ebad452389be71e2b8c240420a052768a5311c3b997355e870292652e1 26e4b79761f3b7f438600a041b9e22c75fc127e6d7669277f38a06c39d7cb887 +lib/codeql/xpp/elements/internal/AssignmentEventHandlerClrImpl.qll 1eb495f7f8344cdb65ba7bfa71552f7c42bed7302d40b68fac558ad3461cd7ac 98a362787ffdb827967c9b69d188bd8ce69f24cf2311f200236aa51ccf3db9c0 +lib/codeql/xpp/elements/internal/AssignmentEventHandlerInstanceConstructor.qll df122de64c6d97db49a31f02ff1afb4894a1e93089fe45a838fa7843ea1f35a4 32db3d982bd7824fa9a536df768f4774222bcc1a7bfc56cf23914586efeb249e +lib/codeql/xpp/elements/internal/AssignmentEventHandlerInstanceImpl.qll 174effcf2057f95fb8298b82e22cac7b16e5de4ae7c3bc794a8bdd871f0ab781 4511f9144646d93be3ec82b0e601b6ef3c74f0772a95456ad2b4840a8a1b8484 +lib/codeql/xpp/elements/internal/AssignmentEventHandlerStaticImpl.qll da0711ce6c7a8b8715f4cb67e87b9989b5045c0f6a603f73d7b5aec55a7632f1 306e349e4a8fc6374e2c67bc2fb9b7c1837f774c0e9aa5cf3788204f915fec81 +lib/codeql/xpp/elements/internal/AssignmentSingleFieldImpl.qll 50dc79bb5a149d2936c1b699ac677e97863c6ccf3d0a60153468cd3d1f8819db 9d63f0b0666beb58c6716e178ea77690f944767ed973ec72426b3f84982fc1e2 +lib/codeql/xpp/elements/internal/AssignmentStatementImpl.qll a4e05da120e89fd3d0e76aeac2a4b5188f40afa1196fb8733b761fca3fe85be3 be1b8856d399079cc4137342cc64ea59765d59da36c8dce55471e34af872d682 +lib/codeql/xpp/elements/internal/AstImpl.qll d9e9512358dc580b8aae2dca65fe56cad3ef2077ab7134aeba03e160750bcaa6 5df9b27f41ff71752ab60a47b04629ba0faded3611b98435a8cbc5a3c15fdb07 +lib/codeql/xpp/elements/internal/AttributeConstructor.qll cfd117757e55da4e66b74c4b16eab2c38cfa7fa5627117723d212e9c284167a4 7d23f43e569f6464aaa554b0a3559104994184caacb7667c278a0ecb2012f4b4 +lib/codeql/xpp/elements/internal/AttributeExpressionConstructor.qll 8a06ccba6bbc05f63f8ddbb82754d3db9dedfc762c9743e517f123ed09396191 8169cb5cc20005740c40d377d1d64b6c62e5d81eafb54f5f43a9843b7f226982 +lib/codeql/xpp/elements/internal/AttributeExpressionImpl.qll 97f63f14e88ae588c96e454b8fa95d35f947583abd853f886bf932ff59947759 e8b33a00b154f9da01941e2a97672135f928e36431aa1d56da831bec39a76093 +lib/codeql/xpp/elements/internal/AttributeImpl.qll d9d412cac10457d744a7b2e64130823ac5167e325284132829e0777f601664fb 080fc3a1771e00d433a267a9c370ae79ebfe2feee421ad133ccdf7ab92450a69 +lib/codeql/xpp/elements/internal/AttributeListConstructor.qll 0d1805619dd0f54ae598cff0c298c8f01ce13bfcbfdbada618d0ee9314ec8d91 5cfd87c0b94beae8a9ff4f5adb192e3424fa28819d71758113962983caf02547 +lib/codeql/xpp/elements/internal/AttributeListImpl.qll 09a7e8a9abf6c5670ebc692ac79291eaf024660212a48a6cb5666e76a9565d3c 867f60b04af77c78cc904719e1e49ff8b50d735d30d5d8324d75e4a54aee06c5 +lib/codeql/xpp/elements/internal/AttributeLiteralImpl.qll cb88a8f01b4300078aa72771ecc6ea6047d64b219d9d9e59adc65dd21f9c959d fcd6b68db63c713e6c045ae4d46158fd365d4f1d93e4944ed7ef3ff623bcaf76 +lib/codeql/xpp/elements/internal/AttributeNamedParameterEntryConstructor.qll 73047a51879e8f94045cc4c850285d931cbbf3f5e4c2d47be7816bbdfa141cd0 11c372bd7c847e18eddef3209a983b589bcca4aae94b2d2ee75c38b943b62b99 +lib/codeql/xpp/elements/internal/AttributeNamedParameterEntryImpl.qll 1ddef590875e672a5aee87081dd628cd879d3de7043d03340b2ad77804cedc4b 3d61bf2ffc9f94efd3190d937e02fbf2d28f9a4b6d58917c8fb7e7b6123c203e +lib/codeql/xpp/elements/internal/AvgAggregateSelectionConstructor.qll ea589edf8e3ca796f85921d10f41cbc34b4f9ce2e942320122df5d609e62aa53 0dac64810d55bad7ffcb9465246bd21e9098e407f5720b411c8c5bada9cde599 +lib/codeql/xpp/elements/internal/AvgAggregateSelectionImpl.qll c8881a3bdeff3b4497109afe95b1ce30c806782fa9ca5aad915f2cafa8e58c38 4c216c74257abbeba663a3e7d27f4c0762ac33411768f7eee5dae41c83eea4ed +lib/codeql/xpp/elements/internal/BinaryExpressionImpl.qll 9e200be5d6fe86bb2164ddc8924d35f54404b439176c2cb41cc756a73f45df1c 60a91e14f6e88b5c93c9a38970d280aa627ea41a2ac05d1e8404e1afb776ba91 +lib/codeql/xpp/elements/internal/BooleanAttributeLiteralConstructor.qll 858518fe6abaccb173dab23cbe41f4c47e1ebb588318d57b9c920373ae8c0ba3 f1d56ee58b051ece914bb4acc7b9175b543b922ee0f98278a14dc0e7d3d2a5ab +lib/codeql/xpp/elements/internal/BooleanAttributeLiteralImpl.qll 3a4bf1bbb775d42f4d607c927d5e450b1191cde8c521f08ee4d88c3860771830 0319781d0d58f4d611e95591c99cce08697fe7b2695c230483989631fc03a569 +lib/codeql/xpp/elements/internal/BooleanLiteralExpressionConstructor.qll 7f8cbc363a6f7ccc4de82ff1ced7e53cd15a9ee6b2b48fd263bf8bcc6ac3d4eb fde85a83ad908b53adeb426eaa64847eeca63cf137701e7b0c9d9a9b3e3224c9 +lib/codeql/xpp/elements/internal/BooleanLiteralExpressionImpl.qll c6c1df4cdc9364afc5c6a80512d90cbdca6687a51b049b160c5417683866b27e f5dd14a4de9e549d508e11d841bb3794c22f282d32bb1d8f202bc0968e10546a +lib/codeql/xpp/elements/internal/BooleanTypeConstructor.qll 604cf4722513f6d93d71192e491c8086a030be7d5e647ad8b1aec60636633c1c 8ddfc3353d3615add0f49ea6d1ec32a10d290b161e1c9996a405da7aacb30882 +lib/codeql/xpp/elements/internal/BooleanTypeImpl.qll e83a3bcace9f057cbe5ae6674da9107b80d0fe717e97cf47f4971a1f05aaecda 16206bf6f6535fd7ce49ce346d41297f0d17438ac633e775e235d472a851a3f6 +lib/codeql/xpp/elements/internal/BreakStatementConstructor.qll 7199cdf71e58abcf3cbefadb5f64f168f2e71d12c001ac164ddb88b15640d4d9 4bb241a4c5d7ea4d79ef206acc744f663fda1c18366e86ad2739be5a9a4ebb96 +lib/codeql/xpp/elements/internal/BreakStatementImpl.qll 50766f12444ac488c56321e3c688a9e10d995880db8fee27576e0e180eb506ac d05d14507abd5d76d95fc4bcbc9b1ac57b668bd98756af721dc7b9475b00b6fc +lib/codeql/xpp/elements/internal/BreakpointStatementConstructor.qll 623ba94953dd83e8b3e89b0ee2b34a4db843e197f777ad5d5d70e1d2d7ab1e91 6a1d2d8472db84d3479f03f619ba822d0a3f41fcf987989c123f409410764aaa +lib/codeql/xpp/elements/internal/BreakpointStatementImpl.qll d4309f908515d10df1433615ccec52e598f20db70ba126757ff5c8a814109a8c effb21f8d240e3f0632a2b6929f54f5ed0adae31c2d6ba1217fe9d8d473c3728 +lib/codeql/xpp/elements/internal/CaseDefaultConstructor.qll 2235f2d206c4bb85e564ab447bda6b65efe53ba15ed91eaa11e11dd3ef7e5caa 7af9a66e95601c0feb09e0f88f7e06746414d46a0493066c8e9008afd532f7a7 +lib/codeql/xpp/elements/internal/CaseDefaultImpl.qll d460457b28b85148869c66911fa8b626de40d9f617db669fb70ae1a62b63e10c 6347445c1b5dc4310edc77eac0a9270a0165eedde20400ffa3a897017745b1a2 +lib/codeql/xpp/elements/internal/CaseImpl.qll 5e41d0121244e5506078874ddf53e9135f5efdf0689af5b49512cd3a4c0a0c9e 1c6153c82c0d913e6c1619e6f1a16a56652d1b200ac20cb278c6ba03c60dcf7f +lib/codeql/xpp/elements/internal/CaseValuesConstructor.qll 61c091a5f068e230d6957ab69359f9faa075752292b7eac27f777e16d3312341 58773388265ba516fb60fef32f1a7b88d11ad5a3006d65b6eebd245692fa8e58 +lib/codeql/xpp/elements/internal/CaseValuesImpl.qll 85d3a90eb2b5d728a9b4a086ef262dc08f0858434e8c0cf9db9317a94e307490 e567f6f39ef7c81e49355819adea967caaca6c0a9f7d4908d2da60bb68dd9214 +lib/codeql/xpp/elements/internal/CatchAllValuesConstructor.qll 2eee0793447b0469749c611645c6b52f93709f22d8fcf631a465c3662eb740a1 18860e879d5295b202e40652b88dd05d7209fc36dbd52fd4bcc57fae3c6b9b1c +lib/codeql/xpp/elements/internal/CatchAllValuesImpl.qll 14a121d6ddc4a46dddfdc5f164d839a678316912f4cb64991a9161da40608bab 37f102b828b036c91c45f4584a8c82fd9844787fe6b17cdaddafe70c63bcb8ac +lib/codeql/xpp/elements/internal/CatchExpressionConstructor.qll 3579c4950806ba16a24898e6541a7bc3cda31e35153faafe9c95503d14716814 c0f63cadf3e3f5d3e153c7d7d704e97540071049cd1028a198ef5d9f7d51ce2f +lib/codeql/xpp/elements/internal/CatchExpressionImpl.qll 445755bf87412d8b8c9c149e4265de7752470b2fe4f8d43af463d2faddb36073 7dd1fc142de657379e7a58b582a7677a376cb2a245151b0962e056c01a07372d +lib/codeql/xpp/elements/internal/CatchImpl.qll 852c3188f6ccc0d201ce7301f111cc61e23600735e2736585576046ea51952f3 1c6610aa2adb8f8fd71f74f784a8b3b75f383b173cade70cd558b829c7dfc25f +lib/codeql/xpp/elements/internal/CatchUpdateConflictConstructor.qll 40ddc46a4b4ed1b1a5dff736bfd8e93027abf5bd121054be2bbbdfddefdf9f70 6d754c83d399baa572bc96d905b971487997a5b7e29ea9d977584a68f50bfccc +lib/codeql/xpp/elements/internal/CatchUpdateConflictImpl.qll 7a4b7734f73b4bca8b65c1aed665fce3c8ab2f3daa37f14ac80bbbf4905c13f2 e98dfd0e3196cf20b0c0c379711da74b3c5f718c70737eea87df97be73d44dcc +lib/codeql/xpp/elements/internal/ChangeCompanyStatementConstructor.qll bf956706b927fa867b7124bbc100c021a79a5e98c6f41209aa030187ee26475f c6d40f0dcee69b3599643d64cc0b1d6426debb3e89a5018f0d4fb9da9372b909 +lib/codeql/xpp/elements/internal/ChangeCompanyStatementImpl.qll 7100749033753d8ffc2b166a43373007e53139eb2176b2bcb807e237e317a927 b835b5636159a7ae9fd894c51b0e18e296ca7d07589c82b3a46c00b8689d59c9 +lib/codeql/xpp/elements/internal/ChangeStatementImpl.qll 4f677dbb5edeec101803092b92b896bc51d72b75e7123ff50117d84a52011d2c 72f333895ee7054cfbfddae7e3805d28e5b12ba29a89eba7288ce87615dee728 +lib/codeql/xpp/elements/internal/ClassAccessModifierConstructor.qll 009b1e65226cb817673abeb584eeada6f9dac328627cbc6009dce3bbcbcb155b a1d472252190d1319fec6e39810460fe68e76a3bb05429b9b111e8bf3ced9d7e +lib/codeql/xpp/elements/internal/ClassAccessModifierImpl.qll fc6926782e4f9f961bed540bac87b32cbea6685025e66f460173d697428dd95f 6212d50c25002111b30f6bfdaee3c0f6f0a15158846fce1956b49a210aaa83a0 +lib/codeql/xpp/elements/internal/ClassConstructor.qll 48fa872f0626ae2c7b3d50e7a55062e1607b28070764300d788956c4eb179204 8103f09fbed9cf3a62cbf2a70b089718589ca0826c0096e275e63eaa90e99c72 +lib/codeql/xpp/elements/internal/ClassImpl.qll 4aa8579ddf2ee70439b31f3c437dfd64ec71382c2c2a32f06a865e8feac25375 7f25e6a3c6f7dbcdc27638eac4ae374d9494a75258cb9c035065a12d6d11c3c4 +lib/codeql/xpp/elements/internal/ClassOrInterfaceImpl.qll 8bc8ce51dc844598a357ac373ec41edf0ed1b819a8c9279737c56db1eaae6195 9e442803ba3f55b66eab03b299003bb6cabbe19ae21dc18aa46325bb1c434102 +lib/codeql/xpp/elements/internal/ClrEnumerationLiteralExpressionConstructor.qll a6714ed0974a623ca9a970bc39702db4757c07b9a093a26c93f04ddd6f883e0d f697879b31ea06f1324b0098ed1700e18f358ccf8b6534c9c8d5e324b19d9154 +lib/codeql/xpp/elements/internal/ClrEnumerationLiteralExpressionImpl.qll 241ff8f6fd3bc98df6729775bb1c8e640f282453ca886953e4e4935ed0271e78 f16e2203a27591b38da96c79d62e5a1524e93c1b97552571865cbf9edb9ed1c6 +lib/codeql/xpp/elements/internal/ClrTypeConstructor.qll 0d7cae215f3519b9174e2b6d0f89951e367ffdbb4d412a5ac5712cff8e5e44d9 855ad6b81823fdfbf6a5a3f63d896a4e609ae8c23208f5c0349e3120c913bee8 +lib/codeql/xpp/elements/internal/ClrTypeImpl.qll 2f6cbd5852396888002de1162a12388beb0d9cc67d1b00cd620b459be32786a2 1186a451ba1f34ac284dd518fa1f2e818b1fa6dd51c5e6928425ea0e1c3c494c +lib/codeql/xpp/elements/internal/CommentConstructor.qll 59431a33a617c7818819453c627d3936c67aeb0311e859cf09ded13f1a669016 14c8c5b3101dc663cf61abeb9eadc1c762332eab11477acb8d341f6261ba5be6 +lib/codeql/xpp/elements/internal/CommentImpl.qll ae11c55df904a436d1ab33fe4c601cfcdb17a80331407e1afc8ccf374654eff8 170e6697edecc7ab9f744f39e7bb2bd43b0e367faa4ad990c20ce018d9034e00 +lib/codeql/xpp/elements/internal/CompilationUnitImpl.qll 6a797fdcbecfbd984287aa85145ec3ebcabb037ef779e29ecf7ef0ac3dfc087f 23ae7e90e28132f16992df3dfe9feccdbe325ba6c954a0bd7494ff58f814ab44 +lib/codeql/xpp/elements/internal/CompilationUnitRegionEntryConstructor.qll 67470fa64cc0d240d5ba07cbd0a2c9e24772c7424e746a1e51997ca91bbae720 0cca3a7998e33ea6c0afa6fc18ad2e795e3b8d2ac434a00f88b5d294cba7a5c3 +lib/codeql/xpp/elements/internal/CompilationUnitRegionEntryImpl.qll 9a5d4f890930c5994596a2586dbcb985e15dab6b1e26b7de1fff23a4216e218b c558c599fd903a97671489e9d131c28979322a67763e12b34b56b3f720c75196 +lib/codeql/xpp/elements/internal/CompoundStatementConstructor.qll c8364c8ee5991694768e051561dc83e71b9a1bdb923af2157aebbd1b0861d90f cde41a8712fde10ccb92a9e0e274718336f28ce4ba550c6a0fda9693a35a3c49 +lib/codeql/xpp/elements/internal/CompoundStatementImpl.qll 5f4935dc9f0d04b85f41606ec65cc3749f8dd202d5dd0361b338fa61ef5fc6fc 3b9aae1c650f4b7e6501cb25d3b0d9c9d88276b60eb4e01c58a530554c2f7ea4 +lib/codeql/xpp/elements/internal/ConditionalExpressionConstructor.qll 6bb74d3b6c6192707562b0a4a56c63322138b546c49a6e28e78f0592110457b0 6e262bed2506deb120920ffd6e7b430aad26b3d9079624b739c95e8604419ed3 +lib/codeql/xpp/elements/internal/ConditionalExpressionImpl.qll a0f616600e8a120af367f491bfb0a74f6b5a78225446ac99791eb2c054bd0e5d c41ac4fba39b6da2fff022af2918be6af0a847f20b1057690a1fb76aed663949 +lib/codeql/xpp/elements/internal/ContainerAttributeLiteralConstructor.qll e0c37f69ee67ecf6c5c0cb84bd38b0d9482e3ef2c2bb996cc94c5d0af7c2fa69 a4839d427bb45cdb9f989775fcfaeea0420fe28c8b1b3969b38893dadb3dc2b6 +lib/codeql/xpp/elements/internal/ContainerAttributeLiteralImpl.qll bf1dbb81dd93d289108e988d0e00bca9cd86f70e7f94926b70f6aff1695b504a 81d87b261ecac31243c48f84f35cbe369cace8683fa0e1e31187f1d30eb06dc3 +lib/codeql/xpp/elements/internal/ContainerLiteralExpressionConstructor.qll 5713c3ada30ae2bef6043c6a4329286966367c05de95aebdf126c503d6f5233d 1f6a089e1eda8b51c0c9ea20a1b7eb365236be7f0779ce215d78b8ac3e6338a5 +lib/codeql/xpp/elements/internal/ContainerLiteralExpressionImpl.qll 75d0f527bd0497c3972ba061190548ab9c7909a241c64cc396a758158fa0d7b4 5d4b0c9da8b16a33d94122e2564fbf497d2121eac8dbc87c22705ee5825b77bb +lib/codeql/xpp/elements/internal/ContainerTypeConstructor.qll b3218df5dd829172c0982d8608b7e5eab1a0d576c6e0cc6533c6ee086cad388c da82592d5e377d195a984e93c9a0542109d57ba88248c5c25b325e00ded8a20b +lib/codeql/xpp/elements/internal/ContainerTypeImpl.qll 63fc29bfa6b0e7ae39b88378f93e2d87a0fa859b408d7ccbf62e0f679179027c 2c13dd2bc4f2d0accd411fd675e6bebe25c4a33d52ddf5ee710cb989e385768c +lib/codeql/xpp/elements/internal/ContinueStatementConstructor.qll 931730d980c2f59a3c4816f11937db80b93c883d64d6e32381d0eb3fa60ed5e8 9a957148f00b6aa21f9da1d25a5c17b51500f665b195ebd07430dc00713531ce +lib/codeql/xpp/elements/internal/ContinueStatementImpl.qll f9aeb42307afb13fa48cf07de5bcc6bc557170b8cdf890271e7773b29620cf44 ebf372b3673785980e70d08788e7b62154e283ef750781c85445ea7aed758a33 +lib/codeql/xpp/elements/internal/CountAggregateSelectionConstructor.qll 41e1fa2058e7f3a53a720709d2e2c896d477e6a43404acfa886a21febbc798a5 cfb7f2108065a126bd2c1d5c5f9bb73fffc29441c82f697de351fa3015af2e88 +lib/codeql/xpp/elements/internal/CountAggregateSelectionImpl.qll 8501e4f6a3c20b49b8bd4b491eef5265584950c7380f8fbcd4e5487176675488 ce9384ade71a749feb4d85052c1d0061841b4a753ade20a085db4d9066fcda27 +lib/codeql/xpp/elements/internal/CrossCompanyAllConstructor.qll 62ef397fe39bf925b73944f7db2c3489e2113b660af42144c0b3ddb48ce5fbe8 4c5fbfc76b12694c55e38491e73ae84c7f311a864e1d8fc6605b6153e5a57247 +lib/codeql/xpp/elements/internal/CrossCompanyAllImpl.qll c5d407157405bb0e8d159edabe29c302a03b35ab46a9dbe5011dca92738c1b0b e1a4fe293be99b3bff9acc8e00c9c1f499fce4a917f4a35983f1971ee5c96850 +lib/codeql/xpp/elements/internal/CrossCompanyContainerConstructor.qll 813158459922280e33f358dfbefccb295119bd51bb365827172666c61f6aeadf d41f3e3e4c7a3697fa70748b73800bd98d61360eac802be7f999ba8cd8129bd2 +lib/codeql/xpp/elements/internal/CrossCompanyContainerImpl.qll e9921dcbcf61e6400abbd226f599bb44bde7b643f72e1277ca0fcf8ca5198032 f29b579cb4acd66656179d6b3884de357d3880a0eb3fbe1bfede5dee11159d3f +lib/codeql/xpp/elements/internal/CrossCompanyImpl.qll dd8c6135b503df81d2c1fcaebfa947ade7f5f2cd0a9644ec5cf4c2b50e7cfc57 17522f881fa102e9e4e337005cbfb77dceafddc88c515199c51ae935438c86eb +lib/codeql/xpp/elements/internal/DateAttributeLiteralConstructor.qll 70a15a4fde5d9109341df332ebbe92f0b55e290609df1cd4d7f6c3eab070613c d786e678657da86f8bdce6fa4884f1c4e747a4f4af15488572cc23824e3ac497 +lib/codeql/xpp/elements/internal/DateAttributeLiteralImpl.qll 29d2433ebf2ae0538ef01405f2c7da487e9554cc4d0640cc74e1a5e29be37e6a 408697d5f73d35e30a76506f58ac3fac51d6185a573be9702edd7a5b15de276f +lib/codeql/xpp/elements/internal/DateLiteralExpressionConstructor.qll 4925ceb8893808112855c8149d7a80ec519d12b286cc489fb4a9db1767441d50 ae260b92481c630719ff426048d9f6193507eff3bccc645d709d0ce42b2f4281 +lib/codeql/xpp/elements/internal/DateLiteralExpressionImpl.qll 99f143b56ba794a6f3951b8e9b0881d568ea0690fbcdb305bc3409dfdf35f508 9d36a42c0a959304990489677991cab6903689b5177cad30787d6888128921ad +lib/codeql/xpp/elements/internal/DateTimeAttributeLiteralConstructor.qll f4eabd3a008f2a43eefcb47fec4ccea67c9f23b35487fad34f69bd665134a2b3 4dd7bb4eaabf88d99ad12d7c485ad1863fa6766422c9c1bdab2fc8177b7c6628 +lib/codeql/xpp/elements/internal/DateTimeAttributeLiteralImpl.qll f265d9cfea6c94c1aff57f602e75c176e1c6246df59299d14bf629a663b60649 115077f0ab5e1419570c9ab23aee9cc55ba3f1fecddb60731fa5253907d411c4 +lib/codeql/xpp/elements/internal/DateTimeLiteralExpressionConstructor.qll 058ea8a3e9a57b31fcc624cb92e0deda6a9c9c8d21ef2a7a5664d3e114a62538 7208839fe2ccc56093e9eab91e9c965496882ee0d14f2a575e955913ebd798ba +lib/codeql/xpp/elements/internal/DateTimeLiteralExpressionImpl.qll 03d7fc829fed8496f4765538b85b2a970751668c02b42491529710b2cd63672d 725907d849b9b5197385209b4ae6bece70ab5a004ed743338d1f272c0c6a2447 +lib/codeql/xpp/elements/internal/DateTimeTypeConstructor.qll 0bb994bc019bdc72719bb784327003eca34a737c438a9754b8b6521f9d6d2ded 316cfe505132145d1c024636e53ef5b36ec896dc688b5a4ffed0d29cd3e29438 +lib/codeql/xpp/elements/internal/DateTimeTypeImpl.qll 0f098de2a06b24bf678124511b2df077b122f3e18fd69e76576b44c651900511 6eb4ba5c40946f0e874fd4256512077785d66ac83072da09c22439624c9500a6 +lib/codeql/xpp/elements/internal/DateTypeConstructor.qll 02223f3e6c337dd436c10ab185092998d552eba4df3a5ce1e9f032d12d12e889 b7b0f7245a2e828b4a0705520852f81b6641a103ee0d3ae50c0fec737ba96821 +lib/codeql/xpp/elements/internal/DateTypeImpl.qll d50ba74b5c9b4cab66206d5807cab08a77e6afd841f7d947861a8e51015d1d1e 246d3436b34592346221c4300da4086b0bc7c6cc4f07e9e61e722ebdc21ec483 +lib/codeql/xpp/elements/internal/DblAttributeLiteralConstructor.qll 35d8155272e3bc2eddc0a88397cb2b68595bac1471925137caeccb9aca4829a5 8fe892df4b112d4ea05317ff7dc5696b78e66f2cad3c793712be4a00160d1504 +lib/codeql/xpp/elements/internal/DblAttributeLiteralImpl.qll c68bdb7a9f690e8fb956b7c500c29ad9652bae72139394d1279d93906e58db59 216408d074a98afc8ae2251d465a4f50695e980bde9bf7f984be61803bfd088d +lib/codeql/xpp/elements/internal/DblTypeConstructor.qll 209e57b03421aaeb4dcaf470bd5247004c2f9cbd742abeb541b35c6e36cd974e 12784d75b65e82c6afabe590c0eefcfee72aca6b54ab6603a38bf35953feb17c +lib/codeql/xpp/elements/internal/DblTypeImpl.qll eb2c36607e6a24fc6b67106ed5a937989fd63afe82238e93c2a4d582de0abcfc d6479281d17d7929221fb2828edfbc5ab9302fcda476a269e4b7bb3bd9c3ec89 +lib/codeql/xpp/elements/internal/DeclarationImpl.qll 52b98375e606aa3abe7690869592ba64e9a194024cb6d31b348e6924a12ae926 590d4a3de013ef024c4441d8eefe89e4c3ee98619c6f6414aac9be009f274ce9 +lib/codeql/xpp/elements/internal/DefaultTypeAttributeLiteralImpl.qll 53608b6cee1db18a1aa8b3fba6b709d77c40f74f33acec80fbe7e953d550dfed 851f5f7e84e4d1aa564671dbe15b070ac9a64563097616daae5ea90c58776b52 +lib/codeql/xpp/elements/internal/DefaultTypeLiteralExpressionImpl.qll 3d475bd12fffb665a81638d35d467693d15684a534ce796ea921ff1eaee209aa 718abb242c00511d3acc77df4609ba6d9d8466f45e608ac5e051c32e4f083f32 +lib/codeql/xpp/elements/internal/DelegateConstructor.qll 009ece5031985c38d3e29aca35a5c51c9e38183b01b83bb29db9015e2a13a22a 2dcdec65f721221c43d2d0dae6e043266f3cdc3cb571e434f08eb8d8a42aef55 +lib/codeql/xpp/elements/internal/DelegateImpl.qll 92fb570af823a5770de4c949ead716c55c10283896da020a1a5c07a732b5e08d a38568493ed56559d690dabb3f35b5511fc7cc06bb6da2510ec2f0dc98c40d39 +lib/codeql/xpp/elements/internal/DeleteStatementConstructor.qll cbc3f6518f44543dec6fa0407205fe349d6329330353c85d63affdeccc1d1101 f2668d04027e40ac0003527fbf8316af484b22fb44b24f27b3d50e30bb57aab1 +lib/codeql/xpp/elements/internal/DeleteStatementImpl.qll cc1c582601104cddcbda546e238d77ab7b8e7faaa939b1786de8316e8f17cb4c 53de8d2c0ecdfd89a0da899d843e702fcf0816f0c7c06d74487d9c64fa246a96 +lib/codeql/xpp/elements/internal/DivideExpressionConstructor.qll 363939673366f6e7a627110212322abb2b560041aa454babaf1e60e7a212752d a7febb2426bfd3412d86ed4647bffb5da6e0845f5f0b3c89c062e7fb37fa66e5 +lib/codeql/xpp/elements/internal/DivideExpressionImpl.qll 1f671b64c9209379dbb289b39c797c5b086cc20c34cca4f7f2991d76beb85b28 fe02a75f38f1b2cf01c4f269542a28a252d32128df7289927d6cdc8fad328505 +lib/codeql/xpp/elements/internal/DoWhileStatementConstructor.qll 57701285f43f76c3466966f4a136b9c7d032dd81a25ac4fb8ba3d970697ad1c1 e9cc482319faca9e0dc5d393086a36d1c4e454a6c41362e524f46aad55fdd1bc +lib/codeql/xpp/elements/internal/DoWhileStatementImpl.qll ae0ccad40b09dff96fc7fb6bb16b6ea92cbdc70281ab678b53c4b6c3bcbe90a6 e81a27ae4d590489de9031073fd5fdaef7bc38a5b24a21ba662dd8d893af4409 +lib/codeql/xpp/elements/internal/EmptyExpressionConstructor.qll ef6623472b764640a6d19b02a5c7dfbefb3a69486c92c3c6dd2aad6da96c1a2a c7b053427ab351aee7a09c792ed5aa5fcece8506170971f70d6a9dce38806e2e +lib/codeql/xpp/elements/internal/EmptyExpressionImpl.qll bb07b8e87773e5d3a12ebe579f2e44b6aeae1f9bc916ec9da51d234facc1d97f a45b1227c8b00fedc18b3a7bde754bb194848aced12a6b78e31725c2d74b4ea3 +lib/codeql/xpp/elements/internal/EmptyStatementConstructor.qll 1f03962838d4c357e4d3ce6242f51b869a1a690dfae3277a802057902f2edb68 4b18e689d29988e1eb3b17f48e9f644f3bd5aad5a91b7ceb39a16596c3d5a76c +lib/codeql/xpp/elements/internal/EmptyStatementImpl.qll 1a627de968a2509d3a2e71eef655c6fc81d3969a7f8f1eae5b0f1907ef6f8019 fbf3b10bb9569f34885bc3c9e315710f7352a5605556de60fc3e47bb6e99c4c6 +lib/codeql/xpp/elements/internal/EnumAttributeLiteralConstructor.qll 6953dc0da0dcbeb0301383afbf2f5c1d9134b4d58051f223a3368b3a465dcf47 1156de1581ec47eaed2c2543648bd333861ebba00f041b16dbb56196bbfdbe78 +lib/codeql/xpp/elements/internal/EnumAttributeLiteralImpl.qll 7c33318b9aa282bd485fa8bd97197c7d605d4b550c0464479750545359efe25f 719b963a97370bd2e23ecb8f5e384a6d7f9e9b8d43806e190682b8f4eab82853 +lib/codeql/xpp/elements/internal/EnumerationLiteralExpressionConstructor.qll 66f0177b9f714f38c2627a89c710cfbc1d1d829edfd3a9839d321c778eaec3cd b83813e1dd1b774fb30121a9e6d51d31337a0ac4b9007d38b13b05293af6d491 +lib/codeql/xpp/elements/internal/EnumerationLiteralExpressionImpl.qll e4f4b2e14e3077369931f7f0d298eaecc79a6fe06883e7fbeb3240c1387aaee8 cbfbdda377d770e80109e79bae3b487aab4b7d834a5a96bdea4da028855c0935 +lib/codeql/xpp/elements/internal/EnumerationTypeConstructor.qll c0e08ba516de3492badd5568d4a8ac493c05199713afcfb5e715e82f515d8135 4deaa7165da0a3969b2b56ea2fda27d911a60dc8426b1d2ec2ec383230efb963 +lib/codeql/xpp/elements/internal/EnumerationTypeImpl.qll 355a9c532350e753b8da95e1881fa38c6d5f8e89235027036bfd895f40db3eb6 1cbeeca2251e3f0a95ef53efcebe78d198b880ac23f5bac258cfdb2dd0f9c938 +lib/codeql/xpp/elements/internal/EqualExpressionConstructor.qll 138234b9f61583ab5626587f08d95316687f43b56bea1d3b1414f414860a081b 4d8bf405d667ed8dfd24541a2e280480fe380d9148425f115390929bc3d5fa3e +lib/codeql/xpp/elements/internal/EqualExpressionImpl.qll c11425434d53cc7b54d1ccd01206329d609a1498310895a91a26862b1783d404 16416d3eefced9df5b36a5028f7761de78cf4fbb4eb24ccea4e8aa0d8f28204d +lib/codeql/xpp/elements/internal/ErrorElementImpl.qll e411422c57380daf9ee5aa248bf94038cf07eade9a4827757026a4f25626cd18 350c21ca33204d6335cab6270bd3ff27d12b0270f1f84240dd0bcd6a56572a13 +lib/codeql/xpp/elements/internal/EvaluationActualParameterEntryConstructor.qll d302795c9842c52a91fe920c11a9509157809b75cfdc3161679bf0c94ed4c1c6 7443161fffb3bc3ea1b8afd4d89f796672dc0ca42fb20ebc85cef2f178611230 +lib/codeql/xpp/elements/internal/EvaluationActualParameterEntryImpl.qll 62e2efa34dc92b7ea744dbb032787611aebdd56fb1e988f09f11fae7f2fd1345 9bb6afff73357d991e688dd33e916f2e7d322176ee321e69b496091e3c7b1aa6 +lib/codeql/xpp/elements/internal/EvaluationImpl.qll a9d8a9559c2c238a02c9aa6a01cdd4d75506f6fe8f6e2ebeaec191001c83697f 713b0d3ffa922a5214eb11516b223252da4d73574d2bbb14bb0a3dc06c9a6e43 +lib/codeql/xpp/elements/internal/ExplicitSelectionConstructor.qll 9890184023e90eff847be4378e5cd8abf3b69dc8cae8469b8380c8d81d5e326f d52d995b62228829576711f6e660cf1169ee12d5ab76cf2930101998a25e342f +lib/codeql/xpp/elements/internal/ExplicitSelectionImpl.qll ada6628402826a6688d2c42c5f8315689a52d82f4107f9ba80b4b829f7ef93a4 9fd1508f52f0f0a7fed715c551cc8ef2b4c1265c01e123c46dcfd35ff35c5571 +lib/codeql/xpp/elements/internal/ExpressionCompilationUnitConstructor.qll df0b81aca5a4939d78322eff1ea30ada66c63cb83503a81adad04f0aa5619602 6467a460446714245222e45c793f2672e36abda1b86c3a8a7731728346c17f68 +lib/codeql/xpp/elements/internal/ExpressionCompilationUnitImpl.qll 7de480b164c409e9c0b89942a52c5aec89c4529d85e4e80f35aa23e7b335902b 8f060864db04122fbf88faef70b4674e8dbc7e3fb4c23f31cfbb89ed9619d7ec +lib/codeql/xpp/elements/internal/ExpressionImpl.qll 404694051edf694a2d4453e464b606cd30adb72c015153b156dfd4a853e65000 dc87fca3064f7de481adbd8d5c381a3730a014535a0c9bdeb16cb8e95371dd25 +lib/codeql/xpp/elements/internal/ExpressionQualifierConstructor.qll 330b01c4a0a847f6fe5e94e2672bb8ae941ba709326abc6386607ae80ae77155 d919081a25aeb90ad2c0f58f4b23154ca0fbb7ef4f40463609d6f9961d7ae7f6 +lib/codeql/xpp/elements/internal/ExpressionQualifierImpl.qll 4d274a493fa1962e68b8672bb35e70f1ae10fafdc21e4e732037d6d6449453e8 7b7462458b028a97c973b09d7ccdd8aa9cc6992047886a6b1d89efa1a23a96c8 +lib/codeql/xpp/elements/internal/ExpressionStatementConstructor.qll 41b5dc5d29e5dc56bb91c406462db513895c945961e8beeb5325b2cda25218d0 ef6b20351afc72cabd978372ea76673b4a193317589bcfd515b64c0d0b352b1c +lib/codeql/xpp/elements/internal/ExpressionStatementImpl.qll 7aa8273a33696540bd7c58ac48a1faa0ca700754d5b5adf2f1e87008ee6144ef 5101aeb0ec973615cedca3f150972cc88de69868a9ed7d88f287427b48f14a5c +lib/codeql/xpp/elements/internal/FieldAssignmentConstructor.qll 8623ae0356d5aa0749f242371035aa2932ff40dbba9a45589b68287dabc2cd1d 9b7cd0f67ec17606c83fda975b26d782a45fe87d1fe7cd538ec7a3bcd8c6b7bc +lib/codeql/xpp/elements/internal/FieldAssignmentImpl.qll 3342f6df98973f50f8f49ac324bf0b8fd8bb191e43de03884b42cb19d5daac98 14ec1c83ecf0195e496650317488f39c9cb1dac010967e8c5b608fbb01050108 +lib/codeql/xpp/elements/internal/FieldDeclarationImpl.qll 802b0a218c7b0b6063e94db1d147f6a5130cdb7f28d4da1063f051532e374b66 98e57d8f06a5e4bdc5b408e84821db6066294ba65137ecdada2d79806e526a62 +lib/codeql/xpp/elements/internal/FieldExpressionImpl.qll 4dd02c59b16c1bee5c6673226f16fe2d6fb1dff41c0f686dc8b65490bd70e00f b0c92ae2827b8057a25c17f2bb8d6523c5fd7d93751bb66616f93b041564c2f6 +lib/codeql/xpp/elements/internal/FieldSelectionConstructor.qll 11d7c713ab19f46ed0e785be97bf22c1790e00e28b48a4be62723d8136f35dc4 4b284ed972bcbb70beaee6c4f33e1abcb6cdc6afeb48f959c7f3d75520cda4fc +lib/codeql/xpp/elements/internal/FieldSelectionImpl.qll 8de8b67cbd61792a72681dd0577cb9b9428e3c24142bca2499b5c288b691723c 0cc4880ae59a14a559328fde390da24fec86370c5a2439f1adcc59703af246eb +lib/codeql/xpp/elements/internal/FieldSpecificationImpl.qll 7347a2eccd05f1fef2c589ce6961606a2c6b846efbb14e23c99d71a8412d13ae e10eeeff4e8fcb6fffaf41febbbcde52c8ec260bd092d29fd486e4b73eab5161 +lib/codeql/xpp/elements/internal/FileConstructor.qll 14a03c335fa6e6ab8dd3411d7c30823aee35e2839f592456962c1c606172b4e1 e47e24add65a942a874d7d8338b5b9deafbe05141d3afa4a79191fc990998388 +lib/codeql/xpp/elements/internal/FileImpl.qll 462476017c7fc9446eda5ceaf372500883dd656f0e9c37b9e214047005a6dc4f 09c0691213f7a5dfbb76c357e2ff4e2335ade3786eaa67cc6aee89929832343e +lib/codeql/xpp/elements/internal/FindStatementConstructor.qll 6977ba4efd9cacda7fd7d8a0bd4a409e078e6e2c036e6d6bcfad8ffda3b7cdf8 3636807b8fd105ab96e39971147420f3fcb8b584ab862c0b847b523c5a9b474e +lib/codeql/xpp/elements/internal/FindStatementImpl.qll 5fe3560638fba2272815586b02acc7b75dc3f1d6ef190bbe931d7d2dbbc3f768 0a4d3ff61a99d96e39663e2e66a4344772d5cadc8829a0fc86bcd121daea90fd +lib/codeql/xpp/elements/internal/FlushStatementConstructor.qll d9dc3fbc0e8d43929a898216426e316eb242709432c4cb45834a6d795164518f 88d18b18ca150c7ae6326605aa0752fd1f6aa53890c912e484cb8812f743bf4d +lib/codeql/xpp/elements/internal/FlushStatementImpl.qll c8973f391de5876d0ebd714be238ac4fdecca0a75e78ce0efd8db6a4c22cf3a9 076ed71f76996eafac05ca65cdbad3204a06e37d193de402e5b9b5d2008085c5 +lib/codeql/xpp/elements/internal/ForAssignImpl.qll 7dbddc579d18b613983ca5fdf661865456f33fd2235eb04de9c2b64e98bf4f84 3e8709f20fcef52611509fb4765c236aeb8d81ddad5ef412516b7d7706d7b2c1 +lib/codeql/xpp/elements/internal/ForDeclarationAssignConstructor.qll c6a90f1b80878f719594d027365f51081cd219fa35eef6aa69397034f10cf7e2 15ec9e8895a2e58d6da205b129832ee6d64ef83337f37ddf6df1de5ab2db800c +lib/codeql/xpp/elements/internal/ForDeclarationAssignImpl.qll 0e873721f6937ddf6cdeabd951df7356382b849db2af5948e2f2fc5c91e353ed 28ffca5ab8d62871cf4b0b56d2251246a85b790c81c9bd7a923e529a92a67a4a +lib/codeql/xpp/elements/internal/ForExpressionAssignImpl.qll 5f58831cb9db5cb84b66f4e1eb02ef393a68dd680f94c34984f9c70678b7dab1 be810b2aa949dd48400ddf229e06098328baf3df5bbefc5f6f64d7a06f715f3d +lib/codeql/xpp/elements/internal/ForFieldAssignConstructor.qll 3b0dbaf8fbc78a5c13471826a6dd71679f54b784183384938c9b21e0287c0379 1e51137b0b5f1b67b089ac075cd3ada191e7cce6fa5437a049a8932a40990a12 +lib/codeql/xpp/elements/internal/ForFieldAssignImpl.qll f96cdbc2e17a68b81ad382fa392b9591c8a426ea515d94356886156089817738 40886c81d48f913ef474d889593931e88cfb618d397fff7adcf9b09aabe80287 +lib/codeql/xpp/elements/internal/ForFieldDecrementAssignConstructor.qll 9b90f78aa58fa5837a6eecba2967e414cb84742b8ddaca6ce45557de4772f9f7 a379680bde37925f0c1ab63b3a0d83855e64e18c9aaca24de76615797f0d5d2e +lib/codeql/xpp/elements/internal/ForFieldDecrementAssignImpl.qll b58094a986a5683d6d77c0922e8741583b3172950bc33a3c4703b56dbd393ef5 67740bc30d5a254721eba1bcb6bce3cc2c8b44c14b256543fe9b09465010e577 +lib/codeql/xpp/elements/internal/ForFieldIncrementAssignConstructor.qll 85e185fd2068f01c75fd2b544df7659dbeaa18f8b89ec8622483d6430dafacc7 2165d2b2db986e3b41c86880b684f1969f570077637149eda912da4ee318efd1 +lib/codeql/xpp/elements/internal/ForFieldIncrementAssignImpl.qll 0d8a83f0ce0791383648a175a6f4fb0e73f5a87d7cbdc62b9d0024016f2dddff b3b26b9e01c819c2bf50d6d86349b426b5070792cf71c59993bef497cfeb8df4 +lib/codeql/xpp/elements/internal/ForFieldPostDecrementConstructor.qll 4c559aad8154c81286bc264758210e8b6c38c3fe0a0f654a0403b3b59836a2a4 f6efeee00d70aea95427053585a65d284cc55a3865b92949e78873fd8a21fb44 +lib/codeql/xpp/elements/internal/ForFieldPostDecrementImpl.qll e5ed7d809f2e615a99da05a864476df8da73c6f220bbf1e97783d00a2c77bd80 79fb91868d365f121da01c66877232d9607c401b20779ed92ade3e0c85689f8b +lib/codeql/xpp/elements/internal/ForFieldPostIncrementConstructor.qll 73bb4f0657a9ba6bf02fd87c1a4b1314033ca3719175879e065052557976333d 96b81fb40db3bbe58fa64fab9979a307851a3923b0dc63ea508fa5c93fa36b2f +lib/codeql/xpp/elements/internal/ForFieldPostIncrementImpl.qll 0da446bd1fb5d1ff292d2dea3fa2f1dbb647d03a90fb09101a8b519d20c1452e 11a10a2ce9d27535b1bbed26a4090627efa94eca8f8453e299bb4cb1e5b77086 +lib/codeql/xpp/elements/internal/ForFieldPreDecrementConstructor.qll f5dfebca1f67e293890a02a0c0950e6bde7befba728160713ac3b017caebbcd3 1da193392448f49e8ce6783fb7909a4b42fa455e0bf0fa00660f5022c51cd2a8 +lib/codeql/xpp/elements/internal/ForFieldPreDecrementImpl.qll 239ff67a7d8d4fd986d3763b0c51a43eb27e4384ca1b4bc5b200bedc6912ae13 f91f597ab4234fe0ae4b8b9cc58b24aeaab02a755b338e89c997d3f4f294cbab +lib/codeql/xpp/elements/internal/ForFieldPreIncrementConstructor.qll 6edfdddd058bf8875d161e25c425b4a7f90ce9539e4938ea4785def3977fb06d b81493ed41bd1f18d59497f410c9454e11061fbdf21c8b71d8dc3c2120c08c26 +lib/codeql/xpp/elements/internal/ForFieldPreIncrementImpl.qll 4f350fa672ad2c8f21cd64b72ec1f8715cca90a76d9b2cfdd3e471807faabceb 956c8614f9d2b54129a884c5f3dc0b9090c996b3e606d429eced702d1ea83b14 +lib/codeql/xpp/elements/internal/ForStatementConstructor.qll 478fb996f177e81d61d4fb68f3acaa2571bd1e7d133e77c75a513e5e56696e5c 58a74f88d3c7f8a05e0cb9b9e5fb4ed3fb9da9fa525c8883b15c7f79e53c5afe +lib/codeql/xpp/elements/internal/ForStatementImpl.qll e44344b8f0ac8629cdb9e4bbb287f0215c5941527edefe7099b49ddfb807e13b 46dd57ed564ae1bba716d5248b76ce1078b25a87e0d2f11cc015e144134570c6 +lib/codeql/xpp/elements/internal/FormControlConstructor.qll cc9eb4faa33ac6db35d33e3ca884d705457ac504b77c10af3b621bb51caf0063 4c571ae5401f999d8000b72de64271c242a386c75f01f3845e6e8a8b33704705 +lib/codeql/xpp/elements/internal/FormControlImpl.qll 0bf88d8f4e0509e6b2b6df923cac6e1991cfa64b51de8572b8c4afef51b6e225 c38156baa2fff56afdc43be1d073172527e711bc165a205cf2789ba61264180d +lib/codeql/xpp/elements/internal/FormDataFieldConstructor.qll b641d277b38e2ceb9309dddd3ddad0e559f86e422f5bfd21ba4f190cf0bf963c a6082e0dc556ac8fc013066069657080c3d0017e68196e80f349006f57e8da22 +lib/codeql/xpp/elements/internal/FormDataFieldImpl.qll 9b2c5f1ce1b96b7c1461caea73025da999fc59ccf9f3a26605f82f155f490cca 3e575e70e71cad8f2f02bc9170391caeb498bcc5078cfa86a813f1a8661fd342 +lib/codeql/xpp/elements/internal/FormDataSourceConstructor.qll 4113c583058bb28434337a7c53c8aa7bd6175602ef2345778e8595f3156d828d a664ced492dbfdd255b1d91ffcd5a088209a2c3ee795f75238733ba47a9d290d +lib/codeql/xpp/elements/internal/FormDataSourceImpl.qll dd3b1843ef83b5a76aa90d7a0639f335f6c19f4195964c288b675f95911a0eda 87d9a850970012ed0997bc4eeed7f12bc2245e37294b74d9ee9b1054f5f23aa5 +lib/codeql/xpp/elements/internal/FormElementTypeConstructor.qll aafd6d5408f8decf6621e1e84c356f0c1dfe8fd972f14d95570be684c830b974 b9efc22d76927d83b5429b4c99311910320b3f60876052caacfea37fa47a4252 +lib/codeql/xpp/elements/internal/FormElementTypeImpl.qll 616498ad838e1ec7c49edf1fb16ef2b235ff0d28c57b50e651466d612d9ee7df 5683e77e9e3cd1ce15a46574de4d813d2834a40cc44845dd9d718a2026e81e22 +lib/codeql/xpp/elements/internal/FormModelElementConstructor.qll e1f6e01873d659b023039ac461ebfbf450521ec19b6064a0256e11cccf480316 b562c8afe693c26a5355ca22f3966485a6548125ceac237875a06e2d305ed834 +lib/codeql/xpp/elements/internal/FormModelElementImpl.qll 97319042b90234965feef8baeb10694a99e69fd5f9596935c75443ee1d1261e2 6a15a9d48ebfb8700038b3d8d486dd2067c5f5d4e379537c055383409fce4490 +lib/codeql/xpp/elements/internal/FormNestedElementImpl.qll 6dd318f38b2efdfaea38aa5cb26e66b5eb6b63a84d3de5ff59851e482f370d04 2246d9be79c436f099ae66382d3d015b57791332d4540bc2ca21c80f95ff3813 +lib/codeql/xpp/elements/internal/FunctionCallConstructor.qll e943e237da2569fbea6b15b0663cf6d1fb2aae4a918e70a60e382a36faa420e0 93ff649a5fb922fdf23c2aa94f71538fc78df10978457e731045b2d4c96b17e7 +lib/codeql/xpp/elements/internal/FunctionCallImpl.qll 672a6250e7b943f4580e032c4e849b8a2c83be84e6dc4d6a708adcd19e6b329d cb5c34c2f62c82d216b61e0c9ddabbb243ede19b42e2b247caf7ea6fa2e6ad2c +lib/codeql/xpp/elements/internal/FunctionDeclarationConstructor.qll 8bae073c81f579b72bfcee3d1538ee6b4596ce6e1d45231013699bc2b04f9cca bf9c6fdb10e90b7b5c2b0bcd07fd96f1e923c38a2bd465e818348f8f7dc13b13 +lib/codeql/xpp/elements/internal/FunctionDeclarationImpl.qll a1e3733945c04ad9a2ff17ceda096e7fe308be4f5ec92647316e2dc3ef098d69 0906d34c519390496ef5f3454d028680e03c876daec5c98ba5f4c2ab5778890a +lib/codeql/xpp/elements/internal/GenericEvaluationImpl.qll 0b92ff226addf29e309d8c264468432c8510a136e721fc6a1efcc386f42c3f8d 8d58956ade86ff95be680e0ebf7866f62921a5d83fcee591d12d153e6bd0f7d5 +lib/codeql/xpp/elements/internal/GenericXppTypeImpl.qll 48b00373b4726f55078c8517de821e152bfb7ceed482e8ffeecbf36fee16c659 edab14e19928ef61686c0c1e5fd8db96ae02f6fd2e312b5241178ce02a93de01 +lib/codeql/xpp/elements/internal/GlobalOrderElementConstructor.qll fee34fefcc4b954e2371493fb23712bfad2c9a5d4ce00e285ec23571b9671c5f 6166a6d22f7c144b4a2bcbe22daef28a706925a4d29d2068cf32a042d1fa3fa0 +lib/codeql/xpp/elements/internal/GlobalOrderElementImpl.qll 4fef2b2b5d16dfb0ce9fc1d1698afc4cb93bde673942064d3ddf3e23a30959ca 069ecd8563ba33db7754034f43905a7e449d669509404ff7ca01c3e5dd501d97 +lib/codeql/xpp/elements/internal/GreaterThanExpressionConstructor.qll 065ac743de13584eace2541700b0bbfbde0bccd254450543dd30c875a16e0cdb ac840499ba32d2d26bb4c52fa1a932ac10475a3d7d84a84185cbda86b2e97752 +lib/codeql/xpp/elements/internal/GreaterThanExpressionImpl.qll 2fbf0f5d4fc1df54c997f07d00299f291592c5ab240667acbe046f3d71bcdc86 672fef55eccae51431ff36a2dcd9f86b501f70e6807db2498c5fc051c88afd7e +lib/codeql/xpp/elements/internal/GreaterThanOrEqualExpressionConstructor.qll 221ce8043740813c439f5e59fb4c76f5887ed5cb91df903508baf9179165198e 67ad6ba7c7e4c291c711c6dfa48f1ce4733bbc32d74b2ca9c8fc94a93e6d3d48 +lib/codeql/xpp/elements/internal/GreaterThanOrEqualExpressionImpl.qll ee6aef272d490a58ba538d427d2cba326d346f573d8a073632adaa5a0cb9c7fa acb158c2675f6075f0ed4cadcb6c4caa0caf72df0eb7db4657c811ea2df9d010 +lib/codeql/xpp/elements/internal/GuidAttributeLiteralConstructor.qll a9ecd12a7e74f8037d67d3f03ee74029d03092de5c3edd6a2fdadb7b4b174598 92a0a475f789507f00a5450ad4bd3904bf8e41c8e9289abdd3bdabbec40f0e8c +lib/codeql/xpp/elements/internal/GuidAttributeLiteralImpl.qll 91716e54a958679d82f69067f34be29d728f1b3fe4b2e48b037440ba3eb8c8bf 1d6b4bf061bfad3dbee353d04f4a9fadd3b4c946585dd9b0983860046d057f72 +lib/codeql/xpp/elements/internal/GuidTypeConstructor.qll 6aedf3e27eb349988a91fa55420555baedd64e11cd135d8359fe4b9abb209881 d1b8f0ff2ca6fc1492c3c9037322eea79ee62ca99a5c340d948be73a7b24ec1b +lib/codeql/xpp/elements/internal/GuidTypeImpl.qll 7ecfe9ca7e9cb851d7e0e32d9e34d9bd032f16bf352163533a5dfd14be562c4e 7330db8a3dc1045b0a1bdf22d414dfae494459c95ec76f648027c4d4d4585883 +lib/codeql/xpp/elements/internal/IfStatementConstructor.qll 6d60d9d7b2bb449fff357cafcb2eba612f56d9ab30c21f0a3e1fc14d90f2499c 48407f1ce2cc7a425a71f2f2208604868cd2670917cec47582ac6c93ad2bb11f +lib/codeql/xpp/elements/internal/IfStatementImpl.qll 29d998b8a28f10d2be0be6b95861cde6cf29c1bb001a93f80021e870032da8f4 bfcd8332757c496c5f2b08a13e18fcff5005de60554e864adb2842125891fe25 +lib/codeql/xpp/elements/internal/IfThenElseStatementConstructor.qll 18a5e400e8c132f610c52e2f23feb6f49799038acb9662d107aebc456547e699 721328a499b7dd5e4681454b3402a429cc046089617250399ca7a0fb473cdecc +lib/codeql/xpp/elements/internal/IfThenElseStatementImpl.qll 33d730e8e32e589f77d385448f607db46fe964d853099998b4a21becdebfcdbd 08951e1e4332637835a8f69910bba1a1fb816358394d55057355806c098a8fc0 +lib/codeql/xpp/elements/internal/ImplicitSelectionConstructor.qll 0d74297895f9f09e415640b60e0398b5ed2f4f8fbed65348c772154ed1536308 f192436830a272a35797c1e43d975cd360c384aa9ed9105780e7ca067528fc6d +lib/codeql/xpp/elements/internal/ImplicitSelectionImpl.qll bececdc3a88b4208c5a9c5a0d9168851aba3b456772c4825b97d2f24a7260250 5522f7eaa3a2094eef4784e1cffded0073c650fc45cad6a570cd7e7127464a31 +lib/codeql/xpp/elements/internal/InExpressionConstructor.qll d9630f5b63d447aa2afc306b803fb4412fe5cb5fa035f06e792956afdab9d780 b25a21eaba1516e12d2728f657c96726991aa3ecf29399d3e0c5302ffda19d91 +lib/codeql/xpp/elements/internal/InExpressionImpl.qll 52bbca5c4605c23f0ddd59948ef8829a28fa6aa11bf93b0e7a529040be8bfb45 682236e66aa36f64c3eb13c4c5d1d4c7b6fd8c23c198ca9296de25bb783045bf +lib/codeql/xpp/elements/internal/InsertFieldSpecificationConstructor.qll 27f1507df07002a3f8984c7cdabbf831e79af2cfc26829e81a565b42b35a8620 04ed7a7878f280d5d63ffde8f9d97fc5a471ed19da866f0bfb9cf078a26f19e4 +lib/codeql/xpp/elements/internal/InsertFieldSpecificationImpl.qll dd22e9e8e40e2a2ba4c98aaace58555cb15bf27f0474e24e46e825bd629b7d80 919007594103946946d384c9c12f3de200fd929a407cefac2acb027f5baa9a7b +lib/codeql/xpp/elements/internal/InsertStatementConstructor.qll 00ff5b85b9638d5693e106a474ddac45579c2a2220092747a2cb3119d0d6ac75 04cd52267cce9168e25a2c4b7b235b140e6a5073a8178466071609bbbab228fa +lib/codeql/xpp/elements/internal/InsertStatementImpl.qll 08d7deef9aed328219890968ec2153a5cbc0860a231e2e4b0ffa7017c0cb5cce e86717b46ddba16cbfdd469c36f25e48440dc27570e60a3421efda2fe8d1c4c3 +lib/codeql/xpp/elements/internal/InstanceNameImpl.qll c61f5d445c823320e8a10fbd94f8e81946145aa9def147d6d64bb7b5fd460320 71a69cab48d5a86c607a81250bb920e16a12bfc6ac07673088d369725b8db1d8 +lib/codeql/xpp/elements/internal/Int64AttributeLiteralConstructor.qll dce972a41e9c8bec3cce21345dabbcffcea6c00b5f1d8198e1aa90e51e602f13 fa6f4759f8335d9921e217178ef792e66e1214f124863972bf02f0abd33d45a6 +lib/codeql/xpp/elements/internal/Int64AttributeLiteralImpl.qll 7cd582c8221d5bbf8d660efd1ac26828dc59007b69345c9029260f1e9a65beed f780477e52c2431b4ff19cd88daff530910f111a28ee152a436a45be5b7ed342 +lib/codeql/xpp/elements/internal/Int64LiteralExpressionConstructor.qll 852ee5dae0030c8adcbb987df73109495f03be708476f752ca1c13b8b0ccb08d 1ed00a59ec79b4b855f9ef32de1d56acef84ab003d45cca5b432c202ad1403ac +lib/codeql/xpp/elements/internal/Int64LiteralExpressionImpl.qll de3f5862789ed6a28c8a47385459bdb482ee4e4edc04abdccc24b116476c9341 09300006c701683a51c5d56047bff75e23620ddf9602388f2869e6658e115524 +lib/codeql/xpp/elements/internal/Int64TypeConstructor.qll b3f1fde3a6df5d58068acb49de3b4037823161a174c2a00b32f54f1357306d35 46db5f32925fe8392830b774c6e55ffdff2bb71d9a952b5109d887f65806c281 +lib/codeql/xpp/elements/internal/Int64TypeImpl.qll 99040abba092e5299a1cdced5718eb56e03628e548e31ac98f4c9b38e3dc56e7 c322492d0c16238aaccc7573b5d60ddc020a75c73eacafbfbb3727e034af5d1c +lib/codeql/xpp/elements/internal/IntAttributeLiteralConstructor.qll b5dcb8d61ba29d35b6e97b52aaf6ad0d01b37fcb6410608f7e9cdd3383a981d5 ba9f7e8da23dcaae65161a5dcfa94dbb502e8090e75e89cd7be2a1f8121f58ff +lib/codeql/xpp/elements/internal/IntAttributeLiteralImpl.qll dffd33d467c2cbdd343ff7d094499e1661fa776f24c95e7fc27b138ad0b71db6 df097fd74edc2c07731f48725f12bbbf524fec2a2f2a83b5652cb52738a269bb +lib/codeql/xpp/elements/internal/IntLiteralExpressionConstructor.qll 4978cb317f1f0f7b051f856f3a688445d2c2611ad6b400598c0811c04c0a2e54 61e2c28d35cc8c631f95d86ecf49a095bc5fd6b91d50d3dfb16dc92b1383748e +lib/codeql/xpp/elements/internal/IntLiteralExpressionImpl.qll 61ab07c101d35c2eb16024f6326bd1a588e4f10be4d4d7d2b57b3a8719054891 46643600da64050c5cf292bf65160117f5e9165ba3c36f28a507c9102a82f21b +lib/codeql/xpp/elements/internal/IntTypeConstructor.qll 08c1e1a763474dd1599d36e0abf3e5fbe61b9ed78037ab23bb4c2eeef14682c0 20e14fb58329d778cf27f4a328e440dcac4e00db0413b6b60af4fb625bc4d33f +lib/codeql/xpp/elements/internal/IntTypeImpl.qll 81836f00a4be30c327f4ad1bd03e90f3e4fb1acd00e9b2e1678a5cb97ac1fea1 5fa02bf2633c429d1a00bf91fab502a7015855fe5e3a23185e9be33d8157ebfb +lib/codeql/xpp/elements/internal/IntegerDivideExpressionConstructor.qll 13facec248cf82daff0d0eed53c7d31a4963a3b653dea16115172794ad4b2fac c1b1bd3528d86e365439234903db1dd0b081bba4acb9e843443a3d84e89735ee +lib/codeql/xpp/elements/internal/IntegerDivideExpressionImpl.qll 6b2560352bb6b09669643b0c674dc5dcedddf7ff33571a79e943b3904ea701e3 ac5b3bfa7a21814f2a7e5ee8ead70b0c2e569101a58b954af8a8f2554c6edb9c +lib/codeql/xpp/elements/internal/InterfaceConstructor.qll f1e8ed06e68c06c6ee3dc5c0dff76615c9bbf12e204d41049cff67efc27e8ca9 25c1a8950e1b70211d11863834ba777d751b1d35823810d13a59e51498cd36a3 +lib/codeql/xpp/elements/internal/InterfaceImpl.qll 5a1c5194d713badaacd7f7fea81ae1bb83594e7fd7c90a089848522a1c5bf342 bbffbd76f1cf1e4487b33108aa6a9a13c639d3f163ae6a6f9b14f7aa9d3e3e07 +lib/codeql/xpp/elements/internal/IntrinsicAttributeLiteralConstructor.qll 6c9f83033d96981ff5ec3c72bf382c724f4a9729ae768bf11fa281f89471dd37 a5bdc7d1746561b47733edf166135ff438914ec8bd87832bc21cbf7a58b8ade5 +lib/codeql/xpp/elements/internal/IntrinsicAttributeLiteralImpl.qll 752001e57ae0ece9f5f493ab5555cd48ee0f28f9ae61572f640481274aadeec5 184cc9ee804618c658b83d7ea8c02bc32d1147d834a3794f42d8ff1ce8524913 +lib/codeql/xpp/elements/internal/IntrinsicConstructor.qll 22031ef5abd6a924fb237a002f1dfc242c5318fcd809639314327b7d88059c67 937353b01d59b67dc037cf1a52880e224d41fe5b6e8a4120077081fc9f806aba +lib/codeql/xpp/elements/internal/IntrinsicImpl.qll ae0f2b019bce5a7f9d8ef173eab5b05f585d3cfedb30edde01922b7b55d1e431 50f5bf889ae096874703f98fc59738169975ead61021c95df941466c932bb8c3 +lib/codeql/xpp/elements/internal/IsAsExpressionImpl.qll 0a15339b69b04f0b9f52d3822db5899c99b5905680306a4264d882c68cb718ea 73aeca16ff32e52a6b87c0e70dfdbbfcaece35e810ab24aa2fa6572c157e4212 +lib/codeql/xpp/elements/internal/IsClrExpressionConstructor.qll f5ea6e5415277c640173e33fa038d82e9ac5adc67092c12ad340168e686abb0b 6c909cddc81a5d4f4816bac1a4702dbd1e3da85f72b6c5f03b108164978526de +lib/codeql/xpp/elements/internal/IsClrExpressionImpl.qll b9290fbbe49a89bc1bbc35f362bce4ca4853d0c300a2d13b7c7c25e8ffa5d533 2c053c91af13e34074b5b4eebeba9b8277c09d76b34a0fbd29b717a5ecf6b835 +lib/codeql/xpp/elements/internal/IsExpressionConstructor.qll 003b3f5806373fd7edaa015f713ab200dee352ac83104469d75d25d4d57cd246 8d3f4fbcafba3d4d4c504975cd79f62eeaaec37d9592796ac7b4e981e5c4090f +lib/codeql/xpp/elements/internal/IsExpressionImpl.qll c0b7537e5ddcb800d9bc9ff5e388aa60cc1622ef54878bfa3895ba77f0f7dcc8 beb6255c4d802740d59bdab5117d660775fb6ece07b7c691b6fe93251c663d31 +lib/codeql/xpp/elements/internal/JoinSpecificationConstructor.qll b18c01df493bd57ef10916457451d3a7b2c54e3747f61bd1ed78e4628502ae53 7edf99b2828018211a753c556882af390ba12e418c5d3515720762d6af7b95b2 +lib/codeql/xpp/elements/internal/JoinSpecificationImpl.qll 92a083fc7b7ee6ee7e7f68f29089d80d2221d4fd81c839adabeb4fb7a37ebbb0 b2fd07564d71ac9ced1224b94569ab63b281103b17176fa82e2c2d223fc22b89 +lib/codeql/xpp/elements/internal/LessThanExpressionConstructor.qll cb768068b61663dfa31b174cca31bd4d1fb81e0886057fa88807e2698b1eb0c6 365eb05cb49451e92fa590781f2598b0dc5dc771c4686ca932838bf5b884d162 +lib/codeql/xpp/elements/internal/LessThanExpressionImpl.qll 0ce17f0dae5aea95a7d4d7b6bf97b1cbacd8471010ea9bfd85f4a062eed4d0eb 9fed47ec9949ec1e10ed3153190d5d22849ca3c514e496b83430ae4e3fbfa565 +lib/codeql/xpp/elements/internal/LessThanOrEqualExpressionConstructor.qll aaac0c0f3e49c8b60d86433c4079046c89e81d9c51419d8016604400fb292edc c39fb78a2e44108239c49d2382054a594ff39c31488478a8afd4f068510d8c18 +lib/codeql/xpp/elements/internal/LessThanOrEqualExpressionImpl.qll a4fbf2867f99782d99ea6dc26626ea152c07c30befc35879cc3073d2518110d8 56b1e2987340e1b3ee20b8b5bc79acd1a654ae06dfd41817b8425974966aeaf0 +lib/codeql/xpp/elements/internal/LikeExpressionConstructor.qll e13ad2a42af0e25bafe11301277bb9e298019f324af5b676a519d3aa11466ad2 ac2111c65d2e1f3bf65014220b9fa178b45171843524fd193812668840ca4e50 +lib/codeql/xpp/elements/internal/LikeExpressionImpl.qll 3ea56139ea359a949f3e903b222048bbfe9e74c7b7273962e09b65276897b41f 91849577df1e1d28dc9d419f72a3a94b49022bf9980d1b0aca189912701de7f8 +lib/codeql/xpp/elements/internal/LiteralExpressionImpl.qll 7a4c9ff6c384aa3eafd6a46c72a2bcee2cb03bc8ce046524e8116b75970379f6 38a0b62bc63a98cdebb4236ec144161f264731025681e21c91cec7132b280060 +lib/codeql/xpp/elements/internal/LocalDeclarationImpl.qll b0484a844a1148bedaea0cf942276e1c63b81674bbda14c66aefa9e93cbcdde5 20b13fad8085cf908fc2fc1b1aa20e9d89dd34eeeca400341f895aae84bcd2e7 +lib/codeql/xpp/elements/internal/LocalDeclarationsStatementConstructor.qll b1b878046aa85be24168cb427b807da99862dd224ff737f2a26a92f85e890514 a0554c16f4fecc6948c160e3840bfa46f7ce9732fa69fc74b9a75d0c6f1b0dbb +lib/codeql/xpp/elements/internal/LocalDeclarationsStatementImpl.qll a0e6669542d7cd3eaa492e81c2383596602c04e56c3ec6c8859bad95b0f779bc d6103ab0c26c38e41c5e20aa62bf47f7920066e9f63ab3e4a8eed415e260587f +lib/codeql/xpp/elements/internal/LocatableImpl.qll b14569c921ef7b3bde7a1facaf7a9146b4865e23a6f226f3e1888f3b2a95ce45 60bd0c6538d6be13d83f477509da09dafb61ff8fe7415364b709b66e1a4ef627 +lib/codeql/xpp/elements/internal/LocationConstructor.qll 4471a0b3c7e30dc81cb31cb7ad3b121d4517c7c3cf49ce9639d957e4d6bb8036 3ac74f98ede3e210de599121b7a188c0c9997b1de4cf3fdeb7179911638805ea +lib/codeql/xpp/elements/internal/LocationImpl.qll fd80fa154077f6746d144e81f3ce41bfffc347e9b4fb875d9e9d51b396307618 5a30a92a51766641d6b2f49679bb983c113d119581700064ee09cf3424a1a0d1 +lib/codeql/xpp/elements/internal/MaxAggregateSelectionConstructor.qll f775d3e62cec3fa69b9b48ea1e86aee07dbdd27722f417e6529a95cea1814791 3e3155067ed14812fca67b22fce57c146bf2a2cb959b25207d43ba42af63baa6 +lib/codeql/xpp/elements/internal/MaxAggregateSelectionImpl.qll d7c23530a8185fae474a37337d5b49dce14504fe4bd76faafd53c9ddca63f480 a740e99d50d78fd036f8854cecf083c0ce156475cc7aa60846b12115873de81c +lib/codeql/xpp/elements/internal/MethodConstructor.qll 5ba24d6d9fafe6cbcb97983d0fa1c09aff2bba2b270e75366cf7fe4e0dc5dd80 81ea7595f30301a29db0ef5eea6f7702083c4ec62644e566ed0d7cf90479c64d +lib/codeql/xpp/elements/internal/MethodImpl.qll 24be78b75b7656eeb4e50ef02d9f902bff0d278fb07d6be8f4e593070cbb7e2b ec7d0f2c6ffe228020e1c24fe69712a3368c972d7dec8e4d52e87e8d1488cf8e +lib/codeql/xpp/elements/internal/MethodOrDelegateImpl.qll b5d553117238479311cb3d6cb121a93fbb8abee2423936d2cd6bbdacb48f5bd6 e599422c8b20f0b7b4e3c4f724c13731f1ea5249f8c4d350bdbaf56db2a6b713 +lib/codeql/xpp/elements/internal/MinAggregateSelectionConstructor.qll e2a1c7c9c62d6a5bacd59971886c53860fa22936d61362ff30155d8f30640cf8 efb04102d03895dcc3ec658868d92eddb0478e69fa34589c866d14cc17e10103 +lib/codeql/xpp/elements/internal/MinAggregateSelectionImpl.qll c2036f33cf5264ed67686eaac1d0b828efd1f5f906d34c28a6ae6ad0c4148094 0d856f9b7b16232c5e2259aaa1272b5e8a4f556c3d1857118a429e4314778975 +lib/codeql/xpp/elements/internal/ModExpressionConstructor.qll 63dba60a69990cf9bc9396cd3f49fb390a4d20cc0898ec47caefe91acfe4b710 7aadad1a2b8f928e0624247a0ca621e35a0d37fbdaff3d81c5e17003c0154c5e +lib/codeql/xpp/elements/internal/ModExpressionImpl.qll 3c6302b795ace4b1af32a0c54fa2d0e24b606b509b8ec67897bdf0e5cbd52610 af6b3ce0d7563a60f9cf9a8ebbe51c346e18c1ade5e93c3d14b238ad244f8158 +lib/codeql/xpp/elements/internal/ModelElementImpl.qll e40753c54805d4e1f7f5c55b566c509f29f40bc7b65c92077b0606517e1922b4 e1648478ae8ab3f56c4605c4c3b1cf187cea6bfd5b154d19d3cfe209d2a87ed5 +lib/codeql/xpp/elements/internal/ModelElementUsingEntryConstructor.qll d73e785a841064ae3a4f18cd2349c53dde15d72e6c4aab7c9432d4f87125af1d fe9336118516a3a28c65ea57f6ff56543651106c7e3702b820706f091d86a0b6 +lib/codeql/xpp/elements/internal/ModelElementUsingEntryImpl.qll c3f1b2cd2a7652abe09e997bdd33b3716b478980e7a75ac0582e722dae14bf3c b5b9883d6f53f8a22e226fa2097324c0043fcb2ddfa7b1586921397dc6cab09a +lib/codeql/xpp/elements/internal/ModifierConstructor.qll 87b8f6fc1c9155c2926613faa416e29e3ae892dd0cb37cf924206c56282b70ca a26c93c64fd9ebf9e0803ac1279af4266f97dbc0696c8bc9b60fe95e3c6766c1 +lib/codeql/xpp/elements/internal/ModifierImpl.qll 1762253ac39ab2d98093d634063bdc907c50867f0e6b4011454060d8a5639738 b4d8667bd98322c9331492103f59cd923d2035af9be0776365a828fe6682e65d +lib/codeql/xpp/elements/internal/MoveCursorStatementConstructor.qll aaff66171dbb94589ec09c00e324a705270b2d8de0738c0581fdd654f55049ef b45213fdac07b82e04befc8cd8ec481b84db9968380f37e2a1914f4e95fa2dba +lib/codeql/xpp/elements/internal/MoveCursorStatementImpl.qll a995b8a766b56aa870d0001b9b277d2eaba401281872cab83a486fab87ebcf22 fbc2e16e122f99ad1ad1b78dd0a552fab90fbece31d33e68b9432875fe0c7c08 +lib/codeql/xpp/elements/internal/MultiplyExpressionConstructor.qll 72b62a380dc00a55a8c11fd80a13d03a0656cd486cea65e53db5d8338f5ab7c8 3930ed7f78dfc140689974569a21bbae0f6d47ea2b995a449d31d9bd825badd9 +lib/codeql/xpp/elements/internal/MultiplyExpressionImpl.qll 89ccf711417a3ed3f6481508b28b1560549a59907b0d4a514414d257a1411fee 8e36b4e4746a5e597884571f300b5acbb5a50894079f65df8e5d189137289e8f +lib/codeql/xpp/elements/internal/NamedFieldReferenceConstructor.qll 437b076ced8313cdea54f802dd993307bc4bc8f57e481f6ca61a7e658e4d6790 f1bcfc497505b132994f2aa080d4569edc331f688c9a1081a151c51c8c6ad5e8 +lib/codeql/xpp/elements/internal/NamedFieldReferenceImpl.qll 58dd42e0beb3bb2fea62a975bf4da9ba7d86de049fdbe6cb6b10cddafd7e54b7 be872e0bb10531c10ff11ac71a5714a579d2e3af01492ecf16570e3e9963d3b6 +lib/codeql/xpp/elements/internal/NamedTypeImpl.qll 0a2e0b9b4a8642d7a7fbddcd2af689778f1651b43758d0505e9b22551a5b5e3f a2f413a32aa71a8b095249619612f57409936eb914dc8b836df5732eaf17f157 +lib/codeql/xpp/elements/internal/NewCallConstructor.qll be6e792c00aa693f6d439c046f9393354e5697071207cd90cf01859b418d0fac 7026561cf3571eac693cac234c29b1e6d0b0b3e4534885c36508def0e1bb3542 +lib/codeql/xpp/elements/internal/NewCallImpl.qll 4e9d15b37918a365d916a56e2f8913c812a4edb08793bef7952ff5679a5dfa03 4f1112ac45bd3bca69a751aa53d8289dc2c682a87f46c9d3c10fc74274df2ad2 +lib/codeql/xpp/elements/internal/NewClrArrayExpressionConstructor.qll 3e11855315a300fa6876669e1a167541c5451015a0abc280d5db0e5c78c9223d e1461e7965d1ccd407fc96b00bcdbf7b5eb87dd23a0b9494193b17ea27faf7c9 +lib/codeql/xpp/elements/internal/NewClrArrayExpressionImpl.qll eea4ab67b33adf3bb19094216d62f27cfc79de9d8c1d06b7863b83bf419aff1a f1ce4418a491b39b5bdb531fdd5cc9721326654a01ce9fbba4b459304e5ce6c9 +lib/codeql/xpp/elements/internal/NewClrCallConstructor.qll 0ced047f9dbb182c96a33c81fb7beb5b5d4c76dac979a62700a7f47cd59a3c80 7c5c7eedc546107b55bcd739bc592ec575dadc0587377c008ba5b0626db49c79 +lib/codeql/xpp/elements/internal/NewClrCallImpl.qll b5ccaf548f10570763a728086847cae371b97ed33b7dcc7eff5c2b3e3f84ad63 c2bbc3d951df04076cc36364b72f381b2512d7e130167da6f91f9ba801f19549 +lib/codeql/xpp/elements/internal/NextExpressionConstructor.qll 62673a3c869ff014187c79ce68bc35dc3924d8d3ab12306ff00861714c6c4cff 58c21b3d79dd3f0eb9a0c0efd44f244c21ea7f1091d5014e7799fefcbfb57b93 +lib/codeql/xpp/elements/internal/NextExpressionImpl.qll f6fff339860d037281e3a02f2d6ff8cad82ff7bf65f2ebfc267d6c314938aedc 6b461e56ab5a8e55d4c95252c14a5ce3609286eedd4f0caffca52d833ef6de69 +lib/codeql/xpp/elements/internal/NotEqualExpressionConstructor.qll 21d76d0edf1b6fa37732f79215679f8b716dad8e2950847ff897043d53cc9493 6d605c4a1775c11727f43e0648d528b24c171096024865eefc5bc34dc87b485a +lib/codeql/xpp/elements/internal/NotEqualExpressionImpl.qll 98948451df2a7c603332289d50987989e47ad9ebb2250ccfc2b80ba77674af93 19ee6bc5b58365b7daafa162df62f3ffbf668af637402268e35e93c36e6290aa +lib/codeql/xpp/elements/internal/NotExpressionConstructor.qll 269c460095f8ab3a0a466146a13a85860038bc7c718521e002cf85181cf985c1 d02e213ef0679324396f775aff7640fff89b41452a3d1802407764d1567bcea6 +lib/codeql/xpp/elements/internal/NotExpressionImpl.qll 7cecbfe69facd9fcce26328eef0afd0cb68f2868fb8c0b9acaea8b508409ba19 6aceb19424b869e7befc562f035dfeb4d1aa5dc1187b70d76016e100cc34abd0 +lib/codeql/xpp/elements/internal/NullLiteralExpressionConstructor.qll 1feed575867c926da608a0c0c96456f45873ce11adeebcee53b8446785333338 aa921b612254d588fa2d5c7b65f69d57d62f0403099e678b5ba97ae907c40ce0 +lib/codeql/xpp/elements/internal/NullLiteralExpressionImpl.qll d3f99118200bc21eaaa88ef29e3f82da4dedb3ce885a16e2132a74842defca49 129b898e5110ba60461dd86277851ce798bf5bf43709872c9c88caf066985942 +lib/codeql/xpp/elements/internal/NumberedFieldReferenceConstructor.qll c7339cecdeaa5ef8e57ce2347980e181dba0d2410cbccdcf3f1724d885ee9d88 c3ddbaf845a69071e388d9be1dce2a7f90bcb74c73b92f45bbb0a84943131057 +lib/codeql/xpp/elements/internal/NumberedFieldReferenceImpl.qll 642fa0bf437942dc007ad319b156c6fc7eaffc8c5b0a76a2a84afb56ca33d8f5 f9410d3f35d5a91caf5ca8c77ee44a8143f53f480b88a3414f8cbc1bcfe6723b +lib/codeql/xpp/elements/internal/OrExpressionConstructor.qll 7fb8500b25542a8f4c63b539e4b8c7d28039260ebd9645f36d1902bf2d4a17d0 cca045731ceff1050e492f2c913718f51e776f839dd453a5bd7718c4a290c4c7 +lib/codeql/xpp/elements/internal/OrExpressionImpl.qll f2ac3178a9f52c6b9402260be1ff19791e91356f1e09a272b2bee031580709ad f49990c97b1d8d1904a9c95fda6033c087624a3bb445c89e1f14b94a792ad62b +lib/codeql/xpp/elements/internal/OrderElementImpl.qll 848ace0948285a135afc5fbc89b5c1e4316eaa947cea92404be6a09d28c1a65a 9866b33411488ed1d5dea10688bae7e17513f5ad213594db7df5f665dce2d2e9 +lib/codeql/xpp/elements/internal/ParameterDeclarationConstructor.qll 5f12411f458e1b30d7c2685ee2cc4f59fbd4bed5c8ee2c340e66172b266b9f27 994b8548ddf892242aec5903dc57e30e8f9534a94d86838167392b4a7abef1d7 +lib/codeql/xpp/elements/internal/ParameterDeclarationImpl.qll 47b14b8395a7a5748d997038d05ecb3bcb6a6df228a0d48382a4abd5ab4bae94 9f6c91b6a3b0cb706a3b4a22768f516a41e1c7defc0c368b9ed9813fe86d8300 +lib/codeql/xpp/elements/internal/PhysicalAndExpressionConstructor.qll ea4615c0ec45a4c8ef6dfe05a149c6daa3f4494d651cdb18e963b6cb320b673a d4dfa6c0c4de6c03cb9e29e09348b9b1fe8a8dd13da17cbcd78410dd2610e2b8 +lib/codeql/xpp/elements/internal/PhysicalAndExpressionImpl.qll a478caec0ef97d330a134119fd2d0cc9cd538d056715d69e2a512857f6edd338 46c4c1c11569cd191065268d890c0e65f1e248584ecd64569e816e60ac4009e3 +lib/codeql/xpp/elements/internal/PhysicalNotExpressionConstructor.qll 4a8fa4b79fc275e49932d5f3838d14834617cfbcaa8e28e3328a08dab07ed630 c0872c81858a702bef166a476419a64727aeebf48cc8043ce1bcc19ad533e060 +lib/codeql/xpp/elements/internal/PhysicalNotExpressionImpl.qll fe03c369eb346b1c10ee4c5a6b7b57370d070d8c431bb059786133921c5aefee 98bf63b49cb4a7562eb3268e0107296a388075d9d3f06485cb8c795492722e67 +lib/codeql/xpp/elements/internal/PhysicalOrExpressionConstructor.qll 92807986e9d54d74f06ed255fa66b0665e235117951060bf83227e993f526e38 b3033d8ac370a34345e878ce0d834b0af9d55d4e1c34918e255809f017e0ac45 +lib/codeql/xpp/elements/internal/PhysicalOrExpressionImpl.qll 378d23ac554a0e6c1f04e776bf9ddfcdfcc3187412489d22fe0437340366635f dafbfd3101e3e3d2f5a61661d27373147d3cce0c4a3528f43afeeaca6cd28409 +lib/codeql/xpp/elements/internal/PhysicalXorExpressionConstructor.qll e2071571033b57861a27b1b69d831b07ca98dd886681b1327994dd1e53f05eac c491d7dfbb06ba7c6eb56db002fb841170703dfb140a3bbca05d34d70c7196f1 +lib/codeql/xpp/elements/internal/PhysicalXorExpressionImpl.qll 0ee4db59348f06bd2d470e09b5556f5a559bed266bac5d0c3dfb7c67be93e9d0 a7b7433771024bd644708df65c52d2850570b20a80fa117542402787e53defe7 +lib/codeql/xpp/elements/internal/PlaceholderConstructor.qll 56dab50931c03631671b8caa9f5f6d28d3e131a14d7869d251dbca48d4834d96 87ab0147f6664e0a6e49799dcc806a6075d9ea871d209fee41ac4f43fc4a6e16 +lib/codeql/xpp/elements/internal/PlaceholderImpl.qll 3dda7012e796df85c28698527eaa3b889257c49b3b1890f0086f3036a15608b2 6ad2137a117e55432f1538c125e7c82866c660e39de533d4bb7192a675433a7a +lib/codeql/xpp/elements/internal/PrintStatementConstructor.qll edb387dc3e27ad72e35128833ea35dd040a18cd0bb68bff5555a9ed9188d7852 8c5f7a8b7a9e28b73da2988953f140e138d7e19dd85dadcbcbcb608908ab37d9 +lib/codeql/xpp/elements/internal/PrintStatementImpl.qll e3c744149783c5f91bab23e420bc8d238842f24174e4c892a6164a626d1ed5c3 7133ba6c2d8560e9ee994a333145ea4b1668d4ba9d56346eb49f30cca40b123e +lib/codeql/xpp/elements/internal/ProvidedTypeConstructor.qll e47fd349af9a9e1a9506c9d7d2dc97c93bc7569e908649a74a9521c5dafef2c8 743eb7e0d05a75943d5cca1f9004ed9e7000b08d360685ae82b868d284aa5aff +lib/codeql/xpp/elements/internal/ProvidedTypeImpl.qll 290b20998b29aa6bcd87906ab41a0b42bbca859bd9ef02b3ff38a7411332f625 c6d07fd13ceed29bbadaf853549275e04d7e923162ff3b2f4561bbf95f46e8ea +lib/codeql/xpp/elements/internal/ProvidedTypeStaticCallConstructor.qll 6518c618cf98a26b491a87aa2852c95938064b7804975df47a621fd7f3d3584e ce5105373ae6e57ee7f11ffbf3a3a9c5b77d54080058f1734495addbe2fac558 +lib/codeql/xpp/elements/internal/ProvidedTypeStaticCallImpl.qll 6c76d21fcdb389ecc32977e9c803d35eacb31f93c401ec08bfa11b34ea9afebc eb74bfeef09041abacb6c1a0ae54043207302475eedeff96e87572be0460f2f0 +lib/codeql/xpp/elements/internal/QualifiedCallConstructor.qll 977fb04a4677a2880147065181951978f45115017f690758620e6ea74e0bb500 95168b7d4e75ae1d4ef568c49728a8f65d61a3bff8004ec95a799d7cd0b44c91 +lib/codeql/xpp/elements/internal/QualifiedCallImpl.qll a7f70122bdc9ace08bd16bb1684441a441a6152bafc1a18c272c964c437b1ff1 e1bbd1ff0d5fe978eaa24108b23c73da0835ad925884a7f8c05cc395fb3ae2bb +lib/codeql/xpp/elements/internal/QualifiedFieldConstructor.qll fc46462c0ae249922413cbb3549ff65914ebc1f735b6357feb8713d81bb85bd1 5c7d153c17d108d4906b4fcf44eddd58af3b4d60bb2644987ecad4bf229bcbde +lib/codeql/xpp/elements/internal/QualifiedFieldImpl.qll d18459bf2985e5d38bbe9442eea55417076459ced1e91970c8cbebb43c288776 3ce3b1fb9536355668d2b99baaf4ddcf8c6c5bcd6106f7716b629f82b4f5cc06 +lib/codeql/xpp/elements/internal/QualifiedInstanceNameConstructor.qll 5be228aa63fb21306b0c5ddd4e01df0401125c1a69958afda305a3b0e78be8f5 931b40071e6e2c3e30e5a410500fd75585c0a00e1df4e9300152e74c2ab4a252 +lib/codeql/xpp/elements/internal/QualifiedInstanceNameImpl.qll 2b15cf4090820f86691f22eac0e69524322d4c68fd074c5f5b20d037b3f3432e e03c6562914d9cb5946d1ccf4bf9b92d00ab6379a926c5faa53d9b8851a317c9 +lib/codeql/xpp/elements/internal/QualifiedNumberedFieldConstructor.qll 98129e3e6dd1b0edc3ec0597f1ff535b1ea97af1a65ebd2ba2eab5b35f52e679 96d860b5401e528431ad8d38a2ff553b3fba860bb2c905461527377035a73315 +lib/codeql/xpp/elements/internal/QualifiedNumberedFieldImpl.qll 86b555703309dd184f57348a2727382fcffbf7f7ff8d5807004bd3d7d4b720a6 5202d82f446ed784a6aa4afc9bac4a50b71ec184b28782d3113de91d132d2c9b +lib/codeql/xpp/elements/internal/QualifiedStaticCallConstructor.qll 77949619c584a38beb0e6615b435dc1aeb32e877c2f961367c9014a08886a1be 75322d2fa08294a8cfb25538d3138cfd40576196c575123fb54e16f5726fe75d +lib/codeql/xpp/elements/internal/QualifiedStaticCallImpl.qll 3cdd5cff4648922e90f42e9a0ea2fd52e5872c582b8a1ec26a36549245d25243 b93300ece639eb78a98ddeb54e87e1d8261146e3f2b684bad814f8a5ae68a776 +lib/codeql/xpp/elements/internal/QualifiedStaticFieldConstructor.qll dbb341a515f1131e39360dd541ce895f676a00a2cc8d561d69c20be99bdf6ade 86ba0f830c16119d67fc65e2aa747f5c984a2232fdfd3bbf8e708737dbbcd8a0 +lib/codeql/xpp/elements/internal/QualifiedStaticFieldExpressionConstructor.qll 82eebe495cfa58af292eff2dc00e8ca21e479e47e61efc73fb54f7c85fe4063a d2ee1f60873aaed82749f25cff2b34aed1eb14a456d8023558bfc5205e82e2b7 +lib/codeql/xpp/elements/internal/QualifiedStaticFieldExpressionImpl.qll 3afc38a83f92f240b16a917e14d47973d9cf874bc6a273e333178ef523e77b9c b7e70e97b3ff0a60415eacbbd95b66bd0df751063164d48f10a792ebf33baa01 +lib/codeql/xpp/elements/internal/QualifiedStaticFieldImpl.qll 5417fdea3a71b7769339e82090747bfa577e28768947024bb583935a9a86ec8e d0e42d4bdb70f67b391873c603db64220b3577c242379b11170fe9d48dd468b9 +lib/codeql/xpp/elements/internal/QualifierImpl.qll b8accad992af46bd0ee59ff4a826938db17dcbfa506e91e1537d53a661b41c99 a371add9f59c75792137d1b3a9505c675d1da9eff4b4a2e5ef44a01a91b4f1a5 +lib/codeql/xpp/elements/internal/QueryConstructor.qll f9d9aef390b015a0b7394f9aa5fffe06bd42b7debeb8f52ed4d3555abe828004 de0fe9044d8e9e1cfd73917f4cf71fd32f416b5ddc2c2eedf0db348318513a24 +lib/codeql/xpp/elements/internal/QueryDataSourceConstructor.qll 72bb8a68fd975f0670dd7daecbd5b7f14b4d975242fbb762b235efce89a0297c e6cda34098b4fa154d8f078c23784a360d934f00307b31f9e4440e1df95bd723 +lib/codeql/xpp/elements/internal/QueryDataSourceHavingConstructor.qll ef4cecb67be57caca4d4da2d6024284c774a9c3246e94ecfb932063e3e1a6448 d3ff80990f41857df7b9504d44d6e61cbcabc3eadb66db575dfe0e5d9485eecf +lib/codeql/xpp/elements/internal/QueryDataSourceHavingImpl.qll 5ac455658f9add2ad0b16fbc81f5ba94b0db70d236103d14e884b2c42cd9e9cc d7fdd863f28dac2c4edb47c6d7383f54522ad19111ef5ac21c31e778a918c2c9 +lib/codeql/xpp/elements/internal/QueryDataSourceImpl.qll 8c36ade27e9497020020f58754b04db54994a42ab96e319f3e36b5895227be5e 0a5a9327907bb3eb26fc6e5273efaaded592f0572638598a2ed4c34aeb26414e +lib/codeql/xpp/elements/internal/QueryDataSourceRangeConstructor.qll 14e079188422f0ab3564e8521d6d57f202385bf7364d0305c55f0fb884cf7284 acbffd59ae34d46d564932c47d76680ede410204085026ef2560719a4eb91048 +lib/codeql/xpp/elements/internal/QueryDataSourceRangeImpl.qll 839824ac4e7925d7fe124d8962b63a7e987432e7f1a9f4ef9c292f15491ea4e8 dd7e1c7fb8c8c0d409826646ddb91a2282fc1363fc1ecdf1ee3a9f2156aab1a5 +lib/codeql/xpp/elements/internal/QueryDataSourceRelationConstructor.qll caa3cf0314e8587cb2fd2242a5fd2cbe90b0f0820f0bf500ec0126bfb2b4a51f 193456a08205b13e2adedcdf8b729e2ef2a6af68db9da6b10bf429efdeabcb50 +lib/codeql/xpp/elements/internal/QueryDataSourceRelationImpl.qll 21208c08dcd5fd6052b0a39bf9d364cb2f88325fee9bcf928a8a1b6feff61178 03483fc7134657fc09a648a665bebc172d8378826bb4bcd703a76c146e969dd6 +lib/codeql/xpp/elements/internal/QueryImpl.qll ffd2e084611714edfbbf999c9e4efe0995d81ee0ee103ba556765dfcdc1b377d adf73ed9739e3c8879bfec7e50ffaa9fae69613c9ee992510cec334c086c68d3 +lib/codeql/xpp/elements/internal/QueryModelElementConstructor.qll abe7bdcff798ed8ce6df4114065f13700e23bfe954aea399d0c457a4b0b798bc 4da40f4a85709c53c27e89c273e6c8a252c63191626216a88cf7c15ca62967a3 +lib/codeql/xpp/elements/internal/QueryModelElementImpl.qll 4f8c6d49bc17048867c455f166cf2ca0b065b450f93aa5d859bda623297e34dc 00c2bb55d67722183bfe604fb9f20eceade69f59adc5c0c48c2a655146ec5b73 +lib/codeql/xpp/elements/internal/RealLiteralExpressionConstructor.qll b8af7e09e7f6c235ba11440f4489af733ab99fe14a1abdb315d49e5fc1d0407f 5fcaf1ee413385b06632f5b036f8e6b60fe6bd62e30177900a52fc3a14fb3d12 +lib/codeql/xpp/elements/internal/RealLiteralExpressionImpl.qll 49f5deeb663211412d3cf7030fac9a8c99f3bf7c2e3cfa8694fc5f883b18aabf 9b66c403d9e54f9effc534127fd3ee59882e911a83a2435780274ee536f91066 +lib/codeql/xpp/elements/internal/RelationalExpressionImpl.qll 880bc965670a9a07a380a277ae1eef98d944bd567d1dab19d8efb68ce9db0a90 43d62b85de57414fab6dd3ec3090f55f8af3dd7d78c1548661cbf3b934c2111a +lib/codeql/xpp/elements/internal/RetryStatementConstructor.qll ea5dfea4cf0b03e5b71ddd0dd1b05727c66819a8c73a81752e283408969590e3 219fbd07617f44b07dd895b1cd017af1817700195e093676e719d9afe1dcea4c +lib/codeql/xpp/elements/internal/RetryStatementImpl.qll d631bfc487e587bdaceca76b2bbe0f72481267ab287aec66cc7c29a6b61af03c eb3a786edc2efb029f68a929d254c95f7e8c2179e38d281fa9b464deae77c405 +lib/codeql/xpp/elements/internal/ReturnStatementConstructor.qll a15179a4ef6e8abe17a503ae88d2b0cd9831ae848dc1dd5a7a71cc193a39f912 fcf6ed1db173611c7e0b04c547c152694eb0475cc6944c002af85d1f886b3baa +lib/codeql/xpp/elements/internal/ReturnStatementImpl.qll 04010c889dfefa84f1b4f22c77cdc32365ead7d67054e0c32c0e7874ad86e1f8 27809489adaca47c4b710391c69afa9b0214ac9b10cbd45421a0baf532a3b476 +lib/codeql/xpp/elements/internal/SearchStatementConstructor.qll 2537b8f43fee8c8e8853503141dd60808ad21760f630fa7c7fbde4da2afde828 8b3fa94f285ceff3a5ff7ec2bdcefcd923bb2a6ca64b25d04042ec11b568ecab +lib/codeql/xpp/elements/internal/SearchStatementImpl.qll 2308611b7d4ccae07abc0e732b709f0a72610cdff49d8cc0ade8caa04ef7b879 7b70a5c621f29e7c33f967c886ecbfbbbf3580834385be29297c4eef36eb2d70 +lib/codeql/xpp/elements/internal/SelectionFieldImpl.qll 12975f4daba9b7a90eab24334b2a8ab725a3cf093f706b04006ad83995306386 fecdbdf736d1670e0f7cf23985e56891a62e6b4e8c9ea996d42f0533199ce870 +lib/codeql/xpp/elements/internal/SelectionImpl.qll cd61d68fb42935ecbe7a078787403cd0b8947903f28957b777eb424442b583ec c7e183dc42ffa5f87c8995c43a278272354a96782422e0007e6873809c44a839 +lib/codeql/xpp/elements/internal/ShiftLeftExpressionConstructor.qll 5e68aee4eac2f68b4b52309b7e591063e0bd58a54bf3766ca1155cea19fb591f 3c037fa80e868396e617eea1a6441d03ec026d309ebc6ea31e5a4f358fb842c5 +lib/codeql/xpp/elements/internal/ShiftLeftExpressionImpl.qll dced74eedc99e998db24bdcde9718eaf42cd2feb988a10098356c3db8faebf10 e9d3b4235f7a7d744d17e3d03656619f1325e22e717638fffc162703677349fe +lib/codeql/xpp/elements/internal/ShiftRightExpressionConstructor.qll b2e2c5b6b2a00d617b9f7711d7ba3793dee1013a1b777acdc4bc1c82f5f66f76 013bb630061b138820602c0078e21a0d808a22719d867f60156f8d3eaef69f49 +lib/codeql/xpp/elements/internal/ShiftRightExpressionImpl.qll 329a71e903c1305167709a0b194ece086b0b0c384c6b923f08e660c94e289187 d53fd9888a868830eeaf98ff4c51ec135350f800f6c77b586b4f51995968b02e +lib/codeql/xpp/elements/internal/SimpleFieldConstructor.qll ea90cdfeb94c8ae6ea78fb6977d5797e2904149084ebdfdbf67aac7dcce1482a f148432b727ca1dd5772438945a266d4499da894cafd959a2ecb3d997b1e09c7 +lib/codeql/xpp/elements/internal/SimpleFieldImpl.qll fdbd0ddb31ece490cc60df6b7e99ebfa0e2953972d599fee047dcb707c5ff505 90ac2a14aff0bcf568422fe66ee4c8c89e769c5c861916c67e4f1920abcdf4e2 +lib/codeql/xpp/elements/internal/SimpleInstanceNameConstructor.qll 3ae55c95b0820f89812dae308c608640628dcd6dc670ec06978070490c665412 c539d3c96875d60deb1c76b330753c9ac62ca3bad0f1d2d776d9d9d79137a513 +lib/codeql/xpp/elements/internal/SimpleInstanceNameImpl.qll c7deb5f7aae311cfd4e2e76c1c5f5c50ec1f8b7a407e85c3ebfa40543aa6ed69 e9bd873f35dedc19ece9358b959be360315411b8a6fd81aa489bc47dbed7d1b8 +lib/codeql/xpp/elements/internal/SimpleOrderElementConstructor.qll 31535392a1a98cd877809989dfaf350746be6946b6f20d6975d4e5945cb80c26 de134d9520fb40878f6a6bf61d686b5ff5b20797b60747b84b3b6fc9a5a80dcc +lib/codeql/xpp/elements/internal/SimpleOrderElementImpl.qll 095f30f65dff4630d0f507397be234420071ac9d3bf8f800f71afa26a4d8bde3 08b1fac5fcdfce570ba2c3781cd1f526f09145562bb922f5967a63643257152b +lib/codeql/xpp/elements/internal/SimpleQualifierImpl.qll ca4f8009475bce3a0fa80105bbfa434989357ecbd5564b63b1c95d44188cec10 23f4db732fedbbe602a50f12755c55f692f3767dfa58b99c171dd95ded4d5604 +lib/codeql/xpp/elements/internal/StatementImpl.qll 84b8b116ea0baab406f4dc7339c79894529f3ec962ce2b29452d9dabdc9ad718 8f09b40b9df5b612cbf65bfc9cd948216a5404e12b203e8fefa14ace72baa801 +lib/codeql/xpp/elements/internal/StaticFieldConstructor.qll 110912387bedef68516ccc23ea0b0f0e519a9d97158efdf9b62ec70623db3edd 4a1fd2a4f84c80210c4041ea9973be83f023285516ba5af28159924a7580b5a2 +lib/codeql/xpp/elements/internal/StaticFieldImpl.qll 6ba4de2839a7c6a093dc507375faeddf6d635afd44de4cab6054e99904b858ef 023779dadbea77f1cf1ce782d33f8415376b5e8f9c2f32de6af14ca367610eb8 +lib/codeql/xpp/elements/internal/StaticMethodCallConstructor.qll fe0185e2855ed0df5544b6b5248d2e0116018d538409d494633c876693762450 eb25fad2c2f259db16263fd146a37b90c60866fdbd7f18671bc9a17c6d4410d6 +lib/codeql/xpp/elements/internal/StaticMethodCallImpl.qll 096ff52c81f72dba645052cf0e3eea51afeb0c2195d8aae43c32fa534897fdef d94dfaa8c07968c0772f985efd6f64a7758d3e8618df4ef8029fb64cc5c65fb7 +lib/codeql/xpp/elements/internal/StaticQualifierConstructor.qll 9996be4c1dddaaa9e5b757419ef2f4a9fad94e853277753ec2ceaad77f772b0b 9bfb31b7b33f502b450934b7a1d568b7b4f501a46218816bbff863bfb99a7257 +lib/codeql/xpp/elements/internal/StaticQualifierImpl.qll 791d907a36a79aefbc93146a6c85bc4c53397bfd0451e765ffe2ce5d3b17a69f 0a92b973be89c3e4af27295f347d465162460cc56cfeaeb6379c4def996caae4 +lib/codeql/xpp/elements/internal/StringAttributeLiteralConstructor.qll 8d6919494a458bd91483b5fda67f77f588c6d72937444868af54a3fb4a53a308 9e9baf11b9497e5d4243a127c4e62df17fae8dda59f0c1e7686463ea9a1c1346 +lib/codeql/xpp/elements/internal/StringAttributeLiteralImpl.qll 400a5469c284c4d1c13352b39bf93f89499903a53dfb4b09cfd546ce69b5704b 03da5d4fea1336a315fa1d7fa5317f9d486fc8346901e5492f460f5fe078e44f +lib/codeql/xpp/elements/internal/StringLengthTypeConstructor.qll d42568bac0a119d90603f08461fc970fbe509a4a1312d7340cad2f06e2060ae6 56c45a4502a254f2f2e1243d68ae68c24416889a890b98423328615a0e681c86 +lib/codeql/xpp/elements/internal/StringLengthTypeImpl.qll 78c03ede9cae566301661943625ef60f1921ecd6e87b05bd70b41156b7e255db f933dc5631389b5125f166e670c8cef2c5760673353f478ff82ef213c8b8cdb5 +lib/codeql/xpp/elements/internal/StringLiteralExpressionConstructor.qll e34d40353c5675d02e92001198301a19aacd1de9c79e7b81703baef0f4ec5c87 551210a8174bea341db56995fb7897cd447f38a887880b7e6571e64bf21c3b96 +lib/codeql/xpp/elements/internal/StringLiteralExpressionImpl.qll e9ae2e834cc1504a3db368b434263aae5596edcbbb38aa9cc42c637d2fc112f1 7a1ee311eb61350cd629d5811c1f3bcc1967f361671f46cd1de64910e9ca3730 +lib/codeql/xpp/elements/internal/StringTypeImpl.qll 26e09b74ca80ccccd91f79d58dc466520e4ac6dd8bb6c13b5e26458d2c5677a8 c050cb11f4c230ec073dfed89298e0d43e282f63c52638c8a3a96791459c74d4 +lib/codeql/xpp/elements/internal/SubtractExpressionConstructor.qll 0b904273d08e5d52b3fecb8a38c778742d2d292faa9c60e6a76803db5443a368 4058e603c6b674784921cbae48b77e0a85c79f8392c4a8ea15129d8e4b4b9ddb +lib/codeql/xpp/elements/internal/SubtractExpressionImpl.qll cc36fa3f2f5700437ba87d465292aafac81d8131355a1e77a9bb62dccde2b0c8 7b58aa61657ff5f008c4de1fde976564d036a04a8d79e1017585781453777dfc +lib/codeql/xpp/elements/internal/SumAggregateSelectionConstructor.qll f6e78c18558a330d2afaca00d195edc41a215159bbf9f4e9ac47283dfd5af417 fe799cb2444f7f27e1038e4f0cc1f4f346b71c7802ce52749a041403c8b97069 +lib/codeql/xpp/elements/internal/SumAggregateSelectionImpl.qll f4493bef88cac162f7a30fde7e61720450e61a3dc52be584661c81756e910c3f 42e34a6afcdc91dd8d6084a812961c6bb3f27868ce738e4e949a596688b8a9ab +lib/codeql/xpp/elements/internal/SuperCallConstructor.qll 1393220cdd7943213d2ebcd72966be7b06536f20dfc2f01f5d75fa4d752cfd09 52927ed2fa0289a92c19c8b2c20d2711fbb1809ab317d8f6aeb649134acf51f1 +lib/codeql/xpp/elements/internal/SuperCallImpl.qll 63899c0cab0968c2ec6f8c086e9e65f2d41914982d1e917d819d637b91456063 2943726415ec68fe3d1913b48773a3403167c0f5e2e22bd40b594356ece798ad +lib/codeql/xpp/elements/internal/SwitchCaseConstructor.qll 5bbba2f3d00a89b700dc056a980674dbe005f598f81be9eb68b29a09d7b7e58a 419b319f282ddafca4515a6d3926e0e08fd21a7cdd23dc4687810e536e0eb17b +lib/codeql/xpp/elements/internal/SwitchCaseImpl.qll 0424cfd8ab7fe14e107b499f8e651ffda3f2e1cbfd8bd810117fad1e0904f0f1 c5fb146b866e388c52f9efbec3a3e97e6a9709d4cd0a99f2b965298b27cd9a6d +lib/codeql/xpp/elements/internal/SwitchStatementCaseEntryConstructor.qll 626fdfd2cc798d3deeb3c03f93e1bb80a62002c990cc8c7fb03784e9cf99f446 5cd2e27afaf0c80e838b6f20d39d9883f671be232655cce8fb33910c2ee4106a +lib/codeql/xpp/elements/internal/SwitchStatementCaseEntryImpl.qll 22f8660f708f871a87b5261f35deb764a77a81d078f2648248dce9ab85b8fafa d5afa5e2076cf47059d07e6886f608f9e77626dc37fa934bbf1f0048dde9488b +lib/codeql/xpp/elements/internal/SwitchStatementConstructor.qll 946ca504c2125981bafc914919e232bd37e9a517028b0b4d626beea6357454eb f500131c5229a7deb4fc29706743c62a009f7f664e4a655beddd24a2e21ac2c4 +lib/codeql/xpp/elements/internal/SwitchStatementImpl.qll 0a2dc47e8281a5d31d903fc4ccaa7228e37a286cbc4c4b63b1641b89e4dafd2c 176a2509a6aacc4e60f57e7762c200bf562fb2b18343a1061fd37dd47264b304 +lib/codeql/xpp/elements/internal/TableConstructor.qll 63c99efed17b17e62493a0f6bf1f4a2ff1c47fe3fc8f0c1e5f2d0727257a4b42 5eae33980f800c5d94eae46e104ae70d3e774680a54bb0ed4aaa613a269d9dc4 +lib/codeql/xpp/elements/internal/TableFieldDeclarationConstructor.qll d429d788401c0322c87e75dc5b09ef2cabfbc73d341c98292c89a73bc50bab28 86a8ca6851a661adbeb65768f78a821b0ca8181b177208bbe6dc2a81890ab8ee +lib/codeql/xpp/elements/internal/TableFieldDeclarationImpl.qll 7198508d4f3531f21cde39333fc5e88289c3c37a5d335e31766d6894f0878314 15f0c7e967c8bca54b0b2b5981576eb138a23d1236a2998263ab6f99444bc9ad +lib/codeql/xpp/elements/internal/TableFieldReferenceImpl.qll 20d3ee31c07a42b59d6de163d163f843d2da349d687a4b53b3ef5f7ebe5b709e cd9be6b8adfd27b3a6dd4fa6e3d6726ca644b7022f6047d1c30fc387913bc14b +lib/codeql/xpp/elements/internal/TableImpl.qll d8b987a8568a8955cf18c7b6d6b626b559b54ebe47abd48fab361e4adf4b3050 af16aff32fb10ace71f88234e4a7836885a9b24ff76189fc7cc752aaf80978c3 +lib/codeql/xpp/elements/internal/TableLookupExpressionConstructor.qll 27e6fc7e1e2d7739404d07f2b14a24a29a11fdb2b1e465c1ea7d75ee3a515bf0 834b222fd519917481c3e3bdfeb81d7e79a7e32c8bacaf8ae4ff9ad4b8857b8e +lib/codeql/xpp/elements/internal/TableLookupExpressionImpl.qll bdeac091c3c8fe752501d8974ab221b4b6a1e40b7d0409cd3bc54d6bebea6fa4 7c869cb991275c3a81fa544c8f3487edd1212b46a64c49fa164f5ab2f503d9ee +lib/codeql/xpp/elements/internal/ThrowStatementConstructor.qll c14d597df19bc283dda780ecf494f71aa5e6aebe686d26d0428feb9ebb9f1be6 68d2b61431767632d6c3326939bb7e35fc02448e1e9fcc6ae619bd71daac3286 +lib/codeql/xpp/elements/internal/ThrowStatementImpl.qll 846e1643dd68f51d52d7c2493c8b6af88fd2cf64109cc139b95d482d8644b015 794e8f816ec1dc55095ed52f3e012e73a268a93bc60a76151cbc44644f7d1198 +lib/codeql/xpp/elements/internal/TryStatementCatchEntryConstructor.qll 50faa0cff457498409c8bca4fce055244de9bb46f7a7afdfe5f06ec0668820fc 0fbe93be4d7ca50357d7ac6e8fc7089a4c15e8afc4bc083cf34e345f65362c77 +lib/codeql/xpp/elements/internal/TryStatementCatchEntryImpl.qll 0797386842fcfc9528a6ca5ec28a1393f92ce03a38d90c940e84fb59500f3fe6 1c17c209e17cffe1d0330aedd6e5deb3f415704407d70afa96a8a1b727be0406 +lib/codeql/xpp/elements/internal/TryStatementConstructor.qll 76fa4d9e6fb14f6b14271da1f6a8e45a3844b20ea9a2d84b40b67f845d6cb761 e039918dfee9253efef550903d5f39ba19712c13f32cc640920be4bb2cbb66c1 +lib/codeql/xpp/elements/internal/TryStatementImpl.qll e6b8ff73af6abeb5f76e3b9ea5b660d286b1c7d01f8bf49b170b5820c82f68f4 99103be58db40a67334ae695808899ba1d0f3b88fff01b6f4393216347bf652b +lib/codeql/xpp/elements/internal/TtsAbortStatementConstructor.qll b26534dfe80e8cd8b5c0cf36cb0df1854cde7b8a4cbb6521639d66dcec212000 83958f1ddeb60079178b1ebed6731969417268870b037cdee72e9c0676a8f0ad +lib/codeql/xpp/elements/internal/TtsAbortStatementImpl.qll 7cd56977d0250a97af976e2a2be43c401492f222fcad2d01ffbc41522fe297bd f86a01be83b26d14d17abf37f2b8030efb4ac894752a67008e85d4006e02f837 +lib/codeql/xpp/elements/internal/TtsBeginStatementConstructor.qll 7b9ffb70408cc518e21ce3cbeb2bfd2096f523a8d3bfa1ce93039fb9294e8ca3 71e312cb7e3610c88ab3e03fd9bb469eaaef5ed3c9295b710ac54e5bb334f891 +lib/codeql/xpp/elements/internal/TtsBeginStatementImpl.qll 5f8beec0233307a0d834a446ac8c662458cc5bf1dd5f74163566cc456d742df5 0ae84415593ac227bfdba72710aa11b6935e07df8e837528323083d6357018bd +lib/codeql/xpp/elements/internal/TtsEndStatementConstructor.qll cef5592a1986b0348ceaa01579d6f5ee4b5e33daca3242cac7ad26140572db66 1550f51218681f554e1be4a0e00e52a0322d5385074c443565dc38ee9f395a43 +lib/codeql/xpp/elements/internal/TtsEndStatementImpl.qll fcb3fe99fdcfdffd8a8052f698bc8acb93f89d2b3edcdb76ab18d96a8ad6dfe7 8349c5880afd088e8a6a7d7baf13e7043e253a7d2072eeb653ff74cb30dc5dd1 +lib/codeql/xpp/elements/internal/TtsStatementImpl.qll 78bf229b0b1d7823ae70fc5edc0d05ead5e2e00ff685e98aff2840282170f9a2 734c69197019191b89230ab13d61f0dfe62b6406f3a843199517d4ce35e898a0 +lib/codeql/xpp/elements/internal/UnaryExpressionImpl.qll 28627e9c33d615012b7ae8169620304596e535bb0ae3bb0ed21e8924380f7f3f 955205a94a1e02c450aae3b2692dfbe6764cf5ca715570564298eae7e425fd35 +lib/codeql/xpp/elements/internal/UnaryMinusExpressionConstructor.qll bd78efa204114474b33716108772e34ebd892d9d2065c7b40fb7e1f975d46859 31d23df721edfde6b07a70c72a089615adfea636544e934833e30fdab095132c +lib/codeql/xpp/elements/internal/UnaryMinusExpressionImpl.qll c75c57832638f22ea4d0430dd5bcaaa1de1e43db21cae3b05815f50e471b3931 0fcd010945cd1cfdbd7700bce63e6d6b27cc118b31da5b7d9c13e2c830bc19a5 +lib/codeql/xpp/elements/internal/UncheckedStatementConstructor.qll 3de25efc203249e2e442733b5986a74c6ea6511bed057a050396b834e5078e03 571b4e470c1550cc653c7620dd7e3dceef06afb90ff5f811ae6e0a822df100b7 +lib/codeql/xpp/elements/internal/UncheckedStatementImpl.qll a6562fc1ebf2958213bec7cfef1bed901f18adfdbacef46ac6b1ee579fd59f11 821ab546efb2c15a3bf7c2da7269cdce7529e55a65e58e2e0c6461b9dc80ddae +lib/codeql/xpp/elements/internal/UnspecifiedElementConstructor.qll 604761d0b427e45ca745abdad39cb7e4904c7c7ae6753593967e437da32978a2 c0bee8c53a9ea60713da34f22842c9a4d2090f1228d7d651ff5d9f4c41d1ac24 +lib/codeql/xpp/elements/internal/UnspecifiedElementImpl.qll 6c065819f61582965f3df28d59d83f541b6903e9009746c91b4a6572ccee8644 4a9ea5abc1553b6d9bf13435869cad787d5f01c7ebaf181efcbd3d184530c765 +lib/codeql/xpp/elements/internal/UpdateStatementConstructor.qll 19310b3ab5898101b2b2339dc900534c380458341dadee428882545fa3310d28 9f32f031790d697e68f36999383b147211348f864f34790adaaf422dd9a5c7ba +lib/codeql/xpp/elements/internal/UpdateStatementImpl.qll d05982217147ba6d7f3853ad702050b0e17dfa80fa9c08efeaa5f9183f2b78ba 7e2f3c1a5b240df130e792518e74d07a743b59c9e4390b344ca7365f1d02ea9f +lib/codeql/xpp/elements/internal/UsingStatementConstructor.qll 20d93cdf5bd2b1b4b7b6b90dea6006a5bfcd4f40d4559b7bedfc4870f5394c4a 6e06fa5ae79db13df7e7179d4b5cbbaa1cea6d3602b5e03ca0484fd80a11afef +lib/codeql/xpp/elements/internal/UsingStatementImpl.qll 0a8798150337273f448e13a36138cd6b0e05729e30857ddedc03f6b8f769c5a1 caa9f522dd9848c9160ca588fc728aac25674c70cb4ac38af12b29bd6f42ee80 +lib/codeql/xpp/elements/internal/ValidTimeStateDateConstructor.qll 7c402c3fdc46301a22450780f594345a58c71966338014e389fc253a62684ba6 0ac97aef4001000f9479e5ab314cba4b5a52c4018faf50292fa5680c205e7369 +lib/codeql/xpp/elements/internal/ValidTimeStateDateImpl.qll 8f17acd7c42276326f4d624d20437129234ab238888b4633114f46e895ffdde9 8035068cb1bea42705562ded70bfac48466bd6164d470b48d7090d371119e2b3 +lib/codeql/xpp/elements/internal/ValidTimeStateImpl.qll 3b6a7a9c86aa3b7c4db09542ae69de0f6040e38cacc110ffda0efd33da971c4f 5ae4a73208bb9886eb6ba129c0130de421aa8b56e56b5c3db160ee96ade9fa3f +lib/codeql/xpp/elements/internal/ValidTimeStateRangeConstructor.qll 1f8245910563d8aae77df17e6ba5dea791e27371dfdbdc8b3a41efd2b50390e2 9944817e69058be2555c643fd37a57914f24c06727f9a857458a322f9a299a99 +lib/codeql/xpp/elements/internal/ValidTimeStateRangeImpl.qll 05cce568bd04d79d779a472f0a1dd4d2f947fda2bdcad2dd429c2df11fae14ad b2a165c43e45d057a9f334da58c3ac2f3a091459873c70ad6e47df2b53e0cc4a +lib/codeql/xpp/elements/internal/VarTypeConstructor.qll 0c5896cba8ccca081cf937cc925153944ce3bdedd27f5807119914fe7bc275ac 018f084bc2cc3211313edf4b542d2fa0937d0d111bf4d939b5870e4b4edfddb1 +lib/codeql/xpp/elements/internal/VarTypeImpl.qll 42a2575d019c30d079693b6ff6e652d619cc858555e8a59270a65fea8ad10214 86446861a6977db6b03ae5457ecddd1e47e951155e790a45be5ea0166a32a7f6 +lib/codeql/xpp/elements/internal/VariableDeclarationImpl.qll 688a7487a65a7f42c892d2068c437a94a8672d8fc83cac0a23cfc900ae966057 3f7867e09d21d1deccc350063046769effacd9b1b9a0d4f57b8244b4aacec64c +lib/codeql/xpp/elements/internal/VoidTypeConstructor.qll e9203ca925e5df786952a6b6ec8e875d283c73b832f082028260a716359f7736 31b450927af88c4640cd3d3989965be487c9db739beadab6930e0e1858941ef5 +lib/codeql/xpp/elements/internal/VoidTypeImpl.qll 08283056892b61c79406d1f00f617e58bb5a62bbe0b3e047dcb33c8c34cc6389 d97c293370805e2e3f7e0bafde7f6d5c01f3bf09040159c8c0fe58fbe4c009f5 +lib/codeql/xpp/elements/internal/WhileStatementConstructor.qll f07bd4d968bd5908c2ee2f155f867c9610d0ca58b8c9151a4213dd9c9d390327 d099a0da32f366703e8e9f5d613065a3e01e61d9432cf8382cafd9dcf19af564 +lib/codeql/xpp/elements/internal/WhileStatementImpl.qll c4486dfffec55694711c37b55284baac2621f9562ad22c790e58039067ff0c0f 3ce1f4c204059649f82443653f8a7d1bf9c2f87d378813ca704c7ba3f9f141b6 +lib/codeql/xpp/elements/internal/XppTupleImpl.qll 5c4518a53c38fe3a8c57463527d696946b3652cea1445b62e3280dadcb0d256d 8e70115a28fc980df5d34166b35052ee3216e14fec423c7be02db346c355fd47 +lib/codeql/xpp/elements/internal/XppTypeCompilationUnitConstructor.qll 3afc91614afa6401ed3c4bcb3c3adbab7b408cff3440b2a69e301a13cbbe79a8 524f8af109285e554e5ef02ed4ff89ab3c7c1dc5f336e3afeb1d0fda9b7fcb6c +lib/codeql/xpp/elements/internal/XppTypeCompilationUnitImpl.qll 014b4832293ecf12dcd32ec5961462d92671f87f09ec30b465155944b1f2fd0f 8bcde8e4091433ba09c5efdc81fdccaccc1370ff803f942fa540058c7301f0d9 +lib/codeql/xpp/elements/internal/XppTypeImpl.qll f84c6f8d001047ce34fcb7d14a31e29e9f999f3ca7dfe8e8ab9b71868004b9a7 b51ed1b3b07104e7ad454cb8e78cf40f1a603750da5cdbe572b810a35ecb0aa3 +lib/codeql/xpp/elements/internal/generated/AddExpression.qll 8239f75c3bf8e7628c06f7823474c8ef36a93c9ec2acb76d954a22a3717bcd73 676046f5343a00703edb3811a83fc456f67c75a554f37c2b606a47d15bccbda8 +lib/codeql/xpp/elements/internal/generated/AggregateSelection.qll 1048972d53250fb574a98a51f3b66c9c0a8ed08f6bf277a1b385cdd05004f0fc 2e54a412f215ecab7b38f0f784f511237c1ac93123763ed28263ce853800da67 +lib/codeql/xpp/elements/internal/generated/AllFieldsSelection.qll 0b3ccde867e93d9f410a89f3bb05c06272e4a589630d835f28b4dca0b275645a 0bd2ccf1aeac70fea5439dd65ab243d73436578172c2086f82a36efd68a2bd78 +lib/codeql/xpp/elements/internal/generated/AndExpression.qll a85b1dc72c230f62de5fe8957f259abac2d75a9c30769f573f81f8161e46b4d0 205b5a72e6a7fec576e6de4ef6ccb3d8b58e9a694e5d64cbb2fd36824548bc9e +lib/codeql/xpp/elements/internal/generated/AnyType.qll 8194db8b27cf40928c25ec4c062991adabe4389580b56cd8f3bc85ddb99707c9 2eb76cf5d376cfdea7252254b83c30257b848304d0c1b2580ce32704eb4d7c5c +lib/codeql/xpp/elements/internal/generated/ArraySpecification.qll 42a06eb15418c07edf62715ba466a1ca47b79e427c08bd43a949706d9ba7f8a3 2a85bd089fbd6c1d512942eee5ca5454f682d9ade484afd2d01df1f0aad9ec59 +lib/codeql/xpp/elements/internal/generated/AsClrExpression.qll 77afcf856a03a7266b7132fadea524e1f3a1cd265172cf63f673e7f3d4d95099 ff6d1058bdb9b97e9fd66e015f96c655edb5942223ca0d6ac05b29950f49ff63 +lib/codeql/xpp/elements/internal/generated/AsExpression.qll 244c3d5debce2aba4f019bba8a1c3363431b10e568a2707e9abb6743366f170f 161b3bbc6b0ccbd9d83121cadc42ed9de3ff45018ab4f9b6ff0bc6fb4a023c03 +lib/codeql/xpp/elements/internal/generated/AssignDecrementStatement.qll d64f96a50721a9b14a735f40c15b30d3cd6c9b33f1de8022d31fe633f9825163 c45ef8c4e3b70e2d0dea3cd013eacc0bc0fabbf65c2667affecdfaa3b33f3531 +lib/codeql/xpp/elements/internal/generated/AssignDivideStatement.qll 461cae0f5735a179aa74bbbbadac50c0357a4b392c380b7ee4d2ea7d9131918e 99a9202d0caba40baddb94f6c7237a842b6227e4c7a212d040528391cde0df35 +lib/codeql/xpp/elements/internal/generated/AssignEqualStatement.qll 5b9437cf67b90964b75d0b28dff8de0ae54262fc89323f45ff18826f2be1be4c 7870b04977f1d55192c159473ac57c4941b860009fcf8f4f7d434513d2e20e00 +lib/codeql/xpp/elements/internal/generated/AssignIncrementStatement.qll 2db066ec69ade32f32efa35df143a4c89041de23b68f7fd761b242f1a89aa439 ad2edf28650758c6271ec325f2131da43d94f8a4d668532de27d9412ffdccdee +lib/codeql/xpp/elements/internal/generated/AssignMultipleFieldStatement.qll 03d95115df844b1a655cca5becaf4392e1f36a471a6ccd26fe5b5ad20d9892fa a744d0248692273b8d03880e82d739e867454541894f854f208b3b18aa37d6a7 +lib/codeql/xpp/elements/internal/generated/AssignMultiplyStatement.qll 550c48f24d98b8afc7452aad9e867fec920e783dc5b5c52c83e9a63626d58551 b77410cfd52390b6ffdc9f5d4f9b6ffe7113674810e81dace04f075883dfaff0 +lib/codeql/xpp/elements/internal/generated/AssignPostDecrementStatement.qll 64d38c2b195e13315b6d52e9a2a041ede2533d640ea4ba6bf1178dc1e791e6d3 6fd8c5f48e5b89364f2ec7f2f53f1ca8396fa4f7d5bc38356ddfe4e5362dfd33 +lib/codeql/xpp/elements/internal/generated/AssignPostIncrementStatement.qll 95e1feb52a094a5032c3b5d4ec88a596b845460031cadd066704259af2ca7693 9b4b02c7a9a932c503690b3f49eeff998d1c6408264a1b95fc0b78ca95a8883b +lib/codeql/xpp/elements/internal/generated/AssignPreDecrementStatement.qll fd0095fb5c8ee0fe0480209061aca3741144c112ac1a15a385fcea093bdec876 89bb3236d149e6ac9d8d89cb69cdc87552f4f17283268f1086521ec44c0ddcff +lib/codeql/xpp/elements/internal/generated/AssignPreIncrementStatement.qll 4f4ebed2fe87a092134765457c18b37939ee5714cb968926ce5a3f1e3e7dbad6 7da7febe93143dbedc0fc92782296c6ab140e8a99a8b3c2b5e2a361e0eeafc95 +lib/codeql/xpp/elements/internal/generated/AssignmentBinary.qll 96623d48fd2ff8d269ee350e4e3f94c16f071aa9e1e380d29d6ef2c16dc4e8f7 1aa0a2306bd73597f7f6f39bdf812f1295e8e6176b9acdf73b555ee1f7523daa +lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerBase.qll 042a525ff72c3300e96de80099c9b84b4163ae8ae636f5588f37588d617faf35 6ff446d8b4d593e737297ac97c64d88f5e6c0fad6b13f681d3426f8b4d588811 +lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerClr.qll c32e00adadd45c0ea60bd9e27212d67dcd7b0bed93f951ede137d504237be299 ccb2ef3062f658f5c71315192e0970a8233da5aaa150f96d44a4b3b3c2bd67b7 +lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerInstance.qll b660abbb46c730ad7c4a2132c939681c043fedd20aca8b25b889748bdd2afa72 90aa6189d696f0b00952eaf814114c7dfd23d6f73a016cfe08b44055b643715b +lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerStatic.qll 8157b3297751a09cf9c873d2a61db3302a82db8fb826cf499fa5f0d3d4cc9a40 c1a22bc38e21d94c12cea7c7bb8b2ddaf8b1df7456c9e5a2be7c4c0ab0242e78 +lib/codeql/xpp/elements/internal/generated/AssignmentSingleField.qll 20bdca8e40ad0e22ade64945a6bffd0cc1ebd4dd5855bb38f9f2dceab74cf79f 513c0642cbbeae35964b4acf22d6181dd8c21751cb96ae97bd5c14c12bb3f5d3 +lib/codeql/xpp/elements/internal/generated/AssignmentStatement.qll 6b4221595340b68aea7f765f1b36859a30019f89c27260294957925d42d1c664 7db8a7bb2d624efdf685090e69463b922d393707a56b80318106efb286e80f3b +lib/codeql/xpp/elements/internal/generated/Ast.qll a1a7d5b0b458afa22f06916cbd740fdcc6731c4738590a77f04ac2f88ea4b088 c9aa12d6e07d89cb43ef8fdc76adc6f4f87d93a73f331150901bf9bb4bbdebab +lib/codeql/xpp/elements/internal/generated/Attribute.qll 37fdb05d91c1e533af27a0d271a4ba720b4f16c60e158e3b813748f1b1c7ccef 49526b8473ac66ed66b37d7ae1f0d549002ed4c883944ddf6a612eb8db5d994c +lib/codeql/xpp/elements/internal/generated/AttributeExpression.qll b868a1cf9f140e217cc6ec18b2636f43099563769f3d511ec1748883b566a560 0d99578aa515653de0e379b9d166ef86a60e999f67c53c1e73e87e98d1cb66e7 +lib/codeql/xpp/elements/internal/generated/AttributeList.qll 9d0a30c7f71f5256c12fa2dd871d36367122e6cd8de9cebd687d7adcb5bc6e53 245479f69d77da9f2577aeb01938864b41ef706dce6fb11e7b8adb0ceb7e9f14 +lib/codeql/xpp/elements/internal/generated/AttributeLiteral.qll b0df692e05f87d26192ef6f9720a64d0d900f70a91722f2771fa5e4cd01d4bb3 192fbcf782bf84652ae7c66387ee97af465cc25d1b60daf49f58b01007790cd3 +lib/codeql/xpp/elements/internal/generated/AttributeNamedParameterEntry.qll 8fcbf28daf2da704c6414e09ba9872fd1232829f1cf129dc78ddc5de22aef86c 964f55e99b834284b1cf6081caade3ad2feafebfc16a2bd71fe13958d52d3ec1 +lib/codeql/xpp/elements/internal/generated/AvgAggregateSelection.qll 2d4214464088a36c63f2201d188209cc3453132d0fbb97dc03c66f1577ca36c6 23533fe0c9115a26e249e8d34268973f816764ab81b599f5ccb9b9724c0f0250 +lib/codeql/xpp/elements/internal/generated/BinaryExpression.qll 0f734782852a98c182cd83fae0695944ac84031eed5f8b444e55e1de75fc654d d0510a712f2edce9a64c948def338c47c76e3c8907942696e77f26f253e0477f +lib/codeql/xpp/elements/internal/generated/BooleanAttributeLiteral.qll 021afc70a11db77ee9a84f91b90e35d53590c4e3574774fc6c2452baa1d03bdf db140f8a2846681fb81f087061dbd9fa49adb6b505163b2c3eab7f2b63161dd8 +lib/codeql/xpp/elements/internal/generated/BooleanLiteralExpression.qll 04edcbbe148b4c5b8997b8ffb51b1f382ae1c18c68e71bada4944919f832f429 a337219a74b8864e4c71caa94754556678525272d87541441ea51f55f96ab9be +lib/codeql/xpp/elements/internal/generated/BooleanType.qll 9c707cebb40351849d6922763ea89a54bfbd3d89de43fcf7ee434f9e196c07ce e4371ef710bf7e9175e861c07e6395912563491c383d527d2e0dd712acff6ff9 +lib/codeql/xpp/elements/internal/generated/BreakStatement.qll 18373c1905e48c31e8b8be7541c1b263e3c9bda69ced1f8cae2573a6569876eb a185bdb78a5a672dc2ac4a3bb23dae39d5a950c26fb471c5f52c5f9f71fdd6ef +lib/codeql/xpp/elements/internal/generated/BreakpointStatement.qll a2a8cd8023f05ae2c1b91335461984af9ec8437cb7dc27bc5492d2f9f59dc799 6fe96f7c391585230eb49d52a85b9e3d131d08396762d50dc3b65f45b98ca6e2 +lib/codeql/xpp/elements/internal/generated/Case.qll 264735e142b7b31dc8e45d46724d2fef427ed57291fcbf5319188204eedfe440 dc32e2388d8dc86a62b7b32727d10c4fe831ec7cf756f0207554e27fa08e5c59 +lib/codeql/xpp/elements/internal/generated/CaseDefault.qll b96ca13ac302fecbacc922efc5ff058201d8183dbd7fd4b39bf5fb02428a4c7b ca416849d6576c8aacafc57b0b7edfee793e9c4a1a8a1679a08bd6022a149dfe +lib/codeql/xpp/elements/internal/generated/CaseValues.qll 79fd899820470782d5f1d4dc20616bfdd8b0004a451531e83ff7160e3dbf576d 47a1a0f08f26e9bd976fc54f3538161b3012688a446f22db42447cfc721df429 +lib/codeql/xpp/elements/internal/generated/Catch.qll 2731f078027d241a32ac75639b9daf9dc8429ed60273a592c56bfb3c2b2e8703 14ee8828bb6450dc729085ca529eed6724a911ba3b23b75c30f7107be4131512 +lib/codeql/xpp/elements/internal/generated/CatchAllValues.qll 34eacfe0370112e1204faf6dedc249a73aa1f38f77bb9df9cc6ceb70b13ebfa3 e9b1eaed91b185b63da14ef342fd718080507ce80b321e89068efbd219d072c2 +lib/codeql/xpp/elements/internal/generated/CatchExpression.qll 9d1f845f36d25c2e7dc4f501169a4602969a5ed4311860a46323c5e7318225d8 e7a4ceaa20afc39a41a0e908987436319567a931dbcaf2510361d167ab6334de +lib/codeql/xpp/elements/internal/generated/CatchUpdateConflict.qll 1ea34c9c2403345ee481915d50083988e17ef25d9f34001ed4b8f89139b4ba3f f121026a554ed37e2db316ed7af8914db0c7ec9b2ce8c794d977b2160009a4fc +lib/codeql/xpp/elements/internal/generated/ChangeCompanyStatement.qll 1e982b907dfc4c6cab1a55308b0fc289669899586af4fdae9c4e6958d8022c77 155b636ce283a8943d8c223af3903fab46535753c69d2a4a11268751f9f043a3 +lib/codeql/xpp/elements/internal/generated/ChangeStatement.qll d60b8d5bd2458169805361288dd7611f1955d6177cffe67901d469dc46e4510b 482cc465a9acd6077c8604a8788bfbb4f41d3ad4777f43bbd8ba190216388788 +lib/codeql/xpp/elements/internal/generated/Class.qll 036b52020cb0986774b8044b4dcb174e64c424d3485da70d57ad406d6d39fb2d 1c1d87299e2cab8f810fade8b92cc69bea25f7fb47dc6a5ef9896d5e84348d05 +lib/codeql/xpp/elements/internal/generated/ClassAccessModifier.qll 4794a83db34e8e45f861409568a058b2576cdae53c5952f4ed0881514a677ec1 f1dbb0db4e824a422bd2e25b109ca52adc5418b05c140078762143afcd77f598 +lib/codeql/xpp/elements/internal/generated/ClassOrInterface.qll 61bf3792ced84c4b24da2bb07e3e61f714efe5633aabffd09ceb21035076db1d f495821fcd0a93afb0b42932a19d9469755a7ac6aa1306d1b643e592b426d412 +lib/codeql/xpp/elements/internal/generated/ClrEnumerationLiteralExpression.qll 63aeb3ac4e8533647d57f5cd5275f3b2a21346cea6a4c709c075a55484e89e58 11ca5c5aa6ba29102c7d017a551e653c98d7ac2bc57435fc8fc3911ffaf4c4a3 +lib/codeql/xpp/elements/internal/generated/ClrType.qll 563961c291fa4674ac6060e9c12556a30c0124d6172cf033d5b8ce71a362e3d6 9f8bf92535c72bfcb0fdd249e580125db736f9aae19f890f18a8e0c996650d47 +lib/codeql/xpp/elements/internal/generated/Comment.qll 8f85f86e97d0f68bed196ea7b7c46dc136a0edbaf36c3e02c1a0a960bea243c1 49b9075af87d7be53644e00f29c6bdbcaf16d691879577216ff7d3697956a2cf +lib/codeql/xpp/elements/internal/generated/CompilationUnit.qll 328984aa34c52b965069ae1a02424337a0293cf2aba45f7e4523c9878a58377b 38c2848e12122e9a2e4bc7fc720a67071c5bfeab6d0a79a207d4b6726a7734e9 +lib/codeql/xpp/elements/internal/generated/CompilationUnitRegionEntry.qll ff77095c37563979d6ec247dbc1e132e9ed3dfee0434d3270656a169049de605 cb284183d5c49d9735ecdd2573b9f77798afe6c5ad013d1294de818060f8dbbb +lib/codeql/xpp/elements/internal/generated/CompoundStatement.qll 4a0e7cd970e48fe6546c8c65da63f88a169361bd23c28eaae40458c25f78478f fd1f565b5f19a11d22c398ff93d7d8abd7b0a13e438342e58d85c269f47c5012 +lib/codeql/xpp/elements/internal/generated/ConditionalExpression.qll 80e23d8a8f8b3f3d09cff22914af52321b71abedca4e03c2912381b63e658f38 a115b2ed8136b25600b84350abcba43bef4906e2cf6435818f276fe7c8301d1e +lib/codeql/xpp/elements/internal/generated/ContainerAttributeLiteral.qll 6e52b1a517740f24f5303e7abf3b25e34fa93c92f071de0da2ccaa6d91869d79 6c3ef553af9df4258d0fd524e12014cbf246498a2d14bfdf3e7cca4b4bdc0401 +lib/codeql/xpp/elements/internal/generated/ContainerLiteralExpression.qll bc52ee61b6e3e2b4c61eebf611e2bdf4c26fd39c032acaa0062cc8f49165fef0 1cd1d664fbdf774bb61d3af0e68228c13377f2ba546c3909333498a783a29602 +lib/codeql/xpp/elements/internal/generated/ContainerType.qll 9fae3ed763537a9a1d5156e8763122d6b7ad2fa037fca63a3ae03bf06ec70e01 e1a39b190585ad67e81540b6aa566ab51c2cb187e84faa4c3687e23f1a5b46c9 +lib/codeql/xpp/elements/internal/generated/ContinueStatement.qll 96ecbcf31d5b6daa5a63d37f99f21ace01f7d240afc7d0744d160f4483513bdd ac6a97a9c4ffa8937b3bae172e8bf1860742db38005f33cd80df86ca2707f6ef +lib/codeql/xpp/elements/internal/generated/CountAggregateSelection.qll f1e1d741886a00fcdddd0a677f8273f720e24b8a33c991e9674ab2fbfa193d33 ad719a2b49891076477465e673dfc5c1fcf33fec53ce3c59c009e5ca7233c050 +lib/codeql/xpp/elements/internal/generated/CrossCompany.qll 8e2465a9903187e8885507a2beed5a01210a9f6d86f5c4cdba023fffaa5c4730 f12fda0e372e4aca3c627cd8c271ad22066221db0de0d77e403d0ed256ffaa00 +lib/codeql/xpp/elements/internal/generated/CrossCompanyAll.qll dea36667338df6c0ef89f28139b362cba97ee207fe0597c2b3bea50b4c2cd86a 09e7fe9459e0ab987c4b070e786d8212591425ad1343af532fd098b53aac8879 +lib/codeql/xpp/elements/internal/generated/CrossCompanyContainer.qll 12f635d2bf3733687aa37d0f3d8fa412ca3b701bc58e9263fa02f66db89e1a5a 673a656c7c7f092fbaeca1965d8aa483196e63fafbde01f3fd4ffa8776b1174a +lib/codeql/xpp/elements/internal/generated/DateAttributeLiteral.qll 53ae6fa095326000acac25338c1651236ecd1423813684a5114ee3a64f4c49f2 610a9273a99b0491c7822e3ca1f313cb860a1d024c6a2fe8382dd8f27cab4062 +lib/codeql/xpp/elements/internal/generated/DateLiteralExpression.qll 97bab5a9cfd7ab4ed7f9c5edc52de7d86f04d955b9656707332f2c9a67e7d0f0 5444606b338c7ed38caca5b707899c89c4bc4448ec9fd4bcd929bf39d9676289 +lib/codeql/xpp/elements/internal/generated/DateTimeAttributeLiteral.qll ac418d3e958431bde0db3db3b40e2e79af69e00289dff2bf04bca86ca5113c9d 74637edd8ae28629e7f011f032d18e75d7e84466c7607f20ef45cfbeef6676dd +lib/codeql/xpp/elements/internal/generated/DateTimeLiteralExpression.qll 2e4fb1e054d4cae336fe408e3ba9910415d332e758152991d5645de012a058e6 419e0647f5c4a5fb64742c99bd32f0d3d1207607d45631063690b190c797af5b +lib/codeql/xpp/elements/internal/generated/DateTimeType.qll 647945dad10c9b0738658367f427b0a197ea1ee934b177d0b839fef5dbd175b7 899dd71bb8063e7180bf48140dc94e4d7d3166df7ccf3f982eebb02ad1bbaf0c +lib/codeql/xpp/elements/internal/generated/DateType.qll 13b0436983daf49b07a085341e7a827061c398516f981fb99a09ce73db499180 4c854a31f24c21caade835ca89cad87140900368f412f869d5e0847563b3ca9f +lib/codeql/xpp/elements/internal/generated/DblAttributeLiteral.qll 4427a40cc53588efc85d403f31547547278644250a94ab3b4d7f77d2eef010b6 b594dddd3d97b978a1b88271c5ec289370be30325eeaf4a257d183457e1fe866 +lib/codeql/xpp/elements/internal/generated/DblType.qll 6c3cda31e640f3c39c2eda3ccd8087fe9299bdef1b7718530cc5d9855b92c9b1 bd55040a62b1880b15f9af6fe55b52142bbbd791797306eb18e3bef9018cc80c +lib/codeql/xpp/elements/internal/generated/Declaration.qll de350762be8cda4fb5efd2317e80e9054e7dd0645b23205579724ecd4bd8ab86 b564f1ba2f2be9b85ed1df95ded3f5c32e2a71e651386cae1fc5b58ec578aeb0 +lib/codeql/xpp/elements/internal/generated/DefaultTypeAttributeLiteral.qll ff85717115dfe89baae08cdbfc6df26c81db039e9bacc7c985f0e3576ac40922 3f8cb540502ca66dd8dd7bc820dbd5508f8a11636ab3c054b5ded017ee96b1ab +lib/codeql/xpp/elements/internal/generated/DefaultTypeLiteralExpression.qll 354fd61ce9f5093e733d10949a68fe85ee51aad0ee956a8c7ac706529ad8a5be 2f7d8f1aa60fdccad2ef2b3dfdd6a42f3f67f2505d413edaaa982ad65951eaa5 +lib/codeql/xpp/elements/internal/generated/Delegate.qll eab06ea0b67398df849d154b6f28091078afc6d25896043a6cc615b3e2b35848 87dcc3ead98bbbad57b8df216c15f01db5e8aa433b13abdc21095643534745a5 +lib/codeql/xpp/elements/internal/generated/DeleteStatement.qll 7ce83747268b56c42ea4a848c802a6c0471c968c036dc8c199b2e800a77b14c0 c4449f7303a672132b56050937f3d132a384597cc5637267df896bd609bf3594 +lib/codeql/xpp/elements/internal/generated/DivideExpression.qll e1ad394daf5032c5b49fc4c118d38e3e7eb6176928ac689529ed8dc8fc9b9922 906a0065eec97f4ca6a203714b9d58e39300e5a0d7d10f8a39913882a8e2c80f +lib/codeql/xpp/elements/internal/generated/DoWhileStatement.qll 9845af473417d9a5b55c655b0dce8dab5b9864b22ccefa01821e7ad12194a6e7 5229c1961500b0b461dead823e4675419a095f5ce536b907fc6b95e0feae73cb +lib/codeql/xpp/elements/internal/generated/Element.qll 3264cbfa428d4db067e0c36b37b27443d8ad9a6cf14f1fa377281f36e60f76e2 30b7ecc622319f84652438a5eac18eb13f4bf9f7d45b39062977bbab49443703 +lib/codeql/xpp/elements/internal/generated/EmptyExpression.qll 113804358f6d491308f5829ae6d417eff09876652720e74a079bd70927b93819 b34dd0daeb125c6d112099045f93102fb7d8c521eca6853284c6e9e544c9fe0b +lib/codeql/xpp/elements/internal/generated/EmptyStatement.qll a23c100be4446d101757183a5d8206718a3d649dc762e114c59b48b053d939ff 53aeffe5eb583ef8bb0eb4b0d82edf51ec77a9063b9630134002fda2d5ba3bf2 +lib/codeql/xpp/elements/internal/generated/EnumAttributeLiteral.qll 984e9d41885bd11be533c09505af2693fe5b780e18d56485e0ae7cafb10b8122 562c2f4300dca7dbd8042cd2ac8be9ea442c63b3e4370b2d310d34d3417bb68b +lib/codeql/xpp/elements/internal/generated/EnumerationLiteralExpression.qll 32f457640232cd6e26ab7dac6f0832560de1501607c27a518688016add8942f0 0676a0afe63154b595074b1351f3b98981a4d84fc741e6d67d13712d426b6ddf +lib/codeql/xpp/elements/internal/generated/EnumerationType.qll d0f2ace21c65e06a050001951570110308d9b44e51c4e84e721eb3aebed09643 6b248ffcd572dcf9ee06f3aabf1b06dfe6ce856dcb1f71da2c10ac1d8c8bb78f +lib/codeql/xpp/elements/internal/generated/EqualExpression.qll 7d4b309d9324aa62261eb21dcaa6a543681e8cf7df722dfc55ce2d9fb334b747 3a6dfb2c8ea46c51fea0081edc031eac0e7e0ecea7f6cd940799b87f52b5ac8c +lib/codeql/xpp/elements/internal/generated/ErrorElement.qll cc33b5299db27af6f554b6d24773bb3f5ae5ea1d713d72122a96589412d928d8 4091528f438ec7b63edd3fe5b006a1128ecc4143c36139253f27b3e684b88909 +lib/codeql/xpp/elements/internal/generated/Evaluation.qll 94cecf5b91b8314af170d625f56841aa87cbad1c1360073330157164d0116714 50358ba6fce09462fbb4a22fd29dda3548eaa0ff2af0de83de4224932af200c9 +lib/codeql/xpp/elements/internal/generated/EvaluationActualParameterEntry.qll a06563c28c10219345059b82c7aaf9276e636d6070aab9f9f970b569f92693c4 3912831ceeec437f7fea4f31f84b61c118435619fd013da4cb60998ff71b72e3 +lib/codeql/xpp/elements/internal/generated/ExplicitSelection.qll ecf15e6ad78648045f230b6acaa35c4bd1a44e4f04fa1fc4bbf495e3359c3813 1d3d55c65076008f4427784a44d3c518324bb565c55382de072af6181eecbc13 +lib/codeql/xpp/elements/internal/generated/Expression.qll e8980edc4e656281c4a62c7f07083fe24104d1d2c4384be1726698fb25721f8c 53cb4a3df1858016096995a76df034e5b5998c78a78c5e903b80afe6b8006e0e +lib/codeql/xpp/elements/internal/generated/ExpressionCompilationUnit.qll 4d03c4f4f822de9cfac5871d38febba248e052bbaa9f3f7eff19cbb932570153 e3b90f9f97c370ceff8229f708dee5fd4e922a4c4d830c70e09f9e8fb6c970d8 +lib/codeql/xpp/elements/internal/generated/ExpressionQualifier.qll 8d426a9e721699d92935a33f837ed5d4cdded1cae431bdd26959bc4fa69e2768 1d3c47043780acb507370fe6dc2a10efcfe981296743a0a5d4dec69e74337d8b +lib/codeql/xpp/elements/internal/generated/ExpressionStatement.qll a7913fe3db6f1f2db6b2672df4e091073d30fe3f19ae9bbbebdc577aa432a56b de5d9ace507d5b02df21531b53015736258fcd9cbf0129855cd1c56e98e0f6cc +lib/codeql/xpp/elements/internal/generated/FieldAssignment.qll fa85036839fdf27505171ff937955f12983a84baf7d420db21bf22fe87be6a05 54f7c263590a61cc2729a52cdf7e5ba9e641f67544dd2ccf362f42d26fbe2836 +lib/codeql/xpp/elements/internal/generated/FieldDeclaration.qll 9074fe2229bcb78434a4e22de0ba43f7f798ff6290dc62ae946990b0e8cb158f d42ef1ccc480bbe316928521e659a07d6c2697667ca2c7f96189e8e42eafc4fd +lib/codeql/xpp/elements/internal/generated/FieldExpression.qll e0700eb07d256ec104fac635103ffd94760f25f8ac9515c4ad415740b9d10d0d 71281fbf774cc080b960b5e7505776225c75581c09347445b7576477cf9c8207 +lib/codeql/xpp/elements/internal/generated/FieldSelection.qll c3b42136c0a206de86a39ba70e6bc13c94a8149161dfe266738cfb932c1546de 723eb15f1f1fa29692d8519ab93541f53246c8e0da7639b11d09fd674886be36 +lib/codeql/xpp/elements/internal/generated/FieldSpecification.qll 4ce8f04ff09a970e4e25ebe9cd83cc50ad2e4795f2e14e5c4d680da8b7532106 039220c885d3f72d53d21da58668bed85ca5c6c53f99fae516e8ca6f882493fb +lib/codeql/xpp/elements/internal/generated/File.qll 5b513f0b5f01a795eea337aabb703fc8310d4627ed9fbc61471a2ef60c1438e0 8dd2a03cc2569320e7e9d1abcf6b32dd630b0c8dcdfa3fec2c19e612cffae0d0 +lib/codeql/xpp/elements/internal/generated/FindStatement.qll 402c411a717c439f4127635de4c99e12e2f466a2a19a5460191fc58f89f254b7 af5e1913988c905139303e9c30077bdce8f58e747839076f575cb05d4cf9fe67 +lib/codeql/xpp/elements/internal/generated/FlushStatement.qll 0b94cf3892d8fa65e1b9c1cfe2b815fed08cfa8f26672e57a86a04eafe48280b ed6330af929853480ab44073fe0a722e9695f5d65cf3b5f0267e6671255cabd4 +lib/codeql/xpp/elements/internal/generated/ForAssign.qll 4517c397c23f5eb68cd0d31ef82faab05dd3a641b514924d032eea7d610f0569 4ab1b9446b27dcb705c7222d5204fea7a33a411c7583945cc01ca519976948aa +lib/codeql/xpp/elements/internal/generated/ForDeclarationAssign.qll 61bf363713c19526f251a22bb2e3c8e15fec3d599a3dc0111e96d58fbd9cb0fe 4f16fa92ecf3439826c83fae4fc122500c28ab4911ae92f8bfca58247ace386d +lib/codeql/xpp/elements/internal/generated/ForExpressionAssign.qll b781e5a532beffadd3a1db941c148d45fcc523f84fbd522ca83d6100d9522c97 40b81244476b5503d545a2f24a52d01b23216c12d0e6e30b3b19e309110f85fe +lib/codeql/xpp/elements/internal/generated/ForFieldAssign.qll ed43c62603ea0f0ae9d4e2ee5a8236b869b9523846a5acb2b3676975db3d474a 2a4f0a02033a17208e2ab37670e8ba3dd1e54004c2021d10c3d9b27f7845961b +lib/codeql/xpp/elements/internal/generated/ForFieldDecrementAssign.qll df0ac906760c0113ad7dcba2c738f1fa44317babc2c97a8f0b52767f2c6db0d4 cae03a0ce6a586d6893ee3ae4fdeabfa5b4765ae521cbb45d9c8798e4c000375 +lib/codeql/xpp/elements/internal/generated/ForFieldIncrementAssign.qll 4a27eab00bfb36e648b199594d10a23416d542cf00c80c40b94e56d0e103b357 0a60ba5d89a2c7123dfaf8d109131aabc371641a07656cff2854128bf46e3a42 +lib/codeql/xpp/elements/internal/generated/ForFieldPostDecrement.qll 25e06b1bd5d39f66ebf695223c8e704f92d7e176927558b595d8c8a7dda99957 87ef11076bf86e397da3e84bceded0968cf2bc71a2641158adbcf3a02d2ad10e +lib/codeql/xpp/elements/internal/generated/ForFieldPostIncrement.qll a28c04aef6ed907c70024d48f4e3617194be03467ab3b06ed92611bdc49dc1ec dc7bedc6298b8f63892de271215b0a7c2bf504d98e9a36b0a90b91b423aa09d5 +lib/codeql/xpp/elements/internal/generated/ForFieldPreDecrement.qll 32f89cef4becc58713b6263041136d73379fe05b0dc4f637a7f1dd5da16b4b0e b75775006389f551302db728370936e653f08ef63b17fe5f89beadc1f7346548 +lib/codeql/xpp/elements/internal/generated/ForFieldPreIncrement.qll fbd7f26f4fc5908a9855cb385d4fbb4694c90b45314611d321af45b653a59e6a f39e6695627a607dafacf79635b08c38f77220e91500b72446c404ac988e2cf1 +lib/codeql/xpp/elements/internal/generated/ForStatement.qll 7fb346ad88d4dd16d8f50eb7276344906a02b5cf53fcbb076d602211da364799 1d21477e128593d6b2b4c275d041abd7317aa439f7475a4f580a7cab8390a6f3 +lib/codeql/xpp/elements/internal/generated/FormControl.qll 7deec5a53d29aef36ac5a43aeb382c89e4976e2172e563a3baf2c4dc2af4f048 797646344b6242c11bf47b4a33eb5962d21e8242f7584201a11e1b91b88b0a48 +lib/codeql/xpp/elements/internal/generated/FormDataField.qll 94f3a66ad36f395f41e46556aba21fc35e374b103426615601176e43bd6b3a42 4ccf113e9cc8fa949ff3fe46d29bf2d25f0609b767d93d78c12cc0393d449055 +lib/codeql/xpp/elements/internal/generated/FormDataSource.qll 2ab8b01013d3a2ecdbf2ab2930fb4e9e9de5997fa1aa35212cc5d411051d4a80 5c57291971bb60eaf68e2ad40d421253e2250bc4b1c1e602dbe56dd42c12b4df +lib/codeql/xpp/elements/internal/generated/FormElementType.qll a63f5fe2a3e3ec5ca810acbdf4067e44f250911b988758072eb7576804e62d17 8023acbcc19ec47ea83eaa97e18cdd015a5867d8f62ab787c8b4d75e25a79e5d +lib/codeql/xpp/elements/internal/generated/FormModelElement.qll 7da41cd85be377653e099aadbab63a8d4d2333e18205bd19a09c6d38fb37a35d b24121f30d9a3cdef01f454795b599bc503ad65492810c4a3160e076be5602ed +lib/codeql/xpp/elements/internal/generated/FormNestedElement.qll 92af0c00940da283366b06eaec89a67fc3c7b8f28fab0eddce17d111c20aef94 78fbbd692182fc61c686aa43fd40ab4f24b1ed6817b0cdea70330a1c436608bf +lib/codeql/xpp/elements/internal/generated/FunctionCall.qll 87549f75d2bff16e684d2bb5c74eba14f45dd755f2f8d95d170a46dd1faaedca 00c3718d711377505ac1e57fde6efa21cc33852170ad7f281039f22738d7fd0d +lib/codeql/xpp/elements/internal/generated/FunctionDeclaration.qll cdf71180e7a99ae70350f4cc081a499408d154bb4adad2b9499376dac2b89b22 46e670424b94b5151f4c03399637b4c69384342303cc17990f68897dd85a7cc8 +lib/codeql/xpp/elements/internal/generated/GenericEvaluation.qll 6153e0cabfeb08adae23713ab374646411b92604125d495c378e4f2605e88b82 78a9f0dd831bc3ce67f6f9c2ee4ff6a15f58b9494c2c848049d0849f1b561841 +lib/codeql/xpp/elements/internal/generated/GenericXppType.qll be7052516166b0885165bfa1486d20f79c9488feeab8e7363dfcb39896785859 6a58688c02b9ef99b470b41ee15b7de8b90f6bd235f0a7537fbd2a3210bbcf5c +lib/codeql/xpp/elements/internal/generated/GlobalOrderElement.qll 529f631f214552cb08866a70eeb7bdb2311eb266d8ccbeda14d37d473586fce0 b0ad82ffcdbcfb700c273d5bbaa6b81f95adc2b2819e630ba565e54db7183d90 +lib/codeql/xpp/elements/internal/generated/GreaterThanExpression.qll af954377f284d15ea148627d99ae08de8d039737d8b4199ac5b5d7da7d6a5863 926a589aa158961ab9bef29ce0d1d2c23000045fd316098c49d7218e7b23f514 +lib/codeql/xpp/elements/internal/generated/GreaterThanOrEqualExpression.qll 7555c7aafb508ee5f28ed1ebb58b02e1400eb32ec74f6c1cc2175451ae1c53d4 09f099cf695d9c6f97c97656c9b994606bd354477122885f844935c55fd2ff8d +lib/codeql/xpp/elements/internal/generated/GuidAttributeLiteral.qll fa0bbd50dfdd488de7975ba624e4a94fcb8713be00b19318b52b579222b9f5c8 19f524680511cabd268687161bddec881757d65872cd9f6b04d83128a8a04e2e +lib/codeql/xpp/elements/internal/generated/GuidType.qll 85b29bbc22a3afcf9b2bed78dc9caf5bb940641c5269d72d6dc806eaa51e5b81 6552597484b570ce3f0103e30b262c08819c547b3a533b5e5e8e7439e614f7e0 +lib/codeql/xpp/elements/internal/generated/IfStatement.qll a3358c9ad872b857c86eeef6efc4c21ef8220911d821faa35b35ff4acdf92145 faf23165ae33a729e1a16368bb70c67a45071cbbdb97587b7e7943e32550ba63 +lib/codeql/xpp/elements/internal/generated/IfThenElseStatement.qll 2398a2335cbe91ba86619bd9c4de8df7cf5e10df8380126916cd43bf582ad3e8 d40de00a33d733c6886943b7a5fd5fe759d4b1f8951c5a8cb89af59896d6eeb1 +lib/codeql/xpp/elements/internal/generated/ImplicitSelection.qll 98f37732fe275e62661c3ca50c4556d72cec9002a376c9b08c1f1a0c48cfd0f5 56a99fe7d286774b8663c024edef93fc048c87d30ccb85051cf2401688db59cf +lib/codeql/xpp/elements/internal/generated/InExpression.qll 2420b1eba2714df899d97bd3f8e58d7a4fe049dbb53df737423ec0a847311e76 2cd44e7f5114a5044a00e7f0cef4339856a9a0547c8666e7f2af92220a9cb8b5 +lib/codeql/xpp/elements/internal/generated/InsertFieldSpecification.qll 67c5ab97f471c64fd007f9d7935828839a50e2595e517be87565528a6b8c21b9 cf5e37b0178970a8df82c3d18bf440855bdd00c404d06e277a92716e8fbf9d60 +lib/codeql/xpp/elements/internal/generated/InsertStatement.qll 888789aa4d7fc1666ab8f7bcd3285e71427132f9302c245935a2b59d5c98580b 861752577c0af7ac7123f3a20f17ee7c164abe927656a65d0d6b173940163d02 +lib/codeql/xpp/elements/internal/generated/InstanceName.qll 001373fd22d9b8e58010c65b874eb6d1b5c1bd9f7a9afdb9f55b777eb133d357 9597108e764ef196f1e3fae0ead9bc207800a0bcf7c3c7de9924821e17d41977 +lib/codeql/xpp/elements/internal/generated/Int64AttributeLiteral.qll ac23047ba0ce07dfda2a8fec0ac924348a3e6b8694b2f7fca671a1e688c32c8f 533da516d6594f4c84ef747d14cff4be13f23e50ab1b923f453e718dd5aa34b4 +lib/codeql/xpp/elements/internal/generated/Int64LiteralExpression.qll 78eb58a6a676f537ff23de040febb68794a5703e9bda676ab8d643fd870a5710 67f690b97e62cc41609d7f2c43ba6f6c8c01ab9974133aa0955a02dbca385640 +lib/codeql/xpp/elements/internal/generated/Int64Type.qll 01fbb1ba95b19a4d3075df57979269d0d0274d281475ef65f51c85f208d7df5c 400b9f82602592ed005152c6e64f9c3259f419c3b585a31a2788e5e388e6d7c6 +lib/codeql/xpp/elements/internal/generated/IntAttributeLiteral.qll eef9ac0e7f2080397caa70c64d78b591d8c340a26f918e4c3460c348ddd63bf3 94cea2dd6601d54390c06265fe6a7d839741e5ab4f5279e6f50550a9a6f0fea0 +lib/codeql/xpp/elements/internal/generated/IntLiteralExpression.qll 3893de237129e642eeb1a45a6c5f8d59979714ae9b7e21d0453689b1c34cf33e e40b3da7147c008c527ed697f3f87fb440135b147b6b6d8878515bd7e67dd5f5 +lib/codeql/xpp/elements/internal/generated/IntType.qll 5b326106cff5a29d16f30d50dff79495374e9e8c9169cfe933ea7dd3afff7809 f84978e372a711161d762a2f081a28a1f93c016484674e8f787068bce14d90db +lib/codeql/xpp/elements/internal/generated/IntegerDivideExpression.qll 4567b320045818cba40bad7d898bd98431a66078bd03789f35bfebe21a23b16a 48fe8dfc38a4b0a0530832ef6d769eeb5cc05f577de83803e73dd6e2fe720aa7 +lib/codeql/xpp/elements/internal/generated/Interface.qll 9f03ead2156c688100a52d6c8e44f0d8f0c9f045f5d6e3c0309a3b0338a522fc 180546d9d30c7f1d14b2efbad9c9463260ba2d6d0ef4ba2df6aea76f78a7d12f +lib/codeql/xpp/elements/internal/generated/Intrinsic.qll b2975089d402db2966a93236992f7b1826d19207ed04e92e5c8880b099900fca c84457025525b9e5bc935121099ee59b4662083f26ebc12a05b1a94ab1b0b48d +lib/codeql/xpp/elements/internal/generated/IntrinsicAttributeLiteral.qll e611385eaaa753d8da14c064694cf338ac277dc141eec28719e69461f92e6892 a42db2862cf1ac6ec93cc081e0789b48e2d00abf83cd06075a94b99ff19ffad1 +lib/codeql/xpp/elements/internal/generated/IsAsExpression.qll 3b1324ba03e0abecb4f840b4ad31c8fca08d76c51d85d2ceb9e9caf81fb7899b 7d6d05d077ba4e388754a24bd17b38d0f22f3c47cf931e30160543181946cf11 +lib/codeql/xpp/elements/internal/generated/IsClrExpression.qll c6eae6c04d31905225cc6aad9dce55da331c2d10ffbcff08fc9ffc4f895cb375 483042b88ddf34f47907412eeb4fc157ab5bd86e0deb56661beb18edb5701825 +lib/codeql/xpp/elements/internal/generated/IsExpression.qll dac001b3241e1277d548b0dc0e1e335f146af8fa9a99dcf513bceac9e7058c61 69fc754b4cc964ce1a230d40d655a3b4bab06a1310a2992ceaca21fa09d12183 +lib/codeql/xpp/elements/internal/generated/JoinSpecification.qll 345046697057c73a46f77603fb0b877e52326f73e910487569d5f180866d83a1 36890f841582a556d474c640a4477d24c83c4f72ad5c2c26a79a9706f586e3ed +lib/codeql/xpp/elements/internal/generated/LessThanExpression.qll ef2da00b6f52d28c108f6590aa46982af47afca4dfb5113406f3f0ff8e892f3c 778de1df6a4b25ffffd6bc1bf9e7ab8d633f10d92b64764ecb317cb414063177 +lib/codeql/xpp/elements/internal/generated/LessThanOrEqualExpression.qll 934174cbd0e310f9849aa5aa77801a8503f896238a7fcec679961216b339de9a eb7af742b8a4c40ec64774f1487cbcfeae592e64879b04d333a4ddd4ceb1be1d +lib/codeql/xpp/elements/internal/generated/LikeExpression.qll fc014f06fe059662690a26c8a42c84ddde13011196d1754951bf26befe0b2d55 f3ae26c0c2805feb5d4cddc0e582bed14a11300ba42db4cf0ddc4d500f6c56e3 +lib/codeql/xpp/elements/internal/generated/LiteralExpression.qll b90f6945aa30ed1ead5693daee4e70e9ee6f7a97f6b7ee22c9849ef19d2e2506 eee24f9130e1deeb7eaaa2166af953de4fbaf7309147a2633cfb9d846884eee2 +lib/codeql/xpp/elements/internal/generated/LocalDeclaration.qll a3b95e072be063ed02809b1e2c3f9e93ae7298e1796ad1d06d5ee97f0c479e3f ca975fdd5122c59819cd58cdf5cfb0841226861d6d0b9cf490ab59777520cf63 +lib/codeql/xpp/elements/internal/generated/LocalDeclarationsStatement.qll 010807b315c851481e3290574d8ddc6f822054c4f2313e7b93c8d96bdf835aef d7d9fdb9261d79481c7b9f8883026821f445a6e93eb2e310d046d66184718cd8 +lib/codeql/xpp/elements/internal/generated/Locatable.qll 40390a132a9e07a4756120c28f3eae5ca7398189a95cc1fa9c58dbc13d203233 1f80d050affbce2eefd2d6b665cb4f86570dbd61a39722da3960e1a0d31c426e +lib/codeql/xpp/elements/internal/generated/Location.qll 3c7f1a39ac0aae5e5c037607d133f7b636eba66d75ba0888938668ce1fced413 04e73ea29a7ffc725b8eb4ee772b5cd121ff7ed9727017466a4d9fb2e85d1165 +lib/codeql/xpp/elements/internal/generated/MaxAggregateSelection.qll aa67406352eec82c753259c76a2dcc64ed58b12cb473e38d69d46916b89f059a 1f23d000cebb811db705583004e90715495ed5c171f578978487f49137255ad1 +lib/codeql/xpp/elements/internal/generated/Method.qll d1a4e74c500000f5b52bc48c911394aba3790f5b55bdd626a8fe95126a573a7a ad3d0a10b8023fc32745b8c59f3103ccf20cf72d6ae62c3775535b336971515d +lib/codeql/xpp/elements/internal/generated/MethodOrDelegate.qll dde47d9c4ee60cc4daaf336a91f5762bb8b50050a9dfdec82d8119467b239549 e16edbb6963a55eae6559b62ecd1018a2160be014d29269f933864a5824538c9 +lib/codeql/xpp/elements/internal/generated/MinAggregateSelection.qll 44049d3ccfa4f3e5ff951c29dc0a17038e5e7186caede082e2de29ec9825e408 b539108fa7d4a86ea3678e8b6feedb4c0bd32c98045fee21c0e8760cbfebf91e +lib/codeql/xpp/elements/internal/generated/ModExpression.qll 0301ba22388abff8abd6f200f290ee4c7904bfd04878c27883ba94990c49a00a 0154d8fcc6cef00a5494b36d030aa0054e9f9f4361168904426feba4db064111 +lib/codeql/xpp/elements/internal/generated/ModelElement.qll f04291665f07fc1848cccdc910e62436295e363b006344fbb92e38e0359587fe ca67a04a451d0991163e4eb921478b08b2c561326991f6cfdb5e20f8f41d0515 +lib/codeql/xpp/elements/internal/generated/ModelElementUsingEntry.qll 85b69ad6b51fbc6f16b33570ac3dcb2662e2d4f8dd6291f09e322aecd111309b a94b5bb9e6b97e6a05b66a8f8ffb249bd8d23b5bf3a41c0ae4353965e87baa74 +lib/codeql/xpp/elements/internal/generated/Modifier.qll 571e476f69af4d8525b1e0e2320781f21cf0bfbc6030826582a9bc8f040f3dbb 38b49c257ba5b9c41802f75ebf5a8790fac7daeacdf0defdfedecd3c1315bf2e +lib/codeql/xpp/elements/internal/generated/MoveCursorStatement.qll 818691e1919aa178d35504b135deb761433cff3f22357f5c8b6717bb9a39f8bd 6d20239f6111e480600e5ce0bd350eb9008899f7053593665dd5747c6c5d160d +lib/codeql/xpp/elements/internal/generated/MultiplyExpression.qll 9170c3a4d96c62597b9703a53e76715b6104300ad12e8bd5ccb56de5510dd060 33c0abcea9b6253f957c4254a18c31aa0105842cb1ccb6e215857a62d3fef719 +lib/codeql/xpp/elements/internal/generated/NamedFieldReference.qll 2d23cbc40e442b2edd546dc764b8bce50058d731767a960739aa4b4fc4175c5d 0901dd8cfde4609e78a80a4704926b308c1e924de611845ee9ff716b548212d3 +lib/codeql/xpp/elements/internal/generated/NamedType.qll 12d5e5d1d38c2fea83a68e52bb6d20a65e358f4943545667dc35aa1f5db5f775 ddc66b33cd0243796aa6ee2d50855e7d97790946d84b6a2e51bfaee9bf2f8339 +lib/codeql/xpp/elements/internal/generated/NewCall.qll 7140a9f58b0e2f17cf7125b4ed4c3524ac2a0e09c711638409d04f827f16dc7e 153d94f32b627687b896128847755d8c6b08a2b9a7f039a0f7920ddac9f45b45 +lib/codeql/xpp/elements/internal/generated/NewClrArrayExpression.qll 83e81466bcd3f57205b20e24b235e24b978bd8b75f335edd7753cd5e141d1eb6 dcdd960438f6aec0dcc6477a9c6910e1b2bdbdc0bea87355ad9326c4626d5871 +lib/codeql/xpp/elements/internal/generated/NewClrCall.qll 4a91ca191c798955f30cd7449c3474f81824a29079c1534c96b6d3f94ba5e870 3943f328f205a047c121c84923e7da58bd43bff3a52d066a9de5181c40175db3 +lib/codeql/xpp/elements/internal/generated/NextExpression.qll 1de218a6bccf13107c6f1bb643e58b1a2aabf3cd93218fa25c741d2b1dab7369 0fa84805866e85d12944dbfd64149464b287ce4d8a37d8c28470d4701aaaf659 +lib/codeql/xpp/elements/internal/generated/NotEqualExpression.qll 9f63460436da86838a300c13590544b0844dc39804956e3cb9579d8ea359bf6b 3ed921d922017038c7d5e8e1bb707945facfb61dec49b4b497e05610a38463a1 +lib/codeql/xpp/elements/internal/generated/NotExpression.qll cc778e210ca0bea24f901fec3e7207734b649b5c676023606312c1a9d1e005b3 86e5406abf3df3ab1f09f0770ea87966d12942ae10bb7a0a2d8fd84c4d0e192d +lib/codeql/xpp/elements/internal/generated/NullLiteralExpression.qll 087ce0d6cb6b4671a0e3387b78fa60db65c6e833fad420c87903efa357f234b1 9a79c1da8f6d4f717ec813e46c8563ed0215eb1c2e4de98cc7b4bd7a5e06c053 +lib/codeql/xpp/elements/internal/generated/NumberedFieldReference.qll 6f0fc2021ecf0210d96fbc0b39aa6403cefb8152f0e7e769b78d92783f4e022f 163fefada1873ba1563ef9987714e7a13e057bb9461bf6cf1ed25215911a6a89 +lib/codeql/xpp/elements/internal/generated/OrExpression.qll c19f2e4612a7732a1d59d84ca1dac75cd902ae3f7e4c9b8971ac9fbb06228b04 db019604ef256655aa77acddf91d228cc3476aaa59ff5a70f8f92567a0604a6f +lib/codeql/xpp/elements/internal/generated/OrderElement.qll b333f68b344f489db1555582af7594baac5aabb868cc043e89dfe4f63fa783fc 741c88f6f6ccf13afcb6d7895a922f1e765b3c513f23d456924d19306003125b +lib/codeql/xpp/elements/internal/generated/ParameterDeclaration.qll 474a4b818de809962ae79c1b41c12bcb2c7680fddc62240d5d4e717ce1fe5431 6401a802d23fa0ccc1a297236da1c7158d239e1d62b9a1444355097a7fd44159 +lib/codeql/xpp/elements/internal/generated/ParentChild.qll eecc0902a65223501072b5dcb34cd7df7d0b01830ced3633cd1f13dd42307150 6e160afb6613b95aac085dc03db2d8a9b388db258950995254a55d345dd88301 +lib/codeql/xpp/elements/internal/generated/PhysicalAndExpression.qll 26a9758d670ef5c0cf06b12cb6942ca6fb00f5d9db6c5537dabcba9133b6efca 0d1a5091a5b1e70a0484e28d2def4cc1aa265fa3f053a066538a828d3966a4c4 +lib/codeql/xpp/elements/internal/generated/PhysicalNotExpression.qll 0603caca232f3c9079ff0ed74bb690bf152b149de6da8a73f356acbe7d064a14 c38194e41a04c523dc3800d90e3ede87618d6e18104a83c55867f54d44f352b8 +lib/codeql/xpp/elements/internal/generated/PhysicalOrExpression.qll c83c2128d7739543e1bd1c94b20998fc5b29ac9f791d0b7b189e4d20d723529c 8f21100dbc5386ac7527f6a809a8064c94ad7b784a3af8f00e4f42e38cf20f3e +lib/codeql/xpp/elements/internal/generated/PhysicalXorExpression.qll a71bcd732fa69eac5d21fb77d0829ceab5faec5d0cb5ea41def3a15114536af5 7eed7207d4a2dde6baca61ab247ce08f58acf11a5cfd922fad31eedf3fd633c8 +lib/codeql/xpp/elements/internal/generated/Placeholder.qll c1a5c9105fb81b110dca62141795cca1e57fd0b42463270ac09e5ccaa1108e63 c540fe91f44b77032812e95e55031789ec863cead93b4a62b9879f85307466d5 +lib/codeql/xpp/elements/internal/generated/PrintStatement.qll 2cda564faa67a3bd9990e47a1949f0f17f16e071ef54053cf1581d3ce72c752c b9da22dcd80025ef2346b179a4a8d08b4a2f07f7db805ab6716c72ffe85cd7c6 +lib/codeql/xpp/elements/internal/generated/ProvidedType.qll cf2249c54cec90d0863fad048783f0b0429362ff1109058aebaefd82b2c15c22 25c9a300b6d23a7df2c3ee6b4be4c0b0205dffeae47e5b62adc2683558c50a72 +lib/codeql/xpp/elements/internal/generated/ProvidedTypeStaticCall.qll bda3ed548dbed817db87b3f8cc54cba20ec04c4381c570e11f41d612de2766f0 8b2f111b11a046afcf686534e972831a852395b753301c664c89f4f68670c463 +lib/codeql/xpp/elements/internal/generated/PureSynthConstructors.qll 452a7e3c4651d26124d92bc6b03a0c51498c465c4ab052b21ac8088013c5a941 452a7e3c4651d26124d92bc6b03a0c51498c465c4ab052b21ac8088013c5a941 +lib/codeql/xpp/elements/internal/generated/QualifiedCall.qll 879c61b709898655fd708a170af1b55baa78aaef02af3f657f3a6c9d6779d185 76ba4f83e9b2d0d66906dfbda35329378a4433bde2d1609dd891f3d210cf9fc9 +lib/codeql/xpp/elements/internal/generated/QualifiedField.qll 71c1729d6871c14391d16dcacd55e4c0982a7d14ef5ce0b3ce1fa00943e8f72b 1c6e2ffc33823eddfe56c2244801a87fe7aede81ab22c9fe12474624861b42c8 +lib/codeql/xpp/elements/internal/generated/QualifiedInstanceName.qll 2f57bd1013dfab359bb1f35e6b0405aca608847541945cf3190caa4fd24fce40 ec95bedbc554cec5d1d299c948fffac2e9ebe070c0545f4d6873d9c2c1cb6684 +lib/codeql/xpp/elements/internal/generated/QualifiedNumberedField.qll cb17b84a7b64b2bf1241a655942aa371d1a683686b6be77b7469bd4b4e025f4d 9e44396dc30934a012406aed5a78e5d6f28dfc0f6fa54f5a0918ea622d9535cc +lib/codeql/xpp/elements/internal/generated/QualifiedStaticCall.qll 62df4582a656a4b345725f125d9f88c7fc32f740553c889b87830dfb815946fb 985003ca49a59588653fa5d3d4bbd34afdc0b345ee1511e76b0aff16b32cc2ea +lib/codeql/xpp/elements/internal/generated/QualifiedStaticField.qll ff93d50fb965eeb2eeaaea8172f5cd2d6a66f38011bb5e820d15268d7e4ab02f b44662e7e536424046af30c214e5833e081f79afa06c6645c27d650426344654 +lib/codeql/xpp/elements/internal/generated/QualifiedStaticFieldExpression.qll ad4c8df0321ce1b70a4dc99f893fd365f2efb727efceefcc1b84209012e9c849 8881ed4b42772c279d364e826f40c56779d819baa55ca9cfe5f469adebbd8d26 +lib/codeql/xpp/elements/internal/generated/Qualifier.qll 3d4f61bd072d1317ce6dcf10140996e4eef0df888c16eda3238d7f8ca6a3e8b6 3abcd501d24cc40ac6e8b60c7ba051053787bae02f78a5ec2808bb7822f71070 +lib/codeql/xpp/elements/internal/generated/Query.qll d6a208ed9651b30dd61ecdb07c78e08c6d54ed77464270e00d7aa0434fb39a3c 178076a4f197a0e614c14425a04bd593788cfa0b56800e267ce1140c32f82b4b +lib/codeql/xpp/elements/internal/generated/QueryDataSource.qll 06c98db7522ac044e25f78c1cadfbe978ac2109bfeaf1fd035febbd423320f58 40397a6c5fe930994b6b772f1d0114311263ab0bf4636f37ea790ee144429d9b +lib/codeql/xpp/elements/internal/generated/QueryDataSourceHaving.qll ef6d7ae383e39ba0db19d886513f00321add44ccfbc820a60794433c3f2eec9c 190ccbd438e777233da2eb62fed2e65faf298528a0b7abad1af8e6c036617e24 +lib/codeql/xpp/elements/internal/generated/QueryDataSourceRange.qll 08c760d747598f53544fc966103035df8281ea7acc82b51faf3de30038e605f1 c5a9d66105e5aa285e7f15745570e550e9fdc8fd8fd88e987d938dfe47ac9a18 +lib/codeql/xpp/elements/internal/generated/QueryDataSourceRelation.qll 63b2340e4b4eecde1e6441604d66fb3b009a0151e11d0d406623d218d0f98399 be6a885094b874c7c88bbf2e4f11b7848f6d9c908b0e3a95c9e40b85e4eb2d31 +lib/codeql/xpp/elements/internal/generated/QueryModelElement.qll 2a0aaf5a2e6ac7793c7cf360f7300759e874d9c3406d8511cfb51c4fddd83bd0 e0d21cf0c3026c1b69cfebd9a68ac24cf8f98f858cd0a5b9f85a95cf88bca20f +lib/codeql/xpp/elements/internal/generated/Raw.qll 14bd15c1470400bd93dd031a9fadfa6f18e2c64b0be62d90b3f0411512ab6e2f 695cb9a9a60be558b618fdc7f0c6cfebeeaf82197990ddb88beb4c4658060341 +lib/codeql/xpp/elements/internal/generated/RealLiteralExpression.qll 4a4a8bf57cb40372c704386984644ab265d4714ccf64ad40dfd8e619aba04fbf 22d61d4adfaaafbe8470f2269491cc0b9af6c2b04ee5dbd816f67cc4ea863fd3 +lib/codeql/xpp/elements/internal/generated/RelationalExpression.qll 19d8251ad45c4bc92b55c854c5b2371c6d3a9013f4fa1e2d8438106e05d03b7f 6544ceb88a650841cf6f6b460148f8aff27dbf344236ab28301f254089fa6440 +lib/codeql/xpp/elements/internal/generated/RetryStatement.qll f2fd95952429d5c52eac6c8e342c7e2d971a73d51d14e011e644883fc0b8a14e 7f28dfca90dcfc9b6ad3a1d06e1b31495b0879ea5974227b3ed2d67e9d1e6619 +lib/codeql/xpp/elements/internal/generated/ReturnStatement.qll 198163c25354608f86933fcb1b95bce25fc6bdb5a03d9ac61c35c0a20a8c362b 714b26b3c83078a54b5fce16edc3c6a982aa9f0ddb610eb8f8f3c233b6aeec28 +lib/codeql/xpp/elements/internal/generated/SearchStatement.qll cbe11f908f8559e2c629a5a4cab44f89749a67d41fb3be2e7634256ff134843e 4e0f187b75cc9cfcb15df922ece105241d398ae58c54fa467ff9e59c2eb31eb1 +lib/codeql/xpp/elements/internal/generated/Selection.qll 31d110f60f15758d6f32e6074fbf9d464203ffd8815e6bb29779aa4da15846de cbe1d7655ed24cf1d4d2cd1811847ab9994ec20665330f1bdd4193dbe400e452 +lib/codeql/xpp/elements/internal/generated/SelectionField.qll 67b08ff14f0909ab0d46e6b8d23ebed9ed62760bcca17c4c9b185da81fad27e0 6a88a6e66f65298fad9cf7e4da28e1e83cbdee0217478676ca0f7c941f515da1 +lib/codeql/xpp/elements/internal/generated/ShiftLeftExpression.qll f701fd13ad2ac050e8a60668443d1fc09a807c859a9b85a53c2791b6bb60dd9a 29122fe0403431a4208fa8d7203b75e0f2169b02d35d73a73a77fb21be6f4e13 +lib/codeql/xpp/elements/internal/generated/ShiftRightExpression.qll 30189e69865929884fccbebb42f1000f269bbb17432457331088ebc623b902d4 917413d17eecad26550d47981a700af8c10d8bd1be74d419f0a040f99b6135a0 +lib/codeql/xpp/elements/internal/generated/SimpleField.qll 04f096ba9cebd63f5b5782bed6d7be2de540c79fc51eb42a2ed6b866ceca6222 178ddaa9b87b1ea24490373ab0380f71ab3cd40f3daeef22d7b59b5ac58305de +lib/codeql/xpp/elements/internal/generated/SimpleInstanceName.qll 6dcd64087aa734ea62982390df8ee98131db7275b2eed9ebf526dae45a38cf4d 2e33ef8fa2710858c378f9808eb33917cd8d76c36569f68d18a9a63b8699e85d +lib/codeql/xpp/elements/internal/generated/SimpleOrderElement.qll bdbd2727e9f1b15f59abe72b2ed793e995c19ae11f38358b81171ebc1d2286e2 05924c72389528727a881e594df4765cecd910753f1a14ed94d2ddf71563f534 +lib/codeql/xpp/elements/internal/generated/SimpleQualifier.qll bedea3d244167be5315dc7dc5e04087b536ceacde003e3f059961f5f878c2138 85c9e6ddf8d7f806eca905fa5610cbf079a6108e5953814848a40c1eaa407995 +lib/codeql/xpp/elements/internal/generated/Statement.qll 390114da942b2e9121dc7d7269be950385e7db1402b45a736f5d840933cae8b1 62407f98f06641324a6f3cd3b21758ba382b8fda5b1dbfc50568e5f55f4928ee +lib/codeql/xpp/elements/internal/generated/StaticField.qll f80b7ea1609f2b108c127d27a1ab9e153afc18f07d0ccd8c6eac29b32a864078 378e529fb2bf3f9407aad0cf77b2e74768efd6c67ae3d53acab0c90b82af731c +lib/codeql/xpp/elements/internal/generated/StaticMethodCall.qll a25f0a4efaf0c2d675503e3d69648a8409406851876f19fe44c965549e344fc1 d687014c5fe2d008ddf367a53bf2796b689c3045597fb16252277dd6f2558c08 +lib/codeql/xpp/elements/internal/generated/StaticQualifier.qll b8300ad8014b4ee20ab859b4faa845144e8eeb853b570f1ddfdc84fb958126c9 910016437122df29c4b8464dd1161d971caf1fa48c1f372b9ede6a211277d611 +lib/codeql/xpp/elements/internal/generated/StringAttributeLiteral.qll 6f1a020f6cd3e00f1488499d46b93abb0cb7f5b83825453dd85d2cafd06e9dbc af9add672e0114477e25cf8582d1dea9ff22dc464fa35dd3fd4a762159caa7c7 +lib/codeql/xpp/elements/internal/generated/StringLengthType.qll f1757366be8e7a816379b8cf737074973829c2c3f3a4802d68dbc50f39b45a42 f5d72ffd8532e3e3c61e326a3d6b356126f74da41a5e5e03962ee0cf01f29dfc +lib/codeql/xpp/elements/internal/generated/StringLiteralExpression.qll de2896ef982e76c43aa6e88a2f2809822f76f888102d9908b6f217f69517edbc ecdc0a9ff28d3c9905f1d8cc14e23854cd3a6b725faee943891455ecff24d12e +lib/codeql/xpp/elements/internal/generated/StringType.qll 12d0e80d4eca6f1dff90349207d06108d726dd512445b1bd03e165d2661ad03d ddb578d51e9cc460b92438927f99f889ff7fa4905652b5ee3e544e8fc4dc41e4 +lib/codeql/xpp/elements/internal/generated/SubtractExpression.qll 81c6e729831d852eb06aa19c1b6da74503f1ecedcaf57561c93f3c8a97805da6 dc4f6baa94908e3cfe96694f8d8888c89a5cb03c5e08ee7a69b7cf51e663c974 +lib/codeql/xpp/elements/internal/generated/SumAggregateSelection.qll 92ca9276b57de73f0cf6d1e7e2ad42a5ecec9d71ae4c26643b5b3b1b0cf7f014 0cf74fd0f081902aad36379d10a8e08c3ab2a1a6c6251be1e404b8d470974784 +lib/codeql/xpp/elements/internal/generated/SuperCall.qll 0aeaea016f37b910f9c661352d3eefa482513ab607fbcdd65b919e450d3c0ff6 6deaea16218e3beff1c9f9f97c2b30a873c864a7cbeb109995f542717b88baa2 +lib/codeql/xpp/elements/internal/generated/SwitchCase.qll 052f113fda901605886f90b45e2993e7ee278c4005f5afe84a7a1f87aa877922 4c704e1370f217f62539a81cefacbaa7cb4d8b7730b6969a7ac7ea737979285e +lib/codeql/xpp/elements/internal/generated/SwitchStatement.qll 6bbfcd139a4f5fc3f25dcccb70a82ad7961a860a5ef7445a5f643ce1406dd572 b9922e132ee656483f77654d5a75053eceff3e6ba433a2bc3bb541d7633b6adf +lib/codeql/xpp/elements/internal/generated/SwitchStatementCaseEntry.qll 7d28ea064307e3ed9f40e96869f999f81c4f1cdff77007b0ab1d557c54f9d6b1 50ad258878c8a6251ba6e9c093e93205fdeabaa853b300657aef6237175a79a5 +lib/codeql/xpp/elements/internal/generated/Synth.qll 131bf1f09f24f138615c75ecbb6440ff01bbb62dbbc1753faec9e8b380109fa0 3a8ad25a9aeff885a66547a778938fa04584f9d7190ce10ae0c0f10895b6b32d +lib/codeql/xpp/elements/internal/generated/SynthConstructors.qll a16e2be6d7ab76b6ca8fb84b34f728100cc4bc37c8d010ace2f2aaa0d88c021b a16e2be6d7ab76b6ca8fb84b34f728100cc4bc37c8d010ace2f2aaa0d88c021b +lib/codeql/xpp/elements/internal/generated/Table.qll 1e3376ee01c0259099544568d5316cfc3a7239c2e88dccfe20025e9b5c042ce2 05d0e0c8859d6aa0c4fd0115e75a75e516dfb3d68c644ea59efcd159c59fea44 +lib/codeql/xpp/elements/internal/generated/TableFieldDeclaration.qll d7bd93bd1761fd5df2d7580c570ef5967da21d7841dc2ba73f68a853c70d87c7 de4931a5ee93bff9651fd24630df1024f3dd500c3233b58e9ee8e64fd4126a54 +lib/codeql/xpp/elements/internal/generated/TableFieldReference.qll 3c37b94cec02107719d47b057a61fb5e5aa43e8b192661a5828b1eab19bb2d23 3d3961c3264d4c261dfb76b2f67e3d3611aabb66b7acb139b729c8ca41950c5c +lib/codeql/xpp/elements/internal/generated/TableLookupExpression.qll 6dff8514c5f970d68a64021c2f220d872f96139aab7f3dda93d1c1ebbe68d08e 312c5d3cde7ad2e72a3f78854ca4ffd1ff5f4b2e523940cefadf70ed3b3a9a02 +lib/codeql/xpp/elements/internal/generated/ThrowStatement.qll 2420ec87fc4221440d46f8c7c56c3fc44d57bfed8e1d84ded761a63728755254 d3eb33b0523a236809a414224a2eb3bb4eb0738cd463612373974dae23e12e9e +lib/codeql/xpp/elements/internal/generated/TryStatement.qll 98d3f67a9d8f85ffd6b4776ee194c96cb958231ccccf183d5dd2980fb1e0aac5 147567acceeba8fa3603c4f56ce32a9fc879d2690306ed57701ce8282fe9c812 +lib/codeql/xpp/elements/internal/generated/TryStatementCatchEntry.qll 1566cd3572ea91c3a4fefb50f50159793f8b9d822de7fced0c21a69c016f973a d8898be28217655af3b69a6035cceb9920381c7ea2f11c482c5d5fbf7d30c8fa +lib/codeql/xpp/elements/internal/generated/TtsAbortStatement.qll 0208caa8bb8a40fcf637d72af6d0b72908731e226ad34eff4f5f3bfe1c7263de 9029b2232a57346d5120d365ddd86dcd8dbef038c2fb61124ae99ace2fd5e2a7 +lib/codeql/xpp/elements/internal/generated/TtsBeginStatement.qll 9e601d0ec144225e4a544a0cd199b514e83c71c2dd4108256239154cfdcde054 f85030f5745133bd7b63ebebe2fd69163a7ade243c5409c8cee7bfdcc6a9aa29 +lib/codeql/xpp/elements/internal/generated/TtsEndStatement.qll 94fa44b175ef5fc48dfdbf6e8ceba65b7c139659d62c3bbbcc11c317cce87c20 72b59a7460d4281a1fe58ddba283646b743c4ca0ced06f5d056ee9ab0a180f94 +lib/codeql/xpp/elements/internal/generated/TtsStatement.qll 8926aa2cafa4bbf8cb3981778df19c28f843d49bd763b86f06b7d1adde510e3f a9f334f7e4d594988729328151dfea2fc481c612eff2b27ceaee2ee20578aa41 +lib/codeql/xpp/elements/internal/generated/UnaryExpression.qll 0045d3cb40c7325995522a0a56907cdc2b63105712b0d570c8758a508e22a6d6 3cc1d409c1ef9b5d3c707087a62173023917aa5b880ee8e90693b4a431ae4974 +lib/codeql/xpp/elements/internal/generated/UnaryMinusExpression.qll 22e277aaa6e7273185d1a97df3fee3eed3a28142272990a7116161559ed1f26a e002de906f30a884e8d9af1142df9173adb5153e9e8901a1aa80c0c6501e7d4e +lib/codeql/xpp/elements/internal/generated/UncheckedStatement.qll dfb7aadb22c62520a0ad5135dc510a74dc8bee105c94d57c609fd2e0ee65d393 9afd392a5f7329adc147975aef8db7aeaa8c4ee8f17e2ab7afd5d67eb474d7d5 +lib/codeql/xpp/elements/internal/generated/UnspecifiedElement.qll 0b4e75150c69504222225c66bed178dfc60f62e82aadb1c34e7b19c0ac0678f5 8c4b11eb5eccbd51ddccbc9cc87a0402cd2b783aa79451f1759c37e850c3d623 +lib/codeql/xpp/elements/internal/generated/UpdateStatement.qll 4b3c2d37eeb164f28b9c8b92df03fa2f0cc531325c5649dae09ae1d3f4953c7e a152cada2994abc9695ee01fdf978694628cb4947a172f0c53fc583187a5fb25 +lib/codeql/xpp/elements/internal/generated/UsingStatement.qll 35e2e7c6062ac33396168ac9cde9268380a08d0843632acb578689a2647df10a bd09985feb05b77de00efd348829b5a1428d8463fbf2fb0cf7b97c63c2e90a60 +lib/codeql/xpp/elements/internal/generated/ValidTimeState.qll 9e8c591dbff246a4f62b63e7f6aa9384ef402d5409dbb7173a0a6d38bc3832a8 30b3f81bfeaee8e95a63f757947dd593aa5df8b47d0f97981e2ea2e382ee0326 +lib/codeql/xpp/elements/internal/generated/ValidTimeStateDate.qll 13baed14f37795076796eb2a19725f94c0b347e3048147f8e36d994ee242a304 88c15e1369b16533643c7cd6b60cd1834f4dc0c74e61e1c834ae145dab177756 +lib/codeql/xpp/elements/internal/generated/ValidTimeStateRange.qll 62a01a325c0c5c8e1cbeabab5eee83beb06d4b364a9da08b82d6a16dddaabd77 bf8dc20cd5c4ef423ef58c105df2bc1615c7a49aa8e704f606b45246a5f6caac +lib/codeql/xpp/elements/internal/generated/VarType.qll 073ea80c072d68eac5b0954bc14fb435443e327ae2f42adeba59bc4c5679a277 1390230f3145731955a80b7570d6225d0ea2abb037fe0a88110a8776ab799739 +lib/codeql/xpp/elements/internal/generated/VariableDeclaration.qll 50726ce5adcf3d5b1f3316d0722f8efbdfbfc215126893290bba392b37da162a 940e868f7f3e2ebea766e26b0a7dbb75d385d35dd17ec82c2239262a96451d61 +lib/codeql/xpp/elements/internal/generated/VoidType.qll f453472498be3527c30f190589e6915eaba5465414ec1c90a4317d7e7d1ed09d 19bf9d0a3900768f69ab9e7d6e3451caa3ecaee7fdd6e5327a116a93f51d9305 +lib/codeql/xpp/elements/internal/generated/WhileStatement.qll 98ffe155f2d02b2a7b6f3ee2cf512fef84bfc01cd631ae5e073168fa6013d22f 9436e341ecae7e8ba77054746ac36ae03a66aa78aa4c58a3f8cb9da4ae150e11 +lib/codeql/xpp/elements/internal/generated/XppTuple.qll 472d1e0944dd1b1231e843476162aff69f92b7f93f2f53c063b46d86c4d2bb8d 7b2370d27c48e334b144dec5d51e59649c9ee5c6975a482cf71351347e09719e +lib/codeql/xpp/elements/internal/generated/XppType.qll fd96e9da05bbe8586cd834da08599886d2d0a2e43800402606af540f36742c17 4b5bd76207fd37efd3ac99e5e30684774abe96e2661209aa12a49a87f4c0784c +lib/codeql/xpp/elements/internal/generated/XppTypeCompilationUnit.qll 761216a7c949cf9544fd16bda4f0345b789d07a52df35940cbd98a1412bc1882 161447d4aa77395b1fce20f699ea9fb71ae91397e881450d055d43f7afacd170 +lib/codeql/xpp/elements.qll 22effb9120f12ed7720f86feab5fd95154081afb672d6a8f05d141b95001a830 22effb9120f12ed7720f86feab5fd95154081afb672d6a8f05d141b95001a830 +test/extractor-tests/generated/AddExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AllFieldsSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AndExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AnyType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ArraySpecification/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AsClrExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AsExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AssignDecrementStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AssignDivideStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AssignEqualStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AssignIncrementStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AssignMultipleFieldStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AssignMultiplyStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AssignPostDecrementStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AssignPostIncrementStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AssignPreDecrementStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AssignPreIncrementStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AssignmentEventHandlerClr/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AssignmentEventHandlerInstance/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/Attribute/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AttributeExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AttributeList/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AttributeNamedParameterEntry/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AvgAggregateSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/BooleanAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/BooleanLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/BooleanType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/BreakStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/BreakpointStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/CaseDefault/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/CaseValues/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/CatchAllValues/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/CatchExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/CatchUpdateConflict/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ChangeCompanyStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/Class/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ClassAccessModifier/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ClrEnumerationLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ClrType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/Comment/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/CompilationUnitRegionEntry/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/CompoundStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ConditionalExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ContainerAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ContainerLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ContainerType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ContinueStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/CountAggregateSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/CrossCompanyAll/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/CrossCompanyContainer/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/DateAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/DateLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/DateTimeAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/DateTimeLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/DateTimeType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/DateType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/DblAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/DblType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/Delegate/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/DeleteStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/DivideExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/DoWhileStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/EmptyExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/EmptyStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/EnumAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/EnumerationLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/EnumerationType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/EqualExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/EvaluationActualParameterEntry/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ExplicitSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ExpressionCompilationUnit/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ExpressionQualifier/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ExpressionStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/FieldAssignment/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/FieldSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/File/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/FindStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/FlushStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ForDeclarationAssign/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ForFieldAssign/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ForFieldDecrementAssign/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ForFieldIncrementAssign/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ForFieldPostDecrement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ForFieldPostIncrement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ForFieldPreDecrement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ForFieldPreIncrement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ForStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/FormControl/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/FormDataField/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/FormDataSource/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/FormElementType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/FormModelElement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/FunctionCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/FunctionDeclaration/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/GlobalOrderElement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/GreaterThanExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/GreaterThanOrEqualExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/GuidAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/GuidType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/IfStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/IfThenElseStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ImplicitSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/InExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/InsertFieldSpecification/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/InsertStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/Int64AttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/Int64LiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/Int64Type/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/IntAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/IntLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/IntType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/IntegerDivideExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/Interface/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/Intrinsic/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/IntrinsicAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/IsClrExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/IsExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/JoinSpecification/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/LessThanExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/LessThanOrEqualExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/LikeExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/LocalDeclarationsStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/MaxAggregateSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/Method/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/MinAggregateSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ModExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ModelElementUsingEntry/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/Modifier/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/MoveCursorStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/MultiplyExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/NamedFieldReference/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/NewCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/NewClrArrayExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/NewClrCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/NextExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/NotEqualExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/NotExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/NullLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/NumberedFieldReference/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/OrExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ParameterDeclaration/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/PhysicalAndExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/PhysicalNotExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/PhysicalOrExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/PhysicalXorExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/Placeholder/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/PrintStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ProvidedType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ProvidedTypeStaticCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/QualifiedCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/QualifiedField/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/QualifiedInstanceName/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/QualifiedNumberedField/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/QualifiedStaticCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/QualifiedStaticField/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/QualifiedStaticFieldExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/Query/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/QueryDataSource/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/QueryDataSourceHaving/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/QueryDataSourceRange/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/QueryDataSourceRelation/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/QueryModelElement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/RealLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/RetryStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ReturnStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/SearchStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ShiftLeftExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ShiftRightExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/SimpleField/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/SimpleInstanceName/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/SimpleOrderElement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/StaticField/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/StaticMethodCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/StaticQualifier/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/StringAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/StringLengthType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/StringLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/SubtractExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/SumAggregateSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/SuperCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/SwitchCase/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/SwitchStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/SwitchStatementCaseEntry/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/Table/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/TableFieldDeclaration/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/TableLookupExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ThrowStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/TryStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/TryStatementCatchEntry/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/TtsAbortStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/TtsBeginStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/TtsEndStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/UnaryMinusExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/UncheckedStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/UpdateStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/UsingStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ValidTimeStateDate/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/ValidTimeStateRange/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/VarType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/VoidType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/WhileStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/XppTypeCompilationUnit/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 diff --git a/xpp/ql/.gitattributes b/xpp/ql/.gitattributes new file mode 100644 index 000000000000..1dcd0eed15d5 --- /dev/null +++ b/xpp/ql/.gitattributes @@ -0,0 +1,1184 @@ +/.generated.list linguist-generated +/.gitattributes linguist-generated +/lib/codeql/xpp/elements/AddExpression.qll linguist-generated +/lib/codeql/xpp/elements/AggregateSelection.qll linguist-generated +/lib/codeql/xpp/elements/AllFieldsSelection.qll linguist-generated +/lib/codeql/xpp/elements/AndExpression.qll linguist-generated +/lib/codeql/xpp/elements/AnyType.qll linguist-generated +/lib/codeql/xpp/elements/ArraySpecification.qll linguist-generated +/lib/codeql/xpp/elements/AsClrExpression.qll linguist-generated +/lib/codeql/xpp/elements/AsExpression.qll linguist-generated +/lib/codeql/xpp/elements/AssignDecrementStatement.qll linguist-generated +/lib/codeql/xpp/elements/AssignDivideStatement.qll linguist-generated +/lib/codeql/xpp/elements/AssignEqualStatement.qll linguist-generated +/lib/codeql/xpp/elements/AssignIncrementStatement.qll linguist-generated +/lib/codeql/xpp/elements/AssignMultipleFieldStatement.qll linguist-generated +/lib/codeql/xpp/elements/AssignMultiplyStatement.qll linguist-generated +/lib/codeql/xpp/elements/AssignPostDecrementStatement.qll linguist-generated +/lib/codeql/xpp/elements/AssignPostIncrementStatement.qll linguist-generated +/lib/codeql/xpp/elements/AssignPreDecrementStatement.qll linguist-generated +/lib/codeql/xpp/elements/AssignPreIncrementStatement.qll linguist-generated +/lib/codeql/xpp/elements/AssignmentBinary.qll linguist-generated +/lib/codeql/xpp/elements/AssignmentEventHandlerBase.qll linguist-generated +/lib/codeql/xpp/elements/AssignmentEventHandlerClr.qll linguist-generated +/lib/codeql/xpp/elements/AssignmentEventHandlerInstance.qll linguist-generated +/lib/codeql/xpp/elements/AssignmentEventHandlerStatic.qll linguist-generated +/lib/codeql/xpp/elements/AssignmentSingleField.qll linguist-generated +/lib/codeql/xpp/elements/AssignmentStatement.qll linguist-generated +/lib/codeql/xpp/elements/Ast.qll linguist-generated +/lib/codeql/xpp/elements/Attribute.qll linguist-generated +/lib/codeql/xpp/elements/AttributeExpression.qll linguist-generated +/lib/codeql/xpp/elements/AttributeList.qll linguist-generated +/lib/codeql/xpp/elements/AttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/AttributeNamedParameterEntry.qll linguist-generated +/lib/codeql/xpp/elements/AvgAggregateSelection.qll linguist-generated +/lib/codeql/xpp/elements/BinaryExpression.qll linguist-generated +/lib/codeql/xpp/elements/BooleanAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/BooleanLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/BooleanType.qll linguist-generated +/lib/codeql/xpp/elements/BreakStatement.qll linguist-generated +/lib/codeql/xpp/elements/BreakpointStatement.qll linguist-generated +/lib/codeql/xpp/elements/Case.qll linguist-generated +/lib/codeql/xpp/elements/CaseDefault.qll linguist-generated +/lib/codeql/xpp/elements/CaseValues.qll linguist-generated +/lib/codeql/xpp/elements/Catch.qll linguist-generated +/lib/codeql/xpp/elements/CatchAllValues.qll linguist-generated +/lib/codeql/xpp/elements/CatchExpression.qll linguist-generated +/lib/codeql/xpp/elements/CatchUpdateConflict.qll linguist-generated +/lib/codeql/xpp/elements/ChangeCompanyStatement.qll linguist-generated +/lib/codeql/xpp/elements/ChangeStatement.qll linguist-generated +/lib/codeql/xpp/elements/Class.qll linguist-generated +/lib/codeql/xpp/elements/ClassAccessModifier.qll linguist-generated +/lib/codeql/xpp/elements/ClassOrInterface.qll linguist-generated +/lib/codeql/xpp/elements/ClrEnumerationLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/ClrType.qll linguist-generated +/lib/codeql/xpp/elements/Comment.qll linguist-generated +/lib/codeql/xpp/elements/CompilationUnit.qll linguist-generated +/lib/codeql/xpp/elements/CompilationUnitRegionEntry.qll linguist-generated +/lib/codeql/xpp/elements/CompoundStatement.qll linguist-generated +/lib/codeql/xpp/elements/ConditionalExpression.qll linguist-generated +/lib/codeql/xpp/elements/ContainerAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/ContainerLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/ContainerType.qll linguist-generated +/lib/codeql/xpp/elements/ContinueStatement.qll linguist-generated +/lib/codeql/xpp/elements/CountAggregateSelection.qll linguist-generated +/lib/codeql/xpp/elements/CrossCompany.qll linguist-generated +/lib/codeql/xpp/elements/CrossCompanyAll.qll linguist-generated +/lib/codeql/xpp/elements/CrossCompanyContainer.qll linguist-generated +/lib/codeql/xpp/elements/DateAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/DateLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/DateTimeAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/DateTimeLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/DateTimeType.qll linguist-generated +/lib/codeql/xpp/elements/DateType.qll linguist-generated +/lib/codeql/xpp/elements/DblAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/DblType.qll linguist-generated +/lib/codeql/xpp/elements/Declaration.qll linguist-generated +/lib/codeql/xpp/elements/DefaultTypeAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/DefaultTypeLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/Delegate.qll linguist-generated +/lib/codeql/xpp/elements/DeleteStatement.qll linguist-generated +/lib/codeql/xpp/elements/DivideExpression.qll linguist-generated +/lib/codeql/xpp/elements/DoWhileStatement.qll linguist-generated +/lib/codeql/xpp/elements/Element.qll linguist-generated +/lib/codeql/xpp/elements/EmptyExpression.qll linguist-generated +/lib/codeql/xpp/elements/EmptyStatement.qll linguist-generated +/lib/codeql/xpp/elements/EnumAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/EnumerationLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/EnumerationType.qll linguist-generated +/lib/codeql/xpp/elements/EqualExpression.qll linguist-generated +/lib/codeql/xpp/elements/ErrorElement.qll linguist-generated +/lib/codeql/xpp/elements/Evaluation.qll linguist-generated +/lib/codeql/xpp/elements/EvaluationActualParameterEntry.qll linguist-generated +/lib/codeql/xpp/elements/ExplicitSelection.qll linguist-generated +/lib/codeql/xpp/elements/Expression.qll linguist-generated +/lib/codeql/xpp/elements/ExpressionCompilationUnit.qll linguist-generated +/lib/codeql/xpp/elements/ExpressionQualifier.qll linguist-generated +/lib/codeql/xpp/elements/ExpressionStatement.qll linguist-generated +/lib/codeql/xpp/elements/FieldAssignment.qll linguist-generated +/lib/codeql/xpp/elements/FieldDeclaration.qll linguist-generated +/lib/codeql/xpp/elements/FieldExpression.qll linguist-generated +/lib/codeql/xpp/elements/FieldSelection.qll linguist-generated +/lib/codeql/xpp/elements/FieldSpecification.qll linguist-generated +/lib/codeql/xpp/elements/File.qll linguist-generated +/lib/codeql/xpp/elements/FindStatement.qll linguist-generated +/lib/codeql/xpp/elements/FlushStatement.qll linguist-generated +/lib/codeql/xpp/elements/ForAssign.qll linguist-generated +/lib/codeql/xpp/elements/ForDeclarationAssign.qll linguist-generated +/lib/codeql/xpp/elements/ForExpressionAssign.qll linguist-generated +/lib/codeql/xpp/elements/ForFieldAssign.qll linguist-generated +/lib/codeql/xpp/elements/ForFieldDecrementAssign.qll linguist-generated +/lib/codeql/xpp/elements/ForFieldIncrementAssign.qll linguist-generated +/lib/codeql/xpp/elements/ForFieldPostDecrement.qll linguist-generated +/lib/codeql/xpp/elements/ForFieldPostIncrement.qll linguist-generated +/lib/codeql/xpp/elements/ForFieldPreDecrement.qll linguist-generated +/lib/codeql/xpp/elements/ForFieldPreIncrement.qll linguist-generated +/lib/codeql/xpp/elements/ForStatement.qll linguist-generated +/lib/codeql/xpp/elements/FormControl.qll linguist-generated +/lib/codeql/xpp/elements/FormDataField.qll linguist-generated +/lib/codeql/xpp/elements/FormDataSource.qll linguist-generated +/lib/codeql/xpp/elements/FormElementType.qll linguist-generated +/lib/codeql/xpp/elements/FormModelElement.qll linguist-generated +/lib/codeql/xpp/elements/FormNestedElement.qll linguist-generated +/lib/codeql/xpp/elements/FunctionCall.qll linguist-generated +/lib/codeql/xpp/elements/FunctionDeclaration.qll linguist-generated +/lib/codeql/xpp/elements/GenericEvaluation.qll linguist-generated +/lib/codeql/xpp/elements/GenericXppType.qll linguist-generated +/lib/codeql/xpp/elements/GlobalOrderElement.qll linguist-generated +/lib/codeql/xpp/elements/GreaterThanExpression.qll linguist-generated +/lib/codeql/xpp/elements/GreaterThanOrEqualExpression.qll linguist-generated +/lib/codeql/xpp/elements/GuidAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/GuidType.qll linguist-generated +/lib/codeql/xpp/elements/IfStatement.qll linguist-generated +/lib/codeql/xpp/elements/IfThenElseStatement.qll linguist-generated +/lib/codeql/xpp/elements/ImplicitSelection.qll linguist-generated +/lib/codeql/xpp/elements/InExpression.qll linguist-generated +/lib/codeql/xpp/elements/InsertFieldSpecification.qll linguist-generated +/lib/codeql/xpp/elements/InsertStatement.qll linguist-generated +/lib/codeql/xpp/elements/InstanceName.qll linguist-generated +/lib/codeql/xpp/elements/Int64AttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/Int64LiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/Int64Type.qll linguist-generated +/lib/codeql/xpp/elements/IntAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/IntLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/IntType.qll linguist-generated +/lib/codeql/xpp/elements/IntegerDivideExpression.qll linguist-generated +/lib/codeql/xpp/elements/Interface.qll linguist-generated +/lib/codeql/xpp/elements/Intrinsic.qll linguist-generated +/lib/codeql/xpp/elements/IntrinsicAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/IsAsExpression.qll linguist-generated +/lib/codeql/xpp/elements/IsClrExpression.qll linguist-generated +/lib/codeql/xpp/elements/IsExpression.qll linguist-generated +/lib/codeql/xpp/elements/JoinSpecification.qll linguist-generated +/lib/codeql/xpp/elements/LessThanExpression.qll linguist-generated +/lib/codeql/xpp/elements/LessThanOrEqualExpression.qll linguist-generated +/lib/codeql/xpp/elements/LikeExpression.qll linguist-generated +/lib/codeql/xpp/elements/LiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/LocalDeclaration.qll linguist-generated +/lib/codeql/xpp/elements/LocalDeclarationsStatement.qll linguist-generated +/lib/codeql/xpp/elements/Locatable.qll linguist-generated +/lib/codeql/xpp/elements/Location.qll linguist-generated +/lib/codeql/xpp/elements/MaxAggregateSelection.qll linguist-generated +/lib/codeql/xpp/elements/Method.qll linguist-generated +/lib/codeql/xpp/elements/MethodOrDelegate.qll linguist-generated +/lib/codeql/xpp/elements/MinAggregateSelection.qll linguist-generated +/lib/codeql/xpp/elements/ModExpression.qll linguist-generated +/lib/codeql/xpp/elements/ModelElement.qll linguist-generated +/lib/codeql/xpp/elements/ModelElementUsingEntry.qll linguist-generated +/lib/codeql/xpp/elements/Modifier.qll linguist-generated +/lib/codeql/xpp/elements/MoveCursorStatement.qll linguist-generated +/lib/codeql/xpp/elements/MultiplyExpression.qll linguist-generated +/lib/codeql/xpp/elements/NamedFieldReference.qll linguist-generated +/lib/codeql/xpp/elements/NamedType.qll linguist-generated +/lib/codeql/xpp/elements/NewCall.qll linguist-generated +/lib/codeql/xpp/elements/NewClrArrayExpression.qll linguist-generated +/lib/codeql/xpp/elements/NewClrCall.qll linguist-generated +/lib/codeql/xpp/elements/NextExpression.qll linguist-generated +/lib/codeql/xpp/elements/NotEqualExpression.qll linguist-generated +/lib/codeql/xpp/elements/NotExpression.qll linguist-generated +/lib/codeql/xpp/elements/NullLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/NumberedFieldReference.qll linguist-generated +/lib/codeql/xpp/elements/OrExpression.qll linguist-generated +/lib/codeql/xpp/elements/OrderElement.qll linguist-generated +/lib/codeql/xpp/elements/ParameterDeclaration.qll linguist-generated +/lib/codeql/xpp/elements/PhysicalAndExpression.qll linguist-generated +/lib/codeql/xpp/elements/PhysicalNotExpression.qll linguist-generated +/lib/codeql/xpp/elements/PhysicalOrExpression.qll linguist-generated +/lib/codeql/xpp/elements/PhysicalXorExpression.qll linguist-generated +/lib/codeql/xpp/elements/Placeholder.qll linguist-generated +/lib/codeql/xpp/elements/PrintStatement.qll linguist-generated +/lib/codeql/xpp/elements/ProvidedType.qll linguist-generated +/lib/codeql/xpp/elements/ProvidedTypeStaticCall.qll linguist-generated +/lib/codeql/xpp/elements/QualifiedCall.qll linguist-generated +/lib/codeql/xpp/elements/QualifiedField.qll linguist-generated +/lib/codeql/xpp/elements/QualifiedInstanceName.qll linguist-generated +/lib/codeql/xpp/elements/QualifiedNumberedField.qll linguist-generated +/lib/codeql/xpp/elements/QualifiedStaticCall.qll linguist-generated +/lib/codeql/xpp/elements/QualifiedStaticField.qll linguist-generated +/lib/codeql/xpp/elements/QualifiedStaticFieldExpression.qll linguist-generated +/lib/codeql/xpp/elements/Qualifier.qll linguist-generated +/lib/codeql/xpp/elements/Query.qll linguist-generated +/lib/codeql/xpp/elements/QueryDataSource.qll linguist-generated +/lib/codeql/xpp/elements/QueryDataSourceHaving.qll linguist-generated +/lib/codeql/xpp/elements/QueryDataSourceRange.qll linguist-generated +/lib/codeql/xpp/elements/QueryDataSourceRelation.qll linguist-generated +/lib/codeql/xpp/elements/QueryModelElement.qll linguist-generated +/lib/codeql/xpp/elements/RealLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/RelationalExpression.qll linguist-generated +/lib/codeql/xpp/elements/RetryStatement.qll linguist-generated +/lib/codeql/xpp/elements/ReturnStatement.qll linguist-generated +/lib/codeql/xpp/elements/SearchStatement.qll linguist-generated +/lib/codeql/xpp/elements/Selection.qll linguist-generated +/lib/codeql/xpp/elements/SelectionField.qll linguist-generated +/lib/codeql/xpp/elements/ShiftLeftExpression.qll linguist-generated +/lib/codeql/xpp/elements/ShiftRightExpression.qll linguist-generated +/lib/codeql/xpp/elements/SimpleField.qll linguist-generated +/lib/codeql/xpp/elements/SimpleInstanceName.qll linguist-generated +/lib/codeql/xpp/elements/SimpleOrderElement.qll linguist-generated +/lib/codeql/xpp/elements/SimpleQualifier.qll linguist-generated +/lib/codeql/xpp/elements/Statement.qll linguist-generated +/lib/codeql/xpp/elements/StaticField.qll linguist-generated +/lib/codeql/xpp/elements/StaticMethodCall.qll linguist-generated +/lib/codeql/xpp/elements/StaticQualifier.qll linguist-generated +/lib/codeql/xpp/elements/StringAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/StringLengthType.qll linguist-generated +/lib/codeql/xpp/elements/StringLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/StringType.qll linguist-generated +/lib/codeql/xpp/elements/SubtractExpression.qll linguist-generated +/lib/codeql/xpp/elements/SumAggregateSelection.qll linguist-generated +/lib/codeql/xpp/elements/SuperCall.qll linguist-generated +/lib/codeql/xpp/elements/SwitchCase.qll linguist-generated +/lib/codeql/xpp/elements/SwitchStatement.qll linguist-generated +/lib/codeql/xpp/elements/SwitchStatementCaseEntry.qll linguist-generated +/lib/codeql/xpp/elements/Table.qll linguist-generated +/lib/codeql/xpp/elements/TableFieldDeclaration.qll linguist-generated +/lib/codeql/xpp/elements/TableFieldReference.qll linguist-generated +/lib/codeql/xpp/elements/TableLookupExpression.qll linguist-generated +/lib/codeql/xpp/elements/ThrowStatement.qll linguist-generated +/lib/codeql/xpp/elements/TryStatement.qll linguist-generated +/lib/codeql/xpp/elements/TryStatementCatchEntry.qll linguist-generated +/lib/codeql/xpp/elements/TtsAbortStatement.qll linguist-generated +/lib/codeql/xpp/elements/TtsBeginStatement.qll linguist-generated +/lib/codeql/xpp/elements/TtsEndStatement.qll linguist-generated +/lib/codeql/xpp/elements/TtsStatement.qll linguist-generated +/lib/codeql/xpp/elements/UnaryExpression.qll linguist-generated +/lib/codeql/xpp/elements/UnaryMinusExpression.qll linguist-generated +/lib/codeql/xpp/elements/UncheckedStatement.qll linguist-generated +/lib/codeql/xpp/elements/UnspecifiedElement.qll linguist-generated +/lib/codeql/xpp/elements/UpdateStatement.qll linguist-generated +/lib/codeql/xpp/elements/UsingStatement.qll linguist-generated +/lib/codeql/xpp/elements/ValidTimeState.qll linguist-generated +/lib/codeql/xpp/elements/ValidTimeStateDate.qll linguist-generated +/lib/codeql/xpp/elements/ValidTimeStateRange.qll linguist-generated +/lib/codeql/xpp/elements/VarType.qll linguist-generated +/lib/codeql/xpp/elements/VariableDeclaration.qll linguist-generated +/lib/codeql/xpp/elements/VoidType.qll linguist-generated +/lib/codeql/xpp/elements/WhileStatement.qll linguist-generated +/lib/codeql/xpp/elements/XppTuple.qll linguist-generated +/lib/codeql/xpp/elements/XppType.qll linguist-generated +/lib/codeql/xpp/elements/XppTypeCompilationUnit.qll linguist-generated +/lib/codeql/xpp/elements/internal/AddExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AddExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AggregateSelectionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AllFieldsSelectionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AllFieldsSelectionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AndExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AndExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AnyTypeConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AnyTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ArraySpecificationConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ArraySpecificationImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AsClrExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AsClrExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AsExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AsExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignDecrementStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignDecrementStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignDivideStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignDivideStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignEqualStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignEqualStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignIncrementStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignIncrementStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignMultipleFieldStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignMultipleFieldStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignMultiplyStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignMultiplyStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignPostDecrementStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignPostDecrementStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignPostIncrementStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignPostIncrementStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignPreDecrementStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignPreDecrementStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignPreIncrementStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignPreIncrementStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignmentBinaryImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignmentEventHandlerBaseImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignmentEventHandlerClrConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignmentEventHandlerClrImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignmentEventHandlerInstanceConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignmentEventHandlerInstanceImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignmentEventHandlerStaticImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignmentSingleFieldImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignmentStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AstImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AttributeConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AttributeExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AttributeExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AttributeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AttributeListConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AttributeListImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AttributeLiteralImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AttributeNamedParameterEntryConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AttributeNamedParameterEntryImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AvgAggregateSelectionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AvgAggregateSelectionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/BinaryExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/BooleanAttributeLiteralConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/BooleanAttributeLiteralImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/BooleanLiteralExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/BooleanLiteralExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/BooleanTypeConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/BooleanTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/BreakStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/BreakStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/BreakpointStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/BreakpointStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/CaseDefaultConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/CaseDefaultImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/CaseImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/CaseValuesConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/CaseValuesImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/CatchAllValuesConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/CatchAllValuesImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/CatchExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/CatchExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/CatchImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/CatchUpdateConflictConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/CatchUpdateConflictImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ChangeCompanyStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ChangeCompanyStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ChangeStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ClassAccessModifierConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ClassAccessModifierImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ClassConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ClassImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ClassOrInterfaceImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ClrEnumerationLiteralExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ClrEnumerationLiteralExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ClrTypeConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ClrTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/CommentConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/CommentImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/CompilationUnitImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/CompilationUnitRegionEntryConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/CompilationUnitRegionEntryImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/CompoundStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/CompoundStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ConditionalExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ConditionalExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ContainerAttributeLiteralConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ContainerAttributeLiteralImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ContainerLiteralExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ContainerLiteralExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ContainerTypeConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ContainerTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ContinueStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ContinueStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/CountAggregateSelectionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/CountAggregateSelectionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/CrossCompanyAllConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/CrossCompanyAllImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/CrossCompanyContainerConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/CrossCompanyContainerImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/CrossCompanyImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/DateAttributeLiteralConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/DateAttributeLiteralImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/DateLiteralExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/DateLiteralExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/DateTimeAttributeLiteralConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/DateTimeAttributeLiteralImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/DateTimeLiteralExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/DateTimeLiteralExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/DateTimeTypeConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/DateTimeTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/DateTypeConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/DateTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/DblAttributeLiteralConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/DblAttributeLiteralImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/DblTypeConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/DblTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/DeclarationImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/DefaultTypeAttributeLiteralImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/DefaultTypeLiteralExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/DelegateConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/DelegateImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/DeleteStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/DeleteStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/DivideExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/DivideExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/DoWhileStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/DoWhileStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/EmptyExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/EmptyExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/EmptyStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/EmptyStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/EnumAttributeLiteralConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/EnumAttributeLiteralImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/EnumerationLiteralExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/EnumerationLiteralExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/EnumerationTypeConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/EnumerationTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/EqualExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/EqualExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ErrorElementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/EvaluationActualParameterEntryConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/EvaluationActualParameterEntryImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/EvaluationImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ExplicitSelectionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ExplicitSelectionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ExpressionCompilationUnitConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ExpressionCompilationUnitImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ExpressionQualifierConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ExpressionQualifierImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ExpressionStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ExpressionStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/FieldAssignmentConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/FieldAssignmentImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/FieldDeclarationImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/FieldExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/FieldSelectionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/FieldSelectionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/FieldSpecificationImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/FileConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/FileImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/FindStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/FindStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/FlushStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/FlushStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ForAssignImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ForDeclarationAssignConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ForDeclarationAssignImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ForExpressionAssignImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ForFieldAssignConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ForFieldAssignImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ForFieldDecrementAssignConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ForFieldDecrementAssignImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ForFieldIncrementAssignConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ForFieldIncrementAssignImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ForFieldPostDecrementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ForFieldPostDecrementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ForFieldPostIncrementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ForFieldPostIncrementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ForFieldPreDecrementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ForFieldPreDecrementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ForFieldPreIncrementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ForFieldPreIncrementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ForStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ForStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/FormControlConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/FormControlImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/FormDataFieldConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/FormDataFieldImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/FormDataSourceConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/FormDataSourceImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/FormElementTypeConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/FormElementTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/FormModelElementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/FormModelElementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/FormNestedElementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/FunctionCallConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/FunctionCallImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/FunctionDeclarationConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/FunctionDeclarationImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/GenericEvaluationImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/GenericXppTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/GlobalOrderElementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/GlobalOrderElementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/GreaterThanExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/GreaterThanExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/GreaterThanOrEqualExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/GreaterThanOrEqualExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/GuidAttributeLiteralConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/GuidAttributeLiteralImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/GuidTypeConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/GuidTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/IfStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/IfStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/IfThenElseStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/IfThenElseStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ImplicitSelectionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ImplicitSelectionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/InExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/InExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/InsertFieldSpecificationConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/InsertFieldSpecificationImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/InsertStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/InsertStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/InstanceNameImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/Int64AttributeLiteralConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/Int64AttributeLiteralImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/Int64LiteralExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/Int64LiteralExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/Int64TypeConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/Int64TypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/IntAttributeLiteralConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/IntAttributeLiteralImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/IntLiteralExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/IntLiteralExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/IntTypeConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/IntTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/IntegerDivideExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/IntegerDivideExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/InterfaceConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/InterfaceImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/IntrinsicAttributeLiteralConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/IntrinsicAttributeLiteralImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/IntrinsicConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/IntrinsicImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/IsAsExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/IsClrExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/IsClrExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/IsExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/IsExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/JoinSpecificationConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/JoinSpecificationImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/LessThanExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/LessThanExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/LessThanOrEqualExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/LessThanOrEqualExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/LikeExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/LikeExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/LiteralExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/LocalDeclarationImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/LocalDeclarationsStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/LocalDeclarationsStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/LocatableImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/LocationConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/LocationImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/MaxAggregateSelectionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/MaxAggregateSelectionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/MethodConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/MethodImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/MethodOrDelegateImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/MinAggregateSelectionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/MinAggregateSelectionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ModExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ModExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ModelElementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ModelElementUsingEntryConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ModelElementUsingEntryImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ModifierConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ModifierImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/MoveCursorStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/MoveCursorStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/MultiplyExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/MultiplyExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/NamedFieldReferenceConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/NamedFieldReferenceImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/NamedTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/NewCallConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/NewCallImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/NewClrArrayExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/NewClrArrayExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/NewClrCallConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/NewClrCallImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/NextExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/NextExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/NotEqualExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/NotEqualExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/NotExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/NotExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/NullLiteralExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/NullLiteralExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/NumberedFieldReferenceConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/NumberedFieldReferenceImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/OrExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/OrExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/OrderElementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ParameterDeclarationConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ParameterDeclarationImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/PhysicalAndExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/PhysicalAndExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/PhysicalNotExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/PhysicalNotExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/PhysicalOrExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/PhysicalOrExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/PhysicalXorExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/PhysicalXorExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/PlaceholderConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/PlaceholderImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/PrintStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/PrintStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ProvidedTypeConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ProvidedTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ProvidedTypeStaticCallConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ProvidedTypeStaticCallImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/QualifiedCallConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/QualifiedCallImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/QualifiedFieldConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/QualifiedFieldImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/QualifiedInstanceNameConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/QualifiedInstanceNameImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/QualifiedNumberedFieldConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/QualifiedNumberedFieldImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/QualifiedStaticCallConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/QualifiedStaticCallImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/QualifiedStaticFieldConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/QualifiedStaticFieldExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/QualifiedStaticFieldExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/QualifiedStaticFieldImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/QualifierImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/QueryConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/QueryDataSourceConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/QueryDataSourceHavingConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/QueryDataSourceHavingImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/QueryDataSourceImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/QueryDataSourceRangeConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/QueryDataSourceRangeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/QueryDataSourceRelationConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/QueryDataSourceRelationImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/QueryImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/QueryModelElementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/QueryModelElementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/RealLiteralExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/RealLiteralExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/RelationalExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/RetryStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/RetryStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ReturnStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ReturnStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/SearchStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/SearchStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/SelectionFieldImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/SelectionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ShiftLeftExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ShiftLeftExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ShiftRightExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ShiftRightExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/SimpleFieldConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/SimpleFieldImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/SimpleInstanceNameConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/SimpleInstanceNameImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/SimpleOrderElementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/SimpleOrderElementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/SimpleQualifierImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/StatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/StaticFieldConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/StaticFieldImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/StaticMethodCallConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/StaticMethodCallImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/StaticQualifierConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/StaticQualifierImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/StringAttributeLiteralConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/StringAttributeLiteralImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/StringLengthTypeConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/StringLengthTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/StringLiteralExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/StringLiteralExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/StringTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/SubtractExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/SubtractExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/SumAggregateSelectionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/SumAggregateSelectionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/SuperCallConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/SuperCallImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/SwitchCaseConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/SwitchCaseImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/SwitchStatementCaseEntryConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/SwitchStatementCaseEntryImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/SwitchStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/SwitchStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/TableConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/TableFieldDeclarationConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/TableFieldDeclarationImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/TableFieldReferenceImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/TableImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/TableLookupExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/TableLookupExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ThrowStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ThrowStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/TryStatementCatchEntryConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/TryStatementCatchEntryImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/TryStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/TryStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/TtsAbortStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/TtsAbortStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/TtsBeginStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/TtsBeginStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/TtsEndStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/TtsEndStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/TtsStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/UnaryExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/UnaryMinusExpressionConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/UnaryMinusExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/UncheckedStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/UncheckedStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/UnspecifiedElementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/UnspecifiedElementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/UpdateStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/UpdateStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/UsingStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/UsingStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ValidTimeStateDateConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ValidTimeStateDateImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ValidTimeStateImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/ValidTimeStateRangeConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/ValidTimeStateRangeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/VarTypeConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/VarTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/VariableDeclarationImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/VoidTypeConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/VoidTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/WhileStatementConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/WhileStatementImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/XppTupleImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/XppTypeCompilationUnitConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/XppTypeCompilationUnitImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/XppTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AddExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AggregateSelection.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AllFieldsSelection.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AndExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AnyType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ArraySpecification.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AsClrExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AsExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AssignDecrementStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AssignDivideStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AssignEqualStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AssignIncrementStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AssignMultipleFieldStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AssignMultiplyStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AssignPostDecrementStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AssignPostIncrementStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AssignPreDecrementStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AssignPreIncrementStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AssignmentBinary.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerBase.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerClr.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerInstance.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerStatic.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AssignmentSingleField.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AssignmentStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Ast.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Attribute.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AttributeExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AttributeList.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AttributeNamedParameterEntry.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AvgAggregateSelection.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/BinaryExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/BooleanAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/BooleanLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/BooleanType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/BreakStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/BreakpointStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Case.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/CaseDefault.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/CaseValues.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Catch.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/CatchAllValues.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/CatchExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/CatchUpdateConflict.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ChangeCompanyStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ChangeStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Class.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ClassAccessModifier.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ClassOrInterface.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ClrEnumerationLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ClrType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Comment.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/CompilationUnit.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/CompilationUnitRegionEntry.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/CompoundStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ConditionalExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ContainerAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ContainerLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ContainerType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ContinueStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/CountAggregateSelection.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/CrossCompany.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/CrossCompanyAll.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/CrossCompanyContainer.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/DateAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/DateLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/DateTimeAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/DateTimeLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/DateTimeType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/DateType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/DblAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/DblType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Declaration.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/DefaultTypeAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/DefaultTypeLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Delegate.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/DeleteStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/DivideExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/DoWhileStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Element.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/EmptyExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/EmptyStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/EnumAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/EnumerationLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/EnumerationType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/EqualExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ErrorElement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Evaluation.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/EvaluationActualParameterEntry.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ExplicitSelection.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Expression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ExpressionCompilationUnit.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ExpressionQualifier.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ExpressionStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/FieldAssignment.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/FieldDeclaration.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/FieldExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/FieldSelection.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/FieldSpecification.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/File.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/FindStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/FlushStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ForAssign.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ForDeclarationAssign.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ForExpressionAssign.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ForFieldAssign.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ForFieldDecrementAssign.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ForFieldIncrementAssign.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ForFieldPostDecrement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ForFieldPostIncrement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ForFieldPreDecrement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ForFieldPreIncrement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ForStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/FormControl.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/FormDataField.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/FormDataSource.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/FormElementType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/FormModelElement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/FormNestedElement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/FunctionCall.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/FunctionDeclaration.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/GenericEvaluation.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/GenericXppType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/GlobalOrderElement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/GreaterThanExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/GreaterThanOrEqualExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/GuidAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/GuidType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/IfStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/IfThenElseStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ImplicitSelection.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/InExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/InsertFieldSpecification.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/InsertStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/InstanceName.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Int64AttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Int64LiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Int64Type.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/IntAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/IntLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/IntType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/IntegerDivideExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Interface.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Intrinsic.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/IntrinsicAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/IsAsExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/IsClrExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/IsExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/JoinSpecification.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/LessThanExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/LessThanOrEqualExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/LikeExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/LiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/LocalDeclaration.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/LocalDeclarationsStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Locatable.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Location.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/MaxAggregateSelection.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Method.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/MethodOrDelegate.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/MinAggregateSelection.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ModExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ModelElement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ModelElementUsingEntry.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Modifier.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/MoveCursorStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/MultiplyExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/NamedFieldReference.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/NamedType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/NewCall.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/NewClrArrayExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/NewClrCall.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/NextExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/NotEqualExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/NotExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/NullLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/NumberedFieldReference.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/OrExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/OrderElement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ParameterDeclaration.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ParentChild.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/PhysicalAndExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/PhysicalNotExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/PhysicalOrExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/PhysicalXorExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Placeholder.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/PrintStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ProvidedType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ProvidedTypeStaticCall.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/PureSynthConstructors.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/QualifiedCall.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/QualifiedField.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/QualifiedInstanceName.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/QualifiedNumberedField.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/QualifiedStaticCall.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/QualifiedStaticField.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/QualifiedStaticFieldExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Qualifier.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Query.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/QueryDataSource.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/QueryDataSourceHaving.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/QueryDataSourceRange.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/QueryDataSourceRelation.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/QueryModelElement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Raw.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/RealLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/RelationalExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/RetryStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ReturnStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/SearchStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Selection.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/SelectionField.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ShiftLeftExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ShiftRightExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/SimpleField.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/SimpleInstanceName.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/SimpleOrderElement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/SimpleQualifier.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Statement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/StaticField.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/StaticMethodCall.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/StaticQualifier.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/StringAttributeLiteral.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/StringLengthType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/StringLiteralExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/StringType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/SubtractExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/SumAggregateSelection.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/SuperCall.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/SwitchCase.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/SwitchStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/SwitchStatementCaseEntry.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Synth.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/SynthConstructors.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/Table.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/TableFieldDeclaration.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/TableFieldReference.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/TableLookupExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ThrowStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/TryStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/TryStatementCatchEntry.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/TtsAbortStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/TtsBeginStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/TtsEndStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/TtsStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/UnaryExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/UnaryMinusExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/UncheckedStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/UnspecifiedElement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/UpdateStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/UsingStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ValidTimeState.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ValidTimeStateDate.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/ValidTimeStateRange.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/VarType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/VariableDeclaration.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/VoidType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/WhileStatement.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/XppTuple.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/XppType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/XppTypeCompilationUnit.qll linguist-generated +/lib/codeql/xpp/elements.qll linguist-generated +/test/extractor-tests/generated/AddExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AllFieldsSelection/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AndExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AnyType/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ArraySpecification/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AsClrExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AsExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AssignDecrementStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AssignDivideStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AssignEqualStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AssignIncrementStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AssignMultipleFieldStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AssignMultiplyStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AssignPostDecrementStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AssignPostIncrementStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AssignPreDecrementStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AssignPreIncrementStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AssignmentEventHandlerClr/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AssignmentEventHandlerInstance/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/Attribute/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AttributeExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AttributeList/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AttributeNamedParameterEntry/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AvgAggregateSelection/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/BooleanAttributeLiteral/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/BooleanLiteralExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/BooleanType/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/BreakStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/BreakpointStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/CaseDefault/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/CaseValues/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/CatchAllValues/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/CatchExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/CatchUpdateConflict/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ChangeCompanyStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/Class/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ClassAccessModifier/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ClrEnumerationLiteralExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ClrType/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/Comment/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/CompilationUnitRegionEntry/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/CompoundStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ConditionalExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ContainerAttributeLiteral/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ContainerLiteralExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ContainerType/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ContinueStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/CountAggregateSelection/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/CrossCompanyAll/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/CrossCompanyContainer/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/DateAttributeLiteral/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/DateLiteralExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/DateTimeAttributeLiteral/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/DateTimeLiteralExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/DateTimeType/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/DateType/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/DblAttributeLiteral/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/DblType/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/Delegate/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/DeleteStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/DivideExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/DoWhileStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/EmptyExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/EmptyStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/EnumAttributeLiteral/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/EnumerationLiteralExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/EnumerationType/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/EqualExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/EvaluationActualParameterEntry/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ExplicitSelection/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ExpressionCompilationUnit/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ExpressionQualifier/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ExpressionStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/FieldAssignment/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/FieldSelection/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/File/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/FindStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/FlushStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ForDeclarationAssign/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ForFieldAssign/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ForFieldDecrementAssign/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ForFieldIncrementAssign/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ForFieldPostDecrement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ForFieldPostIncrement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ForFieldPreDecrement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ForFieldPreIncrement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ForStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/FormControl/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/FormDataField/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/FormDataSource/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/FormElementType/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/FormModelElement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/FunctionCall/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/FunctionDeclaration/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/GlobalOrderElement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/GreaterThanExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/GreaterThanOrEqualExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/GuidAttributeLiteral/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/GuidType/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/IfStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/IfThenElseStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ImplicitSelection/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/InExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/InsertFieldSpecification/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/InsertStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/Int64AttributeLiteral/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/Int64LiteralExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/Int64Type/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/IntAttributeLiteral/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/IntLiteralExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/IntType/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/IntegerDivideExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/Interface/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/Intrinsic/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/IntrinsicAttributeLiteral/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/IsClrExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/IsExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/JoinSpecification/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/LessThanExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/LessThanOrEqualExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/LikeExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/LocalDeclarationsStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/MaxAggregateSelection/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/Method/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/MinAggregateSelection/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ModExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ModelElementUsingEntry/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/Modifier/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/MoveCursorStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/MultiplyExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/NamedFieldReference/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/NewCall/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/NewClrArrayExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/NewClrCall/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/NextExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/NotEqualExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/NotExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/NullLiteralExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/NumberedFieldReference/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/OrExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ParameterDeclaration/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/PhysicalAndExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/PhysicalNotExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/PhysicalOrExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/PhysicalXorExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/Placeholder/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/PrintStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ProvidedType/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ProvidedTypeStaticCall/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/QualifiedCall/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/QualifiedField/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/QualifiedInstanceName/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/QualifiedNumberedField/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/QualifiedStaticCall/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/QualifiedStaticField/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/QualifiedStaticFieldExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/Query/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/QueryDataSource/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/QueryDataSourceHaving/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/QueryDataSourceRange/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/QueryDataSourceRelation/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/QueryModelElement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/RealLiteralExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/RetryStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ReturnStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/SearchStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ShiftLeftExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ShiftRightExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/SimpleField/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/SimpleInstanceName/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/SimpleOrderElement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/StaticField/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/StaticMethodCall/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/StaticQualifier/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/StringAttributeLiteral/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/StringLengthType/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/StringLiteralExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/SubtractExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/SumAggregateSelection/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/SuperCall/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/SwitchCase/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/SwitchStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/SwitchStatementCaseEntry/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/Table/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/TableFieldDeclaration/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/TableLookupExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ThrowStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/TryStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/TryStatementCatchEntry/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/TtsAbortStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/TtsBeginStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/TtsEndStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/UnaryMinusExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/UncheckedStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/UpdateStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/UsingStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ValidTimeStateDate/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ValidTimeStateRange/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/VarType/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/VoidType/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/WhileStatement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/XppTypeCompilationUnit/MISSING_SOURCE.txt linguist-generated diff --git a/xpp/ql/lib/codeql/xpp/elements.qll b/xpp/ql/lib/codeql/xpp/elements.qll new file mode 100644 index 000000000000..57571132b184 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements.qll @@ -0,0 +1,262 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module exports all modules providing `Element` subclasses. + */ + +import codeql.xpp.elements.AddExpression +import codeql.xpp.elements.AggregateSelection +import codeql.xpp.elements.AllFieldsSelection +import codeql.xpp.elements.AndExpression +import codeql.xpp.elements.AnyType +import codeql.xpp.elements.ArraySpecification +import codeql.xpp.elements.AsClrExpression +import codeql.xpp.elements.AsExpression +import codeql.xpp.elements.AssignDecrementStatement +import codeql.xpp.elements.AssignDivideStatement +import codeql.xpp.elements.AssignEqualStatement +import codeql.xpp.elements.AssignIncrementStatement +import codeql.xpp.elements.AssignMultipleFieldStatement +import codeql.xpp.elements.AssignMultiplyStatement +import codeql.xpp.elements.AssignPostDecrementStatement +import codeql.xpp.elements.AssignPostIncrementStatement +import codeql.xpp.elements.AssignPreDecrementStatement +import codeql.xpp.elements.AssignPreIncrementStatement +import codeql.xpp.elements.AssignmentBinary +import codeql.xpp.elements.AssignmentEventHandlerBase +import codeql.xpp.elements.AssignmentEventHandlerClr +import codeql.xpp.elements.AssignmentEventHandlerInstance +import codeql.xpp.elements.AssignmentEventHandlerStatic +import codeql.xpp.elements.AssignmentSingleField +import codeql.xpp.elements.AssignmentStatement +import codeql.xpp.elements.Ast +import codeql.xpp.elements.Attribute +import codeql.xpp.elements.AttributeExpression +import codeql.xpp.elements.AttributeList +import codeql.xpp.elements.AttributeLiteral +import codeql.xpp.elements.AttributeNamedParameterEntry +import codeql.xpp.elements.AvgAggregateSelection +import codeql.xpp.elements.BinaryExpression +import codeql.xpp.elements.BooleanAttributeLiteral +import codeql.xpp.elements.BooleanLiteralExpression +import codeql.xpp.elements.BooleanType +import codeql.xpp.elements.BreakStatement +import codeql.xpp.elements.BreakpointStatement +import codeql.xpp.elements.Case +import codeql.xpp.elements.CaseDefault +import codeql.xpp.elements.CaseValues +import codeql.xpp.elements.Catch +import codeql.xpp.elements.CatchAllValues +import codeql.xpp.elements.CatchExpression +import codeql.xpp.elements.CatchUpdateConflict +import codeql.xpp.elements.ChangeCompanyStatement +import codeql.xpp.elements.ChangeStatement +import codeql.xpp.elements.Class +import codeql.xpp.elements.ClassAccessModifier +import codeql.xpp.elements.ClassOrInterface +import codeql.xpp.elements.ClrEnumerationLiteralExpression +import codeql.xpp.elements.ClrType +import codeql.xpp.elements.Comment +import codeql.xpp.elements.CompilationUnit +import codeql.xpp.elements.CompilationUnitRegionEntry +import codeql.xpp.elements.CompoundStatement +import codeql.xpp.elements.ConditionalExpression +import codeql.xpp.elements.ContainerAttributeLiteral +import codeql.xpp.elements.ContainerLiteralExpression +import codeql.xpp.elements.ContainerType +import codeql.xpp.elements.ContinueStatement +import codeql.xpp.elements.CountAggregateSelection +import codeql.xpp.elements.CrossCompany +import codeql.xpp.elements.CrossCompanyAll +import codeql.xpp.elements.CrossCompanyContainer +import codeql.xpp.elements.DateAttributeLiteral +import codeql.xpp.elements.DateLiteralExpression +import codeql.xpp.elements.DateTimeAttributeLiteral +import codeql.xpp.elements.DateTimeLiteralExpression +import codeql.xpp.elements.DateTimeType +import codeql.xpp.elements.DateType +import codeql.xpp.elements.DblAttributeLiteral +import codeql.xpp.elements.DblType +import codeql.xpp.elements.Declaration +import codeql.xpp.elements.DefaultTypeAttributeLiteral +import codeql.xpp.elements.DefaultTypeLiteralExpression +import codeql.xpp.elements.Delegate +import codeql.xpp.elements.DeleteStatement +import codeql.xpp.elements.DivideExpression +import codeql.xpp.elements.DoWhileStatement +import codeql.xpp.elements.Element +import codeql.xpp.elements.EmptyExpression +import codeql.xpp.elements.EmptyStatement +import codeql.xpp.elements.EnumAttributeLiteral +import codeql.xpp.elements.EnumerationLiteralExpression +import codeql.xpp.elements.EnumerationType +import codeql.xpp.elements.EqualExpression +import codeql.xpp.elements.ErrorElement +import codeql.xpp.elements.Evaluation +import codeql.xpp.elements.EvaluationActualParameterEntry +import codeql.xpp.elements.ExplicitSelection +import codeql.xpp.elements.Expression +import codeql.xpp.elements.ExpressionCompilationUnit +import codeql.xpp.elements.ExpressionQualifier +import codeql.xpp.elements.ExpressionStatement +import codeql.xpp.elements.FieldAssignment +import codeql.xpp.elements.FieldDeclaration +import codeql.xpp.elements.FieldExpression +import codeql.xpp.elements.FieldSelection +import codeql.xpp.elements.FieldSpecification +import codeql.xpp.elements.File +import codeql.xpp.elements.FindStatement +import codeql.xpp.elements.FlushStatement +import codeql.xpp.elements.ForAssign +import codeql.xpp.elements.ForDeclarationAssign +import codeql.xpp.elements.ForExpressionAssign +import codeql.xpp.elements.ForFieldAssign +import codeql.xpp.elements.ForFieldDecrementAssign +import codeql.xpp.elements.ForFieldIncrementAssign +import codeql.xpp.elements.ForFieldPostDecrement +import codeql.xpp.elements.ForFieldPostIncrement +import codeql.xpp.elements.ForFieldPreDecrement +import codeql.xpp.elements.ForFieldPreIncrement +import codeql.xpp.elements.ForStatement +import codeql.xpp.elements.FormControl +import codeql.xpp.elements.FormDataField +import codeql.xpp.elements.FormDataSource +import codeql.xpp.elements.FormElementType +import codeql.xpp.elements.FormModelElement +import codeql.xpp.elements.FormNestedElement +import codeql.xpp.elements.FunctionCall +import codeql.xpp.elements.FunctionDeclaration +import codeql.xpp.elements.GenericEvaluation +import codeql.xpp.elements.GenericXppType +import codeql.xpp.elements.GlobalOrderElement +import codeql.xpp.elements.GreaterThanExpression +import codeql.xpp.elements.GreaterThanOrEqualExpression +import codeql.xpp.elements.GuidAttributeLiteral +import codeql.xpp.elements.GuidType +import codeql.xpp.elements.IfStatement +import codeql.xpp.elements.IfThenElseStatement +import codeql.xpp.elements.ImplicitSelection +import codeql.xpp.elements.InExpression +import codeql.xpp.elements.InsertFieldSpecification +import codeql.xpp.elements.InsertStatement +import codeql.xpp.elements.InstanceName +import codeql.xpp.elements.Int64AttributeLiteral +import codeql.xpp.elements.Int64LiteralExpression +import codeql.xpp.elements.Int64Type +import codeql.xpp.elements.IntAttributeLiteral +import codeql.xpp.elements.IntLiteralExpression +import codeql.xpp.elements.IntType +import codeql.xpp.elements.IntegerDivideExpression +import codeql.xpp.elements.Interface +import codeql.xpp.elements.Intrinsic +import codeql.xpp.elements.IntrinsicAttributeLiteral +import codeql.xpp.elements.IsAsExpression +import codeql.xpp.elements.IsClrExpression +import codeql.xpp.elements.IsExpression +import codeql.xpp.elements.JoinSpecification +import codeql.xpp.elements.LessThanExpression +import codeql.xpp.elements.LessThanOrEqualExpression +import codeql.xpp.elements.LikeExpression +import codeql.xpp.elements.LiteralExpression +import codeql.xpp.elements.LocalDeclaration +import codeql.xpp.elements.LocalDeclarationsStatement +import codeql.xpp.elements.Locatable +import codeql.xpp.elements.Location +import codeql.xpp.elements.MaxAggregateSelection +import codeql.xpp.elements.Method +import codeql.xpp.elements.MethodOrDelegate +import codeql.xpp.elements.MinAggregateSelection +import codeql.xpp.elements.ModExpression +import codeql.xpp.elements.ModelElement +import codeql.xpp.elements.ModelElementUsingEntry +import codeql.xpp.elements.Modifier +import codeql.xpp.elements.MoveCursorStatement +import codeql.xpp.elements.MultiplyExpression +import codeql.xpp.elements.NamedFieldReference +import codeql.xpp.elements.NamedType +import codeql.xpp.elements.NewCall +import codeql.xpp.elements.NewClrArrayExpression +import codeql.xpp.elements.NewClrCall +import codeql.xpp.elements.NextExpression +import codeql.xpp.elements.NotEqualExpression +import codeql.xpp.elements.NotExpression +import codeql.xpp.elements.NullLiteralExpression +import codeql.xpp.elements.NumberedFieldReference +import codeql.xpp.elements.OrExpression +import codeql.xpp.elements.OrderElement +import codeql.xpp.elements.ParameterDeclaration +import codeql.xpp.elements.PhysicalAndExpression +import codeql.xpp.elements.PhysicalNotExpression +import codeql.xpp.elements.PhysicalOrExpression +import codeql.xpp.elements.PhysicalXorExpression +import codeql.xpp.elements.Placeholder +import codeql.xpp.elements.PrintStatement +import codeql.xpp.elements.ProvidedType +import codeql.xpp.elements.ProvidedTypeStaticCall +import codeql.xpp.elements.QualifiedCall +import codeql.xpp.elements.QualifiedField +import codeql.xpp.elements.QualifiedInstanceName +import codeql.xpp.elements.QualifiedNumberedField +import codeql.xpp.elements.QualifiedStaticCall +import codeql.xpp.elements.QualifiedStaticField +import codeql.xpp.elements.QualifiedStaticFieldExpression +import codeql.xpp.elements.Qualifier +import codeql.xpp.elements.Query +import codeql.xpp.elements.QueryDataSource +import codeql.xpp.elements.QueryDataSourceHaving +import codeql.xpp.elements.QueryDataSourceRange +import codeql.xpp.elements.QueryDataSourceRelation +import codeql.xpp.elements.QueryModelElement +import codeql.xpp.elements.RealLiteralExpression +import codeql.xpp.elements.RelationalExpression +import codeql.xpp.elements.RetryStatement +import codeql.xpp.elements.ReturnStatement +import codeql.xpp.elements.SearchStatement +import codeql.xpp.elements.Selection +import codeql.xpp.elements.SelectionField +import codeql.xpp.elements.ShiftLeftExpression +import codeql.xpp.elements.ShiftRightExpression +import codeql.xpp.elements.SimpleField +import codeql.xpp.elements.SimpleInstanceName +import codeql.xpp.elements.SimpleOrderElement +import codeql.xpp.elements.SimpleQualifier +import codeql.xpp.elements.Statement +import codeql.xpp.elements.StaticField +import codeql.xpp.elements.StaticMethodCall +import codeql.xpp.elements.StaticQualifier +import codeql.xpp.elements.StringAttributeLiteral +import codeql.xpp.elements.StringLengthType +import codeql.xpp.elements.StringLiteralExpression +import codeql.xpp.elements.StringType +import codeql.xpp.elements.SubtractExpression +import codeql.xpp.elements.SumAggregateSelection +import codeql.xpp.elements.SuperCall +import codeql.xpp.elements.SwitchCase +import codeql.xpp.elements.SwitchStatement +import codeql.xpp.elements.SwitchStatementCaseEntry +import codeql.xpp.elements.Table +import codeql.xpp.elements.TableFieldDeclaration +import codeql.xpp.elements.TableFieldReference +import codeql.xpp.elements.TableLookupExpression +import codeql.xpp.elements.ThrowStatement +import codeql.xpp.elements.TryStatement +import codeql.xpp.elements.TryStatementCatchEntry +import codeql.xpp.elements.TtsAbortStatement +import codeql.xpp.elements.TtsBeginStatement +import codeql.xpp.elements.TtsEndStatement +import codeql.xpp.elements.TtsStatement +import codeql.xpp.elements.UnaryExpression +import codeql.xpp.elements.UnaryMinusExpression +import codeql.xpp.elements.UncheckedStatement +import codeql.xpp.elements.UnspecifiedElement +import codeql.xpp.elements.UpdateStatement +import codeql.xpp.elements.UsingStatement +import codeql.xpp.elements.ValidTimeState +import codeql.xpp.elements.ValidTimeStateDate +import codeql.xpp.elements.ValidTimeStateRange +import codeql.xpp.elements.VarType +import codeql.xpp.elements.VariableDeclaration +import codeql.xpp.elements.VoidType +import codeql.xpp.elements.WhileStatement +import codeql.xpp.elements.XppTuple +import codeql.xpp.elements.XppType +import codeql.xpp.elements.XppTypeCompilationUnit diff --git a/xpp/ql/lib/codeql/xpp/elements/AddExpression.qll b/xpp/ql/lib/codeql/xpp/elements/AddExpression.qll new file mode 100644 index 000000000000..bdae97c2436b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AddExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AddExpression`. + */ + +private import internal.AddExpressionImpl +import codeql.xpp.elements.BinaryExpression + +final class AddExpression = Impl::AddExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/AggregateSelection.qll b/xpp/ql/lib/codeql/xpp/elements/AggregateSelection.qll new file mode 100644 index 000000000000..bbea49d23f68 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AggregateSelection.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AggregateSelection`. + */ + +private import internal.AggregateSelectionImpl +import codeql.xpp.elements.SelectionField + +final class AggregateSelection = Impl::AggregateSelection; diff --git a/xpp/ql/lib/codeql/xpp/elements/AllFieldsSelection.qll b/xpp/ql/lib/codeql/xpp/elements/AllFieldsSelection.qll new file mode 100644 index 000000000000..41fe685a371e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AllFieldsSelection.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AllFieldsSelection`. + */ + +private import internal.AllFieldsSelectionImpl +import codeql.xpp.elements.Selection + +final class AllFieldsSelection = Impl::AllFieldsSelection; diff --git a/xpp/ql/lib/codeql/xpp/elements/AndExpression.qll b/xpp/ql/lib/codeql/xpp/elements/AndExpression.qll new file mode 100644 index 000000000000..eaa0ef9fd558 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AndExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AndExpression`. + */ + +private import internal.AndExpressionImpl +import codeql.xpp.elements.BinaryExpression + +final class AndExpression = Impl::AndExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/AnyType.qll b/xpp/ql/lib/codeql/xpp/elements/AnyType.qll new file mode 100644 index 000000000000..3cabbc4184a2 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AnyType.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AnyType`. + */ + +private import internal.AnyTypeImpl +import codeql.xpp.elements.XppType + +final class AnyType = Impl::AnyType; diff --git a/xpp/ql/lib/codeql/xpp/elements/ArraySpecification.qll b/xpp/ql/lib/codeql/xpp/elements/ArraySpecification.qll new file mode 100644 index 000000000000..8a4aa9fa737e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ArraySpecification.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ArraySpecification`. + */ + +private import internal.ArraySpecificationImpl +import codeql.xpp.elements.Ast +import codeql.xpp.elements.Expression + +final class ArraySpecification = Impl::ArraySpecification; diff --git a/xpp/ql/lib/codeql/xpp/elements/AsClrExpression.qll b/xpp/ql/lib/codeql/xpp/elements/AsClrExpression.qll new file mode 100644 index 000000000000..56b99950db14 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AsClrExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AsClrExpression`. + */ + +private import internal.AsClrExpressionImpl +import codeql.xpp.elements.IsAsExpression + +final class AsClrExpression = Impl::AsClrExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/AsExpression.qll b/xpp/ql/lib/codeql/xpp/elements/AsExpression.qll new file mode 100644 index 000000000000..565a21aa6c0f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AsExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AsExpression`. + */ + +private import internal.AsExpressionImpl +import codeql.xpp.elements.IsAsExpression + +final class AsExpression = Impl::AsExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/AssignDecrementStatement.qll b/xpp/ql/lib/codeql/xpp/elements/AssignDecrementStatement.qll new file mode 100644 index 000000000000..39ae97560877 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AssignDecrementStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AssignDecrementStatement`. + */ + +private import internal.AssignDecrementStatementImpl +import codeql.xpp.elements.AssignmentBinary + +final class AssignDecrementStatement = Impl::AssignDecrementStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/AssignDivideStatement.qll b/xpp/ql/lib/codeql/xpp/elements/AssignDivideStatement.qll new file mode 100644 index 000000000000..7e45f96bf67f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AssignDivideStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AssignDivideStatement`. + */ + +private import internal.AssignDivideStatementImpl +import codeql.xpp.elements.AssignmentBinary + +final class AssignDivideStatement = Impl::AssignDivideStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/AssignEqualStatement.qll b/xpp/ql/lib/codeql/xpp/elements/AssignEqualStatement.qll new file mode 100644 index 000000000000..a403292e05e7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AssignEqualStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AssignEqualStatement`. + */ + +private import internal.AssignEqualStatementImpl +import codeql.xpp.elements.AssignmentBinary + +final class AssignEqualStatement = Impl::AssignEqualStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/AssignIncrementStatement.qll b/xpp/ql/lib/codeql/xpp/elements/AssignIncrementStatement.qll new file mode 100644 index 000000000000..57bec1d597a1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AssignIncrementStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AssignIncrementStatement`. + */ + +private import internal.AssignIncrementStatementImpl +import codeql.xpp.elements.AssignmentBinary + +final class AssignIncrementStatement = Impl::AssignIncrementStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/AssignMultipleFieldStatement.qll b/xpp/ql/lib/codeql/xpp/elements/AssignMultipleFieldStatement.qll new file mode 100644 index 000000000000..bd6b8dcbfb6c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AssignMultipleFieldStatement.qll @@ -0,0 +1,11 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AssignMultipleFieldStatement`. + */ + +private import internal.AssignMultipleFieldStatementImpl +import codeql.xpp.elements.AssignmentStatement +import codeql.xpp.elements.Expression +import codeql.xpp.elements.FieldSpecification + +final class AssignMultipleFieldStatement = Impl::AssignMultipleFieldStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/AssignMultiplyStatement.qll b/xpp/ql/lib/codeql/xpp/elements/AssignMultiplyStatement.qll new file mode 100644 index 000000000000..fbce71ae014c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AssignMultiplyStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AssignMultiplyStatement`. + */ + +private import internal.AssignMultiplyStatementImpl +import codeql.xpp.elements.AssignmentBinary + +final class AssignMultiplyStatement = Impl::AssignMultiplyStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/AssignPostDecrementStatement.qll b/xpp/ql/lib/codeql/xpp/elements/AssignPostDecrementStatement.qll new file mode 100644 index 000000000000..35d12ae700ce --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AssignPostDecrementStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AssignPostDecrementStatement`. + */ + +private import internal.AssignPostDecrementStatementImpl +import codeql.xpp.elements.AssignmentSingleField + +final class AssignPostDecrementStatement = Impl::AssignPostDecrementStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/AssignPostIncrementStatement.qll b/xpp/ql/lib/codeql/xpp/elements/AssignPostIncrementStatement.qll new file mode 100644 index 000000000000..7ce691725d1f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AssignPostIncrementStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AssignPostIncrementStatement`. + */ + +private import internal.AssignPostIncrementStatementImpl +import codeql.xpp.elements.AssignmentSingleField + +final class AssignPostIncrementStatement = Impl::AssignPostIncrementStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/AssignPreDecrementStatement.qll b/xpp/ql/lib/codeql/xpp/elements/AssignPreDecrementStatement.qll new file mode 100644 index 000000000000..9fbde773b552 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AssignPreDecrementStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AssignPreDecrementStatement`. + */ + +private import internal.AssignPreDecrementStatementImpl +import codeql.xpp.elements.AssignmentSingleField + +final class AssignPreDecrementStatement = Impl::AssignPreDecrementStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/AssignPreIncrementStatement.qll b/xpp/ql/lib/codeql/xpp/elements/AssignPreIncrementStatement.qll new file mode 100644 index 000000000000..034aff541ab5 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AssignPreIncrementStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AssignPreIncrementStatement`. + */ + +private import internal.AssignPreIncrementStatementImpl +import codeql.xpp.elements.AssignmentSingleField + +final class AssignPreIncrementStatement = Impl::AssignPreIncrementStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/AssignmentBinary.qll b/xpp/ql/lib/codeql/xpp/elements/AssignmentBinary.qll new file mode 100644 index 000000000000..65a7aea27693 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AssignmentBinary.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AssignmentBinary`. + */ + +private import internal.AssignmentBinaryImpl +import codeql.xpp.elements.AssignmentSingleField +import codeql.xpp.elements.Expression + +final class AssignmentBinary = Impl::AssignmentBinary; diff --git a/xpp/ql/lib/codeql/xpp/elements/AssignmentEventHandlerBase.qll b/xpp/ql/lib/codeql/xpp/elements/AssignmentEventHandlerBase.qll new file mode 100644 index 000000000000..9ca6f87c5135 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AssignmentEventHandlerBase.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AssignmentEventHandlerBase`. + */ + +private import internal.AssignmentEventHandlerBaseImpl +import codeql.xpp.elements.AssignmentSingleField + +final class AssignmentEventHandlerBase = Impl::AssignmentEventHandlerBase; diff --git a/xpp/ql/lib/codeql/xpp/elements/AssignmentEventHandlerClr.qll b/xpp/ql/lib/codeql/xpp/elements/AssignmentEventHandlerClr.qll new file mode 100644 index 000000000000..d85c0655ee70 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AssignmentEventHandlerClr.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AssignmentEventHandlerClr`. + */ + +private import internal.AssignmentEventHandlerClrImpl +import codeql.xpp.elements.AssignmentEventHandlerStatic + +final class AssignmentEventHandlerClr = Impl::AssignmentEventHandlerClr; diff --git a/xpp/ql/lib/codeql/xpp/elements/AssignmentEventHandlerInstance.qll b/xpp/ql/lib/codeql/xpp/elements/AssignmentEventHandlerInstance.qll new file mode 100644 index 000000000000..1a69c0875d68 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AssignmentEventHandlerInstance.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AssignmentEventHandlerInstance`. + */ + +private import internal.AssignmentEventHandlerInstanceImpl +import codeql.xpp.elements.AssignmentEventHandlerBase +import codeql.xpp.elements.Qualifier + +final class AssignmentEventHandlerInstance = Impl::AssignmentEventHandlerInstance; diff --git a/xpp/ql/lib/codeql/xpp/elements/AssignmentEventHandlerStatic.qll b/xpp/ql/lib/codeql/xpp/elements/AssignmentEventHandlerStatic.qll new file mode 100644 index 000000000000..1aa2d1a71cdf --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AssignmentEventHandlerStatic.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AssignmentEventHandlerStatic`. + */ + +private import internal.AssignmentEventHandlerStaticImpl +import codeql.xpp.elements.AssignmentEventHandlerBase + +final class AssignmentEventHandlerStatic = Impl::AssignmentEventHandlerStatic; diff --git a/xpp/ql/lib/codeql/xpp/elements/AssignmentSingleField.qll b/xpp/ql/lib/codeql/xpp/elements/AssignmentSingleField.qll new file mode 100644 index 000000000000..98ae0a380cdf --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AssignmentSingleField.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AssignmentSingleField`. + */ + +private import internal.AssignmentSingleFieldImpl +import codeql.xpp.elements.AssignmentStatement +import codeql.xpp.elements.FieldSpecification + +final class AssignmentSingleField = Impl::AssignmentSingleField; diff --git a/xpp/ql/lib/codeql/xpp/elements/AssignmentStatement.qll b/xpp/ql/lib/codeql/xpp/elements/AssignmentStatement.qll new file mode 100644 index 000000000000..5f3978d6d6ce --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AssignmentStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AssignmentStatement`. + */ + +private import internal.AssignmentStatementImpl +import codeql.xpp.elements.Statement + +final class AssignmentStatement = Impl::AssignmentStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/Ast.qll b/xpp/ql/lib/codeql/xpp/elements/Ast.qll new file mode 100644 index 000000000000..fe2d96c18425 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Ast.qll @@ -0,0 +1,15 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Ast`. + */ + +private import internal.AstImpl +import codeql.xpp.elements.Locatable + +/** + * Root of the X++ abstract syntax tree. + * + * This mirrors `Microsoft.Dynamics.AX.Metadata.XppCompiler.Ast`, the base class of the + * X++ compiler's own AST. + */ +final class Ast = Impl::Ast; diff --git a/xpp/ql/lib/codeql/xpp/elements/Attribute.qll b/xpp/ql/lib/codeql/xpp/elements/Attribute.qll new file mode 100644 index 000000000000..9d393b4828db --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Attribute.qll @@ -0,0 +1,11 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Attribute`. + */ + +private import internal.AttributeImpl +import codeql.xpp.elements.Ast +import codeql.xpp.elements.AttributeExpression +import codeql.xpp.elements.AttributeNamedParameterEntry + +final class Attribute = Impl::Attribute; diff --git a/xpp/ql/lib/codeql/xpp/elements/AttributeExpression.qll b/xpp/ql/lib/codeql/xpp/elements/AttributeExpression.qll new file mode 100644 index 000000000000..6f694e289611 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AttributeExpression.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AttributeExpression`. + */ + +private import internal.AttributeExpressionImpl +import codeql.xpp.elements.Ast +import codeql.xpp.elements.AttributeLiteral + +final class AttributeExpression = Impl::AttributeExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/AttributeList.qll b/xpp/ql/lib/codeql/xpp/elements/AttributeList.qll new file mode 100644 index 000000000000..97c5cce39a0a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AttributeList.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AttributeList`. + */ + +private import internal.AttributeListImpl +import codeql.xpp.elements.Ast +import codeql.xpp.elements.Attribute + +final class AttributeList = Impl::AttributeList; diff --git a/xpp/ql/lib/codeql/xpp/elements/AttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/AttributeLiteral.qll new file mode 100644 index 000000000000..ed394762176a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AttributeLiteral.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AttributeLiteral`. + */ + +private import internal.AttributeLiteralImpl +import codeql.xpp.elements.Ast + +final class AttributeLiteral = Impl::AttributeLiteral; diff --git a/xpp/ql/lib/codeql/xpp/elements/AttributeNamedParameterEntry.qll b/xpp/ql/lib/codeql/xpp/elements/AttributeNamedParameterEntry.qll new file mode 100644 index 000000000000..392554c853b2 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AttributeNamedParameterEntry.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AttributeNamedParameterEntry`. + */ + +private import internal.AttributeNamedParameterEntryImpl +import codeql.xpp.elements.AttributeExpression +import codeql.xpp.elements.XppTuple + +final class AttributeNamedParameterEntry = Impl::AttributeNamedParameterEntry; diff --git a/xpp/ql/lib/codeql/xpp/elements/AvgAggregateSelection.qll b/xpp/ql/lib/codeql/xpp/elements/AvgAggregateSelection.qll new file mode 100644 index 000000000000..a2f09afa8bf9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AvgAggregateSelection.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AvgAggregateSelection`. + */ + +private import internal.AvgAggregateSelectionImpl +import codeql.xpp.elements.AggregateSelection + +final class AvgAggregateSelection = Impl::AvgAggregateSelection; diff --git a/xpp/ql/lib/codeql/xpp/elements/BinaryExpression.qll b/xpp/ql/lib/codeql/xpp/elements/BinaryExpression.qll new file mode 100644 index 000000000000..f9983c51513b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/BinaryExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `BinaryExpression`. + */ + +private import internal.BinaryExpressionImpl +import codeql.xpp.elements.Expression + +final class BinaryExpression = Impl::BinaryExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/BooleanAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/BooleanAttributeLiteral.qll new file mode 100644 index 000000000000..ba31949c976a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/BooleanAttributeLiteral.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `BooleanAttributeLiteral`. + */ + +private import internal.BooleanAttributeLiteralImpl +import codeql.xpp.elements.DefaultTypeAttributeLiteral + +final class BooleanAttributeLiteral = Impl::BooleanAttributeLiteral; diff --git a/xpp/ql/lib/codeql/xpp/elements/BooleanLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/BooleanLiteralExpression.qll new file mode 100644 index 000000000000..1903aed53aaf --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/BooleanLiteralExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `BooleanLiteralExpression`. + */ + +private import internal.BooleanLiteralExpressionImpl +import codeql.xpp.elements.DefaultTypeLiteralExpression + +final class BooleanLiteralExpression = Impl::BooleanLiteralExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/BooleanType.qll b/xpp/ql/lib/codeql/xpp/elements/BooleanType.qll new file mode 100644 index 000000000000..dc5b2eda5be8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/BooleanType.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `BooleanType`. + */ + +private import internal.BooleanTypeImpl +import codeql.xpp.elements.XppType + +final class BooleanType = Impl::BooleanType; diff --git a/xpp/ql/lib/codeql/xpp/elements/BreakStatement.qll b/xpp/ql/lib/codeql/xpp/elements/BreakStatement.qll new file mode 100644 index 000000000000..8cd4899223ed --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/BreakStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `BreakStatement`. + */ + +private import internal.BreakStatementImpl +import codeql.xpp.elements.Statement + +final class BreakStatement = Impl::BreakStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/BreakpointStatement.qll b/xpp/ql/lib/codeql/xpp/elements/BreakpointStatement.qll new file mode 100644 index 000000000000..de19eaa8a41f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/BreakpointStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `BreakpointStatement`. + */ + +private import internal.BreakpointStatementImpl +import codeql.xpp.elements.Statement + +final class BreakpointStatement = Impl::BreakpointStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/Case.qll b/xpp/ql/lib/codeql/xpp/elements/Case.qll new file mode 100644 index 000000000000..e4593d927777 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Case.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Case`. + */ + +private import internal.CaseImpl +import codeql.xpp.elements.Ast + +final class Case = Impl::Case; diff --git a/xpp/ql/lib/codeql/xpp/elements/CaseDefault.qll b/xpp/ql/lib/codeql/xpp/elements/CaseDefault.qll new file mode 100644 index 000000000000..de707113c510 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/CaseDefault.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `CaseDefault`. + */ + +private import internal.CaseDefaultImpl +import codeql.xpp.elements.Case + +final class CaseDefault = Impl::CaseDefault; diff --git a/xpp/ql/lib/codeql/xpp/elements/CaseValues.qll b/xpp/ql/lib/codeql/xpp/elements/CaseValues.qll new file mode 100644 index 000000000000..86a094d109d5 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/CaseValues.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `CaseValues`. + */ + +private import internal.CaseValuesImpl +import codeql.xpp.elements.Case +import codeql.xpp.elements.Expression + +final class CaseValues = Impl::CaseValues; diff --git a/xpp/ql/lib/codeql/xpp/elements/Catch.qll b/xpp/ql/lib/codeql/xpp/elements/Catch.qll new file mode 100644 index 000000000000..aec17540251a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Catch.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Catch`. + */ + +private import internal.CatchImpl +import codeql.xpp.elements.Ast + +final class Catch = Impl::Catch; diff --git a/xpp/ql/lib/codeql/xpp/elements/CatchAllValues.qll b/xpp/ql/lib/codeql/xpp/elements/CatchAllValues.qll new file mode 100644 index 000000000000..cd618d58df28 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/CatchAllValues.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `CatchAllValues`. + */ + +private import internal.CatchAllValuesImpl +import codeql.xpp.elements.Catch + +final class CatchAllValues = Impl::CatchAllValues; diff --git a/xpp/ql/lib/codeql/xpp/elements/CatchExpression.qll b/xpp/ql/lib/codeql/xpp/elements/CatchExpression.qll new file mode 100644 index 000000000000..7cf544e7b699 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/CatchExpression.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `CatchExpression`. + */ + +private import internal.CatchExpressionImpl +import codeql.xpp.elements.Catch +import codeql.xpp.elements.Expression + +final class CatchExpression = Impl::CatchExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/CatchUpdateConflict.qll b/xpp/ql/lib/codeql/xpp/elements/CatchUpdateConflict.qll new file mode 100644 index 000000000000..892d6f36305f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/CatchUpdateConflict.qll @@ -0,0 +1,11 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `CatchUpdateConflict`. + */ + +private import internal.CatchUpdateConflictImpl +import codeql.xpp.elements.Catch +import codeql.xpp.elements.Expression +import codeql.xpp.elements.InstanceName + +final class CatchUpdateConflict = Impl::CatchUpdateConflict; diff --git a/xpp/ql/lib/codeql/xpp/elements/ChangeCompanyStatement.qll b/xpp/ql/lib/codeql/xpp/elements/ChangeCompanyStatement.qll new file mode 100644 index 000000000000..217384f894b0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ChangeCompanyStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ChangeCompanyStatement`. + */ + +private import internal.ChangeCompanyStatementImpl +import codeql.xpp.elements.ChangeStatement + +final class ChangeCompanyStatement = Impl::ChangeCompanyStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/ChangeStatement.qll b/xpp/ql/lib/codeql/xpp/elements/ChangeStatement.qll new file mode 100644 index 000000000000..dcbfb2fc9935 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ChangeStatement.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ChangeStatement`. + */ + +private import internal.ChangeStatementImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Statement + +final class ChangeStatement = Impl::ChangeStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/Class.qll b/xpp/ql/lib/codeql/xpp/elements/Class.qll new file mode 100644 index 000000000000..2f94c944960c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Class.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Class`. + */ + +private import internal.ClassImpl +import codeql.xpp.elements.ClassOrInterface +import codeql.xpp.elements.FieldDeclaration + +final class Class = Impl::Class; diff --git a/xpp/ql/lib/codeql/xpp/elements/ClassAccessModifier.qll b/xpp/ql/lib/codeql/xpp/elements/ClassAccessModifier.qll new file mode 100644 index 000000000000..f4eb3773aba4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ClassAccessModifier.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ClassAccessModifier`. + */ + +private import internal.ClassAccessModifierImpl +import codeql.xpp.elements.Ast + +final class ClassAccessModifier = Impl::ClassAccessModifier; diff --git a/xpp/ql/lib/codeql/xpp/elements/ClassOrInterface.qll b/xpp/ql/lib/codeql/xpp/elements/ClassOrInterface.qll new file mode 100644 index 000000000000..7ab5e09be7ba --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ClassOrInterface.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ClassOrInterface`. + */ + +private import internal.ClassOrInterfaceImpl +import codeql.xpp.elements.AttributeList +import codeql.xpp.elements.ModelElement + +final class ClassOrInterface = Impl::ClassOrInterface; diff --git a/xpp/ql/lib/codeql/xpp/elements/ClrEnumerationLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/ClrEnumerationLiteralExpression.qll new file mode 100644 index 000000000000..48cb727ea7de --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ClrEnumerationLiteralExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ClrEnumerationLiteralExpression`. + */ + +private import internal.ClrEnumerationLiteralExpressionImpl +import codeql.xpp.elements.LiteralExpression + +final class ClrEnumerationLiteralExpression = Impl::ClrEnumerationLiteralExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/ClrType.qll b/xpp/ql/lib/codeql/xpp/elements/ClrType.qll new file mode 100644 index 000000000000..912ca1bd547a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ClrType.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ClrType`. + */ + +private import internal.ClrTypeImpl +import codeql.xpp.elements.GenericXppType + +final class ClrType = Impl::ClrType; diff --git a/xpp/ql/lib/codeql/xpp/elements/Comment.qll b/xpp/ql/lib/codeql/xpp/elements/Comment.qll new file mode 100644 index 000000000000..5351f5c808a7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Comment.qll @@ -0,0 +1,12 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Comment`. + */ + +private import internal.CommentImpl +import codeql.xpp.elements.Locatable + +/** + * A comment in X++ source. + */ +final class Comment = Impl::Comment; diff --git a/xpp/ql/lib/codeql/xpp/elements/CompilationUnit.qll b/xpp/ql/lib/codeql/xpp/elements/CompilationUnit.qll new file mode 100644 index 000000000000..9e050ab18ad8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/CompilationUnit.qll @@ -0,0 +1,11 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `CompilationUnit`. + */ + +private import internal.CompilationUnitImpl +import codeql.xpp.elements.Ast +import codeql.xpp.elements.Comment +import codeql.xpp.elements.CompilationUnitRegionEntry + +final class CompilationUnit = Impl::CompilationUnit; diff --git a/xpp/ql/lib/codeql/xpp/elements/CompilationUnitRegionEntry.qll b/xpp/ql/lib/codeql/xpp/elements/CompilationUnitRegionEntry.qll new file mode 100644 index 000000000000..cf6d9d3ee2ea --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/CompilationUnitRegionEntry.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `CompilationUnitRegionEntry`. + */ + +private import internal.CompilationUnitRegionEntryImpl +import codeql.xpp.elements.Comment +import codeql.xpp.elements.XppTuple + +final class CompilationUnitRegionEntry = Impl::CompilationUnitRegionEntry; diff --git a/xpp/ql/lib/codeql/xpp/elements/CompoundStatement.qll b/xpp/ql/lib/codeql/xpp/elements/CompoundStatement.qll new file mode 100644 index 000000000000..66a2cc5518cd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/CompoundStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `CompoundStatement`. + */ + +private import internal.CompoundStatementImpl +import codeql.xpp.elements.Statement + +final class CompoundStatement = Impl::CompoundStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/ConditionalExpression.qll b/xpp/ql/lib/codeql/xpp/elements/ConditionalExpression.qll new file mode 100644 index 000000000000..31951dd540d9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ConditionalExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ConditionalExpression`. + */ + +private import internal.ConditionalExpressionImpl +import codeql.xpp.elements.Expression + +final class ConditionalExpression = Impl::ConditionalExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/ContainerAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/ContainerAttributeLiteral.qll new file mode 100644 index 000000000000..1b7c4ae5d656 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ContainerAttributeLiteral.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ContainerAttributeLiteral`. + */ + +private import internal.ContainerAttributeLiteralImpl +import codeql.xpp.elements.AttributeExpression +import codeql.xpp.elements.AttributeLiteral + +final class ContainerAttributeLiteral = Impl::ContainerAttributeLiteral; diff --git a/xpp/ql/lib/codeql/xpp/elements/ContainerLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/ContainerLiteralExpression.qll new file mode 100644 index 000000000000..4887996ea189 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ContainerLiteralExpression.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ContainerLiteralExpression`. + */ + +private import internal.ContainerLiteralExpressionImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.LiteralExpression + +final class ContainerLiteralExpression = Impl::ContainerLiteralExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/ContainerType.qll b/xpp/ql/lib/codeql/xpp/elements/ContainerType.qll new file mode 100644 index 000000000000..238ab543c3cd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ContainerType.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ContainerType`. + */ + +private import internal.ContainerTypeImpl +import codeql.xpp.elements.XppType + +final class ContainerType = Impl::ContainerType; diff --git a/xpp/ql/lib/codeql/xpp/elements/ContinueStatement.qll b/xpp/ql/lib/codeql/xpp/elements/ContinueStatement.qll new file mode 100644 index 000000000000..d47345e658f6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ContinueStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ContinueStatement`. + */ + +private import internal.ContinueStatementImpl +import codeql.xpp.elements.Statement + +final class ContinueStatement = Impl::ContinueStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/CountAggregateSelection.qll b/xpp/ql/lib/codeql/xpp/elements/CountAggregateSelection.qll new file mode 100644 index 000000000000..9248a1699216 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/CountAggregateSelection.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `CountAggregateSelection`. + */ + +private import internal.CountAggregateSelectionImpl +import codeql.xpp.elements.AggregateSelection + +final class CountAggregateSelection = Impl::CountAggregateSelection; diff --git a/xpp/ql/lib/codeql/xpp/elements/CrossCompany.qll b/xpp/ql/lib/codeql/xpp/elements/CrossCompany.qll new file mode 100644 index 000000000000..5c435fe91f0d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/CrossCompany.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `CrossCompany`. + */ + +private import internal.CrossCompanyImpl +import codeql.xpp.elements.Ast + +final class CrossCompany = Impl::CrossCompany; diff --git a/xpp/ql/lib/codeql/xpp/elements/CrossCompanyAll.qll b/xpp/ql/lib/codeql/xpp/elements/CrossCompanyAll.qll new file mode 100644 index 000000000000..2a76797fb302 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/CrossCompanyAll.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `CrossCompanyAll`. + */ + +private import internal.CrossCompanyAllImpl +import codeql.xpp.elements.CrossCompany + +final class CrossCompanyAll = Impl::CrossCompanyAll; diff --git a/xpp/ql/lib/codeql/xpp/elements/CrossCompanyContainer.qll b/xpp/ql/lib/codeql/xpp/elements/CrossCompanyContainer.qll new file mode 100644 index 000000000000..876aac430909 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/CrossCompanyContainer.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `CrossCompanyContainer`. + */ + +private import internal.CrossCompanyContainerImpl +import codeql.xpp.elements.CrossCompany +import codeql.xpp.elements.Expression + +final class CrossCompanyContainer = Impl::CrossCompanyContainer; diff --git a/xpp/ql/lib/codeql/xpp/elements/DateAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/DateAttributeLiteral.qll new file mode 100644 index 000000000000..c635259c4b1f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/DateAttributeLiteral.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `DateAttributeLiteral`. + */ + +private import internal.DateAttributeLiteralImpl +import codeql.xpp.elements.DefaultTypeAttributeLiteral + +final class DateAttributeLiteral = Impl::DateAttributeLiteral; diff --git a/xpp/ql/lib/codeql/xpp/elements/DateLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/DateLiteralExpression.qll new file mode 100644 index 000000000000..4c739c93382b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/DateLiteralExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `DateLiteralExpression`. + */ + +private import internal.DateLiteralExpressionImpl +import codeql.xpp.elements.DefaultTypeLiteralExpression + +final class DateLiteralExpression = Impl::DateLiteralExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/DateTimeAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/DateTimeAttributeLiteral.qll new file mode 100644 index 000000000000..de40e487310e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/DateTimeAttributeLiteral.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `DateTimeAttributeLiteral`. + */ + +private import internal.DateTimeAttributeLiteralImpl +import codeql.xpp.elements.DefaultTypeAttributeLiteral + +final class DateTimeAttributeLiteral = Impl::DateTimeAttributeLiteral; diff --git a/xpp/ql/lib/codeql/xpp/elements/DateTimeLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/DateTimeLiteralExpression.qll new file mode 100644 index 000000000000..9bb8c2cad642 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/DateTimeLiteralExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `DateTimeLiteralExpression`. + */ + +private import internal.DateTimeLiteralExpressionImpl +import codeql.xpp.elements.DefaultTypeLiteralExpression + +final class DateTimeLiteralExpression = Impl::DateTimeLiteralExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/DateTimeType.qll b/xpp/ql/lib/codeql/xpp/elements/DateTimeType.qll new file mode 100644 index 000000000000..886688b47c5e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/DateTimeType.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `DateTimeType`. + */ + +private import internal.DateTimeTypeImpl +import codeql.xpp.elements.XppType + +final class DateTimeType = Impl::DateTimeType; diff --git a/xpp/ql/lib/codeql/xpp/elements/DateType.qll b/xpp/ql/lib/codeql/xpp/elements/DateType.qll new file mode 100644 index 000000000000..7dc3d4cb0614 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/DateType.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `DateType`. + */ + +private import internal.DateTypeImpl +import codeql.xpp.elements.XppType + +final class DateType = Impl::DateType; diff --git a/xpp/ql/lib/codeql/xpp/elements/DblAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/DblAttributeLiteral.qll new file mode 100644 index 000000000000..625ad5fa2d5a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/DblAttributeLiteral.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `DblAttributeLiteral`. + */ + +private import internal.DblAttributeLiteralImpl +import codeql.xpp.elements.DefaultTypeAttributeLiteral + +final class DblAttributeLiteral = Impl::DblAttributeLiteral; diff --git a/xpp/ql/lib/codeql/xpp/elements/DblType.qll b/xpp/ql/lib/codeql/xpp/elements/DblType.qll new file mode 100644 index 000000000000..9983511b29cd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/DblType.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `DblType`. + */ + +private import internal.DblTypeImpl +import codeql.xpp.elements.XppType + +final class DblType = Impl::DblType; diff --git a/xpp/ql/lib/codeql/xpp/elements/Declaration.qll b/xpp/ql/lib/codeql/xpp/elements/Declaration.qll new file mode 100644 index 000000000000..29828f5200aa --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Declaration.qll @@ -0,0 +1,12 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Declaration`. + */ + +private import internal.DeclarationImpl +import codeql.xpp.elements.ArraySpecification +import codeql.xpp.elements.CompilationUnit +import codeql.xpp.elements.Modifier +import codeql.xpp.elements.XppType + +final class Declaration = Impl::Declaration; diff --git a/xpp/ql/lib/codeql/xpp/elements/DefaultTypeAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/DefaultTypeAttributeLiteral.qll new file mode 100644 index 000000000000..f352dfe9b1ca --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/DefaultTypeAttributeLiteral.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `DefaultTypeAttributeLiteral`. + */ + +private import internal.DefaultTypeAttributeLiteralImpl +import codeql.xpp.elements.AttributeLiteral + +final class DefaultTypeAttributeLiteral = Impl::DefaultTypeAttributeLiteral; diff --git a/xpp/ql/lib/codeql/xpp/elements/DefaultTypeLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/DefaultTypeLiteralExpression.qll new file mode 100644 index 000000000000..9cd6ff291db8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/DefaultTypeLiteralExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `DefaultTypeLiteralExpression`. + */ + +private import internal.DefaultTypeLiteralExpressionImpl +import codeql.xpp.elements.LiteralExpression + +final class DefaultTypeLiteralExpression = Impl::DefaultTypeLiteralExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/Delegate.qll b/xpp/ql/lib/codeql/xpp/elements/Delegate.qll new file mode 100644 index 000000000000..73dcc33b0da4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Delegate.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Delegate`. + */ + +private import internal.DelegateImpl +import codeql.xpp.elements.MethodOrDelegate + +final class Delegate = Impl::Delegate; diff --git a/xpp/ql/lib/codeql/xpp/elements/DeleteStatement.qll b/xpp/ql/lib/codeql/xpp/elements/DeleteStatement.qll new file mode 100644 index 000000000000..2565814229b4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/DeleteStatement.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `DeleteStatement`. + */ + +private import internal.DeleteStatementImpl +import codeql.xpp.elements.Query +import codeql.xpp.elements.Statement + +final class DeleteStatement = Impl::DeleteStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/DivideExpression.qll b/xpp/ql/lib/codeql/xpp/elements/DivideExpression.qll new file mode 100644 index 000000000000..2e32ee0b98e4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/DivideExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `DivideExpression`. + */ + +private import internal.DivideExpressionImpl +import codeql.xpp.elements.BinaryExpression + +final class DivideExpression = Impl::DivideExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/DoWhileStatement.qll b/xpp/ql/lib/codeql/xpp/elements/DoWhileStatement.qll new file mode 100644 index 000000000000..00a85dce26cf --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/DoWhileStatement.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `DoWhileStatement`. + */ + +private import internal.DoWhileStatementImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Statement + +final class DoWhileStatement = Impl::DoWhileStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/Element.qll b/xpp/ql/lib/codeql/xpp/elements/Element.qll new file mode 100644 index 000000000000..c16bd596a87d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Element.qll @@ -0,0 +1,8 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Element`. + */ + +private import internal.ElementImpl + +final class Element = Impl::Element; diff --git a/xpp/ql/lib/codeql/xpp/elements/EmptyExpression.qll b/xpp/ql/lib/codeql/xpp/elements/EmptyExpression.qll new file mode 100644 index 000000000000..09fd19431f4b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/EmptyExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `EmptyExpression`. + */ + +private import internal.EmptyExpressionImpl +import codeql.xpp.elements.Expression + +final class EmptyExpression = Impl::EmptyExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/EmptyStatement.qll b/xpp/ql/lib/codeql/xpp/elements/EmptyStatement.qll new file mode 100644 index 000000000000..640577aee2d4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/EmptyStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `EmptyStatement`. + */ + +private import internal.EmptyStatementImpl +import codeql.xpp.elements.Statement + +final class EmptyStatement = Impl::EmptyStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/EnumAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/EnumAttributeLiteral.qll new file mode 100644 index 000000000000..a154cfd9b10c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/EnumAttributeLiteral.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `EnumAttributeLiteral`. + */ + +private import internal.EnumAttributeLiteralImpl +import codeql.xpp.elements.AttributeLiteral + +final class EnumAttributeLiteral = Impl::EnumAttributeLiteral; diff --git a/xpp/ql/lib/codeql/xpp/elements/EnumerationLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/EnumerationLiteralExpression.qll new file mode 100644 index 000000000000..9c12187e8541 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/EnumerationLiteralExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `EnumerationLiteralExpression`. + */ + +private import internal.EnumerationLiteralExpressionImpl +import codeql.xpp.elements.LiteralExpression + +final class EnumerationLiteralExpression = Impl::EnumerationLiteralExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/EnumerationType.qll b/xpp/ql/lib/codeql/xpp/elements/EnumerationType.qll new file mode 100644 index 000000000000..c2c44de09676 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/EnumerationType.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `EnumerationType`. + */ + +private import internal.EnumerationTypeImpl +import codeql.xpp.elements.XppType + +final class EnumerationType = Impl::EnumerationType; diff --git a/xpp/ql/lib/codeql/xpp/elements/EqualExpression.qll b/xpp/ql/lib/codeql/xpp/elements/EqualExpression.qll new file mode 100644 index 000000000000..c07fd6b20a88 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/EqualExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `EqualExpression`. + */ + +private import internal.EqualExpressionImpl +import codeql.xpp.elements.RelationalExpression + +final class EqualExpression = Impl::EqualExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/ErrorElement.qll b/xpp/ql/lib/codeql/xpp/elements/ErrorElement.qll new file mode 100644 index 000000000000..3327765b5b90 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ErrorElement.qll @@ -0,0 +1,12 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ErrorElement`. + */ + +private import internal.ErrorElementImpl +import codeql.xpp.elements.Locatable + +/** + * The superclass of all elements indicating some kind of error. + */ +final class ErrorElement = Impl::ErrorElement; diff --git a/xpp/ql/lib/codeql/xpp/elements/Evaluation.qll b/xpp/ql/lib/codeql/xpp/elements/Evaluation.qll new file mode 100644 index 000000000000..76431b6ecc01 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Evaluation.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Evaluation`. + */ + +private import internal.EvaluationImpl +import codeql.xpp.elements.EvaluationActualParameterEntry +import codeql.xpp.elements.Expression + +final class Evaluation = Impl::Evaluation; diff --git a/xpp/ql/lib/codeql/xpp/elements/EvaluationActualParameterEntry.qll b/xpp/ql/lib/codeql/xpp/elements/EvaluationActualParameterEntry.qll new file mode 100644 index 000000000000..be63e31f7b6f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/EvaluationActualParameterEntry.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `EvaluationActualParameterEntry`. + */ + +private import internal.EvaluationActualParameterEntryImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.XppTuple + +final class EvaluationActualParameterEntry = Impl::EvaluationActualParameterEntry; diff --git a/xpp/ql/lib/codeql/xpp/elements/ExplicitSelection.qll b/xpp/ql/lib/codeql/xpp/elements/ExplicitSelection.qll new file mode 100644 index 000000000000..58be8e189e99 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ExplicitSelection.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ExplicitSelection`. + */ + +private import internal.ExplicitSelectionImpl +import codeql.xpp.elements.Selection +import codeql.xpp.elements.SelectionField + +final class ExplicitSelection = Impl::ExplicitSelection; diff --git a/xpp/ql/lib/codeql/xpp/elements/Expression.qll b/xpp/ql/lib/codeql/xpp/elements/Expression.qll new file mode 100644 index 000000000000..34a47dfd6c53 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Expression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Expression`. + */ + +private import internal.ExpressionImpl +import codeql.xpp.elements.Ast + +final class Expression = Impl::Expression; diff --git a/xpp/ql/lib/codeql/xpp/elements/ExpressionCompilationUnit.qll b/xpp/ql/lib/codeql/xpp/elements/ExpressionCompilationUnit.qll new file mode 100644 index 000000000000..2c691cb41661 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ExpressionCompilationUnit.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ExpressionCompilationUnit`. + */ + +private import internal.ExpressionCompilationUnitImpl +import codeql.xpp.elements.CompilationUnit +import codeql.xpp.elements.Expression + +final class ExpressionCompilationUnit = Impl::ExpressionCompilationUnit; diff --git a/xpp/ql/lib/codeql/xpp/elements/ExpressionQualifier.qll b/xpp/ql/lib/codeql/xpp/elements/ExpressionQualifier.qll new file mode 100644 index 000000000000..09be4a0c8e76 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ExpressionQualifier.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ExpressionQualifier`. + */ + +private import internal.ExpressionQualifierImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Qualifier + +final class ExpressionQualifier = Impl::ExpressionQualifier; diff --git a/xpp/ql/lib/codeql/xpp/elements/ExpressionStatement.qll b/xpp/ql/lib/codeql/xpp/elements/ExpressionStatement.qll new file mode 100644 index 000000000000..e50f486284ee --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ExpressionStatement.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ExpressionStatement`. + */ + +private import internal.ExpressionStatementImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Statement + +final class ExpressionStatement = Impl::ExpressionStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/FieldAssignment.qll b/xpp/ql/lib/codeql/xpp/elements/FieldAssignment.qll new file mode 100644 index 000000000000..3431b73e3a38 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/FieldAssignment.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `FieldAssignment`. + */ + +private import internal.FieldAssignmentImpl +import codeql.xpp.elements.Ast +import codeql.xpp.elements.Expression + +final class FieldAssignment = Impl::FieldAssignment; diff --git a/xpp/ql/lib/codeql/xpp/elements/FieldDeclaration.qll b/xpp/ql/lib/codeql/xpp/elements/FieldDeclaration.qll new file mode 100644 index 000000000000..172a0c2a8356 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/FieldDeclaration.qll @@ -0,0 +1,11 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `FieldDeclaration`. + */ + +private import internal.FieldDeclarationImpl +import codeql.xpp.elements.AttributeList +import codeql.xpp.elements.Declaration +import codeql.xpp.elements.Expression + +final class FieldDeclaration = Impl::FieldDeclaration; diff --git a/xpp/ql/lib/codeql/xpp/elements/FieldExpression.qll b/xpp/ql/lib/codeql/xpp/elements/FieldExpression.qll new file mode 100644 index 000000000000..24f1fa8fa7a6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/FieldExpression.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `FieldExpression`. + */ + +private import internal.FieldExpressionImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.FieldSpecification + +final class FieldExpression = Impl::FieldExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/FieldSelection.qll b/xpp/ql/lib/codeql/xpp/elements/FieldSelection.qll new file mode 100644 index 000000000000..31e14b8f4929 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/FieldSelection.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `FieldSelection`. + */ + +private import internal.FieldSelectionImpl +import codeql.xpp.elements.SelectionField + +final class FieldSelection = Impl::FieldSelection; diff --git a/xpp/ql/lib/codeql/xpp/elements/FieldSpecification.qll b/xpp/ql/lib/codeql/xpp/elements/FieldSpecification.qll new file mode 100644 index 000000000000..d6c7e81b11b3 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/FieldSpecification.qll @@ -0,0 +1,11 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `FieldSpecification`. + */ + +private import internal.FieldSpecificationImpl +import codeql.xpp.elements.Ast +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Qualifier + +final class FieldSpecification = Impl::FieldSpecification; diff --git a/xpp/ql/lib/codeql/xpp/elements/File.qll b/xpp/ql/lib/codeql/xpp/elements/File.qll new file mode 100644 index 000000000000..df5d6904e80d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/File.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `File`. + */ + +private import internal.FileImpl +import codeql.xpp.elements.Element + +final class File = Impl::File; diff --git a/xpp/ql/lib/codeql/xpp/elements/FindStatement.qll b/xpp/ql/lib/codeql/xpp/elements/FindStatement.qll new file mode 100644 index 000000000000..697e01cf6076 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/FindStatement.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `FindStatement`. + */ + +private import internal.FindStatementImpl +import codeql.xpp.elements.Query +import codeql.xpp.elements.Statement + +final class FindStatement = Impl::FindStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/FlushStatement.qll b/xpp/ql/lib/codeql/xpp/elements/FlushStatement.qll new file mode 100644 index 000000000000..20ea67a9b1b7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/FlushStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `FlushStatement`. + */ + +private import internal.FlushStatementImpl +import codeql.xpp.elements.Statement + +final class FlushStatement = Impl::FlushStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/ForAssign.qll b/xpp/ql/lib/codeql/xpp/elements/ForAssign.qll new file mode 100644 index 000000000000..63c43af227fd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ForAssign.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ForAssign`. + */ + +private import internal.ForAssignImpl +import codeql.xpp.elements.Ast +import codeql.xpp.elements.FieldSpecification + +final class ForAssign = Impl::ForAssign; diff --git a/xpp/ql/lib/codeql/xpp/elements/ForDeclarationAssign.qll b/xpp/ql/lib/codeql/xpp/elements/ForDeclarationAssign.qll new file mode 100644 index 000000000000..1eb8a752de32 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ForDeclarationAssign.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ForDeclarationAssign`. + */ + +private import internal.ForDeclarationAssignImpl +import codeql.xpp.elements.ForAssign +import codeql.xpp.elements.VariableDeclaration + +final class ForDeclarationAssign = Impl::ForDeclarationAssign; diff --git a/xpp/ql/lib/codeql/xpp/elements/ForExpressionAssign.qll b/xpp/ql/lib/codeql/xpp/elements/ForExpressionAssign.qll new file mode 100644 index 000000000000..c10bbec2c8c7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ForExpressionAssign.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ForExpressionAssign`. + */ + +private import internal.ForExpressionAssignImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.ForAssign + +final class ForExpressionAssign = Impl::ForExpressionAssign; diff --git a/xpp/ql/lib/codeql/xpp/elements/ForFieldAssign.qll b/xpp/ql/lib/codeql/xpp/elements/ForFieldAssign.qll new file mode 100644 index 000000000000..5108c718dfac --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ForFieldAssign.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ForFieldAssign`. + */ + +private import internal.ForFieldAssignImpl +import codeql.xpp.elements.ForExpressionAssign + +final class ForFieldAssign = Impl::ForFieldAssign; diff --git a/xpp/ql/lib/codeql/xpp/elements/ForFieldDecrementAssign.qll b/xpp/ql/lib/codeql/xpp/elements/ForFieldDecrementAssign.qll new file mode 100644 index 000000000000..a81f9b15cd5e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ForFieldDecrementAssign.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ForFieldDecrementAssign`. + */ + +private import internal.ForFieldDecrementAssignImpl +import codeql.xpp.elements.ForExpressionAssign + +final class ForFieldDecrementAssign = Impl::ForFieldDecrementAssign; diff --git a/xpp/ql/lib/codeql/xpp/elements/ForFieldIncrementAssign.qll b/xpp/ql/lib/codeql/xpp/elements/ForFieldIncrementAssign.qll new file mode 100644 index 000000000000..04f2fb35c1c0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ForFieldIncrementAssign.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ForFieldIncrementAssign`. + */ + +private import internal.ForFieldIncrementAssignImpl +import codeql.xpp.elements.ForExpressionAssign + +final class ForFieldIncrementAssign = Impl::ForFieldIncrementAssign; diff --git a/xpp/ql/lib/codeql/xpp/elements/ForFieldPostDecrement.qll b/xpp/ql/lib/codeql/xpp/elements/ForFieldPostDecrement.qll new file mode 100644 index 000000000000..b106f451ea01 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ForFieldPostDecrement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ForFieldPostDecrement`. + */ + +private import internal.ForFieldPostDecrementImpl +import codeql.xpp.elements.ForAssign + +final class ForFieldPostDecrement = Impl::ForFieldPostDecrement; diff --git a/xpp/ql/lib/codeql/xpp/elements/ForFieldPostIncrement.qll b/xpp/ql/lib/codeql/xpp/elements/ForFieldPostIncrement.qll new file mode 100644 index 000000000000..9a1a2f7eeefa --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ForFieldPostIncrement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ForFieldPostIncrement`. + */ + +private import internal.ForFieldPostIncrementImpl +import codeql.xpp.elements.ForAssign + +final class ForFieldPostIncrement = Impl::ForFieldPostIncrement; diff --git a/xpp/ql/lib/codeql/xpp/elements/ForFieldPreDecrement.qll b/xpp/ql/lib/codeql/xpp/elements/ForFieldPreDecrement.qll new file mode 100644 index 000000000000..f64c3c33c666 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ForFieldPreDecrement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ForFieldPreDecrement`. + */ + +private import internal.ForFieldPreDecrementImpl +import codeql.xpp.elements.ForAssign + +final class ForFieldPreDecrement = Impl::ForFieldPreDecrement; diff --git a/xpp/ql/lib/codeql/xpp/elements/ForFieldPreIncrement.qll b/xpp/ql/lib/codeql/xpp/elements/ForFieldPreIncrement.qll new file mode 100644 index 000000000000..5d1988ddbb92 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ForFieldPreIncrement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ForFieldPreIncrement`. + */ + +private import internal.ForFieldPreIncrementImpl +import codeql.xpp.elements.ForAssign + +final class ForFieldPreIncrement = Impl::ForFieldPreIncrement; diff --git a/xpp/ql/lib/codeql/xpp/elements/ForStatement.qll b/xpp/ql/lib/codeql/xpp/elements/ForStatement.qll new file mode 100644 index 000000000000..018740bab935 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ForStatement.qll @@ -0,0 +1,11 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ForStatement`. + */ + +private import internal.ForStatementImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.ForAssign +import codeql.xpp.elements.Statement + +final class ForStatement = Impl::ForStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/FormControl.qll b/xpp/ql/lib/codeql/xpp/elements/FormControl.qll new file mode 100644 index 000000000000..a024567d0dee --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/FormControl.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `FormControl`. + */ + +private import internal.FormControlImpl +import codeql.xpp.elements.FormNestedElement + +final class FormControl = Impl::FormControl; diff --git a/xpp/ql/lib/codeql/xpp/elements/FormDataField.qll b/xpp/ql/lib/codeql/xpp/elements/FormDataField.qll new file mode 100644 index 000000000000..3695806e72e2 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/FormDataField.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `FormDataField`. + */ + +private import internal.FormDataFieldImpl +import codeql.xpp.elements.FormDataSource +import codeql.xpp.elements.FormNestedElement + +final class FormDataField = Impl::FormDataField; diff --git a/xpp/ql/lib/codeql/xpp/elements/FormDataSource.qll b/xpp/ql/lib/codeql/xpp/elements/FormDataSource.qll new file mode 100644 index 000000000000..60f10675e52f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/FormDataSource.qll @@ -0,0 +1,11 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `FormDataSource`. + */ + +private import internal.FormDataSourceImpl +import codeql.xpp.elements.FormDataField +import codeql.xpp.elements.FormNestedElement +import codeql.xpp.elements.QueryModelElement + +final class FormDataSource = Impl::FormDataSource; diff --git a/xpp/ql/lib/codeql/xpp/elements/FormElementType.qll b/xpp/ql/lib/codeql/xpp/elements/FormElementType.qll new file mode 100644 index 000000000000..0f09fdcad2c2 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/FormElementType.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `FormElementType`. + */ + +private import internal.FormElementTypeImpl +import codeql.xpp.elements.NamedType + +final class FormElementType = Impl::FormElementType; diff --git a/xpp/ql/lib/codeql/xpp/elements/FormModelElement.qll b/xpp/ql/lib/codeql/xpp/elements/FormModelElement.qll new file mode 100644 index 000000000000..33ac5eabae4d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/FormModelElement.qll @@ -0,0 +1,12 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `FormModelElement`. + */ + +private import internal.FormModelElementImpl +import codeql.xpp.elements.Class +import codeql.xpp.elements.FormControl +import codeql.xpp.elements.FormDataSource +import codeql.xpp.elements.ModelElement + +final class FormModelElement = Impl::FormModelElement; diff --git a/xpp/ql/lib/codeql/xpp/elements/FormNestedElement.qll b/xpp/ql/lib/codeql/xpp/elements/FormNestedElement.qll new file mode 100644 index 000000000000..924479cbac8e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/FormNestedElement.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `FormNestedElement`. + */ + +private import internal.FormNestedElementImpl +import codeql.xpp.elements.FormModelElement +import codeql.xpp.elements.ModelElement + +final class FormNestedElement = Impl::FormNestedElement; diff --git a/xpp/ql/lib/codeql/xpp/elements/FunctionCall.qll b/xpp/ql/lib/codeql/xpp/elements/FunctionCall.qll new file mode 100644 index 000000000000..2fbb999b8baa --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/FunctionCall.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `FunctionCall`. + */ + +private import internal.FunctionCallImpl +import codeql.xpp.elements.GenericEvaluation + +final class FunctionCall = Impl::FunctionCall; diff --git a/xpp/ql/lib/codeql/xpp/elements/FunctionDeclaration.qll b/xpp/ql/lib/codeql/xpp/elements/FunctionDeclaration.qll new file mode 100644 index 000000000000..5ad20167d36e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/FunctionDeclaration.qll @@ -0,0 +1,11 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `FunctionDeclaration`. + */ + +private import internal.FunctionDeclarationImpl +import codeql.xpp.elements.LocalDeclaration +import codeql.xpp.elements.ParameterDeclaration +import codeql.xpp.elements.Statement + +final class FunctionDeclaration = Impl::FunctionDeclaration; diff --git a/xpp/ql/lib/codeql/xpp/elements/GenericEvaluation.qll b/xpp/ql/lib/codeql/xpp/elements/GenericEvaluation.qll new file mode 100644 index 000000000000..d64ed2df7d1e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/GenericEvaluation.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `GenericEvaluation`. + */ + +private import internal.GenericEvaluationImpl +import codeql.xpp.elements.Evaluation +import codeql.xpp.elements.XppType + +final class GenericEvaluation = Impl::GenericEvaluation; diff --git a/xpp/ql/lib/codeql/xpp/elements/GenericXppType.qll b/xpp/ql/lib/codeql/xpp/elements/GenericXppType.qll new file mode 100644 index 000000000000..1d7694721452 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/GenericXppType.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `GenericXppType`. + */ + +private import internal.GenericXppTypeImpl +import codeql.xpp.elements.XppType + +final class GenericXppType = Impl::GenericXppType; diff --git a/xpp/ql/lib/codeql/xpp/elements/GlobalOrderElement.qll b/xpp/ql/lib/codeql/xpp/elements/GlobalOrderElement.qll new file mode 100644 index 000000000000..d15f66a0dd3c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/GlobalOrderElement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `GlobalOrderElement`. + */ + +private import internal.GlobalOrderElementImpl +import codeql.xpp.elements.OrderElement + +final class GlobalOrderElement = Impl::GlobalOrderElement; diff --git a/xpp/ql/lib/codeql/xpp/elements/GreaterThanExpression.qll b/xpp/ql/lib/codeql/xpp/elements/GreaterThanExpression.qll new file mode 100644 index 000000000000..29eedc668645 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/GreaterThanExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `GreaterThanExpression`. + */ + +private import internal.GreaterThanExpressionImpl +import codeql.xpp.elements.RelationalExpression + +final class GreaterThanExpression = Impl::GreaterThanExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/GreaterThanOrEqualExpression.qll b/xpp/ql/lib/codeql/xpp/elements/GreaterThanOrEqualExpression.qll new file mode 100644 index 000000000000..d4da1d435c2e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/GreaterThanOrEqualExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `GreaterThanOrEqualExpression`. + */ + +private import internal.GreaterThanOrEqualExpressionImpl +import codeql.xpp.elements.RelationalExpression + +final class GreaterThanOrEqualExpression = Impl::GreaterThanOrEqualExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/GuidAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/GuidAttributeLiteral.qll new file mode 100644 index 000000000000..58c6161e0a36 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/GuidAttributeLiteral.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `GuidAttributeLiteral`. + */ + +private import internal.GuidAttributeLiteralImpl +import codeql.xpp.elements.DefaultTypeAttributeLiteral + +final class GuidAttributeLiteral = Impl::GuidAttributeLiteral; diff --git a/xpp/ql/lib/codeql/xpp/elements/GuidType.qll b/xpp/ql/lib/codeql/xpp/elements/GuidType.qll new file mode 100644 index 000000000000..da19c79fe4aa --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/GuidType.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `GuidType`. + */ + +private import internal.GuidTypeImpl +import codeql.xpp.elements.XppType + +final class GuidType = Impl::GuidType; diff --git a/xpp/ql/lib/codeql/xpp/elements/IfStatement.qll b/xpp/ql/lib/codeql/xpp/elements/IfStatement.qll new file mode 100644 index 000000000000..9b754d003cba --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/IfStatement.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `IfStatement`. + */ + +private import internal.IfStatementImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Statement + +final class IfStatement = Impl::IfStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/IfThenElseStatement.qll b/xpp/ql/lib/codeql/xpp/elements/IfThenElseStatement.qll new file mode 100644 index 000000000000..ab5d0df3bfdd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/IfThenElseStatement.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `IfThenElseStatement`. + */ + +private import internal.IfThenElseStatementImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Statement + +final class IfThenElseStatement = Impl::IfThenElseStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/ImplicitSelection.qll b/xpp/ql/lib/codeql/xpp/elements/ImplicitSelection.qll new file mode 100644 index 000000000000..edc0754406a9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ImplicitSelection.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ImplicitSelection`. + */ + +private import internal.ImplicitSelectionImpl +import codeql.xpp.elements.Selection + +final class ImplicitSelection = Impl::ImplicitSelection; diff --git a/xpp/ql/lib/codeql/xpp/elements/InExpression.qll b/xpp/ql/lib/codeql/xpp/elements/InExpression.qll new file mode 100644 index 000000000000..6e2a7f4bc76c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/InExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `InExpression`. + */ + +private import internal.InExpressionImpl +import codeql.xpp.elements.BinaryExpression + +final class InExpression = Impl::InExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/InsertFieldSpecification.qll b/xpp/ql/lib/codeql/xpp/elements/InsertFieldSpecification.qll new file mode 100644 index 000000000000..29d36bd4e1e0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/InsertFieldSpecification.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `InsertFieldSpecification`. + */ + +private import internal.InsertFieldSpecificationImpl +import codeql.xpp.elements.Ast + +final class InsertFieldSpecification = Impl::InsertFieldSpecification; diff --git a/xpp/ql/lib/codeql/xpp/elements/InsertStatement.qll b/xpp/ql/lib/codeql/xpp/elements/InsertStatement.qll new file mode 100644 index 000000000000..9e686d4d28e6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/InsertStatement.qll @@ -0,0 +1,12 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `InsertStatement`. + */ + +private import internal.InsertStatementImpl +import codeql.xpp.elements.CrossCompany +import codeql.xpp.elements.InsertFieldSpecification +import codeql.xpp.elements.Query +import codeql.xpp.elements.Statement + +final class InsertStatement = Impl::InsertStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/InstanceName.qll b/xpp/ql/lib/codeql/xpp/elements/InstanceName.qll new file mode 100644 index 000000000000..fcf166640898 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/InstanceName.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `InstanceName`. + */ + +private import internal.InstanceNameImpl +import codeql.xpp.elements.Ast + +final class InstanceName = Impl::InstanceName; diff --git a/xpp/ql/lib/codeql/xpp/elements/Int64AttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/Int64AttributeLiteral.qll new file mode 100644 index 000000000000..f5da4c93e300 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Int64AttributeLiteral.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Int64AttributeLiteral`. + */ + +private import internal.Int64AttributeLiteralImpl +import codeql.xpp.elements.DefaultTypeAttributeLiteral + +final class Int64AttributeLiteral = Impl::Int64AttributeLiteral; diff --git a/xpp/ql/lib/codeql/xpp/elements/Int64LiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/Int64LiteralExpression.qll new file mode 100644 index 000000000000..5e00fdbdaf60 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Int64LiteralExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Int64LiteralExpression`. + */ + +private import internal.Int64LiteralExpressionImpl +import codeql.xpp.elements.DefaultTypeLiteralExpression + +final class Int64LiteralExpression = Impl::Int64LiteralExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/Int64Type.qll b/xpp/ql/lib/codeql/xpp/elements/Int64Type.qll new file mode 100644 index 000000000000..074b670e8ba1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Int64Type.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Int64Type`. + */ + +private import internal.Int64TypeImpl +import codeql.xpp.elements.XppType + +final class Int64Type = Impl::Int64Type; diff --git a/xpp/ql/lib/codeql/xpp/elements/IntAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/IntAttributeLiteral.qll new file mode 100644 index 000000000000..e9581f59d731 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/IntAttributeLiteral.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `IntAttributeLiteral`. + */ + +private import internal.IntAttributeLiteralImpl +import codeql.xpp.elements.DefaultTypeAttributeLiteral + +final class IntAttributeLiteral = Impl::IntAttributeLiteral; diff --git a/xpp/ql/lib/codeql/xpp/elements/IntLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/IntLiteralExpression.qll new file mode 100644 index 000000000000..5903ef1bbcde --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/IntLiteralExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `IntLiteralExpression`. + */ + +private import internal.IntLiteralExpressionImpl +import codeql.xpp.elements.DefaultTypeLiteralExpression + +final class IntLiteralExpression = Impl::IntLiteralExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/IntType.qll b/xpp/ql/lib/codeql/xpp/elements/IntType.qll new file mode 100644 index 000000000000..e85a3a69b0f4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/IntType.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `IntType`. + */ + +private import internal.IntTypeImpl +import codeql.xpp.elements.XppType + +final class IntType = Impl::IntType; diff --git a/xpp/ql/lib/codeql/xpp/elements/IntegerDivideExpression.qll b/xpp/ql/lib/codeql/xpp/elements/IntegerDivideExpression.qll new file mode 100644 index 000000000000..95a26fdf14d6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/IntegerDivideExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `IntegerDivideExpression`. + */ + +private import internal.IntegerDivideExpressionImpl +import codeql.xpp.elements.BinaryExpression + +final class IntegerDivideExpression = Impl::IntegerDivideExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/Interface.qll b/xpp/ql/lib/codeql/xpp/elements/Interface.qll new file mode 100644 index 000000000000..ffd461886fce --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Interface.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Interface`. + */ + +private import internal.InterfaceImpl +import codeql.xpp.elements.ClassOrInterface + +final class Interface = Impl::Interface; diff --git a/xpp/ql/lib/codeql/xpp/elements/Intrinsic.qll b/xpp/ql/lib/codeql/xpp/elements/Intrinsic.qll new file mode 100644 index 000000000000..1513a191b2e0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Intrinsic.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Intrinsic`. + */ + +private import internal.IntrinsicImpl +import codeql.xpp.elements.Expression + +final class Intrinsic = Impl::Intrinsic; diff --git a/xpp/ql/lib/codeql/xpp/elements/IntrinsicAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/IntrinsicAttributeLiteral.qll new file mode 100644 index 000000000000..5b36f02ff889 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/IntrinsicAttributeLiteral.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `IntrinsicAttributeLiteral`. + */ + +private import internal.IntrinsicAttributeLiteralImpl +import codeql.xpp.elements.AttributeLiteral + +final class IntrinsicAttributeLiteral = Impl::IntrinsicAttributeLiteral; diff --git a/xpp/ql/lib/codeql/xpp/elements/IsAsExpression.qll b/xpp/ql/lib/codeql/xpp/elements/IsAsExpression.qll new file mode 100644 index 000000000000..0dc7a7f6a0e4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/IsAsExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `IsAsExpression`. + */ + +private import internal.IsAsExpressionImpl +import codeql.xpp.elements.Expression + +final class IsAsExpression = Impl::IsAsExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/IsClrExpression.qll b/xpp/ql/lib/codeql/xpp/elements/IsClrExpression.qll new file mode 100644 index 000000000000..4d7da7df3f61 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/IsClrExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `IsClrExpression`. + */ + +private import internal.IsClrExpressionImpl +import codeql.xpp.elements.IsAsExpression + +final class IsClrExpression = Impl::IsClrExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/IsExpression.qll b/xpp/ql/lib/codeql/xpp/elements/IsExpression.qll new file mode 100644 index 000000000000..23435dd3b2ea --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/IsExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `IsExpression`. + */ + +private import internal.IsExpressionImpl +import codeql.xpp.elements.IsAsExpression + +final class IsExpression = Impl::IsExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/JoinSpecification.qll b/xpp/ql/lib/codeql/xpp/elements/JoinSpecification.qll new file mode 100644 index 000000000000..ca8a70384f49 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/JoinSpecification.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `JoinSpecification`. + */ + +private import internal.JoinSpecificationImpl +import codeql.xpp.elements.Ast +import codeql.xpp.elements.Query + +final class JoinSpecification = Impl::JoinSpecification; diff --git a/xpp/ql/lib/codeql/xpp/elements/LessThanExpression.qll b/xpp/ql/lib/codeql/xpp/elements/LessThanExpression.qll new file mode 100644 index 000000000000..5c344ef7d009 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/LessThanExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `LessThanExpression`. + */ + +private import internal.LessThanExpressionImpl +import codeql.xpp.elements.RelationalExpression + +final class LessThanExpression = Impl::LessThanExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/LessThanOrEqualExpression.qll b/xpp/ql/lib/codeql/xpp/elements/LessThanOrEqualExpression.qll new file mode 100644 index 000000000000..f71cb778556e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/LessThanOrEqualExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `LessThanOrEqualExpression`. + */ + +private import internal.LessThanOrEqualExpressionImpl +import codeql.xpp.elements.RelationalExpression + +final class LessThanOrEqualExpression = Impl::LessThanOrEqualExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/LikeExpression.qll b/xpp/ql/lib/codeql/xpp/elements/LikeExpression.qll new file mode 100644 index 000000000000..d9666b11adc8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/LikeExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `LikeExpression`. + */ + +private import internal.LikeExpressionImpl +import codeql.xpp.elements.RelationalExpression + +final class LikeExpression = Impl::LikeExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/LiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/LiteralExpression.qll new file mode 100644 index 000000000000..8cf1151efe90 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/LiteralExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `LiteralExpression`. + */ + +private import internal.LiteralExpressionImpl +import codeql.xpp.elements.Expression + +final class LiteralExpression = Impl::LiteralExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/LocalDeclaration.qll b/xpp/ql/lib/codeql/xpp/elements/LocalDeclaration.qll new file mode 100644 index 000000000000..9aeff1bf4fa7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/LocalDeclaration.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `LocalDeclaration`. + */ + +private import internal.LocalDeclarationImpl +import codeql.xpp.elements.Declaration + +final class LocalDeclaration = Impl::LocalDeclaration; diff --git a/xpp/ql/lib/codeql/xpp/elements/LocalDeclarationsStatement.qll b/xpp/ql/lib/codeql/xpp/elements/LocalDeclarationsStatement.qll new file mode 100644 index 000000000000..e38864eaecdc --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/LocalDeclarationsStatement.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `LocalDeclarationsStatement`. + */ + +private import internal.LocalDeclarationsStatementImpl +import codeql.xpp.elements.LocalDeclaration +import codeql.xpp.elements.Statement + +final class LocalDeclarationsStatement = Impl::LocalDeclarationsStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/Locatable.qll b/xpp/ql/lib/codeql/xpp/elements/Locatable.qll new file mode 100644 index 000000000000..d575dbb745fc --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Locatable.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Locatable`. + */ + +private import internal.LocatableImpl +import codeql.xpp.elements.Element +import codeql.xpp.elements.Location + +final class Locatable = Impl::Locatable; diff --git a/xpp/ql/lib/codeql/xpp/elements/Location.qll b/xpp/ql/lib/codeql/xpp/elements/Location.qll new file mode 100644 index 000000000000..9acb4f1fa353 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Location.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Location`. + */ + +private import internal.LocationImpl +import codeql.xpp.elements.Element +import codeql.xpp.elements.File + +final class Location = Impl::Location; diff --git a/xpp/ql/lib/codeql/xpp/elements/MaxAggregateSelection.qll b/xpp/ql/lib/codeql/xpp/elements/MaxAggregateSelection.qll new file mode 100644 index 000000000000..1c2866568d81 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/MaxAggregateSelection.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `MaxAggregateSelection`. + */ + +private import internal.MaxAggregateSelectionImpl +import codeql.xpp.elements.AggregateSelection + +final class MaxAggregateSelection = Impl::MaxAggregateSelection; diff --git a/xpp/ql/lib/codeql/xpp/elements/Method.qll b/xpp/ql/lib/codeql/xpp/elements/Method.qll new file mode 100644 index 000000000000..f675c72068ca --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Method.qll @@ -0,0 +1,11 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Method`. + */ + +private import internal.MethodImpl +import codeql.xpp.elements.LocalDeclaration +import codeql.xpp.elements.MethodOrDelegate +import codeql.xpp.elements.Statement + +final class Method = Impl::Method; diff --git a/xpp/ql/lib/codeql/xpp/elements/MethodOrDelegate.qll b/xpp/ql/lib/codeql/xpp/elements/MethodOrDelegate.qll new file mode 100644 index 000000000000..c6e219df2558 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/MethodOrDelegate.qll @@ -0,0 +1,13 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `MethodOrDelegate`. + */ + +private import internal.MethodOrDelegateImpl +import codeql.xpp.elements.AttributeList +import codeql.xpp.elements.CompilationUnit +import codeql.xpp.elements.Modifier +import codeql.xpp.elements.ParameterDeclaration +import codeql.xpp.elements.XppType + +final class MethodOrDelegate = Impl::MethodOrDelegate; diff --git a/xpp/ql/lib/codeql/xpp/elements/MinAggregateSelection.qll b/xpp/ql/lib/codeql/xpp/elements/MinAggregateSelection.qll new file mode 100644 index 000000000000..561fed0e988a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/MinAggregateSelection.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `MinAggregateSelection`. + */ + +private import internal.MinAggregateSelectionImpl +import codeql.xpp.elements.AggregateSelection + +final class MinAggregateSelection = Impl::MinAggregateSelection; diff --git a/xpp/ql/lib/codeql/xpp/elements/ModExpression.qll b/xpp/ql/lib/codeql/xpp/elements/ModExpression.qll new file mode 100644 index 000000000000..dfc4c074a19c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ModExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ModExpression`. + */ + +private import internal.ModExpressionImpl +import codeql.xpp.elements.BinaryExpression + +final class ModExpression = Impl::ModExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/ModelElement.qll b/xpp/ql/lib/codeql/xpp/elements/ModelElement.qll new file mode 100644 index 000000000000..1ba12e1eaec4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ModelElement.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ModelElement`. + */ + +private import internal.ModelElementImpl +import codeql.xpp.elements.ClassAccessModifier +import codeql.xpp.elements.ClassOrInterface +import codeql.xpp.elements.CompilationUnit +import codeql.xpp.elements.MethodOrDelegate +import codeql.xpp.elements.ModelElementUsingEntry +import codeql.xpp.elements.XppType + +final class ModelElement = Impl::ModelElement; diff --git a/xpp/ql/lib/codeql/xpp/elements/ModelElementUsingEntry.qll b/xpp/ql/lib/codeql/xpp/elements/ModelElementUsingEntry.qll new file mode 100644 index 000000000000..538438ded07a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ModelElementUsingEntry.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ModelElementUsingEntry`. + */ + +private import internal.ModelElementUsingEntryImpl +import codeql.xpp.elements.XppTuple + +final class ModelElementUsingEntry = Impl::ModelElementUsingEntry; diff --git a/xpp/ql/lib/codeql/xpp/elements/Modifier.qll b/xpp/ql/lib/codeql/xpp/elements/Modifier.qll new file mode 100644 index 000000000000..abd07c17931b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Modifier.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Modifier`. + */ + +private import internal.ModifierImpl +import codeql.xpp.elements.Ast + +final class Modifier = Impl::Modifier; diff --git a/xpp/ql/lib/codeql/xpp/elements/MoveCursorStatement.qll b/xpp/ql/lib/codeql/xpp/elements/MoveCursorStatement.qll new file mode 100644 index 000000000000..c158ab4be2fa --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/MoveCursorStatement.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `MoveCursorStatement`. + */ + +private import internal.MoveCursorStatementImpl +import codeql.xpp.elements.Selection +import codeql.xpp.elements.Statement + +final class MoveCursorStatement = Impl::MoveCursorStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/MultiplyExpression.qll b/xpp/ql/lib/codeql/xpp/elements/MultiplyExpression.qll new file mode 100644 index 000000000000..d2fd9af5e2af --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/MultiplyExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `MultiplyExpression`. + */ + +private import internal.MultiplyExpressionImpl +import codeql.xpp.elements.BinaryExpression + +final class MultiplyExpression = Impl::MultiplyExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/NamedFieldReference.qll b/xpp/ql/lib/codeql/xpp/elements/NamedFieldReference.qll new file mode 100644 index 000000000000..556539b176e5 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/NamedFieldReference.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `NamedFieldReference`. + */ + +private import internal.NamedFieldReferenceImpl +import codeql.xpp.elements.TableFieldReference + +final class NamedFieldReference = Impl::NamedFieldReference; diff --git a/xpp/ql/lib/codeql/xpp/elements/NamedType.qll b/xpp/ql/lib/codeql/xpp/elements/NamedType.qll new file mode 100644 index 000000000000..cd19e8155091 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/NamedType.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `NamedType`. + */ + +private import internal.NamedTypeImpl +import codeql.xpp.elements.GenericXppType + +final class NamedType = Impl::NamedType; diff --git a/xpp/ql/lib/codeql/xpp/elements/NewCall.qll b/xpp/ql/lib/codeql/xpp/elements/NewCall.qll new file mode 100644 index 000000000000..783dfa7afa81 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/NewCall.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `NewCall`. + */ + +private import internal.NewCallImpl +import codeql.xpp.elements.Evaluation +import codeql.xpp.elements.XppType + +final class NewCall = Impl::NewCall; diff --git a/xpp/ql/lib/codeql/xpp/elements/NewClrArrayExpression.qll b/xpp/ql/lib/codeql/xpp/elements/NewClrArrayExpression.qll new file mode 100644 index 000000000000..545f7eb8304b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/NewClrArrayExpression.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `NewClrArrayExpression`. + */ + +private import internal.NewClrArrayExpressionImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.XppType + +final class NewClrArrayExpression = Impl::NewClrArrayExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/NewClrCall.qll b/xpp/ql/lib/codeql/xpp/elements/NewClrCall.qll new file mode 100644 index 000000000000..e3bb24b5026c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/NewClrCall.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `NewClrCall`. + */ + +private import internal.NewClrCallImpl +import codeql.xpp.elements.GenericEvaluation + +final class NewClrCall = Impl::NewClrCall; diff --git a/xpp/ql/lib/codeql/xpp/elements/NextExpression.qll b/xpp/ql/lib/codeql/xpp/elements/NextExpression.qll new file mode 100644 index 000000000000..35b1fbb43351 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/NextExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `NextExpression`. + */ + +private import internal.NextExpressionImpl +import codeql.xpp.elements.Evaluation + +final class NextExpression = Impl::NextExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/NotEqualExpression.qll b/xpp/ql/lib/codeql/xpp/elements/NotEqualExpression.qll new file mode 100644 index 000000000000..97fe5f09dfbd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/NotEqualExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `NotEqualExpression`. + */ + +private import internal.NotEqualExpressionImpl +import codeql.xpp.elements.RelationalExpression + +final class NotEqualExpression = Impl::NotEqualExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/NotExpression.qll b/xpp/ql/lib/codeql/xpp/elements/NotExpression.qll new file mode 100644 index 000000000000..887bee147f57 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/NotExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `NotExpression`. + */ + +private import internal.NotExpressionImpl +import codeql.xpp.elements.UnaryExpression + +final class NotExpression = Impl::NotExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/NullLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/NullLiteralExpression.qll new file mode 100644 index 000000000000..7c73a52ced40 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/NullLiteralExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `NullLiteralExpression`. + */ + +private import internal.NullLiteralExpressionImpl +import codeql.xpp.elements.LiteralExpression + +final class NullLiteralExpression = Impl::NullLiteralExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/NumberedFieldReference.qll b/xpp/ql/lib/codeql/xpp/elements/NumberedFieldReference.qll new file mode 100644 index 000000000000..927a1e138381 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/NumberedFieldReference.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `NumberedFieldReference`. + */ + +private import internal.NumberedFieldReferenceImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.TableFieldReference + +final class NumberedFieldReference = Impl::NumberedFieldReference; diff --git a/xpp/ql/lib/codeql/xpp/elements/OrExpression.qll b/xpp/ql/lib/codeql/xpp/elements/OrExpression.qll new file mode 100644 index 000000000000..980267da9ac6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/OrExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `OrExpression`. + */ + +private import internal.OrExpressionImpl +import codeql.xpp.elements.BinaryExpression + +final class OrExpression = Impl::OrExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/OrderElement.qll b/xpp/ql/lib/codeql/xpp/elements/OrderElement.qll new file mode 100644 index 000000000000..5e08afbd02ec --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/OrderElement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `OrderElement`. + */ + +private import internal.OrderElementImpl +import codeql.xpp.elements.Ast + +final class OrderElement = Impl::OrderElement; diff --git a/xpp/ql/lib/codeql/xpp/elements/ParameterDeclaration.qll b/xpp/ql/lib/codeql/xpp/elements/ParameterDeclaration.qll new file mode 100644 index 000000000000..64f0658a1b19 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ParameterDeclaration.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ParameterDeclaration`. + */ + +private import internal.ParameterDeclarationImpl +import codeql.xpp.elements.VariableDeclaration + +final class ParameterDeclaration = Impl::ParameterDeclaration; diff --git a/xpp/ql/lib/codeql/xpp/elements/PhysicalAndExpression.qll b/xpp/ql/lib/codeql/xpp/elements/PhysicalAndExpression.qll new file mode 100644 index 000000000000..53a6e1798862 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/PhysicalAndExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `PhysicalAndExpression`. + */ + +private import internal.PhysicalAndExpressionImpl +import codeql.xpp.elements.BinaryExpression + +final class PhysicalAndExpression = Impl::PhysicalAndExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/PhysicalNotExpression.qll b/xpp/ql/lib/codeql/xpp/elements/PhysicalNotExpression.qll new file mode 100644 index 000000000000..9e82fef0d4f1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/PhysicalNotExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `PhysicalNotExpression`. + */ + +private import internal.PhysicalNotExpressionImpl +import codeql.xpp.elements.UnaryExpression + +final class PhysicalNotExpression = Impl::PhysicalNotExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/PhysicalOrExpression.qll b/xpp/ql/lib/codeql/xpp/elements/PhysicalOrExpression.qll new file mode 100644 index 000000000000..c1b63e0e24c8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/PhysicalOrExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `PhysicalOrExpression`. + */ + +private import internal.PhysicalOrExpressionImpl +import codeql.xpp.elements.BinaryExpression + +final class PhysicalOrExpression = Impl::PhysicalOrExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/PhysicalXorExpression.qll b/xpp/ql/lib/codeql/xpp/elements/PhysicalXorExpression.qll new file mode 100644 index 000000000000..ff26d145eb76 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/PhysicalXorExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `PhysicalXorExpression`. + */ + +private import internal.PhysicalXorExpressionImpl +import codeql.xpp.elements.BinaryExpression + +final class PhysicalXorExpression = Impl::PhysicalXorExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/Placeholder.qll b/xpp/ql/lib/codeql/xpp/elements/Placeholder.qll new file mode 100644 index 000000000000..48109beeb2bc --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Placeholder.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Placeholder`. + */ + +private import internal.PlaceholderImpl +import codeql.xpp.elements.Expression + +final class Placeholder = Impl::Placeholder; diff --git a/xpp/ql/lib/codeql/xpp/elements/PrintStatement.qll b/xpp/ql/lib/codeql/xpp/elements/PrintStatement.qll new file mode 100644 index 000000000000..24b310fdc92f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/PrintStatement.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `PrintStatement`. + */ + +private import internal.PrintStatementImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Statement + +final class PrintStatement = Impl::PrintStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/ProvidedType.qll b/xpp/ql/lib/codeql/xpp/elements/ProvidedType.qll new file mode 100644 index 000000000000..02ec433a44d7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ProvidedType.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ProvidedType`. + */ + +private import internal.ProvidedTypeImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.XppType + +final class ProvidedType = Impl::ProvidedType; diff --git a/xpp/ql/lib/codeql/xpp/elements/ProvidedTypeStaticCall.qll b/xpp/ql/lib/codeql/xpp/elements/ProvidedTypeStaticCall.qll new file mode 100644 index 000000000000..7c3eff1fa2e5 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ProvidedTypeStaticCall.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ProvidedTypeStaticCall`. + */ + +private import internal.ProvidedTypeStaticCallImpl +import codeql.xpp.elements.Evaluation +import codeql.xpp.elements.ProvidedType + +final class ProvidedTypeStaticCall = Impl::ProvidedTypeStaticCall; diff --git a/xpp/ql/lib/codeql/xpp/elements/QualifiedCall.qll b/xpp/ql/lib/codeql/xpp/elements/QualifiedCall.qll new file mode 100644 index 000000000000..ae2fc66b8d32 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/QualifiedCall.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `QualifiedCall`. + */ + +private import internal.QualifiedCallImpl +import codeql.xpp.elements.GenericEvaluation +import codeql.xpp.elements.Qualifier + +final class QualifiedCall = Impl::QualifiedCall; diff --git a/xpp/ql/lib/codeql/xpp/elements/QualifiedField.qll b/xpp/ql/lib/codeql/xpp/elements/QualifiedField.qll new file mode 100644 index 000000000000..5ea1f9e8b160 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/QualifiedField.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `QualifiedField`. + */ + +private import internal.QualifiedFieldImpl +import codeql.xpp.elements.FieldSpecification + +final class QualifiedField = Impl::QualifiedField; diff --git a/xpp/ql/lib/codeql/xpp/elements/QualifiedInstanceName.qll b/xpp/ql/lib/codeql/xpp/elements/QualifiedInstanceName.qll new file mode 100644 index 000000000000..99821b839a29 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/QualifiedInstanceName.qll @@ -0,0 +1,11 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `QualifiedInstanceName`. + */ + +private import internal.QualifiedInstanceNameImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.InstanceName +import codeql.xpp.elements.Qualifier + +final class QualifiedInstanceName = Impl::QualifiedInstanceName; diff --git a/xpp/ql/lib/codeql/xpp/elements/QualifiedNumberedField.qll b/xpp/ql/lib/codeql/xpp/elements/QualifiedNumberedField.qll new file mode 100644 index 000000000000..767ca6c479b8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/QualifiedNumberedField.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `QualifiedNumberedField`. + */ + +private import internal.QualifiedNumberedFieldImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.FieldSpecification + +final class QualifiedNumberedField = Impl::QualifiedNumberedField; diff --git a/xpp/ql/lib/codeql/xpp/elements/QualifiedStaticCall.qll b/xpp/ql/lib/codeql/xpp/elements/QualifiedStaticCall.qll new file mode 100644 index 000000000000..c7a985b46217 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/QualifiedStaticCall.qll @@ -0,0 +1,11 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `QualifiedStaticCall`. + */ + +private import internal.QualifiedStaticCallImpl +import codeql.xpp.elements.GenericEvaluation +import codeql.xpp.elements.Qualifier +import codeql.xpp.elements.XppType + +final class QualifiedStaticCall = Impl::QualifiedStaticCall; diff --git a/xpp/ql/lib/codeql/xpp/elements/QualifiedStaticField.qll b/xpp/ql/lib/codeql/xpp/elements/QualifiedStaticField.qll new file mode 100644 index 000000000000..ffa4df8258be --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/QualifiedStaticField.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `QualifiedStaticField`. + */ + +private import internal.QualifiedStaticFieldImpl +import codeql.xpp.elements.FieldSpecification + +final class QualifiedStaticField = Impl::QualifiedStaticField; diff --git a/xpp/ql/lib/codeql/xpp/elements/QualifiedStaticFieldExpression.qll b/xpp/ql/lib/codeql/xpp/elements/QualifiedStaticFieldExpression.qll new file mode 100644 index 000000000000..cc57c7f7c16a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/QualifiedStaticFieldExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `QualifiedStaticFieldExpression`. + */ + +private import internal.QualifiedStaticFieldExpressionImpl +import codeql.xpp.elements.FieldExpression + +final class QualifiedStaticFieldExpression = Impl::QualifiedStaticFieldExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/Qualifier.qll b/xpp/ql/lib/codeql/xpp/elements/Qualifier.qll new file mode 100644 index 000000000000..1395c6f4a6bc --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Qualifier.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Qualifier`. + */ + +private import internal.QualifierImpl +import codeql.xpp.elements.Ast + +final class Qualifier = Impl::Qualifier; diff --git a/xpp/ql/lib/codeql/xpp/elements/Query.qll b/xpp/ql/lib/codeql/xpp/elements/Query.qll new file mode 100644 index 000000000000..1c74f3ef8ef2 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Query.qll @@ -0,0 +1,15 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Query`. + */ + +private import internal.QueryImpl +import codeql.xpp.elements.Ast +import codeql.xpp.elements.CrossCompany +import codeql.xpp.elements.Expression +import codeql.xpp.elements.JoinSpecification +import codeql.xpp.elements.OrderElement +import codeql.xpp.elements.Selection +import codeql.xpp.elements.ValidTimeState + +final class Query = Impl::Query; diff --git a/xpp/ql/lib/codeql/xpp/elements/QueryDataSource.qll b/xpp/ql/lib/codeql/xpp/elements/QueryDataSource.qll new file mode 100644 index 000000000000..925c5cc0af87 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/QueryDataSource.qll @@ -0,0 +1,13 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `QueryDataSource`. + */ + +private import internal.QueryDataSourceImpl +import codeql.xpp.elements.Ast +import codeql.xpp.elements.GlobalOrderElement +import codeql.xpp.elements.QueryDataSourceHaving +import codeql.xpp.elements.QueryDataSourceRange +import codeql.xpp.elements.QueryDataSourceRelation + +final class QueryDataSource = Impl::QueryDataSource; diff --git a/xpp/ql/lib/codeql/xpp/elements/QueryDataSourceHaving.qll b/xpp/ql/lib/codeql/xpp/elements/QueryDataSourceHaving.qll new file mode 100644 index 000000000000..5b812d8e5364 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/QueryDataSourceHaving.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `QueryDataSourceHaving`. + */ + +private import internal.QueryDataSourceHavingImpl +import codeql.xpp.elements.Ast +import codeql.xpp.elements.SelectionField + +final class QueryDataSourceHaving = Impl::QueryDataSourceHaving; diff --git a/xpp/ql/lib/codeql/xpp/elements/QueryDataSourceRange.qll b/xpp/ql/lib/codeql/xpp/elements/QueryDataSourceRange.qll new file mode 100644 index 000000000000..4574b8f2718b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/QueryDataSourceRange.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `QueryDataSourceRange`. + */ + +private import internal.QueryDataSourceRangeImpl +import codeql.xpp.elements.Ast + +final class QueryDataSourceRange = Impl::QueryDataSourceRange; diff --git a/xpp/ql/lib/codeql/xpp/elements/QueryDataSourceRelation.qll b/xpp/ql/lib/codeql/xpp/elements/QueryDataSourceRelation.qll new file mode 100644 index 000000000000..dd7960f3ca35 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/QueryDataSourceRelation.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `QueryDataSourceRelation`. + */ + +private import internal.QueryDataSourceRelationImpl +import codeql.xpp.elements.Ast + +final class QueryDataSourceRelation = Impl::QueryDataSourceRelation; diff --git a/xpp/ql/lib/codeql/xpp/elements/QueryModelElement.qll b/xpp/ql/lib/codeql/xpp/elements/QueryModelElement.qll new file mode 100644 index 000000000000..7cf1f0e2abe7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/QueryModelElement.qll @@ -0,0 +1,11 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `QueryModelElement`. + */ + +private import internal.QueryModelElementImpl +import codeql.xpp.elements.Class +import codeql.xpp.elements.ModelElement +import codeql.xpp.elements.QueryDataSource + +final class QueryModelElement = Impl::QueryModelElement; diff --git a/xpp/ql/lib/codeql/xpp/elements/RealLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/RealLiteralExpression.qll new file mode 100644 index 000000000000..01019c49776b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/RealLiteralExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `RealLiteralExpression`. + */ + +private import internal.RealLiteralExpressionImpl +import codeql.xpp.elements.DefaultTypeLiteralExpression + +final class RealLiteralExpression = Impl::RealLiteralExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/RelationalExpression.qll b/xpp/ql/lib/codeql/xpp/elements/RelationalExpression.qll new file mode 100644 index 000000000000..b365993b633e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/RelationalExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `RelationalExpression`. + */ + +private import internal.RelationalExpressionImpl +import codeql.xpp.elements.BinaryExpression + +final class RelationalExpression = Impl::RelationalExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/RetryStatement.qll b/xpp/ql/lib/codeql/xpp/elements/RetryStatement.qll new file mode 100644 index 000000000000..1611c1ad5e72 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/RetryStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `RetryStatement`. + */ + +private import internal.RetryStatementImpl +import codeql.xpp.elements.Statement + +final class RetryStatement = Impl::RetryStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/ReturnStatement.qll b/xpp/ql/lib/codeql/xpp/elements/ReturnStatement.qll new file mode 100644 index 000000000000..6c7580fd91ad --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ReturnStatement.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ReturnStatement`. + */ + +private import internal.ReturnStatementImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Statement + +final class ReturnStatement = Impl::ReturnStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/SearchStatement.qll b/xpp/ql/lib/codeql/xpp/elements/SearchStatement.qll new file mode 100644 index 000000000000..28f91f610902 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/SearchStatement.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `SearchStatement`. + */ + +private import internal.SearchStatementImpl +import codeql.xpp.elements.Query +import codeql.xpp.elements.Statement + +final class SearchStatement = Impl::SearchStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/Selection.qll b/xpp/ql/lib/codeql/xpp/elements/Selection.qll new file mode 100644 index 000000000000..7f4fc047d8ef --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Selection.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Selection`. + */ + +private import internal.SelectionImpl +import codeql.xpp.elements.Ast + +final class Selection = Impl::Selection; diff --git a/xpp/ql/lib/codeql/xpp/elements/SelectionField.qll b/xpp/ql/lib/codeql/xpp/elements/SelectionField.qll new file mode 100644 index 000000000000..c7d273de037c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/SelectionField.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `SelectionField`. + */ + +private import internal.SelectionFieldImpl +import codeql.xpp.elements.Ast + +final class SelectionField = Impl::SelectionField; diff --git a/xpp/ql/lib/codeql/xpp/elements/ShiftLeftExpression.qll b/xpp/ql/lib/codeql/xpp/elements/ShiftLeftExpression.qll new file mode 100644 index 000000000000..15392e077ed7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ShiftLeftExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ShiftLeftExpression`. + */ + +private import internal.ShiftLeftExpressionImpl +import codeql.xpp.elements.BinaryExpression + +final class ShiftLeftExpression = Impl::ShiftLeftExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/ShiftRightExpression.qll b/xpp/ql/lib/codeql/xpp/elements/ShiftRightExpression.qll new file mode 100644 index 000000000000..2d91dea3c57f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ShiftRightExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ShiftRightExpression`. + */ + +private import internal.ShiftRightExpressionImpl +import codeql.xpp.elements.BinaryExpression + +final class ShiftRightExpression = Impl::ShiftRightExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/SimpleField.qll b/xpp/ql/lib/codeql/xpp/elements/SimpleField.qll new file mode 100644 index 000000000000..0c9f2bb84532 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/SimpleField.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `SimpleField`. + */ + +private import internal.SimpleFieldImpl +import codeql.xpp.elements.FieldSpecification + +final class SimpleField = Impl::SimpleField; diff --git a/xpp/ql/lib/codeql/xpp/elements/SimpleInstanceName.qll b/xpp/ql/lib/codeql/xpp/elements/SimpleInstanceName.qll new file mode 100644 index 000000000000..715969d6056b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/SimpleInstanceName.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `SimpleInstanceName`. + */ + +private import internal.SimpleInstanceNameImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.InstanceName + +final class SimpleInstanceName = Impl::SimpleInstanceName; diff --git a/xpp/ql/lib/codeql/xpp/elements/SimpleOrderElement.qll b/xpp/ql/lib/codeql/xpp/elements/SimpleOrderElement.qll new file mode 100644 index 000000000000..72bad445eca3 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/SimpleOrderElement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `SimpleOrderElement`. + */ + +private import internal.SimpleOrderElementImpl +import codeql.xpp.elements.OrderElement + +final class SimpleOrderElement = Impl::SimpleOrderElement; diff --git a/xpp/ql/lib/codeql/xpp/elements/SimpleQualifier.qll b/xpp/ql/lib/codeql/xpp/elements/SimpleQualifier.qll new file mode 100644 index 000000000000..f245fa4e1f27 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/SimpleQualifier.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `SimpleQualifier`. + */ + +private import internal.SimpleQualifierImpl +import codeql.xpp.elements.Qualifier + +final class SimpleQualifier = Impl::SimpleQualifier; diff --git a/xpp/ql/lib/codeql/xpp/elements/Statement.qll b/xpp/ql/lib/codeql/xpp/elements/Statement.qll new file mode 100644 index 000000000000..71c84551b5d1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Statement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Statement`. + */ + +private import internal.StatementImpl +import codeql.xpp.elements.Ast + +final class Statement = Impl::Statement; diff --git a/xpp/ql/lib/codeql/xpp/elements/StaticField.qll b/xpp/ql/lib/codeql/xpp/elements/StaticField.qll new file mode 100644 index 000000000000..b15ec12b985b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/StaticField.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `StaticField`. + */ + +private import internal.StaticFieldImpl +import codeql.xpp.elements.FieldSpecification + +final class StaticField = Impl::StaticField; diff --git a/xpp/ql/lib/codeql/xpp/elements/StaticMethodCall.qll b/xpp/ql/lib/codeql/xpp/elements/StaticMethodCall.qll new file mode 100644 index 000000000000..cb62e143574b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/StaticMethodCall.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `StaticMethodCall`. + */ + +private import internal.StaticMethodCallImpl +import codeql.xpp.elements.GenericEvaluation +import codeql.xpp.elements.XppType + +final class StaticMethodCall = Impl::StaticMethodCall; diff --git a/xpp/ql/lib/codeql/xpp/elements/StaticQualifier.qll b/xpp/ql/lib/codeql/xpp/elements/StaticQualifier.qll new file mode 100644 index 000000000000..789bb66c073e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/StaticQualifier.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `StaticQualifier`. + */ + +private import internal.StaticQualifierImpl +import codeql.xpp.elements.SimpleQualifier +import codeql.xpp.elements.XppType + +final class StaticQualifier = Impl::StaticQualifier; diff --git a/xpp/ql/lib/codeql/xpp/elements/StringAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/StringAttributeLiteral.qll new file mode 100644 index 000000000000..3ebce0e2c4bf --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/StringAttributeLiteral.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `StringAttributeLiteral`. + */ + +private import internal.StringAttributeLiteralImpl +import codeql.xpp.elements.DefaultTypeAttributeLiteral + +final class StringAttributeLiteral = Impl::StringAttributeLiteral; diff --git a/xpp/ql/lib/codeql/xpp/elements/StringLengthType.qll b/xpp/ql/lib/codeql/xpp/elements/StringLengthType.qll new file mode 100644 index 000000000000..3cf76df55f35 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/StringLengthType.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `StringLengthType`. + */ + +private import internal.StringLengthTypeImpl +import codeql.xpp.elements.StringType + +final class StringLengthType = Impl::StringLengthType; diff --git a/xpp/ql/lib/codeql/xpp/elements/StringLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/StringLiteralExpression.qll new file mode 100644 index 000000000000..c561b1fafb50 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/StringLiteralExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `StringLiteralExpression`. + */ + +private import internal.StringLiteralExpressionImpl +import codeql.xpp.elements.DefaultTypeLiteralExpression + +final class StringLiteralExpression = Impl::StringLiteralExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/StringType.qll b/xpp/ql/lib/codeql/xpp/elements/StringType.qll new file mode 100644 index 000000000000..620af7b91460 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/StringType.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `StringType`. + */ + +private import internal.StringTypeImpl +import codeql.xpp.elements.XppType + +final class StringType = Impl::StringType; diff --git a/xpp/ql/lib/codeql/xpp/elements/SubtractExpression.qll b/xpp/ql/lib/codeql/xpp/elements/SubtractExpression.qll new file mode 100644 index 000000000000..eea6890c0c08 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/SubtractExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `SubtractExpression`. + */ + +private import internal.SubtractExpressionImpl +import codeql.xpp.elements.BinaryExpression + +final class SubtractExpression = Impl::SubtractExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/SumAggregateSelection.qll b/xpp/ql/lib/codeql/xpp/elements/SumAggregateSelection.qll new file mode 100644 index 000000000000..419855ccb7f7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/SumAggregateSelection.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `SumAggregateSelection`. + */ + +private import internal.SumAggregateSelectionImpl +import codeql.xpp.elements.AggregateSelection + +final class SumAggregateSelection = Impl::SumAggregateSelection; diff --git a/xpp/ql/lib/codeql/xpp/elements/SuperCall.qll b/xpp/ql/lib/codeql/xpp/elements/SuperCall.qll new file mode 100644 index 000000000000..610a5c4889ce --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/SuperCall.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `SuperCall`. + */ + +private import internal.SuperCallImpl +import codeql.xpp.elements.Evaluation + +final class SuperCall = Impl::SuperCall; diff --git a/xpp/ql/lib/codeql/xpp/elements/SwitchCase.qll b/xpp/ql/lib/codeql/xpp/elements/SwitchCase.qll new file mode 100644 index 000000000000..ecc49b02d0de --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/SwitchCase.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `SwitchCase`. + */ + +private import internal.SwitchCaseImpl +import codeql.xpp.elements.Ast + +final class SwitchCase = Impl::SwitchCase; diff --git a/xpp/ql/lib/codeql/xpp/elements/SwitchStatement.qll b/xpp/ql/lib/codeql/xpp/elements/SwitchStatement.qll new file mode 100644 index 000000000000..7fefe4049a69 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/SwitchStatement.qll @@ -0,0 +1,11 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `SwitchStatement`. + */ + +private import internal.SwitchStatementImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Statement +import codeql.xpp.elements.SwitchStatementCaseEntry + +final class SwitchStatement = Impl::SwitchStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/SwitchStatementCaseEntry.qll b/xpp/ql/lib/codeql/xpp/elements/SwitchStatementCaseEntry.qll new file mode 100644 index 000000000000..aed5c3986e62 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/SwitchStatementCaseEntry.qll @@ -0,0 +1,11 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `SwitchStatementCaseEntry`. + */ + +private import internal.SwitchStatementCaseEntryImpl +import codeql.xpp.elements.Case +import codeql.xpp.elements.Statement +import codeql.xpp.elements.XppTuple + +final class SwitchStatementCaseEntry = Impl::SwitchStatementCaseEntry; diff --git a/xpp/ql/lib/codeql/xpp/elements/Table.qll b/xpp/ql/lib/codeql/xpp/elements/Table.qll new file mode 100644 index 000000000000..740481f3cce8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/Table.qll @@ -0,0 +1,11 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `Table`. + */ + +private import internal.TableImpl +import codeql.xpp.elements.AttributeList +import codeql.xpp.elements.FieldDeclaration +import codeql.xpp.elements.ModelElement + +final class Table = Impl::Table; diff --git a/xpp/ql/lib/codeql/xpp/elements/TableFieldDeclaration.qll b/xpp/ql/lib/codeql/xpp/elements/TableFieldDeclaration.qll new file mode 100644 index 000000000000..262e60478de0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/TableFieldDeclaration.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `TableFieldDeclaration`. + */ + +private import internal.TableFieldDeclarationImpl +import codeql.xpp.elements.FieldDeclaration + +final class TableFieldDeclaration = Impl::TableFieldDeclaration; diff --git a/xpp/ql/lib/codeql/xpp/elements/TableFieldReference.qll b/xpp/ql/lib/codeql/xpp/elements/TableFieldReference.qll new file mode 100644 index 000000000000..e1c51ecf89fb --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/TableFieldReference.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `TableFieldReference`. + */ + +private import internal.TableFieldReferenceImpl +import codeql.xpp.elements.Ast +import codeql.xpp.elements.Expression + +final class TableFieldReference = Impl::TableFieldReference; diff --git a/xpp/ql/lib/codeql/xpp/elements/TableLookupExpression.qll b/xpp/ql/lib/codeql/xpp/elements/TableLookupExpression.qll new file mode 100644 index 000000000000..0e41d2d796fe --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/TableLookupExpression.qll @@ -0,0 +1,11 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `TableLookupExpression`. + */ + +private import internal.TableLookupExpressionImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Query +import codeql.xpp.elements.TableFieldReference + +final class TableLookupExpression = Impl::TableLookupExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/ThrowStatement.qll b/xpp/ql/lib/codeql/xpp/elements/ThrowStatement.qll new file mode 100644 index 000000000000..c7bd3c247abd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ThrowStatement.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ThrowStatement`. + */ + +private import internal.ThrowStatementImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Statement + +final class ThrowStatement = Impl::ThrowStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/TryStatement.qll b/xpp/ql/lib/codeql/xpp/elements/TryStatement.qll new file mode 100644 index 000000000000..12526144edae --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/TryStatement.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `TryStatement`. + */ + +private import internal.TryStatementImpl +import codeql.xpp.elements.Statement +import codeql.xpp.elements.TryStatementCatchEntry + +final class TryStatement = Impl::TryStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/TryStatementCatchEntry.qll b/xpp/ql/lib/codeql/xpp/elements/TryStatementCatchEntry.qll new file mode 100644 index 000000000000..dfe8049dd8c1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/TryStatementCatchEntry.qll @@ -0,0 +1,11 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `TryStatementCatchEntry`. + */ + +private import internal.TryStatementCatchEntryImpl +import codeql.xpp.elements.Catch +import codeql.xpp.elements.Statement +import codeql.xpp.elements.XppTuple + +final class TryStatementCatchEntry = Impl::TryStatementCatchEntry; diff --git a/xpp/ql/lib/codeql/xpp/elements/TtsAbortStatement.qll b/xpp/ql/lib/codeql/xpp/elements/TtsAbortStatement.qll new file mode 100644 index 000000000000..81d7f9a0cfd4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/TtsAbortStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `TtsAbortStatement`. + */ + +private import internal.TtsAbortStatementImpl +import codeql.xpp.elements.TtsStatement + +final class TtsAbortStatement = Impl::TtsAbortStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/TtsBeginStatement.qll b/xpp/ql/lib/codeql/xpp/elements/TtsBeginStatement.qll new file mode 100644 index 000000000000..2931ae225bb9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/TtsBeginStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `TtsBeginStatement`. + */ + +private import internal.TtsBeginStatementImpl +import codeql.xpp.elements.TtsStatement + +final class TtsBeginStatement = Impl::TtsBeginStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/TtsEndStatement.qll b/xpp/ql/lib/codeql/xpp/elements/TtsEndStatement.qll new file mode 100644 index 000000000000..302f5f931a3f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/TtsEndStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `TtsEndStatement`. + */ + +private import internal.TtsEndStatementImpl +import codeql.xpp.elements.TtsStatement + +final class TtsEndStatement = Impl::TtsEndStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/TtsStatement.qll b/xpp/ql/lib/codeql/xpp/elements/TtsStatement.qll new file mode 100644 index 000000000000..8a524e87db7c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/TtsStatement.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `TtsStatement`. + */ + +private import internal.TtsStatementImpl +import codeql.xpp.elements.Statement + +final class TtsStatement = Impl::TtsStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/UnaryExpression.qll b/xpp/ql/lib/codeql/xpp/elements/UnaryExpression.qll new file mode 100644 index 000000000000..08199e9d1f1e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/UnaryExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `UnaryExpression`. + */ + +private import internal.UnaryExpressionImpl +import codeql.xpp.elements.Expression + +final class UnaryExpression = Impl::UnaryExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/UnaryMinusExpression.qll b/xpp/ql/lib/codeql/xpp/elements/UnaryMinusExpression.qll new file mode 100644 index 000000000000..9ce18a2f3b7f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/UnaryMinusExpression.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `UnaryMinusExpression`. + */ + +private import internal.UnaryMinusExpressionImpl +import codeql.xpp.elements.UnaryExpression + +final class UnaryMinusExpression = Impl::UnaryMinusExpression; diff --git a/xpp/ql/lib/codeql/xpp/elements/UncheckedStatement.qll b/xpp/ql/lib/codeql/xpp/elements/UncheckedStatement.qll new file mode 100644 index 000000000000..4abaf478cb94 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/UncheckedStatement.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `UncheckedStatement`. + */ + +private import internal.UncheckedStatementImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Statement + +final class UncheckedStatement = Impl::UncheckedStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/UnspecifiedElement.qll b/xpp/ql/lib/codeql/xpp/elements/UnspecifiedElement.qll new file mode 100644 index 000000000000..6aeeb7040d5d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/UnspecifiedElement.qll @@ -0,0 +1,13 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `UnspecifiedElement`. + */ + +private import internal.UnspecifiedElementImpl +import codeql.xpp.elements.Element +import codeql.xpp.elements.ErrorElement + +/** + * A node that could not be extracted, for example because of a syntax error. + */ +final class UnspecifiedElement = Impl::UnspecifiedElement; diff --git a/xpp/ql/lib/codeql/xpp/elements/UpdateStatement.qll b/xpp/ql/lib/codeql/xpp/elements/UpdateStatement.qll new file mode 100644 index 000000000000..51417643c279 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/UpdateStatement.qll @@ -0,0 +1,13 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `UpdateStatement`. + */ + +private import internal.UpdateStatementImpl +import codeql.xpp.elements.CrossCompany +import codeql.xpp.elements.Expression +import codeql.xpp.elements.FieldAssignment +import codeql.xpp.elements.JoinSpecification +import codeql.xpp.elements.Statement + +final class UpdateStatement = Impl::UpdateStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/UsingStatement.qll b/xpp/ql/lib/codeql/xpp/elements/UsingStatement.qll new file mode 100644 index 000000000000..7d81b2c49b0d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/UsingStatement.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `UsingStatement`. + */ + +private import internal.UsingStatementImpl +import codeql.xpp.elements.Statement +import codeql.xpp.elements.VariableDeclaration + +final class UsingStatement = Impl::UsingStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/ValidTimeState.qll b/xpp/ql/lib/codeql/xpp/elements/ValidTimeState.qll new file mode 100644 index 000000000000..c5e838e9a26b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ValidTimeState.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ValidTimeState`. + */ + +private import internal.ValidTimeStateImpl +import codeql.xpp.elements.Ast + +final class ValidTimeState = Impl::ValidTimeState; diff --git a/xpp/ql/lib/codeql/xpp/elements/ValidTimeStateDate.qll b/xpp/ql/lib/codeql/xpp/elements/ValidTimeStateDate.qll new file mode 100644 index 000000000000..7c885356725e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ValidTimeStateDate.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ValidTimeStateDate`. + */ + +private import internal.ValidTimeStateDateImpl +import codeql.xpp.elements.ValidTimeState + +final class ValidTimeStateDate = Impl::ValidTimeStateDate; diff --git a/xpp/ql/lib/codeql/xpp/elements/ValidTimeStateRange.qll b/xpp/ql/lib/codeql/xpp/elements/ValidTimeStateRange.qll new file mode 100644 index 000000000000..345820870989 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/ValidTimeStateRange.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `ValidTimeStateRange`. + */ + +private import internal.ValidTimeStateRangeImpl +import codeql.xpp.elements.ValidTimeState + +final class ValidTimeStateRange = Impl::ValidTimeStateRange; diff --git a/xpp/ql/lib/codeql/xpp/elements/VarType.qll b/xpp/ql/lib/codeql/xpp/elements/VarType.qll new file mode 100644 index 000000000000..70ed9f24e95a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/VarType.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `VarType`. + */ + +private import internal.VarTypeImpl +import codeql.xpp.elements.XppType + +final class VarType = Impl::VarType; diff --git a/xpp/ql/lib/codeql/xpp/elements/VariableDeclaration.qll b/xpp/ql/lib/codeql/xpp/elements/VariableDeclaration.qll new file mode 100644 index 000000000000..ff220915ebd7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/VariableDeclaration.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `VariableDeclaration`. + */ + +private import internal.VariableDeclarationImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.LocalDeclaration + +final class VariableDeclaration = Impl::VariableDeclaration; diff --git a/xpp/ql/lib/codeql/xpp/elements/VoidType.qll b/xpp/ql/lib/codeql/xpp/elements/VoidType.qll new file mode 100644 index 000000000000..f7e3c1f77042 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/VoidType.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `VoidType`. + */ + +private import internal.VoidTypeImpl +import codeql.xpp.elements.XppType + +final class VoidType = Impl::VoidType; diff --git a/xpp/ql/lib/codeql/xpp/elements/WhileStatement.qll b/xpp/ql/lib/codeql/xpp/elements/WhileStatement.qll new file mode 100644 index 000000000000..a0eb36617e62 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/WhileStatement.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `WhileStatement`. + */ + +private import internal.WhileStatementImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Statement + +final class WhileStatement = Impl::WhileStatement; diff --git a/xpp/ql/lib/codeql/xpp/elements/XppTuple.qll b/xpp/ql/lib/codeql/xpp/elements/XppTuple.qll new file mode 100644 index 000000000000..804157d1085c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/XppTuple.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `XppTuple`. + */ + +private import internal.XppTupleImpl +import codeql.xpp.elements.Locatable + +/** + * Base of the classes standing in for tuples in the compiler's AST. + * + * The X++ compiler uses CLR tuples for a handful of grouped values, such as a `catch` + * together with its handler body. The schema has no tuple type, so the generator emits a + * named class per tuple-valued property instead. + */ +final class XppTuple = Impl::XppTuple; diff --git a/xpp/ql/lib/codeql/xpp/elements/XppType.qll b/xpp/ql/lib/codeql/xpp/elements/XppType.qll new file mode 100644 index 000000000000..d00e6e691caa --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/XppType.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `XppType`. + */ + +private import internal.XppTypeImpl +import codeql.xpp.elements.Ast + +final class XppType = Impl::XppType; diff --git a/xpp/ql/lib/codeql/xpp/elements/XppTypeCompilationUnit.qll b/xpp/ql/lib/codeql/xpp/elements/XppTypeCompilationUnit.qll new file mode 100644 index 000000000000..1102272cffcb --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/XppTypeCompilationUnit.qll @@ -0,0 +1,10 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `XppTypeCompilationUnit`. + */ + +private import internal.XppTypeCompilationUnitImpl +import codeql.xpp.elements.CompilationUnit +import codeql.xpp.elements.XppType + +final class XppTypeCompilationUnit = Impl::XppTypeCompilationUnit; diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AddExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AddExpressionConstructor.qll new file mode 100644 index 000000000000..8063e1e6876d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AddExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AddExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AddExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAddExpression(Raw::AddExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AddExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AddExpressionImpl.qll new file mode 100644 index 000000000000..4ede94b7fb99 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AddExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AddExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AddExpression + +/** + * INTERNAL: This module contains the customizable definition of `AddExpression` and should not + * be referenced directly. + */ +module Impl { + class AddExpression extends Generated::AddExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AggregateSelectionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AggregateSelectionImpl.qll new file mode 100644 index 000000000000..3a4c3af8b197 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AggregateSelectionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AggregateSelection`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AggregateSelection + +/** + * INTERNAL: This module contains the customizable definition of `AggregateSelection` and should not + * be referenced directly. + */ +module Impl { + class AggregateSelection extends Generated::AggregateSelection { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AllFieldsSelectionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AllFieldsSelectionConstructor.qll new file mode 100644 index 000000000000..36e01c98c55e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AllFieldsSelectionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AllFieldsSelection` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AllFieldsSelection` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAllFieldsSelection(Raw::AllFieldsSelection id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AllFieldsSelectionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AllFieldsSelectionImpl.qll new file mode 100644 index 000000000000..7325a928475a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AllFieldsSelectionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AllFieldsSelection`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AllFieldsSelection + +/** + * INTERNAL: This module contains the customizable definition of `AllFieldsSelection` and should not + * be referenced directly. + */ +module Impl { + class AllFieldsSelection extends Generated::AllFieldsSelection { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AndExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AndExpressionConstructor.qll new file mode 100644 index 000000000000..37d3903edc40 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AndExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AndExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AndExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAndExpression(Raw::AndExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AndExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AndExpressionImpl.qll new file mode 100644 index 000000000000..d9622ec247f7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AndExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AndExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AndExpression + +/** + * INTERNAL: This module contains the customizable definition of `AndExpression` and should not + * be referenced directly. + */ +module Impl { + class AndExpression extends Generated::AndExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AnyTypeConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AnyTypeConstructor.qll new file mode 100644 index 000000000000..a44956bef91d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AnyTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AnyType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AnyType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAnyType(Raw::AnyType id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AnyTypeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AnyTypeImpl.qll new file mode 100644 index 000000000000..ba7151721305 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AnyTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AnyType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AnyType + +/** + * INTERNAL: This module contains the customizable definition of `AnyType` and should not + * be referenced directly. + */ +module Impl { + class AnyType extends Generated::AnyType { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ArraySpecificationConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ArraySpecificationConstructor.qll new file mode 100644 index 000000000000..002f6ec686d4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ArraySpecificationConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ArraySpecification` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ArraySpecification` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructArraySpecification(Raw::ArraySpecification id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ArraySpecificationImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ArraySpecificationImpl.qll new file mode 100644 index 000000000000..b58abb4b0436 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ArraySpecificationImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ArraySpecification`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ArraySpecification + +/** + * INTERNAL: This module contains the customizable definition of `ArraySpecification` and should not + * be referenced directly. + */ +module Impl { + class ArraySpecification extends Generated::ArraySpecification { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AsClrExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AsClrExpressionConstructor.qll new file mode 100644 index 000000000000..83c51de0bb7a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AsClrExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AsClrExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AsClrExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAsClrExpression(Raw::AsClrExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AsClrExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AsClrExpressionImpl.qll new file mode 100644 index 000000000000..887abf94230d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AsClrExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AsClrExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AsClrExpression + +/** + * INTERNAL: This module contains the customizable definition of `AsClrExpression` and should not + * be referenced directly. + */ +module Impl { + class AsClrExpression extends Generated::AsClrExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AsExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AsExpressionConstructor.qll new file mode 100644 index 000000000000..4004bd6148cd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AsExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AsExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AsExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAsExpression(Raw::AsExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AsExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AsExpressionImpl.qll new file mode 100644 index 000000000000..5365ab36fb6f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AsExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AsExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AsExpression + +/** + * INTERNAL: This module contains the customizable definition of `AsExpression` and should not + * be referenced directly. + */ +module Impl { + class AsExpression extends Generated::AsExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignDecrementStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignDecrementStatementConstructor.qll new file mode 100644 index 000000000000..0ff9dd159a29 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignDecrementStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AssignDecrementStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AssignDecrementStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAssignDecrementStatement(Raw::AssignDecrementStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignDecrementStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignDecrementStatementImpl.qll new file mode 100644 index 000000000000..25d98e07cb14 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignDecrementStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AssignDecrementStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AssignDecrementStatement + +/** + * INTERNAL: This module contains the customizable definition of `AssignDecrementStatement` and should not + * be referenced directly. + */ +module Impl { + class AssignDecrementStatement extends Generated::AssignDecrementStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignDivideStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignDivideStatementConstructor.qll new file mode 100644 index 000000000000..e44e03c5caee --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignDivideStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AssignDivideStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AssignDivideStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAssignDivideStatement(Raw::AssignDivideStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignDivideStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignDivideStatementImpl.qll new file mode 100644 index 000000000000..83fad4850086 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignDivideStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AssignDivideStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AssignDivideStatement + +/** + * INTERNAL: This module contains the customizable definition of `AssignDivideStatement` and should not + * be referenced directly. + */ +module Impl { + class AssignDivideStatement extends Generated::AssignDivideStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignEqualStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignEqualStatementConstructor.qll new file mode 100644 index 000000000000..4200fa13d50c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignEqualStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AssignEqualStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AssignEqualStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAssignEqualStatement(Raw::AssignEqualStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignEqualStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignEqualStatementImpl.qll new file mode 100644 index 000000000000..a32547acf669 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignEqualStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AssignEqualStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AssignEqualStatement + +/** + * INTERNAL: This module contains the customizable definition of `AssignEqualStatement` and should not + * be referenced directly. + */ +module Impl { + class AssignEqualStatement extends Generated::AssignEqualStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignIncrementStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignIncrementStatementConstructor.qll new file mode 100644 index 000000000000..39338a21e2b4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignIncrementStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AssignIncrementStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AssignIncrementStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAssignIncrementStatement(Raw::AssignIncrementStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignIncrementStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignIncrementStatementImpl.qll new file mode 100644 index 000000000000..402e294edcb0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignIncrementStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AssignIncrementStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AssignIncrementStatement + +/** + * INTERNAL: This module contains the customizable definition of `AssignIncrementStatement` and should not + * be referenced directly. + */ +module Impl { + class AssignIncrementStatement extends Generated::AssignIncrementStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignMultipleFieldStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignMultipleFieldStatementConstructor.qll new file mode 100644 index 000000000000..9912409d4ffc --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignMultipleFieldStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AssignMultipleFieldStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AssignMultipleFieldStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAssignMultipleFieldStatement(Raw::AssignMultipleFieldStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignMultipleFieldStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignMultipleFieldStatementImpl.qll new file mode 100644 index 000000000000..9ab48fd23ccb --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignMultipleFieldStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AssignMultipleFieldStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AssignMultipleFieldStatement + +/** + * INTERNAL: This module contains the customizable definition of `AssignMultipleFieldStatement` and should not + * be referenced directly. + */ +module Impl { + class AssignMultipleFieldStatement extends Generated::AssignMultipleFieldStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignMultiplyStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignMultiplyStatementConstructor.qll new file mode 100644 index 000000000000..4cd25378a16a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignMultiplyStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AssignMultiplyStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AssignMultiplyStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAssignMultiplyStatement(Raw::AssignMultiplyStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignMultiplyStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignMultiplyStatementImpl.qll new file mode 100644 index 000000000000..a03dcc487178 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignMultiplyStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AssignMultiplyStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AssignMultiplyStatement + +/** + * INTERNAL: This module contains the customizable definition of `AssignMultiplyStatement` and should not + * be referenced directly. + */ +module Impl { + class AssignMultiplyStatement extends Generated::AssignMultiplyStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignPostDecrementStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignPostDecrementStatementConstructor.qll new file mode 100644 index 000000000000..2df7c417bae6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignPostDecrementStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AssignPostDecrementStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AssignPostDecrementStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAssignPostDecrementStatement(Raw::AssignPostDecrementStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignPostDecrementStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignPostDecrementStatementImpl.qll new file mode 100644 index 000000000000..7cac14b3dc89 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignPostDecrementStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AssignPostDecrementStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AssignPostDecrementStatement + +/** + * INTERNAL: This module contains the customizable definition of `AssignPostDecrementStatement` and should not + * be referenced directly. + */ +module Impl { + class AssignPostDecrementStatement extends Generated::AssignPostDecrementStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignPostIncrementStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignPostIncrementStatementConstructor.qll new file mode 100644 index 000000000000..f935f91dc91c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignPostIncrementStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AssignPostIncrementStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AssignPostIncrementStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAssignPostIncrementStatement(Raw::AssignPostIncrementStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignPostIncrementStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignPostIncrementStatementImpl.qll new file mode 100644 index 000000000000..b82935841daf --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignPostIncrementStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AssignPostIncrementStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AssignPostIncrementStatement + +/** + * INTERNAL: This module contains the customizable definition of `AssignPostIncrementStatement` and should not + * be referenced directly. + */ +module Impl { + class AssignPostIncrementStatement extends Generated::AssignPostIncrementStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignPreDecrementStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignPreDecrementStatementConstructor.qll new file mode 100644 index 000000000000..0a87051ccba6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignPreDecrementStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AssignPreDecrementStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AssignPreDecrementStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAssignPreDecrementStatement(Raw::AssignPreDecrementStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignPreDecrementStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignPreDecrementStatementImpl.qll new file mode 100644 index 000000000000..2bf5edab429e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignPreDecrementStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AssignPreDecrementStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AssignPreDecrementStatement + +/** + * INTERNAL: This module contains the customizable definition of `AssignPreDecrementStatement` and should not + * be referenced directly. + */ +module Impl { + class AssignPreDecrementStatement extends Generated::AssignPreDecrementStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignPreIncrementStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignPreIncrementStatementConstructor.qll new file mode 100644 index 000000000000..027261f65931 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignPreIncrementStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AssignPreIncrementStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AssignPreIncrementStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAssignPreIncrementStatement(Raw::AssignPreIncrementStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignPreIncrementStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignPreIncrementStatementImpl.qll new file mode 100644 index 000000000000..26471eb4f9cc --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignPreIncrementStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AssignPreIncrementStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AssignPreIncrementStatement + +/** + * INTERNAL: This module contains the customizable definition of `AssignPreIncrementStatement` and should not + * be referenced directly. + */ +module Impl { + class AssignPreIncrementStatement extends Generated::AssignPreIncrementStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentBinaryImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentBinaryImpl.qll new file mode 100644 index 000000000000..fc2cf397d167 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentBinaryImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AssignmentBinary`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AssignmentBinary + +/** + * INTERNAL: This module contains the customizable definition of `AssignmentBinary` and should not + * be referenced directly. + */ +module Impl { + class AssignmentBinary extends Generated::AssignmentBinary { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerBaseImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerBaseImpl.qll new file mode 100644 index 000000000000..e41249ee24e9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerBaseImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AssignmentEventHandlerBase`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AssignmentEventHandlerBase + +/** + * INTERNAL: This module contains the customizable definition of `AssignmentEventHandlerBase` and should not + * be referenced directly. + */ +module Impl { + class AssignmentEventHandlerBase extends Generated::AssignmentEventHandlerBase { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerClrConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerClrConstructor.qll new file mode 100644 index 000000000000..e4d33dc66ca2 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerClrConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AssignmentEventHandlerClr` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AssignmentEventHandlerClr` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAssignmentEventHandlerClr(Raw::AssignmentEventHandlerClr id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerClrImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerClrImpl.qll new file mode 100644 index 000000000000..833a6f5abcbc --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerClrImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AssignmentEventHandlerClr`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AssignmentEventHandlerClr + +/** + * INTERNAL: This module contains the customizable definition of `AssignmentEventHandlerClr` and should not + * be referenced directly. + */ +module Impl { + class AssignmentEventHandlerClr extends Generated::AssignmentEventHandlerClr { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerInstanceConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerInstanceConstructor.qll new file mode 100644 index 000000000000..8607a36445f2 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerInstanceConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AssignmentEventHandlerInstance` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AssignmentEventHandlerInstance` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAssignmentEventHandlerInstance(Raw::AssignmentEventHandlerInstance id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerInstanceImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerInstanceImpl.qll new file mode 100644 index 000000000000..65ef46f7983b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerInstanceImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AssignmentEventHandlerInstance`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AssignmentEventHandlerInstance + +/** + * INTERNAL: This module contains the customizable definition of `AssignmentEventHandlerInstance` and should not + * be referenced directly. + */ +module Impl { + class AssignmentEventHandlerInstance extends Generated::AssignmentEventHandlerInstance { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerStaticImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerStaticImpl.qll new file mode 100644 index 000000000000..8672b14fa881 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerStaticImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AssignmentEventHandlerStatic`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AssignmentEventHandlerStatic + +/** + * INTERNAL: This module contains the customizable definition of `AssignmentEventHandlerStatic` and should not + * be referenced directly. + */ +module Impl { + class AssignmentEventHandlerStatic extends Generated::AssignmentEventHandlerStatic { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentSingleFieldImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentSingleFieldImpl.qll new file mode 100644 index 000000000000..ad70c6657b64 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentSingleFieldImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AssignmentSingleField`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AssignmentSingleField + +/** + * INTERNAL: This module contains the customizable definition of `AssignmentSingleField` and should not + * be referenced directly. + */ +module Impl { + class AssignmentSingleField extends Generated::AssignmentSingleField { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentStatementImpl.qll new file mode 100644 index 000000000000..502ebcfcbf68 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AssignmentStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AssignmentStatement + +/** + * INTERNAL: This module contains the customizable definition of `AssignmentStatement` and should not + * be referenced directly. + */ +module Impl { + class AssignmentStatement extends Generated::AssignmentStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AstImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AstImpl.qll new file mode 100644 index 000000000000..f0f967228815 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AstImpl.qll @@ -0,0 +1,22 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Ast`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Ast + +/** + * INTERNAL: This module contains the customizable definition of `Ast` and should not + * be referenced directly. + */ +module Impl { + /** + * Root of the X++ abstract syntax tree. + * + * This mirrors `Microsoft.Dynamics.AX.Metadata.XppCompiler.Ast`, the base class of the + * X++ compiler's own AST. + */ + class Ast extends Generated::Ast { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AttributeConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AttributeConstructor.qll new file mode 100644 index 000000000000..ac71e392dd78 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AttributeConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `Attribute` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `Attribute` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAttribute(Raw::Attribute id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AttributeExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AttributeExpressionConstructor.qll new file mode 100644 index 000000000000..b0fcf52cc5c2 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AttributeExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AttributeExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AttributeExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAttributeExpression(Raw::AttributeExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AttributeExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AttributeExpressionImpl.qll new file mode 100644 index 000000000000..7c59b699cfc9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AttributeExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AttributeExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AttributeExpression + +/** + * INTERNAL: This module contains the customizable definition of `AttributeExpression` and should not + * be referenced directly. + */ +module Impl { + class AttributeExpression extends Generated::AttributeExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AttributeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AttributeImpl.qll new file mode 100644 index 000000000000..319922c4163a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AttributeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Attribute`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Attribute + +/** + * INTERNAL: This module contains the customizable definition of `Attribute` and should not + * be referenced directly. + */ +module Impl { + class Attribute extends Generated::Attribute { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AttributeListConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AttributeListConstructor.qll new file mode 100644 index 000000000000..8e5ff41193b9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AttributeListConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AttributeList` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AttributeList` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAttributeList(Raw::AttributeList id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AttributeListImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AttributeListImpl.qll new file mode 100644 index 000000000000..6a38164a49fb --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AttributeListImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AttributeList`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AttributeList + +/** + * INTERNAL: This module contains the customizable definition of `AttributeList` and should not + * be referenced directly. + */ +module Impl { + class AttributeList extends Generated::AttributeList { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AttributeLiteralImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AttributeLiteralImpl.qll new file mode 100644 index 000000000000..6dced5d52b6a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AttributeLiteralImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AttributeLiteral`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AttributeLiteral + +/** + * INTERNAL: This module contains the customizable definition of `AttributeLiteral` and should not + * be referenced directly. + */ +module Impl { + class AttributeLiteral extends Generated::AttributeLiteral { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AttributeNamedParameterEntryConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AttributeNamedParameterEntryConstructor.qll new file mode 100644 index 000000000000..42816bc8cd59 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AttributeNamedParameterEntryConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AttributeNamedParameterEntry` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AttributeNamedParameterEntry` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAttributeNamedParameterEntry(Raw::AttributeNamedParameterEntry id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AttributeNamedParameterEntryImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AttributeNamedParameterEntryImpl.qll new file mode 100644 index 000000000000..b2893fa9a338 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AttributeNamedParameterEntryImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AttributeNamedParameterEntry`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AttributeNamedParameterEntry + +/** + * INTERNAL: This module contains the customizable definition of `AttributeNamedParameterEntry` and should not + * be referenced directly. + */ +module Impl { + class AttributeNamedParameterEntry extends Generated::AttributeNamedParameterEntry { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AvgAggregateSelectionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AvgAggregateSelectionConstructor.qll new file mode 100644 index 000000000000..63fad739b95d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AvgAggregateSelectionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AvgAggregateSelection` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AvgAggregateSelection` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAvgAggregateSelection(Raw::AvgAggregateSelection id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AvgAggregateSelectionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AvgAggregateSelectionImpl.qll new file mode 100644 index 000000000000..8d9b855f340b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AvgAggregateSelectionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AvgAggregateSelection`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AvgAggregateSelection + +/** + * INTERNAL: This module contains the customizable definition of `AvgAggregateSelection` and should not + * be referenced directly. + */ +module Impl { + class AvgAggregateSelection extends Generated::AvgAggregateSelection { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/BinaryExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/BinaryExpressionImpl.qll new file mode 100644 index 000000000000..fa00ffb2f912 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/BinaryExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `BinaryExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.BinaryExpression + +/** + * INTERNAL: This module contains the customizable definition of `BinaryExpression` and should not + * be referenced directly. + */ +module Impl { + class BinaryExpression extends Generated::BinaryExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/BooleanAttributeLiteralConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/BooleanAttributeLiteralConstructor.qll new file mode 100644 index 000000000000..f1104b5564a5 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/BooleanAttributeLiteralConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `BooleanAttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `BooleanAttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructBooleanAttributeLiteral(Raw::BooleanAttributeLiteral id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/BooleanAttributeLiteralImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/BooleanAttributeLiteralImpl.qll new file mode 100644 index 000000000000..b5b920468346 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/BooleanAttributeLiteralImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `BooleanAttributeLiteral`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.BooleanAttributeLiteral + +/** + * INTERNAL: This module contains the customizable definition of `BooleanAttributeLiteral` and should not + * be referenced directly. + */ +module Impl { + class BooleanAttributeLiteral extends Generated::BooleanAttributeLiteral { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/BooleanLiteralExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/BooleanLiteralExpressionConstructor.qll new file mode 100644 index 000000000000..585da6b88356 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/BooleanLiteralExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `BooleanLiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `BooleanLiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructBooleanLiteralExpression(Raw::BooleanLiteralExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/BooleanLiteralExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/BooleanLiteralExpressionImpl.qll new file mode 100644 index 000000000000..ea0c3e6c2adf --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/BooleanLiteralExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `BooleanLiteralExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.BooleanLiteralExpression + +/** + * INTERNAL: This module contains the customizable definition of `BooleanLiteralExpression` and should not + * be referenced directly. + */ +module Impl { + class BooleanLiteralExpression extends Generated::BooleanLiteralExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/BooleanTypeConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/BooleanTypeConstructor.qll new file mode 100644 index 000000000000..18a2e4b2a887 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/BooleanTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `BooleanType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `BooleanType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructBooleanType(Raw::BooleanType id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/BooleanTypeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/BooleanTypeImpl.qll new file mode 100644 index 000000000000..2411cdfa29bb --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/BooleanTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `BooleanType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.BooleanType + +/** + * INTERNAL: This module contains the customizable definition of `BooleanType` and should not + * be referenced directly. + */ +module Impl { + class BooleanType extends Generated::BooleanType { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/BreakStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/BreakStatementConstructor.qll new file mode 100644 index 000000000000..f2f0865c1080 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/BreakStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `BreakStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `BreakStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructBreakStatement(Raw::BreakStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/BreakStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/BreakStatementImpl.qll new file mode 100644 index 000000000000..5cdee457f756 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/BreakStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `BreakStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.BreakStatement + +/** + * INTERNAL: This module contains the customizable definition of `BreakStatement` and should not + * be referenced directly. + */ +module Impl { + class BreakStatement extends Generated::BreakStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/BreakpointStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/BreakpointStatementConstructor.qll new file mode 100644 index 000000000000..10cc0393c961 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/BreakpointStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `BreakpointStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `BreakpointStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructBreakpointStatement(Raw::BreakpointStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/BreakpointStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/BreakpointStatementImpl.qll new file mode 100644 index 000000000000..b04ea6d888cd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/BreakpointStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `BreakpointStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.BreakpointStatement + +/** + * INTERNAL: This module contains the customizable definition of `BreakpointStatement` and should not + * be referenced directly. + */ +module Impl { + class BreakpointStatement extends Generated::BreakpointStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CaseDefaultConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CaseDefaultConstructor.qll new file mode 100644 index 000000000000..084927d33a54 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CaseDefaultConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `CaseDefault` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `CaseDefault` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructCaseDefault(Raw::CaseDefault id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CaseDefaultImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CaseDefaultImpl.qll new file mode 100644 index 000000000000..e7d72828955d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CaseDefaultImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `CaseDefault`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.CaseDefault + +/** + * INTERNAL: This module contains the customizable definition of `CaseDefault` and should not + * be referenced directly. + */ +module Impl { + class CaseDefault extends Generated::CaseDefault { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CaseImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CaseImpl.qll new file mode 100644 index 000000000000..f248ec6a16e8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CaseImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Case`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Case + +/** + * INTERNAL: This module contains the customizable definition of `Case` and should not + * be referenced directly. + */ +module Impl { + class Case extends Generated::Case { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CaseValuesConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CaseValuesConstructor.qll new file mode 100644 index 000000000000..32285f414381 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CaseValuesConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `CaseValues` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `CaseValues` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructCaseValues(Raw::CaseValues id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CaseValuesImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CaseValuesImpl.qll new file mode 100644 index 000000000000..0c6f614d4214 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CaseValuesImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `CaseValues`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.CaseValues + +/** + * INTERNAL: This module contains the customizable definition of `CaseValues` and should not + * be referenced directly. + */ +module Impl { + class CaseValues extends Generated::CaseValues { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CatchAllValuesConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CatchAllValuesConstructor.qll new file mode 100644 index 000000000000..11c30002d144 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CatchAllValuesConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `CatchAllValues` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `CatchAllValues` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructCatchAllValues(Raw::CatchAllValues id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CatchAllValuesImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CatchAllValuesImpl.qll new file mode 100644 index 000000000000..ce0ca8ac6078 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CatchAllValuesImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `CatchAllValues`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.CatchAllValues + +/** + * INTERNAL: This module contains the customizable definition of `CatchAllValues` and should not + * be referenced directly. + */ +module Impl { + class CatchAllValues extends Generated::CatchAllValues { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CatchExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CatchExpressionConstructor.qll new file mode 100644 index 000000000000..51b3cd9c5a5e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CatchExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `CatchExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `CatchExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructCatchExpression(Raw::CatchExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CatchExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CatchExpressionImpl.qll new file mode 100644 index 000000000000..f310997a4627 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CatchExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `CatchExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.CatchExpression + +/** + * INTERNAL: This module contains the customizable definition of `CatchExpression` and should not + * be referenced directly. + */ +module Impl { + class CatchExpression extends Generated::CatchExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CatchImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CatchImpl.qll new file mode 100644 index 000000000000..9ce96b4a5f9d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CatchImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Catch`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Catch + +/** + * INTERNAL: This module contains the customizable definition of `Catch` and should not + * be referenced directly. + */ +module Impl { + class Catch extends Generated::Catch { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CatchUpdateConflictConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CatchUpdateConflictConstructor.qll new file mode 100644 index 000000000000..7dd9fe4f68df --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CatchUpdateConflictConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `CatchUpdateConflict` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `CatchUpdateConflict` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructCatchUpdateConflict(Raw::CatchUpdateConflict id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CatchUpdateConflictImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CatchUpdateConflictImpl.qll new file mode 100644 index 000000000000..b7495d974005 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CatchUpdateConflictImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `CatchUpdateConflict`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.CatchUpdateConflict + +/** + * INTERNAL: This module contains the customizable definition of `CatchUpdateConflict` and should not + * be referenced directly. + */ +module Impl { + class CatchUpdateConflict extends Generated::CatchUpdateConflict { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ChangeCompanyStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ChangeCompanyStatementConstructor.qll new file mode 100644 index 000000000000..b5c47e7d24f7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ChangeCompanyStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ChangeCompanyStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ChangeCompanyStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructChangeCompanyStatement(Raw::ChangeCompanyStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ChangeCompanyStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ChangeCompanyStatementImpl.qll new file mode 100644 index 000000000000..59ddb3fc68f6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ChangeCompanyStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ChangeCompanyStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ChangeCompanyStatement + +/** + * INTERNAL: This module contains the customizable definition of `ChangeCompanyStatement` and should not + * be referenced directly. + */ +module Impl { + class ChangeCompanyStatement extends Generated::ChangeCompanyStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ChangeStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ChangeStatementImpl.qll new file mode 100644 index 000000000000..7427bd864f57 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ChangeStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ChangeStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ChangeStatement + +/** + * INTERNAL: This module contains the customizable definition of `ChangeStatement` and should not + * be referenced directly. + */ +module Impl { + class ChangeStatement extends Generated::ChangeStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ClassAccessModifierConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ClassAccessModifierConstructor.qll new file mode 100644 index 000000000000..189c011855d8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ClassAccessModifierConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ClassAccessModifier` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ClassAccessModifier` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructClassAccessModifier(Raw::ClassAccessModifier id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ClassAccessModifierImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ClassAccessModifierImpl.qll new file mode 100644 index 000000000000..9ad35472b122 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ClassAccessModifierImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ClassAccessModifier`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ClassAccessModifier + +/** + * INTERNAL: This module contains the customizable definition of `ClassAccessModifier` and should not + * be referenced directly. + */ +module Impl { + class ClassAccessModifier extends Generated::ClassAccessModifier { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ClassConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ClassConstructor.qll new file mode 100644 index 000000000000..0684ad6db5f8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ClassConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `Class` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `Class` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructClass(Raw::Class id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ClassImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ClassImpl.qll new file mode 100644 index 000000000000..ce46ff557cb7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ClassImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Class`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Class + +/** + * INTERNAL: This module contains the customizable definition of `Class` and should not + * be referenced directly. + */ +module Impl { + class Class extends Generated::Class { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ClassOrInterfaceImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ClassOrInterfaceImpl.qll new file mode 100644 index 000000000000..b1b6e49ef8c5 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ClassOrInterfaceImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ClassOrInterface`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ClassOrInterface + +/** + * INTERNAL: This module contains the customizable definition of `ClassOrInterface` and should not + * be referenced directly. + */ +module Impl { + class ClassOrInterface extends Generated::ClassOrInterface { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ClrEnumerationLiteralExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ClrEnumerationLiteralExpressionConstructor.qll new file mode 100644 index 000000000000..40cad9d91f46 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ClrEnumerationLiteralExpressionConstructor.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ClrEnumerationLiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ClrEnumerationLiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructClrEnumerationLiteralExpression(Raw::ClrEnumerationLiteralExpression id) { + any() +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ClrEnumerationLiteralExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ClrEnumerationLiteralExpressionImpl.qll new file mode 100644 index 000000000000..96538d05ecf8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ClrEnumerationLiteralExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ClrEnumerationLiteralExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ClrEnumerationLiteralExpression + +/** + * INTERNAL: This module contains the customizable definition of `ClrEnumerationLiteralExpression` and should not + * be referenced directly. + */ +module Impl { + class ClrEnumerationLiteralExpression extends Generated::ClrEnumerationLiteralExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ClrTypeConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ClrTypeConstructor.qll new file mode 100644 index 000000000000..f28d029e260b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ClrTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ClrType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ClrType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructClrType(Raw::ClrType id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ClrTypeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ClrTypeImpl.qll new file mode 100644 index 000000000000..c7aeada8eb28 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ClrTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ClrType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ClrType + +/** + * INTERNAL: This module contains the customizable definition of `ClrType` and should not + * be referenced directly. + */ +module Impl { + class ClrType extends Generated::ClrType { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CommentConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CommentConstructor.qll new file mode 100644 index 000000000000..7e3a41fb369e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CommentConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `Comment` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `Comment` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructComment(Raw::Comment id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CommentImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CommentImpl.qll new file mode 100644 index 000000000000..1cb8a7a04ca7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CommentImpl.qll @@ -0,0 +1,19 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Comment`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Comment + +/** + * INTERNAL: This module contains the customizable definition of `Comment` and should not + * be referenced directly. + */ +module Impl { + /** + * A comment in X++ source. + */ + class Comment extends Generated::Comment { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CompilationUnitImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CompilationUnitImpl.qll new file mode 100644 index 000000000000..f65da955ebb5 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CompilationUnitImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `CompilationUnit`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.CompilationUnit + +/** + * INTERNAL: This module contains the customizable definition of `CompilationUnit` and should not + * be referenced directly. + */ +module Impl { + class CompilationUnit extends Generated::CompilationUnit { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CompilationUnitRegionEntryConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CompilationUnitRegionEntryConstructor.qll new file mode 100644 index 000000000000..90a62c21b093 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CompilationUnitRegionEntryConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `CompilationUnitRegionEntry` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `CompilationUnitRegionEntry` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructCompilationUnitRegionEntry(Raw::CompilationUnitRegionEntry id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CompilationUnitRegionEntryImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CompilationUnitRegionEntryImpl.qll new file mode 100644 index 000000000000..ce27e750eecd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CompilationUnitRegionEntryImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `CompilationUnitRegionEntry`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.CompilationUnitRegionEntry + +/** + * INTERNAL: This module contains the customizable definition of `CompilationUnitRegionEntry` and should not + * be referenced directly. + */ +module Impl { + class CompilationUnitRegionEntry extends Generated::CompilationUnitRegionEntry { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CompoundStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CompoundStatementConstructor.qll new file mode 100644 index 000000000000..b2de6fc21672 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CompoundStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `CompoundStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `CompoundStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructCompoundStatement(Raw::CompoundStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CompoundStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CompoundStatementImpl.qll new file mode 100644 index 000000000000..6a9585da6af8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CompoundStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `CompoundStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.CompoundStatement + +/** + * INTERNAL: This module contains the customizable definition of `CompoundStatement` and should not + * be referenced directly. + */ +module Impl { + class CompoundStatement extends Generated::CompoundStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ConditionalExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ConditionalExpressionConstructor.qll new file mode 100644 index 000000000000..11cf13b6d4bd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ConditionalExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ConditionalExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ConditionalExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructConditionalExpression(Raw::ConditionalExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ConditionalExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ConditionalExpressionImpl.qll new file mode 100644 index 000000000000..d59be3561ead --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ConditionalExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ConditionalExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ConditionalExpression + +/** + * INTERNAL: This module contains the customizable definition of `ConditionalExpression` and should not + * be referenced directly. + */ +module Impl { + class ConditionalExpression extends Generated::ConditionalExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ContainerAttributeLiteralConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ContainerAttributeLiteralConstructor.qll new file mode 100644 index 000000000000..bceedf6c066c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ContainerAttributeLiteralConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ContainerAttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ContainerAttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructContainerAttributeLiteral(Raw::ContainerAttributeLiteral id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ContainerAttributeLiteralImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ContainerAttributeLiteralImpl.qll new file mode 100644 index 000000000000..7852392834d2 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ContainerAttributeLiteralImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ContainerAttributeLiteral`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ContainerAttributeLiteral + +/** + * INTERNAL: This module contains the customizable definition of `ContainerAttributeLiteral` and should not + * be referenced directly. + */ +module Impl { + class ContainerAttributeLiteral extends Generated::ContainerAttributeLiteral { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ContainerLiteralExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ContainerLiteralExpressionConstructor.qll new file mode 100644 index 000000000000..f13784029545 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ContainerLiteralExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ContainerLiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ContainerLiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructContainerLiteralExpression(Raw::ContainerLiteralExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ContainerLiteralExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ContainerLiteralExpressionImpl.qll new file mode 100644 index 000000000000..5598c9af0ce2 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ContainerLiteralExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ContainerLiteralExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ContainerLiteralExpression + +/** + * INTERNAL: This module contains the customizable definition of `ContainerLiteralExpression` and should not + * be referenced directly. + */ +module Impl { + class ContainerLiteralExpression extends Generated::ContainerLiteralExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ContainerTypeConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ContainerTypeConstructor.qll new file mode 100644 index 000000000000..3f877294f986 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ContainerTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ContainerType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ContainerType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructContainerType(Raw::ContainerType id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ContainerTypeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ContainerTypeImpl.qll new file mode 100644 index 000000000000..24e5757de8f7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ContainerTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ContainerType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ContainerType + +/** + * INTERNAL: This module contains the customizable definition of `ContainerType` and should not + * be referenced directly. + */ +module Impl { + class ContainerType extends Generated::ContainerType { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ContinueStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ContinueStatementConstructor.qll new file mode 100644 index 000000000000..6b835c2bc220 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ContinueStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ContinueStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ContinueStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructContinueStatement(Raw::ContinueStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ContinueStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ContinueStatementImpl.qll new file mode 100644 index 000000000000..cb17ff553d0d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ContinueStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ContinueStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ContinueStatement + +/** + * INTERNAL: This module contains the customizable definition of `ContinueStatement` and should not + * be referenced directly. + */ +module Impl { + class ContinueStatement extends Generated::ContinueStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CountAggregateSelectionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CountAggregateSelectionConstructor.qll new file mode 100644 index 000000000000..038c2f2b56da --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CountAggregateSelectionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `CountAggregateSelection` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `CountAggregateSelection` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructCountAggregateSelection(Raw::CountAggregateSelection id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CountAggregateSelectionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CountAggregateSelectionImpl.qll new file mode 100644 index 000000000000..73ac46404c2e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CountAggregateSelectionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `CountAggregateSelection`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.CountAggregateSelection + +/** + * INTERNAL: This module contains the customizable definition of `CountAggregateSelection` and should not + * be referenced directly. + */ +module Impl { + class CountAggregateSelection extends Generated::CountAggregateSelection { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CrossCompanyAllConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CrossCompanyAllConstructor.qll new file mode 100644 index 000000000000..1024d810a7ec --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CrossCompanyAllConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `CrossCompanyAll` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `CrossCompanyAll` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructCrossCompanyAll(Raw::CrossCompanyAll id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CrossCompanyAllImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CrossCompanyAllImpl.qll new file mode 100644 index 000000000000..cfe28bb5363c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CrossCompanyAllImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `CrossCompanyAll`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.CrossCompanyAll + +/** + * INTERNAL: This module contains the customizable definition of `CrossCompanyAll` and should not + * be referenced directly. + */ +module Impl { + class CrossCompanyAll extends Generated::CrossCompanyAll { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CrossCompanyContainerConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CrossCompanyContainerConstructor.qll new file mode 100644 index 000000000000..66c64098a215 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CrossCompanyContainerConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `CrossCompanyContainer` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `CrossCompanyContainer` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructCrossCompanyContainer(Raw::CrossCompanyContainer id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CrossCompanyContainerImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CrossCompanyContainerImpl.qll new file mode 100644 index 000000000000..ac86fc363efc --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CrossCompanyContainerImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `CrossCompanyContainer`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.CrossCompanyContainer + +/** + * INTERNAL: This module contains the customizable definition of `CrossCompanyContainer` and should not + * be referenced directly. + */ +module Impl { + class CrossCompanyContainer extends Generated::CrossCompanyContainer { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/CrossCompanyImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/CrossCompanyImpl.qll new file mode 100644 index 000000000000..c32305b5ec0e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/CrossCompanyImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `CrossCompany`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.CrossCompany + +/** + * INTERNAL: This module contains the customizable definition of `CrossCompany` and should not + * be referenced directly. + */ +module Impl { + class CrossCompany extends Generated::CrossCompany { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DateAttributeLiteralConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DateAttributeLiteralConstructor.qll new file mode 100644 index 000000000000..319e5329faa4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DateAttributeLiteralConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `DateAttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `DateAttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructDateAttributeLiteral(Raw::DateAttributeLiteral id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DateAttributeLiteralImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DateAttributeLiteralImpl.qll new file mode 100644 index 000000000000..2223023e72db --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DateAttributeLiteralImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `DateAttributeLiteral`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.DateAttributeLiteral + +/** + * INTERNAL: This module contains the customizable definition of `DateAttributeLiteral` and should not + * be referenced directly. + */ +module Impl { + class DateAttributeLiteral extends Generated::DateAttributeLiteral { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DateLiteralExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DateLiteralExpressionConstructor.qll new file mode 100644 index 000000000000..86289945000d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DateLiteralExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `DateLiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `DateLiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructDateLiteralExpression(Raw::DateLiteralExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DateLiteralExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DateLiteralExpressionImpl.qll new file mode 100644 index 000000000000..ca60687e8a22 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DateLiteralExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `DateLiteralExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.DateLiteralExpression + +/** + * INTERNAL: This module contains the customizable definition of `DateLiteralExpression` and should not + * be referenced directly. + */ +module Impl { + class DateLiteralExpression extends Generated::DateLiteralExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DateTimeAttributeLiteralConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DateTimeAttributeLiteralConstructor.qll new file mode 100644 index 000000000000..b0985698b6cb --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DateTimeAttributeLiteralConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `DateTimeAttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `DateTimeAttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructDateTimeAttributeLiteral(Raw::DateTimeAttributeLiteral id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DateTimeAttributeLiteralImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DateTimeAttributeLiteralImpl.qll new file mode 100644 index 000000000000..207e69bd0364 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DateTimeAttributeLiteralImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `DateTimeAttributeLiteral`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.DateTimeAttributeLiteral + +/** + * INTERNAL: This module contains the customizable definition of `DateTimeAttributeLiteral` and should not + * be referenced directly. + */ +module Impl { + class DateTimeAttributeLiteral extends Generated::DateTimeAttributeLiteral { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DateTimeLiteralExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DateTimeLiteralExpressionConstructor.qll new file mode 100644 index 000000000000..a8028d0bad0e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DateTimeLiteralExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `DateTimeLiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `DateTimeLiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructDateTimeLiteralExpression(Raw::DateTimeLiteralExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DateTimeLiteralExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DateTimeLiteralExpressionImpl.qll new file mode 100644 index 000000000000..8123bbfe0279 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DateTimeLiteralExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `DateTimeLiteralExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.DateTimeLiteralExpression + +/** + * INTERNAL: This module contains the customizable definition of `DateTimeLiteralExpression` and should not + * be referenced directly. + */ +module Impl { + class DateTimeLiteralExpression extends Generated::DateTimeLiteralExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DateTimeTypeConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DateTimeTypeConstructor.qll new file mode 100644 index 000000000000..7891b89f1bc9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DateTimeTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `DateTimeType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `DateTimeType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructDateTimeType(Raw::DateTimeType id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DateTimeTypeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DateTimeTypeImpl.qll new file mode 100644 index 000000000000..2eec57da5c63 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DateTimeTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `DateTimeType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.DateTimeType + +/** + * INTERNAL: This module contains the customizable definition of `DateTimeType` and should not + * be referenced directly. + */ +module Impl { + class DateTimeType extends Generated::DateTimeType { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DateTypeConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DateTypeConstructor.qll new file mode 100644 index 000000000000..cebb3f9e4ce1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DateTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `DateType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `DateType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructDateType(Raw::DateType id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DateTypeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DateTypeImpl.qll new file mode 100644 index 000000000000..cf25bb7c5233 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DateTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `DateType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.DateType + +/** + * INTERNAL: This module contains the customizable definition of `DateType` and should not + * be referenced directly. + */ +module Impl { + class DateType extends Generated::DateType { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DblAttributeLiteralConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DblAttributeLiteralConstructor.qll new file mode 100644 index 000000000000..f01819f1e04e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DblAttributeLiteralConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `DblAttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `DblAttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructDblAttributeLiteral(Raw::DblAttributeLiteral id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DblAttributeLiteralImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DblAttributeLiteralImpl.qll new file mode 100644 index 000000000000..6e8be134612c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DblAttributeLiteralImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `DblAttributeLiteral`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.DblAttributeLiteral + +/** + * INTERNAL: This module contains the customizable definition of `DblAttributeLiteral` and should not + * be referenced directly. + */ +module Impl { + class DblAttributeLiteral extends Generated::DblAttributeLiteral { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DblTypeConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DblTypeConstructor.qll new file mode 100644 index 000000000000..556a168ac9ad --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DblTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `DblType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `DblType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructDblType(Raw::DblType id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DblTypeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DblTypeImpl.qll new file mode 100644 index 000000000000..3f388e78247e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DblTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `DblType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.DblType + +/** + * INTERNAL: This module contains the customizable definition of `DblType` and should not + * be referenced directly. + */ +module Impl { + class DblType extends Generated::DblType { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DeclarationImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DeclarationImpl.qll new file mode 100644 index 000000000000..23f26d1298f3 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DeclarationImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Declaration`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Declaration + +/** + * INTERNAL: This module contains the customizable definition of `Declaration` and should not + * be referenced directly. + */ +module Impl { + class Declaration extends Generated::Declaration { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DefaultTypeAttributeLiteralImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DefaultTypeAttributeLiteralImpl.qll new file mode 100644 index 000000000000..9f73fe962743 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DefaultTypeAttributeLiteralImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `DefaultTypeAttributeLiteral`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.DefaultTypeAttributeLiteral + +/** + * INTERNAL: This module contains the customizable definition of `DefaultTypeAttributeLiteral` and should not + * be referenced directly. + */ +module Impl { + class DefaultTypeAttributeLiteral extends Generated::DefaultTypeAttributeLiteral { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DefaultTypeLiteralExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DefaultTypeLiteralExpressionImpl.qll new file mode 100644 index 000000000000..2babc9b16a4f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DefaultTypeLiteralExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `DefaultTypeLiteralExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.DefaultTypeLiteralExpression + +/** + * INTERNAL: This module contains the customizable definition of `DefaultTypeLiteralExpression` and should not + * be referenced directly. + */ +module Impl { + class DefaultTypeLiteralExpression extends Generated::DefaultTypeLiteralExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DelegateConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DelegateConstructor.qll new file mode 100644 index 000000000000..8862a6375c3c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DelegateConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `Delegate` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `Delegate` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructDelegate(Raw::Delegate id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DelegateImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DelegateImpl.qll new file mode 100644 index 000000000000..ae855649467d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DelegateImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Delegate`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Delegate + +/** + * INTERNAL: This module contains the customizable definition of `Delegate` and should not + * be referenced directly. + */ +module Impl { + class Delegate extends Generated::Delegate { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DeleteStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DeleteStatementConstructor.qll new file mode 100644 index 000000000000..efe89bfbefb8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DeleteStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `DeleteStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `DeleteStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructDeleteStatement(Raw::DeleteStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DeleteStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DeleteStatementImpl.qll new file mode 100644 index 000000000000..78179e68724d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DeleteStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `DeleteStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.DeleteStatement + +/** + * INTERNAL: This module contains the customizable definition of `DeleteStatement` and should not + * be referenced directly. + */ +module Impl { + class DeleteStatement extends Generated::DeleteStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DivideExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DivideExpressionConstructor.qll new file mode 100644 index 000000000000..39320ebced25 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DivideExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `DivideExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `DivideExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructDivideExpression(Raw::DivideExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DivideExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DivideExpressionImpl.qll new file mode 100644 index 000000000000..1315ebb44bd9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DivideExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `DivideExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.DivideExpression + +/** + * INTERNAL: This module contains the customizable definition of `DivideExpression` and should not + * be referenced directly. + */ +module Impl { + class DivideExpression extends Generated::DivideExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DoWhileStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DoWhileStatementConstructor.qll new file mode 100644 index 000000000000..b7faa60d059b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DoWhileStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `DoWhileStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `DoWhileStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructDoWhileStatement(Raw::DoWhileStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/DoWhileStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/DoWhileStatementImpl.qll new file mode 100644 index 000000000000..257b591141e6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/DoWhileStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `DoWhileStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.DoWhileStatement + +/** + * INTERNAL: This module contains the customizable definition of `DoWhileStatement` and should not + * be referenced directly. + */ +module Impl { + class DoWhileStatement extends Generated::DoWhileStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ElementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ElementImpl.qll new file mode 100644 index 000000000000..63902837be32 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ElementImpl.qll @@ -0,0 +1,21 @@ +/** + * This module provides a hand-modifiable wrapper around the generated class `Element`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Element + +/** + * INTERNAL: This module contains the customizable definition of `Element` and should not + * be referenced directly. + */ +module Impl { + class Element extends Generated::Element { + /** + * Elements print as their most specific QL class by default. Subclasses carrying a useful + * name or value override this in their own `...Impl.qll`. + */ + override string toStringImpl() { result = this.getAPrimaryQlClass() } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/EmptyExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/EmptyExpressionConstructor.qll new file mode 100644 index 000000000000..9e616b4bc336 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/EmptyExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `EmptyExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `EmptyExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructEmptyExpression(Raw::EmptyExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/EmptyExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/EmptyExpressionImpl.qll new file mode 100644 index 000000000000..6c3811b5fff8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/EmptyExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `EmptyExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.EmptyExpression + +/** + * INTERNAL: This module contains the customizable definition of `EmptyExpression` and should not + * be referenced directly. + */ +module Impl { + class EmptyExpression extends Generated::EmptyExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/EmptyStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/EmptyStatementConstructor.qll new file mode 100644 index 000000000000..bae23e48d403 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/EmptyStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `EmptyStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `EmptyStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructEmptyStatement(Raw::EmptyStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/EmptyStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/EmptyStatementImpl.qll new file mode 100644 index 000000000000..b307bfe5d46b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/EmptyStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `EmptyStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.EmptyStatement + +/** + * INTERNAL: This module contains the customizable definition of `EmptyStatement` and should not + * be referenced directly. + */ +module Impl { + class EmptyStatement extends Generated::EmptyStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/EnumAttributeLiteralConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/EnumAttributeLiteralConstructor.qll new file mode 100644 index 000000000000..1d143da45cbd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/EnumAttributeLiteralConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `EnumAttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `EnumAttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructEnumAttributeLiteral(Raw::EnumAttributeLiteral id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/EnumAttributeLiteralImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/EnumAttributeLiteralImpl.qll new file mode 100644 index 000000000000..d372d803d940 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/EnumAttributeLiteralImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `EnumAttributeLiteral`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.EnumAttributeLiteral + +/** + * INTERNAL: This module contains the customizable definition of `EnumAttributeLiteral` and should not + * be referenced directly. + */ +module Impl { + class EnumAttributeLiteral extends Generated::EnumAttributeLiteral { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/EnumerationLiteralExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/EnumerationLiteralExpressionConstructor.qll new file mode 100644 index 000000000000..1adee5bc6b21 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/EnumerationLiteralExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `EnumerationLiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `EnumerationLiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructEnumerationLiteralExpression(Raw::EnumerationLiteralExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/EnumerationLiteralExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/EnumerationLiteralExpressionImpl.qll new file mode 100644 index 000000000000..33d517dc3d83 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/EnumerationLiteralExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `EnumerationLiteralExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.EnumerationLiteralExpression + +/** + * INTERNAL: This module contains the customizable definition of `EnumerationLiteralExpression` and should not + * be referenced directly. + */ +module Impl { + class EnumerationLiteralExpression extends Generated::EnumerationLiteralExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/EnumerationTypeConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/EnumerationTypeConstructor.qll new file mode 100644 index 000000000000..c81c84f37d6f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/EnumerationTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `EnumerationType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `EnumerationType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructEnumerationType(Raw::EnumerationType id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/EnumerationTypeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/EnumerationTypeImpl.qll new file mode 100644 index 000000000000..b8f069517074 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/EnumerationTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `EnumerationType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.EnumerationType + +/** + * INTERNAL: This module contains the customizable definition of `EnumerationType` and should not + * be referenced directly. + */ +module Impl { + class EnumerationType extends Generated::EnumerationType { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/EqualExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/EqualExpressionConstructor.qll new file mode 100644 index 000000000000..5e7228933722 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/EqualExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `EqualExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `EqualExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructEqualExpression(Raw::EqualExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/EqualExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/EqualExpressionImpl.qll new file mode 100644 index 000000000000..30f53789f0ee --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/EqualExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `EqualExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.EqualExpression + +/** + * INTERNAL: This module contains the customizable definition of `EqualExpression` and should not + * be referenced directly. + */ +module Impl { + class EqualExpression extends Generated::EqualExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ErrorElementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ErrorElementImpl.qll new file mode 100644 index 000000000000..7b67e940021f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ErrorElementImpl.qll @@ -0,0 +1,19 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ErrorElement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ErrorElement + +/** + * INTERNAL: This module contains the customizable definition of `ErrorElement` and should not + * be referenced directly. + */ +module Impl { + /** + * The superclass of all elements indicating some kind of error. + */ + class ErrorElement extends Generated::ErrorElement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/EvaluationActualParameterEntryConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/EvaluationActualParameterEntryConstructor.qll new file mode 100644 index 000000000000..245b59e551e0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/EvaluationActualParameterEntryConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `EvaluationActualParameterEntry` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `EvaluationActualParameterEntry` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructEvaluationActualParameterEntry(Raw::EvaluationActualParameterEntry id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/EvaluationActualParameterEntryImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/EvaluationActualParameterEntryImpl.qll new file mode 100644 index 000000000000..1ac2bbe73b6c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/EvaluationActualParameterEntryImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `EvaluationActualParameterEntry`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.EvaluationActualParameterEntry + +/** + * INTERNAL: This module contains the customizable definition of `EvaluationActualParameterEntry` and should not + * be referenced directly. + */ +module Impl { + class EvaluationActualParameterEntry extends Generated::EvaluationActualParameterEntry { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/EvaluationImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/EvaluationImpl.qll new file mode 100644 index 000000000000..c9c5152788d8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/EvaluationImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Evaluation`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Evaluation + +/** + * INTERNAL: This module contains the customizable definition of `Evaluation` and should not + * be referenced directly. + */ +module Impl { + class Evaluation extends Generated::Evaluation { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ExplicitSelectionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ExplicitSelectionConstructor.qll new file mode 100644 index 000000000000..8abb3d3c4a82 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ExplicitSelectionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ExplicitSelection` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ExplicitSelection` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructExplicitSelection(Raw::ExplicitSelection id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ExplicitSelectionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ExplicitSelectionImpl.qll new file mode 100644 index 000000000000..8f4f1239b2bf --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ExplicitSelectionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ExplicitSelection`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ExplicitSelection + +/** + * INTERNAL: This module contains the customizable definition of `ExplicitSelection` and should not + * be referenced directly. + */ +module Impl { + class ExplicitSelection extends Generated::ExplicitSelection { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionCompilationUnitConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionCompilationUnitConstructor.qll new file mode 100644 index 000000000000..3bb7a30e9494 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionCompilationUnitConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ExpressionCompilationUnit` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ExpressionCompilationUnit` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructExpressionCompilationUnit(Raw::ExpressionCompilationUnit id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionCompilationUnitImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionCompilationUnitImpl.qll new file mode 100644 index 000000000000..145758d147bc --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionCompilationUnitImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ExpressionCompilationUnit`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ExpressionCompilationUnit + +/** + * INTERNAL: This module contains the customizable definition of `ExpressionCompilationUnit` and should not + * be referenced directly. + */ +module Impl { + class ExpressionCompilationUnit extends Generated::ExpressionCompilationUnit { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionImpl.qll new file mode 100644 index 000000000000..66e86b8c70ae --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Expression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Expression + +/** + * INTERNAL: This module contains the customizable definition of `Expression` and should not + * be referenced directly. + */ +module Impl { + class Expression extends Generated::Expression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionQualifierConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionQualifierConstructor.qll new file mode 100644 index 000000000000..22871f13eb98 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionQualifierConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ExpressionQualifier` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ExpressionQualifier` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructExpressionQualifier(Raw::ExpressionQualifier id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionQualifierImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionQualifierImpl.qll new file mode 100644 index 000000000000..11d6d0a5c464 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionQualifierImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ExpressionQualifier`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ExpressionQualifier + +/** + * INTERNAL: This module contains the customizable definition of `ExpressionQualifier` and should not + * be referenced directly. + */ +module Impl { + class ExpressionQualifier extends Generated::ExpressionQualifier { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionStatementConstructor.qll new file mode 100644 index 000000000000..281cca287309 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ExpressionStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ExpressionStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructExpressionStatement(Raw::ExpressionStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionStatementImpl.qll new file mode 100644 index 000000000000..10d483b46cf6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ExpressionStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ExpressionStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ExpressionStatement + +/** + * INTERNAL: This module contains the customizable definition of `ExpressionStatement` and should not + * be referenced directly. + */ +module Impl { + class ExpressionStatement extends Generated::ExpressionStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FieldAssignmentConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FieldAssignmentConstructor.qll new file mode 100644 index 000000000000..a2fa7ae6d5f7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FieldAssignmentConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `FieldAssignment` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `FieldAssignment` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructFieldAssignment(Raw::FieldAssignment id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FieldAssignmentImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FieldAssignmentImpl.qll new file mode 100644 index 000000000000..9bf0dd59c57a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FieldAssignmentImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `FieldAssignment`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.FieldAssignment + +/** + * INTERNAL: This module contains the customizable definition of `FieldAssignment` and should not + * be referenced directly. + */ +module Impl { + class FieldAssignment extends Generated::FieldAssignment { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FieldDeclarationImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FieldDeclarationImpl.qll new file mode 100644 index 000000000000..01b8f338f207 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FieldDeclarationImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `FieldDeclaration`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.FieldDeclaration + +/** + * INTERNAL: This module contains the customizable definition of `FieldDeclaration` and should not + * be referenced directly. + */ +module Impl { + class FieldDeclaration extends Generated::FieldDeclaration { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FieldExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FieldExpressionImpl.qll new file mode 100644 index 000000000000..9abbbd783dab --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FieldExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `FieldExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.FieldExpression + +/** + * INTERNAL: This module contains the customizable definition of `FieldExpression` and should not + * be referenced directly. + */ +module Impl { + class FieldExpression extends Generated::FieldExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FieldSelectionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FieldSelectionConstructor.qll new file mode 100644 index 000000000000..339a62b4f4d5 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FieldSelectionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `FieldSelection` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `FieldSelection` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructFieldSelection(Raw::FieldSelection id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FieldSelectionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FieldSelectionImpl.qll new file mode 100644 index 000000000000..c1cfa8aab7c9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FieldSelectionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `FieldSelection`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.FieldSelection + +/** + * INTERNAL: This module contains the customizable definition of `FieldSelection` and should not + * be referenced directly. + */ +module Impl { + class FieldSelection extends Generated::FieldSelection { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FieldSpecificationImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FieldSpecificationImpl.qll new file mode 100644 index 000000000000..116269bed5de --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FieldSpecificationImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `FieldSpecification`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.FieldSpecification + +/** + * INTERNAL: This module contains the customizable definition of `FieldSpecification` and should not + * be referenced directly. + */ +module Impl { + class FieldSpecification extends Generated::FieldSpecification { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FileConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FileConstructor.qll new file mode 100644 index 000000000000..f57110c53a58 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FileConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `File` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `File` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructFile(Raw::File id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FileImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FileImpl.qll new file mode 100644 index 000000000000..4eaf8e3ef27e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FileImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `File`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.File + +/** + * INTERNAL: This module contains the customizable definition of `File` and should not + * be referenced directly. + */ +module Impl { + class File extends Generated::File { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FindStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FindStatementConstructor.qll new file mode 100644 index 000000000000..efd065bd387c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FindStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `FindStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `FindStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructFindStatement(Raw::FindStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FindStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FindStatementImpl.qll new file mode 100644 index 000000000000..f3cc10d8e8c1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FindStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `FindStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.FindStatement + +/** + * INTERNAL: This module contains the customizable definition of `FindStatement` and should not + * be referenced directly. + */ +module Impl { + class FindStatement extends Generated::FindStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FlushStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FlushStatementConstructor.qll new file mode 100644 index 000000000000..334b125ff00b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FlushStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `FlushStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `FlushStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructFlushStatement(Raw::FlushStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FlushStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FlushStatementImpl.qll new file mode 100644 index 000000000000..c1051cfc8c97 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FlushStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `FlushStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.FlushStatement + +/** + * INTERNAL: This module contains the customizable definition of `FlushStatement` and should not + * be referenced directly. + */ +module Impl { + class FlushStatement extends Generated::FlushStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ForAssignImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ForAssignImpl.qll new file mode 100644 index 000000000000..4a9751cd0bf5 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ForAssignImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ForAssign`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ForAssign + +/** + * INTERNAL: This module contains the customizable definition of `ForAssign` and should not + * be referenced directly. + */ +module Impl { + class ForAssign extends Generated::ForAssign { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ForDeclarationAssignConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ForDeclarationAssignConstructor.qll new file mode 100644 index 000000000000..d59e3fe17b15 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ForDeclarationAssignConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ForDeclarationAssign` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ForDeclarationAssign` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructForDeclarationAssign(Raw::ForDeclarationAssign id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ForDeclarationAssignImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ForDeclarationAssignImpl.qll new file mode 100644 index 000000000000..a7bb29536576 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ForDeclarationAssignImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ForDeclarationAssign`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ForDeclarationAssign + +/** + * INTERNAL: This module contains the customizable definition of `ForDeclarationAssign` and should not + * be referenced directly. + */ +module Impl { + class ForDeclarationAssign extends Generated::ForDeclarationAssign { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ForExpressionAssignImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ForExpressionAssignImpl.qll new file mode 100644 index 000000000000..9237746f82bc --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ForExpressionAssignImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ForExpressionAssign`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ForExpressionAssign + +/** + * INTERNAL: This module contains the customizable definition of `ForExpressionAssign` and should not + * be referenced directly. + */ +module Impl { + class ForExpressionAssign extends Generated::ForExpressionAssign { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldAssignConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldAssignConstructor.qll new file mode 100644 index 000000000000..ae19b8d4ff7c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldAssignConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ForFieldAssign` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ForFieldAssign` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructForFieldAssign(Raw::ForFieldAssign id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldAssignImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldAssignImpl.qll new file mode 100644 index 000000000000..0a7d9f10a278 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldAssignImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ForFieldAssign`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ForFieldAssign + +/** + * INTERNAL: This module contains the customizable definition of `ForFieldAssign` and should not + * be referenced directly. + */ +module Impl { + class ForFieldAssign extends Generated::ForFieldAssign { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldDecrementAssignConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldDecrementAssignConstructor.qll new file mode 100644 index 000000000000..ce716432b5aa --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldDecrementAssignConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ForFieldDecrementAssign` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ForFieldDecrementAssign` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructForFieldDecrementAssign(Raw::ForFieldDecrementAssign id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldDecrementAssignImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldDecrementAssignImpl.qll new file mode 100644 index 000000000000..dbb2f6ff35e7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldDecrementAssignImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ForFieldDecrementAssign`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ForFieldDecrementAssign + +/** + * INTERNAL: This module contains the customizable definition of `ForFieldDecrementAssign` and should not + * be referenced directly. + */ +module Impl { + class ForFieldDecrementAssign extends Generated::ForFieldDecrementAssign { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldIncrementAssignConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldIncrementAssignConstructor.qll new file mode 100644 index 000000000000..64eb49c6fafd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldIncrementAssignConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ForFieldIncrementAssign` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ForFieldIncrementAssign` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructForFieldIncrementAssign(Raw::ForFieldIncrementAssign id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldIncrementAssignImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldIncrementAssignImpl.qll new file mode 100644 index 000000000000..c951659edc2c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldIncrementAssignImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ForFieldIncrementAssign`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ForFieldIncrementAssign + +/** + * INTERNAL: This module contains the customizable definition of `ForFieldIncrementAssign` and should not + * be referenced directly. + */ +module Impl { + class ForFieldIncrementAssign extends Generated::ForFieldIncrementAssign { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPostDecrementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPostDecrementConstructor.qll new file mode 100644 index 000000000000..9603feef548c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPostDecrementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ForFieldPostDecrement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ForFieldPostDecrement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructForFieldPostDecrement(Raw::ForFieldPostDecrement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPostDecrementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPostDecrementImpl.qll new file mode 100644 index 000000000000..0143bb3c5409 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPostDecrementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ForFieldPostDecrement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ForFieldPostDecrement + +/** + * INTERNAL: This module contains the customizable definition of `ForFieldPostDecrement` and should not + * be referenced directly. + */ +module Impl { + class ForFieldPostDecrement extends Generated::ForFieldPostDecrement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPostIncrementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPostIncrementConstructor.qll new file mode 100644 index 000000000000..52ecad120d1d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPostIncrementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ForFieldPostIncrement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ForFieldPostIncrement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructForFieldPostIncrement(Raw::ForFieldPostIncrement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPostIncrementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPostIncrementImpl.qll new file mode 100644 index 000000000000..1d67117dc4bc --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPostIncrementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ForFieldPostIncrement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ForFieldPostIncrement + +/** + * INTERNAL: This module contains the customizable definition of `ForFieldPostIncrement` and should not + * be referenced directly. + */ +module Impl { + class ForFieldPostIncrement extends Generated::ForFieldPostIncrement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPreDecrementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPreDecrementConstructor.qll new file mode 100644 index 000000000000..4532117d0fda --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPreDecrementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ForFieldPreDecrement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ForFieldPreDecrement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructForFieldPreDecrement(Raw::ForFieldPreDecrement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPreDecrementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPreDecrementImpl.qll new file mode 100644 index 000000000000..9b8eed11541c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPreDecrementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ForFieldPreDecrement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ForFieldPreDecrement + +/** + * INTERNAL: This module contains the customizable definition of `ForFieldPreDecrement` and should not + * be referenced directly. + */ +module Impl { + class ForFieldPreDecrement extends Generated::ForFieldPreDecrement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPreIncrementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPreIncrementConstructor.qll new file mode 100644 index 000000000000..27837af621de --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPreIncrementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ForFieldPreIncrement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ForFieldPreIncrement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructForFieldPreIncrement(Raw::ForFieldPreIncrement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPreIncrementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPreIncrementImpl.qll new file mode 100644 index 000000000000..56c2bfbd8b79 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ForFieldPreIncrementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ForFieldPreIncrement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ForFieldPreIncrement + +/** + * INTERNAL: This module contains the customizable definition of `ForFieldPreIncrement` and should not + * be referenced directly. + */ +module Impl { + class ForFieldPreIncrement extends Generated::ForFieldPreIncrement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ForStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ForStatementConstructor.qll new file mode 100644 index 000000000000..185379a331b4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ForStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ForStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ForStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructForStatement(Raw::ForStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ForStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ForStatementImpl.qll new file mode 100644 index 000000000000..16fff001a1f8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ForStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ForStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ForStatement + +/** + * INTERNAL: This module contains the customizable definition of `ForStatement` and should not + * be referenced directly. + */ +module Impl { + class ForStatement extends Generated::ForStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FormControlConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FormControlConstructor.qll new file mode 100644 index 000000000000..e768c9a4654c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FormControlConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `FormControl` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `FormControl` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructFormControl(Raw::FormControl id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FormControlImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FormControlImpl.qll new file mode 100644 index 000000000000..86fa4680858d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FormControlImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `FormControl`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.FormControl + +/** + * INTERNAL: This module contains the customizable definition of `FormControl` and should not + * be referenced directly. + */ +module Impl { + class FormControl extends Generated::FormControl { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FormDataFieldConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FormDataFieldConstructor.qll new file mode 100644 index 000000000000..d1483224256d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FormDataFieldConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `FormDataField` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `FormDataField` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructFormDataField(Raw::FormDataField id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FormDataFieldImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FormDataFieldImpl.qll new file mode 100644 index 000000000000..740cf8b9a00b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FormDataFieldImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `FormDataField`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.FormDataField + +/** + * INTERNAL: This module contains the customizable definition of `FormDataField` and should not + * be referenced directly. + */ +module Impl { + class FormDataField extends Generated::FormDataField { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FormDataSourceConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FormDataSourceConstructor.qll new file mode 100644 index 000000000000..382f4f9ae59e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FormDataSourceConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `FormDataSource` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `FormDataSource` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructFormDataSource(Raw::FormDataSource id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FormDataSourceImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FormDataSourceImpl.qll new file mode 100644 index 000000000000..67456b5abd85 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FormDataSourceImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `FormDataSource`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.FormDataSource + +/** + * INTERNAL: This module contains the customizable definition of `FormDataSource` and should not + * be referenced directly. + */ +module Impl { + class FormDataSource extends Generated::FormDataSource { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FormElementTypeConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FormElementTypeConstructor.qll new file mode 100644 index 000000000000..5813d3efc8db --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FormElementTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `FormElementType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `FormElementType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructFormElementType(Raw::FormElementType id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FormElementTypeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FormElementTypeImpl.qll new file mode 100644 index 000000000000..751b03bf88ff --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FormElementTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `FormElementType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.FormElementType + +/** + * INTERNAL: This module contains the customizable definition of `FormElementType` and should not + * be referenced directly. + */ +module Impl { + class FormElementType extends Generated::FormElementType { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FormModelElementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FormModelElementConstructor.qll new file mode 100644 index 000000000000..13cb81859251 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FormModelElementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `FormModelElement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `FormModelElement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructFormModelElement(Raw::FormModelElement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FormModelElementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FormModelElementImpl.qll new file mode 100644 index 000000000000..7a2813419342 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FormModelElementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `FormModelElement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.FormModelElement + +/** + * INTERNAL: This module contains the customizable definition of `FormModelElement` and should not + * be referenced directly. + */ +module Impl { + class FormModelElement extends Generated::FormModelElement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FormNestedElementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FormNestedElementImpl.qll new file mode 100644 index 000000000000..ea77904d5e1b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FormNestedElementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `FormNestedElement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.FormNestedElement + +/** + * INTERNAL: This module contains the customizable definition of `FormNestedElement` and should not + * be referenced directly. + */ +module Impl { + class FormNestedElement extends Generated::FormNestedElement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FunctionCallConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FunctionCallConstructor.qll new file mode 100644 index 000000000000..cb203f810a74 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FunctionCallConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `FunctionCall` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `FunctionCall` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructFunctionCall(Raw::FunctionCall id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FunctionCallImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FunctionCallImpl.qll new file mode 100644 index 000000000000..2ef8102df773 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FunctionCallImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `FunctionCall`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.FunctionCall + +/** + * INTERNAL: This module contains the customizable definition of `FunctionCall` and should not + * be referenced directly. + */ +module Impl { + class FunctionCall extends Generated::FunctionCall { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FunctionDeclarationConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FunctionDeclarationConstructor.qll new file mode 100644 index 000000000000..8764136a43ea --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FunctionDeclarationConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `FunctionDeclaration` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `FunctionDeclaration` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructFunctionDeclaration(Raw::FunctionDeclaration id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FunctionDeclarationImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FunctionDeclarationImpl.qll new file mode 100644 index 000000000000..1eb94d741b78 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FunctionDeclarationImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `FunctionDeclaration`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.FunctionDeclaration + +/** + * INTERNAL: This module contains the customizable definition of `FunctionDeclaration` and should not + * be referenced directly. + */ +module Impl { + class FunctionDeclaration extends Generated::FunctionDeclaration { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/GenericEvaluationImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/GenericEvaluationImpl.qll new file mode 100644 index 000000000000..31a476564761 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/GenericEvaluationImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `GenericEvaluation`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.GenericEvaluation + +/** + * INTERNAL: This module contains the customizable definition of `GenericEvaluation` and should not + * be referenced directly. + */ +module Impl { + class GenericEvaluation extends Generated::GenericEvaluation { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/GenericXppTypeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/GenericXppTypeImpl.qll new file mode 100644 index 000000000000..8c7b9471021f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/GenericXppTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `GenericXppType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.GenericXppType + +/** + * INTERNAL: This module contains the customizable definition of `GenericXppType` and should not + * be referenced directly. + */ +module Impl { + class GenericXppType extends Generated::GenericXppType { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/GlobalOrderElementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/GlobalOrderElementConstructor.qll new file mode 100644 index 000000000000..a6deb59ef41a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/GlobalOrderElementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `GlobalOrderElement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `GlobalOrderElement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructGlobalOrderElement(Raw::GlobalOrderElement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/GlobalOrderElementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/GlobalOrderElementImpl.qll new file mode 100644 index 000000000000..ab7062443f91 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/GlobalOrderElementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `GlobalOrderElement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.GlobalOrderElement + +/** + * INTERNAL: This module contains the customizable definition of `GlobalOrderElement` and should not + * be referenced directly. + */ +module Impl { + class GlobalOrderElement extends Generated::GlobalOrderElement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/GreaterThanExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/GreaterThanExpressionConstructor.qll new file mode 100644 index 000000000000..6bbc7bb92bdc --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/GreaterThanExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `GreaterThanExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `GreaterThanExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructGreaterThanExpression(Raw::GreaterThanExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/GreaterThanExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/GreaterThanExpressionImpl.qll new file mode 100644 index 000000000000..fa387cb15af6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/GreaterThanExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `GreaterThanExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.GreaterThanExpression + +/** + * INTERNAL: This module contains the customizable definition of `GreaterThanExpression` and should not + * be referenced directly. + */ +module Impl { + class GreaterThanExpression extends Generated::GreaterThanExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/GreaterThanOrEqualExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/GreaterThanOrEqualExpressionConstructor.qll new file mode 100644 index 000000000000..29bdae9141b3 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/GreaterThanOrEqualExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `GreaterThanOrEqualExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `GreaterThanOrEqualExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructGreaterThanOrEqualExpression(Raw::GreaterThanOrEqualExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/GreaterThanOrEqualExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/GreaterThanOrEqualExpressionImpl.qll new file mode 100644 index 000000000000..f381bde90e77 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/GreaterThanOrEqualExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `GreaterThanOrEqualExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.GreaterThanOrEqualExpression + +/** + * INTERNAL: This module contains the customizable definition of `GreaterThanOrEqualExpression` and should not + * be referenced directly. + */ +module Impl { + class GreaterThanOrEqualExpression extends Generated::GreaterThanOrEqualExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/GuidAttributeLiteralConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/GuidAttributeLiteralConstructor.qll new file mode 100644 index 000000000000..ff6a153a1e90 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/GuidAttributeLiteralConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `GuidAttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `GuidAttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructGuidAttributeLiteral(Raw::GuidAttributeLiteral id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/GuidAttributeLiteralImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/GuidAttributeLiteralImpl.qll new file mode 100644 index 000000000000..a29a5b3fd111 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/GuidAttributeLiteralImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `GuidAttributeLiteral`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.GuidAttributeLiteral + +/** + * INTERNAL: This module contains the customizable definition of `GuidAttributeLiteral` and should not + * be referenced directly. + */ +module Impl { + class GuidAttributeLiteral extends Generated::GuidAttributeLiteral { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/GuidTypeConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/GuidTypeConstructor.qll new file mode 100644 index 000000000000..da88702abb52 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/GuidTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `GuidType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `GuidType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructGuidType(Raw::GuidType id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/GuidTypeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/GuidTypeImpl.qll new file mode 100644 index 000000000000..f6111c1b34ee --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/GuidTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `GuidType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.GuidType + +/** + * INTERNAL: This module contains the customizable definition of `GuidType` and should not + * be referenced directly. + */ +module Impl { + class GuidType extends Generated::GuidType { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IfStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IfStatementConstructor.qll new file mode 100644 index 000000000000..1b7751509848 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IfStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `IfStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `IfStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructIfStatement(Raw::IfStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IfStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IfStatementImpl.qll new file mode 100644 index 000000000000..b3321488b6a1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IfStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `IfStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.IfStatement + +/** + * INTERNAL: This module contains the customizable definition of `IfStatement` and should not + * be referenced directly. + */ +module Impl { + class IfStatement extends Generated::IfStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IfThenElseStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IfThenElseStatementConstructor.qll new file mode 100644 index 000000000000..ae3279cbd8dd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IfThenElseStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `IfThenElseStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `IfThenElseStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructIfThenElseStatement(Raw::IfThenElseStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IfThenElseStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IfThenElseStatementImpl.qll new file mode 100644 index 000000000000..34b3530e9883 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IfThenElseStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `IfThenElseStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.IfThenElseStatement + +/** + * INTERNAL: This module contains the customizable definition of `IfThenElseStatement` and should not + * be referenced directly. + */ +module Impl { + class IfThenElseStatement extends Generated::IfThenElseStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ImplicitSelectionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ImplicitSelectionConstructor.qll new file mode 100644 index 000000000000..f500c1fef24b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ImplicitSelectionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ImplicitSelection` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ImplicitSelection` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructImplicitSelection(Raw::ImplicitSelection id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ImplicitSelectionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ImplicitSelectionImpl.qll new file mode 100644 index 000000000000..18a184143cac --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ImplicitSelectionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ImplicitSelection`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ImplicitSelection + +/** + * INTERNAL: This module contains the customizable definition of `ImplicitSelection` and should not + * be referenced directly. + */ +module Impl { + class ImplicitSelection extends Generated::ImplicitSelection { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/InExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/InExpressionConstructor.qll new file mode 100644 index 000000000000..e964a71f6263 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/InExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `InExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `InExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructInExpression(Raw::InExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/InExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/InExpressionImpl.qll new file mode 100644 index 000000000000..31aabec67726 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/InExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `InExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.InExpression + +/** + * INTERNAL: This module contains the customizable definition of `InExpression` and should not + * be referenced directly. + */ +module Impl { + class InExpression extends Generated::InExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/InsertFieldSpecificationConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/InsertFieldSpecificationConstructor.qll new file mode 100644 index 000000000000..a5a7c53bca92 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/InsertFieldSpecificationConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `InsertFieldSpecification` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `InsertFieldSpecification` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructInsertFieldSpecification(Raw::InsertFieldSpecification id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/InsertFieldSpecificationImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/InsertFieldSpecificationImpl.qll new file mode 100644 index 000000000000..4ea6314996c3 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/InsertFieldSpecificationImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `InsertFieldSpecification`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.InsertFieldSpecification + +/** + * INTERNAL: This module contains the customizable definition of `InsertFieldSpecification` and should not + * be referenced directly. + */ +module Impl { + class InsertFieldSpecification extends Generated::InsertFieldSpecification { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/InsertStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/InsertStatementConstructor.qll new file mode 100644 index 000000000000..e3176cb7e752 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/InsertStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `InsertStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `InsertStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructInsertStatement(Raw::InsertStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/InsertStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/InsertStatementImpl.qll new file mode 100644 index 000000000000..03f0983ec508 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/InsertStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `InsertStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.InsertStatement + +/** + * INTERNAL: This module contains the customizable definition of `InsertStatement` and should not + * be referenced directly. + */ +module Impl { + class InsertStatement extends Generated::InsertStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/InstanceNameImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/InstanceNameImpl.qll new file mode 100644 index 000000000000..a39a92282240 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/InstanceNameImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `InstanceName`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.InstanceName + +/** + * INTERNAL: This module contains the customizable definition of `InstanceName` and should not + * be referenced directly. + */ +module Impl { + class InstanceName extends Generated::InstanceName { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/Int64AttributeLiteralConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/Int64AttributeLiteralConstructor.qll new file mode 100644 index 000000000000..268daf58fe1b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/Int64AttributeLiteralConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `Int64AttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `Int64AttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructInt64AttributeLiteral(Raw::Int64AttributeLiteral id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/Int64AttributeLiteralImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/Int64AttributeLiteralImpl.qll new file mode 100644 index 000000000000..a3f45f68d41e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/Int64AttributeLiteralImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Int64AttributeLiteral`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Int64AttributeLiteral + +/** + * INTERNAL: This module contains the customizable definition of `Int64AttributeLiteral` and should not + * be referenced directly. + */ +module Impl { + class Int64AttributeLiteral extends Generated::Int64AttributeLiteral { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/Int64LiteralExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/Int64LiteralExpressionConstructor.qll new file mode 100644 index 000000000000..026c249d50fe --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/Int64LiteralExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `Int64LiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `Int64LiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructInt64LiteralExpression(Raw::Int64LiteralExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/Int64LiteralExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/Int64LiteralExpressionImpl.qll new file mode 100644 index 000000000000..d50a1f0b8f43 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/Int64LiteralExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Int64LiteralExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Int64LiteralExpression + +/** + * INTERNAL: This module contains the customizable definition of `Int64LiteralExpression` and should not + * be referenced directly. + */ +module Impl { + class Int64LiteralExpression extends Generated::Int64LiteralExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/Int64TypeConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/Int64TypeConstructor.qll new file mode 100644 index 000000000000..e694c64df811 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/Int64TypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `Int64Type` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `Int64Type` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructInt64Type(Raw::Int64Type id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/Int64TypeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/Int64TypeImpl.qll new file mode 100644 index 000000000000..ee70a023dfe7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/Int64TypeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Int64Type`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Int64Type + +/** + * INTERNAL: This module contains the customizable definition of `Int64Type` and should not + * be referenced directly. + */ +module Impl { + class Int64Type extends Generated::Int64Type { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IntAttributeLiteralConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IntAttributeLiteralConstructor.qll new file mode 100644 index 000000000000..b68c43f726e0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IntAttributeLiteralConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `IntAttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `IntAttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructIntAttributeLiteral(Raw::IntAttributeLiteral id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IntAttributeLiteralImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IntAttributeLiteralImpl.qll new file mode 100644 index 000000000000..49bf621e9396 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IntAttributeLiteralImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `IntAttributeLiteral`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.IntAttributeLiteral + +/** + * INTERNAL: This module contains the customizable definition of `IntAttributeLiteral` and should not + * be referenced directly. + */ +module Impl { + class IntAttributeLiteral extends Generated::IntAttributeLiteral { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IntLiteralExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IntLiteralExpressionConstructor.qll new file mode 100644 index 000000000000..e20da8ada66a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IntLiteralExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `IntLiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `IntLiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructIntLiteralExpression(Raw::IntLiteralExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IntLiteralExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IntLiteralExpressionImpl.qll new file mode 100644 index 000000000000..9082baea016b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IntLiteralExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `IntLiteralExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.IntLiteralExpression + +/** + * INTERNAL: This module contains the customizable definition of `IntLiteralExpression` and should not + * be referenced directly. + */ +module Impl { + class IntLiteralExpression extends Generated::IntLiteralExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IntTypeConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IntTypeConstructor.qll new file mode 100644 index 000000000000..8b9ab34c2c74 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IntTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `IntType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `IntType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructIntType(Raw::IntType id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IntTypeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IntTypeImpl.qll new file mode 100644 index 000000000000..707200ae4524 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IntTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `IntType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.IntType + +/** + * INTERNAL: This module contains the customizable definition of `IntType` and should not + * be referenced directly. + */ +module Impl { + class IntType extends Generated::IntType { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IntegerDivideExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IntegerDivideExpressionConstructor.qll new file mode 100644 index 000000000000..ce6b6be0b324 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IntegerDivideExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `IntegerDivideExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `IntegerDivideExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructIntegerDivideExpression(Raw::IntegerDivideExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IntegerDivideExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IntegerDivideExpressionImpl.qll new file mode 100644 index 000000000000..5103ceed63a5 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IntegerDivideExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `IntegerDivideExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.IntegerDivideExpression + +/** + * INTERNAL: This module contains the customizable definition of `IntegerDivideExpression` and should not + * be referenced directly. + */ +module Impl { + class IntegerDivideExpression extends Generated::IntegerDivideExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/InterfaceConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/InterfaceConstructor.qll new file mode 100644 index 000000000000..5eacddf2b0c5 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/InterfaceConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `Interface` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `Interface` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructInterface(Raw::Interface id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/InterfaceImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/InterfaceImpl.qll new file mode 100644 index 000000000000..4eb8e3e8bde8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/InterfaceImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Interface`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Interface + +/** + * INTERNAL: This module contains the customizable definition of `Interface` and should not + * be referenced directly. + */ +module Impl { + class Interface extends Generated::Interface { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IntrinsicAttributeLiteralConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IntrinsicAttributeLiteralConstructor.qll new file mode 100644 index 000000000000..8e773ede264d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IntrinsicAttributeLiteralConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `IntrinsicAttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `IntrinsicAttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructIntrinsicAttributeLiteral(Raw::IntrinsicAttributeLiteral id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IntrinsicAttributeLiteralImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IntrinsicAttributeLiteralImpl.qll new file mode 100644 index 000000000000..80862a826337 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IntrinsicAttributeLiteralImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `IntrinsicAttributeLiteral`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.IntrinsicAttributeLiteral + +/** + * INTERNAL: This module contains the customizable definition of `IntrinsicAttributeLiteral` and should not + * be referenced directly. + */ +module Impl { + class IntrinsicAttributeLiteral extends Generated::IntrinsicAttributeLiteral { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IntrinsicConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IntrinsicConstructor.qll new file mode 100644 index 000000000000..2acbd642c78d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IntrinsicConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `Intrinsic` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `Intrinsic` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructIntrinsic(Raw::Intrinsic id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IntrinsicImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IntrinsicImpl.qll new file mode 100644 index 000000000000..befab0c5343b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IntrinsicImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Intrinsic`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Intrinsic + +/** + * INTERNAL: This module contains the customizable definition of `Intrinsic` and should not + * be referenced directly. + */ +module Impl { + class Intrinsic extends Generated::Intrinsic { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IsAsExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IsAsExpressionImpl.qll new file mode 100644 index 000000000000..d880fe5cf2b9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IsAsExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `IsAsExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.IsAsExpression + +/** + * INTERNAL: This module contains the customizable definition of `IsAsExpression` and should not + * be referenced directly. + */ +module Impl { + class IsAsExpression extends Generated::IsAsExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IsClrExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IsClrExpressionConstructor.qll new file mode 100644 index 000000000000..dfceadecb0af --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IsClrExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `IsClrExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `IsClrExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructIsClrExpression(Raw::IsClrExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IsClrExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IsClrExpressionImpl.qll new file mode 100644 index 000000000000..be480f8ec13b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IsClrExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `IsClrExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.IsClrExpression + +/** + * INTERNAL: This module contains the customizable definition of `IsClrExpression` and should not + * be referenced directly. + */ +module Impl { + class IsClrExpression extends Generated::IsClrExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IsExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IsExpressionConstructor.qll new file mode 100644 index 000000000000..382a358d47b5 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IsExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `IsExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `IsExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructIsExpression(Raw::IsExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/IsExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/IsExpressionImpl.qll new file mode 100644 index 000000000000..22144b90a07d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/IsExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `IsExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.IsExpression + +/** + * INTERNAL: This module contains the customizable definition of `IsExpression` and should not + * be referenced directly. + */ +module Impl { + class IsExpression extends Generated::IsExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/JoinSpecificationConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/JoinSpecificationConstructor.qll new file mode 100644 index 000000000000..05b9a3ce5745 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/JoinSpecificationConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `JoinSpecification` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `JoinSpecification` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructJoinSpecification(Raw::JoinSpecification id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/JoinSpecificationImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/JoinSpecificationImpl.qll new file mode 100644 index 000000000000..b53c2902e8db --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/JoinSpecificationImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `JoinSpecification`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.JoinSpecification + +/** + * INTERNAL: This module contains the customizable definition of `JoinSpecification` and should not + * be referenced directly. + */ +module Impl { + class JoinSpecification extends Generated::JoinSpecification { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/LessThanExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/LessThanExpressionConstructor.qll new file mode 100644 index 000000000000..c63b67a91c17 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/LessThanExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `LessThanExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `LessThanExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructLessThanExpression(Raw::LessThanExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/LessThanExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/LessThanExpressionImpl.qll new file mode 100644 index 000000000000..85a3e3c563e9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/LessThanExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `LessThanExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.LessThanExpression + +/** + * INTERNAL: This module contains the customizable definition of `LessThanExpression` and should not + * be referenced directly. + */ +module Impl { + class LessThanExpression extends Generated::LessThanExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/LessThanOrEqualExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/LessThanOrEqualExpressionConstructor.qll new file mode 100644 index 000000000000..d04c5db3424a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/LessThanOrEqualExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `LessThanOrEqualExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `LessThanOrEqualExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructLessThanOrEqualExpression(Raw::LessThanOrEqualExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/LessThanOrEqualExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/LessThanOrEqualExpressionImpl.qll new file mode 100644 index 000000000000..8d46f1fe96a4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/LessThanOrEqualExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `LessThanOrEqualExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.LessThanOrEqualExpression + +/** + * INTERNAL: This module contains the customizable definition of `LessThanOrEqualExpression` and should not + * be referenced directly. + */ +module Impl { + class LessThanOrEqualExpression extends Generated::LessThanOrEqualExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/LikeExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/LikeExpressionConstructor.qll new file mode 100644 index 000000000000..7a904de58457 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/LikeExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `LikeExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `LikeExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructLikeExpression(Raw::LikeExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/LikeExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/LikeExpressionImpl.qll new file mode 100644 index 000000000000..e044d1d31997 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/LikeExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `LikeExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.LikeExpression + +/** + * INTERNAL: This module contains the customizable definition of `LikeExpression` and should not + * be referenced directly. + */ +module Impl { + class LikeExpression extends Generated::LikeExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/LiteralExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/LiteralExpressionImpl.qll new file mode 100644 index 000000000000..0e3b7ba06b9d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/LiteralExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `LiteralExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.LiteralExpression + +/** + * INTERNAL: This module contains the customizable definition of `LiteralExpression` and should not + * be referenced directly. + */ +module Impl { + class LiteralExpression extends Generated::LiteralExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/LocalDeclarationImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/LocalDeclarationImpl.qll new file mode 100644 index 000000000000..e93b87bef03c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/LocalDeclarationImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `LocalDeclaration`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.LocalDeclaration + +/** + * INTERNAL: This module contains the customizable definition of `LocalDeclaration` and should not + * be referenced directly. + */ +module Impl { + class LocalDeclaration extends Generated::LocalDeclaration { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/LocalDeclarationsStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/LocalDeclarationsStatementConstructor.qll new file mode 100644 index 000000000000..14a95487f4f6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/LocalDeclarationsStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `LocalDeclarationsStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `LocalDeclarationsStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructLocalDeclarationsStatement(Raw::LocalDeclarationsStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/LocalDeclarationsStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/LocalDeclarationsStatementImpl.qll new file mode 100644 index 000000000000..a3bc973461f9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/LocalDeclarationsStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `LocalDeclarationsStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.LocalDeclarationsStatement + +/** + * INTERNAL: This module contains the customizable definition of `LocalDeclarationsStatement` and should not + * be referenced directly. + */ +module Impl { + class LocalDeclarationsStatement extends Generated::LocalDeclarationsStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/LocatableImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/LocatableImpl.qll new file mode 100644 index 000000000000..343815f94d77 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/LocatableImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Locatable`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Locatable + +/** + * INTERNAL: This module contains the customizable definition of `Locatable` and should not + * be referenced directly. + */ +module Impl { + class Locatable extends Generated::Locatable { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/LocationConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/LocationConstructor.qll new file mode 100644 index 000000000000..142299fb5460 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/LocationConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `Location` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `Location` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructLocation(Raw::Location id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/LocationImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/LocationImpl.qll new file mode 100644 index 000000000000..4900acdad7a9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/LocationImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Location`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Location + +/** + * INTERNAL: This module contains the customizable definition of `Location` and should not + * be referenced directly. + */ +module Impl { + class Location extends Generated::Location { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/MaxAggregateSelectionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/MaxAggregateSelectionConstructor.qll new file mode 100644 index 000000000000..ae33d8262106 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/MaxAggregateSelectionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `MaxAggregateSelection` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `MaxAggregateSelection` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructMaxAggregateSelection(Raw::MaxAggregateSelection id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/MaxAggregateSelectionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/MaxAggregateSelectionImpl.qll new file mode 100644 index 000000000000..c2a62207c7cb --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/MaxAggregateSelectionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `MaxAggregateSelection`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.MaxAggregateSelection + +/** + * INTERNAL: This module contains the customizable definition of `MaxAggregateSelection` and should not + * be referenced directly. + */ +module Impl { + class MaxAggregateSelection extends Generated::MaxAggregateSelection { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/MethodConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/MethodConstructor.qll new file mode 100644 index 000000000000..9b6ac6529b4e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/MethodConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `Method` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `Method` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructMethod(Raw::Method id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/MethodImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/MethodImpl.qll new file mode 100644 index 000000000000..c9cde7edc413 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/MethodImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Method`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Method + +/** + * INTERNAL: This module contains the customizable definition of `Method` and should not + * be referenced directly. + */ +module Impl { + class Method extends Generated::Method { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/MethodOrDelegateImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/MethodOrDelegateImpl.qll new file mode 100644 index 000000000000..a9605f8901e0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/MethodOrDelegateImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `MethodOrDelegate`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.MethodOrDelegate + +/** + * INTERNAL: This module contains the customizable definition of `MethodOrDelegate` and should not + * be referenced directly. + */ +module Impl { + class MethodOrDelegate extends Generated::MethodOrDelegate { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/MinAggregateSelectionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/MinAggregateSelectionConstructor.qll new file mode 100644 index 000000000000..46370b250230 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/MinAggregateSelectionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `MinAggregateSelection` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `MinAggregateSelection` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructMinAggregateSelection(Raw::MinAggregateSelection id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/MinAggregateSelectionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/MinAggregateSelectionImpl.qll new file mode 100644 index 000000000000..5307badd30fe --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/MinAggregateSelectionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `MinAggregateSelection`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.MinAggregateSelection + +/** + * INTERNAL: This module contains the customizable definition of `MinAggregateSelection` and should not + * be referenced directly. + */ +module Impl { + class MinAggregateSelection extends Generated::MinAggregateSelection { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ModExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ModExpressionConstructor.qll new file mode 100644 index 000000000000..50375c62343b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ModExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ModExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ModExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructModExpression(Raw::ModExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ModExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ModExpressionImpl.qll new file mode 100644 index 000000000000..3af512040cd4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ModExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ModExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ModExpression + +/** + * INTERNAL: This module contains the customizable definition of `ModExpression` and should not + * be referenced directly. + */ +module Impl { + class ModExpression extends Generated::ModExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ModelElementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ModelElementImpl.qll new file mode 100644 index 000000000000..a4111078976b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ModelElementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ModelElement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ModelElement + +/** + * INTERNAL: This module contains the customizable definition of `ModelElement` and should not + * be referenced directly. + */ +module Impl { + class ModelElement extends Generated::ModelElement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ModelElementUsingEntryConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ModelElementUsingEntryConstructor.qll new file mode 100644 index 000000000000..30b501f4c0d1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ModelElementUsingEntryConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ModelElementUsingEntry` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ModelElementUsingEntry` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructModelElementUsingEntry(Raw::ModelElementUsingEntry id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ModelElementUsingEntryImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ModelElementUsingEntryImpl.qll new file mode 100644 index 000000000000..a4425aa94508 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ModelElementUsingEntryImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ModelElementUsingEntry`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ModelElementUsingEntry + +/** + * INTERNAL: This module contains the customizable definition of `ModelElementUsingEntry` and should not + * be referenced directly. + */ +module Impl { + class ModelElementUsingEntry extends Generated::ModelElementUsingEntry { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ModifierConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ModifierConstructor.qll new file mode 100644 index 000000000000..7244c0bf6029 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ModifierConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `Modifier` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `Modifier` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructModifier(Raw::Modifier id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ModifierImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ModifierImpl.qll new file mode 100644 index 000000000000..2d2c4cbd4bad --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ModifierImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Modifier`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Modifier + +/** + * INTERNAL: This module contains the customizable definition of `Modifier` and should not + * be referenced directly. + */ +module Impl { + class Modifier extends Generated::Modifier { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/MoveCursorStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/MoveCursorStatementConstructor.qll new file mode 100644 index 000000000000..3ac87ef9721a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/MoveCursorStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `MoveCursorStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `MoveCursorStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructMoveCursorStatement(Raw::MoveCursorStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/MoveCursorStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/MoveCursorStatementImpl.qll new file mode 100644 index 000000000000..35543c9e014b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/MoveCursorStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `MoveCursorStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.MoveCursorStatement + +/** + * INTERNAL: This module contains the customizable definition of `MoveCursorStatement` and should not + * be referenced directly. + */ +module Impl { + class MoveCursorStatement extends Generated::MoveCursorStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/MultiplyExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/MultiplyExpressionConstructor.qll new file mode 100644 index 000000000000..86e9f44937ec --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/MultiplyExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `MultiplyExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `MultiplyExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructMultiplyExpression(Raw::MultiplyExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/MultiplyExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/MultiplyExpressionImpl.qll new file mode 100644 index 000000000000..9b8f0f62bd77 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/MultiplyExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `MultiplyExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.MultiplyExpression + +/** + * INTERNAL: This module contains the customizable definition of `MultiplyExpression` and should not + * be referenced directly. + */ +module Impl { + class MultiplyExpression extends Generated::MultiplyExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NamedFieldReferenceConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NamedFieldReferenceConstructor.qll new file mode 100644 index 000000000000..77fa8672ec46 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NamedFieldReferenceConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `NamedFieldReference` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `NamedFieldReference` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructNamedFieldReference(Raw::NamedFieldReference id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NamedFieldReferenceImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NamedFieldReferenceImpl.qll new file mode 100644 index 000000000000..bc11d248e4d9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NamedFieldReferenceImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `NamedFieldReference`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.NamedFieldReference + +/** + * INTERNAL: This module contains the customizable definition of `NamedFieldReference` and should not + * be referenced directly. + */ +module Impl { + class NamedFieldReference extends Generated::NamedFieldReference { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NamedTypeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NamedTypeImpl.qll new file mode 100644 index 000000000000..52cadb30e4a8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NamedTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `NamedType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.NamedType + +/** + * INTERNAL: This module contains the customizable definition of `NamedType` and should not + * be referenced directly. + */ +module Impl { + class NamedType extends Generated::NamedType { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NewCallConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NewCallConstructor.qll new file mode 100644 index 000000000000..868b56a3a579 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NewCallConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `NewCall` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `NewCall` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructNewCall(Raw::NewCall id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NewCallImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NewCallImpl.qll new file mode 100644 index 000000000000..7d0d7bd18905 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NewCallImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `NewCall`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.NewCall + +/** + * INTERNAL: This module contains the customizable definition of `NewCall` and should not + * be referenced directly. + */ +module Impl { + class NewCall extends Generated::NewCall { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NewClrArrayExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NewClrArrayExpressionConstructor.qll new file mode 100644 index 000000000000..a758cf511841 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NewClrArrayExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `NewClrArrayExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `NewClrArrayExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructNewClrArrayExpression(Raw::NewClrArrayExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NewClrArrayExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NewClrArrayExpressionImpl.qll new file mode 100644 index 000000000000..0a54ebb06a80 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NewClrArrayExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `NewClrArrayExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.NewClrArrayExpression + +/** + * INTERNAL: This module contains the customizable definition of `NewClrArrayExpression` and should not + * be referenced directly. + */ +module Impl { + class NewClrArrayExpression extends Generated::NewClrArrayExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NewClrCallConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NewClrCallConstructor.qll new file mode 100644 index 000000000000..3619606c235b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NewClrCallConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `NewClrCall` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `NewClrCall` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructNewClrCall(Raw::NewClrCall id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NewClrCallImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NewClrCallImpl.qll new file mode 100644 index 000000000000..e48561fa26b3 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NewClrCallImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `NewClrCall`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.NewClrCall + +/** + * INTERNAL: This module contains the customizable definition of `NewClrCall` and should not + * be referenced directly. + */ +module Impl { + class NewClrCall extends Generated::NewClrCall { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NextExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NextExpressionConstructor.qll new file mode 100644 index 000000000000..76c650b193db --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NextExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `NextExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `NextExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructNextExpression(Raw::NextExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NextExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NextExpressionImpl.qll new file mode 100644 index 000000000000..4482ad4a6beb --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NextExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `NextExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.NextExpression + +/** + * INTERNAL: This module contains the customizable definition of `NextExpression` and should not + * be referenced directly. + */ +module Impl { + class NextExpression extends Generated::NextExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NotEqualExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NotEqualExpressionConstructor.qll new file mode 100644 index 000000000000..0e3e8c9f9130 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NotEqualExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `NotEqualExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `NotEqualExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructNotEqualExpression(Raw::NotEqualExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NotEqualExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NotEqualExpressionImpl.qll new file mode 100644 index 000000000000..3bd29b378f88 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NotEqualExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `NotEqualExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.NotEqualExpression + +/** + * INTERNAL: This module contains the customizable definition of `NotEqualExpression` and should not + * be referenced directly. + */ +module Impl { + class NotEqualExpression extends Generated::NotEqualExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NotExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NotExpressionConstructor.qll new file mode 100644 index 000000000000..2255e6b88a54 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NotExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `NotExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `NotExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructNotExpression(Raw::NotExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NotExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NotExpressionImpl.qll new file mode 100644 index 000000000000..d1b7abb7cee1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NotExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `NotExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.NotExpression + +/** + * INTERNAL: This module contains the customizable definition of `NotExpression` and should not + * be referenced directly. + */ +module Impl { + class NotExpression extends Generated::NotExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NullLiteralExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NullLiteralExpressionConstructor.qll new file mode 100644 index 000000000000..32380b4a2fa5 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NullLiteralExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `NullLiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `NullLiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructNullLiteralExpression(Raw::NullLiteralExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NullLiteralExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NullLiteralExpressionImpl.qll new file mode 100644 index 000000000000..c10edaa20f9d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NullLiteralExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `NullLiteralExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.NullLiteralExpression + +/** + * INTERNAL: This module contains the customizable definition of `NullLiteralExpression` and should not + * be referenced directly. + */ +module Impl { + class NullLiteralExpression extends Generated::NullLiteralExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NumberedFieldReferenceConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NumberedFieldReferenceConstructor.qll new file mode 100644 index 000000000000..fa2eb41970e4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NumberedFieldReferenceConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `NumberedFieldReference` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `NumberedFieldReference` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructNumberedFieldReference(Raw::NumberedFieldReference id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NumberedFieldReferenceImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NumberedFieldReferenceImpl.qll new file mode 100644 index 000000000000..8a159dea047b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NumberedFieldReferenceImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `NumberedFieldReference`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.NumberedFieldReference + +/** + * INTERNAL: This module contains the customizable definition of `NumberedFieldReference` and should not + * be referenced directly. + */ +module Impl { + class NumberedFieldReference extends Generated::NumberedFieldReference { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/OrExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/OrExpressionConstructor.qll new file mode 100644 index 000000000000..c2740ba92b9d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/OrExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `OrExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `OrExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructOrExpression(Raw::OrExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/OrExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/OrExpressionImpl.qll new file mode 100644 index 000000000000..6b5a09920d58 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/OrExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `OrExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.OrExpression + +/** + * INTERNAL: This module contains the customizable definition of `OrExpression` and should not + * be referenced directly. + */ +module Impl { + class OrExpression extends Generated::OrExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/OrderElementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/OrderElementImpl.qll new file mode 100644 index 000000000000..09d4574ae220 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/OrderElementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `OrderElement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.OrderElement + +/** + * INTERNAL: This module contains the customizable definition of `OrderElement` and should not + * be referenced directly. + */ +module Impl { + class OrderElement extends Generated::OrderElement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ParameterDeclarationConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ParameterDeclarationConstructor.qll new file mode 100644 index 000000000000..1055dffe7557 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ParameterDeclarationConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ParameterDeclaration` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ParameterDeclaration` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructParameterDeclaration(Raw::ParameterDeclaration id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ParameterDeclarationImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ParameterDeclarationImpl.qll new file mode 100644 index 000000000000..8460422ce6d1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ParameterDeclarationImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ParameterDeclaration`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ParameterDeclaration + +/** + * INTERNAL: This module contains the customizable definition of `ParameterDeclaration` and should not + * be referenced directly. + */ +module Impl { + class ParameterDeclaration extends Generated::ParameterDeclaration { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalAndExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalAndExpressionConstructor.qll new file mode 100644 index 000000000000..4411897de159 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalAndExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `PhysicalAndExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `PhysicalAndExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructPhysicalAndExpression(Raw::PhysicalAndExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalAndExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalAndExpressionImpl.qll new file mode 100644 index 000000000000..7f325ddd2ba7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalAndExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `PhysicalAndExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.PhysicalAndExpression + +/** + * INTERNAL: This module contains the customizable definition of `PhysicalAndExpression` and should not + * be referenced directly. + */ +module Impl { + class PhysicalAndExpression extends Generated::PhysicalAndExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalNotExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalNotExpressionConstructor.qll new file mode 100644 index 000000000000..6d3f22de011c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalNotExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `PhysicalNotExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `PhysicalNotExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructPhysicalNotExpression(Raw::PhysicalNotExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalNotExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalNotExpressionImpl.qll new file mode 100644 index 000000000000..ac5b2f92164a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalNotExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `PhysicalNotExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.PhysicalNotExpression + +/** + * INTERNAL: This module contains the customizable definition of `PhysicalNotExpression` and should not + * be referenced directly. + */ +module Impl { + class PhysicalNotExpression extends Generated::PhysicalNotExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalOrExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalOrExpressionConstructor.qll new file mode 100644 index 000000000000..eb7e3f7ad894 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalOrExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `PhysicalOrExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `PhysicalOrExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructPhysicalOrExpression(Raw::PhysicalOrExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalOrExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalOrExpressionImpl.qll new file mode 100644 index 000000000000..925a2f17c87c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalOrExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `PhysicalOrExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.PhysicalOrExpression + +/** + * INTERNAL: This module contains the customizable definition of `PhysicalOrExpression` and should not + * be referenced directly. + */ +module Impl { + class PhysicalOrExpression extends Generated::PhysicalOrExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalXorExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalXorExpressionConstructor.qll new file mode 100644 index 000000000000..3e845962bf66 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalXorExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `PhysicalXorExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `PhysicalXorExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructPhysicalXorExpression(Raw::PhysicalXorExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalXorExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalXorExpressionImpl.qll new file mode 100644 index 000000000000..2d34252072b1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/PhysicalXorExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `PhysicalXorExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.PhysicalXorExpression + +/** + * INTERNAL: This module contains the customizable definition of `PhysicalXorExpression` and should not + * be referenced directly. + */ +module Impl { + class PhysicalXorExpression extends Generated::PhysicalXorExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/PlaceholderConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/PlaceholderConstructor.qll new file mode 100644 index 000000000000..0388a22032ee --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/PlaceholderConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `Placeholder` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `Placeholder` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructPlaceholder(Raw::Placeholder id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/PlaceholderImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/PlaceholderImpl.qll new file mode 100644 index 000000000000..349fe133f37e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/PlaceholderImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Placeholder`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Placeholder + +/** + * INTERNAL: This module contains the customizable definition of `Placeholder` and should not + * be referenced directly. + */ +module Impl { + class Placeholder extends Generated::Placeholder { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/PrintStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/PrintStatementConstructor.qll new file mode 100644 index 000000000000..e7c2a9401287 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/PrintStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `PrintStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `PrintStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructPrintStatement(Raw::PrintStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/PrintStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/PrintStatementImpl.qll new file mode 100644 index 000000000000..a6c6b5e2c12a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/PrintStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `PrintStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.PrintStatement + +/** + * INTERNAL: This module contains the customizable definition of `PrintStatement` and should not + * be referenced directly. + */ +module Impl { + class PrintStatement extends Generated::PrintStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ProvidedTypeConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ProvidedTypeConstructor.qll new file mode 100644 index 000000000000..54c489ade638 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ProvidedTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ProvidedType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ProvidedType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructProvidedType(Raw::ProvidedType id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ProvidedTypeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ProvidedTypeImpl.qll new file mode 100644 index 000000000000..b51e339d7bcb --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ProvidedTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ProvidedType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ProvidedType + +/** + * INTERNAL: This module contains the customizable definition of `ProvidedType` and should not + * be referenced directly. + */ +module Impl { + class ProvidedType extends Generated::ProvidedType { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ProvidedTypeStaticCallConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ProvidedTypeStaticCallConstructor.qll new file mode 100644 index 000000000000..f5a49ce742d0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ProvidedTypeStaticCallConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ProvidedTypeStaticCall` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ProvidedTypeStaticCall` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructProvidedTypeStaticCall(Raw::ProvidedTypeStaticCall id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ProvidedTypeStaticCallImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ProvidedTypeStaticCallImpl.qll new file mode 100644 index 000000000000..7901bee3699a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ProvidedTypeStaticCallImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ProvidedTypeStaticCall`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ProvidedTypeStaticCall + +/** + * INTERNAL: This module contains the customizable definition of `ProvidedTypeStaticCall` and should not + * be referenced directly. + */ +module Impl { + class ProvidedTypeStaticCall extends Generated::ProvidedTypeStaticCall { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedCallConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedCallConstructor.qll new file mode 100644 index 000000000000..97c83d8b854e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedCallConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `QualifiedCall` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `QualifiedCall` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructQualifiedCall(Raw::QualifiedCall id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedCallImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedCallImpl.qll new file mode 100644 index 000000000000..a4714475cc02 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedCallImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `QualifiedCall`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.QualifiedCall + +/** + * INTERNAL: This module contains the customizable definition of `QualifiedCall` and should not + * be referenced directly. + */ +module Impl { + class QualifiedCall extends Generated::QualifiedCall { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedFieldConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedFieldConstructor.qll new file mode 100644 index 000000000000..c9075ffffbad --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedFieldConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `QualifiedField` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `QualifiedField` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructQualifiedField(Raw::QualifiedField id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedFieldImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedFieldImpl.qll new file mode 100644 index 000000000000..8a8e64e5791d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedFieldImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `QualifiedField`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.QualifiedField + +/** + * INTERNAL: This module contains the customizable definition of `QualifiedField` and should not + * be referenced directly. + */ +module Impl { + class QualifiedField extends Generated::QualifiedField { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedInstanceNameConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedInstanceNameConstructor.qll new file mode 100644 index 000000000000..fcbc703e2637 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedInstanceNameConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `QualifiedInstanceName` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `QualifiedInstanceName` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructQualifiedInstanceName(Raw::QualifiedInstanceName id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedInstanceNameImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedInstanceNameImpl.qll new file mode 100644 index 000000000000..fe1dc0a7019f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedInstanceNameImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `QualifiedInstanceName`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.QualifiedInstanceName + +/** + * INTERNAL: This module contains the customizable definition of `QualifiedInstanceName` and should not + * be referenced directly. + */ +module Impl { + class QualifiedInstanceName extends Generated::QualifiedInstanceName { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedNumberedFieldConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedNumberedFieldConstructor.qll new file mode 100644 index 000000000000..3b8bc69af9f0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedNumberedFieldConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `QualifiedNumberedField` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `QualifiedNumberedField` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructQualifiedNumberedField(Raw::QualifiedNumberedField id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedNumberedFieldImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedNumberedFieldImpl.qll new file mode 100644 index 000000000000..7e9c5cc6ce4d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedNumberedFieldImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `QualifiedNumberedField`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.QualifiedNumberedField + +/** + * INTERNAL: This module contains the customizable definition of `QualifiedNumberedField` and should not + * be referenced directly. + */ +module Impl { + class QualifiedNumberedField extends Generated::QualifiedNumberedField { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticCallConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticCallConstructor.qll new file mode 100644 index 000000000000..6de8419a884b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticCallConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `QualifiedStaticCall` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `QualifiedStaticCall` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructQualifiedStaticCall(Raw::QualifiedStaticCall id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticCallImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticCallImpl.qll new file mode 100644 index 000000000000..d092634e7d35 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticCallImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `QualifiedStaticCall`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.QualifiedStaticCall + +/** + * INTERNAL: This module contains the customizable definition of `QualifiedStaticCall` and should not + * be referenced directly. + */ +module Impl { + class QualifiedStaticCall extends Generated::QualifiedStaticCall { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticFieldConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticFieldConstructor.qll new file mode 100644 index 000000000000..efd1ace2c9a0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticFieldConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `QualifiedStaticField` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `QualifiedStaticField` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructQualifiedStaticField(Raw::QualifiedStaticField id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticFieldExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticFieldExpressionConstructor.qll new file mode 100644 index 000000000000..01577f84a997 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticFieldExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `QualifiedStaticFieldExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `QualifiedStaticFieldExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructQualifiedStaticFieldExpression(Raw::QualifiedStaticFieldExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticFieldExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticFieldExpressionImpl.qll new file mode 100644 index 000000000000..8d85a26b9acd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticFieldExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `QualifiedStaticFieldExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.QualifiedStaticFieldExpression + +/** + * INTERNAL: This module contains the customizable definition of `QualifiedStaticFieldExpression` and should not + * be referenced directly. + */ +module Impl { + class QualifiedStaticFieldExpression extends Generated::QualifiedStaticFieldExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticFieldImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticFieldImpl.qll new file mode 100644 index 000000000000..26680c2f0f7c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QualifiedStaticFieldImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `QualifiedStaticField`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.QualifiedStaticField + +/** + * INTERNAL: This module contains the customizable definition of `QualifiedStaticField` and should not + * be referenced directly. + */ +module Impl { + class QualifiedStaticField extends Generated::QualifiedStaticField { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QualifierImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QualifierImpl.qll new file mode 100644 index 000000000000..060fbf2971de --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QualifierImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Qualifier`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Qualifier + +/** + * INTERNAL: This module contains the customizable definition of `Qualifier` and should not + * be referenced directly. + */ +module Impl { + class Qualifier extends Generated::Qualifier { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QueryConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QueryConstructor.qll new file mode 100644 index 000000000000..3958fd23356c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QueryConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `Query` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `Query` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructQuery(Raw::Query id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceConstructor.qll new file mode 100644 index 000000000000..a511ac72db16 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `QueryDataSource` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `QueryDataSource` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructQueryDataSource(Raw::QueryDataSource id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceHavingConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceHavingConstructor.qll new file mode 100644 index 000000000000..1e4f6dad7d57 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceHavingConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `QueryDataSourceHaving` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `QueryDataSourceHaving` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructQueryDataSourceHaving(Raw::QueryDataSourceHaving id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceHavingImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceHavingImpl.qll new file mode 100644 index 000000000000..30af9da4a42a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceHavingImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `QueryDataSourceHaving`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.QueryDataSourceHaving + +/** + * INTERNAL: This module contains the customizable definition of `QueryDataSourceHaving` and should not + * be referenced directly. + */ +module Impl { + class QueryDataSourceHaving extends Generated::QueryDataSourceHaving { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceImpl.qll new file mode 100644 index 000000000000..0fd1aa42a5cd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `QueryDataSource`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.QueryDataSource + +/** + * INTERNAL: This module contains the customizable definition of `QueryDataSource` and should not + * be referenced directly. + */ +module Impl { + class QueryDataSource extends Generated::QueryDataSource { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceRangeConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceRangeConstructor.qll new file mode 100644 index 000000000000..e7a0d2423fec --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceRangeConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `QueryDataSourceRange` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `QueryDataSourceRange` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructQueryDataSourceRange(Raw::QueryDataSourceRange id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceRangeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceRangeImpl.qll new file mode 100644 index 000000000000..585c9653affa --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceRangeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `QueryDataSourceRange`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.QueryDataSourceRange + +/** + * INTERNAL: This module contains the customizable definition of `QueryDataSourceRange` and should not + * be referenced directly. + */ +module Impl { + class QueryDataSourceRange extends Generated::QueryDataSourceRange { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceRelationConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceRelationConstructor.qll new file mode 100644 index 000000000000..589f25a8012f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceRelationConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `QueryDataSourceRelation` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `QueryDataSourceRelation` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructQueryDataSourceRelation(Raw::QueryDataSourceRelation id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceRelationImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceRelationImpl.qll new file mode 100644 index 000000000000..b1fef2b14c58 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QueryDataSourceRelationImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `QueryDataSourceRelation`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.QueryDataSourceRelation + +/** + * INTERNAL: This module contains the customizable definition of `QueryDataSourceRelation` and should not + * be referenced directly. + */ +module Impl { + class QueryDataSourceRelation extends Generated::QueryDataSourceRelation { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QueryImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QueryImpl.qll new file mode 100644 index 000000000000..77a65ccfc1bb --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QueryImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Query`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Query + +/** + * INTERNAL: This module contains the customizable definition of `Query` and should not + * be referenced directly. + */ +module Impl { + class Query extends Generated::Query { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QueryModelElementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QueryModelElementConstructor.qll new file mode 100644 index 000000000000..a3b8aedeae9b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QueryModelElementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `QueryModelElement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `QueryModelElement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructQueryModelElement(Raw::QueryModelElement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/QueryModelElementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/QueryModelElementImpl.qll new file mode 100644 index 000000000000..335e48e345be --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/QueryModelElementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `QueryModelElement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.QueryModelElement + +/** + * INTERNAL: This module contains the customizable definition of `QueryModelElement` and should not + * be referenced directly. + */ +module Impl { + class QueryModelElement extends Generated::QueryModelElement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/RealLiteralExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/RealLiteralExpressionConstructor.qll new file mode 100644 index 000000000000..d6867b283c3e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/RealLiteralExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `RealLiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `RealLiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructRealLiteralExpression(Raw::RealLiteralExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/RealLiteralExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/RealLiteralExpressionImpl.qll new file mode 100644 index 000000000000..d1382293bcab --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/RealLiteralExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `RealLiteralExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.RealLiteralExpression + +/** + * INTERNAL: This module contains the customizable definition of `RealLiteralExpression` and should not + * be referenced directly. + */ +module Impl { + class RealLiteralExpression extends Generated::RealLiteralExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/RelationalExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/RelationalExpressionImpl.qll new file mode 100644 index 000000000000..493b149df282 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/RelationalExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `RelationalExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.RelationalExpression + +/** + * INTERNAL: This module contains the customizable definition of `RelationalExpression` and should not + * be referenced directly. + */ +module Impl { + class RelationalExpression extends Generated::RelationalExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/RetryStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/RetryStatementConstructor.qll new file mode 100644 index 000000000000..f5440c9fab16 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/RetryStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `RetryStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `RetryStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructRetryStatement(Raw::RetryStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/RetryStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/RetryStatementImpl.qll new file mode 100644 index 000000000000..f8291d1fdacb --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/RetryStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `RetryStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.RetryStatement + +/** + * INTERNAL: This module contains the customizable definition of `RetryStatement` and should not + * be referenced directly. + */ +module Impl { + class RetryStatement extends Generated::RetryStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ReturnStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ReturnStatementConstructor.qll new file mode 100644 index 000000000000..6cb1184cdab6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ReturnStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ReturnStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ReturnStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructReturnStatement(Raw::ReturnStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ReturnStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ReturnStatementImpl.qll new file mode 100644 index 000000000000..d910a0b33255 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ReturnStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ReturnStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ReturnStatement + +/** + * INTERNAL: This module contains the customizable definition of `ReturnStatement` and should not + * be referenced directly. + */ +module Impl { + class ReturnStatement extends Generated::ReturnStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SearchStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SearchStatementConstructor.qll new file mode 100644 index 000000000000..6b1afb3e46d4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SearchStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `SearchStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `SearchStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructSearchStatement(Raw::SearchStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SearchStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SearchStatementImpl.qll new file mode 100644 index 000000000000..30f389ba2552 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SearchStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `SearchStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.SearchStatement + +/** + * INTERNAL: This module contains the customizable definition of `SearchStatement` and should not + * be referenced directly. + */ +module Impl { + class SearchStatement extends Generated::SearchStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SelectionFieldImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SelectionFieldImpl.qll new file mode 100644 index 000000000000..3c38642f201c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SelectionFieldImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `SelectionField`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.SelectionField + +/** + * INTERNAL: This module contains the customizable definition of `SelectionField` and should not + * be referenced directly. + */ +module Impl { + class SelectionField extends Generated::SelectionField { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SelectionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SelectionImpl.qll new file mode 100644 index 000000000000..d93a122f4d24 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SelectionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Selection`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Selection + +/** + * INTERNAL: This module contains the customizable definition of `Selection` and should not + * be referenced directly. + */ +module Impl { + class Selection extends Generated::Selection { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ShiftLeftExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ShiftLeftExpressionConstructor.qll new file mode 100644 index 000000000000..2b9cd722fc1a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ShiftLeftExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ShiftLeftExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ShiftLeftExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructShiftLeftExpression(Raw::ShiftLeftExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ShiftLeftExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ShiftLeftExpressionImpl.qll new file mode 100644 index 000000000000..d5d4a11cd604 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ShiftLeftExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ShiftLeftExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ShiftLeftExpression + +/** + * INTERNAL: This module contains the customizable definition of `ShiftLeftExpression` and should not + * be referenced directly. + */ +module Impl { + class ShiftLeftExpression extends Generated::ShiftLeftExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ShiftRightExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ShiftRightExpressionConstructor.qll new file mode 100644 index 000000000000..0040192fd36c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ShiftRightExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ShiftRightExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ShiftRightExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructShiftRightExpression(Raw::ShiftRightExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ShiftRightExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ShiftRightExpressionImpl.qll new file mode 100644 index 000000000000..8375d67c040c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ShiftRightExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ShiftRightExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ShiftRightExpression + +/** + * INTERNAL: This module contains the customizable definition of `ShiftRightExpression` and should not + * be referenced directly. + */ +module Impl { + class ShiftRightExpression extends Generated::ShiftRightExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SimpleFieldConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SimpleFieldConstructor.qll new file mode 100644 index 000000000000..062a5d381df7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SimpleFieldConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `SimpleField` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `SimpleField` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructSimpleField(Raw::SimpleField id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SimpleFieldImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SimpleFieldImpl.qll new file mode 100644 index 000000000000..037e0185838f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SimpleFieldImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `SimpleField`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.SimpleField + +/** + * INTERNAL: This module contains the customizable definition of `SimpleField` and should not + * be referenced directly. + */ +module Impl { + class SimpleField extends Generated::SimpleField { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SimpleInstanceNameConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SimpleInstanceNameConstructor.qll new file mode 100644 index 000000000000..1e8198581271 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SimpleInstanceNameConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `SimpleInstanceName` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `SimpleInstanceName` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructSimpleInstanceName(Raw::SimpleInstanceName id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SimpleInstanceNameImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SimpleInstanceNameImpl.qll new file mode 100644 index 000000000000..83b5964b2a55 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SimpleInstanceNameImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `SimpleInstanceName`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.SimpleInstanceName + +/** + * INTERNAL: This module contains the customizable definition of `SimpleInstanceName` and should not + * be referenced directly. + */ +module Impl { + class SimpleInstanceName extends Generated::SimpleInstanceName { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SimpleOrderElementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SimpleOrderElementConstructor.qll new file mode 100644 index 000000000000..341e290d6af9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SimpleOrderElementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `SimpleOrderElement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `SimpleOrderElement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructSimpleOrderElement(Raw::SimpleOrderElement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SimpleOrderElementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SimpleOrderElementImpl.qll new file mode 100644 index 000000000000..ed0e27bb105c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SimpleOrderElementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `SimpleOrderElement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.SimpleOrderElement + +/** + * INTERNAL: This module contains the customizable definition of `SimpleOrderElement` and should not + * be referenced directly. + */ +module Impl { + class SimpleOrderElement extends Generated::SimpleOrderElement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SimpleQualifierImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SimpleQualifierImpl.qll new file mode 100644 index 000000000000..afa3f502fdb0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SimpleQualifierImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `SimpleQualifier`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.SimpleQualifier + +/** + * INTERNAL: This module contains the customizable definition of `SimpleQualifier` and should not + * be referenced directly. + */ +module Impl { + class SimpleQualifier extends Generated::SimpleQualifier { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/StatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/StatementImpl.qll new file mode 100644 index 000000000000..96474ab0fed3 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/StatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Statement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Statement + +/** + * INTERNAL: This module contains the customizable definition of `Statement` and should not + * be referenced directly. + */ +module Impl { + class Statement extends Generated::Statement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/StaticFieldConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/StaticFieldConstructor.qll new file mode 100644 index 000000000000..d2991b311830 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/StaticFieldConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `StaticField` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `StaticField` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructStaticField(Raw::StaticField id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/StaticFieldImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/StaticFieldImpl.qll new file mode 100644 index 000000000000..e26b7fb59e84 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/StaticFieldImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `StaticField`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.StaticField + +/** + * INTERNAL: This module contains the customizable definition of `StaticField` and should not + * be referenced directly. + */ +module Impl { + class StaticField extends Generated::StaticField { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/StaticMethodCallConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/StaticMethodCallConstructor.qll new file mode 100644 index 000000000000..f26e75a3b135 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/StaticMethodCallConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `StaticMethodCall` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `StaticMethodCall` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructStaticMethodCall(Raw::StaticMethodCall id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/StaticMethodCallImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/StaticMethodCallImpl.qll new file mode 100644 index 000000000000..54d97adc6906 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/StaticMethodCallImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `StaticMethodCall`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.StaticMethodCall + +/** + * INTERNAL: This module contains the customizable definition of `StaticMethodCall` and should not + * be referenced directly. + */ +module Impl { + class StaticMethodCall extends Generated::StaticMethodCall { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/StaticQualifierConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/StaticQualifierConstructor.qll new file mode 100644 index 000000000000..090440f3adeb --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/StaticQualifierConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `StaticQualifier` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `StaticQualifier` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructStaticQualifier(Raw::StaticQualifier id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/StaticQualifierImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/StaticQualifierImpl.qll new file mode 100644 index 000000000000..8a67fb408f5d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/StaticQualifierImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `StaticQualifier`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.StaticQualifier + +/** + * INTERNAL: This module contains the customizable definition of `StaticQualifier` and should not + * be referenced directly. + */ +module Impl { + class StaticQualifier extends Generated::StaticQualifier { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/StringAttributeLiteralConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/StringAttributeLiteralConstructor.qll new file mode 100644 index 000000000000..3754b4a8c2de --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/StringAttributeLiteralConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `StringAttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `StringAttributeLiteral` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructStringAttributeLiteral(Raw::StringAttributeLiteral id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/StringAttributeLiteralImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/StringAttributeLiteralImpl.qll new file mode 100644 index 000000000000..97d2d8c09d68 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/StringAttributeLiteralImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `StringAttributeLiteral`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.StringAttributeLiteral + +/** + * INTERNAL: This module contains the customizable definition of `StringAttributeLiteral` and should not + * be referenced directly. + */ +module Impl { + class StringAttributeLiteral extends Generated::StringAttributeLiteral { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/StringLengthTypeConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/StringLengthTypeConstructor.qll new file mode 100644 index 000000000000..32e74c119a61 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/StringLengthTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `StringLengthType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `StringLengthType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructStringLengthType(Raw::StringLengthType id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/StringLengthTypeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/StringLengthTypeImpl.qll new file mode 100644 index 000000000000..7ce4ec4277f1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/StringLengthTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `StringLengthType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.StringLengthType + +/** + * INTERNAL: This module contains the customizable definition of `StringLengthType` and should not + * be referenced directly. + */ +module Impl { + class StringLengthType extends Generated::StringLengthType { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/StringLiteralExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/StringLiteralExpressionConstructor.qll new file mode 100644 index 000000000000..0f9a1489ad3f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/StringLiteralExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `StringLiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `StringLiteralExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructStringLiteralExpression(Raw::StringLiteralExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/StringLiteralExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/StringLiteralExpressionImpl.qll new file mode 100644 index 000000000000..e80829cb7223 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/StringLiteralExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `StringLiteralExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.StringLiteralExpression + +/** + * INTERNAL: This module contains the customizable definition of `StringLiteralExpression` and should not + * be referenced directly. + */ +module Impl { + class StringLiteralExpression extends Generated::StringLiteralExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/StringTypeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/StringTypeImpl.qll new file mode 100644 index 000000000000..30c6724cd8fd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/StringTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `StringType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.StringType + +/** + * INTERNAL: This module contains the customizable definition of `StringType` and should not + * be referenced directly. + */ +module Impl { + class StringType extends Generated::StringType { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SubtractExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SubtractExpressionConstructor.qll new file mode 100644 index 000000000000..4b0242795c88 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SubtractExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `SubtractExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `SubtractExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructSubtractExpression(Raw::SubtractExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SubtractExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SubtractExpressionImpl.qll new file mode 100644 index 000000000000..cba04f6e5abc --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SubtractExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `SubtractExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.SubtractExpression + +/** + * INTERNAL: This module contains the customizable definition of `SubtractExpression` and should not + * be referenced directly. + */ +module Impl { + class SubtractExpression extends Generated::SubtractExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SumAggregateSelectionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SumAggregateSelectionConstructor.qll new file mode 100644 index 000000000000..0db6a0d643b9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SumAggregateSelectionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `SumAggregateSelection` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `SumAggregateSelection` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructSumAggregateSelection(Raw::SumAggregateSelection id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SumAggregateSelectionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SumAggregateSelectionImpl.qll new file mode 100644 index 000000000000..bedf31ea9f1e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SumAggregateSelectionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `SumAggregateSelection`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.SumAggregateSelection + +/** + * INTERNAL: This module contains the customizable definition of `SumAggregateSelection` and should not + * be referenced directly. + */ +module Impl { + class SumAggregateSelection extends Generated::SumAggregateSelection { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SuperCallConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SuperCallConstructor.qll new file mode 100644 index 000000000000..bbb1e6c91180 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SuperCallConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `SuperCall` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `SuperCall` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructSuperCall(Raw::SuperCall id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SuperCallImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SuperCallImpl.qll new file mode 100644 index 000000000000..b0a5c8825c29 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SuperCallImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `SuperCall`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.SuperCall + +/** + * INTERNAL: This module contains the customizable definition of `SuperCall` and should not + * be referenced directly. + */ +module Impl { + class SuperCall extends Generated::SuperCall { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SwitchCaseConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SwitchCaseConstructor.qll new file mode 100644 index 000000000000..bc9c3c648dfd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SwitchCaseConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `SwitchCase` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `SwitchCase` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructSwitchCase(Raw::SwitchCase id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SwitchCaseImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SwitchCaseImpl.qll new file mode 100644 index 000000000000..ebe7467f4319 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SwitchCaseImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `SwitchCase`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.SwitchCase + +/** + * INTERNAL: This module contains the customizable definition of `SwitchCase` and should not + * be referenced directly. + */ +module Impl { + class SwitchCase extends Generated::SwitchCase { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SwitchStatementCaseEntryConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SwitchStatementCaseEntryConstructor.qll new file mode 100644 index 000000000000..17636e574f15 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SwitchStatementCaseEntryConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `SwitchStatementCaseEntry` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `SwitchStatementCaseEntry` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructSwitchStatementCaseEntry(Raw::SwitchStatementCaseEntry id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SwitchStatementCaseEntryImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SwitchStatementCaseEntryImpl.qll new file mode 100644 index 000000000000..e8a35860068c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SwitchStatementCaseEntryImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `SwitchStatementCaseEntry`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.SwitchStatementCaseEntry + +/** + * INTERNAL: This module contains the customizable definition of `SwitchStatementCaseEntry` and should not + * be referenced directly. + */ +module Impl { + class SwitchStatementCaseEntry extends Generated::SwitchStatementCaseEntry { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SwitchStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SwitchStatementConstructor.qll new file mode 100644 index 000000000000..e5a0579431c8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SwitchStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `SwitchStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `SwitchStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructSwitchStatement(Raw::SwitchStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SwitchStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SwitchStatementImpl.qll new file mode 100644 index 000000000000..d4c7162cbb58 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SwitchStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `SwitchStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.SwitchStatement + +/** + * INTERNAL: This module contains the customizable definition of `SwitchStatement` and should not + * be referenced directly. + */ +module Impl { + class SwitchStatement extends Generated::SwitchStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/TableConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/TableConstructor.qll new file mode 100644 index 000000000000..45a6dbcd95a3 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/TableConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `Table` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `Table` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructTable(Raw::Table id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/TableFieldDeclarationConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/TableFieldDeclarationConstructor.qll new file mode 100644 index 000000000000..dab617e9260d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/TableFieldDeclarationConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `TableFieldDeclaration` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `TableFieldDeclaration` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructTableFieldDeclaration(Raw::TableFieldDeclaration id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/TableFieldDeclarationImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/TableFieldDeclarationImpl.qll new file mode 100644 index 000000000000..59c114527d62 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/TableFieldDeclarationImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `TableFieldDeclaration`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.TableFieldDeclaration + +/** + * INTERNAL: This module contains the customizable definition of `TableFieldDeclaration` and should not + * be referenced directly. + */ +module Impl { + class TableFieldDeclaration extends Generated::TableFieldDeclaration { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/TableFieldReferenceImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/TableFieldReferenceImpl.qll new file mode 100644 index 000000000000..cacb60fc91fc --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/TableFieldReferenceImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `TableFieldReference`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.TableFieldReference + +/** + * INTERNAL: This module contains the customizable definition of `TableFieldReference` and should not + * be referenced directly. + */ +module Impl { + class TableFieldReference extends Generated::TableFieldReference { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/TableImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/TableImpl.qll new file mode 100644 index 000000000000..2526d02b5c78 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/TableImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Table`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Table + +/** + * INTERNAL: This module contains the customizable definition of `Table` and should not + * be referenced directly. + */ +module Impl { + class Table extends Generated::Table { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/TableLookupExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/TableLookupExpressionConstructor.qll new file mode 100644 index 000000000000..bc870f0449f1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/TableLookupExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `TableLookupExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `TableLookupExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructTableLookupExpression(Raw::TableLookupExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/TableLookupExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/TableLookupExpressionImpl.qll new file mode 100644 index 000000000000..c528a6d95ba5 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/TableLookupExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `TableLookupExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.TableLookupExpression + +/** + * INTERNAL: This module contains the customizable definition of `TableLookupExpression` and should not + * be referenced directly. + */ +module Impl { + class TableLookupExpression extends Generated::TableLookupExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ThrowStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ThrowStatementConstructor.qll new file mode 100644 index 000000000000..58e9d13d96d8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ThrowStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ThrowStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ThrowStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructThrowStatement(Raw::ThrowStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ThrowStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ThrowStatementImpl.qll new file mode 100644 index 000000000000..fa9854f8cb2e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ThrowStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ThrowStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ThrowStatement + +/** + * INTERNAL: This module contains the customizable definition of `ThrowStatement` and should not + * be referenced directly. + */ +module Impl { + class ThrowStatement extends Generated::ThrowStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/TryStatementCatchEntryConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/TryStatementCatchEntryConstructor.qll new file mode 100644 index 000000000000..5b0b22ca709b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/TryStatementCatchEntryConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `TryStatementCatchEntry` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `TryStatementCatchEntry` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructTryStatementCatchEntry(Raw::TryStatementCatchEntry id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/TryStatementCatchEntryImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/TryStatementCatchEntryImpl.qll new file mode 100644 index 000000000000..db98372f2087 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/TryStatementCatchEntryImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `TryStatementCatchEntry`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.TryStatementCatchEntry + +/** + * INTERNAL: This module contains the customizable definition of `TryStatementCatchEntry` and should not + * be referenced directly. + */ +module Impl { + class TryStatementCatchEntry extends Generated::TryStatementCatchEntry { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/TryStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/TryStatementConstructor.qll new file mode 100644 index 000000000000..16ceae0b864d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/TryStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `TryStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `TryStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructTryStatement(Raw::TryStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/TryStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/TryStatementImpl.qll new file mode 100644 index 000000000000..abe35c16966e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/TryStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `TryStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.TryStatement + +/** + * INTERNAL: This module contains the customizable definition of `TryStatement` and should not + * be referenced directly. + */ +module Impl { + class TryStatement extends Generated::TryStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/TtsAbortStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/TtsAbortStatementConstructor.qll new file mode 100644 index 000000000000..ab94243c11af --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/TtsAbortStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `TtsAbortStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `TtsAbortStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructTtsAbortStatement(Raw::TtsAbortStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/TtsAbortStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/TtsAbortStatementImpl.qll new file mode 100644 index 000000000000..fe020fc078e9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/TtsAbortStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `TtsAbortStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.TtsAbortStatement + +/** + * INTERNAL: This module contains the customizable definition of `TtsAbortStatement` and should not + * be referenced directly. + */ +module Impl { + class TtsAbortStatement extends Generated::TtsAbortStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/TtsBeginStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/TtsBeginStatementConstructor.qll new file mode 100644 index 000000000000..7ac2e6e15bfd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/TtsBeginStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `TtsBeginStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `TtsBeginStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructTtsBeginStatement(Raw::TtsBeginStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/TtsBeginStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/TtsBeginStatementImpl.qll new file mode 100644 index 000000000000..8a769a0f49fe --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/TtsBeginStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `TtsBeginStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.TtsBeginStatement + +/** + * INTERNAL: This module contains the customizable definition of `TtsBeginStatement` and should not + * be referenced directly. + */ +module Impl { + class TtsBeginStatement extends Generated::TtsBeginStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/TtsEndStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/TtsEndStatementConstructor.qll new file mode 100644 index 000000000000..718558fca072 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/TtsEndStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `TtsEndStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `TtsEndStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructTtsEndStatement(Raw::TtsEndStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/TtsEndStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/TtsEndStatementImpl.qll new file mode 100644 index 000000000000..8784c562b1eb --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/TtsEndStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `TtsEndStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.TtsEndStatement + +/** + * INTERNAL: This module contains the customizable definition of `TtsEndStatement` and should not + * be referenced directly. + */ +module Impl { + class TtsEndStatement extends Generated::TtsEndStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/TtsStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/TtsStatementImpl.qll new file mode 100644 index 000000000000..facb3a53ea09 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/TtsStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `TtsStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.TtsStatement + +/** + * INTERNAL: This module contains the customizable definition of `TtsStatement` and should not + * be referenced directly. + */ +module Impl { + class TtsStatement extends Generated::TtsStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/UnaryExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/UnaryExpressionImpl.qll new file mode 100644 index 000000000000..896b68e3cd4d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/UnaryExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `UnaryExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.UnaryExpression + +/** + * INTERNAL: This module contains the customizable definition of `UnaryExpression` and should not + * be referenced directly. + */ +module Impl { + class UnaryExpression extends Generated::UnaryExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/UnaryMinusExpressionConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/UnaryMinusExpressionConstructor.qll new file mode 100644 index 000000000000..86a9bceb4a05 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/UnaryMinusExpressionConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `UnaryMinusExpression` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `UnaryMinusExpression` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructUnaryMinusExpression(Raw::UnaryMinusExpression id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/UnaryMinusExpressionImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/UnaryMinusExpressionImpl.qll new file mode 100644 index 000000000000..e30fe1c808e4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/UnaryMinusExpressionImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `UnaryMinusExpression`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.UnaryMinusExpression + +/** + * INTERNAL: This module contains the customizable definition of `UnaryMinusExpression` and should not + * be referenced directly. + */ +module Impl { + class UnaryMinusExpression extends Generated::UnaryMinusExpression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/UncheckedStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/UncheckedStatementConstructor.qll new file mode 100644 index 000000000000..191dc636487c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/UncheckedStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `UncheckedStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `UncheckedStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructUncheckedStatement(Raw::UncheckedStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/UncheckedStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/UncheckedStatementImpl.qll new file mode 100644 index 000000000000..6ced4fc03970 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/UncheckedStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `UncheckedStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.UncheckedStatement + +/** + * INTERNAL: This module contains the customizable definition of `UncheckedStatement` and should not + * be referenced directly. + */ +module Impl { + class UncheckedStatement extends Generated::UncheckedStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/UnspecifiedElementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/UnspecifiedElementConstructor.qll new file mode 100644 index 000000000000..337adf0d0dd1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/UnspecifiedElementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `UnspecifiedElement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `UnspecifiedElement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructUnspecifiedElement(Raw::UnspecifiedElement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/UnspecifiedElementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/UnspecifiedElementImpl.qll new file mode 100644 index 000000000000..640d8ede0222 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/UnspecifiedElementImpl.qll @@ -0,0 +1,19 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `UnspecifiedElement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.UnspecifiedElement + +/** + * INTERNAL: This module contains the customizable definition of `UnspecifiedElement` and should not + * be referenced directly. + */ +module Impl { + /** + * A node that could not be extracted, for example because of a syntax error. + */ + class UnspecifiedElement extends Generated::UnspecifiedElement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/UpdateStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/UpdateStatementConstructor.qll new file mode 100644 index 000000000000..c0115ea72296 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/UpdateStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `UpdateStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `UpdateStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructUpdateStatement(Raw::UpdateStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/UpdateStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/UpdateStatementImpl.qll new file mode 100644 index 000000000000..b3465531ba69 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/UpdateStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `UpdateStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.UpdateStatement + +/** + * INTERNAL: This module contains the customizable definition of `UpdateStatement` and should not + * be referenced directly. + */ +module Impl { + class UpdateStatement extends Generated::UpdateStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/UsingStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/UsingStatementConstructor.qll new file mode 100644 index 000000000000..c54aa017eb7c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/UsingStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `UsingStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `UsingStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructUsingStatement(Raw::UsingStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/UsingStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/UsingStatementImpl.qll new file mode 100644 index 000000000000..019235253b31 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/UsingStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `UsingStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.UsingStatement + +/** + * INTERNAL: This module contains the customizable definition of `UsingStatement` and should not + * be referenced directly. + */ +module Impl { + class UsingStatement extends Generated::UsingStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ValidTimeStateDateConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ValidTimeStateDateConstructor.qll new file mode 100644 index 000000000000..ebc6cc81c60f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ValidTimeStateDateConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ValidTimeStateDate` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ValidTimeStateDate` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructValidTimeStateDate(Raw::ValidTimeStateDate id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ValidTimeStateDateImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ValidTimeStateDateImpl.qll new file mode 100644 index 000000000000..8096ce579a05 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ValidTimeStateDateImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ValidTimeStateDate`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ValidTimeStateDate + +/** + * INTERNAL: This module contains the customizable definition of `ValidTimeStateDate` and should not + * be referenced directly. + */ +module Impl { + class ValidTimeStateDate extends Generated::ValidTimeStateDate { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ValidTimeStateImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ValidTimeStateImpl.qll new file mode 100644 index 000000000000..d477790f29c0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ValidTimeStateImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ValidTimeState`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ValidTimeState + +/** + * INTERNAL: This module contains the customizable definition of `ValidTimeState` and should not + * be referenced directly. + */ +module Impl { + class ValidTimeState extends Generated::ValidTimeState { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ValidTimeStateRangeConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ValidTimeStateRangeConstructor.qll new file mode 100644 index 000000000000..3796f5dfb5b4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ValidTimeStateRangeConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ValidTimeStateRange` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ValidTimeStateRange` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructValidTimeStateRange(Raw::ValidTimeStateRange id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/ValidTimeStateRangeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/ValidTimeStateRangeImpl.qll new file mode 100644 index 000000000000..24152de5a679 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/ValidTimeStateRangeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ValidTimeStateRange`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.ValidTimeStateRange + +/** + * INTERNAL: This module contains the customizable definition of `ValidTimeStateRange` and should not + * be referenced directly. + */ +module Impl { + class ValidTimeStateRange extends Generated::ValidTimeStateRange { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/VarTypeConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/VarTypeConstructor.qll new file mode 100644 index 000000000000..4e64607bd99d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/VarTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `VarType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `VarType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructVarType(Raw::VarType id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/VarTypeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/VarTypeImpl.qll new file mode 100644 index 000000000000..b5d7e8090270 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/VarTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `VarType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.VarType + +/** + * INTERNAL: This module contains the customizable definition of `VarType` and should not + * be referenced directly. + */ +module Impl { + class VarType extends Generated::VarType { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/VariableDeclarationImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/VariableDeclarationImpl.qll new file mode 100644 index 000000000000..7942f09a9d8e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/VariableDeclarationImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `VariableDeclaration`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.VariableDeclaration + +/** + * INTERNAL: This module contains the customizable definition of `VariableDeclaration` and should not + * be referenced directly. + */ +module Impl { + class VariableDeclaration extends Generated::VariableDeclaration { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/VoidTypeConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/VoidTypeConstructor.qll new file mode 100644 index 000000000000..d0c4c0a7a649 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/VoidTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `VoidType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `VoidType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructVoidType(Raw::VoidType id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/VoidTypeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/VoidTypeImpl.qll new file mode 100644 index 000000000000..0add797fa70f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/VoidTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `VoidType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.VoidType + +/** + * INTERNAL: This module contains the customizable definition of `VoidType` and should not + * be referenced directly. + */ +module Impl { + class VoidType extends Generated::VoidType { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/WhileStatementConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/WhileStatementConstructor.qll new file mode 100644 index 000000000000..c9c39061fca1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/WhileStatementConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `WhileStatement` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `WhileStatement` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructWhileStatement(Raw::WhileStatement id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/WhileStatementImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/WhileStatementImpl.qll new file mode 100644 index 000000000000..e2a8c7a7b387 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/WhileStatementImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `WhileStatement`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.WhileStatement + +/** + * INTERNAL: This module contains the customizable definition of `WhileStatement` and should not + * be referenced directly. + */ +module Impl { + class WhileStatement extends Generated::WhileStatement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/XppTupleImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/XppTupleImpl.qll new file mode 100644 index 000000000000..c5047d9fdc47 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/XppTupleImpl.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `XppTuple`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.XppTuple + +/** + * INTERNAL: This module contains the customizable definition of `XppTuple` and should not + * be referenced directly. + */ +module Impl { + /** + * Base of the classes standing in for tuples in the compiler's AST. + * + * The X++ compiler uses CLR tuples for a handful of grouped values, such as a `catch` + * together with its handler body. The schema has no tuple type, so the generator emits a + * named class per tuple-valued property instead. + */ + class XppTuple extends Generated::XppTuple { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/XppTypeCompilationUnitConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/XppTypeCompilationUnitConstructor.qll new file mode 100644 index 000000000000..887ce9e6e17d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/XppTypeCompilationUnitConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `XppTypeCompilationUnit` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `XppTypeCompilationUnit` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructXppTypeCompilationUnit(Raw::XppTypeCompilationUnit id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/XppTypeCompilationUnitImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/XppTypeCompilationUnitImpl.qll new file mode 100644 index 000000000000..f8cfdcce19dd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/XppTypeCompilationUnitImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `XppTypeCompilationUnit`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.XppTypeCompilationUnit + +/** + * INTERNAL: This module contains the customizable definition of `XppTypeCompilationUnit` and should not + * be referenced directly. + */ +module Impl { + class XppTypeCompilationUnit extends Generated::XppTypeCompilationUnit { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/XppTypeImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/XppTypeImpl.qll new file mode 100644 index 000000000000..d2a88596377c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/XppTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `XppType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.XppType + +/** + * INTERNAL: This module contains the customizable definition of `XppType` and should not + * be referenced directly. + */ +module Impl { + class XppType extends Generated::XppType { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AddExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AddExpression.qll new file mode 100644 index 000000000000..fcf2b108bf31 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AddExpression.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AddExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.BinaryExpressionImpl::Impl as BinaryExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AddExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AddExpression` class directly. + * Use the subclass `AddExpression`, where the following predicates are available. + */ + class AddExpression extends Synth::TAddExpression, BinaryExpressionImpl::BinaryExpression { + override string getAPrimaryQlClass() { result = "AddExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AggregateSelection.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AggregateSelection.qll new file mode 100644 index 000000000000..c3eea56ab2d6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AggregateSelection.qll @@ -0,0 +1,22 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AggregateSelection`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.SelectionFieldImpl::Impl as SelectionFieldImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AggregateSelection` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AggregateSelection` class directly. + * Use the subclass `AggregateSelection`, where the following predicates are available. + */ + class AggregateSelection extends Synth::TAggregateSelection, SelectionFieldImpl::SelectionField { + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AllFieldsSelection.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AllFieldsSelection.qll new file mode 100644 index 000000000000..61aada4e5249 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AllFieldsSelection.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AllFieldsSelection`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.SelectionImpl::Impl as SelectionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AllFieldsSelection` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AllFieldsSelection` class directly. + * Use the subclass `AllFieldsSelection`, where the following predicates are available. + */ + class AllFieldsSelection extends Synth::TAllFieldsSelection, SelectionImpl::Selection { + override string getAPrimaryQlClass() { result = "AllFieldsSelection" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AndExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AndExpression.qll new file mode 100644 index 000000000000..fc0998259a4b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AndExpression.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AndExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.BinaryExpressionImpl::Impl as BinaryExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AndExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AndExpression` class directly. + * Use the subclass `AndExpression`, where the following predicates are available. + */ + class AndExpression extends Synth::TAndExpression, BinaryExpressionImpl::BinaryExpression { + override string getAPrimaryQlClass() { result = "AndExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AnyType.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AnyType.qll new file mode 100644 index 000000000000..ba55147098a2 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AnyType.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AnyType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.XppTypeImpl::Impl as XppTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AnyType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AnyType` class directly. + * Use the subclass `AnyType`, where the following predicates are available. + */ + class AnyType extends Synth::TAnyType, XppTypeImpl::XppType { + override string getAPrimaryQlClass() { result = "AnyType" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ArraySpecification.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ArraySpecification.qll new file mode 100644 index 000000000000..a1745240a06c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ArraySpecification.qll @@ -0,0 +1,54 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ArraySpecification`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl +import codeql.xpp.elements.Expression + +/** + * INTERNAL: This module contains the fully generated definition of `ArraySpecification` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ArraySpecification` class directly. + * Use the subclass `ArraySpecification`, where the following predicates are available. + */ + class ArraySpecification extends Synth::TArraySpecification, AstImpl::Ast { + override string getAPrimaryQlClass() { result = "ArraySpecification" } + + /** + * Gets the index1 of this array specification, if it exists. + */ + Expression getIndex1() { + result = + Synth::convertExpressionFromRaw(Synth::convertArraySpecificationToRaw(this) + .(Raw::ArraySpecification) + .getIndex1()) + } + + /** + * Holds if `getIndex1()` exists. + */ + final predicate hasIndex1() { exists(this.getIndex1()) } + + /** + * Gets the index2 of this array specification, if it exists. + */ + Expression getIndex2() { + result = + Synth::convertExpressionFromRaw(Synth::convertArraySpecificationToRaw(this) + .(Raw::ArraySpecification) + .getIndex2()) + } + + /** + * Holds if `getIndex2()` exists. + */ + final predicate hasIndex2() { exists(this.getIndex2()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AsClrExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AsClrExpression.qll new file mode 100644 index 000000000000..39e58fff4f9a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AsClrExpression.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AsClrExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.IsAsExpressionImpl::Impl as IsAsExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AsClrExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AsClrExpression` class directly. + * Use the subclass `AsClrExpression`, where the following predicates are available. + */ + class AsClrExpression extends Synth::TAsClrExpression, IsAsExpressionImpl::IsAsExpression { + override string getAPrimaryQlClass() { result = "AsClrExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AsExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AsExpression.qll new file mode 100644 index 000000000000..c76daecf838a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AsExpression.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AsExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.IsAsExpressionImpl::Impl as IsAsExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AsExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AsExpression` class directly. + * Use the subclass `AsExpression`, where the following predicates are available. + */ + class AsExpression extends Synth::TAsExpression, IsAsExpressionImpl::IsAsExpression { + override string getAPrimaryQlClass() { result = "AsExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignDecrementStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignDecrementStatement.qll new file mode 100644 index 000000000000..c41dddb1ede6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignDecrementStatement.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AssignDecrementStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AssignmentBinaryImpl::Impl as AssignmentBinaryImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AssignDecrementStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AssignDecrementStatement` class directly. + * Use the subclass `AssignDecrementStatement`, where the following predicates are available. + */ + class AssignDecrementStatement extends Synth::TAssignDecrementStatement, + AssignmentBinaryImpl::AssignmentBinary + { + override string getAPrimaryQlClass() { result = "AssignDecrementStatement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignDivideStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignDivideStatement.qll new file mode 100644 index 000000000000..27c3a13bf7be --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignDivideStatement.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AssignDivideStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AssignmentBinaryImpl::Impl as AssignmentBinaryImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AssignDivideStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AssignDivideStatement` class directly. + * Use the subclass `AssignDivideStatement`, where the following predicates are available. + */ + class AssignDivideStatement extends Synth::TAssignDivideStatement, + AssignmentBinaryImpl::AssignmentBinary + { + override string getAPrimaryQlClass() { result = "AssignDivideStatement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignEqualStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignEqualStatement.qll new file mode 100644 index 000000000000..8c5df37b45c5 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignEqualStatement.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AssignEqualStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AssignmentBinaryImpl::Impl as AssignmentBinaryImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AssignEqualStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AssignEqualStatement` class directly. + * Use the subclass `AssignEqualStatement`, where the following predicates are available. + */ + class AssignEqualStatement extends Synth::TAssignEqualStatement, + AssignmentBinaryImpl::AssignmentBinary + { + override string getAPrimaryQlClass() { result = "AssignEqualStatement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignIncrementStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignIncrementStatement.qll new file mode 100644 index 000000000000..e63ee1ffab3c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignIncrementStatement.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AssignIncrementStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AssignmentBinaryImpl::Impl as AssignmentBinaryImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AssignIncrementStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AssignIncrementStatement` class directly. + * Use the subclass `AssignIncrementStatement`, where the following predicates are available. + */ + class AssignIncrementStatement extends Synth::TAssignIncrementStatement, + AssignmentBinaryImpl::AssignmentBinary + { + override string getAPrimaryQlClass() { result = "AssignIncrementStatement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignMultipleFieldStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignMultipleFieldStatement.qll new file mode 100644 index 000000000000..e6c65841fb21 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignMultipleFieldStatement.qll @@ -0,0 +1,62 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AssignMultipleFieldStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AssignmentStatementImpl::Impl as AssignmentStatementImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.FieldSpecification + +/** + * INTERNAL: This module contains the fully generated definition of `AssignMultipleFieldStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AssignMultipleFieldStatement` class directly. + * Use the subclass `AssignMultipleFieldStatement`, where the following predicates are available. + */ + class AssignMultipleFieldStatement extends Synth::TAssignMultipleFieldStatement, + AssignmentStatementImpl::AssignmentStatement + { + override string getAPrimaryQlClass() { result = "AssignMultipleFieldStatement" } + + /** + * Gets the expression of this assign multiple field statement, if it exists. + */ + Expression getExpression() { + result = + Synth::convertExpressionFromRaw(Synth::convertAssignMultipleFieldStatementToRaw(this) + .(Raw::AssignMultipleFieldStatement) + .getExpression()) + } + + /** + * Holds if `getExpression()` exists. + */ + final predicate hasExpression() { exists(this.getExpression()) } + + /** + * Gets the `index`th field of this assign multiple field statement (0-based). + */ + FieldSpecification getField(int index) { + result = + Synth::convertFieldSpecificationFromRaw(Synth::convertAssignMultipleFieldStatementToRaw(this) + .(Raw::AssignMultipleFieldStatement) + .getField(index)) + } + + /** + * Gets any of the fields of this assign multiple field statement. + */ + final FieldSpecification getAField() { result = this.getField(_) } + + /** + * Gets the number of fields of this assign multiple field statement. + */ + final int getNumberOfFields() { result = count(int i | exists(this.getField(i))) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignMultiplyStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignMultiplyStatement.qll new file mode 100644 index 000000000000..354ea78a771f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignMultiplyStatement.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AssignMultiplyStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AssignmentBinaryImpl::Impl as AssignmentBinaryImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AssignMultiplyStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AssignMultiplyStatement` class directly. + * Use the subclass `AssignMultiplyStatement`, where the following predicates are available. + */ + class AssignMultiplyStatement extends Synth::TAssignMultiplyStatement, + AssignmentBinaryImpl::AssignmentBinary + { + override string getAPrimaryQlClass() { result = "AssignMultiplyStatement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignPostDecrementStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignPostDecrementStatement.qll new file mode 100644 index 000000000000..df397e65e66e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignPostDecrementStatement.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AssignPostDecrementStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AssignmentSingleFieldImpl::Impl as AssignmentSingleFieldImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AssignPostDecrementStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AssignPostDecrementStatement` class directly. + * Use the subclass `AssignPostDecrementStatement`, where the following predicates are available. + */ + class AssignPostDecrementStatement extends Synth::TAssignPostDecrementStatement, + AssignmentSingleFieldImpl::AssignmentSingleField + { + override string getAPrimaryQlClass() { result = "AssignPostDecrementStatement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignPostIncrementStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignPostIncrementStatement.qll new file mode 100644 index 000000000000..18ef0d681479 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignPostIncrementStatement.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AssignPostIncrementStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AssignmentSingleFieldImpl::Impl as AssignmentSingleFieldImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AssignPostIncrementStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AssignPostIncrementStatement` class directly. + * Use the subclass `AssignPostIncrementStatement`, where the following predicates are available. + */ + class AssignPostIncrementStatement extends Synth::TAssignPostIncrementStatement, + AssignmentSingleFieldImpl::AssignmentSingleField + { + override string getAPrimaryQlClass() { result = "AssignPostIncrementStatement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignPreDecrementStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignPreDecrementStatement.qll new file mode 100644 index 000000000000..ba7030c86862 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignPreDecrementStatement.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AssignPreDecrementStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AssignmentSingleFieldImpl::Impl as AssignmentSingleFieldImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AssignPreDecrementStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AssignPreDecrementStatement` class directly. + * Use the subclass `AssignPreDecrementStatement`, where the following predicates are available. + */ + class AssignPreDecrementStatement extends Synth::TAssignPreDecrementStatement, + AssignmentSingleFieldImpl::AssignmentSingleField + { + override string getAPrimaryQlClass() { result = "AssignPreDecrementStatement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignPreIncrementStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignPreIncrementStatement.qll new file mode 100644 index 000000000000..b44e42e50bc5 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignPreIncrementStatement.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AssignPreIncrementStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AssignmentSingleFieldImpl::Impl as AssignmentSingleFieldImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AssignPreIncrementStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AssignPreIncrementStatement` class directly. + * Use the subclass `AssignPreIncrementStatement`, where the following predicates are available. + */ + class AssignPreIncrementStatement extends Synth::TAssignPreIncrementStatement, + AssignmentSingleFieldImpl::AssignmentSingleField + { + override string getAPrimaryQlClass() { result = "AssignPreIncrementStatement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentBinary.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentBinary.qll new file mode 100644 index 000000000000..53df99fa9c17 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentBinary.qll @@ -0,0 +1,39 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AssignmentBinary`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AssignmentSingleFieldImpl::Impl as AssignmentSingleFieldImpl +import codeql.xpp.elements.Expression + +/** + * INTERNAL: This module contains the fully generated definition of `AssignmentBinary` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AssignmentBinary` class directly. + * Use the subclass `AssignmentBinary`, where the following predicates are available. + */ + class AssignmentBinary extends Synth::TAssignmentBinary, + AssignmentSingleFieldImpl::AssignmentSingleField + { + /** + * Gets the expression of this assignment binary, if it exists. + */ + Expression getExpression() { + result = + Synth::convertExpressionFromRaw(Synth::convertAssignmentBinaryToRaw(this) + .(Raw::AssignmentBinary) + .getExpression()) + } + + /** + * Holds if `getExpression()` exists. + */ + final predicate hasExpression() { exists(this.getExpression()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerBase.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerBase.qll new file mode 100644 index 000000000000..1ca51262b371 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerBase.qll @@ -0,0 +1,47 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AssignmentEventHandlerBase`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AssignmentSingleFieldImpl::Impl as AssignmentSingleFieldImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AssignmentEventHandlerBase` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AssignmentEventHandlerBase` class directly. + * Use the subclass `AssignmentEventHandlerBase`, where the following predicates are available. + */ + class AssignmentEventHandlerBase extends Synth::TAssignmentEventHandlerBase, + AssignmentSingleFieldImpl::AssignmentSingleField + { + /** + * Holds if this assignment event handler base addition. + */ + predicate addition() { + Synth::convertAssignmentEventHandlerBaseToRaw(this) + .(Raw::AssignmentEventHandlerBase) + .addition() + } + + /** + * Gets the name of this assignment event handler base, if it exists. + */ + string getName() { + result = + Synth::convertAssignmentEventHandlerBaseToRaw(this) + .(Raw::AssignmentEventHandlerBase) + .getName() + } + + /** + * Holds if `getName()` exists. + */ + final predicate hasName() { exists(this.getName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerClr.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerClr.qll new file mode 100644 index 000000000000..108612d563b6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerClr.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AssignmentEventHandlerClr`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AssignmentEventHandlerStaticImpl::Impl as AssignmentEventHandlerStaticImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AssignmentEventHandlerClr` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AssignmentEventHandlerClr` class directly. + * Use the subclass `AssignmentEventHandlerClr`, where the following predicates are available. + */ + class AssignmentEventHandlerClr extends Synth::TAssignmentEventHandlerClr, + AssignmentEventHandlerStaticImpl::AssignmentEventHandlerStatic + { + override string getAPrimaryQlClass() { result = "AssignmentEventHandlerClr" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerInstance.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerInstance.qll new file mode 100644 index 000000000000..c20dfffb3798 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerInstance.qll @@ -0,0 +1,41 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AssignmentEventHandlerInstance`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AssignmentEventHandlerBaseImpl::Impl as AssignmentEventHandlerBaseImpl +import codeql.xpp.elements.Qualifier + +/** + * INTERNAL: This module contains the fully generated definition of `AssignmentEventHandlerInstance` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AssignmentEventHandlerInstance` class directly. + * Use the subclass `AssignmentEventHandlerInstance`, where the following predicates are available. + */ + class AssignmentEventHandlerInstance extends Synth::TAssignmentEventHandlerInstance, + AssignmentEventHandlerBaseImpl::AssignmentEventHandlerBase + { + override string getAPrimaryQlClass() { result = "AssignmentEventHandlerInstance" } + + /** + * Gets the qualifier part of this assignment event handler instance, if it exists. + */ + Qualifier getQualifierPart() { + result = + Synth::convertQualifierFromRaw(Synth::convertAssignmentEventHandlerInstanceToRaw(this) + .(Raw::AssignmentEventHandlerInstance) + .getQualifierPart()) + } + + /** + * Holds if `getQualifierPart()` exists. + */ + final predicate hasQualifierPart() { exists(this.getQualifierPart()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerStatic.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerStatic.qll new file mode 100644 index 000000000000..c048de7dd45f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerStatic.qll @@ -0,0 +1,38 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AssignmentEventHandlerStatic`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AssignmentEventHandlerBaseImpl::Impl as AssignmentEventHandlerBaseImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AssignmentEventHandlerStatic` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AssignmentEventHandlerStatic` class directly. + * Use the subclass `AssignmentEventHandlerStatic`, where the following predicates are available. + */ + class AssignmentEventHandlerStatic extends Synth::TAssignmentEventHandlerStatic, + AssignmentEventHandlerBaseImpl::AssignmentEventHandlerBase + { + /** + * Gets the type name of this assignment event handler static, if it exists. + */ + string getTypeName() { + result = + Synth::convertAssignmentEventHandlerStaticToRaw(this) + .(Raw::AssignmentEventHandlerStatic) + .getTypeName() + } + + /** + * Holds if `getTypeName()` exists. + */ + final predicate hasTypeName() { exists(this.getTypeName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentSingleField.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentSingleField.qll new file mode 100644 index 000000000000..2f1ba62a5139 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentSingleField.qll @@ -0,0 +1,39 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AssignmentSingleField`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AssignmentStatementImpl::Impl as AssignmentStatementImpl +import codeql.xpp.elements.FieldSpecification + +/** + * INTERNAL: This module contains the fully generated definition of `AssignmentSingleField` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AssignmentSingleField` class directly. + * Use the subclass `AssignmentSingleField`, where the following predicates are available. + */ + class AssignmentSingleField extends Synth::TAssignmentSingleField, + AssignmentStatementImpl::AssignmentStatement + { + /** + * Gets the field of this assignment single field, if it exists. + */ + FieldSpecification getField() { + result = + Synth::convertFieldSpecificationFromRaw(Synth::convertAssignmentSingleFieldToRaw(this) + .(Raw::AssignmentSingleField) + .getField()) + } + + /** + * Holds if `getField()` exists. + */ + final predicate hasField() { exists(this.getField()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentStatement.qll new file mode 100644 index 000000000000..2ab4b4004ba4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentStatement.qll @@ -0,0 +1,21 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AssignmentStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AssignmentStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AssignmentStatement` class directly. + * Use the subclass `AssignmentStatement`, where the following predicates are available. + */ + class AssignmentStatement extends Synth::TAssignmentStatement, StatementImpl::Statement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Ast.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Ast.qll new file mode 100644 index 000000000000..b29174d85471 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Ast.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Ast`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.LocatableImpl::Impl as LocatableImpl + +/** + * INTERNAL: This module contains the fully generated definition of `Ast` and should not + * be referenced directly. + */ +module Generated { + /** + * Root of the X++ abstract syntax tree. + * + * This mirrors `Microsoft.Dynamics.AX.Metadata.XppCompiler.Ast`, the base class of the + * X++ compiler's own AST. + * INTERNAL: Do not reference the `Generated::Ast` class directly. + * Use the subclass `Ast`, where the following predicates are available. + */ + class Ast extends Synth::TAst, LocatableImpl::Locatable { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Attribute.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Attribute.qll new file mode 100644 index 000000000000..4ce3b609bd65 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Attribute.qll @@ -0,0 +1,89 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Attribute`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl +import codeql.xpp.elements.AttributeExpression +import codeql.xpp.elements.AttributeNamedParameterEntry + +/** + * INTERNAL: This module contains the fully generated definition of `Attribute` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Attribute` class directly. + * Use the subclass `Attribute`, where the following predicates are available. + */ + class Attribute extends Synth::TAttribute, AstImpl::Ast { + override string getAPrimaryQlClass() { result = "Attribute" } + + /** + * Gets the name of this attribute, if it exists. + */ + string getName() { result = Synth::convertAttributeToRaw(this).(Raw::Attribute).getName() } + + /** + * Holds if `getName()` exists. + */ + final predicate hasName() { exists(this.getName()) } + + /** + * Gets the `index`th named parameter of this attribute (0-based). + */ + AttributeNamedParameterEntry getNamedParameter(int index) { + result = + Synth::convertAttributeNamedParameterEntryFromRaw(Synth::convertAttributeToRaw(this) + .(Raw::Attribute) + .getNamedParameter(index)) + } + + /** + * Gets any of the named parameters of this attribute. + */ + final AttributeNamedParameterEntry getANamedParameter() { result = this.getNamedParameter(_) } + + /** + * Gets the number of named parameters of this attribute. + */ + final int getNumberOfNamedParameters() { + result = count(int i | exists(this.getNamedParameter(i))) + } + + /** + * Gets the non fully qualified name of this attribute, if it exists. + */ + string getNonFullyQualifiedName() { + result = Synth::convertAttributeToRaw(this).(Raw::Attribute).getNonFullyQualifiedName() + } + + /** + * Holds if `getNonFullyQualifiedName()` exists. + */ + final predicate hasNonFullyQualifiedName() { exists(this.getNonFullyQualifiedName()) } + + /** + * Gets the `index`th parameter of this attribute (0-based). + */ + AttributeExpression getParameter(int index) { + result = + Synth::convertAttributeExpressionFromRaw(Synth::convertAttributeToRaw(this) + .(Raw::Attribute) + .getParameter(index)) + } + + /** + * Gets any of the parameters of this attribute. + */ + final AttributeExpression getAParameter() { result = this.getParameter(_) } + + /** + * Gets the number of parameters of this attribute. + */ + final int getNumberOfParameters() { result = count(int i | exists(this.getParameter(i))) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AttributeExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AttributeExpression.qll new file mode 100644 index 000000000000..67b984151e5c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AttributeExpression.qll @@ -0,0 +1,39 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AttributeExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl +import codeql.xpp.elements.AttributeLiteral + +/** + * INTERNAL: This module contains the fully generated definition of `AttributeExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AttributeExpression` class directly. + * Use the subclass `AttributeExpression`, where the following predicates are available. + */ + class AttributeExpression extends Synth::TAttributeExpression, AstImpl::Ast { + override string getAPrimaryQlClass() { result = "AttributeExpression" } + + /** + * Gets the literal of this attribute expression, if it exists. + */ + AttributeLiteral getLiteral() { + result = + Synth::convertAttributeLiteralFromRaw(Synth::convertAttributeExpressionToRaw(this) + .(Raw::AttributeExpression) + .getLiteral()) + } + + /** + * Holds if `getLiteral()` exists. + */ + final predicate hasLiteral() { exists(this.getLiteral()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AttributeList.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AttributeList.qll new file mode 100644 index 000000000000..4ab08165ae0d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AttributeList.qll @@ -0,0 +1,51 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AttributeList`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl +import codeql.xpp.elements.Attribute + +/** + * INTERNAL: This module contains the fully generated definition of `AttributeList` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AttributeList` class directly. + * Use the subclass `AttributeList`, where the following predicates are available. + */ + class AttributeList extends Synth::TAttributeList, AstImpl::Ast { + override string getAPrimaryQlClass() { result = "AttributeList" } + + /** + * Gets the `index`th attribute of this attribute list (0-based). + */ + Attribute getAttribute(int index) { + result = + Synth::convertAttributeFromRaw(Synth::convertAttributeListToRaw(this) + .(Raw::AttributeList) + .getAttribute(index)) + } + + /** + * Gets any of the attributes of this attribute list. + */ + final Attribute getAnAttribute() { result = this.getAttribute(_) } + + /** + * Gets the number of attributes of this attribute list. + */ + final int getNumberOfAttributes() { result = count(int i | exists(this.getAttribute(i))) } + + /** + * Holds if this attribute list contains internal use only attribute. + */ + predicate containsInternalUseOnlyAttribute() { + Synth::convertAttributeListToRaw(this).(Raw::AttributeList).containsInternalUseOnlyAttribute() + } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AttributeLiteral.qll new file mode 100644 index 000000000000..faf57c376114 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AttributeLiteral.qll @@ -0,0 +1,21 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AttributeLiteral`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AttributeLiteral` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AttributeLiteral` class directly. + * Use the subclass `AttributeLiteral`, where the following predicates are available. + */ + class AttributeLiteral extends Synth::TAttributeLiteral, AstImpl::Ast { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AttributeNamedParameterEntry.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AttributeNamedParameterEntry.qll new file mode 100644 index 000000000000..74f7e089bf86 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AttributeNamedParameterEntry.qll @@ -0,0 +1,56 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AttributeNamedParameterEntry`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.AttributeExpression +import codeql.xpp.elements.internal.XppTupleImpl::Impl as XppTupleImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AttributeNamedParameterEntry` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AttributeNamedParameterEntry` class directly. + * Use the subclass `AttributeNamedParameterEntry`, where the following predicates are available. + */ + class AttributeNamedParameterEntry extends Synth::TAttributeNamedParameterEntry, + XppTupleImpl::XppTuple + { + override string getAPrimaryQlClass() { result = "AttributeNamedParameterEntry" } + + /** + * Gets the item1 of this attribute named parameter entry, if it exists. + */ + string getItem1() { + result = + Synth::convertAttributeNamedParameterEntryToRaw(this) + .(Raw::AttributeNamedParameterEntry) + .getItem1() + } + + /** + * Holds if `getItem1()` exists. + */ + final predicate hasItem1() { exists(this.getItem1()) } + + /** + * Gets the attribute expression of this attribute named parameter entry, if it exists. + */ + AttributeExpression getAttributeExpression() { + result = + Synth::convertAttributeExpressionFromRaw(Synth::convertAttributeNamedParameterEntryToRaw(this) + .(Raw::AttributeNamedParameterEntry) + .getAttributeExpression()) + } + + /** + * Holds if `getAttributeExpression()` exists. + */ + final predicate hasAttributeExpression() { exists(this.getAttributeExpression()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AvgAggregateSelection.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AvgAggregateSelection.qll new file mode 100644 index 000000000000..c01e22ea971d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AvgAggregateSelection.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AvgAggregateSelection`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AggregateSelectionImpl::Impl as AggregateSelectionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AvgAggregateSelection` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AvgAggregateSelection` class directly. + * Use the subclass `AvgAggregateSelection`, where the following predicates are available. + */ + class AvgAggregateSelection extends Synth::TAvgAggregateSelection, + AggregateSelectionImpl::AggregateSelection + { + override string getAPrimaryQlClass() { result = "AvgAggregateSelection" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/BinaryExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/BinaryExpression.qll new file mode 100644 index 000000000000..c3f3d8ddeea1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/BinaryExpression.qll @@ -0,0 +1,52 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `BinaryExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.internal.ExpressionImpl::Impl as ExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `BinaryExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::BinaryExpression` class directly. + * Use the subclass `BinaryExpression`, where the following predicates are available. + */ + class BinaryExpression extends Synth::TBinaryExpression, ExpressionImpl::Expression { + /** + * Gets the left of this binary expression, if it exists. + */ + Expression getLeft() { + result = + Synth::convertExpressionFromRaw(Synth::convertBinaryExpressionToRaw(this) + .(Raw::BinaryExpression) + .getLeft()) + } + + /** + * Holds if `getLeft()` exists. + */ + final predicate hasLeft() { exists(this.getLeft()) } + + /** + * Gets the right of this binary expression, if it exists. + */ + Expression getRight() { + result = + Synth::convertExpressionFromRaw(Synth::convertBinaryExpressionToRaw(this) + .(Raw::BinaryExpression) + .getRight()) + } + + /** + * Holds if `getRight()` exists. + */ + final predicate hasRight() { exists(this.getRight()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/BooleanAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/BooleanAttributeLiteral.qll new file mode 100644 index 000000000000..5ee7cb4eb005 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/BooleanAttributeLiteral.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `BooleanAttributeLiteral`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.DefaultTypeAttributeLiteralImpl::Impl as DefaultTypeAttributeLiteralImpl + +/** + * INTERNAL: This module contains the fully generated definition of `BooleanAttributeLiteral` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::BooleanAttributeLiteral` class directly. + * Use the subclass `BooleanAttributeLiteral`, where the following predicates are available. + */ + class BooleanAttributeLiteral extends Synth::TBooleanAttributeLiteral, + DefaultTypeAttributeLiteralImpl::DefaultTypeAttributeLiteral + { + override string getAPrimaryQlClass() { result = "BooleanAttributeLiteral" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/BooleanLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/BooleanLiteralExpression.qll new file mode 100644 index 000000000000..eb9965c3a01b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/BooleanLiteralExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `BooleanLiteralExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.DefaultTypeLiteralExpressionImpl::Impl as DefaultTypeLiteralExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `BooleanLiteralExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::BooleanLiteralExpression` class directly. + * Use the subclass `BooleanLiteralExpression`, where the following predicates are available. + */ + class BooleanLiteralExpression extends Synth::TBooleanLiteralExpression, + DefaultTypeLiteralExpressionImpl::DefaultTypeLiteralExpression + { + override string getAPrimaryQlClass() { result = "BooleanLiteralExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/BooleanType.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/BooleanType.qll new file mode 100644 index 000000000000..17a47afdd068 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/BooleanType.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `BooleanType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.XppTypeImpl::Impl as XppTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `BooleanType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::BooleanType` class directly. + * Use the subclass `BooleanType`, where the following predicates are available. + */ + class BooleanType extends Synth::TBooleanType, XppTypeImpl::XppType { + override string getAPrimaryQlClass() { result = "BooleanType" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/BreakStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/BreakStatement.qll new file mode 100644 index 000000000000..fb82b89da3d0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/BreakStatement.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `BreakStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `BreakStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::BreakStatement` class directly. + * Use the subclass `BreakStatement`, where the following predicates are available. + */ + class BreakStatement extends Synth::TBreakStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "BreakStatement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/BreakpointStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/BreakpointStatement.qll new file mode 100644 index 000000000000..e216b67f998c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/BreakpointStatement.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `BreakpointStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `BreakpointStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::BreakpointStatement` class directly. + * Use the subclass `BreakpointStatement`, where the following predicates are available. + */ + class BreakpointStatement extends Synth::TBreakpointStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "BreakpointStatement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Case.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Case.qll new file mode 100644 index 000000000000..eff083742113 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Case.qll @@ -0,0 +1,21 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Case`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl + +/** + * INTERNAL: This module contains the fully generated definition of `Case` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Case` class directly. + * Use the subclass `Case`, where the following predicates are available. + */ + class Case extends Synth::TCase, AstImpl::Ast { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/CaseDefault.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CaseDefault.qll new file mode 100644 index 000000000000..709f9a37807b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CaseDefault.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `CaseDefault`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.CaseImpl::Impl as CaseImpl + +/** + * INTERNAL: This module contains the fully generated definition of `CaseDefault` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::CaseDefault` class directly. + * Use the subclass `CaseDefault`, where the following predicates are available. + */ + class CaseDefault extends Synth::TCaseDefault, CaseImpl::Case { + override string getAPrimaryQlClass() { result = "CaseDefault" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/CaseValues.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CaseValues.qll new file mode 100644 index 000000000000..8cb22896d255 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CaseValues.qll @@ -0,0 +1,44 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `CaseValues`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.CaseImpl::Impl as CaseImpl +import codeql.xpp.elements.Expression + +/** + * INTERNAL: This module contains the fully generated definition of `CaseValues` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::CaseValues` class directly. + * Use the subclass `CaseValues`, where the following predicates are available. + */ + class CaseValues extends Synth::TCaseValues, CaseImpl::Case { + override string getAPrimaryQlClass() { result = "CaseValues" } + + /** + * Gets the `index`th value of this case values (0-based). + */ + Expression getValue(int index) { + result = + Synth::convertExpressionFromRaw(Synth::convertCaseValuesToRaw(this) + .(Raw::CaseValues) + .getValue(index)) + } + + /** + * Gets any of the values of this case values. + */ + final Expression getAValue() { result = this.getValue(_) } + + /** + * Gets the number of values of this case values. + */ + final int getNumberOfValues() { result = count(int i | exists(this.getValue(i))) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Catch.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Catch.qll new file mode 100644 index 000000000000..ad118dfe6beb --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Catch.qll @@ -0,0 +1,21 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Catch`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl + +/** + * INTERNAL: This module contains the fully generated definition of `Catch` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Catch` class directly. + * Use the subclass `Catch`, where the following predicates are available. + */ + class Catch extends Synth::TCatch, AstImpl::Ast { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/CatchAllValues.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CatchAllValues.qll new file mode 100644 index 000000000000..d136a338ba0c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CatchAllValues.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `CatchAllValues`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.CatchImpl::Impl as CatchImpl + +/** + * INTERNAL: This module contains the fully generated definition of `CatchAllValues` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::CatchAllValues` class directly. + * Use the subclass `CatchAllValues`, where the following predicates are available. + */ + class CatchAllValues extends Synth::TCatchAllValues, CatchImpl::Catch { + override string getAPrimaryQlClass() { result = "CatchAllValues" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/CatchExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CatchExpression.qll new file mode 100644 index 000000000000..9f7df58c14df --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CatchExpression.qll @@ -0,0 +1,39 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `CatchExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.CatchImpl::Impl as CatchImpl +import codeql.xpp.elements.Expression + +/** + * INTERNAL: This module contains the fully generated definition of `CatchExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::CatchExpression` class directly. + * Use the subclass `CatchExpression`, where the following predicates are available. + */ + class CatchExpression extends Synth::TCatchExpression, CatchImpl::Catch { + override string getAPrimaryQlClass() { result = "CatchExpression" } + + /** + * Gets the expression of this catch expression, if it exists. + */ + Expression getExpression() { + result = + Synth::convertExpressionFromRaw(Synth::convertCatchExpressionToRaw(this) + .(Raw::CatchExpression) + .getExpression()) + } + + /** + * Holds if `getExpression()` exists. + */ + final predicate hasExpression() { exists(this.getExpression()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/CatchUpdateConflict.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CatchUpdateConflict.qll new file mode 100644 index 000000000000..d8c957a6d0b9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CatchUpdateConflict.qll @@ -0,0 +1,55 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `CatchUpdateConflict`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.CatchImpl::Impl as CatchImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.InstanceName + +/** + * INTERNAL: This module contains the fully generated definition of `CatchUpdateConflict` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::CatchUpdateConflict` class directly. + * Use the subclass `CatchUpdateConflict`, where the following predicates are available. + */ + class CatchUpdateConflict extends Synth::TCatchUpdateConflict, CatchImpl::Catch { + override string getAPrimaryQlClass() { result = "CatchUpdateConflict" } + + /** + * Gets the expression of this catch update conflict, if it exists. + */ + Expression getExpression() { + result = + Synth::convertExpressionFromRaw(Synth::convertCatchUpdateConflictToRaw(this) + .(Raw::CatchUpdateConflict) + .getExpression()) + } + + /** + * Holds if `getExpression()` exists. + */ + final predicate hasExpression() { exists(this.getExpression()) } + + /** + * Gets the instance of this catch update conflict, if it exists. + */ + InstanceName getInstance() { + result = + Synth::convertInstanceNameFromRaw(Synth::convertCatchUpdateConflictToRaw(this) + .(Raw::CatchUpdateConflict) + .getInstance()) + } + + /** + * Holds if `getInstance()` exists. + */ + final predicate hasInstance() { exists(this.getInstance()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ChangeCompanyStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ChangeCompanyStatement.qll new file mode 100644 index 000000000000..f700d59c2d14 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ChangeCompanyStatement.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ChangeCompanyStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ChangeStatementImpl::Impl as ChangeStatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ChangeCompanyStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ChangeCompanyStatement` class directly. + * Use the subclass `ChangeCompanyStatement`, where the following predicates are available. + */ + class ChangeCompanyStatement extends Synth::TChangeCompanyStatement, + ChangeStatementImpl::ChangeStatement + { + override string getAPrimaryQlClass() { result = "ChangeCompanyStatement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ChangeStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ChangeStatement.qll new file mode 100644 index 000000000000..756e77936039 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ChangeStatement.qll @@ -0,0 +1,53 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ChangeStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Statement +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ChangeStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ChangeStatement` class directly. + * Use the subclass `ChangeStatement`, where the following predicates are available. + */ + class ChangeStatement extends Synth::TChangeStatement, StatementImpl::Statement { + /** + * Gets the expression of this change statement, if it exists. + */ + Expression getExpression() { + result = + Synth::convertExpressionFromRaw(Synth::convertChangeStatementToRaw(this) + .(Raw::ChangeStatement) + .getExpression()) + } + + /** + * Holds if `getExpression()` exists. + */ + final predicate hasExpression() { exists(this.getExpression()) } + + /** + * Gets the statement of this change statement, if it exists. + */ + Statement getStatement() { + result = + Synth::convertStatementFromRaw(Synth::convertChangeStatementToRaw(this) + .(Raw::ChangeStatement) + .getStatement()) + } + + /** + * Holds if `getStatement()` exists. + */ + final predicate hasStatement() { exists(this.getStatement()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Class.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Class.qll new file mode 100644 index 000000000000..bb7a35719f80 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Class.qll @@ -0,0 +1,68 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Class`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ClassOrInterfaceImpl::Impl as ClassOrInterfaceImpl +import codeql.xpp.elements.FieldDeclaration + +/** + * INTERNAL: This module contains the fully generated definition of `Class` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Class` class directly. + * Use the subclass `Class`, where the following predicates are available. + */ + class Class extends Synth::TClass, ClassOrInterfaceImpl::ClassOrInterface { + override string getAPrimaryQlClass() { result = "Class" } + + /** + * Gets the `index`th field of this class (0-based). + */ + FieldDeclaration getField(int index) { + result = + Synth::convertFieldDeclarationFromRaw(Synth::convertClassToRaw(this) + .(Raw::Class) + .getField(index)) + } + + /** + * Gets any of the fields of this class. + */ + final FieldDeclaration getAField() { result = this.getField(_) } + + /** + * Gets the number of fields of this class. + */ + final int getNumberOfFields() { result = count(int i | exists(this.getField(i))) } + + /** + * Holds if this class has cyclic inheritance. + */ + predicate hasCyclicInheritance() { + Synth::convertClassToRaw(this).(Raw::Class).hasCyclicInheritance() + } + + /** + * Gets the `index`th implement of this class (0-based). + */ + string getImplement(int index) { + result = Synth::convertClassToRaw(this).(Raw::Class).getImplement(index) + } + + /** + * Gets any of the implements of this class. + */ + final string getAnImplement() { result = this.getImplement(_) } + + /** + * Gets the number of implements of this class. + */ + final int getNumberOfImplements() { result = count(int i | exists(this.getImplement(i))) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ClassAccessModifier.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ClassAccessModifier.qll new file mode 100644 index 000000000000..01d68a418b84 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ClassAccessModifier.qll @@ -0,0 +1,36 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ClassAccessModifier`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ClassAccessModifier` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ClassAccessModifier` class directly. + * Use the subclass `ClassAccessModifier`, where the following predicates are available. + */ + class ClassAccessModifier extends Synth::TClassAccessModifier, AstImpl::Ast { + override string getAPrimaryQlClass() { result = "ClassAccessModifier" } + + /** + * Gets the class modifiers of this class access modifier, if it exists. + */ + string getClassModifiers() { + result = + Synth::convertClassAccessModifierToRaw(this).(Raw::ClassAccessModifier).getClassModifiers() + } + + /** + * Holds if `getClassModifiers()` exists. + */ + final predicate hasClassModifiers() { exists(this.getClassModifiers()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ClassOrInterface.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ClassOrInterface.qll new file mode 100644 index 000000000000..a6615f14f580 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ClassOrInterface.qll @@ -0,0 +1,125 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ClassOrInterface`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.AttributeList +import codeql.xpp.elements.ModelElement +import codeql.xpp.elements.internal.ModelElementImpl::Impl as ModelElementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ClassOrInterface` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ClassOrInterface` class directly. + * Use the subclass `ClassOrInterface`, where the following predicates are available. + */ + class ClassOrInterface extends Synth::TClassOrInterface, ModelElementImpl::ModelElement { + /** + * Gets the attributes of this class or interface, if it exists. + */ + AttributeList getAttributes() { + result = + Synth::convertAttributeListFromRaw(Synth::convertClassOrInterfaceToRaw(this) + .(Raw::ClassOrInterface) + .getAttributes()) + } + + /** + * Holds if `getAttributes()` exists. + */ + final predicate hasAttributes() { exists(this.getAttributes()) } + + /** + * Gets the element type name of this class or interface, if it exists. + */ + string getElementTypeName() { + result = + Synth::convertClassOrInterfaceToRaw(this).(Raw::ClassOrInterface).getElementTypeName() + } + + /** + * Holds if `getElementTypeName()` exists. + */ + final predicate hasElementTypeName() { exists(this.getElementTypeName()) } + + /** + * Gets the enclosing type of this class or interface, if it exists. + */ + ModelElement getEnclosingType() { + result = + Synth::convertModelElementFromRaw(Synth::convertClassOrInterfaceToRaw(this) + .(Raw::ClassOrInterface) + .getEnclosingType()) + } + + /** + * Holds if `getEnclosingType()` exists. + */ + final predicate hasEnclosingType() { exists(this.getEnclosingType()) } + + /** + * Gets the extends of this class or interface, if it exists. + */ + string getExtends() { + result = Synth::convertClassOrInterfaceToRaw(this).(Raw::ClassOrInterface).getExtends() + } + + /** + * Holds if `getExtends()` exists. + */ + final predicate hasExtends() { exists(this.getExtends()) } + + /** + * Holds if this class or interface is abstract. + */ + predicate isAbstract() { + Synth::convertClassOrInterfaceToRaw(this).(Raw::ClassOrInterface).isAbstract() + } + + /** + * Holds if this class or interface is composite data entity view. + */ + predicate isCompositeDataEntityView() { + Synth::convertClassOrInterfaceToRaw(this).(Raw::ClassOrInterface).isCompositeDataEntityView() + } + + /** + * Holds if this class or interface is final. + */ + predicate isFinal() { + Synth::convertClassOrInterfaceToRaw(this).(Raw::ClassOrInterface).isFinal() + } + + /** + * Holds if this class or interface is nested. + */ + predicate isNested() { + Synth::convertClassOrInterfaceToRaw(this).(Raw::ClassOrInterface).isNested() + } + + /** + * Holds if this class or interface is static. + */ + predicate isStatic() { + Synth::convertClassOrInterfaceToRaw(this).(Raw::ClassOrInterface).isStatic() + } + + /** + * Gets the qualifier of this class or interface, if it exists. + */ + string getQualifier() { + result = Synth::convertClassOrInterfaceToRaw(this).(Raw::ClassOrInterface).getQualifier() + } + + /** + * Holds if `getQualifier()` exists. + */ + final predicate hasQualifier() { exists(this.getQualifier()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ClrEnumerationLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ClrEnumerationLiteralExpression.qll new file mode 100644 index 000000000000..11a30abb3605 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ClrEnumerationLiteralExpression.qll @@ -0,0 +1,55 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ClrEnumerationLiteralExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.LiteralExpressionImpl::Impl as LiteralExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ClrEnumerationLiteralExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ClrEnumerationLiteralExpression` class directly. + * Use the subclass `ClrEnumerationLiteralExpression`, where the following predicates are available. + */ + class ClrEnumerationLiteralExpression extends Synth::TClrEnumerationLiteralExpression, + LiteralExpressionImpl::LiteralExpression + { + override string getAPrimaryQlClass() { result = "ClrEnumerationLiteralExpression" } + + /** + * Gets the enumeration literal of this clr enumeration literal expression, if it exists. + */ + string getEnumerationLiteral() { + result = + Synth::convertClrEnumerationLiteralExpressionToRaw(this) + .(Raw::ClrEnumerationLiteralExpression) + .getEnumerationLiteral() + } + + /** + * Holds if `getEnumerationLiteral()` exists. + */ + final predicate hasEnumerationLiteral() { exists(this.getEnumerationLiteral()) } + + /** + * Gets the enumeration type of this clr enumeration literal expression, if it exists. + */ + string getEnumerationType() { + result = + Synth::convertClrEnumerationLiteralExpressionToRaw(this) + .(Raw::ClrEnumerationLiteralExpression) + .getEnumerationType() + } + + /** + * Holds if `getEnumerationType()` exists. + */ + final predicate hasEnumerationType() { exists(this.getEnumerationType()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ClrType.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ClrType.qll new file mode 100644 index 000000000000..f330e8a7fe21 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ClrType.qll @@ -0,0 +1,52 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ClrType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.GenericXppTypeImpl::Impl as GenericXppTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ClrType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ClrType` class directly. + * Use the subclass `ClrType`, where the following predicates are available. + */ + class ClrType extends Synth::TClrType, GenericXppTypeImpl::GenericXppType { + override string getAPrimaryQlClass() { result = "ClrType" } + + /** + * Gets the full name of this clr type, if it exists. + */ + string getFullName() { result = Synth::convertClrTypeToRaw(this).(Raw::ClrType).getFullName() } + + /** + * Holds if `getFullName()` exists. + */ + final predicate hasFullName() { exists(this.getFullName()) } + + /** + * Gets the `index`th rectangular dimension of this clr type (0-based). + */ + int getRectangularDimension(int index) { + result = Synth::convertClrTypeToRaw(this).(Raw::ClrType).getRectangularDimension(index) + } + + /** + * Gets any of the rectangular dimensions of this clr type. + */ + final int getARectangularDimension() { result = this.getRectangularDimension(_) } + + /** + * Gets the number of rectangular dimensions of this clr type. + */ + final int getNumberOfRectangularDimensions() { + result = count(int i | exists(this.getRectangularDimension(i))) + } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Comment.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Comment.qll new file mode 100644 index 000000000000..69f90d0096fa --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Comment.qll @@ -0,0 +1,34 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Comment`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.LocatableImpl::Impl as LocatableImpl + +/** + * INTERNAL: This module contains the fully generated definition of `Comment` and should not + * be referenced directly. + */ +module Generated { + /** + * A comment in X++ source. + * INTERNAL: Do not reference the `Generated::Comment` class directly. + * Use the subclass `Comment`, where the following predicates are available. + */ + class Comment extends Synth::TComment, LocatableImpl::Locatable { + override string getAPrimaryQlClass() { result = "Comment" } + + /** + * Gets the text of this comment, if it exists. + */ + string getText() { result = Synth::convertCommentToRaw(this).(Raw::Comment).getText() } + + /** + * Holds if `getText()` exists. + */ + final predicate hasText() { exists(this.getText()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/CompilationUnit.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CompilationUnit.qll new file mode 100644 index 000000000000..ea067355a5d4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CompilationUnit.qll @@ -0,0 +1,84 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `CompilationUnit`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl +import codeql.xpp.elements.Comment +import codeql.xpp.elements.CompilationUnitRegionEntry + +/** + * INTERNAL: This module contains the fully generated definition of `CompilationUnit` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::CompilationUnit` class directly. + * Use the subclass `CompilationUnit`, where the following predicates are available. + */ + class CompilationUnit extends Synth::TCompilationUnit, AstImpl::Ast { + /** + * Gets the comments of this compilation unit, if it exists. + */ + Comment getComments() { + result = + Synth::convertCommentFromRaw(Synth::convertCompilationUnitToRaw(this) + .(Raw::CompilationUnit) + .getComments()) + } + + /** + * Holds if `getComments()` exists. + */ + final predicate hasComments() { exists(this.getComments()) } + + /** + * Holds if this compilation unit is name escaped. + */ + predicate isNameEscaped() { + Synth::convertCompilationUnitToRaw(this).(Raw::CompilationUnit).isNameEscaped() + } + + /** + * Gets the name of this compilation unit, if it exists. + */ + string getName() { + result = Synth::convertCompilationUnitToRaw(this).(Raw::CompilationUnit).getName() + } + + /** + * Holds if `getName()` exists. + */ + final predicate hasName() { exists(this.getName()) } + + /** + * Holds if this compilation unit needs transformation. + */ + predicate needsTransformation() { + Synth::convertCompilationUnitToRaw(this).(Raw::CompilationUnit).needsTransformation() + } + + /** + * Gets the `index`th region of this compilation unit (0-based). + */ + CompilationUnitRegionEntry getRegion(int index) { + result = + Synth::convertCompilationUnitRegionEntryFromRaw(Synth::convertCompilationUnitToRaw(this) + .(Raw::CompilationUnit) + .getRegion(index)) + } + + /** + * Gets any of the regions of this compilation unit. + */ + final CompilationUnitRegionEntry getARegion() { result = this.getRegion(_) } + + /** + * Gets the number of regions of this compilation unit. + */ + final int getNumberOfRegions() { result = count(int i | exists(this.getRegion(i))) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/CompilationUnitRegionEntry.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CompilationUnitRegionEntry.qll new file mode 100644 index 000000000000..e559df72fb1f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CompilationUnitRegionEntry.qll @@ -0,0 +1,56 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `CompilationUnitRegionEntry`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Comment +import codeql.xpp.elements.internal.XppTupleImpl::Impl as XppTupleImpl + +/** + * INTERNAL: This module contains the fully generated definition of `CompilationUnitRegionEntry` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::CompilationUnitRegionEntry` class directly. + * Use the subclass `CompilationUnitRegionEntry`, where the following predicates are available. + */ + class CompilationUnitRegionEntry extends Synth::TCompilationUnitRegionEntry, + XppTupleImpl::XppTuple + { + override string getAPrimaryQlClass() { result = "CompilationUnitRegionEntry" } + + /** + * Gets the comment of this compilation unit region entry, if it exists. + */ + Comment getComment() { + result = + Synth::convertCommentFromRaw(Synth::convertCompilationUnitRegionEntryToRaw(this) + .(Raw::CompilationUnitRegionEntry) + .getComment()) + } + + /** + * Holds if `getComment()` exists. + */ + final predicate hasComment() { exists(this.getComment()) } + + /** + * Gets the comment2 of this compilation unit region entry, if it exists. + */ + Comment getComment2() { + result = + Synth::convertCommentFromRaw(Synth::convertCompilationUnitRegionEntryToRaw(this) + .(Raw::CompilationUnitRegionEntry) + .getComment2()) + } + + /** + * Holds if `getComment2()` exists. + */ + final predicate hasComment2() { exists(this.getComment2()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/CompoundStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CompoundStatement.qll new file mode 100644 index 000000000000..1f5f1e0b4dcf --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CompoundStatement.qll @@ -0,0 +1,44 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `CompoundStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Statement +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `CompoundStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::CompoundStatement` class directly. + * Use the subclass `CompoundStatement`, where the following predicates are available. + */ + class CompoundStatement extends Synth::TCompoundStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "CompoundStatement" } + + /** + * Gets the `index`th content of this compound statement (0-based). + */ + Statement getContent(int index) { + result = + Synth::convertStatementFromRaw(Synth::convertCompoundStatementToRaw(this) + .(Raw::CompoundStatement) + .getContent(index)) + } + + /** + * Gets any of the contents of this compound statement. + */ + final Statement getAContent() { result = this.getContent(_) } + + /** + * Gets the number of contents of this compound statement. + */ + final int getNumberOfContents() { result = count(int i | exists(this.getContent(i))) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ConditionalExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ConditionalExpression.qll new file mode 100644 index 000000000000..9aed2c942934 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ConditionalExpression.qll @@ -0,0 +1,69 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ConditionalExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.internal.ExpressionImpl::Impl as ExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ConditionalExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ConditionalExpression` class directly. + * Use the subclass `ConditionalExpression`, where the following predicates are available. + */ + class ConditionalExpression extends Synth::TConditionalExpression, ExpressionImpl::Expression { + override string getAPrimaryQlClass() { result = "ConditionalExpression" } + + /** + * Gets the condition of this conditional expression, if it exists. + */ + Expression getCondition() { + result = + Synth::convertExpressionFromRaw(Synth::convertConditionalExpressionToRaw(this) + .(Raw::ConditionalExpression) + .getCondition()) + } + + /** + * Holds if `getCondition()` exists. + */ + final predicate hasCondition() { exists(this.getCondition()) } + + /** + * Gets the else part of this conditional expression, if it exists. + */ + Expression getElsePart() { + result = + Synth::convertExpressionFromRaw(Synth::convertConditionalExpressionToRaw(this) + .(Raw::ConditionalExpression) + .getElsePart()) + } + + /** + * Holds if `getElsePart()` exists. + */ + final predicate hasElsePart() { exists(this.getElsePart()) } + + /** + * Gets the if part of this conditional expression, if it exists. + */ + Expression getIfPart() { + result = + Synth::convertExpressionFromRaw(Synth::convertConditionalExpressionToRaw(this) + .(Raw::ConditionalExpression) + .getIfPart()) + } + + /** + * Holds if `getIfPart()` exists. + */ + final predicate hasIfPart() { exists(this.getIfPart()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ContainerAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ContainerAttributeLiteral.qll new file mode 100644 index 000000000000..59b66b18c36a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ContainerAttributeLiteral.qll @@ -0,0 +1,46 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ContainerAttributeLiteral`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.AttributeExpression +import codeql.xpp.elements.internal.AttributeLiteralImpl::Impl as AttributeLiteralImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ContainerAttributeLiteral` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ContainerAttributeLiteral` class directly. + * Use the subclass `ContainerAttributeLiteral`, where the following predicates are available. + */ + class ContainerAttributeLiteral extends Synth::TContainerAttributeLiteral, + AttributeLiteralImpl::AttributeLiteral + { + override string getAPrimaryQlClass() { result = "ContainerAttributeLiteral" } + + /** + * Gets the `index`th value of this container attribute literal (0-based). + */ + AttributeExpression getValue(int index) { + result = + Synth::convertAttributeExpressionFromRaw(Synth::convertContainerAttributeLiteralToRaw(this) + .(Raw::ContainerAttributeLiteral) + .getValue(index)) + } + + /** + * Gets any of the values of this container attribute literal. + */ + final AttributeExpression getAValue() { result = this.getValue(_) } + + /** + * Gets the number of values of this container attribute literal. + */ + final int getNumberOfValues() { result = count(int i | exists(this.getValue(i))) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ContainerLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ContainerLiteralExpression.qll new file mode 100644 index 000000000000..5dd8ef8a6162 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ContainerLiteralExpression.qll @@ -0,0 +1,46 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ContainerLiteralExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.internal.LiteralExpressionImpl::Impl as LiteralExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ContainerLiteralExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ContainerLiteralExpression` class directly. + * Use the subclass `ContainerLiteralExpression`, where the following predicates are available. + */ + class ContainerLiteralExpression extends Synth::TContainerLiteralExpression, + LiteralExpressionImpl::LiteralExpression + { + override string getAPrimaryQlClass() { result = "ContainerLiteralExpression" } + + /** + * Gets the `index`th value of this container literal expression (0-based). + */ + Expression getValue(int index) { + result = + Synth::convertExpressionFromRaw(Synth::convertContainerLiteralExpressionToRaw(this) + .(Raw::ContainerLiteralExpression) + .getValue(index)) + } + + /** + * Gets any of the values of this container literal expression. + */ + final Expression getAValue() { result = this.getValue(_) } + + /** + * Gets the number of values of this container literal expression. + */ + final int getNumberOfValues() { result = count(int i | exists(this.getValue(i))) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ContainerType.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ContainerType.qll new file mode 100644 index 000000000000..e88bf46c8813 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ContainerType.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ContainerType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.XppTypeImpl::Impl as XppTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ContainerType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ContainerType` class directly. + * Use the subclass `ContainerType`, where the following predicates are available. + */ + class ContainerType extends Synth::TContainerType, XppTypeImpl::XppType { + override string getAPrimaryQlClass() { result = "ContainerType" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ContinueStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ContinueStatement.qll new file mode 100644 index 000000000000..d8ac32ff3c79 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ContinueStatement.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ContinueStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ContinueStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ContinueStatement` class directly. + * Use the subclass `ContinueStatement`, where the following predicates are available. + */ + class ContinueStatement extends Synth::TContinueStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "ContinueStatement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/CountAggregateSelection.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CountAggregateSelection.qll new file mode 100644 index 000000000000..d680d4462f17 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CountAggregateSelection.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `CountAggregateSelection`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AggregateSelectionImpl::Impl as AggregateSelectionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `CountAggregateSelection` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::CountAggregateSelection` class directly. + * Use the subclass `CountAggregateSelection`, where the following predicates are available. + */ + class CountAggregateSelection extends Synth::TCountAggregateSelection, + AggregateSelectionImpl::AggregateSelection + { + override string getAPrimaryQlClass() { result = "CountAggregateSelection" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/CrossCompany.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CrossCompany.qll new file mode 100644 index 000000000000..0f6526f2447c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CrossCompany.qll @@ -0,0 +1,21 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `CrossCompany`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl + +/** + * INTERNAL: This module contains the fully generated definition of `CrossCompany` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::CrossCompany` class directly. + * Use the subclass `CrossCompany`, where the following predicates are available. + */ + class CrossCompany extends Synth::TCrossCompany, AstImpl::Ast { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/CrossCompanyAll.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CrossCompanyAll.qll new file mode 100644 index 000000000000..1c263b3a4c4d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CrossCompanyAll.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `CrossCompanyAll`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.CrossCompanyImpl::Impl as CrossCompanyImpl + +/** + * INTERNAL: This module contains the fully generated definition of `CrossCompanyAll` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::CrossCompanyAll` class directly. + * Use the subclass `CrossCompanyAll`, where the following predicates are available. + */ + class CrossCompanyAll extends Synth::TCrossCompanyAll, CrossCompanyImpl::CrossCompany { + override string getAPrimaryQlClass() { result = "CrossCompanyAll" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/CrossCompanyContainer.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CrossCompanyContainer.qll new file mode 100644 index 000000000000..ec54c0c11792 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/CrossCompanyContainer.qll @@ -0,0 +1,39 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `CrossCompanyContainer`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.CrossCompanyImpl::Impl as CrossCompanyImpl +import codeql.xpp.elements.Expression + +/** + * INTERNAL: This module contains the fully generated definition of `CrossCompanyContainer` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::CrossCompanyContainer` class directly. + * Use the subclass `CrossCompanyContainer`, where the following predicates are available. + */ + class CrossCompanyContainer extends Synth::TCrossCompanyContainer, CrossCompanyImpl::CrossCompany { + override string getAPrimaryQlClass() { result = "CrossCompanyContainer" } + + /** + * Gets the container of this cross company container, if it exists. + */ + Expression getContainer() { + result = + Synth::convertExpressionFromRaw(Synth::convertCrossCompanyContainerToRaw(this) + .(Raw::CrossCompanyContainer) + .getContainer()) + } + + /** + * Holds if `getContainer()` exists. + */ + final predicate hasContainer() { exists(this.getContainer()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/DateAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DateAttributeLiteral.qll new file mode 100644 index 000000000000..dabf20f2edc1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DateAttributeLiteral.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `DateAttributeLiteral`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.DefaultTypeAttributeLiteralImpl::Impl as DefaultTypeAttributeLiteralImpl + +/** + * INTERNAL: This module contains the fully generated definition of `DateAttributeLiteral` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::DateAttributeLiteral` class directly. + * Use the subclass `DateAttributeLiteral`, where the following predicates are available. + */ + class DateAttributeLiteral extends Synth::TDateAttributeLiteral, + DefaultTypeAttributeLiteralImpl::DefaultTypeAttributeLiteral + { + override string getAPrimaryQlClass() { result = "DateAttributeLiteral" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/DateLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DateLiteralExpression.qll new file mode 100644 index 000000000000..0ffbf815aeab --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DateLiteralExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `DateLiteralExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.DefaultTypeLiteralExpressionImpl::Impl as DefaultTypeLiteralExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `DateLiteralExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::DateLiteralExpression` class directly. + * Use the subclass `DateLiteralExpression`, where the following predicates are available. + */ + class DateLiteralExpression extends Synth::TDateLiteralExpression, + DefaultTypeLiteralExpressionImpl::DefaultTypeLiteralExpression + { + override string getAPrimaryQlClass() { result = "DateLiteralExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/DateTimeAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DateTimeAttributeLiteral.qll new file mode 100644 index 000000000000..60d2b8b0ba7a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DateTimeAttributeLiteral.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `DateTimeAttributeLiteral`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.DefaultTypeAttributeLiteralImpl::Impl as DefaultTypeAttributeLiteralImpl + +/** + * INTERNAL: This module contains the fully generated definition of `DateTimeAttributeLiteral` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::DateTimeAttributeLiteral` class directly. + * Use the subclass `DateTimeAttributeLiteral`, where the following predicates are available. + */ + class DateTimeAttributeLiteral extends Synth::TDateTimeAttributeLiteral, + DefaultTypeAttributeLiteralImpl::DefaultTypeAttributeLiteral + { + override string getAPrimaryQlClass() { result = "DateTimeAttributeLiteral" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/DateTimeLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DateTimeLiteralExpression.qll new file mode 100644 index 000000000000..ea70474ee8f6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DateTimeLiteralExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `DateTimeLiteralExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.DefaultTypeLiteralExpressionImpl::Impl as DefaultTypeLiteralExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `DateTimeLiteralExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::DateTimeLiteralExpression` class directly. + * Use the subclass `DateTimeLiteralExpression`, where the following predicates are available. + */ + class DateTimeLiteralExpression extends Synth::TDateTimeLiteralExpression, + DefaultTypeLiteralExpressionImpl::DefaultTypeLiteralExpression + { + override string getAPrimaryQlClass() { result = "DateTimeLiteralExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/DateTimeType.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DateTimeType.qll new file mode 100644 index 000000000000..8f60c8b00767 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DateTimeType.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `DateTimeType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.XppTypeImpl::Impl as XppTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `DateTimeType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::DateTimeType` class directly. + * Use the subclass `DateTimeType`, where the following predicates are available. + */ + class DateTimeType extends Synth::TDateTimeType, XppTypeImpl::XppType { + override string getAPrimaryQlClass() { result = "DateTimeType" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/DateType.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DateType.qll new file mode 100644 index 000000000000..89e6d8217991 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DateType.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `DateType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.XppTypeImpl::Impl as XppTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `DateType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::DateType` class directly. + * Use the subclass `DateType`, where the following predicates are available. + */ + class DateType extends Synth::TDateType, XppTypeImpl::XppType { + override string getAPrimaryQlClass() { result = "DateType" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/DblAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DblAttributeLiteral.qll new file mode 100644 index 000000000000..31cf1a52351a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DblAttributeLiteral.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `DblAttributeLiteral`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.DefaultTypeAttributeLiteralImpl::Impl as DefaultTypeAttributeLiteralImpl + +/** + * INTERNAL: This module contains the fully generated definition of `DblAttributeLiteral` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::DblAttributeLiteral` class directly. + * Use the subclass `DblAttributeLiteral`, where the following predicates are available. + */ + class DblAttributeLiteral extends Synth::TDblAttributeLiteral, + DefaultTypeAttributeLiteralImpl::DefaultTypeAttributeLiteral + { + override string getAPrimaryQlClass() { result = "DblAttributeLiteral" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/DblType.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DblType.qll new file mode 100644 index 000000000000..8b3611a31391 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DblType.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `DblType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.XppTypeImpl::Impl as XppTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `DblType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::DblType` class directly. + * Use the subclass `DblType`, where the following predicates are available. + */ + class DblType extends Synth::TDblType, XppTypeImpl::XppType { + override string getAPrimaryQlClass() { result = "DblType" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Declaration.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Declaration.qll new file mode 100644 index 000000000000..18173e8d9017 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Declaration.qll @@ -0,0 +1,86 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Declaration`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.ArraySpecification +import codeql.xpp.elements.internal.CompilationUnitImpl::Impl as CompilationUnitImpl +import codeql.xpp.elements.Modifier +import codeql.xpp.elements.XppType + +/** + * INTERNAL: This module contains the fully generated definition of `Declaration` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Declaration` class directly. + * Use the subclass `Declaration`, where the following predicates are available. + */ + class Declaration extends Synth::TDeclaration, CompilationUnitImpl::CompilationUnit { + /** + * Gets the array specification of this declaration, if it exists. + */ + ArraySpecification getArraySpecification() { + result = + Synth::convertArraySpecificationFromRaw(Synth::convertDeclarationToRaw(this) + .(Raw::Declaration) + .getArraySpecification()) + } + + /** + * Holds if `getArraySpecification()` exists. + */ + final predicate hasArraySpecification() { exists(this.getArraySpecification()) } + + /** + * Gets the `index`th modifier list of this declaration (0-based). + */ + Modifier getModifierList(int index) { + result = + Synth::convertModifierFromRaw(Synth::convertDeclarationToRaw(this) + .(Raw::Declaration) + .getModifierList(index)) + } + + /** + * Gets any of the modifier lists of this declaration. + */ + final Modifier getAModifierList() { result = this.getModifierList(_) } + + /** + * Gets the number of modifier lists of this declaration. + */ + final int getNumberOfModifierLists() { result = count(int i | exists(this.getModifierList(i))) } + + /** + * Gets the modifiers of this declaration, if it exists. + */ + string getModifiers() { + result = Synth::convertDeclarationToRaw(this).(Raw::Declaration).getModifiers() + } + + /** + * Holds if `getModifiers()` exists. + */ + final predicate hasModifiers() { exists(this.getModifiers()) } + + /** + * Gets the type of this declaration, if it exists. + */ + XppType getType() { + result = + Synth::convertXppTypeFromRaw(Synth::convertDeclarationToRaw(this) + .(Raw::Declaration) + .getType()) + } + + /** + * Holds if `getType()` exists. + */ + final predicate hasType() { exists(this.getType()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/DefaultTypeAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DefaultTypeAttributeLiteral.qll new file mode 100644 index 000000000000..e3416f3709e8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DefaultTypeAttributeLiteral.qll @@ -0,0 +1,38 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `DefaultTypeAttributeLiteral`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AttributeLiteralImpl::Impl as AttributeLiteralImpl + +/** + * INTERNAL: This module contains the fully generated definition of `DefaultTypeAttributeLiteral` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::DefaultTypeAttributeLiteral` class directly. + * Use the subclass `DefaultTypeAttributeLiteral`, where the following predicates are available. + */ + class DefaultTypeAttributeLiteral extends Synth::TDefaultTypeAttributeLiteral, + AttributeLiteralImpl::AttributeLiteral + { + /** + * Gets the scanned literal value of this default type attribute literal, if it exists. + */ + string getScannedLiteralValue() { + result = + Synth::convertDefaultTypeAttributeLiteralToRaw(this) + .(Raw::DefaultTypeAttributeLiteral) + .getScannedLiteralValue() + } + + /** + * Holds if `getScannedLiteralValue()` exists. + */ + final predicate hasScannedLiteralValue() { exists(this.getScannedLiteralValue()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/DefaultTypeLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DefaultTypeLiteralExpression.qll new file mode 100644 index 000000000000..0cbf9ae89253 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DefaultTypeLiteralExpression.qll @@ -0,0 +1,38 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `DefaultTypeLiteralExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.LiteralExpressionImpl::Impl as LiteralExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `DefaultTypeLiteralExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::DefaultTypeLiteralExpression` class directly. + * Use the subclass `DefaultTypeLiteralExpression`, where the following predicates are available. + */ + class DefaultTypeLiteralExpression extends Synth::TDefaultTypeLiteralExpression, + LiteralExpressionImpl::LiteralExpression + { + /** + * Gets the scanned literal value of this default type literal expression, if it exists. + */ + string getScannedLiteralValue() { + result = + Synth::convertDefaultTypeLiteralExpressionToRaw(this) + .(Raw::DefaultTypeLiteralExpression) + .getScannedLiteralValue() + } + + /** + * Holds if `getScannedLiteralValue()` exists. + */ + final predicate hasScannedLiteralValue() { exists(this.getScannedLiteralValue()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Delegate.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Delegate.qll new file mode 100644 index 000000000000..605412e5b9d9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Delegate.qll @@ -0,0 +1,28 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Delegate`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.MethodOrDelegateImpl::Impl as MethodOrDelegateImpl + +/** + * INTERNAL: This module contains the fully generated definition of `Delegate` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Delegate` class directly. + * Use the subclass `Delegate`, where the following predicates are available. + */ + class Delegate extends Synth::TDelegate, MethodOrDelegateImpl::MethodOrDelegate { + override string getAPrimaryQlClass() { result = "Delegate" } + + /** + * Holds if this delegate is static. + */ + predicate isStatic() { Synth::convertDelegateToRaw(this).(Raw::Delegate).isStatic() } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/DeleteStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DeleteStatement.qll new file mode 100644 index 000000000000..c7802a1486be --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DeleteStatement.qll @@ -0,0 +1,39 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `DeleteStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Query +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `DeleteStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::DeleteStatement` class directly. + * Use the subclass `DeleteStatement`, where the following predicates are available. + */ + class DeleteStatement extends Synth::TDeleteStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "DeleteStatement" } + + /** + * Gets the query of this delete statement, if it exists. + */ + Query getQuery() { + result = + Synth::convertQueryFromRaw(Synth::convertDeleteStatementToRaw(this) + .(Raw::DeleteStatement) + .getQuery()) + } + + /** + * Holds if `getQuery()` exists. + */ + final predicate hasQuery() { exists(this.getQuery()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/DivideExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DivideExpression.qll new file mode 100644 index 000000000000..a6b9333533fb --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DivideExpression.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `DivideExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.BinaryExpressionImpl::Impl as BinaryExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `DivideExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::DivideExpression` class directly. + * Use the subclass `DivideExpression`, where the following predicates are available. + */ + class DivideExpression extends Synth::TDivideExpression, BinaryExpressionImpl::BinaryExpression { + override string getAPrimaryQlClass() { result = "DivideExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/DoWhileStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DoWhileStatement.qll new file mode 100644 index 000000000000..fbb371a0dcc6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/DoWhileStatement.qll @@ -0,0 +1,55 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `DoWhileStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Statement +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `DoWhileStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::DoWhileStatement` class directly. + * Use the subclass `DoWhileStatement`, where the following predicates are available. + */ + class DoWhileStatement extends Synth::TDoWhileStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "DoWhileStatement" } + + /** + * Gets the condition of this do while statement, if it exists. + */ + Expression getCondition() { + result = + Synth::convertExpressionFromRaw(Synth::convertDoWhileStatementToRaw(this) + .(Raw::DoWhileStatement) + .getCondition()) + } + + /** + * Holds if `getCondition()` exists. + */ + final predicate hasCondition() { exists(this.getCondition()) } + + /** + * Gets the statement of this do while statement, if it exists. + */ + Statement getStatement() { + result = + Synth::convertStatementFromRaw(Synth::convertDoWhileStatementToRaw(this) + .(Raw::DoWhileStatement) + .getStatement()) + } + + /** + * Holds if `getStatement()` exists. + */ + final predicate hasStatement() { exists(this.getStatement()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Element.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Element.qll new file mode 100644 index 000000000000..719d95da181a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Element.qll @@ -0,0 +1,77 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Element`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Element + +private class ElementAlias = Element; + +/** + * INTERNAL: This module contains the fully generated definition of `Element` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Element` class directly. + * Use the subclass `Element`, where the following predicates are available. + */ + class Element extends Synth::TElement { + /** + * Gets the string representation of this element. + */ + cached + final string toString() { + result = this.toStringImpl() and + // recursion guard to prevent `toString` from being defined recursively + (exists(any(Element e).toStringImpl()) implies any()) + } + + /** + * INTERNAL: Do not use. + * + * Gets the string representation of this element. + */ + abstract string toStringImpl(); + + /** + * Gets the name of a primary CodeQL class to which this element belongs. + * + * This is the most precise syntactic category to which they belong; for + * example, `CallExpr` is a primary class, but `ApplyExpr` is not. + * + * There might be some corner cases when this returns multiple classes, or none. + */ + string getAPrimaryQlClass() { none() } // overridden by subclasses + + /** + * Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs. + */ + final string getPrimaryQlClasses() { result = concat(this.getAPrimaryQlClass(), ",") } + + /** + * Gets the most immediate element that should substitute this element in the explicit AST, if any. + * Classes can override this to indicate this node should be in the "hidden" AST, mostly reserved + * for conversions and syntactic sugar nodes like parentheses. + */ + ElementAlias getResolveStep() { none() } // overridden by subclasses + + /** + * Gets the element that should substitute this element in the explicit AST, applying `getResolveStep` + * transitively. + */ + final ElementAlias resolve() { + not exists(this.getResolveStep()) and result = this + or + result = this.getResolveStep().resolve() + } + + /** + * Holds if this element is unknown. + */ + predicate isUnknown() { Synth::convertElementToRaw(this).isUnknown() } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/EmptyExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/EmptyExpression.qll new file mode 100644 index 000000000000..bb62d4cc9e89 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/EmptyExpression.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `EmptyExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ExpressionImpl::Impl as ExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `EmptyExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::EmptyExpression` class directly. + * Use the subclass `EmptyExpression`, where the following predicates are available. + */ + class EmptyExpression extends Synth::TEmptyExpression, ExpressionImpl::Expression { + override string getAPrimaryQlClass() { result = "EmptyExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/EmptyStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/EmptyStatement.qll new file mode 100644 index 000000000000..e7a9495728fc --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/EmptyStatement.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `EmptyStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `EmptyStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::EmptyStatement` class directly. + * Use the subclass `EmptyStatement`, where the following predicates are available. + */ + class EmptyStatement extends Synth::TEmptyStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "EmptyStatement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/EnumAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/EnumAttributeLiteral.qll new file mode 100644 index 000000000000..b359c33e64a7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/EnumAttributeLiteral.qll @@ -0,0 +1,51 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `EnumAttributeLiteral`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AttributeLiteralImpl::Impl as AttributeLiteralImpl + +/** + * INTERNAL: This module contains the fully generated definition of `EnumAttributeLiteral` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::EnumAttributeLiteral` class directly. + * Use the subclass `EnumAttributeLiteral`, where the following predicates are available. + */ + class EnumAttributeLiteral extends Synth::TEnumAttributeLiteral, + AttributeLiteralImpl::AttributeLiteral + { + override string getAPrimaryQlClass() { result = "EnumAttributeLiteral" } + + /** + * Gets the literal of this enum attribute literal, if it exists. + */ + string getLiteral() { + result = + Synth::convertEnumAttributeLiteralToRaw(this).(Raw::EnumAttributeLiteral).getLiteral() + } + + /** + * Holds if `getLiteral()` exists. + */ + final predicate hasLiteral() { exists(this.getLiteral()) } + + /** + * Gets the type name of this enum attribute literal, if it exists. + */ + string getTypeName() { + result = + Synth::convertEnumAttributeLiteralToRaw(this).(Raw::EnumAttributeLiteral).getTypeName() + } + + /** + * Holds if `getTypeName()` exists. + */ + final predicate hasTypeName() { exists(this.getTypeName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/EnumerationLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/EnumerationLiteralExpression.qll new file mode 100644 index 000000000000..773536015b03 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/EnumerationLiteralExpression.qll @@ -0,0 +1,55 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `EnumerationLiteralExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.LiteralExpressionImpl::Impl as LiteralExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `EnumerationLiteralExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::EnumerationLiteralExpression` class directly. + * Use the subclass `EnumerationLiteralExpression`, where the following predicates are available. + */ + class EnumerationLiteralExpression extends Synth::TEnumerationLiteralExpression, + LiteralExpressionImpl::LiteralExpression + { + override string getAPrimaryQlClass() { result = "EnumerationLiteralExpression" } + + /** + * Gets the enumeration literal of this enumeration literal expression, if it exists. + */ + string getEnumerationLiteral() { + result = + Synth::convertEnumerationLiteralExpressionToRaw(this) + .(Raw::EnumerationLiteralExpression) + .getEnumerationLiteral() + } + + /** + * Holds if `getEnumerationLiteral()` exists. + */ + final predicate hasEnumerationLiteral() { exists(this.getEnumerationLiteral()) } + + /** + * Gets the enumeration type of this enumeration literal expression, if it exists. + */ + string getEnumerationType() { + result = + Synth::convertEnumerationLiteralExpressionToRaw(this) + .(Raw::EnumerationLiteralExpression) + .getEnumerationType() + } + + /** + * Holds if `getEnumerationType()` exists. + */ + final predicate hasEnumerationType() { exists(this.getEnumerationType()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/EnumerationType.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/EnumerationType.qll new file mode 100644 index 000000000000..3818834494b5 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/EnumerationType.qll @@ -0,0 +1,59 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `EnumerationType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.XppTypeImpl::Impl as XppTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `EnumerationType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::EnumerationType` class directly. + * Use the subclass `EnumerationType`, where the following predicates are available. + */ + class EnumerationType extends Synth::TEnumerationType, XppTypeImpl::XppType { + override string getAPrimaryQlClass() { result = "EnumerationType" } + + /** + * Gets the enumerated type of this enumeration type, if it exists. + */ + string getEnumeratedType() { + result = Synth::convertEnumerationTypeToRaw(this).(Raw::EnumerationType).getEnumeratedType() + } + + /** + * Holds if `getEnumeratedType()` exists. + */ + final predicate hasEnumeratedType() { exists(this.getEnumeratedType()) } + + /** + * Gets the full name of this enumeration type, if it exists. + */ + string getFullName() { + result = Synth::convertEnumerationTypeToRaw(this).(Raw::EnumerationType).getFullName() + } + + /** + * Holds if `getFullName()` exists. + */ + final predicate hasFullName() { exists(this.getFullName()) } + + /** + * Gets the namespace of this enumeration type, if it exists. + */ + string getNamespace() { + result = Synth::convertEnumerationTypeToRaw(this).(Raw::EnumerationType).getNamespace() + } + + /** + * Holds if `getNamespace()` exists. + */ + final predicate hasNamespace() { exists(this.getNamespace()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/EqualExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/EqualExpression.qll new file mode 100644 index 000000000000..1650906189b2 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/EqualExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `EqualExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.RelationalExpressionImpl::Impl as RelationalExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `EqualExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::EqualExpression` class directly. + * Use the subclass `EqualExpression`, where the following predicates are available. + */ + class EqualExpression extends Synth::TEqualExpression, + RelationalExpressionImpl::RelationalExpression + { + override string getAPrimaryQlClass() { result = "EqualExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ErrorElement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ErrorElement.qll new file mode 100644 index 000000000000..1ce689be7119 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ErrorElement.qll @@ -0,0 +1,22 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ErrorElement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.LocatableImpl::Impl as LocatableImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ErrorElement` and should not + * be referenced directly. + */ +module Generated { + /** + * The superclass of all elements indicating some kind of error. + * INTERNAL: Do not reference the `Generated::ErrorElement` class directly. + * Use the subclass `ErrorElement`, where the following predicates are available. + */ + class ErrorElement extends Synth::TErrorElement, LocatableImpl::Locatable { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Evaluation.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Evaluation.qll new file mode 100644 index 000000000000..acf64b60bd84 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Evaluation.qll @@ -0,0 +1,46 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Evaluation`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.EvaluationActualParameterEntry +import codeql.xpp.elements.internal.ExpressionImpl::Impl as ExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `Evaluation` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Evaluation` class directly. + * Use the subclass `Evaluation`, where the following predicates are available. + */ + class Evaluation extends Synth::TEvaluation, ExpressionImpl::Expression { + /** + * Gets the `index`th actual parameter of this evaluation (0-based). + */ + EvaluationActualParameterEntry getActualParameter(int index) { + result = + Synth::convertEvaluationActualParameterEntryFromRaw(Synth::convertEvaluationToRaw(this) + .(Raw::Evaluation) + .getActualParameter(index)) + } + + /** + * Gets any of the actual parameters of this evaluation. + */ + final EvaluationActualParameterEntry getAnActualParameter() { + result = this.getActualParameter(_) + } + + /** + * Gets the number of actual parameters of this evaluation. + */ + final int getNumberOfActualParameters() { + result = count(int i | exists(this.getActualParameter(i))) + } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/EvaluationActualParameterEntry.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/EvaluationActualParameterEntry.qll new file mode 100644 index 000000000000..cbf500d33f67 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/EvaluationActualParameterEntry.qll @@ -0,0 +1,50 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `EvaluationActualParameterEntry`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.internal.XppTupleImpl::Impl as XppTupleImpl + +/** + * INTERNAL: This module contains the fully generated definition of `EvaluationActualParameterEntry` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::EvaluationActualParameterEntry` class directly. + * Use the subclass `EvaluationActualParameterEntry`, where the following predicates are available. + */ + class EvaluationActualParameterEntry extends Synth::TEvaluationActualParameterEntry, + XppTupleImpl::XppTuple + { + override string getAPrimaryQlClass() { result = "EvaluationActualParameterEntry" } + + /** + * Holds if this evaluation actual parameter entry item1. + */ + predicate item1() { + Synth::convertEvaluationActualParameterEntryToRaw(this) + .(Raw::EvaluationActualParameterEntry) + .item1() + } + + /** + * Gets the expression of this evaluation actual parameter entry, if it exists. + */ + Expression getExpression() { + result = + Synth::convertExpressionFromRaw(Synth::convertEvaluationActualParameterEntryToRaw(this) + .(Raw::EvaluationActualParameterEntry) + .getExpression()) + } + + /** + * Holds if `getExpression()` exists. + */ + final predicate hasExpression() { exists(this.getExpression()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ExplicitSelection.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ExplicitSelection.qll new file mode 100644 index 000000000000..e8ffb8446ef0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ExplicitSelection.qll @@ -0,0 +1,44 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ExplicitSelection`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.SelectionField +import codeql.xpp.elements.internal.SelectionImpl::Impl as SelectionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ExplicitSelection` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ExplicitSelection` class directly. + * Use the subclass `ExplicitSelection`, where the following predicates are available. + */ + class ExplicitSelection extends Synth::TExplicitSelection, SelectionImpl::Selection { + override string getAPrimaryQlClass() { result = "ExplicitSelection" } + + /** + * Gets the `index`th field of this explicit selection (0-based). + */ + SelectionField getField(int index) { + result = + Synth::convertSelectionFieldFromRaw(Synth::convertExplicitSelectionToRaw(this) + .(Raw::ExplicitSelection) + .getField(index)) + } + + /** + * Gets any of the fields of this explicit selection. + */ + final SelectionField getAField() { result = this.getField(_) } + + /** + * Gets the number of fields of this explicit selection. + */ + final int getNumberOfFields() { result = count(int i | exists(this.getField(i))) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Expression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Expression.qll new file mode 100644 index 000000000000..2368f371c896 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Expression.qll @@ -0,0 +1,44 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Expression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl +import codeql.xpp.elements.Expression + +private class ExpressionAlias = Expression; + +/** + * INTERNAL: This module contains the fully generated definition of `Expression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Expression` class directly. + * Use the subclass `Expression`, where the following predicates are available. + */ + class Expression extends Synth::TExpression, AstImpl::Ast { + /** + * Holds if this expression is const. + */ + predicate isConst() { Synth::convertExpressionToRaw(this).(Raw::Expression).isConst() } + + /** + * Gets the transformation of this expression, if it exists. + */ + ExpressionAlias getTransformation() { + result = + Synth::convertExpressionFromRaw(Synth::convertExpressionToRaw(this) + .(Raw::Expression) + .getTransformation()) + } + + /** + * Holds if `getTransformation()` exists. + */ + final predicate hasTransformation() { exists(this.getTransformation()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ExpressionCompilationUnit.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ExpressionCompilationUnit.qll new file mode 100644 index 000000000000..3531a89416ef --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ExpressionCompilationUnit.qll @@ -0,0 +1,56 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ExpressionCompilationUnit`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.CompilationUnitImpl::Impl as CompilationUnitImpl +import codeql.xpp.elements.Expression + +/** + * INTERNAL: This module contains the fully generated definition of `ExpressionCompilationUnit` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ExpressionCompilationUnit` class directly. + * Use the subclass `ExpressionCompilationUnit`, where the following predicates are available. + */ + class ExpressionCompilationUnit extends Synth::TExpressionCompilationUnit, + CompilationUnitImpl::CompilationUnit + { + override string getAPrimaryQlClass() { result = "ExpressionCompilationUnit" } + + /** + * Gets the expression of this expression compilation unit, if it exists. + */ + Expression getExpression() { + result = + Synth::convertExpressionFromRaw(Synth::convertExpressionCompilationUnitToRaw(this) + .(Raw::ExpressionCompilationUnit) + .getExpression()) + } + + /** + * Holds if `getExpression()` exists. + */ + final predicate hasExpression() { exists(this.getExpression()) } + + /** + * Gets the path contribution of this expression compilation unit, if it exists. + */ + string getPathContribution() { + result = + Synth::convertExpressionCompilationUnitToRaw(this) + .(Raw::ExpressionCompilationUnit) + .getPathContribution() + } + + /** + * Holds if `getPathContribution()` exists. + */ + final predicate hasPathContribution() { exists(this.getPathContribution()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ExpressionQualifier.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ExpressionQualifier.qll new file mode 100644 index 000000000000..423d337ca243 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ExpressionQualifier.qll @@ -0,0 +1,39 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ExpressionQualifier`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.internal.QualifierImpl::Impl as QualifierImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ExpressionQualifier` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ExpressionQualifier` class directly. + * Use the subclass `ExpressionQualifier`, where the following predicates are available. + */ + class ExpressionQualifier extends Synth::TExpressionQualifier, QualifierImpl::Qualifier { + override string getAPrimaryQlClass() { result = "ExpressionQualifier" } + + /** + * Gets the expression of this expression qualifier, if it exists. + */ + Expression getExpression() { + result = + Synth::convertExpressionFromRaw(Synth::convertExpressionQualifierToRaw(this) + .(Raw::ExpressionQualifier) + .getExpression()) + } + + /** + * Holds if `getExpression()` exists. + */ + final predicate hasExpression() { exists(this.getExpression()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ExpressionStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ExpressionStatement.qll new file mode 100644 index 000000000000..ef87daf3130c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ExpressionStatement.qll @@ -0,0 +1,52 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ExpressionStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ExpressionStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ExpressionStatement` class directly. + * Use the subclass `ExpressionStatement`, where the following predicates are available. + */ + class ExpressionStatement extends Synth::TExpressionStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "ExpressionStatement" } + + /** + * Gets the element type name of this expression statement, if it exists. + */ + string getElementTypeName() { + result = + Synth::convertExpressionStatementToRaw(this).(Raw::ExpressionStatement).getElementTypeName() + } + + /** + * Holds if `getElementTypeName()` exists. + */ + final predicate hasElementTypeName() { exists(this.getElementTypeName()) } + + /** + * Gets the expression of this expression statement, if it exists. + */ + Expression getExpression() { + result = + Synth::convertExpressionFromRaw(Synth::convertExpressionStatementToRaw(this) + .(Raw::ExpressionStatement) + .getExpression()) + } + + /** + * Holds if `getExpression()` exists. + */ + final predicate hasExpression() { exists(this.getExpression()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldAssignment.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldAssignment.qll new file mode 100644 index 000000000000..377a3eda2db9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldAssignment.qll @@ -0,0 +1,75 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `FieldAssignment`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl +import codeql.xpp.elements.Expression + +/** + * INTERNAL: This module contains the fully generated definition of `FieldAssignment` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::FieldAssignment` class directly. + * Use the subclass `FieldAssignment`, where the following predicates are available. + */ + class FieldAssignment extends Synth::TFieldAssignment, AstImpl::Ast { + override string getAPrimaryQlClass() { result = "FieldAssignment" } + + /** + * Gets the expression of this field assignment, if it exists. + */ + Expression getExpression() { + result = + Synth::convertExpressionFromRaw(Synth::convertFieldAssignmentToRaw(this) + .(Raw::FieldAssignment) + .getExpression()) + } + + /** + * Holds if `getExpression()` exists. + */ + final predicate hasExpression() { exists(this.getExpression()) } + + /** + * Gets the extension name of this field assignment, if it exists. + */ + string getExtensionName() { + result = Synth::convertFieldAssignmentToRaw(this).(Raw::FieldAssignment).getExtensionName() + } + + /** + * Holds if `getExtensionName()` exists. + */ + final predicate hasExtensionName() { exists(this.getExtensionName()) } + + /** + * Gets the field name of this field assignment, if it exists. + */ + string getFieldName() { + result = Synth::convertFieldAssignmentToRaw(this).(Raw::FieldAssignment).getFieldName() + } + + /** + * Holds if `getFieldName()` exists. + */ + final predicate hasFieldName() { exists(this.getFieldName()) } + + /** + * Gets the index of this field assignment, if it exists. + */ + int getIndex() { + result = Synth::convertFieldAssignmentToRaw(this).(Raw::FieldAssignment).getIndex() + } + + /** + * Holds if `getIndex()` exists. + */ + final predicate hasIndex() { exists(this.getIndex()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldDeclaration.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldDeclaration.qll new file mode 100644 index 000000000000..0fd9f69a10ee --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldDeclaration.qll @@ -0,0 +1,141 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `FieldDeclaration`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.AttributeList +import codeql.xpp.elements.internal.DeclarationImpl::Impl as DeclarationImpl +import codeql.xpp.elements.Expression + +/** + * INTERNAL: This module contains the fully generated definition of `FieldDeclaration` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::FieldDeclaration` class directly. + * Use the subclass `FieldDeclaration`, where the following predicates are available. + */ + class FieldDeclaration extends Synth::TFieldDeclaration, DeclarationImpl::Declaration { + /** + * Gets the attributes of this field declaration, if it exists. + */ + AttributeList getAttributes() { + result = + Synth::convertAttributeListFromRaw(Synth::convertFieldDeclarationToRaw(this) + .(Raw::FieldDeclaration) + .getAttributes()) + } + + /** + * Holds if `getAttributes()` exists. + */ + final predicate hasAttributes() { exists(this.getAttributes()) } + + /** + * Gets the element type name of this field declaration, if it exists. + */ + string getElementTypeName() { + result = + Synth::convertFieldDeclarationToRaw(this).(Raw::FieldDeclaration).getElementTypeName() + } + + /** + * Holds if `getElementTypeName()` exists. + */ + final predicate hasElementTypeName() { exists(this.getElementTypeName()) } + + /** + * Gets the extension name of this field declaration, if it exists. + */ + string getExtensionName() { + result = Synth::convertFieldDeclarationToRaw(this).(Raw::FieldDeclaration).getExtensionName() + } + + /** + * Holds if `getExtensionName()` exists. + */ + final predicate hasExtensionName() { exists(this.getExtensionName()) } + + /** + * Gets the initial value of this field declaration, if it exists. + */ + Expression getInitialValue() { + result = + Synth::convertExpressionFromRaw(Synth::convertFieldDeclarationToRaw(this) + .(Raw::FieldDeclaration) + .getInitialValue()) + } + + /** + * Holds if `getInitialValue()` exists. + */ + final predicate hasInitialValue() { exists(this.getInitialValue()) } + + /** + * Holds if this field declaration is const. + */ + predicate isConst() { + Synth::convertFieldDeclarationToRaw(this).(Raw::FieldDeclaration).isConst() + } + + /** + * Holds if this field declaration is extension. + */ + predicate isExtension() { + Synth::convertFieldDeclarationToRaw(this).(Raw::FieldDeclaration).isExtension() + } + + /** + * Holds if this field declaration is internal. + */ + predicate isInternal() { + Synth::convertFieldDeclarationToRaw(this).(Raw::FieldDeclaration).isInternal() + } + + /** + * Holds if this field declaration is obsolete. + */ + predicate isObsolete() { + Synth::convertFieldDeclarationToRaw(this).(Raw::FieldDeclaration).isObsolete() + } + + /** + * Holds if this field declaration is private. + */ + predicate isPrivate() { + Synth::convertFieldDeclarationToRaw(this).(Raw::FieldDeclaration).isPrivate() + } + + /** + * Holds if this field declaration is protected. + */ + predicate isProtected() { + Synth::convertFieldDeclarationToRaw(this).(Raw::FieldDeclaration).isProtected() + } + + /** + * Holds if this field declaration is public. + */ + predicate isPublic() { + Synth::convertFieldDeclarationToRaw(this).(Raw::FieldDeclaration).isPublic() + } + + /** + * Holds if this field declaration is read only. + */ + predicate isReadOnly() { + Synth::convertFieldDeclarationToRaw(this).(Raw::FieldDeclaration).isReadOnly() + } + + /** + * Holds if this field declaration is static. + */ + predicate isStatic() { + Synth::convertFieldDeclarationToRaw(this).(Raw::FieldDeclaration).isStatic() + } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldExpression.qll new file mode 100644 index 000000000000..88ee003bcde1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldExpression.qll @@ -0,0 +1,42 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `FieldExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ExpressionImpl::Impl as ExpressionImpl +import codeql.xpp.elements.FieldSpecification + +/** + * INTERNAL: This module contains the fully generated definition of `FieldExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::FieldExpression` class directly. + * Use the subclass `FieldExpression`, where the following predicates are available. + */ + class FieldExpression extends Synth::TFieldExpression, ExpressionImpl::Expression { + /** + * Gets the field of this field expression, if it exists. + */ + FieldSpecification getField() { + result = + Synth::convertFieldSpecificationFromRaw(Synth::convertFieldExpressionToRaw(this) + .(Raw::FieldExpression) + .getField()) + } + + /** + * Holds if `getField()` exists. + */ + final predicate hasField() { exists(this.getField()) } + + /** + * Holds if this field expression is enum. + */ + predicate isEnum() { Synth::convertFieldExpressionToRaw(this).(Raw::FieldExpression).isEnum() } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldSelection.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldSelection.qll new file mode 100644 index 000000000000..078563e23aef --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldSelection.qll @@ -0,0 +1,35 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `FieldSelection`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.SelectionFieldImpl::Impl as SelectionFieldImpl + +/** + * INTERNAL: This module contains the fully generated definition of `FieldSelection` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::FieldSelection` class directly. + * Use the subclass `FieldSelection`, where the following predicates are available. + */ + class FieldSelection extends Synth::TFieldSelection, SelectionFieldImpl::SelectionField { + override string getAPrimaryQlClass() { result = "FieldSelection" } + + /** + * Gets the index of this field selection, if it exists. + */ + int getIndex() { + result = Synth::convertFieldSelectionToRaw(this).(Raw::FieldSelection).getIndex() + } + + /** + * Holds if `getIndex()` exists. + */ + final predicate hasIndex() { exists(this.getIndex()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldSpecification.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldSpecification.qll new file mode 100644 index 000000000000..7a98d7be6877 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldSpecification.qll @@ -0,0 +1,115 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `FieldSpecification`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Qualifier + +/** + * INTERNAL: This module contains the fully generated definition of `FieldSpecification` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::FieldSpecification` class directly. + * Use the subclass `FieldSpecification`, where the following predicates are available. + */ + class FieldSpecification extends Synth::TFieldSpecification, AstImpl::Ast { + /** + * Gets the array index of this field specification, if it exists. + */ + Expression getArrayIndex() { + result = + Synth::convertExpressionFromRaw(Synth::convertFieldSpecificationToRaw(this) + .(Raw::FieldSpecification) + .getArrayIndex()) + } + + /** + * Holds if `getArrayIndex()` exists. + */ + final predicate hasArrayIndex() { exists(this.getArrayIndex()) } + + /** + * Gets the element type name of this field specification, if it exists. + */ + string getElementTypeName() { + result = + Synth::convertFieldSpecificationToRaw(this).(Raw::FieldSpecification).getElementTypeName() + } + + /** + * Holds if `getElementTypeName()` exists. + */ + final predicate hasElementTypeName() { exists(this.getElementTypeName()) } + + /** + * Holds if this field specification is const. + */ + predicate isConst() { + Synth::convertFieldSpecificationToRaw(this).(Raw::FieldSpecification).isConst() + } + + /** + * Holds if this field specification is internal. + */ + predicate isInternal() { + Synth::convertFieldSpecificationToRaw(this).(Raw::FieldSpecification).isInternal() + } + + /** + * Holds if this field specification is private. + */ + predicate isPrivate() { + Synth::convertFieldSpecificationToRaw(this).(Raw::FieldSpecification).isPrivate() + } + + /** + * Holds if this field specification is protected. + */ + predicate isProtected() { + Synth::convertFieldSpecificationToRaw(this).(Raw::FieldSpecification).isProtected() + } + + /** + * Holds if this field specification is public. + */ + predicate isPublic() { + Synth::convertFieldSpecificationToRaw(this).(Raw::FieldSpecification).isPublic() + } + + /** + * Holds if this field specification is read only. + */ + predicate isReadOnly() { + Synth::convertFieldSpecificationToRaw(this).(Raw::FieldSpecification).isReadOnly() + } + + /** + * Holds if this field specification is static. + */ + predicate isStatic() { + Synth::convertFieldSpecificationToRaw(this).(Raw::FieldSpecification).isStatic() + } + + /** + * Gets the qualifier of this field specification, if it exists. + */ + Qualifier getQualifier() { + result = + Synth::convertQualifierFromRaw(Synth::convertFieldSpecificationToRaw(this) + .(Raw::FieldSpecification) + .getQualifier()) + } + + /** + * Holds if `getQualifier()` exists. + */ + final predicate hasQualifier() { exists(this.getQualifier()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/File.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/File.qll new file mode 100644 index 000000000000..e49ce5a159e3 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/File.qll @@ -0,0 +1,28 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `File`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ElementImpl::Impl as ElementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `File` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::File` class directly. + * Use the subclass `File`, where the following predicates are available. + */ + class File extends Synth::TFile, ElementImpl::Element { + override string getAPrimaryQlClass() { result = "File" } + + /** + * Gets the name of this file. + */ + string getName() { result = Synth::convertFileToRaw(this).(Raw::File).getName() } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/FindStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FindStatement.qll new file mode 100644 index 000000000000..8cab17ba243f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FindStatement.qll @@ -0,0 +1,39 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `FindStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Query +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `FindStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::FindStatement` class directly. + * Use the subclass `FindStatement`, where the following predicates are available. + */ + class FindStatement extends Synth::TFindStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "FindStatement" } + + /** + * Gets the query of this find statement, if it exists. + */ + Query getQuery() { + result = + Synth::convertQueryFromRaw(Synth::convertFindStatementToRaw(this) + .(Raw::FindStatement) + .getQuery()) + } + + /** + * Holds if `getQuery()` exists. + */ + final predicate hasQuery() { exists(this.getQuery()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/FlushStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FlushStatement.qll new file mode 100644 index 000000000000..dd9dad392a12 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FlushStatement.qll @@ -0,0 +1,40 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `FlushStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `FlushStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::FlushStatement` class directly. + * Use the subclass `FlushStatement`, where the following predicates are available. + */ + class FlushStatement extends Synth::TFlushStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "FlushStatement" } + + /** + * Gets the `index`th id list of this flush statement (0-based). + */ + string getIdList(int index) { + result = Synth::convertFlushStatementToRaw(this).(Raw::FlushStatement).getIdList(index) + } + + /** + * Gets any of the id lists of this flush statement. + */ + final string getAnIdList() { result = this.getIdList(_) } + + /** + * Gets the number of id lists of this flush statement. + */ + final int getNumberOfIdLists() { result = count(int i | exists(this.getIdList(i))) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForAssign.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForAssign.qll new file mode 100644 index 000000000000..7ea4f30b6634 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForAssign.qll @@ -0,0 +1,37 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ForAssign`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl +import codeql.xpp.elements.FieldSpecification + +/** + * INTERNAL: This module contains the fully generated definition of `ForAssign` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ForAssign` class directly. + * Use the subclass `ForAssign`, where the following predicates are available. + */ + class ForAssign extends Synth::TForAssign, AstImpl::Ast { + /** + * Gets the field specification of this for assign, if it exists. + */ + FieldSpecification getFieldSpecification() { + result = + Synth::convertFieldSpecificationFromRaw(Synth::convertForAssignToRaw(this) + .(Raw::ForAssign) + .getFieldSpecification()) + } + + /** + * Holds if `getFieldSpecification()` exists. + */ + final predicate hasFieldSpecification() { exists(this.getFieldSpecification()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForDeclarationAssign.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForDeclarationAssign.qll new file mode 100644 index 000000000000..6455e3dc36c6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForDeclarationAssign.qll @@ -0,0 +1,48 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ForDeclarationAssign`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ForAssignImpl::Impl as ForAssignImpl +import codeql.xpp.elements.VariableDeclaration + +/** + * INTERNAL: This module contains the fully generated definition of `ForDeclarationAssign` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ForDeclarationAssign` class directly. + * Use the subclass `ForDeclarationAssign`, where the following predicates are available. + */ + class ForDeclarationAssign extends Synth::TForDeclarationAssign, ForAssignImpl::ForAssign { + override string getAPrimaryQlClass() { result = "ForDeclarationAssign" } + + /** + * Gets the `index`th initialization declaration of this for declaration assign (0-based). + */ + VariableDeclaration getInitializationDeclaration(int index) { + result = + Synth::convertVariableDeclarationFromRaw(Synth::convertForDeclarationAssignToRaw(this) + .(Raw::ForDeclarationAssign) + .getInitializationDeclaration(index)) + } + + /** + * Gets any of the initialization declarations of this for declaration assign. + */ + final VariableDeclaration getAnInitializationDeclaration() { + result = this.getInitializationDeclaration(_) + } + + /** + * Gets the number of initialization declarations of this for declaration assign. + */ + final int getNumberOfInitializationDeclarations() { + result = count(int i | exists(this.getInitializationDeclaration(i))) + } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForExpressionAssign.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForExpressionAssign.qll new file mode 100644 index 000000000000..325ffcfd2050 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForExpressionAssign.qll @@ -0,0 +1,37 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ForExpressionAssign`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.internal.ForAssignImpl::Impl as ForAssignImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ForExpressionAssign` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ForExpressionAssign` class directly. + * Use the subclass `ForExpressionAssign`, where the following predicates are available. + */ + class ForExpressionAssign extends Synth::TForExpressionAssign, ForAssignImpl::ForAssign { + /** + * Gets the expression of this for expression assign, if it exists. + */ + Expression getExpression() { + result = + Synth::convertExpressionFromRaw(Synth::convertForExpressionAssignToRaw(this) + .(Raw::ForExpressionAssign) + .getExpression()) + } + + /** + * Holds if `getExpression()` exists. + */ + final predicate hasExpression() { exists(this.getExpression()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldAssign.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldAssign.qll new file mode 100644 index 000000000000..8d12e0370cdd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldAssign.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ForFieldAssign`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ForExpressionAssignImpl::Impl as ForExpressionAssignImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ForFieldAssign` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ForFieldAssign` class directly. + * Use the subclass `ForFieldAssign`, where the following predicates are available. + */ + class ForFieldAssign extends Synth::TForFieldAssign, ForExpressionAssignImpl::ForExpressionAssign { + override string getAPrimaryQlClass() { result = "ForFieldAssign" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldDecrementAssign.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldDecrementAssign.qll new file mode 100644 index 000000000000..769f171b7219 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldDecrementAssign.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ForFieldDecrementAssign`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ForExpressionAssignImpl::Impl as ForExpressionAssignImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ForFieldDecrementAssign` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ForFieldDecrementAssign` class directly. + * Use the subclass `ForFieldDecrementAssign`, where the following predicates are available. + */ + class ForFieldDecrementAssign extends Synth::TForFieldDecrementAssign, + ForExpressionAssignImpl::ForExpressionAssign + { + override string getAPrimaryQlClass() { result = "ForFieldDecrementAssign" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldIncrementAssign.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldIncrementAssign.qll new file mode 100644 index 000000000000..122510d673fa --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldIncrementAssign.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ForFieldIncrementAssign`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ForExpressionAssignImpl::Impl as ForExpressionAssignImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ForFieldIncrementAssign` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ForFieldIncrementAssign` class directly. + * Use the subclass `ForFieldIncrementAssign`, where the following predicates are available. + */ + class ForFieldIncrementAssign extends Synth::TForFieldIncrementAssign, + ForExpressionAssignImpl::ForExpressionAssign + { + override string getAPrimaryQlClass() { result = "ForFieldIncrementAssign" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldPostDecrement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldPostDecrement.qll new file mode 100644 index 000000000000..275c71c1920e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldPostDecrement.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ForFieldPostDecrement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ForAssignImpl::Impl as ForAssignImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ForFieldPostDecrement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ForFieldPostDecrement` class directly. + * Use the subclass `ForFieldPostDecrement`, where the following predicates are available. + */ + class ForFieldPostDecrement extends Synth::TForFieldPostDecrement, ForAssignImpl::ForAssign { + override string getAPrimaryQlClass() { result = "ForFieldPostDecrement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldPostIncrement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldPostIncrement.qll new file mode 100644 index 000000000000..1db377fef29c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldPostIncrement.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ForFieldPostIncrement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ForAssignImpl::Impl as ForAssignImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ForFieldPostIncrement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ForFieldPostIncrement` class directly. + * Use the subclass `ForFieldPostIncrement`, where the following predicates are available. + */ + class ForFieldPostIncrement extends Synth::TForFieldPostIncrement, ForAssignImpl::ForAssign { + override string getAPrimaryQlClass() { result = "ForFieldPostIncrement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldPreDecrement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldPreDecrement.qll new file mode 100644 index 000000000000..d61ff2436d9c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldPreDecrement.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ForFieldPreDecrement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ForAssignImpl::Impl as ForAssignImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ForFieldPreDecrement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ForFieldPreDecrement` class directly. + * Use the subclass `ForFieldPreDecrement`, where the following predicates are available. + */ + class ForFieldPreDecrement extends Synth::TForFieldPreDecrement, ForAssignImpl::ForAssign { + override string getAPrimaryQlClass() { result = "ForFieldPreDecrement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldPreIncrement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldPreIncrement.qll new file mode 100644 index 000000000000..8532f0d9afb9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForFieldPreIncrement.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ForFieldPreIncrement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ForAssignImpl::Impl as ForAssignImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ForFieldPreIncrement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ForFieldPreIncrement` class directly. + * Use the subclass `ForFieldPreIncrement`, where the following predicates are available. + */ + class ForFieldPreIncrement extends Synth::TForFieldPreIncrement, ForAssignImpl::ForAssign { + override string getAPrimaryQlClass() { result = "ForFieldPreIncrement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForStatement.qll new file mode 100644 index 000000000000..59da0c044e81 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ForStatement.qll @@ -0,0 +1,86 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ForStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.ForAssign +import codeql.xpp.elements.Statement +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ForStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ForStatement` class directly. + * Use the subclass `ForStatement`, where the following predicates are available. + */ + class ForStatement extends Synth::TForStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "ForStatement" } + + /** + * Gets the condition of this for statement, if it exists. + */ + Expression getCondition() { + result = + Synth::convertExpressionFromRaw(Synth::convertForStatementToRaw(this) + .(Raw::ForStatement) + .getCondition()) + } + + /** + * Holds if `getCondition()` exists. + */ + final predicate hasCondition() { exists(this.getCondition()) } + + /** + * Gets the initialization of this for statement, if it exists. + */ + ForAssign getInitialization() { + result = + Synth::convertForAssignFromRaw(Synth::convertForStatementToRaw(this) + .(Raw::ForStatement) + .getInitialization()) + } + + /** + * Holds if `getInitialization()` exists. + */ + final predicate hasInitialization() { exists(this.getInitialization()) } + + /** + * Gets the statement of this for statement, if it exists. + */ + Statement getStatement() { + result = + Synth::convertStatementFromRaw(Synth::convertForStatementToRaw(this) + .(Raw::ForStatement) + .getStatement()) + } + + /** + * Holds if `getStatement()` exists. + */ + final predicate hasStatement() { exists(this.getStatement()) } + + /** + * Gets the update of this for statement, if it exists. + */ + ForAssign getUpdate() { + result = + Synth::convertForAssignFromRaw(Synth::convertForStatementToRaw(this) + .(Raw::ForStatement) + .getUpdate()) + } + + /** + * Holds if `getUpdate()` exists. + */ + final predicate hasUpdate() { exists(this.getUpdate()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/FormControl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FormControl.qll new file mode 100644 index 000000000000..55c4234f27fd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FormControl.qll @@ -0,0 +1,135 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `FormControl`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.FormControl +import codeql.xpp.elements.internal.FormNestedElementImpl::Impl as FormNestedElementImpl + +private class FormControlAlias = FormControl; + +/** + * INTERNAL: This module contains the fully generated definition of `FormControl` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::FormControl` class directly. + * Use the subclass `FormControl`, where the following predicates are available. + */ + class FormControl extends Synth::TFormControl, FormNestedElementImpl::FormNestedElement { + override string getAPrimaryQlClass() { result = "FormControl" } + + /** + * Holds if this form control auto declaration. + */ + predicate autoDeclaration() { + Synth::convertFormControlToRaw(this).(Raw::FormControl).autoDeclaration() + } + + /** + * Gets the `index`th child control of this form control (0-based). + */ + FormControlAlias getChildControl(int index) { + result = + Synth::convertFormControlFromRaw(Synth::convertFormControlToRaw(this) + .(Raw::FormControl) + .getChildControl(index)) + } + + /** + * Gets any of the child controls of this form control. + */ + final FormControlAlias getAChildControl() { result = this.getChildControl(_) } + + /** + * Gets the number of child controls of this form control. + */ + final int getNumberOfChildControls() { result = count(int i | exists(this.getChildControl(i))) } + + /** + * Gets the control class of this form control, if it exists. + */ + string getControlClass() { + result = Synth::convertFormControlToRaw(this).(Raw::FormControl).getControlClass() + } + + /** + * Holds if `getControlClass()` exists. + */ + final predicate hasControlClass() { exists(this.getControlClass()) } + + /** + * Gets the control type of this form control, if it exists. + */ + string getControlType() { + result = Synth::convertFormControlToRaw(this).(Raw::FormControl).getControlType() + } + + /** + * Holds if `getControlType()` exists. + */ + final predicate hasControlType() { exists(this.getControlType()) } + + /** + * Gets the custom control class of this form control, if it exists. + */ + string getCustomControlClass() { + result = Synth::convertFormControlToRaw(this).(Raw::FormControl).getCustomControlClass() + } + + /** + * Holds if `getCustomControlClass()` exists. + */ + final predicate hasCustomControlClass() { exists(this.getCustomControlClass()) } + + /** + * Gets the element type name of this form control, if it exists. + */ + string getElementTypeName() { + result = Synth::convertFormControlToRaw(this).(Raw::FormControl).getElementTypeName() + } + + /** + * Holds if `getElementTypeName()` exists. + */ + final predicate hasElementTypeName() { exists(this.getElementTypeName()) } + + /** + * Gets the internal control name of this form control, if it exists. + */ + string getInternalControlName() { + result = Synth::convertFormControlToRaw(this).(Raw::FormControl).getInternalControlName() + } + + /** + * Holds if `getInternalControlName()` exists. + */ + final predicate hasInternalControlName() { exists(this.getInternalControlName()) } + + /** + * Holds if this form control is form control extension. + */ + predicate isFormControlExtension() { + Synth::convertFormControlToRaw(this).(Raw::FormControl).isFormControlExtension() + } + + /** + * Gets the parent control of this form control, if it exists. + */ + FormControlAlias getParentControl() { + result = + Synth::convertFormControlFromRaw(Synth::convertFormControlToRaw(this) + .(Raw::FormControl) + .getParentControl()) + } + + /** + * Holds if `getParentControl()` exists. + */ + final predicate hasParentControl() { exists(this.getParentControl()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/FormDataField.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FormDataField.qll new file mode 100644 index 000000000000..5a6d21897be0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FormDataField.qll @@ -0,0 +1,51 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `FormDataField`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.FormDataSource +import codeql.xpp.elements.internal.FormNestedElementImpl::Impl as FormNestedElementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `FormDataField` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::FormDataField` class directly. + * Use the subclass `FormDataField`, where the following predicates are available. + */ + class FormDataField extends Synth::TFormDataField, FormNestedElementImpl::FormNestedElement { + override string getAPrimaryQlClass() { result = "FormDataField" } + + /** + * Gets the element type name of this form data field, if it exists. + */ + string getElementTypeName() { + result = Synth::convertFormDataFieldToRaw(this).(Raw::FormDataField).getElementTypeName() + } + + /** + * Holds if `getElementTypeName()` exists. + */ + final predicate hasElementTypeName() { exists(this.getElementTypeName()) } + + /** + * Gets the form data source of this form data field, if it exists. + */ + FormDataSource getFormDataSource() { + result = + Synth::convertFormDataSourceFromRaw(Synth::convertFormDataFieldToRaw(this) + .(Raw::FormDataField) + .getFormDataSource()) + } + + /** + * Holds if `getFormDataSource()` exists. + */ + final predicate hasFormDataSource() { exists(this.getFormDataSource()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/FormDataSource.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FormDataSource.qll new file mode 100644 index 000000000000..52a6be795bc4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FormDataSource.qll @@ -0,0 +1,127 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `FormDataSource`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.FormDataField +import codeql.xpp.elements.internal.FormNestedElementImpl::Impl as FormNestedElementImpl +import codeql.xpp.elements.QueryModelElement + +/** + * INTERNAL: This module contains the fully generated definition of `FormDataSource` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::FormDataSource` class directly. + * Use the subclass `FormDataSource`, where the following predicates are available. + */ + class FormDataSource extends Synth::TFormDataSource, FormNestedElementImpl::FormNestedElement { + override string getAPrimaryQlClass() { result = "FormDataSource" } + + /** + * Gets the `index`th data field of this form data source (0-based). + */ + FormDataField getDataField(int index) { + result = + Synth::convertFormDataFieldFromRaw(Synth::convertFormDataSourceToRaw(this) + .(Raw::FormDataSource) + .getDataField(index)) + } + + /** + * Gets any of the data fields of this form data source. + */ + final FormDataField getADataField() { result = this.getDataField(_) } + + /** + * Gets the number of data fields of this form data source. + */ + final int getNumberOfDataFields() { result = count(int i | exists(this.getDataField(i))) } + + /** + * Gets the element type name of this form data source, if it exists. + */ + string getElementTypeName() { + result = Synth::convertFormDataSourceToRaw(this).(Raw::FormDataSource).getElementTypeName() + } + + /** + * Holds if `getElementTypeName()` exists. + */ + final predicate hasElementTypeName() { exists(this.getElementTypeName()) } + + /** + * Gets the join source of this form data source, if it exists. + */ + string getJoinSource() { + result = Synth::convertFormDataSourceToRaw(this).(Raw::FormDataSource).getJoinSource() + } + + /** + * Holds if `getJoinSource()` exists. + */ + final predicate hasJoinSource() { exists(this.getJoinSource()) } + + /** + * Gets the link type of this form data source, if it exists. + */ + string getLinkType() { + result = Synth::convertFormDataSourceToRaw(this).(Raw::FormDataSource).getLinkType() + } + + /** + * Holds if `getLinkType()` exists. + */ + final predicate hasLinkType() { exists(this.getLinkType()) } + + /** + * Holds if this form data source nested data source. + */ + predicate nestedDataSource() { + Synth::convertFormDataSourceToRaw(this).(Raw::FormDataSource).nestedDataSource() + } + + /** + * Gets the query of this form data source, if it exists. + */ + QueryModelElement getQuery() { + result = + Synth::convertQueryModelElementFromRaw(Synth::convertFormDataSourceToRaw(this) + .(Raw::FormDataSource) + .getQuery()) + } + + /** + * Holds if `getQuery()` exists. + */ + final predicate hasQuery() { exists(this.getQuery()) } + + /** + * Gets the query name of this form data source, if it exists. + */ + string getQueryName() { + result = Synth::convertFormDataSourceToRaw(this).(Raw::FormDataSource).getQueryName() + } + + /** + * Holds if `getQueryName()` exists. + */ + final predicate hasQueryName() { exists(this.getQueryName()) } + + /** + * Gets the table of this form data source, if it exists. + */ + string getTable() { + result = Synth::convertFormDataSourceToRaw(this).(Raw::FormDataSource).getTable() + } + + /** + * Holds if `getTable()` exists. + */ + final predicate hasTable() { exists(this.getTable()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/FormElementType.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FormElementType.qll new file mode 100644 index 000000000000..92cc1a2fb543 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FormElementType.qll @@ -0,0 +1,35 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `FormElementType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.NamedTypeImpl::Impl as NamedTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `FormElementType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::FormElementType` class directly. + * Use the subclass `FormElementType`, where the following predicates are available. + */ + class FormElementType extends Synth::TFormElementType, NamedTypeImpl::NamedType { + override string getAPrimaryQlClass() { result = "FormElementType" } + + /** + * Gets the form name of this form element type, if it exists. + */ + string getFormName() { + result = Synth::convertFormElementTypeToRaw(this).(Raw::FormElementType).getFormName() + } + + /** + * Holds if `getFormName()` exists. + */ + final predicate hasFormName() { exists(this.getFormName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/FormModelElement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FormModelElement.qll new file mode 100644 index 000000000000..82b94424280c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FormModelElement.qll @@ -0,0 +1,106 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `FormModelElement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Class +import codeql.xpp.elements.FormControl +import codeql.xpp.elements.FormDataSource +import codeql.xpp.elements.internal.ModelElementImpl::Impl as ModelElementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `FormModelElement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::FormModelElement` class directly. + * Use the subclass `FormModelElement`, where the following predicates are available. + */ + class FormModelElement extends Synth::TFormModelElement, ModelElementImpl::ModelElement { + override string getAPrimaryQlClass() { result = "FormModelElement" } + + /** + * Gets the behavior of this form model element, if it exists. + */ + Class getBehavior() { + result = + Synth::convertClassFromRaw(Synth::convertFormModelElementToRaw(this) + .(Raw::FormModelElement) + .getBehavior()) + } + + /** + * Holds if `getBehavior()` exists. + */ + final predicate hasBehavior() { exists(this.getBehavior()) } + + /** + * Gets the `index`th control of this form model element (0-based). + */ + FormControl getControl(int index) { + result = + Synth::convertFormControlFromRaw(Synth::convertFormModelElementToRaw(this) + .(Raw::FormModelElement) + .getControl(index)) + } + + /** + * Gets any of the controls of this form model element. + */ + final FormControl getAControl() { result = this.getControl(_) } + + /** + * Gets the number of controls of this form model element. + */ + final int getNumberOfControls() { result = count(int i | exists(this.getControl(i))) } + + /** + * Gets the `index`th data source of this form model element (0-based). + */ + FormDataSource getDataSource(int index) { + result = + Synth::convertFormDataSourceFromRaw(Synth::convertFormModelElementToRaw(this) + .(Raw::FormModelElement) + .getDataSource(index)) + } + + /** + * Gets any of the data sources of this form model element. + */ + final FormDataSource getADataSource() { result = this.getDataSource(_) } + + /** + * Gets the number of data sources of this form model element. + */ + final int getNumberOfDataSources() { result = count(int i | exists(this.getDataSource(i))) } + + /** + * Gets the element type name of this form model element, if it exists. + */ + string getElementTypeName() { + result = + Synth::convertFormModelElementToRaw(this).(Raw::FormModelElement).getElementTypeName() + } + + /** + * Holds if `getElementTypeName()` exists. + */ + final predicate hasElementTypeName() { exists(this.getElementTypeName()) } + + /** + * Gets the full type name of this form model element, if it exists. + */ + string getFullTypeName() { + result = Synth::convertFormModelElementToRaw(this).(Raw::FormModelElement).getFullTypeName() + } + + /** + * Holds if `getFullTypeName()` exists. + */ + final predicate hasFullTypeName() { exists(this.getFullTypeName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/FormNestedElement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FormNestedElement.qll new file mode 100644 index 000000000000..f3b557b59d9e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FormNestedElement.qll @@ -0,0 +1,37 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `FormNestedElement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.FormModelElement +import codeql.xpp.elements.internal.ModelElementImpl::Impl as ModelElementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `FormNestedElement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::FormNestedElement` class directly. + * Use the subclass `FormNestedElement`, where the following predicates are available. + */ + class FormNestedElement extends Synth::TFormNestedElement, ModelElementImpl::ModelElement { + /** + * Gets the form of this form nested element, if it exists. + */ + FormModelElement getForm() { + result = + Synth::convertFormModelElementFromRaw(Synth::convertFormNestedElementToRaw(this) + .(Raw::FormNestedElement) + .getForm()) + } + + /** + * Holds if `getForm()` exists. + */ + final predicate hasForm() { exists(this.getForm()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/FunctionCall.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FunctionCall.qll new file mode 100644 index 000000000000..54d5f79124ec --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FunctionCall.qll @@ -0,0 +1,35 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `FunctionCall`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.GenericEvaluationImpl::Impl as GenericEvaluationImpl + +/** + * INTERNAL: This module contains the fully generated definition of `FunctionCall` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::FunctionCall` class directly. + * Use the subclass `FunctionCall`, where the following predicates are available. + */ + class FunctionCall extends Synth::TFunctionCall, GenericEvaluationImpl::GenericEvaluation { + override string getAPrimaryQlClass() { result = "FunctionCall" } + + /** + * Gets the function name of this function call, if it exists. + */ + string getFunctionName() { + result = Synth::convertFunctionCallToRaw(this).(Raw::FunctionCall).getFunctionName() + } + + /** + * Holds if `getFunctionName()` exists. + */ + final predicate hasFunctionName() { exists(this.getFunctionName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/FunctionDeclaration.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FunctionDeclaration.qll new file mode 100644 index 000000000000..58a381eca5e9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FunctionDeclaration.qll @@ -0,0 +1,123 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `FunctionDeclaration`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.LocalDeclaration +import codeql.xpp.elements.internal.LocalDeclarationImpl::Impl as LocalDeclarationImpl +import codeql.xpp.elements.ParameterDeclaration +import codeql.xpp.elements.Statement + +/** + * INTERNAL: This module contains the fully generated definition of `FunctionDeclaration` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::FunctionDeclaration` class directly. + * Use the subclass `FunctionDeclaration`, where the following predicates are available. + */ + class FunctionDeclaration extends Synth::TFunctionDeclaration, + LocalDeclarationImpl::LocalDeclaration + { + override string getAPrimaryQlClass() { result = "FunctionDeclaration" } + + /** + * Gets the `index`th declarations and statement of this function declaration (0-based). + */ + Statement getDeclarationsAndStatement(int index) { + result = + Synth::convertStatementFromRaw(Synth::convertFunctionDeclarationToRaw(this) + .(Raw::FunctionDeclaration) + .getDeclarationsAndStatement(index)) + } + + /** + * Gets any of the declarations and statements of this function declaration. + */ + final Statement getADeclarationsAndStatement() { result = this.getDeclarationsAndStatement(_) } + + /** + * Gets the number of declarations and statements of this function declaration. + */ + final int getNumberOfDeclarationsAndStatements() { + result = count(int i | exists(this.getDeclarationsAndStatement(i))) + } + + /** + * Gets the element type name of this function declaration, if it exists. + */ + string getElementTypeName() { + result = + Synth::convertFunctionDeclarationToRaw(this).(Raw::FunctionDeclaration).getElementTypeName() + } + + /** + * Holds if `getElementTypeName()` exists. + */ + final predicate hasElementTypeName() { exists(this.getElementTypeName()) } + + /** + * Gets the `index`th local of this function declaration (0-based). + */ + LocalDeclaration getLocal(int index) { + result = + Synth::convertLocalDeclarationFromRaw(Synth::convertFunctionDeclarationToRaw(this) + .(Raw::FunctionDeclaration) + .getLocal(index)) + } + + /** + * Gets any of the locals of this function declaration. + */ + final LocalDeclaration getALocal() { result = this.getLocal(_) } + + /** + * Gets the number of locals of this function declaration. + */ + final int getNumberOfLocals() { result = count(int i | exists(this.getLocal(i))) } + + /** + * Gets the `index`th parameter of this function declaration (0-based). + */ + ParameterDeclaration getParameter(int index) { + result = + Synth::convertParameterDeclarationFromRaw(Synth::convertFunctionDeclarationToRaw(this) + .(Raw::FunctionDeclaration) + .getParameter(index)) + } + + /** + * Gets any of the parameters of this function declaration. + */ + final ParameterDeclaration getAParameter() { result = this.getParameter(_) } + + /** + * Gets the number of parameters of this function declaration. + */ + final int getNumberOfParameters() { result = count(int i | exists(this.getParameter(i))) } + + /** + * Gets the `index`th statement of this function declaration (0-based). + */ + Statement getStatement(int index) { + result = + Synth::convertStatementFromRaw(Synth::convertFunctionDeclarationToRaw(this) + .(Raw::FunctionDeclaration) + .getStatement(index)) + } + + /** + * Gets any of the statements of this function declaration. + */ + final Statement getAStatement() { result = this.getStatement(_) } + + /** + * Gets the number of statements of this function declaration. + */ + final int getNumberOfStatements() { result = count(int i | exists(this.getStatement(i))) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/GenericEvaluation.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/GenericEvaluation.qll new file mode 100644 index 000000000000..23512c81ca17 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/GenericEvaluation.qll @@ -0,0 +1,44 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `GenericEvaluation`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.EvaluationImpl::Impl as EvaluationImpl +import codeql.xpp.elements.XppType + +/** + * INTERNAL: This module contains the fully generated definition of `GenericEvaluation` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::GenericEvaluation` class directly. + * Use the subclass `GenericEvaluation`, where the following predicates are available. + */ + class GenericEvaluation extends Synth::TGenericEvaluation, EvaluationImpl::Evaluation { + /** + * Gets the `index`th type argument list of this generic evaluation (0-based). + */ + XppType getTypeArgumentList(int index) { + result = + Synth::convertXppTypeFromRaw(Synth::convertGenericEvaluationToRaw(this) + .(Raw::GenericEvaluation) + .getTypeArgumentList(index)) + } + + /** + * Gets any of the type argument lists of this generic evaluation. + */ + final XppType getATypeArgumentList() { result = this.getTypeArgumentList(_) } + + /** + * Gets the number of type argument lists of this generic evaluation. + */ + final int getNumberOfTypeArgumentLists() { + result = count(int i | exists(this.getTypeArgumentList(i))) + } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/GenericXppType.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/GenericXppType.qll new file mode 100644 index 000000000000..6ebb6f7dec6b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/GenericXppType.qll @@ -0,0 +1,44 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `GenericXppType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.XppType +import codeql.xpp.elements.internal.XppTypeImpl::Impl as XppTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `GenericXppType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::GenericXppType` class directly. + * Use the subclass `GenericXppType`, where the following predicates are available. + */ + class GenericXppType extends Synth::TGenericXppType, XppTypeImpl::XppType { + /** + * Gets the `index`th type argument list of this generic xpp type (0-based). + */ + XppType getTypeArgumentList(int index) { + result = + Synth::convertXppTypeFromRaw(Synth::convertGenericXppTypeToRaw(this) + .(Raw::GenericXppType) + .getTypeArgumentList(index)) + } + + /** + * Gets any of the type argument lists of this generic xpp type. + */ + final XppType getATypeArgumentList() { result = this.getTypeArgumentList(_) } + + /** + * Gets the number of type argument lists of this generic xpp type. + */ + final int getNumberOfTypeArgumentLists() { + result = count(int i | exists(this.getTypeArgumentList(i))) + } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/GlobalOrderElement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/GlobalOrderElement.qll new file mode 100644 index 000000000000..ff1c933eb3ef --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/GlobalOrderElement.qll @@ -0,0 +1,48 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `GlobalOrderElement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.OrderElementImpl::Impl as OrderElementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `GlobalOrderElement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::GlobalOrderElement` class directly. + * Use the subclass `GlobalOrderElement`, where the following predicates are available. + */ + class GlobalOrderElement extends Synth::TGlobalOrderElement, OrderElementImpl::OrderElement { + override string getAPrimaryQlClass() { result = "GlobalOrderElement" } + + /** + * Gets the extension name of this global order element, if it exists. + */ + string getExtensionName() { + result = + Synth::convertGlobalOrderElementToRaw(this).(Raw::GlobalOrderElement).getExtensionName() + } + + /** + * Holds if `getExtensionName()` exists. + */ + final predicate hasExtensionName() { exists(this.getExtensionName()) } + + /** + * Gets the table of this global order element, if it exists. + */ + string getTable() { + result = Synth::convertGlobalOrderElementToRaw(this).(Raw::GlobalOrderElement).getTable() + } + + /** + * Holds if `getTable()` exists. + */ + final predicate hasTable() { exists(this.getTable()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/GreaterThanExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/GreaterThanExpression.qll new file mode 100644 index 000000000000..fe8a4e75f9e4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/GreaterThanExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `GreaterThanExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.RelationalExpressionImpl::Impl as RelationalExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `GreaterThanExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::GreaterThanExpression` class directly. + * Use the subclass `GreaterThanExpression`, where the following predicates are available. + */ + class GreaterThanExpression extends Synth::TGreaterThanExpression, + RelationalExpressionImpl::RelationalExpression + { + override string getAPrimaryQlClass() { result = "GreaterThanExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/GreaterThanOrEqualExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/GreaterThanOrEqualExpression.qll new file mode 100644 index 000000000000..6dab2e694d19 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/GreaterThanOrEqualExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `GreaterThanOrEqualExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.RelationalExpressionImpl::Impl as RelationalExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `GreaterThanOrEqualExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::GreaterThanOrEqualExpression` class directly. + * Use the subclass `GreaterThanOrEqualExpression`, where the following predicates are available. + */ + class GreaterThanOrEqualExpression extends Synth::TGreaterThanOrEqualExpression, + RelationalExpressionImpl::RelationalExpression + { + override string getAPrimaryQlClass() { result = "GreaterThanOrEqualExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/GuidAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/GuidAttributeLiteral.qll new file mode 100644 index 000000000000..2e082549f4f2 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/GuidAttributeLiteral.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `GuidAttributeLiteral`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.DefaultTypeAttributeLiteralImpl::Impl as DefaultTypeAttributeLiteralImpl + +/** + * INTERNAL: This module contains the fully generated definition of `GuidAttributeLiteral` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::GuidAttributeLiteral` class directly. + * Use the subclass `GuidAttributeLiteral`, where the following predicates are available. + */ + class GuidAttributeLiteral extends Synth::TGuidAttributeLiteral, + DefaultTypeAttributeLiteralImpl::DefaultTypeAttributeLiteral + { + override string getAPrimaryQlClass() { result = "GuidAttributeLiteral" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/GuidType.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/GuidType.qll new file mode 100644 index 000000000000..e2e190680c67 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/GuidType.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `GuidType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.XppTypeImpl::Impl as XppTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `GuidType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::GuidType` class directly. + * Use the subclass `GuidType`, where the following predicates are available. + */ + class GuidType extends Synth::TGuidType, XppTypeImpl::XppType { + override string getAPrimaryQlClass() { result = "GuidType" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/IfStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/IfStatement.qll new file mode 100644 index 000000000000..a063c567d8db --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/IfStatement.qll @@ -0,0 +1,55 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `IfStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Statement +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `IfStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::IfStatement` class directly. + * Use the subclass `IfStatement`, where the following predicates are available. + */ + class IfStatement extends Synth::TIfStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "IfStatement" } + + /** + * Gets the condition of this if statement, if it exists. + */ + Expression getCondition() { + result = + Synth::convertExpressionFromRaw(Synth::convertIfStatementToRaw(this) + .(Raw::IfStatement) + .getCondition()) + } + + /** + * Holds if `getCondition()` exists. + */ + final predicate hasCondition() { exists(this.getCondition()) } + + /** + * Gets the consequent of this if statement, if it exists. + */ + Statement getConsequent() { + result = + Synth::convertStatementFromRaw(Synth::convertIfStatementToRaw(this) + .(Raw::IfStatement) + .getConsequent()) + } + + /** + * Holds if `getConsequent()` exists. + */ + final predicate hasConsequent() { exists(this.getConsequent()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/IfThenElseStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/IfThenElseStatement.qll new file mode 100644 index 000000000000..7ac27ebb46f1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/IfThenElseStatement.qll @@ -0,0 +1,70 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `IfThenElseStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Statement +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `IfThenElseStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::IfThenElseStatement` class directly. + * Use the subclass `IfThenElseStatement`, where the following predicates are available. + */ + class IfThenElseStatement extends Synth::TIfThenElseStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "IfThenElseStatement" } + + /** + * Gets the antecedent of this if then else statement, if it exists. + */ + Statement getAntecedent() { + result = + Synth::convertStatementFromRaw(Synth::convertIfThenElseStatementToRaw(this) + .(Raw::IfThenElseStatement) + .getAntecedent()) + } + + /** + * Holds if `getAntecedent()` exists. + */ + final predicate hasAntecedent() { exists(this.getAntecedent()) } + + /** + * Gets the condition of this if then else statement, if it exists. + */ + Expression getCondition() { + result = + Synth::convertExpressionFromRaw(Synth::convertIfThenElseStatementToRaw(this) + .(Raw::IfThenElseStatement) + .getCondition()) + } + + /** + * Holds if `getCondition()` exists. + */ + final predicate hasCondition() { exists(this.getCondition()) } + + /** + * Gets the consequent of this if then else statement, if it exists. + */ + Statement getConsequent() { + result = + Synth::convertStatementFromRaw(Synth::convertIfThenElseStatementToRaw(this) + .(Raw::IfThenElseStatement) + .getConsequent()) + } + + /** + * Holds if `getConsequent()` exists. + */ + final predicate hasConsequent() { exists(this.getConsequent()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ImplicitSelection.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ImplicitSelection.qll new file mode 100644 index 000000000000..bd0fc53e1368 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ImplicitSelection.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ImplicitSelection`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.SelectionImpl::Impl as SelectionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ImplicitSelection` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ImplicitSelection` class directly. + * Use the subclass `ImplicitSelection`, where the following predicates are available. + */ + class ImplicitSelection extends Synth::TImplicitSelection, SelectionImpl::Selection { + override string getAPrimaryQlClass() { result = "ImplicitSelection" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/InExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/InExpression.qll new file mode 100644 index 000000000000..d34097ccec9c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/InExpression.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `InExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.BinaryExpressionImpl::Impl as BinaryExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `InExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::InExpression` class directly. + * Use the subclass `InExpression`, where the following predicates are available. + */ + class InExpression extends Synth::TInExpression, BinaryExpressionImpl::BinaryExpression { + override string getAPrimaryQlClass() { result = "InExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/InsertFieldSpecification.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/InsertFieldSpecification.qll new file mode 100644 index 000000000000..bb339b0ee2c2 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/InsertFieldSpecification.qll @@ -0,0 +1,75 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `InsertFieldSpecification`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl + +/** + * INTERNAL: This module contains the fully generated definition of `InsertFieldSpecification` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::InsertFieldSpecification` class directly. + * Use the subclass `InsertFieldSpecification`, where the following predicates are available. + */ + class InsertFieldSpecification extends Synth::TInsertFieldSpecification, AstImpl::Ast { + override string getAPrimaryQlClass() { result = "InsertFieldSpecification" } + + /** + * Gets the array index of this insert field specification, if it exists. + */ + int getArrayIndex() { + result = + Synth::convertInsertFieldSpecificationToRaw(this) + .(Raw::InsertFieldSpecification) + .getArrayIndex() + } + + /** + * Holds if `getArrayIndex()` exists. + */ + final predicate hasArrayIndex() { exists(this.getArrayIndex()) } + + /** + * Gets the extension name of this insert field specification, if it exists. + */ + string getExtensionName() { + result = + Synth::convertInsertFieldSpecificationToRaw(this) + .(Raw::InsertFieldSpecification) + .getExtensionName() + } + + /** + * Holds if `getExtensionName()` exists. + */ + final predicate hasExtensionName() { exists(this.getExtensionName()) } + + /** + * Holds if this insert field specification is extension. + */ + predicate isExtension() { + Synth::convertInsertFieldSpecificationToRaw(this) + .(Raw::InsertFieldSpecification) + .isExtension() + } + + /** + * Gets the name of this insert field specification, if it exists. + */ + string getName() { + result = + Synth::convertInsertFieldSpecificationToRaw(this).(Raw::InsertFieldSpecification).getName() + } + + /** + * Holds if `getName()` exists. + */ + final predicate hasName() { exists(this.getName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/InsertStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/InsertStatement.qll new file mode 100644 index 000000000000..1ef5915cc0a5 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/InsertStatement.qll @@ -0,0 +1,88 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `InsertStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.CrossCompany +import codeql.xpp.elements.InsertFieldSpecification +import codeql.xpp.elements.Query +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `InsertStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::InsertStatement` class directly. + * Use the subclass `InsertStatement`, where the following predicates are available. + */ + class InsertStatement extends Synth::TInsertStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "InsertStatement" } + + /** + * Gets the cross company of this insert statement, if it exists. + */ + CrossCompany getCrossCompany() { + result = + Synth::convertCrossCompanyFromRaw(Synth::convertInsertStatementToRaw(this) + .(Raw::InsertStatement) + .getCrossCompany()) + } + + /** + * Holds if `getCrossCompany()` exists. + */ + final predicate hasCrossCompany() { exists(this.getCrossCompany()) } + + /** + * Gets the `index`th field of this insert statement (0-based). + */ + InsertFieldSpecification getField(int index) { + result = + Synth::convertInsertFieldSpecificationFromRaw(Synth::convertInsertStatementToRaw(this) + .(Raw::InsertStatement) + .getField(index)) + } + + /** + * Gets any of the fields of this insert statement. + */ + final InsertFieldSpecification getAField() { result = this.getField(_) } + + /** + * Gets the number of fields of this insert statement. + */ + final int getNumberOfFields() { result = count(int i | exists(this.getField(i))) } + + /** + * Gets the query of this insert statement, if it exists. + */ + Query getQuery() { + result = + Synth::convertQueryFromRaw(Synth::convertInsertStatementToRaw(this) + .(Raw::InsertStatement) + .getQuery()) + } + + /** + * Holds if `getQuery()` exists. + */ + final predicate hasQuery() { exists(this.getQuery()) } + + /** + * Gets the table of this insert statement, if it exists. + */ + string getTable() { + result = Synth::convertInsertStatementToRaw(this).(Raw::InsertStatement).getTable() + } + + /** + * Holds if `getTable()` exists. + */ + final predicate hasTable() { exists(this.getTable()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/InstanceName.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/InstanceName.qll new file mode 100644 index 000000000000..59408089b60f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/InstanceName.qll @@ -0,0 +1,21 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `InstanceName`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl + +/** + * INTERNAL: This module contains the fully generated definition of `InstanceName` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::InstanceName` class directly. + * Use the subclass `InstanceName`, where the following predicates are available. + */ + class InstanceName extends Synth::TInstanceName, AstImpl::Ast { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Int64AttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Int64AttributeLiteral.qll new file mode 100644 index 000000000000..9935cffa959e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Int64AttributeLiteral.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Int64AttributeLiteral`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.DefaultTypeAttributeLiteralImpl::Impl as DefaultTypeAttributeLiteralImpl + +/** + * INTERNAL: This module contains the fully generated definition of `Int64AttributeLiteral` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Int64AttributeLiteral` class directly. + * Use the subclass `Int64AttributeLiteral`, where the following predicates are available. + */ + class Int64AttributeLiteral extends Synth::TInt64AttributeLiteral, + DefaultTypeAttributeLiteralImpl::DefaultTypeAttributeLiteral + { + override string getAPrimaryQlClass() { result = "Int64AttributeLiteral" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Int64LiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Int64LiteralExpression.qll new file mode 100644 index 000000000000..f3622a0555d2 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Int64LiteralExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Int64LiteralExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.DefaultTypeLiteralExpressionImpl::Impl as DefaultTypeLiteralExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `Int64LiteralExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Int64LiteralExpression` class directly. + * Use the subclass `Int64LiteralExpression`, where the following predicates are available. + */ + class Int64LiteralExpression extends Synth::TInt64LiteralExpression, + DefaultTypeLiteralExpressionImpl::DefaultTypeLiteralExpression + { + override string getAPrimaryQlClass() { result = "Int64LiteralExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Int64Type.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Int64Type.qll new file mode 100644 index 000000000000..d78d2d374018 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Int64Type.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Int64Type`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.XppTypeImpl::Impl as XppTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `Int64Type` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Int64Type` class directly. + * Use the subclass `Int64Type`, where the following predicates are available. + */ + class Int64Type extends Synth::TInt64Type, XppTypeImpl::XppType { + override string getAPrimaryQlClass() { result = "Int64Type" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/IntAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/IntAttributeLiteral.qll new file mode 100644 index 000000000000..67dd415e5fa5 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/IntAttributeLiteral.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `IntAttributeLiteral`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.DefaultTypeAttributeLiteralImpl::Impl as DefaultTypeAttributeLiteralImpl + +/** + * INTERNAL: This module contains the fully generated definition of `IntAttributeLiteral` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::IntAttributeLiteral` class directly. + * Use the subclass `IntAttributeLiteral`, where the following predicates are available. + */ + class IntAttributeLiteral extends Synth::TIntAttributeLiteral, + DefaultTypeAttributeLiteralImpl::DefaultTypeAttributeLiteral + { + override string getAPrimaryQlClass() { result = "IntAttributeLiteral" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/IntLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/IntLiteralExpression.qll new file mode 100644 index 000000000000..ab46614cc79d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/IntLiteralExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `IntLiteralExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.DefaultTypeLiteralExpressionImpl::Impl as DefaultTypeLiteralExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `IntLiteralExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::IntLiteralExpression` class directly. + * Use the subclass `IntLiteralExpression`, where the following predicates are available. + */ + class IntLiteralExpression extends Synth::TIntLiteralExpression, + DefaultTypeLiteralExpressionImpl::DefaultTypeLiteralExpression + { + override string getAPrimaryQlClass() { result = "IntLiteralExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/IntType.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/IntType.qll new file mode 100644 index 000000000000..69fa5afa1082 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/IntType.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `IntType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.XppTypeImpl::Impl as XppTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `IntType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::IntType` class directly. + * Use the subclass `IntType`, where the following predicates are available. + */ + class IntType extends Synth::TIntType, XppTypeImpl::XppType { + override string getAPrimaryQlClass() { result = "IntType" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/IntegerDivideExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/IntegerDivideExpression.qll new file mode 100644 index 000000000000..dcbab6a47b81 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/IntegerDivideExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `IntegerDivideExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.BinaryExpressionImpl::Impl as BinaryExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `IntegerDivideExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::IntegerDivideExpression` class directly. + * Use the subclass `IntegerDivideExpression`, where the following predicates are available. + */ + class IntegerDivideExpression extends Synth::TIntegerDivideExpression, + BinaryExpressionImpl::BinaryExpression + { + override string getAPrimaryQlClass() { result = "IntegerDivideExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Interface.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Interface.qll new file mode 100644 index 000000000000..3c4d1d3f3455 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Interface.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Interface`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ClassOrInterfaceImpl::Impl as ClassOrInterfaceImpl + +/** + * INTERNAL: This module contains the fully generated definition of `Interface` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Interface` class directly. + * Use the subclass `Interface`, where the following predicates are available. + */ + class Interface extends Synth::TInterface, ClassOrInterfaceImpl::ClassOrInterface { + override string getAPrimaryQlClass() { result = "Interface" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Intrinsic.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Intrinsic.qll new file mode 100644 index 000000000000..c712a1108fa3 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Intrinsic.qll @@ -0,0 +1,63 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Intrinsic`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ExpressionImpl::Impl as ExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `Intrinsic` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Intrinsic` class directly. + * Use the subclass `Intrinsic`, where the following predicates are available. + */ + class Intrinsic extends Synth::TIntrinsic, ExpressionImpl::Expression { + override string getAPrimaryQlClass() { result = "Intrinsic" } + + /** + * Gets the arg1 of this intrinsic, if it exists. + */ + string getArg1() { result = Synth::convertIntrinsicToRaw(this).(Raw::Intrinsic).getArg1() } + + /** + * Holds if `getArg1()` exists. + */ + final predicate hasArg1() { exists(this.getArg1()) } + + /** + * Gets the arg2 of this intrinsic, if it exists. + */ + string getArg2() { result = Synth::convertIntrinsicToRaw(this).(Raw::Intrinsic).getArg2() } + + /** + * Holds if `getArg2()` exists. + */ + final predicate hasArg2() { exists(this.getArg2()) } + + /** + * Gets the arg3 of this intrinsic, if it exists. + */ + string getArg3() { result = Synth::convertIntrinsicToRaw(this).(Raw::Intrinsic).getArg3() } + + /** + * Holds if `getArg3()` exists. + */ + final predicate hasArg3() { exists(this.getArg3()) } + + /** + * Gets the name of this intrinsic, if it exists. + */ + string getName() { result = Synth::convertIntrinsicToRaw(this).(Raw::Intrinsic).getName() } + + /** + * Holds if `getName()` exists. + */ + final predicate hasName() { exists(this.getName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/IntrinsicAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/IntrinsicAttributeLiteral.qll new file mode 100644 index 000000000000..80e53b15606a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/IntrinsicAttributeLiteral.qll @@ -0,0 +1,85 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `IntrinsicAttributeLiteral`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AttributeLiteralImpl::Impl as AttributeLiteralImpl + +/** + * INTERNAL: This module contains the fully generated definition of `IntrinsicAttributeLiteral` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::IntrinsicAttributeLiteral` class directly. + * Use the subclass `IntrinsicAttributeLiteral`, where the following predicates are available. + */ + class IntrinsicAttributeLiteral extends Synth::TIntrinsicAttributeLiteral, + AttributeLiteralImpl::AttributeLiteral + { + override string getAPrimaryQlClass() { result = "IntrinsicAttributeLiteral" } + + /** + * Gets the arg1 of this intrinsic attribute literal, if it exists. + */ + string getArg1() { + result = + Synth::convertIntrinsicAttributeLiteralToRaw(this) + .(Raw::IntrinsicAttributeLiteral) + .getArg1() + } + + /** + * Holds if `getArg1()` exists. + */ + final predicate hasArg1() { exists(this.getArg1()) } + + /** + * Gets the arg2 of this intrinsic attribute literal, if it exists. + */ + string getArg2() { + result = + Synth::convertIntrinsicAttributeLiteralToRaw(this) + .(Raw::IntrinsicAttributeLiteral) + .getArg2() + } + + /** + * Holds if `getArg2()` exists. + */ + final predicate hasArg2() { exists(this.getArg2()) } + + /** + * Gets the arg3 of this intrinsic attribute literal, if it exists. + */ + string getArg3() { + result = + Synth::convertIntrinsicAttributeLiteralToRaw(this) + .(Raw::IntrinsicAttributeLiteral) + .getArg3() + } + + /** + * Holds if `getArg3()` exists. + */ + final predicate hasArg3() { exists(this.getArg3()) } + + /** + * Gets the function name of this intrinsic attribute literal, if it exists. + */ + string getFunctionName() { + result = + Synth::convertIntrinsicAttributeLiteralToRaw(this) + .(Raw::IntrinsicAttributeLiteral) + .getFunctionName() + } + + /** + * Holds if `getFunctionName()` exists. + */ + final predicate hasFunctionName() { exists(this.getFunctionName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/IsAsExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/IsAsExpression.qll new file mode 100644 index 000000000000..50f992faa5aa --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/IsAsExpression.qll @@ -0,0 +1,49 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `IsAsExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.internal.ExpressionImpl::Impl as ExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `IsAsExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::IsAsExpression` class directly. + * Use the subclass `IsAsExpression`, where the following predicates are available. + */ + class IsAsExpression extends Synth::TIsAsExpression, ExpressionImpl::Expression { + /** + * Gets the expression of this is as expression, if it exists. + */ + Expression getExpression() { + result = + Synth::convertExpressionFromRaw(Synth::convertIsAsExpressionToRaw(this) + .(Raw::IsAsExpression) + .getExpression()) + } + + /** + * Holds if `getExpression()` exists. + */ + final predicate hasExpression() { exists(this.getExpression()) } + + /** + * Gets the type name of this is as expression, if it exists. + */ + string getTypeName() { + result = Synth::convertIsAsExpressionToRaw(this).(Raw::IsAsExpression).getTypeName() + } + + /** + * Holds if `getTypeName()` exists. + */ + final predicate hasTypeName() { exists(this.getTypeName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/IsClrExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/IsClrExpression.qll new file mode 100644 index 000000000000..80535e548ad0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/IsClrExpression.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `IsClrExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.IsAsExpressionImpl::Impl as IsAsExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `IsClrExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::IsClrExpression` class directly. + * Use the subclass `IsClrExpression`, where the following predicates are available. + */ + class IsClrExpression extends Synth::TIsClrExpression, IsAsExpressionImpl::IsAsExpression { + override string getAPrimaryQlClass() { result = "IsClrExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/IsExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/IsExpression.qll new file mode 100644 index 000000000000..c2dc9939a5be --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/IsExpression.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `IsExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.IsAsExpressionImpl::Impl as IsAsExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `IsExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::IsExpression` class directly. + * Use the subclass `IsExpression`, where the following predicates are available. + */ + class IsExpression extends Synth::TIsExpression, IsAsExpressionImpl::IsAsExpression { + override string getAPrimaryQlClass() { result = "IsExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/JoinSpecification.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/JoinSpecification.qll new file mode 100644 index 000000000000..5221a6bd8dfd --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/JoinSpecification.qll @@ -0,0 +1,51 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `JoinSpecification`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl +import codeql.xpp.elements.Query + +/** + * INTERNAL: This module contains the fully generated definition of `JoinSpecification` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::JoinSpecification` class directly. + * Use the subclass `JoinSpecification`, where the following predicates are available. + */ + class JoinSpecification extends Synth::TJoinSpecification, AstImpl::Ast { + override string getAPrimaryQlClass() { result = "JoinSpecification" } + + /** + * Gets the kind of this join specification, if it exists. + */ + string getKind() { + result = Synth::convertJoinSpecificationToRaw(this).(Raw::JoinSpecification).getKind() + } + + /** + * Holds if `getKind()` exists. + */ + final predicate hasKind() { exists(this.getKind()) } + + /** + * Gets the query of this join specification, if it exists. + */ + Query getQuery() { + result = + Synth::convertQueryFromRaw(Synth::convertJoinSpecificationToRaw(this) + .(Raw::JoinSpecification) + .getQuery()) + } + + /** + * Holds if `getQuery()` exists. + */ + final predicate hasQuery() { exists(this.getQuery()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/LessThanExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/LessThanExpression.qll new file mode 100644 index 000000000000..23502b0aed0e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/LessThanExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `LessThanExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.RelationalExpressionImpl::Impl as RelationalExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `LessThanExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::LessThanExpression` class directly. + * Use the subclass `LessThanExpression`, where the following predicates are available. + */ + class LessThanExpression extends Synth::TLessThanExpression, + RelationalExpressionImpl::RelationalExpression + { + override string getAPrimaryQlClass() { result = "LessThanExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/LessThanOrEqualExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/LessThanOrEqualExpression.qll new file mode 100644 index 000000000000..497cf0b4b7ca --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/LessThanOrEqualExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `LessThanOrEqualExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.RelationalExpressionImpl::Impl as RelationalExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `LessThanOrEqualExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::LessThanOrEqualExpression` class directly. + * Use the subclass `LessThanOrEqualExpression`, where the following predicates are available. + */ + class LessThanOrEqualExpression extends Synth::TLessThanOrEqualExpression, + RelationalExpressionImpl::RelationalExpression + { + override string getAPrimaryQlClass() { result = "LessThanOrEqualExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/LikeExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/LikeExpression.qll new file mode 100644 index 000000000000..d40fc0b8817b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/LikeExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `LikeExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.RelationalExpressionImpl::Impl as RelationalExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `LikeExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::LikeExpression` class directly. + * Use the subclass `LikeExpression`, where the following predicates are available. + */ + class LikeExpression extends Synth::TLikeExpression, + RelationalExpressionImpl::RelationalExpression + { + override string getAPrimaryQlClass() { result = "LikeExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/LiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/LiteralExpression.qll new file mode 100644 index 000000000000..3c8b44f438a6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/LiteralExpression.qll @@ -0,0 +1,21 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `LiteralExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ExpressionImpl::Impl as ExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `LiteralExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::LiteralExpression` class directly. + * Use the subclass `LiteralExpression`, where the following predicates are available. + */ + class LiteralExpression extends Synth::TLiteralExpression, ExpressionImpl::Expression { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/LocalDeclaration.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/LocalDeclaration.qll new file mode 100644 index 000000000000..cdd4d27dc4db --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/LocalDeclaration.qll @@ -0,0 +1,21 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `LocalDeclaration`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.DeclarationImpl::Impl as DeclarationImpl + +/** + * INTERNAL: This module contains the fully generated definition of `LocalDeclaration` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::LocalDeclaration` class directly. + * Use the subclass `LocalDeclaration`, where the following predicates are available. + */ + class LocalDeclaration extends Synth::TLocalDeclaration, DeclarationImpl::Declaration { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/LocalDeclarationsStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/LocalDeclarationsStatement.qll new file mode 100644 index 000000000000..e545fe9d7977 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/LocalDeclarationsStatement.qll @@ -0,0 +1,46 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `LocalDeclarationsStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.LocalDeclaration +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `LocalDeclarationsStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::LocalDeclarationsStatement` class directly. + * Use the subclass `LocalDeclarationsStatement`, where the following predicates are available. + */ + class LocalDeclarationsStatement extends Synth::TLocalDeclarationsStatement, + StatementImpl::Statement + { + override string getAPrimaryQlClass() { result = "LocalDeclarationsStatement" } + + /** + * Gets the `index`th declaration of this local declarations statement (0-based). + */ + LocalDeclaration getDeclaration(int index) { + result = + Synth::convertLocalDeclarationFromRaw(Synth::convertLocalDeclarationsStatementToRaw(this) + .(Raw::LocalDeclarationsStatement) + .getDeclaration(index)) + } + + /** + * Gets any of the declarations of this local declarations statement. + */ + final LocalDeclaration getADeclaration() { result = this.getDeclaration(_) } + + /** + * Gets the number of declarations of this local declarations statement. + */ + final int getNumberOfDeclarations() { result = count(int i | exists(this.getDeclaration(i))) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Locatable.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Locatable.qll new file mode 100644 index 000000000000..f8d3eca65e60 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Locatable.qll @@ -0,0 +1,37 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Locatable`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ElementImpl::Impl as ElementImpl +import codeql.xpp.elements.Location + +/** + * INTERNAL: This module contains the fully generated definition of `Locatable` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Locatable` class directly. + * Use the subclass `Locatable`, where the following predicates are available. + */ + class Locatable extends Synth::TLocatable, ElementImpl::Element { + /** + * Gets the location associated with this element in the code, if it exists. + */ + Location getLocation() { + result = + Synth::convertLocationFromRaw(Synth::convertLocatableToRaw(this) + .(Raw::Locatable) + .getLocation()) + } + + /** + * Holds if `getLocation()` exists. + */ + final predicate hasLocation() { exists(this.getLocation()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Location.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Location.qll new file mode 100644 index 000000000000..a91112490196 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Location.qll @@ -0,0 +1,54 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Location`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ElementImpl::Impl as ElementImpl +import codeql.xpp.elements.File + +/** + * INTERNAL: This module contains the fully generated definition of `Location` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Location` class directly. + * Use the subclass `Location`, where the following predicates are available. + */ + class Location extends Synth::TLocation, ElementImpl::Element { + override string getAPrimaryQlClass() { result = "Location" } + + /** + * Gets the file of this location. + */ + File getFile() { + result = + Synth::convertFileFromRaw(Synth::convertLocationToRaw(this).(Raw::Location).getFile()) + } + + /** + * Gets the start line of this location. + */ + int getStartLine() { result = Synth::convertLocationToRaw(this).(Raw::Location).getStartLine() } + + /** + * Gets the start column of this location. + */ + int getStartColumn() { + result = Synth::convertLocationToRaw(this).(Raw::Location).getStartColumn() + } + + /** + * Gets the end line of this location. + */ + int getEndLine() { result = Synth::convertLocationToRaw(this).(Raw::Location).getEndLine() } + + /** + * Gets the end column of this location. + */ + int getEndColumn() { result = Synth::convertLocationToRaw(this).(Raw::Location).getEndColumn() } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/MaxAggregateSelection.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/MaxAggregateSelection.qll new file mode 100644 index 000000000000..00adbc79f16c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/MaxAggregateSelection.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `MaxAggregateSelection`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AggregateSelectionImpl::Impl as AggregateSelectionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `MaxAggregateSelection` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::MaxAggregateSelection` class directly. + * Use the subclass `MaxAggregateSelection`, where the following predicates are available. + */ + class MaxAggregateSelection extends Synth::TMaxAggregateSelection, + AggregateSelectionImpl::AggregateSelection + { + override string getAPrimaryQlClass() { result = "MaxAggregateSelection" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Method.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Method.qll new file mode 100644 index 000000000000..41bcc15462c1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Method.qll @@ -0,0 +1,214 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Method`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.LocalDeclaration +import codeql.xpp.elements.internal.MethodOrDelegateImpl::Impl as MethodOrDelegateImpl +import codeql.xpp.elements.Statement + +/** + * INTERNAL: This module contains the fully generated definition of `Method` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Method` class directly. + * Use the subclass `Method`, where the following predicates are available. + */ + class Method extends Synth::TMethod, MethodOrDelegateImpl::MethodOrDelegate { + override string getAPrimaryQlClass() { result = "Method" } + + /** + * Gets the `index`th declarations and statement of this method (0-based). + */ + Statement getDeclarationsAndStatement(int index) { + result = + Synth::convertStatementFromRaw(Synth::convertMethodToRaw(this) + .(Raw::Method) + .getDeclarationsAndStatement(index)) + } + + /** + * Gets any of the declarations and statements of this method. + */ + final Statement getADeclarationsAndStatement() { result = this.getDeclarationsAndStatement(_) } + + /** + * Gets the number of declarations and statements of this method. + */ + final int getNumberOfDeclarationsAndStatements() { + result = count(int i | exists(this.getDeclarationsAndStatement(i))) + } + + /** + * Holds if this method has local functions. + */ + predicate hasLocalFunctions() { + Synth::convertMethodToRaw(this).(Raw::Method).hasLocalFunctions() + } + + /** + * Holds if this method is abstract. + */ + predicate isAbstract() { Synth::convertMethodToRaw(this).(Raw::Method).isAbstract() } + + /** + * Holds if this method is client. + */ + predicate isClient() { Synth::convertMethodToRaw(this).(Raw::Method).isClient() } + + /** + * Holds if this method is constructor. + */ + predicate isConstructor() { Synth::convertMethodToRaw(this).(Raw::Method).isConstructor() } + + /** + * Holds if this method is display. + */ + predicate isDisplay() { Synth::convertMethodToRaw(this).(Raw::Method).isDisplay() } + + /** + * Holds if this method is edit. + */ + predicate isEdit() { Synth::convertMethodToRaw(this).(Raw::Method).isEdit() } + + /** + * Holds if this method is explicit non hookable. + */ + predicate isExplicitNonHookable() { + Synth::convertMethodToRaw(this).(Raw::Method).isExplicitNonHookable() + } + + /** + * Holds if this method is explicit non wrappable. + */ + predicate isExplicitNonWrappable() { + Synth::convertMethodToRaw(this).(Raw::Method).isExplicitNonWrappable() + } + + /** + * Holds if this method is extended method. + */ + predicate isExtendedMethod() { + Synth::convertMethodToRaw(this).(Raw::Method).isExtendedMethod() + } + + /** + * Holds if this method is final. + */ + predicate isFinal() { Synth::convertMethodToRaw(this).(Raw::Method).isFinal() } + + /** + * Holds if this method is hookable. + */ + predicate isHookable() { Synth::convertMethodToRaw(this).(Raw::Method).isHookable() } + + /** + * Holds if this method is hookable on chain of command. + */ + predicate isHookableOnChainOfCommand() { + Synth::convertMethodToRaw(this).(Raw::Method).isHookableOnChainOfCommand() + } + + /** + * Holds if this method is internal. + */ + predicate isInternal() { Synth::convertMethodToRaw(this).(Raw::Method).isInternal() } + + /** + * Holds if this method is private. + */ + predicate isPrivate() { Synth::convertMethodToRaw(this).(Raw::Method).isPrivate() } + + /** + * Holds if this method is protected. + */ + predicate isProtected() { Synth::convertMethodToRaw(this).(Raw::Method).isProtected() } + + /** + * Holds if this method is public. + */ + predicate isPublic() { Synth::convertMethodToRaw(this).(Raw::Method).isPublic() } + + /** + * Holds if this method is replaceable. + */ + predicate isReplaceable() { Synth::convertMethodToRaw(this).(Raw::Method).isReplaceable() } + + /** + * Holds if this method is server. + */ + predicate isServer() { Synth::convertMethodToRaw(this).(Raw::Method).isServer() } + + /** + * Holds if this method is static. + */ + predicate isStatic() { Synth::convertMethodToRaw(this).(Raw::Method).isStatic() } + + /** + * Holds if this method is type initializer. + */ + predicate isTypeInitializer() { + Synth::convertMethodToRaw(this).(Raw::Method).isTypeInitializer() + } + + /** + * Holds if this method is wrappable. + */ + predicate isWrappable() { Synth::convertMethodToRaw(this).(Raw::Method).isWrappable() } + + /** + * Gets the `index`th local of this method (0-based). + */ + LocalDeclaration getLocal(int index) { + result = + Synth::convertLocalDeclarationFromRaw(Synth::convertMethodToRaw(this) + .(Raw::Method) + .getLocal(index)) + } + + /** + * Gets any of the locals of this method. + */ + final LocalDeclaration getALocal() { result = this.getLocal(_) } + + /** + * Gets the number of locals of this method. + */ + final int getNumberOfLocals() { result = count(int i | exists(this.getLocal(i))) } + + /** + * Gets the modifiers of this method, if it exists. + */ + string getModifiers() { result = Synth::convertMethodToRaw(this).(Raw::Method).getModifiers() } + + /** + * Holds if `getModifiers()` exists. + */ + final predicate hasModifiers() { exists(this.getModifiers()) } + + /** + * Gets the `index`th statement of this method (0-based). + */ + Statement getStatement(int index) { + result = + Synth::convertStatementFromRaw(Synth::convertMethodToRaw(this) + .(Raw::Method) + .getStatement(index)) + } + + /** + * Gets any of the statements of this method. + */ + final Statement getAStatement() { result = this.getStatement(_) } + + /** + * Gets the number of statements of this method. + */ + final int getNumberOfStatements() { result = count(int i | exists(this.getStatement(i))) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/MethodOrDelegate.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/MethodOrDelegate.qll new file mode 100644 index 000000000000..11ea7da4b6c4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/MethodOrDelegate.qll @@ -0,0 +1,128 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `MethodOrDelegate`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.AttributeList +import codeql.xpp.elements.internal.CompilationUnitImpl::Impl as CompilationUnitImpl +import codeql.xpp.elements.Modifier +import codeql.xpp.elements.ParameterDeclaration +import codeql.xpp.elements.XppType + +/** + * INTERNAL: This module contains the fully generated definition of `MethodOrDelegate` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::MethodOrDelegate` class directly. + * Use the subclass `MethodOrDelegate`, where the following predicates are available. + */ + class MethodOrDelegate extends Synth::TMethodOrDelegate, CompilationUnitImpl::CompilationUnit { + /** + * Gets the attributes of this method or delegate, if it exists. + */ + AttributeList getAttributes() { + result = + Synth::convertAttributeListFromRaw(Synth::convertMethodOrDelegateToRaw(this) + .(Raw::MethodOrDelegate) + .getAttributes()) + } + + /** + * Holds if `getAttributes()` exists. + */ + final predicate hasAttributes() { exists(this.getAttributes()) } + + /** + * Gets the `index`th modifier list of this method or delegate (0-based). + */ + Modifier getModifierList(int index) { + result = + Synth::convertModifierFromRaw(Synth::convertMethodOrDelegateToRaw(this) + .(Raw::MethodOrDelegate) + .getModifierList(index)) + } + + /** + * Gets any of the modifier lists of this method or delegate. + */ + final Modifier getAModifierList() { result = this.getModifierList(_) } + + /** + * Gets the number of modifier lists of this method or delegate. + */ + final int getNumberOfModifierLists() { result = count(int i | exists(this.getModifierList(i))) } + + /** + * Gets the `index`th parameter of this method or delegate (0-based). + */ + ParameterDeclaration getParameter(int index) { + result = + Synth::convertParameterDeclarationFromRaw(Synth::convertMethodOrDelegateToRaw(this) + .(Raw::MethodOrDelegate) + .getParameter(index)) + } + + /** + * Gets any of the parameters of this method or delegate. + */ + final ParameterDeclaration getAParameter() { result = this.getParameter(_) } + + /** + * Gets the number of parameters of this method or delegate. + */ + final int getNumberOfParameters() { result = count(int i | exists(this.getParameter(i))) } + + /** + * Gets the path contribution of this method or delegate, if it exists. + */ + string getPathContribution() { + result = + Synth::convertMethodOrDelegateToRaw(this).(Raw::MethodOrDelegate).getPathContribution() + } + + /** + * Holds if `getPathContribution()` exists. + */ + final predicate hasPathContribution() { exists(this.getPathContribution()) } + + /** + * Gets the type of this method or delegate, if it exists. + */ + XppType getType() { + result = + Synth::convertXppTypeFromRaw(Synth::convertMethodOrDelegateToRaw(this) + .(Raw::MethodOrDelegate) + .getType()) + } + + /** + * Holds if `getType()` exists. + */ + final predicate hasType() { exists(this.getType()) } + + /** + * Gets the `index`th type parameter of this method or delegate (0-based). + */ + string getTypeParameter(int index) { + result = + Synth::convertMethodOrDelegateToRaw(this).(Raw::MethodOrDelegate).getTypeParameter(index) + } + + /** + * Gets any of the type parameters of this method or delegate. + */ + final string getATypeParameter() { result = this.getTypeParameter(_) } + + /** + * Gets the number of type parameters of this method or delegate. + */ + final int getNumberOfTypeParameters() { + result = count(int i | exists(this.getTypeParameter(i))) + } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/MinAggregateSelection.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/MinAggregateSelection.qll new file mode 100644 index 000000000000..c29476b49abc --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/MinAggregateSelection.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `MinAggregateSelection`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AggregateSelectionImpl::Impl as AggregateSelectionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `MinAggregateSelection` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::MinAggregateSelection` class directly. + * Use the subclass `MinAggregateSelection`, where the following predicates are available. + */ + class MinAggregateSelection extends Synth::TMinAggregateSelection, + AggregateSelectionImpl::AggregateSelection + { + override string getAPrimaryQlClass() { result = "MinAggregateSelection" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ModExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ModExpression.qll new file mode 100644 index 000000000000..91730ef61fbb --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ModExpression.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ModExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.BinaryExpressionImpl::Impl as BinaryExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ModExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ModExpression` class directly. + * Use the subclass `ModExpression`, where the following predicates are available. + */ + class ModExpression extends Synth::TModExpression, BinaryExpressionImpl::BinaryExpression { + override string getAPrimaryQlClass() { result = "ModExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ModelElement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ModelElement.qll new file mode 100644 index 000000000000..dd66282b204b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ModelElement.qll @@ -0,0 +1,281 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ModelElement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.ClassAccessModifier +import codeql.xpp.elements.ClassOrInterface +import codeql.xpp.elements.internal.CompilationUnitImpl::Impl as CompilationUnitImpl +import codeql.xpp.elements.MethodOrDelegate +import codeql.xpp.elements.ModelElementUsingEntry +import codeql.xpp.elements.XppType + +/** + * INTERNAL: This module contains the fully generated definition of `ModelElement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ModelElement` class directly. + * Use the subclass `ModelElement`, where the following predicates are available. + */ + class ModelElement extends Synth::TModelElement, CompilationUnitImpl::CompilationUnit { + /** + * Gets the `index`th base method of this model element (0-based). + */ + MethodOrDelegate getBaseMethod(int index) { + result = + Synth::convertMethodOrDelegateFromRaw(Synth::convertModelElementToRaw(this) + .(Raw::ModelElement) + .getBaseMethod(index)) + } + + /** + * Gets any of the base methods of this model element. + */ + final MethodOrDelegate getABaseMethod() { result = this.getBaseMethod(_) } + + /** + * Gets the number of base methods of this model element. + */ + final int getNumberOfBaseMethods() { result = count(int i | exists(this.getBaseMethod(i))) } + + /** + * Gets the `index`th extend generic parameter of this model element (0-based). + */ + XppType getExtendGenericParameter(int index) { + result = + Synth::convertXppTypeFromRaw(Synth::convertModelElementToRaw(this) + .(Raw::ModelElement) + .getExtendGenericParameter(index)) + } + + /** + * Gets any of the extend generic parameters of this model element. + */ + final XppType getAnExtendGenericParameter() { result = this.getExtendGenericParameter(_) } + + /** + * Gets the number of extend generic parameters of this model element. + */ + final int getNumberOfExtendGenericParameters() { + result = count(int i | exists(this.getExtendGenericParameter(i))) + } + + /** + * Gets the full name of this model element, if it exists. + */ + string getFullName() { + result = Synth::convertModelElementToRaw(this).(Raw::ModelElement).getFullName() + } + + /** + * Holds if `getFullName()` exists. + */ + final predicate hasFullName() { exists(this.getFullName()) } + + /** + * Gets the full name no default namespace of this model element, if it exists. + */ + string getFullNameNoDefaultNamespace() { + result = + Synth::convertModelElementToRaw(this).(Raw::ModelElement).getFullNameNoDefaultNamespace() + } + + /** + * Holds if `getFullNameNoDefaultNamespace()` exists. + */ + final predicate hasFullNameNoDefaultNamespace() { exists(this.getFullNameNoDefaultNamespace()) } + + /** + * Holds if this model element is internal. + */ + predicate isInternal() { + Synth::convertModelElementToRaw(this).(Raw::ModelElement).isInternal() + } + + /** + * Holds if this model element is kernel. + */ + predicate isKernel() { Synth::convertModelElementToRaw(this).(Raw::ModelElement).isKernel() } + + /** + * Holds if this model element is obsolete. + */ + predicate isObsolete() { + Synth::convertModelElementToRaw(this).(Raw::ModelElement).isObsolete() + } + + /** + * Holds if this model element is private. + */ + predicate isPrivate() { Synth::convertModelElementToRaw(this).(Raw::ModelElement).isPrivate() } + + /** + * Holds if this model element is public. + */ + predicate isPublic() { Synth::convertModelElementToRaw(this).(Raw::ModelElement).isPublic() } + + /** + * Gets the `index`th method of this model element (0-based). + */ + MethodOrDelegate getMethod(int index) { + result = + Synth::convertMethodOrDelegateFromRaw(Synth::convertModelElementToRaw(this) + .(Raw::ModelElement) + .getMethod(index)) + } + + /** + * Gets any of the methods of this model element. + */ + final MethodOrDelegate getAMethod() { result = this.getMethod(_) } + + /** + * Gets the number of methods of this model element. + */ + final int getNumberOfMethods() { result = count(int i | exists(this.getMethod(i))) } + + /** + * Gets the model of this model element, if it exists. + */ + int getModelId() { + result = Synth::convertModelElementToRaw(this).(Raw::ModelElement).getModelId() + } + + /** + * Holds if `getModelId()` exists. + */ + final predicate hasModelId() { exists(this.getModelId()) } + + /** + * Gets the `index`th modifier list of this model element (0-based). + */ + ClassAccessModifier getModifierList(int index) { + result = + Synth::convertClassAccessModifierFromRaw(Synth::convertModelElementToRaw(this) + .(Raw::ModelElement) + .getModifierList(index)) + } + + /** + * Gets any of the modifier lists of this model element. + */ + final ClassAccessModifier getAModifierList() { result = this.getModifierList(_) } + + /** + * Gets the number of modifier lists of this model element. + */ + final int getNumberOfModifierLists() { result = count(int i | exists(this.getModifierList(i))) } + + /** + * Gets the modifiers of this model element, if it exists. + */ + string getModifiers() { + result = Synth::convertModelElementToRaw(this).(Raw::ModelElement).getModifiers() + } + + /** + * Holds if `getModifiers()` exists. + */ + final predicate hasModifiers() { exists(this.getModifiers()) } + + /** + * Gets the namespace of this model element, if it exists. + */ + string getNamespace() { + result = Synth::convertModelElementToRaw(this).(Raw::ModelElement).getNamespace() + } + + /** + * Holds if `getNamespace()` exists. + */ + final predicate hasNamespace() { exists(this.getNamespace()) } + + /** + * Gets the `index`th nested class of this model element (0-based). + */ + ClassOrInterface getNestedClass(int index) { + result = + Synth::convertClassOrInterfaceFromRaw(Synth::convertModelElementToRaw(this) + .(Raw::ModelElement) + .getNestedClass(index)) + } + + /** + * Gets any of the nested classes of this model element. + */ + final ClassOrInterface getANestedClass() { result = this.getNestedClass(_) } + + /** + * Gets the number of nested classes of this model element. + */ + final int getNumberOfNestedClasses() { result = count(int i | exists(this.getNestedClass(i))) } + + /** + * Gets the path contribution of this model element, if it exists. + */ + string getPathContribution() { + result = Synth::convertModelElementToRaw(this).(Raw::ModelElement).getPathContribution() + } + + /** + * Holds if `getPathContribution()` exists. + */ + final predicate hasPathContribution() { exists(this.getPathContribution()) } + + /** + * Gets the `index`th type parameter of this model element (0-based). + */ + string getTypeParameter(int index) { + result = Synth::convertModelElementToRaw(this).(Raw::ModelElement).getTypeParameter(index) + } + + /** + * Gets any of the type parameters of this model element. + */ + final string getATypeParameter() { result = this.getTypeParameter(_) } + + /** + * Gets the number of type parameters of this model element. + */ + final int getNumberOfTypeParameters() { + result = count(int i | exists(this.getTypeParameter(i))) + } + + /** + * Gets the `index`th using of this model element (0-based). + */ + ModelElementUsingEntry getUsing(int index) { + result = + Synth::convertModelElementUsingEntryFromRaw(Synth::convertModelElementToRaw(this) + .(Raw::ModelElement) + .getUsing(index)) + } + + /** + * Gets any of the usings of this model element. + */ + final ModelElementUsingEntry getAUsing() { result = this.getUsing(_) } + + /** + * Gets the number of usings of this model element. + */ + final int getNumberOfUsings() { result = count(int i | exists(this.getUsing(i))) } + + /** + * Gets the visibility of this model element, if it exists. + */ + string getVisibility() { + result = Synth::convertModelElementToRaw(this).(Raw::ModelElement).getVisibility() + } + + /** + * Holds if `getVisibility()` exists. + */ + final predicate hasVisibility() { exists(this.getVisibility()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ModelElementUsingEntry.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ModelElementUsingEntry.qll new file mode 100644 index 000000000000..bdcd7453b64b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ModelElementUsingEntry.qll @@ -0,0 +1,49 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ModelElementUsingEntry`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.XppTupleImpl::Impl as XppTupleImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ModelElementUsingEntry` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ModelElementUsingEntry` class directly. + * Use the subclass `ModelElementUsingEntry`, where the following predicates are available. + */ + class ModelElementUsingEntry extends Synth::TModelElementUsingEntry, XppTupleImpl::XppTuple { + override string getAPrimaryQlClass() { result = "ModelElementUsingEntry" } + + /** + * Gets the item2 of this model element using entry, if it exists. + */ + string getItem2() { + result = + Synth::convertModelElementUsingEntryToRaw(this).(Raw::ModelElementUsingEntry).getItem2() + } + + /** + * Holds if `getItem2()` exists. + */ + final predicate hasItem2() { exists(this.getItem2()) } + + /** + * Gets the item3 of this model element using entry, if it exists. + */ + string getItem3() { + result = + Synth::convertModelElementUsingEntryToRaw(this).(Raw::ModelElementUsingEntry).getItem3() + } + + /** + * Holds if `getItem3()` exists. + */ + final predicate hasItem3() { exists(this.getItem3()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Modifier.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Modifier.qll new file mode 100644 index 000000000000..aa20b4898f6d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Modifier.qll @@ -0,0 +1,35 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Modifier`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl + +/** + * INTERNAL: This module contains the fully generated definition of `Modifier` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Modifier` class directly. + * Use the subclass `Modifier`, where the following predicates are available. + */ + class Modifier extends Synth::TModifier, AstImpl::Ast { + override string getAPrimaryQlClass() { result = "Modifier" } + + /** + * Gets the modifiers of this modifier, if it exists. + */ + string getModifiers() { + result = Synth::convertModifierToRaw(this).(Raw::Modifier).getModifiers() + } + + /** + * Holds if `getModifiers()` exists. + */ + final predicate hasModifiers() { exists(this.getModifiers()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/MoveCursorStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/MoveCursorStatement.qll new file mode 100644 index 000000000000..21c4c7809492 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/MoveCursorStatement.qll @@ -0,0 +1,51 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `MoveCursorStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Selection +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `MoveCursorStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::MoveCursorStatement` class directly. + * Use the subclass `MoveCursorStatement`, where the following predicates are available. + */ + class MoveCursorStatement extends Synth::TMoveCursorStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "MoveCursorStatement" } + + /** + * Gets the selection of this move cursor statement, if it exists. + */ + Selection getSelection() { + result = + Synth::convertSelectionFromRaw(Synth::convertMoveCursorStatementToRaw(this) + .(Raw::MoveCursorStatement) + .getSelection()) + } + + /** + * Holds if `getSelection()` exists. + */ + final predicate hasSelection() { exists(this.getSelection()) } + + /** + * Gets the table of this move cursor statement, if it exists. + */ + string getTable() { + result = Synth::convertMoveCursorStatementToRaw(this).(Raw::MoveCursorStatement).getTable() + } + + /** + * Holds if `getTable()` exists. + */ + final predicate hasTable() { exists(this.getTable()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/MultiplyExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/MultiplyExpression.qll new file mode 100644 index 000000000000..1b7358d73f5b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/MultiplyExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `MultiplyExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.BinaryExpressionImpl::Impl as BinaryExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `MultiplyExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::MultiplyExpression` class directly. + * Use the subclass `MultiplyExpression`, where the following predicates are available. + */ + class MultiplyExpression extends Synth::TMultiplyExpression, + BinaryExpressionImpl::BinaryExpression + { + override string getAPrimaryQlClass() { result = "MultiplyExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/NamedFieldReference.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NamedFieldReference.qll new file mode 100644 index 000000000000..0fc541553f8c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NamedFieldReference.qll @@ -0,0 +1,51 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `NamedFieldReference`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.TableFieldReferenceImpl::Impl as TableFieldReferenceImpl + +/** + * INTERNAL: This module contains the fully generated definition of `NamedFieldReference` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::NamedFieldReference` class directly. + * Use the subclass `NamedFieldReference`, where the following predicates are available. + */ + class NamedFieldReference extends Synth::TNamedFieldReference, + TableFieldReferenceImpl::TableFieldReference + { + override string getAPrimaryQlClass() { result = "NamedFieldReference" } + + /** + * Gets the extension name of this named field reference, if it exists. + */ + string getExtensionName() { + result = + Synth::convertNamedFieldReferenceToRaw(this).(Raw::NamedFieldReference).getExtensionName() + } + + /** + * Holds if `getExtensionName()` exists. + */ + final predicate hasExtensionName() { exists(this.getExtensionName()) } + + /** + * Gets the field name of this named field reference, if it exists. + */ + string getFieldName() { + result = + Synth::convertNamedFieldReferenceToRaw(this).(Raw::NamedFieldReference).getFieldName() + } + + /** + * Holds if `getFieldName()` exists. + */ + final predicate hasFieldName() { exists(this.getFieldName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/NamedType.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NamedType.qll new file mode 100644 index 000000000000..b38914df6f0c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NamedType.qll @@ -0,0 +1,31 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `NamedType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.GenericXppTypeImpl::Impl as GenericXppTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `NamedType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::NamedType` class directly. + * Use the subclass `NamedType`, where the following predicates are available. + */ + class NamedType extends Synth::TNamedType, GenericXppTypeImpl::GenericXppType { + /** + * Gets the name of this named type, if it exists. + */ + string getName() { result = Synth::convertNamedTypeToRaw(this).(Raw::NamedType).getName() } + + /** + * Holds if `getName()` exists. + */ + final predicate hasName() { exists(this.getName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/NewCall.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NewCall.qll new file mode 100644 index 000000000000..c3f5c4af3158 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NewCall.qll @@ -0,0 +1,37 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `NewCall`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.EvaluationImpl::Impl as EvaluationImpl +import codeql.xpp.elements.XppType + +/** + * INTERNAL: This module contains the fully generated definition of `NewCall` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::NewCall` class directly. + * Use the subclass `NewCall`, where the following predicates are available. + */ + class NewCall extends Synth::TNewCall, EvaluationImpl::Evaluation { + override string getAPrimaryQlClass() { result = "NewCall" } + + /** + * Gets the type of this new call, if it exists. + */ + XppType getType() { + result = + Synth::convertXppTypeFromRaw(Synth::convertNewCallToRaw(this).(Raw::NewCall).getType()) + } + + /** + * Holds if `getType()` exists. + */ + final predicate hasType() { exists(this.getType()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/NewClrArrayExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NewClrArrayExpression.qll new file mode 100644 index 000000000000..b22ccdce83ba --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NewClrArrayExpression.qll @@ -0,0 +1,102 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `NewClrArrayExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.internal.ExpressionImpl::Impl as ExpressionImpl +import codeql.xpp.elements.XppType + +/** + * INTERNAL: This module contains the fully generated definition of `NewClrArrayExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::NewClrArrayExpression` class directly. + * Use the subclass `NewClrArrayExpression`, where the following predicates are available. + */ + class NewClrArrayExpression extends Synth::TNewClrArrayExpression, ExpressionImpl::Expression { + override string getAPrimaryQlClass() { result = "NewClrArrayExpression" } + + /** + * Gets the full name of this new clr array expression, if it exists. + */ + string getFullName() { + result = + Synth::convertNewClrArrayExpressionToRaw(this).(Raw::NewClrArrayExpression).getFullName() + } + + /** + * Holds if `getFullName()` exists. + */ + final predicate hasFullName() { exists(this.getFullName()) } + + /** + * Gets the `index`th rectangular dimension of this new clr array expression (0-based). + */ + int getRectangularDimension(int index) { + result = + Synth::convertNewClrArrayExpressionToRaw(this) + .(Raw::NewClrArrayExpression) + .getRectangularDimension(index) + } + + /** + * Gets any of the rectangular dimensions of this new clr array expression. + */ + final int getARectangularDimension() { result = this.getRectangularDimension(_) } + + /** + * Gets the number of rectangular dimensions of this new clr array expression. + */ + final int getNumberOfRectangularDimensions() { + result = count(int i | exists(this.getRectangularDimension(i))) + } + + /** + * Gets the `index`th size of this new clr array expression (0-based). + */ + Expression getSize(int index) { + result = + Synth::convertExpressionFromRaw(Synth::convertNewClrArrayExpressionToRaw(this) + .(Raw::NewClrArrayExpression) + .getSize(index)) + } + + /** + * Gets any of the sizes of this new clr array expression. + */ + final Expression getASize() { result = this.getSize(_) } + + /** + * Gets the number of sizes of this new clr array expression. + */ + final int getNumberOfSizes() { result = count(int i | exists(this.getSize(i))) } + + /** + * Gets the `index`th type argument list of this new clr array expression (0-based). + */ + XppType getTypeArgumentList(int index) { + result = + Synth::convertXppTypeFromRaw(Synth::convertNewClrArrayExpressionToRaw(this) + .(Raw::NewClrArrayExpression) + .getTypeArgumentList(index)) + } + + /** + * Gets any of the type argument lists of this new clr array expression. + */ + final XppType getATypeArgumentList() { result = this.getTypeArgumentList(_) } + + /** + * Gets the number of type argument lists of this new clr array expression. + */ + final int getNumberOfTypeArgumentLists() { + result = count(int i | exists(this.getTypeArgumentList(i))) + } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/NewClrCall.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NewClrCall.qll new file mode 100644 index 000000000000..382b6373a97f --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NewClrCall.qll @@ -0,0 +1,35 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `NewClrCall`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.GenericEvaluationImpl::Impl as GenericEvaluationImpl + +/** + * INTERNAL: This module contains the fully generated definition of `NewClrCall` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::NewClrCall` class directly. + * Use the subclass `NewClrCall`, where the following predicates are available. + */ + class NewClrCall extends Synth::TNewClrCall, GenericEvaluationImpl::GenericEvaluation { + override string getAPrimaryQlClass() { result = "NewClrCall" } + + /** + * Gets the clr class name of this new clr call, if it exists. + */ + string getClrClassName() { + result = Synth::convertNewClrCallToRaw(this).(Raw::NewClrCall).getClrClassName() + } + + /** + * Holds if `getClrClassName()` exists. + */ + final predicate hasClrClassName() { exists(this.getClrClassName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/NextExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NextExpression.qll new file mode 100644 index 000000000000..c7530328e25c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NextExpression.qll @@ -0,0 +1,35 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `NextExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.EvaluationImpl::Impl as EvaluationImpl + +/** + * INTERNAL: This module contains the fully generated definition of `NextExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::NextExpression` class directly. + * Use the subclass `NextExpression`, where the following predicates are available. + */ + class NextExpression extends Synth::TNextExpression, EvaluationImpl::Evaluation { + override string getAPrimaryQlClass() { result = "NextExpression" } + + /** + * Gets the name of this next expression, if it exists. + */ + string getName() { + result = Synth::convertNextExpressionToRaw(this).(Raw::NextExpression).getName() + } + + /** + * Holds if `getName()` exists. + */ + final predicate hasName() { exists(this.getName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/NotEqualExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NotEqualExpression.qll new file mode 100644 index 000000000000..f4df461d7959 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NotEqualExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `NotEqualExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.RelationalExpressionImpl::Impl as RelationalExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `NotEqualExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::NotEqualExpression` class directly. + * Use the subclass `NotEqualExpression`, where the following predicates are available. + */ + class NotEqualExpression extends Synth::TNotEqualExpression, + RelationalExpressionImpl::RelationalExpression + { + override string getAPrimaryQlClass() { result = "NotEqualExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/NotExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NotExpression.qll new file mode 100644 index 000000000000..2a3b73eca40d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NotExpression.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `NotExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.UnaryExpressionImpl::Impl as UnaryExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `NotExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::NotExpression` class directly. + * Use the subclass `NotExpression`, where the following predicates are available. + */ + class NotExpression extends Synth::TNotExpression, UnaryExpressionImpl::UnaryExpression { + override string getAPrimaryQlClass() { result = "NotExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/NullLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NullLiteralExpression.qll new file mode 100644 index 000000000000..00d84e71096c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NullLiteralExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `NullLiteralExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.LiteralExpressionImpl::Impl as LiteralExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `NullLiteralExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::NullLiteralExpression` class directly. + * Use the subclass `NullLiteralExpression`, where the following predicates are available. + */ + class NullLiteralExpression extends Synth::TNullLiteralExpression, + LiteralExpressionImpl::LiteralExpression + { + override string getAPrimaryQlClass() { result = "NullLiteralExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/NumberedFieldReference.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NumberedFieldReference.qll new file mode 100644 index 000000000000..d36de18735fc --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NumberedFieldReference.qll @@ -0,0 +1,41 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `NumberedFieldReference`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.internal.TableFieldReferenceImpl::Impl as TableFieldReferenceImpl + +/** + * INTERNAL: This module contains the fully generated definition of `NumberedFieldReference` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::NumberedFieldReference` class directly. + * Use the subclass `NumberedFieldReference`, where the following predicates are available. + */ + class NumberedFieldReference extends Synth::TNumberedFieldReference, + TableFieldReferenceImpl::TableFieldReference + { + override string getAPrimaryQlClass() { result = "NumberedFieldReference" } + + /** + * Gets the field number of this numbered field reference, if it exists. + */ + Expression getFieldNumber() { + result = + Synth::convertExpressionFromRaw(Synth::convertNumberedFieldReferenceToRaw(this) + .(Raw::NumberedFieldReference) + .getFieldNumber()) + } + + /** + * Holds if `getFieldNumber()` exists. + */ + final predicate hasFieldNumber() { exists(this.getFieldNumber()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/OrExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/OrExpression.qll new file mode 100644 index 000000000000..cf38f1b83883 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/OrExpression.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `OrExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.BinaryExpressionImpl::Impl as BinaryExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `OrExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::OrExpression` class directly. + * Use the subclass `OrExpression`, where the following predicates are available. + */ + class OrExpression extends Synth::TOrExpression, BinaryExpressionImpl::BinaryExpression { + override string getAPrimaryQlClass() { result = "OrExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/OrderElement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/OrderElement.qll new file mode 100644 index 000000000000..080db62c2908 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/OrderElement.qll @@ -0,0 +1,55 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `OrderElement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl + +/** + * INTERNAL: This module contains the fully generated definition of `OrderElement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::OrderElement` class directly. + * Use the subclass `OrderElement`, where the following predicates are available. + */ + class OrderElement extends Synth::TOrderElement, AstImpl::Ast { + /** + * Gets the direction of this order element, if it exists. + */ + string getDirection() { + result = Synth::convertOrderElementToRaw(this).(Raw::OrderElement).getDirection() + } + + /** + * Holds if `getDirection()` exists. + */ + final predicate hasDirection() { exists(this.getDirection()) } + + /** + * Gets the field of this order element, if it exists. + */ + string getField() { + result = Synth::convertOrderElementToRaw(this).(Raw::OrderElement).getField() + } + + /** + * Holds if `getField()` exists. + */ + final predicate hasField() { exists(this.getField()) } + + /** + * Gets the index of this order element, if it exists. + */ + int getIndex() { result = Synth::convertOrderElementToRaw(this).(Raw::OrderElement).getIndex() } + + /** + * Holds if `getIndex()` exists. + */ + final predicate hasIndex() { exists(this.getIndex()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ParameterDeclaration.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ParameterDeclaration.qll new file mode 100644 index 000000000000..8568d45b5a16 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ParameterDeclaration.qll @@ -0,0 +1,39 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ParameterDeclaration`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.VariableDeclarationImpl::Impl as VariableDeclarationImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ParameterDeclaration` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ParameterDeclaration` class directly. + * Use the subclass `ParameterDeclaration`, where the following predicates are available. + */ + class ParameterDeclaration extends Synth::TParameterDeclaration, + VariableDeclarationImpl::VariableDeclaration + { + override string getAPrimaryQlClass() { result = "ParameterDeclaration" } + + /** + * Holds if this parameter declaration is by reference. + */ + predicate isByRef() { + Synth::convertParameterDeclarationToRaw(this).(Raw::ParameterDeclaration).isByRef() + } + + /** + * Holds if this parameter declaration is optional. + */ + predicate isOptional() { + Synth::convertParameterDeclarationToRaw(this).(Raw::ParameterDeclaration).isOptional() + } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ParentChild.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ParentChild.qll new file mode 100644 index 000000000000..dc976fb44c3a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ParentChild.qll @@ -0,0 +1,3813 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated parent/child relationship. + */ + +import codeql.xpp.elements + +private module Impl { + private Element getImmediateChildOfFile(File e, int index, string partialPredicateCall) { none() } + + private Element getImmediateChildOfLocation(Location e, int index, string partialPredicateCall) { + none() + } + + private Element getImmediateChildOfComment(Comment e, int index, string partialPredicateCall) { + none() + } + + private Element getImmediateChildOfArraySpecification( + ArraySpecification e, int index, string partialPredicateCall + ) { + exists(int n, int nIndex1, int nIndex2 | + n = 0 and + nIndex1 = n + 1 and + nIndex2 = nIndex1 + 1 and + ( + none() + or + index = n and result = e.getIndex1() and partialPredicateCall = "Index1()" + or + index = nIndex1 and result = e.getIndex2() and partialPredicateCall = "Index2()" + ) + ) + } + + private Element getImmediateChildOfAttribute(Attribute e, int index, string partialPredicateCall) { + exists(int n, int nNamedParameter, int nParameter | + n = 0 and + nNamedParameter = n + e.getNumberOfNamedParameters() and + nParameter = nNamedParameter + e.getNumberOfParameters() and + ( + none() + or + result = e.getNamedParameter(index - n) and + partialPredicateCall = "NamedParameter(" + (index - n).toString() + ")" + or + result = e.getParameter(index - nNamedParameter) and + partialPredicateCall = "Parameter(" + (index - nNamedParameter).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfAttributeExpression( + AttributeExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nLiteral | + n = 0 and + nLiteral = n + 1 and + ( + none() + or + index = n and result = e.getLiteral() and partialPredicateCall = "Literal()" + ) + ) + } + + private Element getImmediateChildOfAttributeList( + AttributeList e, int index, string partialPredicateCall + ) { + exists(int n, int nAttribute | + n = 0 and + nAttribute = n + e.getNumberOfAttributes() and + ( + none() + or + result = e.getAttribute(index - n) and + partialPredicateCall = "Attribute(" + (index - n).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfAttributeNamedParameterEntry( + AttributeNamedParameterEntry e, int index, string partialPredicateCall + ) { + exists(int n, int nAttributeExpression | + n = 0 and + nAttributeExpression = n + 1 and + ( + none() + or + index = n and + result = e.getAttributeExpression() and + partialPredicateCall = "AttributeExpression()" + ) + ) + } + + private Element getImmediateChildOfClassAccessModifier( + ClassAccessModifier e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfCompilationUnitRegionEntry( + CompilationUnitRegionEntry e, int index, string partialPredicateCall + ) { + exists(int n, int nComment, int nComment2 | + n = 0 and + nComment = n + 1 and + nComment2 = nComment + 1 and + ( + none() + or + index = n and result = e.getComment() and partialPredicateCall = "Comment()" + or + index = nComment and result = e.getComment2() and partialPredicateCall = "Comment2()" + ) + ) + } + + private Element getImmediateChildOfEvaluationActualParameterEntry( + EvaluationActualParameterEntry e, int index, string partialPredicateCall + ) { + exists(int n, int nExpression | + n = 0 and + nExpression = n + 1 and + ( + none() + or + index = n and result = e.getExpression() and partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfFieldAssignment( + FieldAssignment e, int index, string partialPredicateCall + ) { + exists(int n, int nExpression | + n = 0 and + nExpression = n + 1 and + ( + none() + or + index = n and result = e.getExpression() and partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfInsertFieldSpecification( + InsertFieldSpecification e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfJoinSpecification( + JoinSpecification e, int index, string partialPredicateCall + ) { + exists(int n, int nQuery | + n = 0 and + nQuery = n + 1 and + ( + none() + or + index = n and result = e.getQuery() and partialPredicateCall = "Query()" + ) + ) + } + + private Element getImmediateChildOfModelElementUsingEntry( + ModelElementUsingEntry e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfModifier(Modifier e, int index, string partialPredicateCall) { + none() + } + + private Element getImmediateChildOfQuery(Query e, int index, string partialPredicateCall) { + exists( + int n, int nCrossCompany, int nGroupByElement, int nJoins, int nOrderByElement, + int nSelection, int nValidTimeState, int nWhere + | + n = 0 and + nCrossCompany = n + 1 and + nGroupByElement = nCrossCompany + e.getNumberOfGroupByElements() and + nJoins = nGroupByElement + 1 and + nOrderByElement = nJoins + e.getNumberOfOrderByElements() and + nSelection = nOrderByElement + 1 and + nValidTimeState = nSelection + 1 and + nWhere = nValidTimeState + 1 and + ( + none() + or + index = n and result = e.getCrossCompany() and partialPredicateCall = "CrossCompany()" + or + result = e.getGroupByElement(index - nCrossCompany) and + partialPredicateCall = "GroupByElement(" + (index - nCrossCompany).toString() + ")" + or + index = nGroupByElement and result = e.getJoins() and partialPredicateCall = "Joins()" + or + result = e.getOrderByElement(index - nJoins) and + partialPredicateCall = "OrderByElement(" + (index - nJoins).toString() + ")" + or + index = nOrderByElement and + result = e.getSelection() and + partialPredicateCall = "Selection()" + or + index = nSelection and + result = e.getValidTimeState() and + partialPredicateCall = "ValidTimeState()" + or + index = nValidTimeState and result = e.getWhere() and partialPredicateCall = "Where()" + ) + ) + } + + private Element getImmediateChildOfQueryDataSource( + QueryDataSource e, int index, string partialPredicateCall + ) { + exists( + int n, int nDataSource, int nGroupBy, int nHaving, int nOrderBy, int nParentDataSource, + int nRange, int nRelation + | + n = 0 and + nDataSource = n + e.getNumberOfDataSources() and + nGroupBy = nDataSource + e.getNumberOfGroupBies() and + nHaving = nGroupBy + e.getNumberOfHavings() and + nOrderBy = nHaving + e.getNumberOfOrderBies() and + nParentDataSource = nOrderBy + 1 and + nRange = nParentDataSource + e.getNumberOfRanges() and + nRelation = nRange + e.getNumberOfRelations() and + ( + none() + or + result = e.getDataSource(index - n) and + partialPredicateCall = "DataSource(" + (index - n).toString() + ")" + or + result = e.getGroupBy(index - nDataSource) and + partialPredicateCall = "GroupBy(" + (index - nDataSource).toString() + ")" + or + result = e.getHaving(index - nGroupBy) and + partialPredicateCall = "Having(" + (index - nGroupBy).toString() + ")" + or + result = e.getOrderBy(index - nHaving) and + partialPredicateCall = "OrderBy(" + (index - nHaving).toString() + ")" + or + index = nOrderBy and + result = e.getParentDataSource() and + partialPredicateCall = "ParentDataSource()" + or + result = e.getRange(index - nParentDataSource) and + partialPredicateCall = "Range(" + (index - nParentDataSource).toString() + ")" + or + result = e.getRelation(index - nRange) and + partialPredicateCall = "Relation(" + (index - nRange).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfQueryDataSourceHaving( + QueryDataSourceHaving e, int index, string partialPredicateCall + ) { + exists(int n, int nSelection | + n = 0 and + nSelection = n + 1 and + ( + none() + or + index = n and result = e.getSelection() and partialPredicateCall = "Selection()" + ) + ) + } + + private Element getImmediateChildOfQueryDataSourceRange( + QueryDataSourceRange e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfQueryDataSourceRelation( + QueryDataSourceRelation e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfSwitchCase(SwitchCase e, int index, string partialPredicateCall) { + none() + } + + private Element getImmediateChildOfSwitchStatementCaseEntry( + SwitchStatementCaseEntry e, int index, string partialPredicateCall + ) { + exists(int n, int nCase, int nStatement | + n = 0 and + nCase = n + 1 and + nStatement = nCase + e.getNumberOfStatements() and + ( + none() + or + index = n and result = e.getCase() and partialPredicateCall = "Case()" + or + result = e.getStatement(index - nCase) and + partialPredicateCall = "Statement(" + (index - nCase).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfTryStatementCatchEntry( + TryStatementCatchEntry e, int index, string partialPredicateCall + ) { + exists(int n, int nCatch, int nStatement | + n = 0 and + nCatch = n + 1 and + nStatement = nCatch + 1 and + ( + none() + or + index = n and result = e.getCatch() and partialPredicateCall = "Catch()" + or + index = nCatch and result = e.getStatement() and partialPredicateCall = "Statement()" + ) + ) + } + + private Element getImmediateChildOfUnspecifiedElement( + UnspecifiedElement e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfAllFieldsSelection( + AllFieldsSelection e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfAnyType(AnyType e, int index, string partialPredicateCall) { + none() + } + + private Element getImmediateChildOfBooleanType( + BooleanType e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfBreakStatement( + BreakStatement e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfBreakpointStatement( + BreakpointStatement e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfCaseDefault( + CaseDefault e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfCaseValues(CaseValues e, int index, string partialPredicateCall) { + exists(int n, int nValue | + n = 0 and + nValue = n + e.getNumberOfValues() and + ( + none() + or + result = e.getValue(index - n) and + partialPredicateCall = "Value(" + (index - n).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfCatchAllValues( + CatchAllValues e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfCatchExpression( + CatchExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nExpression | + n = 0 and + nExpression = n + 1 and + ( + none() + or + index = n and result = e.getExpression() and partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfCatchUpdateConflict( + CatchUpdateConflict e, int index, string partialPredicateCall + ) { + exists(int n, int nExpression, int nInstance | + n = 0 and + nExpression = n + 1 and + nInstance = nExpression + 1 and + ( + none() + or + index = n and result = e.getExpression() and partialPredicateCall = "Expression()" + or + index = nExpression and result = e.getInstance() and partialPredicateCall = "Instance()" + ) + ) + } + + private Element getImmediateChildOfCompoundStatement( + CompoundStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nContent | + n = 0 and + nContent = n + e.getNumberOfContents() and + ( + none() + or + result = e.getContent(index - n) and + partialPredicateCall = "Content(" + (index - n).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfConditionalExpression( + ConditionalExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nCondition, int nElsePart, int nIfPart | + n = 0 and + nTransformation = n + 1 and + nCondition = nTransformation + 1 and + nElsePart = nCondition + 1 and + nIfPart = nElsePart + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and + result = e.getCondition() and + partialPredicateCall = "Condition()" + or + index = nCondition and result = e.getElsePart() and partialPredicateCall = "ElsePart()" + or + index = nElsePart and result = e.getIfPart() and partialPredicateCall = "IfPart()" + ) + ) + } + + private Element getImmediateChildOfContainerAttributeLiteral( + ContainerAttributeLiteral e, int index, string partialPredicateCall + ) { + exists(int n, int nValue | + n = 0 and + nValue = n + e.getNumberOfValues() and + ( + none() + or + result = e.getValue(index - n) and + partialPredicateCall = "Value(" + (index - n).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfContainerType( + ContainerType e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfContinueStatement( + ContinueStatement e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfCrossCompanyAll( + CrossCompanyAll e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfCrossCompanyContainer( + CrossCompanyContainer e, int index, string partialPredicateCall + ) { + exists(int n, int nContainer | + n = 0 and + nContainer = n + 1 and + ( + none() + or + index = n and result = e.getContainer() and partialPredicateCall = "Container()" + ) + ) + } + + private Element getImmediateChildOfDateTimeType( + DateTimeType e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfDateType(DateType e, int index, string partialPredicateCall) { + none() + } + + private Element getImmediateChildOfDblType(DblType e, int index, string partialPredicateCall) { + none() + } + + private Element getImmediateChildOfDeleteStatement( + DeleteStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nQuery | + n = 0 and + nQuery = n + 1 and + ( + none() + or + index = n and result = e.getQuery() and partialPredicateCall = "Query()" + ) + ) + } + + private Element getImmediateChildOfDoWhileStatement( + DoWhileStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nCondition, int nStatement | + n = 0 and + nCondition = n + 1 and + nStatement = nCondition + 1 and + ( + none() + or + index = n and result = e.getCondition() and partialPredicateCall = "Condition()" + or + index = nCondition and result = e.getStatement() and partialPredicateCall = "Statement()" + ) + ) + } + + private Element getImmediateChildOfEmptyExpression( + EmptyExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + ) + ) + } + + private Element getImmediateChildOfEmptyStatement( + EmptyStatement e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfEnumAttributeLiteral( + EnumAttributeLiteral e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfEnumerationType( + EnumerationType e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfExplicitSelection( + ExplicitSelection e, int index, string partialPredicateCall + ) { + exists(int n, int nField | + n = 0 and + nField = n + e.getNumberOfFields() and + ( + none() + or + result = e.getField(index - n) and + partialPredicateCall = "Field(" + (index - n).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfExpressionCompilationUnit( + ExpressionCompilationUnit e, int index, string partialPredicateCall + ) { + exists(int n, int nComments, int nRegion, int nExpression | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nExpression = nRegion + 1 and + ( + none() + or + index = n and result = e.getComments() and partialPredicateCall = "Comments()" + or + result = e.getRegion(index - nComments) and + partialPredicateCall = "Region(" + (index - nComments).toString() + ")" + or + index = nRegion and result = e.getExpression() and partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfExpressionQualifier( + ExpressionQualifier e, int index, string partialPredicateCall + ) { + exists(int n, int nExpression | + n = 0 and + nExpression = n + 1 and + ( + none() + or + index = n and result = e.getExpression() and partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfExpressionStatement( + ExpressionStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nExpression | + n = 0 and + nExpression = n + 1 and + ( + none() + or + index = n and result = e.getExpression() and partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfFieldSelection( + FieldSelection e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfFindStatement( + FindStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nQuery | + n = 0 and + nQuery = n + 1 and + ( + none() + or + index = n and result = e.getQuery() and partialPredicateCall = "Query()" + ) + ) + } + + private Element getImmediateChildOfFlushStatement( + FlushStatement e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfForDeclarationAssign( + ForDeclarationAssign e, int index, string partialPredicateCall + ) { + exists(int n, int nFieldSpecification, int nInitializationDeclaration | + n = 0 and + nFieldSpecification = n + 1 and + nInitializationDeclaration = nFieldSpecification + e.getNumberOfInitializationDeclarations() and + ( + none() + or + index = n and + result = e.getFieldSpecification() and + partialPredicateCall = "FieldSpecification()" + or + result = e.getInitializationDeclaration(index - nFieldSpecification) and + partialPredicateCall = + "InitializationDeclaration(" + (index - nFieldSpecification).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfForFieldPostDecrement( + ForFieldPostDecrement e, int index, string partialPredicateCall + ) { + exists(int n, int nFieldSpecification | + n = 0 and + nFieldSpecification = n + 1 and + ( + none() + or + index = n and + result = e.getFieldSpecification() and + partialPredicateCall = "FieldSpecification()" + ) + ) + } + + private Element getImmediateChildOfForFieldPostIncrement( + ForFieldPostIncrement e, int index, string partialPredicateCall + ) { + exists(int n, int nFieldSpecification | + n = 0 and + nFieldSpecification = n + 1 and + ( + none() + or + index = n and + result = e.getFieldSpecification() and + partialPredicateCall = "FieldSpecification()" + ) + ) + } + + private Element getImmediateChildOfForFieldPreDecrement( + ForFieldPreDecrement e, int index, string partialPredicateCall + ) { + exists(int n, int nFieldSpecification | + n = 0 and + nFieldSpecification = n + 1 and + ( + none() + or + index = n and + result = e.getFieldSpecification() and + partialPredicateCall = "FieldSpecification()" + ) + ) + } + + private Element getImmediateChildOfForFieldPreIncrement( + ForFieldPreIncrement e, int index, string partialPredicateCall + ) { + exists(int n, int nFieldSpecification | + n = 0 and + nFieldSpecification = n + 1 and + ( + none() + or + index = n and + result = e.getFieldSpecification() and + partialPredicateCall = "FieldSpecification()" + ) + ) + } + + private Element getImmediateChildOfForStatement( + ForStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nCondition, int nInitialization, int nStatement, int nUpdate | + n = 0 and + nCondition = n + 1 and + nInitialization = nCondition + 1 and + nStatement = nInitialization + 1 and + nUpdate = nStatement + 1 and + ( + none() + or + index = n and result = e.getCondition() and partialPredicateCall = "Condition()" + or + index = nCondition and + result = e.getInitialization() and + partialPredicateCall = "Initialization()" + or + index = nInitialization and + result = e.getStatement() and + partialPredicateCall = "Statement()" + or + index = nStatement and result = e.getUpdate() and partialPredicateCall = "Update()" + ) + ) + } + + private Element getImmediateChildOfGlobalOrderElement( + GlobalOrderElement e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfGuidType(GuidType e, int index, string partialPredicateCall) { + none() + } + + private Element getImmediateChildOfIfStatement( + IfStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nCondition, int nConsequent | + n = 0 and + nCondition = n + 1 and + nConsequent = nCondition + 1 and + ( + none() + or + index = n and result = e.getCondition() and partialPredicateCall = "Condition()" + or + index = nCondition and result = e.getConsequent() and partialPredicateCall = "Consequent()" + ) + ) + } + + private Element getImmediateChildOfIfThenElseStatement( + IfThenElseStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nAntecedent, int nCondition, int nConsequent | + n = 0 and + nAntecedent = n + 1 and + nCondition = nAntecedent + 1 and + nConsequent = nCondition + 1 and + ( + none() + or + index = n and result = e.getAntecedent() and partialPredicateCall = "Antecedent()" + or + index = nAntecedent and result = e.getCondition() and partialPredicateCall = "Condition()" + or + index = nCondition and result = e.getConsequent() and partialPredicateCall = "Consequent()" + ) + ) + } + + private Element getImmediateChildOfImplicitSelection( + ImplicitSelection e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfInsertStatement( + InsertStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nCrossCompany, int nField, int nQuery | + n = 0 and + nCrossCompany = n + 1 and + nField = nCrossCompany + e.getNumberOfFields() and + nQuery = nField + 1 and + ( + none() + or + index = n and result = e.getCrossCompany() and partialPredicateCall = "CrossCompany()" + or + result = e.getField(index - nCrossCompany) and + partialPredicateCall = "Field(" + (index - nCrossCompany).toString() + ")" + or + index = nField and result = e.getQuery() and partialPredicateCall = "Query()" + ) + ) + } + + private Element getImmediateChildOfInt64Type(Int64Type e, int index, string partialPredicateCall) { + none() + } + + private Element getImmediateChildOfIntType(IntType e, int index, string partialPredicateCall) { + none() + } + + private Element getImmediateChildOfIntrinsic(Intrinsic e, int index, string partialPredicateCall) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + ) + ) + } + + private Element getImmediateChildOfIntrinsicAttributeLiteral( + IntrinsicAttributeLiteral e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfLocalDeclarationsStatement( + LocalDeclarationsStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nDeclaration | + n = 0 and + nDeclaration = n + e.getNumberOfDeclarations() and + ( + none() + or + result = e.getDeclaration(index - n) and + partialPredicateCall = "Declaration(" + (index - n).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfMoveCursorStatement( + MoveCursorStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nSelection | + n = 0 and + nSelection = n + 1 and + ( + none() + or + index = n and result = e.getSelection() and partialPredicateCall = "Selection()" + ) + ) + } + + private Element getImmediateChildOfNamedFieldReference( + NamedFieldReference e, int index, string partialPredicateCall + ) { + exists(int n, int nIndex | + n = 0 and + nIndex = n + 1 and + ( + none() + or + index = n and result = e.getIndex() and partialPredicateCall = "Index()" + ) + ) + } + + private Element getImmediateChildOfNewClrArrayExpression( + NewClrArrayExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nSize, int nTypeArgumentList | + n = 0 and + nTransformation = n + 1 and + nSize = nTransformation + e.getNumberOfSizes() and + nTypeArgumentList = nSize + e.getNumberOfTypeArgumentLists() and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + result = e.getSize(index - nTransformation) and + partialPredicateCall = "Size(" + (index - nTransformation).toString() + ")" + or + result = e.getTypeArgumentList(index - nSize) and + partialPredicateCall = "TypeArgumentList(" + (index - nSize).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfNumberedFieldReference( + NumberedFieldReference e, int index, string partialPredicateCall + ) { + exists(int n, int nIndex, int nFieldNumber | + n = 0 and + nIndex = n + 1 and + nFieldNumber = nIndex + 1 and + ( + none() + or + index = n and result = e.getIndex() and partialPredicateCall = "Index()" + or + index = nIndex and result = e.getFieldNumber() and partialPredicateCall = "FieldNumber()" + ) + ) + } + + private Element getImmediateChildOfPlaceholder( + Placeholder e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + ) + ) + } + + private Element getImmediateChildOfPrintStatement( + PrintStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nExpression | + n = 0 and + nExpression = n + e.getNumberOfExpressions() and + ( + none() + or + result = e.getExpression(index - n) and + partialPredicateCall = "Expression(" + (index - n).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfProvidedType( + ProvidedType e, int index, string partialPredicateCall + ) { + exists(int n, int nArgumentList | + n = 0 and + nArgumentList = n + e.getNumberOfArgumentLists() and + ( + none() + or + result = e.getArgumentList(index - n) and + partialPredicateCall = "ArgumentList(" + (index - n).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfQualifiedField( + QualifiedField e, int index, string partialPredicateCall + ) { + exists(int n, int nArrayIndex, int nQualifier | + n = 0 and + nArrayIndex = n + 1 and + nQualifier = nArrayIndex + 1 and + ( + none() + or + index = n and result = e.getArrayIndex() and partialPredicateCall = "ArrayIndex()" + or + index = nArrayIndex and result = e.getQualifier() and partialPredicateCall = "Qualifier()" + ) + ) + } + + private Element getImmediateChildOfQualifiedInstanceName( + QualifiedInstanceName e, int index, string partialPredicateCall + ) { + exists(int n, int nIndex, int nQualifier | + n = 0 and + nIndex = n + 1 and + nQualifier = nIndex + 1 and + ( + none() + or + index = n and result = e.getIndex() and partialPredicateCall = "Index()" + or + index = nIndex and result = e.getQualifier() and partialPredicateCall = "Qualifier()" + ) + ) + } + + private Element getImmediateChildOfQualifiedNumberedField( + QualifiedNumberedField e, int index, string partialPredicateCall + ) { + exists(int n, int nArrayIndex, int nQualifier, int nFieldNumber | + n = 0 and + nArrayIndex = n + 1 and + nQualifier = nArrayIndex + 1 and + nFieldNumber = nQualifier + 1 and + ( + none() + or + index = n and result = e.getArrayIndex() and partialPredicateCall = "ArrayIndex()" + or + index = nArrayIndex and result = e.getQualifier() and partialPredicateCall = "Qualifier()" + or + index = nQualifier and + result = e.getFieldNumber() and + partialPredicateCall = "FieldNumber()" + ) + ) + } + + private Element getImmediateChildOfQualifiedStaticField( + QualifiedStaticField e, int index, string partialPredicateCall + ) { + exists(int n, int nArrayIndex, int nQualifier | + n = 0 and + nArrayIndex = n + 1 and + nQualifier = nArrayIndex + 1 and + ( + none() + or + index = n and result = e.getArrayIndex() and partialPredicateCall = "ArrayIndex()" + or + index = nArrayIndex and result = e.getQualifier() and partialPredicateCall = "Qualifier()" + ) + ) + } + + private Element getImmediateChildOfRetryStatement( + RetryStatement e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfReturnStatement( + ReturnStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nExpression | + n = 0 and + nExpression = n + 1 and + ( + none() + or + index = n and result = e.getExpression() and partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfSearchStatement( + SearchStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nQuery, int nStatement | + n = 0 and + nQuery = n + 1 and + nStatement = nQuery + 1 and + ( + none() + or + index = n and result = e.getQuery() and partialPredicateCall = "Query()" + or + index = nQuery and result = e.getStatement() and partialPredicateCall = "Statement()" + ) + ) + } + + private Element getImmediateChildOfSimpleField( + SimpleField e, int index, string partialPredicateCall + ) { + exists(int n, int nArrayIndex, int nQualifier | + n = 0 and + nArrayIndex = n + 1 and + nQualifier = nArrayIndex + 1 and + ( + none() + or + index = n and result = e.getArrayIndex() and partialPredicateCall = "ArrayIndex()" + or + index = nArrayIndex and result = e.getQualifier() and partialPredicateCall = "Qualifier()" + ) + ) + } + + private Element getImmediateChildOfSimpleInstanceName( + SimpleInstanceName e, int index, string partialPredicateCall + ) { + exists(int n, int nIndex | + n = 0 and + nIndex = n + 1 and + ( + none() + or + index = n and result = e.getIndex() and partialPredicateCall = "Index()" + ) + ) + } + + private Element getImmediateChildOfSimpleOrderElement( + SimpleOrderElement e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfStaticField( + StaticField e, int index, string partialPredicateCall + ) { + exists(int n, int nArrayIndex, int nQualifier | + n = 0 and + nArrayIndex = n + 1 and + nQualifier = nArrayIndex + 1 and + ( + none() + or + index = n and result = e.getArrayIndex() and partialPredicateCall = "ArrayIndex()" + or + index = nArrayIndex and result = e.getQualifier() and partialPredicateCall = "Qualifier()" + ) + ) + } + + private Element getImmediateChildOfSwitchStatement( + SwitchStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nCase, int nSelector | + n = 0 and + nCase = n + e.getNumberOfCases() and + nSelector = nCase + 1 and + ( + none() + or + result = e.getCase(index - n) and + partialPredicateCall = "Case(" + (index - n).toString() + ")" + or + index = nCase and result = e.getSelector() and partialPredicateCall = "Selector()" + ) + ) + } + + private Element getImmediateChildOfTableLookupExpression( + TableLookupExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nField, int nQuery | + n = 0 and + nTransformation = n + 1 and + nField = nTransformation + 1 and + nQuery = nField + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getField() and partialPredicateCall = "Field()" + or + index = nField and result = e.getQuery() and partialPredicateCall = "Query()" + ) + ) + } + + private Element getImmediateChildOfThrowStatement( + ThrowStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nException | + n = 0 and + nException = n + 1 and + ( + none() + or + index = n and result = e.getException() and partialPredicateCall = "Exception()" + ) + ) + } + + private Element getImmediateChildOfTryStatement( + TryStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nCatch, int nFinally, int nStatement | + n = 0 and + nCatch = n + e.getNumberOfCatches() and + nFinally = nCatch + 1 and + nStatement = nFinally + 1 and + ( + none() + or + result = e.getCatch(index - n) and + partialPredicateCall = "Catch(" + (index - n).toString() + ")" + or + index = nCatch and result = e.getFinally() and partialPredicateCall = "Finally()" + or + index = nFinally and result = e.getStatement() and partialPredicateCall = "Statement()" + ) + ) + } + + private Element getImmediateChildOfUncheckedStatement( + UncheckedStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nExpression, int nStatement | + n = 0 and + nExpression = n + 1 and + nStatement = nExpression + 1 and + ( + none() + or + index = n and result = e.getExpression() and partialPredicateCall = "Expression()" + or + index = nExpression and result = e.getStatement() and partialPredicateCall = "Statement()" + ) + ) + } + + private Element getImmediateChildOfUpdateStatement( + UpdateStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nCrossCompany, int nFieldAssignment, int nJoins, int nWhere | + n = 0 and + nCrossCompany = n + 1 and + nFieldAssignment = nCrossCompany + e.getNumberOfFieldAssignments() and + nJoins = nFieldAssignment + 1 and + nWhere = nJoins + 1 and + ( + none() + or + index = n and result = e.getCrossCompany() and partialPredicateCall = "CrossCompany()" + or + result = e.getFieldAssignment(index - nCrossCompany) and + partialPredicateCall = "FieldAssignment(" + (index - nCrossCompany).toString() + ")" + or + index = nFieldAssignment and result = e.getJoins() and partialPredicateCall = "Joins()" + or + index = nJoins and result = e.getWhere() and partialPredicateCall = "Where()" + ) + ) + } + + private Element getImmediateChildOfUsingStatement( + UsingStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nDisposableObjectInitializer, int nStatement | + n = 0 and + nDisposableObjectInitializer = n + e.getNumberOfDisposableObjectInitializers() and + nStatement = nDisposableObjectInitializer + 1 and + ( + none() + or + result = e.getDisposableObjectInitializer(index - n) and + partialPredicateCall = "DisposableObjectInitializer(" + (index - n).toString() + ")" + or + index = nDisposableObjectInitializer and + result = e.getStatement() and + partialPredicateCall = "Statement()" + ) + ) + } + + private Element getImmediateChildOfValidTimeStateDate( + ValidTimeStateDate e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfValidTimeStateRange( + ValidTimeStateRange e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfVarType(VarType e, int index, string partialPredicateCall) { + none() + } + + private Element getImmediateChildOfVoidType(VoidType e, int index, string partialPredicateCall) { + none() + } + + private Element getImmediateChildOfWhileStatement( + WhileStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nCondition, int nStatement | + n = 0 and + nCondition = n + 1 and + nStatement = nCondition + 1 and + ( + none() + or + index = n and result = e.getCondition() and partialPredicateCall = "Condition()" + or + index = nCondition and result = e.getStatement() and partialPredicateCall = "Statement()" + ) + ) + } + + private Element getImmediateChildOfXppTypeCompilationUnit( + XppTypeCompilationUnit e, int index, string partialPredicateCall + ) { + exists(int n, int nComments, int nRegion, int nType | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nType = nRegion + 1 and + ( + none() + or + index = n and result = e.getComments() and partialPredicateCall = "Comments()" + or + result = e.getRegion(index - nComments) and + partialPredicateCall = "Region(" + (index - nComments).toString() + ")" + or + index = nRegion and result = e.getType() and partialPredicateCall = "Type()" + ) + ) + } + + private Element getImmediateChildOfAddExpression( + AddExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfAndExpression( + AndExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfAsClrExpression( + AsClrExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nExpression | + n = 0 and + nTransformation = n + 1 and + nExpression = nTransformation + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and + result = e.getExpression() and + partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfAsExpression( + AsExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nExpression | + n = 0 and + nTransformation = n + 1 and + nExpression = nTransformation + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and + result = e.getExpression() and + partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfAssignMultipleFieldStatement( + AssignMultipleFieldStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nExpression, int nField | + n = 0 and + nExpression = n + 1 and + nField = nExpression + e.getNumberOfFields() and + ( + none() + or + index = n and result = e.getExpression() and partialPredicateCall = "Expression()" + or + result = e.getField(index - nExpression) and + partialPredicateCall = "Field(" + (index - nExpression).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfAvgAggregateSelection( + AvgAggregateSelection e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfBooleanAttributeLiteral( + BooleanAttributeLiteral e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfChangeCompanyStatement( + ChangeCompanyStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nExpression, int nStatement | + n = 0 and + nExpression = n + 1 and + nStatement = nExpression + 1 and + ( + none() + or + index = n and result = e.getExpression() and partialPredicateCall = "Expression()" + or + index = nExpression and result = e.getStatement() and partialPredicateCall = "Statement()" + ) + ) + } + + private Element getImmediateChildOfClrEnumerationLiteralExpression( + ClrEnumerationLiteralExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + ) + ) + } + + private Element getImmediateChildOfClrType(ClrType e, int index, string partialPredicateCall) { + exists(int n, int nTypeArgumentList | + n = 0 and + nTypeArgumentList = n + e.getNumberOfTypeArgumentLists() and + ( + none() + or + result = e.getTypeArgumentList(index - n) and + partialPredicateCall = "TypeArgumentList(" + (index - n).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfContainerLiteralExpression( + ContainerLiteralExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nValue | + n = 0 and + nTransformation = n + 1 and + nValue = nTransformation + e.getNumberOfValues() and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + result = e.getValue(index - nTransformation) and + partialPredicateCall = "Value(" + (index - nTransformation).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfCountAggregateSelection( + CountAggregateSelection e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfDateAttributeLiteral( + DateAttributeLiteral e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfDateTimeAttributeLiteral( + DateTimeAttributeLiteral e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfDblAttributeLiteral( + DblAttributeLiteral e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfDelegate(Delegate e, int index, string partialPredicateCall) { + exists( + int n, int nComments, int nRegion, int nAttributes, int nModifierList, int nParameter, + int nType + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nAttributes = nRegion + 1 and + nModifierList = nAttributes + e.getNumberOfModifierLists() and + nParameter = nModifierList + e.getNumberOfParameters() and + nType = nParameter + 1 and + ( + none() + or + index = n and result = e.getComments() and partialPredicateCall = "Comments()" + or + result = e.getRegion(index - nComments) and + partialPredicateCall = "Region(" + (index - nComments).toString() + ")" + or + index = nRegion and result = e.getAttributes() and partialPredicateCall = "Attributes()" + or + result = e.getModifierList(index - nAttributes) and + partialPredicateCall = "ModifierList(" + (index - nAttributes).toString() + ")" + or + result = e.getParameter(index - nModifierList) and + partialPredicateCall = "Parameter(" + (index - nModifierList).toString() + ")" + or + index = nParameter and result = e.getType() and partialPredicateCall = "Type()" + ) + ) + } + + private Element getImmediateChildOfDivideExpression( + DivideExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfEnumerationLiteralExpression( + EnumerationLiteralExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + ) + ) + } + + private Element getImmediateChildOfForFieldAssign( + ForFieldAssign e, int index, string partialPredicateCall + ) { + exists(int n, int nFieldSpecification, int nExpression | + n = 0 and + nFieldSpecification = n + 1 and + nExpression = nFieldSpecification + 1 and + ( + none() + or + index = n and + result = e.getFieldSpecification() and + partialPredicateCall = "FieldSpecification()" + or + index = nFieldSpecification and + result = e.getExpression() and + partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfForFieldDecrementAssign( + ForFieldDecrementAssign e, int index, string partialPredicateCall + ) { + exists(int n, int nFieldSpecification, int nExpression | + n = 0 and + nFieldSpecification = n + 1 and + nExpression = nFieldSpecification + 1 and + ( + none() + or + index = n and + result = e.getFieldSpecification() and + partialPredicateCall = "FieldSpecification()" + or + index = nFieldSpecification and + result = e.getExpression() and + partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfForFieldIncrementAssign( + ForFieldIncrementAssign e, int index, string partialPredicateCall + ) { + exists(int n, int nFieldSpecification, int nExpression | + n = 0 and + nFieldSpecification = n + 1 and + nExpression = nFieldSpecification + 1 and + ( + none() + or + index = n and + result = e.getFieldSpecification() and + partialPredicateCall = "FieldSpecification()" + or + index = nFieldSpecification and + result = e.getExpression() and + partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfFormModelElement( + FormModelElement e, int index, string partialPredicateCall + ) { + exists( + int n, int nComments, int nRegion, int nBaseMethod, int nExtendGenericParameter, int nMethod, + int nModifierList, int nNestedClass, int nUsing, int nBehavior, int nControl, int nDataSource + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nBaseMethod = nRegion + e.getNumberOfBaseMethods() and + nExtendGenericParameter = nBaseMethod + e.getNumberOfExtendGenericParameters() and + nMethod = nExtendGenericParameter + e.getNumberOfMethods() and + nModifierList = nMethod + e.getNumberOfModifierLists() and + nNestedClass = nModifierList + e.getNumberOfNestedClasses() and + nUsing = nNestedClass + e.getNumberOfUsings() and + nBehavior = nUsing + 1 and + nControl = nBehavior + e.getNumberOfControls() and + nDataSource = nControl + e.getNumberOfDataSources() and + ( + none() + or + index = n and result = e.getComments() and partialPredicateCall = "Comments()" + or + result = e.getRegion(index - nComments) and + partialPredicateCall = "Region(" + (index - nComments).toString() + ")" + or + result = e.getBaseMethod(index - nRegion) and + partialPredicateCall = "BaseMethod(" + (index - nRegion).toString() + ")" + or + result = e.getExtendGenericParameter(index - nBaseMethod) and + partialPredicateCall = "ExtendGenericParameter(" + (index - nBaseMethod).toString() + ")" + or + result = e.getMethod(index - nExtendGenericParameter) and + partialPredicateCall = "Method(" + (index - nExtendGenericParameter).toString() + ")" + or + result = e.getModifierList(index - nMethod) and + partialPredicateCall = "ModifierList(" + (index - nMethod).toString() + ")" + or + result = e.getNestedClass(index - nModifierList) and + partialPredicateCall = "NestedClass(" + (index - nModifierList).toString() + ")" + or + result = e.getUsing(index - nNestedClass) and + partialPredicateCall = "Using(" + (index - nNestedClass).toString() + ")" + or + index = nUsing and result = e.getBehavior() and partialPredicateCall = "Behavior()" + or + result = e.getControl(index - nBehavior) and + partialPredicateCall = "Control(" + (index - nBehavior).toString() + ")" + or + result = e.getDataSource(index - nControl) and + partialPredicateCall = "DataSource(" + (index - nControl).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfGuidAttributeLiteral( + GuidAttributeLiteral e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfInExpression( + InExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfInt64AttributeLiteral( + Int64AttributeLiteral e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfIntAttributeLiteral( + IntAttributeLiteral e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfIntegerDivideExpression( + IntegerDivideExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfIsClrExpression( + IsClrExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nExpression | + n = 0 and + nTransformation = n + 1 and + nExpression = nTransformation + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and + result = e.getExpression() and + partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfIsExpression( + IsExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nExpression | + n = 0 and + nTransformation = n + 1 and + nExpression = nTransformation + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and + result = e.getExpression() and + partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfMaxAggregateSelection( + MaxAggregateSelection e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfMethod(Method e, int index, string partialPredicateCall) { + exists( + int n, int nComments, int nRegion, int nAttributes, int nModifierList, int nParameter, + int nType, int nDeclarationsAndStatement, int nLocal, int nStatement + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nAttributes = nRegion + 1 and + nModifierList = nAttributes + e.getNumberOfModifierLists() and + nParameter = nModifierList + e.getNumberOfParameters() and + nType = nParameter + 1 and + nDeclarationsAndStatement = nType + e.getNumberOfDeclarationsAndStatements() and + nLocal = nDeclarationsAndStatement + e.getNumberOfLocals() and + nStatement = nLocal + e.getNumberOfStatements() and + ( + none() + or + index = n and result = e.getComments() and partialPredicateCall = "Comments()" + or + result = e.getRegion(index - nComments) and + partialPredicateCall = "Region(" + (index - nComments).toString() + ")" + or + index = nRegion and result = e.getAttributes() and partialPredicateCall = "Attributes()" + or + result = e.getModifierList(index - nAttributes) and + partialPredicateCall = "ModifierList(" + (index - nAttributes).toString() + ")" + or + result = e.getParameter(index - nModifierList) and + partialPredicateCall = "Parameter(" + (index - nModifierList).toString() + ")" + or + index = nParameter and result = e.getType() and partialPredicateCall = "Type()" + or + result = e.getDeclarationsAndStatement(index - nType) and + partialPredicateCall = "DeclarationsAndStatement(" + (index - nType).toString() + ")" + or + result = e.getLocal(index - nDeclarationsAndStatement) and + partialPredicateCall = "Local(" + (index - nDeclarationsAndStatement).toString() + ")" + or + result = e.getStatement(index - nLocal) and + partialPredicateCall = "Statement(" + (index - nLocal).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfMinAggregateSelection( + MinAggregateSelection e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfModExpression( + ModExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfMultiplyExpression( + MultiplyExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfNewCall(NewCall e, int index, string partialPredicateCall) { + exists(int n, int nTransformation, int nActualParameter, int nType | + n = 0 and + nTransformation = n + 1 and + nActualParameter = nTransformation + e.getNumberOfActualParameters() and + nType = nActualParameter + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + result = e.getActualParameter(index - nTransformation) and + partialPredicateCall = "ActualParameter(" + (index - nTransformation).toString() + ")" + or + index = nActualParameter and result = e.getType() and partialPredicateCall = "Type()" + ) + ) + } + + private Element getImmediateChildOfNextExpression( + NextExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nActualParameter | + n = 0 and + nTransformation = n + 1 and + nActualParameter = nTransformation + e.getNumberOfActualParameters() and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + result = e.getActualParameter(index - nTransformation) and + partialPredicateCall = "ActualParameter(" + (index - nTransformation).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfNotExpression( + NotExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nExpression | + n = 0 and + nTransformation = n + 1 and + nExpression = nTransformation + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and + result = e.getExpression() and + partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfNullLiteralExpression( + NullLiteralExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + ) + ) + } + + private Element getImmediateChildOfOrExpression( + OrExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfPhysicalAndExpression( + PhysicalAndExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfPhysicalNotExpression( + PhysicalNotExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nExpression | + n = 0 and + nTransformation = n + 1 and + nExpression = nTransformation + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and + result = e.getExpression() and + partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfPhysicalOrExpression( + PhysicalOrExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfPhysicalXorExpression( + PhysicalXorExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfProvidedTypeStaticCall( + ProvidedTypeStaticCall e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nActualParameter, int nProvidedType | + n = 0 and + nTransformation = n + 1 and + nActualParameter = nTransformation + e.getNumberOfActualParameters() and + nProvidedType = nActualParameter + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + result = e.getActualParameter(index - nTransformation) and + partialPredicateCall = "ActualParameter(" + (index - nTransformation).toString() + ")" + or + index = nActualParameter and + result = e.getProvidedType() and + partialPredicateCall = "ProvidedType()" + ) + ) + } + + private Element getImmediateChildOfQualifiedStaticFieldExpression( + QualifiedStaticFieldExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nField | + n = 0 and + nTransformation = n + 1 and + nField = nTransformation + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getField() and partialPredicateCall = "Field()" + ) + ) + } + + private Element getImmediateChildOfQueryModelElement( + QueryModelElement e, int index, string partialPredicateCall + ) { + exists( + int n, int nComments, int nRegion, int nBaseMethod, int nExtendGenericParameter, int nMethod, + int nModifierList, int nNestedClass, int nUsing, int nBehavior, int nDataSourceList, + int nDataSource + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nBaseMethod = nRegion + e.getNumberOfBaseMethods() and + nExtendGenericParameter = nBaseMethod + e.getNumberOfExtendGenericParameters() and + nMethod = nExtendGenericParameter + e.getNumberOfMethods() and + nModifierList = nMethod + e.getNumberOfModifierLists() and + nNestedClass = nModifierList + e.getNumberOfNestedClasses() and + nUsing = nNestedClass + e.getNumberOfUsings() and + nBehavior = nUsing + 1 and + nDataSourceList = nBehavior + e.getNumberOfDataSourceLists() and + nDataSource = nDataSourceList + e.getNumberOfDataSources() and + ( + none() + or + index = n and result = e.getComments() and partialPredicateCall = "Comments()" + or + result = e.getRegion(index - nComments) and + partialPredicateCall = "Region(" + (index - nComments).toString() + ")" + or + result = e.getBaseMethod(index - nRegion) and + partialPredicateCall = "BaseMethod(" + (index - nRegion).toString() + ")" + or + result = e.getExtendGenericParameter(index - nBaseMethod) and + partialPredicateCall = "ExtendGenericParameter(" + (index - nBaseMethod).toString() + ")" + or + result = e.getMethod(index - nExtendGenericParameter) and + partialPredicateCall = "Method(" + (index - nExtendGenericParameter).toString() + ")" + or + result = e.getModifierList(index - nMethod) and + partialPredicateCall = "ModifierList(" + (index - nMethod).toString() + ")" + or + result = e.getNestedClass(index - nModifierList) and + partialPredicateCall = "NestedClass(" + (index - nModifierList).toString() + ")" + or + result = e.getUsing(index - nNestedClass) and + partialPredicateCall = "Using(" + (index - nNestedClass).toString() + ")" + or + index = nUsing and result = e.getBehavior() and partialPredicateCall = "Behavior()" + or + result = e.getDataSourceList(index - nBehavior) and + partialPredicateCall = "DataSourceList(" + (index - nBehavior).toString() + ")" + or + result = e.getDataSource(index - nDataSourceList) and + partialPredicateCall = "DataSource(" + (index - nDataSourceList).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfShiftLeftExpression( + ShiftLeftExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfShiftRightExpression( + ShiftRightExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfStaticQualifier( + StaticQualifier e, int index, string partialPredicateCall + ) { + exists(int n, int nClassTypeArgumentList | + n = 0 and + nClassTypeArgumentList = n + e.getNumberOfClassTypeArgumentLists() and + ( + none() + or + result = e.getClassTypeArgumentList(index - n) and + partialPredicateCall = "ClassTypeArgumentList(" + (index - n).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfStringAttributeLiteral( + StringAttributeLiteral e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfStringLengthType( + StringLengthType e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfSubtractExpression( + SubtractExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfSumAggregateSelection( + SumAggregateSelection e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfSuperCall(SuperCall e, int index, string partialPredicateCall) { + exists(int n, int nTransformation, int nActualParameter | + n = 0 and + nTransformation = n + 1 and + nActualParameter = nTransformation + e.getNumberOfActualParameters() and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + result = e.getActualParameter(index - nTransformation) and + partialPredicateCall = "ActualParameter(" + (index - nTransformation).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfTable(Table e, int index, string partialPredicateCall) { + exists( + int n, int nComments, int nRegion, int nBaseMethod, int nExtendGenericParameter, int nMethod, + int nModifierList, int nNestedClass, int nUsing, int nAttributes, int nField + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nBaseMethod = nRegion + e.getNumberOfBaseMethods() and + nExtendGenericParameter = nBaseMethod + e.getNumberOfExtendGenericParameters() and + nMethod = nExtendGenericParameter + e.getNumberOfMethods() and + nModifierList = nMethod + e.getNumberOfModifierLists() and + nNestedClass = nModifierList + e.getNumberOfNestedClasses() and + nUsing = nNestedClass + e.getNumberOfUsings() and + nAttributes = nUsing + 1 and + nField = nAttributes + e.getNumberOfFields() and + ( + none() + or + index = n and result = e.getComments() and partialPredicateCall = "Comments()" + or + result = e.getRegion(index - nComments) and + partialPredicateCall = "Region(" + (index - nComments).toString() + ")" + or + result = e.getBaseMethod(index - nRegion) and + partialPredicateCall = "BaseMethod(" + (index - nRegion).toString() + ")" + or + result = e.getExtendGenericParameter(index - nBaseMethod) and + partialPredicateCall = "ExtendGenericParameter(" + (index - nBaseMethod).toString() + ")" + or + result = e.getMethod(index - nExtendGenericParameter) and + partialPredicateCall = "Method(" + (index - nExtendGenericParameter).toString() + ")" + or + result = e.getModifierList(index - nMethod) and + partialPredicateCall = "ModifierList(" + (index - nMethod).toString() + ")" + or + result = e.getNestedClass(index - nModifierList) and + partialPredicateCall = "NestedClass(" + (index - nModifierList).toString() + ")" + or + result = e.getUsing(index - nNestedClass) and + partialPredicateCall = "Using(" + (index - nNestedClass).toString() + ")" + or + index = nUsing and result = e.getAttributes() and partialPredicateCall = "Attributes()" + or + result = e.getField(index - nAttributes) and + partialPredicateCall = "Field(" + (index - nAttributes).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfTtsAbortStatement( + TtsAbortStatement e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfTtsBeginStatement( + TtsBeginStatement e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfTtsEndStatement( + TtsEndStatement e, int index, string partialPredicateCall + ) { + none() + } + + private Element getImmediateChildOfUnaryMinusExpression( + UnaryMinusExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nExpression | + n = 0 and + nTransformation = n + 1 and + nExpression = nTransformation + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and + result = e.getExpression() and + partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfAssignPostDecrementStatement( + AssignPostDecrementStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nField | + n = 0 and + nField = n + 1 and + ( + none() + or + index = n and result = e.getField() and partialPredicateCall = "Field()" + ) + ) + } + + private Element getImmediateChildOfAssignPostIncrementStatement( + AssignPostIncrementStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nField | + n = 0 and + nField = n + 1 and + ( + none() + or + index = n and result = e.getField() and partialPredicateCall = "Field()" + ) + ) + } + + private Element getImmediateChildOfAssignPreDecrementStatement( + AssignPreDecrementStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nField | + n = 0 and + nField = n + 1 and + ( + none() + or + index = n and result = e.getField() and partialPredicateCall = "Field()" + ) + ) + } + + private Element getImmediateChildOfAssignPreIncrementStatement( + AssignPreIncrementStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nField | + n = 0 and + nField = n + 1 and + ( + none() + or + index = n and result = e.getField() and partialPredicateCall = "Field()" + ) + ) + } + + private Element getImmediateChildOfBooleanLiteralExpression( + BooleanLiteralExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + ) + ) + } + + private Element getImmediateChildOfClass(Class e, int index, string partialPredicateCall) { + exists( + int n, int nComments, int nRegion, int nBaseMethod, int nExtendGenericParameter, int nMethod, + int nModifierList, int nNestedClass, int nUsing, int nAttributes, int nEnclosingType, + int nField + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nBaseMethod = nRegion + e.getNumberOfBaseMethods() and + nExtendGenericParameter = nBaseMethod + e.getNumberOfExtendGenericParameters() and + nMethod = nExtendGenericParameter + e.getNumberOfMethods() and + nModifierList = nMethod + e.getNumberOfModifierLists() and + nNestedClass = nModifierList + e.getNumberOfNestedClasses() and + nUsing = nNestedClass + e.getNumberOfUsings() and + nAttributes = nUsing + 1 and + nEnclosingType = nAttributes + 1 and + nField = nEnclosingType + e.getNumberOfFields() and + ( + none() + or + index = n and result = e.getComments() and partialPredicateCall = "Comments()" + or + result = e.getRegion(index - nComments) and + partialPredicateCall = "Region(" + (index - nComments).toString() + ")" + or + result = e.getBaseMethod(index - nRegion) and + partialPredicateCall = "BaseMethod(" + (index - nRegion).toString() + ")" + or + result = e.getExtendGenericParameter(index - nBaseMethod) and + partialPredicateCall = "ExtendGenericParameter(" + (index - nBaseMethod).toString() + ")" + or + result = e.getMethod(index - nExtendGenericParameter) and + partialPredicateCall = "Method(" + (index - nExtendGenericParameter).toString() + ")" + or + result = e.getModifierList(index - nMethod) and + partialPredicateCall = "ModifierList(" + (index - nMethod).toString() + ")" + or + result = e.getNestedClass(index - nModifierList) and + partialPredicateCall = "NestedClass(" + (index - nModifierList).toString() + ")" + or + result = e.getUsing(index - nNestedClass) and + partialPredicateCall = "Using(" + (index - nNestedClass).toString() + ")" + or + index = nUsing and result = e.getAttributes() and partialPredicateCall = "Attributes()" + or + index = nAttributes and + result = e.getEnclosingType() and + partialPredicateCall = "EnclosingType()" + or + result = e.getField(index - nEnclosingType) and + partialPredicateCall = "Field(" + (index - nEnclosingType).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfDateLiteralExpression( + DateLiteralExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + ) + ) + } + + private Element getImmediateChildOfDateTimeLiteralExpression( + DateTimeLiteralExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + ) + ) + } + + private Element getImmediateChildOfEqualExpression( + EqualExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfFormControl( + FormControl e, int index, string partialPredicateCall + ) { + exists( + int n, int nComments, int nRegion, int nBaseMethod, int nExtendGenericParameter, int nMethod, + int nModifierList, int nNestedClass, int nUsing, int nForm, int nChildControl, + int nParentControl + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nBaseMethod = nRegion + e.getNumberOfBaseMethods() and + nExtendGenericParameter = nBaseMethod + e.getNumberOfExtendGenericParameters() and + nMethod = nExtendGenericParameter + e.getNumberOfMethods() and + nModifierList = nMethod + e.getNumberOfModifierLists() and + nNestedClass = nModifierList + e.getNumberOfNestedClasses() and + nUsing = nNestedClass + e.getNumberOfUsings() and + nForm = nUsing + 1 and + nChildControl = nForm + e.getNumberOfChildControls() and + nParentControl = nChildControl + 1 and + ( + none() + or + index = n and result = e.getComments() and partialPredicateCall = "Comments()" + or + result = e.getRegion(index - nComments) and + partialPredicateCall = "Region(" + (index - nComments).toString() + ")" + or + result = e.getBaseMethod(index - nRegion) and + partialPredicateCall = "BaseMethod(" + (index - nRegion).toString() + ")" + or + result = e.getExtendGenericParameter(index - nBaseMethod) and + partialPredicateCall = "ExtendGenericParameter(" + (index - nBaseMethod).toString() + ")" + or + result = e.getMethod(index - nExtendGenericParameter) and + partialPredicateCall = "Method(" + (index - nExtendGenericParameter).toString() + ")" + or + result = e.getModifierList(index - nMethod) and + partialPredicateCall = "ModifierList(" + (index - nMethod).toString() + ")" + or + result = e.getNestedClass(index - nModifierList) and + partialPredicateCall = "NestedClass(" + (index - nModifierList).toString() + ")" + or + result = e.getUsing(index - nNestedClass) and + partialPredicateCall = "Using(" + (index - nNestedClass).toString() + ")" + or + index = nUsing and result = e.getForm() and partialPredicateCall = "Form()" + or + result = e.getChildControl(index - nForm) and + partialPredicateCall = "ChildControl(" + (index - nForm).toString() + ")" + or + index = nChildControl and + result = e.getParentControl() and + partialPredicateCall = "ParentControl()" + ) + ) + } + + private Element getImmediateChildOfFormDataField( + FormDataField e, int index, string partialPredicateCall + ) { + exists( + int n, int nComments, int nRegion, int nBaseMethod, int nExtendGenericParameter, int nMethod, + int nModifierList, int nNestedClass, int nUsing, int nForm, int nFormDataSource + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nBaseMethod = nRegion + e.getNumberOfBaseMethods() and + nExtendGenericParameter = nBaseMethod + e.getNumberOfExtendGenericParameters() and + nMethod = nExtendGenericParameter + e.getNumberOfMethods() and + nModifierList = nMethod + e.getNumberOfModifierLists() and + nNestedClass = nModifierList + e.getNumberOfNestedClasses() and + nUsing = nNestedClass + e.getNumberOfUsings() and + nForm = nUsing + 1 and + nFormDataSource = nForm + 1 and + ( + none() + or + index = n and result = e.getComments() and partialPredicateCall = "Comments()" + or + result = e.getRegion(index - nComments) and + partialPredicateCall = "Region(" + (index - nComments).toString() + ")" + or + result = e.getBaseMethod(index - nRegion) and + partialPredicateCall = "BaseMethod(" + (index - nRegion).toString() + ")" + or + result = e.getExtendGenericParameter(index - nBaseMethod) and + partialPredicateCall = "ExtendGenericParameter(" + (index - nBaseMethod).toString() + ")" + or + result = e.getMethod(index - nExtendGenericParameter) and + partialPredicateCall = "Method(" + (index - nExtendGenericParameter).toString() + ")" + or + result = e.getModifierList(index - nMethod) and + partialPredicateCall = "ModifierList(" + (index - nMethod).toString() + ")" + or + result = e.getNestedClass(index - nModifierList) and + partialPredicateCall = "NestedClass(" + (index - nModifierList).toString() + ")" + or + result = e.getUsing(index - nNestedClass) and + partialPredicateCall = "Using(" + (index - nNestedClass).toString() + ")" + or + index = nUsing and result = e.getForm() and partialPredicateCall = "Form()" + or + index = nForm and + result = e.getFormDataSource() and + partialPredicateCall = "FormDataSource()" + ) + ) + } + + private Element getImmediateChildOfFormDataSource( + FormDataSource e, int index, string partialPredicateCall + ) { + exists( + int n, int nComments, int nRegion, int nBaseMethod, int nExtendGenericParameter, int nMethod, + int nModifierList, int nNestedClass, int nUsing, int nForm, int nDataField, int nQuery + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nBaseMethod = nRegion + e.getNumberOfBaseMethods() and + nExtendGenericParameter = nBaseMethod + e.getNumberOfExtendGenericParameters() and + nMethod = nExtendGenericParameter + e.getNumberOfMethods() and + nModifierList = nMethod + e.getNumberOfModifierLists() and + nNestedClass = nModifierList + e.getNumberOfNestedClasses() and + nUsing = nNestedClass + e.getNumberOfUsings() and + nForm = nUsing + 1 and + nDataField = nForm + e.getNumberOfDataFields() and + nQuery = nDataField + 1 and + ( + none() + or + index = n and result = e.getComments() and partialPredicateCall = "Comments()" + or + result = e.getRegion(index - nComments) and + partialPredicateCall = "Region(" + (index - nComments).toString() + ")" + or + result = e.getBaseMethod(index - nRegion) and + partialPredicateCall = "BaseMethod(" + (index - nRegion).toString() + ")" + or + result = e.getExtendGenericParameter(index - nBaseMethod) and + partialPredicateCall = "ExtendGenericParameter(" + (index - nBaseMethod).toString() + ")" + or + result = e.getMethod(index - nExtendGenericParameter) and + partialPredicateCall = "Method(" + (index - nExtendGenericParameter).toString() + ")" + or + result = e.getModifierList(index - nMethod) and + partialPredicateCall = "ModifierList(" + (index - nMethod).toString() + ")" + or + result = e.getNestedClass(index - nModifierList) and + partialPredicateCall = "NestedClass(" + (index - nModifierList).toString() + ")" + or + result = e.getUsing(index - nNestedClass) and + partialPredicateCall = "Using(" + (index - nNestedClass).toString() + ")" + or + index = nUsing and result = e.getForm() and partialPredicateCall = "Form()" + or + result = e.getDataField(index - nForm) and + partialPredicateCall = "DataField(" + (index - nForm).toString() + ")" + or + index = nDataField and result = e.getQuery() and partialPredicateCall = "Query()" + ) + ) + } + + private Element getImmediateChildOfFormElementType( + FormElementType e, int index, string partialPredicateCall + ) { + exists(int n, int nTypeArgumentList | + n = 0 and + nTypeArgumentList = n + e.getNumberOfTypeArgumentLists() and + ( + none() + or + result = e.getTypeArgumentList(index - n) and + partialPredicateCall = "TypeArgumentList(" + (index - n).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfFunctionCall( + FunctionCall e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nActualParameter, int nTypeArgumentList | + n = 0 and + nTransformation = n + 1 and + nActualParameter = nTransformation + e.getNumberOfActualParameters() and + nTypeArgumentList = nActualParameter + e.getNumberOfTypeArgumentLists() and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + result = e.getActualParameter(index - nTransformation) and + partialPredicateCall = "ActualParameter(" + (index - nTransformation).toString() + ")" + or + result = e.getTypeArgumentList(index - nActualParameter) and + partialPredicateCall = "TypeArgumentList(" + (index - nActualParameter).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfFunctionDeclaration( + FunctionDeclaration e, int index, string partialPredicateCall + ) { + exists( + int n, int nComments, int nRegion, int nArraySpecification, int nModifierList, int nType, + int nDeclarationsAndStatement, int nLocal, int nParameter, int nStatement + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nArraySpecification = nRegion + 1 and + nModifierList = nArraySpecification + e.getNumberOfModifierLists() and + nType = nModifierList + 1 and + nDeclarationsAndStatement = nType + e.getNumberOfDeclarationsAndStatements() and + nLocal = nDeclarationsAndStatement + e.getNumberOfLocals() and + nParameter = nLocal + e.getNumberOfParameters() and + nStatement = nParameter + e.getNumberOfStatements() and + ( + none() + or + index = n and result = e.getComments() and partialPredicateCall = "Comments()" + or + result = e.getRegion(index - nComments) and + partialPredicateCall = "Region(" + (index - nComments).toString() + ")" + or + index = nRegion and + result = e.getArraySpecification() and + partialPredicateCall = "ArraySpecification()" + or + result = e.getModifierList(index - nArraySpecification) and + partialPredicateCall = "ModifierList(" + (index - nArraySpecification).toString() + ")" + or + index = nModifierList and result = e.getType() and partialPredicateCall = "Type()" + or + result = e.getDeclarationsAndStatement(index - nType) and + partialPredicateCall = "DeclarationsAndStatement(" + (index - nType).toString() + ")" + or + result = e.getLocal(index - nDeclarationsAndStatement) and + partialPredicateCall = "Local(" + (index - nDeclarationsAndStatement).toString() + ")" + or + result = e.getParameter(index - nLocal) and + partialPredicateCall = "Parameter(" + (index - nLocal).toString() + ")" + or + result = e.getStatement(index - nParameter) and + partialPredicateCall = "Statement(" + (index - nParameter).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfGreaterThanExpression( + GreaterThanExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfGreaterThanOrEqualExpression( + GreaterThanOrEqualExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfInt64LiteralExpression( + Int64LiteralExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + ) + ) + } + + private Element getImmediateChildOfIntLiteralExpression( + IntLiteralExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + ) + ) + } + + private Element getImmediateChildOfInterface(Interface e, int index, string partialPredicateCall) { + exists( + int n, int nComments, int nRegion, int nBaseMethod, int nExtendGenericParameter, int nMethod, + int nModifierList, int nNestedClass, int nUsing, int nAttributes, int nEnclosingType + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nBaseMethod = nRegion + e.getNumberOfBaseMethods() and + nExtendGenericParameter = nBaseMethod + e.getNumberOfExtendGenericParameters() and + nMethod = nExtendGenericParameter + e.getNumberOfMethods() and + nModifierList = nMethod + e.getNumberOfModifierLists() and + nNestedClass = nModifierList + e.getNumberOfNestedClasses() and + nUsing = nNestedClass + e.getNumberOfUsings() and + nAttributes = nUsing + 1 and + nEnclosingType = nAttributes + 1 and + ( + none() + or + index = n and result = e.getComments() and partialPredicateCall = "Comments()" + or + result = e.getRegion(index - nComments) and + partialPredicateCall = "Region(" + (index - nComments).toString() + ")" + or + result = e.getBaseMethod(index - nRegion) and + partialPredicateCall = "BaseMethod(" + (index - nRegion).toString() + ")" + or + result = e.getExtendGenericParameter(index - nBaseMethod) and + partialPredicateCall = "ExtendGenericParameter(" + (index - nBaseMethod).toString() + ")" + or + result = e.getMethod(index - nExtendGenericParameter) and + partialPredicateCall = "Method(" + (index - nExtendGenericParameter).toString() + ")" + or + result = e.getModifierList(index - nMethod) and + partialPredicateCall = "ModifierList(" + (index - nMethod).toString() + ")" + or + result = e.getNestedClass(index - nModifierList) and + partialPredicateCall = "NestedClass(" + (index - nModifierList).toString() + ")" + or + result = e.getUsing(index - nNestedClass) and + partialPredicateCall = "Using(" + (index - nNestedClass).toString() + ")" + or + index = nUsing and result = e.getAttributes() and partialPredicateCall = "Attributes()" + or + index = nAttributes and + result = e.getEnclosingType() and + partialPredicateCall = "EnclosingType()" + ) + ) + } + + private Element getImmediateChildOfLessThanExpression( + LessThanExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfLessThanOrEqualExpression( + LessThanOrEqualExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfLikeExpression( + LikeExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfNewClrCall(NewClrCall e, int index, string partialPredicateCall) { + exists(int n, int nTransformation, int nActualParameter, int nTypeArgumentList | + n = 0 and + nTransformation = n + 1 and + nActualParameter = nTransformation + e.getNumberOfActualParameters() and + nTypeArgumentList = nActualParameter + e.getNumberOfTypeArgumentLists() and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + result = e.getActualParameter(index - nTransformation) and + partialPredicateCall = "ActualParameter(" + (index - nTransformation).toString() + ")" + or + result = e.getTypeArgumentList(index - nActualParameter) and + partialPredicateCall = "TypeArgumentList(" + (index - nActualParameter).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfNotEqualExpression( + NotEqualExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getLeft() and partialPredicateCall = "Left()" + or + index = nLeft and result = e.getRight() and partialPredicateCall = "Right()" + ) + ) + } + + private Element getImmediateChildOfQualifiedCall( + QualifiedCall e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nActualParameter, int nTypeArgumentList, int nQualifier | + n = 0 and + nTransformation = n + 1 and + nActualParameter = nTransformation + e.getNumberOfActualParameters() and + nTypeArgumentList = nActualParameter + e.getNumberOfTypeArgumentLists() and + nQualifier = nTypeArgumentList + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + result = e.getActualParameter(index - nTransformation) and + partialPredicateCall = "ActualParameter(" + (index - nTransformation).toString() + ")" + or + result = e.getTypeArgumentList(index - nActualParameter) and + partialPredicateCall = "TypeArgumentList(" + (index - nActualParameter).toString() + ")" + or + index = nTypeArgumentList and + result = e.getQualifier() and + partialPredicateCall = "Qualifier()" + ) + ) + } + + private Element getImmediateChildOfQualifiedStaticCall( + QualifiedStaticCall e, int index, string partialPredicateCall + ) { + exists( + int n, int nTransformation, int nActualParameter, int nTypeArgumentList, + int nClassTypeArgumentList, int nQualifier + | + n = 0 and + nTransformation = n + 1 and + nActualParameter = nTransformation + e.getNumberOfActualParameters() and + nTypeArgumentList = nActualParameter + e.getNumberOfTypeArgumentLists() and + nClassTypeArgumentList = nTypeArgumentList + e.getNumberOfClassTypeArgumentLists() and + nQualifier = nClassTypeArgumentList + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + result = e.getActualParameter(index - nTransformation) and + partialPredicateCall = "ActualParameter(" + (index - nTransformation).toString() + ")" + or + result = e.getTypeArgumentList(index - nActualParameter) and + partialPredicateCall = "TypeArgumentList(" + (index - nActualParameter).toString() + ")" + or + result = e.getClassTypeArgumentList(index - nTypeArgumentList) and + partialPredicateCall = + "ClassTypeArgumentList(" + (index - nTypeArgumentList).toString() + ")" + or + index = nClassTypeArgumentList and + result = e.getQualifier() and + partialPredicateCall = "Qualifier()" + ) + ) + } + + private Element getImmediateChildOfRealLiteralExpression( + RealLiteralExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + ) + ) + } + + private Element getImmediateChildOfStaticMethodCall( + StaticMethodCall e, int index, string partialPredicateCall + ) { + exists( + int n, int nTransformation, int nActualParameter, int nTypeArgumentList, + int nClassTypeArgumentList + | + n = 0 and + nTransformation = n + 1 and + nActualParameter = nTransformation + e.getNumberOfActualParameters() and + nTypeArgumentList = nActualParameter + e.getNumberOfTypeArgumentLists() and + nClassTypeArgumentList = nTypeArgumentList + e.getNumberOfClassTypeArgumentLists() and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + result = e.getActualParameter(index - nTransformation) and + partialPredicateCall = "ActualParameter(" + (index - nTransformation).toString() + ")" + or + result = e.getTypeArgumentList(index - nActualParameter) and + partialPredicateCall = "TypeArgumentList(" + (index - nActualParameter).toString() + ")" + or + result = e.getClassTypeArgumentList(index - nTypeArgumentList) and + partialPredicateCall = + "ClassTypeArgumentList(" + (index - nTypeArgumentList).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfStringLiteralExpression( + StringLiteralExpression e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + ) + ) + } + + private Element getImmediateChildOfTableFieldDeclaration( + TableFieldDeclaration e, int index, string partialPredicateCall + ) { + exists( + int n, int nComments, int nRegion, int nArraySpecification, int nModifierList, int nType, + int nAttributes, int nInitialValue + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nArraySpecification = nRegion + 1 and + nModifierList = nArraySpecification + e.getNumberOfModifierLists() and + nType = nModifierList + 1 and + nAttributes = nType + 1 and + nInitialValue = nAttributes + 1 and + ( + none() + or + index = n and result = e.getComments() and partialPredicateCall = "Comments()" + or + result = e.getRegion(index - nComments) and + partialPredicateCall = "Region(" + (index - nComments).toString() + ")" + or + index = nRegion and + result = e.getArraySpecification() and + partialPredicateCall = "ArraySpecification()" + or + result = e.getModifierList(index - nArraySpecification) and + partialPredicateCall = "ModifierList(" + (index - nArraySpecification).toString() + ")" + or + index = nModifierList and result = e.getType() and partialPredicateCall = "Type()" + or + index = nType and result = e.getAttributes() and partialPredicateCall = "Attributes()" + or + index = nAttributes and + result = e.getInitialValue() and + partialPredicateCall = "InitialValue()" + ) + ) + } + + private Element getImmediateChildOfAssignDecrementStatement( + AssignDecrementStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nField, int nExpression | + n = 0 and + nField = n + 1 and + nExpression = nField + 1 and + ( + none() + or + index = n and result = e.getField() and partialPredicateCall = "Field()" + or + index = nField and result = e.getExpression() and partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfAssignDivideStatement( + AssignDivideStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nField, int nExpression | + n = 0 and + nField = n + 1 and + nExpression = nField + 1 and + ( + none() + or + index = n and result = e.getField() and partialPredicateCall = "Field()" + or + index = nField and result = e.getExpression() and partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfAssignEqualStatement( + AssignEqualStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nField, int nExpression | + n = 0 and + nField = n + 1 and + nExpression = nField + 1 and + ( + none() + or + index = n and result = e.getField() and partialPredicateCall = "Field()" + or + index = nField and result = e.getExpression() and partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfAssignIncrementStatement( + AssignIncrementStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nField, int nExpression | + n = 0 and + nField = n + 1 and + nExpression = nField + 1 and + ( + none() + or + index = n and result = e.getField() and partialPredicateCall = "Field()" + or + index = nField and result = e.getExpression() and partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfAssignMultiplyStatement( + AssignMultiplyStatement e, int index, string partialPredicateCall + ) { + exists(int n, int nField, int nExpression | + n = 0 and + nField = n + 1 and + nExpression = nField + 1 and + ( + none() + or + index = n and result = e.getField() and partialPredicateCall = "Field()" + or + index = nField and result = e.getExpression() and partialPredicateCall = "Expression()" + ) + ) + } + + private Element getImmediateChildOfAssignmentEventHandlerInstance( + AssignmentEventHandlerInstance e, int index, string partialPredicateCall + ) { + exists(int n, int nField, int nQualifierPart | + n = 0 and + nField = n + 1 and + nQualifierPart = nField + 1 and + ( + none() + or + index = n and result = e.getField() and partialPredicateCall = "Field()" + or + index = nField and + result = e.getQualifierPart() and + partialPredicateCall = "QualifierPart()" + ) + ) + } + + private Element getImmediateChildOfParameterDeclaration( + ParameterDeclaration e, int index, string partialPredicateCall + ) { + exists( + int n, int nComments, int nRegion, int nArraySpecification, int nModifierList, int nType, + int nInitialValue + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nArraySpecification = nRegion + 1 and + nModifierList = nArraySpecification + e.getNumberOfModifierLists() and + nType = nModifierList + 1 and + nInitialValue = nType + 1 and + ( + none() + or + index = n and result = e.getComments() and partialPredicateCall = "Comments()" + or + result = e.getRegion(index - nComments) and + partialPredicateCall = "Region(" + (index - nComments).toString() + ")" + or + index = nRegion and + result = e.getArraySpecification() and + partialPredicateCall = "ArraySpecification()" + or + result = e.getModifierList(index - nArraySpecification) and + partialPredicateCall = "ModifierList(" + (index - nArraySpecification).toString() + ")" + or + index = nModifierList and result = e.getType() and partialPredicateCall = "Type()" + or + index = nType and result = e.getInitialValue() and partialPredicateCall = "InitialValue()" + ) + ) + } + + private Element getImmediateChildOfAssignmentEventHandlerClr( + AssignmentEventHandlerClr e, int index, string partialPredicateCall + ) { + exists(int n, int nField | + n = 0 and + nField = n + 1 and + ( + none() + or + index = n and result = e.getField() and partialPredicateCall = "Field()" + ) + ) + } + + cached + Element getImmediateChild(Element e, int index, string partialAccessor) { + // why does this look more complicated than it should? + // * none() simplifies generation, as we can append `or ...` without a special case for the first item + none() + or + result = getImmediateChildOfFile(e, index, partialAccessor) + or + result = getImmediateChildOfLocation(e, index, partialAccessor) + or + result = getImmediateChildOfComment(e, index, partialAccessor) + or + result = getImmediateChildOfArraySpecification(e, index, partialAccessor) + or + result = getImmediateChildOfAttribute(e, index, partialAccessor) + or + result = getImmediateChildOfAttributeExpression(e, index, partialAccessor) + or + result = getImmediateChildOfAttributeList(e, index, partialAccessor) + or + result = getImmediateChildOfAttributeNamedParameterEntry(e, index, partialAccessor) + or + result = getImmediateChildOfClassAccessModifier(e, index, partialAccessor) + or + result = getImmediateChildOfCompilationUnitRegionEntry(e, index, partialAccessor) + or + result = getImmediateChildOfEvaluationActualParameterEntry(e, index, partialAccessor) + or + result = getImmediateChildOfFieldAssignment(e, index, partialAccessor) + or + result = getImmediateChildOfInsertFieldSpecification(e, index, partialAccessor) + or + result = getImmediateChildOfJoinSpecification(e, index, partialAccessor) + or + result = getImmediateChildOfModelElementUsingEntry(e, index, partialAccessor) + or + result = getImmediateChildOfModifier(e, index, partialAccessor) + or + result = getImmediateChildOfQuery(e, index, partialAccessor) + or + result = getImmediateChildOfQueryDataSource(e, index, partialAccessor) + or + result = getImmediateChildOfQueryDataSourceHaving(e, index, partialAccessor) + or + result = getImmediateChildOfQueryDataSourceRange(e, index, partialAccessor) + or + result = getImmediateChildOfQueryDataSourceRelation(e, index, partialAccessor) + or + result = getImmediateChildOfSwitchCase(e, index, partialAccessor) + or + result = getImmediateChildOfSwitchStatementCaseEntry(e, index, partialAccessor) + or + result = getImmediateChildOfTryStatementCatchEntry(e, index, partialAccessor) + or + result = getImmediateChildOfUnspecifiedElement(e, index, partialAccessor) + or + result = getImmediateChildOfAllFieldsSelection(e, index, partialAccessor) + or + result = getImmediateChildOfAnyType(e, index, partialAccessor) + or + result = getImmediateChildOfBooleanType(e, index, partialAccessor) + or + result = getImmediateChildOfBreakStatement(e, index, partialAccessor) + or + result = getImmediateChildOfBreakpointStatement(e, index, partialAccessor) + or + result = getImmediateChildOfCaseDefault(e, index, partialAccessor) + or + result = getImmediateChildOfCaseValues(e, index, partialAccessor) + or + result = getImmediateChildOfCatchAllValues(e, index, partialAccessor) + or + result = getImmediateChildOfCatchExpression(e, index, partialAccessor) + or + result = getImmediateChildOfCatchUpdateConflict(e, index, partialAccessor) + or + result = getImmediateChildOfCompoundStatement(e, index, partialAccessor) + or + result = getImmediateChildOfConditionalExpression(e, index, partialAccessor) + or + result = getImmediateChildOfContainerAttributeLiteral(e, index, partialAccessor) + or + result = getImmediateChildOfContainerType(e, index, partialAccessor) + or + result = getImmediateChildOfContinueStatement(e, index, partialAccessor) + or + result = getImmediateChildOfCrossCompanyAll(e, index, partialAccessor) + or + result = getImmediateChildOfCrossCompanyContainer(e, index, partialAccessor) + or + result = getImmediateChildOfDateTimeType(e, index, partialAccessor) + or + result = getImmediateChildOfDateType(e, index, partialAccessor) + or + result = getImmediateChildOfDblType(e, index, partialAccessor) + or + result = getImmediateChildOfDeleteStatement(e, index, partialAccessor) + or + result = getImmediateChildOfDoWhileStatement(e, index, partialAccessor) + or + result = getImmediateChildOfEmptyExpression(e, index, partialAccessor) + or + result = getImmediateChildOfEmptyStatement(e, index, partialAccessor) + or + result = getImmediateChildOfEnumAttributeLiteral(e, index, partialAccessor) + or + result = getImmediateChildOfEnumerationType(e, index, partialAccessor) + or + result = getImmediateChildOfExplicitSelection(e, index, partialAccessor) + or + result = getImmediateChildOfExpressionCompilationUnit(e, index, partialAccessor) + or + result = getImmediateChildOfExpressionQualifier(e, index, partialAccessor) + or + result = getImmediateChildOfExpressionStatement(e, index, partialAccessor) + or + result = getImmediateChildOfFieldSelection(e, index, partialAccessor) + or + result = getImmediateChildOfFindStatement(e, index, partialAccessor) + or + result = getImmediateChildOfFlushStatement(e, index, partialAccessor) + or + result = getImmediateChildOfForDeclarationAssign(e, index, partialAccessor) + or + result = getImmediateChildOfForFieldPostDecrement(e, index, partialAccessor) + or + result = getImmediateChildOfForFieldPostIncrement(e, index, partialAccessor) + or + result = getImmediateChildOfForFieldPreDecrement(e, index, partialAccessor) + or + result = getImmediateChildOfForFieldPreIncrement(e, index, partialAccessor) + or + result = getImmediateChildOfForStatement(e, index, partialAccessor) + or + result = getImmediateChildOfGlobalOrderElement(e, index, partialAccessor) + or + result = getImmediateChildOfGuidType(e, index, partialAccessor) + or + result = getImmediateChildOfIfStatement(e, index, partialAccessor) + or + result = getImmediateChildOfIfThenElseStatement(e, index, partialAccessor) + or + result = getImmediateChildOfImplicitSelection(e, index, partialAccessor) + or + result = getImmediateChildOfInsertStatement(e, index, partialAccessor) + or + result = getImmediateChildOfInt64Type(e, index, partialAccessor) + or + result = getImmediateChildOfIntType(e, index, partialAccessor) + or + result = getImmediateChildOfIntrinsic(e, index, partialAccessor) + or + result = getImmediateChildOfIntrinsicAttributeLiteral(e, index, partialAccessor) + or + result = getImmediateChildOfLocalDeclarationsStatement(e, index, partialAccessor) + or + result = getImmediateChildOfMoveCursorStatement(e, index, partialAccessor) + or + result = getImmediateChildOfNamedFieldReference(e, index, partialAccessor) + or + result = getImmediateChildOfNewClrArrayExpression(e, index, partialAccessor) + or + result = getImmediateChildOfNumberedFieldReference(e, index, partialAccessor) + or + result = getImmediateChildOfPlaceholder(e, index, partialAccessor) + or + result = getImmediateChildOfPrintStatement(e, index, partialAccessor) + or + result = getImmediateChildOfProvidedType(e, index, partialAccessor) + or + result = getImmediateChildOfQualifiedField(e, index, partialAccessor) + or + result = getImmediateChildOfQualifiedInstanceName(e, index, partialAccessor) + or + result = getImmediateChildOfQualifiedNumberedField(e, index, partialAccessor) + or + result = getImmediateChildOfQualifiedStaticField(e, index, partialAccessor) + or + result = getImmediateChildOfRetryStatement(e, index, partialAccessor) + or + result = getImmediateChildOfReturnStatement(e, index, partialAccessor) + or + result = getImmediateChildOfSearchStatement(e, index, partialAccessor) + or + result = getImmediateChildOfSimpleField(e, index, partialAccessor) + or + result = getImmediateChildOfSimpleInstanceName(e, index, partialAccessor) + or + result = getImmediateChildOfSimpleOrderElement(e, index, partialAccessor) + or + result = getImmediateChildOfStaticField(e, index, partialAccessor) + or + result = getImmediateChildOfSwitchStatement(e, index, partialAccessor) + or + result = getImmediateChildOfTableLookupExpression(e, index, partialAccessor) + or + result = getImmediateChildOfThrowStatement(e, index, partialAccessor) + or + result = getImmediateChildOfTryStatement(e, index, partialAccessor) + or + result = getImmediateChildOfUncheckedStatement(e, index, partialAccessor) + or + result = getImmediateChildOfUpdateStatement(e, index, partialAccessor) + or + result = getImmediateChildOfUsingStatement(e, index, partialAccessor) + or + result = getImmediateChildOfValidTimeStateDate(e, index, partialAccessor) + or + result = getImmediateChildOfValidTimeStateRange(e, index, partialAccessor) + or + result = getImmediateChildOfVarType(e, index, partialAccessor) + or + result = getImmediateChildOfVoidType(e, index, partialAccessor) + or + result = getImmediateChildOfWhileStatement(e, index, partialAccessor) + or + result = getImmediateChildOfXppTypeCompilationUnit(e, index, partialAccessor) + or + result = getImmediateChildOfAddExpression(e, index, partialAccessor) + or + result = getImmediateChildOfAndExpression(e, index, partialAccessor) + or + result = getImmediateChildOfAsClrExpression(e, index, partialAccessor) + or + result = getImmediateChildOfAsExpression(e, index, partialAccessor) + or + result = getImmediateChildOfAssignMultipleFieldStatement(e, index, partialAccessor) + or + result = getImmediateChildOfAvgAggregateSelection(e, index, partialAccessor) + or + result = getImmediateChildOfBooleanAttributeLiteral(e, index, partialAccessor) + or + result = getImmediateChildOfChangeCompanyStatement(e, index, partialAccessor) + or + result = getImmediateChildOfClrEnumerationLiteralExpression(e, index, partialAccessor) + or + result = getImmediateChildOfClrType(e, index, partialAccessor) + or + result = getImmediateChildOfContainerLiteralExpression(e, index, partialAccessor) + or + result = getImmediateChildOfCountAggregateSelection(e, index, partialAccessor) + or + result = getImmediateChildOfDateAttributeLiteral(e, index, partialAccessor) + or + result = getImmediateChildOfDateTimeAttributeLiteral(e, index, partialAccessor) + or + result = getImmediateChildOfDblAttributeLiteral(e, index, partialAccessor) + or + result = getImmediateChildOfDelegate(e, index, partialAccessor) + or + result = getImmediateChildOfDivideExpression(e, index, partialAccessor) + or + result = getImmediateChildOfEnumerationLiteralExpression(e, index, partialAccessor) + or + result = getImmediateChildOfForFieldAssign(e, index, partialAccessor) + or + result = getImmediateChildOfForFieldDecrementAssign(e, index, partialAccessor) + or + result = getImmediateChildOfForFieldIncrementAssign(e, index, partialAccessor) + or + result = getImmediateChildOfFormModelElement(e, index, partialAccessor) + or + result = getImmediateChildOfGuidAttributeLiteral(e, index, partialAccessor) + or + result = getImmediateChildOfInExpression(e, index, partialAccessor) + or + result = getImmediateChildOfInt64AttributeLiteral(e, index, partialAccessor) + or + result = getImmediateChildOfIntAttributeLiteral(e, index, partialAccessor) + or + result = getImmediateChildOfIntegerDivideExpression(e, index, partialAccessor) + or + result = getImmediateChildOfIsClrExpression(e, index, partialAccessor) + or + result = getImmediateChildOfIsExpression(e, index, partialAccessor) + or + result = getImmediateChildOfMaxAggregateSelection(e, index, partialAccessor) + or + result = getImmediateChildOfMethod(e, index, partialAccessor) + or + result = getImmediateChildOfMinAggregateSelection(e, index, partialAccessor) + or + result = getImmediateChildOfModExpression(e, index, partialAccessor) + or + result = getImmediateChildOfMultiplyExpression(e, index, partialAccessor) + or + result = getImmediateChildOfNewCall(e, index, partialAccessor) + or + result = getImmediateChildOfNextExpression(e, index, partialAccessor) + or + result = getImmediateChildOfNotExpression(e, index, partialAccessor) + or + result = getImmediateChildOfNullLiteralExpression(e, index, partialAccessor) + or + result = getImmediateChildOfOrExpression(e, index, partialAccessor) + or + result = getImmediateChildOfPhysicalAndExpression(e, index, partialAccessor) + or + result = getImmediateChildOfPhysicalNotExpression(e, index, partialAccessor) + or + result = getImmediateChildOfPhysicalOrExpression(e, index, partialAccessor) + or + result = getImmediateChildOfPhysicalXorExpression(e, index, partialAccessor) + or + result = getImmediateChildOfProvidedTypeStaticCall(e, index, partialAccessor) + or + result = getImmediateChildOfQualifiedStaticFieldExpression(e, index, partialAccessor) + or + result = getImmediateChildOfQueryModelElement(e, index, partialAccessor) + or + result = getImmediateChildOfShiftLeftExpression(e, index, partialAccessor) + or + result = getImmediateChildOfShiftRightExpression(e, index, partialAccessor) + or + result = getImmediateChildOfStaticQualifier(e, index, partialAccessor) + or + result = getImmediateChildOfStringAttributeLiteral(e, index, partialAccessor) + or + result = getImmediateChildOfStringLengthType(e, index, partialAccessor) + or + result = getImmediateChildOfSubtractExpression(e, index, partialAccessor) + or + result = getImmediateChildOfSumAggregateSelection(e, index, partialAccessor) + or + result = getImmediateChildOfSuperCall(e, index, partialAccessor) + or + result = getImmediateChildOfTable(e, index, partialAccessor) + or + result = getImmediateChildOfTtsAbortStatement(e, index, partialAccessor) + or + result = getImmediateChildOfTtsBeginStatement(e, index, partialAccessor) + or + result = getImmediateChildOfTtsEndStatement(e, index, partialAccessor) + or + result = getImmediateChildOfUnaryMinusExpression(e, index, partialAccessor) + or + result = getImmediateChildOfAssignPostDecrementStatement(e, index, partialAccessor) + or + result = getImmediateChildOfAssignPostIncrementStatement(e, index, partialAccessor) + or + result = getImmediateChildOfAssignPreDecrementStatement(e, index, partialAccessor) + or + result = getImmediateChildOfAssignPreIncrementStatement(e, index, partialAccessor) + or + result = getImmediateChildOfBooleanLiteralExpression(e, index, partialAccessor) + or + result = getImmediateChildOfClass(e, index, partialAccessor) + or + result = getImmediateChildOfDateLiteralExpression(e, index, partialAccessor) + or + result = getImmediateChildOfDateTimeLiteralExpression(e, index, partialAccessor) + or + result = getImmediateChildOfEqualExpression(e, index, partialAccessor) + or + result = getImmediateChildOfFormControl(e, index, partialAccessor) + or + result = getImmediateChildOfFormDataField(e, index, partialAccessor) + or + result = getImmediateChildOfFormDataSource(e, index, partialAccessor) + or + result = getImmediateChildOfFormElementType(e, index, partialAccessor) + or + result = getImmediateChildOfFunctionCall(e, index, partialAccessor) + or + result = getImmediateChildOfFunctionDeclaration(e, index, partialAccessor) + or + result = getImmediateChildOfGreaterThanExpression(e, index, partialAccessor) + or + result = getImmediateChildOfGreaterThanOrEqualExpression(e, index, partialAccessor) + or + result = getImmediateChildOfInt64LiteralExpression(e, index, partialAccessor) + or + result = getImmediateChildOfIntLiteralExpression(e, index, partialAccessor) + or + result = getImmediateChildOfInterface(e, index, partialAccessor) + or + result = getImmediateChildOfLessThanExpression(e, index, partialAccessor) + or + result = getImmediateChildOfLessThanOrEqualExpression(e, index, partialAccessor) + or + result = getImmediateChildOfLikeExpression(e, index, partialAccessor) + or + result = getImmediateChildOfNewClrCall(e, index, partialAccessor) + or + result = getImmediateChildOfNotEqualExpression(e, index, partialAccessor) + or + result = getImmediateChildOfQualifiedCall(e, index, partialAccessor) + or + result = getImmediateChildOfQualifiedStaticCall(e, index, partialAccessor) + or + result = getImmediateChildOfRealLiteralExpression(e, index, partialAccessor) + or + result = getImmediateChildOfStaticMethodCall(e, index, partialAccessor) + or + result = getImmediateChildOfStringLiteralExpression(e, index, partialAccessor) + or + result = getImmediateChildOfTableFieldDeclaration(e, index, partialAccessor) + or + result = getImmediateChildOfAssignDecrementStatement(e, index, partialAccessor) + or + result = getImmediateChildOfAssignDivideStatement(e, index, partialAccessor) + or + result = getImmediateChildOfAssignEqualStatement(e, index, partialAccessor) + or + result = getImmediateChildOfAssignIncrementStatement(e, index, partialAccessor) + or + result = getImmediateChildOfAssignMultiplyStatement(e, index, partialAccessor) + or + result = getImmediateChildOfAssignmentEventHandlerInstance(e, index, partialAccessor) + or + result = getImmediateChildOfParameterDeclaration(e, index, partialAccessor) + or + result = getImmediateChildOfAssignmentEventHandlerClr(e, index, partialAccessor) + } +} + +/** + * Gets the "immediate" parent of `e`. "Immediate" means not taking into account node resolution: for example + * if `e` has conversions, `getImmediateParent(e)` will give the innermost conversion in the hidden AST. + */ +Element getImmediateParent(Element e) { + // `unique` is used here to tell the optimizer that there is in fact only one result + // this is tested by the `library-tests/parent/no_double_parents.ql` test + result = unique(Element x | e = Impl::getImmediateChild(x, _, _) | x) +} + +/** + * Gets the immediate child indexed at `index`. Indexes are not guaranteed to be contiguous, but are guaranteed to be distinct. + */ +Element getImmediateChild(Element e, int index) { result = Impl::getImmediateChild(e, index, _) } + +/** + * Gets the immediate child indexed at `index`. Indexes are not guaranteed to be contiguous, but are guaranteed to be distinct. `accessor` is bound the member predicate call resulting in the given child. + */ +Element getImmediateChildAndAccessor(Element e, int index, string accessor) { + exists(string partialAccessor | + result = Impl::getImmediateChild(e, index, partialAccessor) and + accessor = "get" + partialAccessor + ) +} + +/** + * Gets the child indexed at `index`. Indexes are not guaranteed to be contiguous, but are guaranteed to be distinct. `accessor` is bound the member predicate call resulting in the given child. + */ +Element getChildAndAccessor(Element e, int index, string accessor) { + exists(string partialAccessor | + result = Impl::getImmediateChild(e, index, partialAccessor).resolve() and + accessor = "get" + partialAccessor + ) +} + +/** + * Gets the child indexed at `index`. Indexes are not guaranteed to be contiguous, but are guaranteed to be distinct. `accessor` is bound the member predicate call resulting in the given child. + */ +Element getChild(Element e, int index) { result = Impl::getImmediateChild(e, index, _).resolve() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/PhysicalAndExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/PhysicalAndExpression.qll new file mode 100644 index 000000000000..c0a42d7717c8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/PhysicalAndExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `PhysicalAndExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.BinaryExpressionImpl::Impl as BinaryExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `PhysicalAndExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::PhysicalAndExpression` class directly. + * Use the subclass `PhysicalAndExpression`, where the following predicates are available. + */ + class PhysicalAndExpression extends Synth::TPhysicalAndExpression, + BinaryExpressionImpl::BinaryExpression + { + override string getAPrimaryQlClass() { result = "PhysicalAndExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/PhysicalNotExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/PhysicalNotExpression.qll new file mode 100644 index 000000000000..63128cd87d53 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/PhysicalNotExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `PhysicalNotExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.UnaryExpressionImpl::Impl as UnaryExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `PhysicalNotExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::PhysicalNotExpression` class directly. + * Use the subclass `PhysicalNotExpression`, where the following predicates are available. + */ + class PhysicalNotExpression extends Synth::TPhysicalNotExpression, + UnaryExpressionImpl::UnaryExpression + { + override string getAPrimaryQlClass() { result = "PhysicalNotExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/PhysicalOrExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/PhysicalOrExpression.qll new file mode 100644 index 000000000000..a064be89452a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/PhysicalOrExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `PhysicalOrExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.BinaryExpressionImpl::Impl as BinaryExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `PhysicalOrExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::PhysicalOrExpression` class directly. + * Use the subclass `PhysicalOrExpression`, where the following predicates are available. + */ + class PhysicalOrExpression extends Synth::TPhysicalOrExpression, + BinaryExpressionImpl::BinaryExpression + { + override string getAPrimaryQlClass() { result = "PhysicalOrExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/PhysicalXorExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/PhysicalXorExpression.qll new file mode 100644 index 000000000000..bc53dd3afa46 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/PhysicalXorExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `PhysicalXorExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.BinaryExpressionImpl::Impl as BinaryExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `PhysicalXorExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::PhysicalXorExpression` class directly. + * Use the subclass `PhysicalXorExpression`, where the following predicates are available. + */ + class PhysicalXorExpression extends Synth::TPhysicalXorExpression, + BinaryExpressionImpl::BinaryExpression + { + override string getAPrimaryQlClass() { result = "PhysicalXorExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Placeholder.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Placeholder.qll new file mode 100644 index 000000000000..82ab8668e5ae --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Placeholder.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Placeholder`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ExpressionImpl::Impl as ExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `Placeholder` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Placeholder` class directly. + * Use the subclass `Placeholder`, where the following predicates are available. + */ + class Placeholder extends Synth::TPlaceholder, ExpressionImpl::Expression { + override string getAPrimaryQlClass() { result = "Placeholder" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/PrintStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/PrintStatement.qll new file mode 100644 index 000000000000..d1c158375e5a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/PrintStatement.qll @@ -0,0 +1,44 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `PrintStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `PrintStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::PrintStatement` class directly. + * Use the subclass `PrintStatement`, where the following predicates are available. + */ + class PrintStatement extends Synth::TPrintStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "PrintStatement" } + + /** + * Gets the `index`th expression of this print statement (0-based). + */ + Expression getExpression(int index) { + result = + Synth::convertExpressionFromRaw(Synth::convertPrintStatementToRaw(this) + .(Raw::PrintStatement) + .getExpression(index)) + } + + /** + * Gets any of the expressions of this print statement. + */ + final Expression getAnExpression() { result = this.getExpression(_) } + + /** + * Gets the number of expressions of this print statement. + */ + final int getNumberOfExpressions() { result = count(int i | exists(this.getExpression(i))) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ProvidedType.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ProvidedType.qll new file mode 100644 index 000000000000..4fee7abdcfad --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ProvidedType.qll @@ -0,0 +1,56 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ProvidedType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.internal.XppTypeImpl::Impl as XppTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ProvidedType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ProvidedType` class directly. + * Use the subclass `ProvidedType`, where the following predicates are available. + */ + class ProvidedType extends Synth::TProvidedType, XppTypeImpl::XppType { + override string getAPrimaryQlClass() { result = "ProvidedType" } + + /** + * Gets the `index`th argument list of this provided type (0-based). + */ + Expression getArgumentList(int index) { + result = + Synth::convertExpressionFromRaw(Synth::convertProvidedTypeToRaw(this) + .(Raw::ProvidedType) + .getArgumentList(index)) + } + + /** + * Gets any of the argument lists of this provided type. + */ + final Expression getAnArgumentList() { result = this.getArgumentList(_) } + + /** + * Gets the number of argument lists of this provided type. + */ + final int getNumberOfArgumentLists() { result = count(int i | exists(this.getArgumentList(i))) } + + /** + * Gets the name of this provided type, if it exists. + */ + string getName() { + result = Synth::convertProvidedTypeToRaw(this).(Raw::ProvidedType).getName() + } + + /** + * Holds if `getName()` exists. + */ + final predicate hasName() { exists(this.getName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ProvidedTypeStaticCall.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ProvidedTypeStaticCall.qll new file mode 100644 index 000000000000..549bcc226019 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ProvidedTypeStaticCall.qll @@ -0,0 +1,54 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ProvidedTypeStaticCall`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.EvaluationImpl::Impl as EvaluationImpl +import codeql.xpp.elements.ProvidedType + +/** + * INTERNAL: This module contains the fully generated definition of `ProvidedTypeStaticCall` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ProvidedTypeStaticCall` class directly. + * Use the subclass `ProvidedTypeStaticCall`, where the following predicates are available. + */ + class ProvidedTypeStaticCall extends Synth::TProvidedTypeStaticCall, EvaluationImpl::Evaluation { + override string getAPrimaryQlClass() { result = "ProvidedTypeStaticCall" } + + /** + * Gets the method name of this provided type static call, if it exists. + */ + string getMethodName() { + result = + Synth::convertProvidedTypeStaticCallToRaw(this) + .(Raw::ProvidedTypeStaticCall) + .getMethodName() + } + + /** + * Holds if `getMethodName()` exists. + */ + final predicate hasMethodName() { exists(this.getMethodName()) } + + /** + * Gets the provided type of this provided type static call, if it exists. + */ + ProvidedType getProvidedType() { + result = + Synth::convertProvidedTypeFromRaw(Synth::convertProvidedTypeStaticCallToRaw(this) + .(Raw::ProvidedTypeStaticCall) + .getProvidedType()) + } + + /** + * Holds if `getProvidedType()` exists. + */ + final predicate hasProvidedType() { exists(this.getProvidedType()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/PureSynthConstructors.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/PureSynthConstructors.qll new file mode 100644 index 000000000000..547b4755aeae --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/PureSynthConstructors.qll @@ -0,0 +1,5 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module exports all modules providing `Element` subclasses. + */ + diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedCall.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedCall.qll new file mode 100644 index 000000000000..73e950c60c6a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedCall.qll @@ -0,0 +1,51 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `QualifiedCall`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.GenericEvaluationImpl::Impl as GenericEvaluationImpl +import codeql.xpp.elements.Qualifier + +/** + * INTERNAL: This module contains the fully generated definition of `QualifiedCall` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::QualifiedCall` class directly. + * Use the subclass `QualifiedCall`, where the following predicates are available. + */ + class QualifiedCall extends Synth::TQualifiedCall, GenericEvaluationImpl::GenericEvaluation { + override string getAPrimaryQlClass() { result = "QualifiedCall" } + + /** + * Gets the method name of this qualified call, if it exists. + */ + string getMethodName() { + result = Synth::convertQualifiedCallToRaw(this).(Raw::QualifiedCall).getMethodName() + } + + /** + * Holds if `getMethodName()` exists. + */ + final predicate hasMethodName() { exists(this.getMethodName()) } + + /** + * Gets the qualifier of this qualified call, if it exists. + */ + Qualifier getQualifier() { + result = + Synth::convertQualifierFromRaw(Synth::convertQualifiedCallToRaw(this) + .(Raw::QualifiedCall) + .getQualifier()) + } + + /** + * Holds if `getQualifier()` exists. + */ + final predicate hasQualifier() { exists(this.getQualifier()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedField.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedField.qll new file mode 100644 index 000000000000..280696c96645 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedField.qll @@ -0,0 +1,47 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `QualifiedField`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.FieldSpecificationImpl::Impl as FieldSpecificationImpl + +/** + * INTERNAL: This module contains the fully generated definition of `QualifiedField` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::QualifiedField` class directly. + * Use the subclass `QualifiedField`, where the following predicates are available. + */ + class QualifiedField extends Synth::TQualifiedField, FieldSpecificationImpl::FieldSpecification { + override string getAPrimaryQlClass() { result = "QualifiedField" } + + /** + * Gets the extension name of this qualified field, if it exists. + */ + string getExtensionName() { + result = Synth::convertQualifiedFieldToRaw(this).(Raw::QualifiedField).getExtensionName() + } + + /** + * Holds if `getExtensionName()` exists. + */ + final predicate hasExtensionName() { exists(this.getExtensionName()) } + + /** + * Gets the name of this qualified field, if it exists. + */ + string getName() { + result = Synth::convertQualifiedFieldToRaw(this).(Raw::QualifiedField).getName() + } + + /** + * Holds if `getName()` exists. + */ + final predicate hasName() { exists(this.getName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedInstanceName.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedInstanceName.qll new file mode 100644 index 000000000000..4f37d30c8344 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedInstanceName.qll @@ -0,0 +1,67 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `QualifiedInstanceName`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.internal.InstanceNameImpl::Impl as InstanceNameImpl +import codeql.xpp.elements.Qualifier + +/** + * INTERNAL: This module contains the fully generated definition of `QualifiedInstanceName` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::QualifiedInstanceName` class directly. + * Use the subclass `QualifiedInstanceName`, where the following predicates are available. + */ + class QualifiedInstanceName extends Synth::TQualifiedInstanceName, InstanceNameImpl::InstanceName { + override string getAPrimaryQlClass() { result = "QualifiedInstanceName" } + + /** + * Gets the index of this qualified instance name, if it exists. + */ + Expression getIndex() { + result = + Synth::convertExpressionFromRaw(Synth::convertQualifiedInstanceNameToRaw(this) + .(Raw::QualifiedInstanceName) + .getIndex()) + } + + /** + * Holds if `getIndex()` exists. + */ + final predicate hasIndex() { exists(this.getIndex()) } + + /** + * Gets the name of this qualified instance name, if it exists. + */ + string getName() { + result = Synth::convertQualifiedInstanceNameToRaw(this).(Raw::QualifiedInstanceName).getName() + } + + /** + * Holds if `getName()` exists. + */ + final predicate hasName() { exists(this.getName()) } + + /** + * Gets the qualifier of this qualified instance name, if it exists. + */ + Qualifier getQualifier() { + result = + Synth::convertQualifierFromRaw(Synth::convertQualifiedInstanceNameToRaw(this) + .(Raw::QualifiedInstanceName) + .getQualifier()) + } + + /** + * Holds if `getQualifier()` exists. + */ + final predicate hasQualifier() { exists(this.getQualifier()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedNumberedField.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedNumberedField.qll new file mode 100644 index 000000000000..7af523a091ef --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedNumberedField.qll @@ -0,0 +1,41 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `QualifiedNumberedField`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.internal.FieldSpecificationImpl::Impl as FieldSpecificationImpl + +/** + * INTERNAL: This module contains the fully generated definition of `QualifiedNumberedField` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::QualifiedNumberedField` class directly. + * Use the subclass `QualifiedNumberedField`, where the following predicates are available. + */ + class QualifiedNumberedField extends Synth::TQualifiedNumberedField, + FieldSpecificationImpl::FieldSpecification + { + override string getAPrimaryQlClass() { result = "QualifiedNumberedField" } + + /** + * Gets the field number of this qualified numbered field, if it exists. + */ + Expression getFieldNumber() { + result = + Synth::convertExpressionFromRaw(Synth::convertQualifiedNumberedFieldToRaw(this) + .(Raw::QualifiedNumberedField) + .getFieldNumber()) + } + + /** + * Holds if `getFieldNumber()` exists. + */ + final predicate hasFieldNumber() { exists(this.getFieldNumber()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedStaticCall.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedStaticCall.qll new file mode 100644 index 000000000000..71d1e8419058 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedStaticCall.qll @@ -0,0 +1,97 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `QualifiedStaticCall`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.GenericEvaluationImpl::Impl as GenericEvaluationImpl +import codeql.xpp.elements.Qualifier +import codeql.xpp.elements.XppType + +/** + * INTERNAL: This module contains the fully generated definition of `QualifiedStaticCall` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::QualifiedStaticCall` class directly. + * Use the subclass `QualifiedStaticCall`, where the following predicates are available. + */ + class QualifiedStaticCall extends Synth::TQualifiedStaticCall, + GenericEvaluationImpl::GenericEvaluation + { + override string getAPrimaryQlClass() { result = "QualifiedStaticCall" } + + /** + * Gets the class name of this qualified static call, if it exists. + */ + string getClassName() { + result = + Synth::convertQualifiedStaticCallToRaw(this).(Raw::QualifiedStaticCall).getClassName() + } + + /** + * Holds if `getClassName()` exists. + */ + final predicate hasClassName() { exists(this.getClassName()) } + + /** + * Gets the `index`th class type argument list of this qualified static call (0-based). + */ + XppType getClassTypeArgumentList(int index) { + result = + Synth::convertXppTypeFromRaw(Synth::convertQualifiedStaticCallToRaw(this) + .(Raw::QualifiedStaticCall) + .getClassTypeArgumentList(index)) + } + + /** + * Gets any of the class type argument lists of this qualified static call. + */ + final XppType getAClassTypeArgumentList() { result = this.getClassTypeArgumentList(_) } + + /** + * Gets the number of class type argument lists of this qualified static call. + */ + final int getNumberOfClassTypeArgumentLists() { + result = count(int i | exists(this.getClassTypeArgumentList(i))) + } + + /** + * Holds if this qualified static call is table map call. + */ + predicate isTableMapCall() { + Synth::convertQualifiedStaticCallToRaw(this).(Raw::QualifiedStaticCall).isTableMapCall() + } + + /** + * Gets the method name of this qualified static call, if it exists. + */ + string getMethodName() { + result = + Synth::convertQualifiedStaticCallToRaw(this).(Raw::QualifiedStaticCall).getMethodName() + } + + /** + * Holds if `getMethodName()` exists. + */ + final predicate hasMethodName() { exists(this.getMethodName()) } + + /** + * Gets the qualifier of this qualified static call, if it exists. + */ + Qualifier getQualifier() { + result = + Synth::convertQualifierFromRaw(Synth::convertQualifiedStaticCallToRaw(this) + .(Raw::QualifiedStaticCall) + .getQualifier()) + } + + /** + * Holds if `getQualifier()` exists. + */ + final predicate hasQualifier() { exists(this.getQualifier()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedStaticField.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedStaticField.qll new file mode 100644 index 000000000000..819d3fa02859 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedStaticField.qll @@ -0,0 +1,57 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `QualifiedStaticField`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.FieldSpecificationImpl::Impl as FieldSpecificationImpl + +/** + * INTERNAL: This module contains the fully generated definition of `QualifiedStaticField` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::QualifiedStaticField` class directly. + * Use the subclass `QualifiedStaticField`, where the following predicates are available. + */ + class QualifiedStaticField extends Synth::TQualifiedStaticField, + FieldSpecificationImpl::FieldSpecification + { + override string getAPrimaryQlClass() { result = "QualifiedStaticField" } + + /** + * Gets the class name of this qualified static field, if it exists. + */ + string getClassName() { + result = + Synth::convertQualifiedStaticFieldToRaw(this).(Raw::QualifiedStaticField).getClassName() + } + + /** + * Holds if `getClassName()` exists. + */ + final predicate hasClassName() { exists(this.getClassName()) } + + /** + * Holds if this qualified static field is enum. + */ + predicate isEnum() { + Synth::convertQualifiedStaticFieldToRaw(this).(Raw::QualifiedStaticField).isEnum() + } + + /** + * Gets the name of this qualified static field, if it exists. + */ + string getName() { + result = Synth::convertQualifiedStaticFieldToRaw(this).(Raw::QualifiedStaticField).getName() + } + + /** + * Holds if `getName()` exists. + */ + final predicate hasName() { exists(this.getName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedStaticFieldExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedStaticFieldExpression.qll new file mode 100644 index 000000000000..4589cdc4b47c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QualifiedStaticFieldExpression.qll @@ -0,0 +1,64 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `QualifiedStaticFieldExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.FieldExpressionImpl::Impl as FieldExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `QualifiedStaticFieldExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::QualifiedStaticFieldExpression` class directly. + * Use the subclass `QualifiedStaticFieldExpression`, where the following predicates are available. + */ + class QualifiedStaticFieldExpression extends Synth::TQualifiedStaticFieldExpression, + FieldExpressionImpl::FieldExpression + { + override string getAPrimaryQlClass() { result = "QualifiedStaticFieldExpression" } + + /** + * Gets the class name of this qualified static field expression, if it exists. + */ + string getClassName() { + result = + Synth::convertQualifiedStaticFieldExpressionToRaw(this) + .(Raw::QualifiedStaticFieldExpression) + .getClassName() + } + + /** + * Holds if `getClassName()` exists. + */ + final predicate hasClassName() { exists(this.getClassName()) } + + /** + * Holds if this qualified static field expression is static. + */ + predicate isStatic() { + Synth::convertQualifiedStaticFieldExpressionToRaw(this) + .(Raw::QualifiedStaticFieldExpression) + .isStatic() + } + + /** + * Gets the name of this qualified static field expression, if it exists. + */ + string getName() { + result = + Synth::convertQualifiedStaticFieldExpressionToRaw(this) + .(Raw::QualifiedStaticFieldExpression) + .getName() + } + + /** + * Holds if `getName()` exists. + */ + final predicate hasName() { exists(this.getName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Qualifier.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Qualifier.qll new file mode 100644 index 000000000000..85d834784947 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Qualifier.qll @@ -0,0 +1,21 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Qualifier`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl + +/** + * INTERNAL: This module contains the fully generated definition of `Qualifier` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Qualifier` class directly. + * Use the subclass `Qualifier`, where the following predicates are available. + */ + class Qualifier extends Synth::TQualifier, AstImpl::Ast { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Query.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Query.qll new file mode 100644 index 000000000000..85dc43eb8956 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Query.qll @@ -0,0 +1,188 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Query`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl +import codeql.xpp.elements.CrossCompany +import codeql.xpp.elements.Expression +import codeql.xpp.elements.JoinSpecification +import codeql.xpp.elements.OrderElement +import codeql.xpp.elements.Selection +import codeql.xpp.elements.ValidTimeState + +/** + * INTERNAL: This module contains the fully generated definition of `Query` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Query` class directly. + * Use the subclass `Query`, where the following predicates are available. + */ + class Query extends Synth::TQuery, AstImpl::Ast { + override string getAPrimaryQlClass() { result = "Query" } + + /** + * Gets the buffer name of this query, if it exists. + */ + string getBufferName() { result = Synth::convertQueryToRaw(this).(Raw::Query).getBufferName() } + + /** + * Holds if `getBufferName()` exists. + */ + final predicate hasBufferName() { exists(this.getBufferName()) } + + /** + * Gets the cross company of this query, if it exists. + */ + CrossCompany getCrossCompany() { + result = + Synth::convertCrossCompanyFromRaw(Synth::convertQueryToRaw(this) + .(Raw::Query) + .getCrossCompany()) + } + + /** + * Holds if `getCrossCompany()` exists. + */ + final predicate hasCrossCompany() { exists(this.getCrossCompany()) } + + /** + * Gets the `index`th group by element of this query (0-based). + */ + OrderElement getGroupByElement(int index) { + result = + Synth::convertOrderElementFromRaw(Synth::convertQueryToRaw(this) + .(Raw::Query) + .getGroupByElement(index)) + } + + /** + * Gets any of the group by elements of this query. + */ + final OrderElement getAGroupByElement() { result = this.getGroupByElement(_) } + + /** + * Gets the number of group by elements of this query. + */ + final int getNumberOfGroupByElements() { + result = count(int i | exists(this.getGroupByElement(i))) + } + + /** + * Gets the index name of this query, if it exists. + */ + string getIndexName() { result = Synth::convertQueryToRaw(this).(Raw::Query).getIndexName() } + + /** + * Holds if `getIndexName()` exists. + */ + final predicate hasIndexName() { exists(this.getIndexName()) } + + /** + * Gets the joins of this query, if it exists. + */ + JoinSpecification getJoins() { + result = + Synth::convertJoinSpecificationFromRaw(Synth::convertQueryToRaw(this) + .(Raw::Query) + .getJoins()) + } + + /** + * Holds if `getJoins()` exists. + */ + final predicate hasJoins() { exists(this.getJoins()) } + + /** + * Gets the `index`th order by element of this query (0-based). + */ + OrderElement getOrderByElement(int index) { + result = + Synth::convertOrderElementFromRaw(Synth::convertQueryToRaw(this) + .(Raw::Query) + .getOrderByElement(index)) + } + + /** + * Gets any of the order by elements of this query. + */ + final OrderElement getAnOrderByElement() { result = this.getOrderByElement(_) } + + /** + * Gets the number of order by elements of this query. + */ + final int getNumberOfOrderByElements() { + result = count(int i | exists(this.getOrderByElement(i))) + } + + /** + * Gets the selection of this query, if it exists. + */ + Selection getSelection() { + result = + Synth::convertSelectionFromRaw(Synth::convertQueryToRaw(this).(Raw::Query).getSelection()) + } + + /** + * Holds if `getSelection()` exists. + */ + final predicate hasSelection() { exists(this.getSelection()) } + + /** + * Gets the `index`th selection hint of this query (0-based). + */ + string getSelectionHint(int index) { + result = Synth::convertQueryToRaw(this).(Raw::Query).getSelectionHint(index) + } + + /** + * Gets any of the selection hints of this query. + */ + final string getASelectionHint() { result = this.getSelectionHint(_) } + + /** + * Gets the number of selection hints of this query. + */ + final int getNumberOfSelectionHints() { + result = count(int i | exists(this.getSelectionHint(i))) + } + + /** + * Holds if this query uses hint. + */ + predicate usesHint() { Synth::convertQueryToRaw(this).(Raw::Query).usesHint() } + + /** + * Gets the valid time state of this query, if it exists. + */ + ValidTimeState getValidTimeState() { + result = + Synth::convertValidTimeStateFromRaw(Synth::convertQueryToRaw(this) + .(Raw::Query) + .getValidTimeState()) + } + + /** + * Holds if `getValidTimeState()` exists. + */ + final predicate hasValidTimeState() { exists(this.getValidTimeState()) } + + /** + * Gets the where of this query, if it exists. + */ + Expression getWhere() { + result = + Synth::convertExpressionFromRaw(Synth::convertQueryToRaw(this).(Raw::Query).getWhere()) + } + + /** + * Holds if `getWhere()` exists. + */ + final predicate hasWhere() { exists(this.getWhere()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/QueryDataSource.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QueryDataSource.qll new file mode 100644 index 000000000000..2c960587b189 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QueryDataSource.qll @@ -0,0 +1,280 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `QueryDataSource`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl +import codeql.xpp.elements.GlobalOrderElement +import codeql.xpp.elements.QueryDataSource +import codeql.xpp.elements.QueryDataSourceHaving +import codeql.xpp.elements.QueryDataSourceRange +import codeql.xpp.elements.QueryDataSourceRelation + +private class QueryDataSourceAlias = QueryDataSource; + +/** + * INTERNAL: This module contains the fully generated definition of `QueryDataSource` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::QueryDataSource` class directly. + * Use the subclass `QueryDataSource`, where the following predicates are available. + */ + class QueryDataSource extends Synth::TQueryDataSource, AstImpl::Ast { + override string getAPrimaryQlClass() { result = "QueryDataSource" } + + /** + * Gets the `index`th data source of this query data source (0-based). + */ + QueryDataSourceAlias getDataSource(int index) { + result = + Synth::convertQueryDataSourceFromRaw(Synth::convertQueryDataSourceToRaw(this) + .(Raw::QueryDataSource) + .getDataSource(index)) + } + + /** + * Gets any of the data sources of this query data source. + */ + final QueryDataSourceAlias getADataSource() { result = this.getDataSource(_) } + + /** + * Gets the number of data sources of this query data source. + */ + final int getNumberOfDataSources() { result = count(int i | exists(this.getDataSource(i))) } + + /** + * Gets the element type name of this query data source, if it exists. + */ + string getElementTypeName() { + result = Synth::convertQueryDataSourceToRaw(this).(Raw::QueryDataSource).getElementTypeName() + } + + /** + * Holds if `getElementTypeName()` exists. + */ + final predicate hasElementTypeName() { exists(this.getElementTypeName()) } + + /** + * Gets the fetch mode of this query data source, if it exists. + */ + string getFetchMode() { + result = Synth::convertQueryDataSourceToRaw(this).(Raw::QueryDataSource).getFetchMode() + } + + /** + * Holds if `getFetchMode()` exists. + */ + final predicate hasFetchMode() { exists(this.getFetchMode()) } + + /** + * Gets the `index`th field of this query data source (0-based). + */ + string getField(int index) { + result = Synth::convertQueryDataSourceToRaw(this).(Raw::QueryDataSource).getField(index) + } + + /** + * Gets any of the fields of this query data source. + */ + final string getAField() { result = this.getField(_) } + + /** + * Gets the number of fields of this query data source. + */ + final int getNumberOfFields() { result = count(int i | exists(this.getField(i))) } + + /** + * Holds if this query data source first fast. + */ + predicate firstFast() { + Synth::convertQueryDataSourceToRaw(this).(Raw::QueryDataSource).firstFast() + } + + /** + * Holds if this query data source first only. + */ + predicate firstOnly() { + Synth::convertQueryDataSourceToRaw(this).(Raw::QueryDataSource).firstOnly() + } + + /** + * Gets the `index`th group by of this query data source (0-based). + */ + GlobalOrderElement getGroupBy(int index) { + result = + Synth::convertGlobalOrderElementFromRaw(Synth::convertQueryDataSourceToRaw(this) + .(Raw::QueryDataSource) + .getGroupBy(index)) + } + + /** + * Gets any of the group bies of this query data source. + */ + final GlobalOrderElement getAGroupBy() { result = this.getGroupBy(_) } + + /** + * Gets the number of group bies of this query data source. + */ + final int getNumberOfGroupBies() { result = count(int i | exists(this.getGroupBy(i))) } + + /** + * Gets the `index`th having of this query data source (0-based). + */ + QueryDataSourceHaving getHaving(int index) { + result = + Synth::convertQueryDataSourceHavingFromRaw(Synth::convertQueryDataSourceToRaw(this) + .(Raw::QueryDataSource) + .getHaving(index)) + } + + /** + * Gets any of the havings of this query data source. + */ + final QueryDataSourceHaving getAHaving() { result = this.getHaving(_) } + + /** + * Gets the number of havings of this query data source. + */ + final int getNumberOfHavings() { result = count(int i | exists(this.getHaving(i))) } + + /** + * Gets the join mode of this query data source, if it exists. + */ + string getJoinMode() { + result = Synth::convertQueryDataSourceToRaw(this).(Raw::QueryDataSource).getJoinMode() + } + + /** + * Holds if `getJoinMode()` exists. + */ + final predicate hasJoinMode() { exists(this.getJoinMode()) } + + /** + * Gets the name of this query data source, if it exists. + */ + string getName() { + result = Synth::convertQueryDataSourceToRaw(this).(Raw::QueryDataSource).getName() + } + + /** + * Holds if `getName()` exists. + */ + final predicate hasName() { exists(this.getName()) } + + /** + * Gets the `index`th order by of this query data source (0-based). + */ + GlobalOrderElement getOrderBy(int index) { + result = + Synth::convertGlobalOrderElementFromRaw(Synth::convertQueryDataSourceToRaw(this) + .(Raw::QueryDataSource) + .getOrderBy(index)) + } + + /** + * Gets any of the order bies of this query data source. + */ + final GlobalOrderElement getAnOrderBy() { result = this.getOrderBy(_) } + + /** + * Gets the number of order bies of this query data source. + */ + final int getNumberOfOrderBies() { result = count(int i | exists(this.getOrderBy(i))) } + + /** + * Gets the parent data source of this query data source, if it exists. + */ + QueryDataSourceAlias getParentDataSource() { + result = + Synth::convertQueryDataSourceFromRaw(Synth::convertQueryDataSourceToRaw(this) + .(Raw::QueryDataSource) + .getParentDataSource()) + } + + /** + * Holds if `getParentDataSource()` exists. + */ + final predicate hasParentDataSource() { exists(this.getParentDataSource()) } + + /** + * Gets the path contribution of this query data source, if it exists. + */ + string getPathContribution() { + result = Synth::convertQueryDataSourceToRaw(this).(Raw::QueryDataSource).getPathContribution() + } + + /** + * Holds if `getPathContribution()` exists. + */ + final predicate hasPathContribution() { exists(this.getPathContribution()) } + + /** + * Gets the `index`th range of this query data source (0-based). + */ + QueryDataSourceRange getRange(int index) { + result = + Synth::convertQueryDataSourceRangeFromRaw(Synth::convertQueryDataSourceToRaw(this) + .(Raw::QueryDataSource) + .getRange(index)) + } + + /** + * Gets any of the ranges of this query data source. + */ + final QueryDataSourceRange getARange() { result = this.getRange(_) } + + /** + * Gets the number of ranges of this query data source. + */ + final int getNumberOfRanges() { result = count(int i | exists(this.getRange(i))) } + + /** + * Gets the `index`th relation of this query data source (0-based). + */ + QueryDataSourceRelation getRelation(int index) { + result = + Synth::convertQueryDataSourceRelationFromRaw(Synth::convertQueryDataSourceToRaw(this) + .(Raw::QueryDataSource) + .getRelation(index)) + } + + /** + * Gets any of the relations of this query data source. + */ + final QueryDataSourceRelation getARelation() { result = this.getRelation(_) } + + /** + * Gets the number of relations of this query data source. + */ + final int getNumberOfRelations() { result = count(int i | exists(this.getRelation(i))) } + + /** + * Holds if this query data source select with repeatable read. + */ + predicate selectWithRepeatableRead() { + Synth::convertQueryDataSourceToRaw(this).(Raw::QueryDataSource).selectWithRepeatableRead() + } + + /** + * Gets the table of this query data source, if it exists. + */ + string getTable() { + result = Synth::convertQueryDataSourceToRaw(this).(Raw::QueryDataSource).getTable() + } + + /** + * Holds if `getTable()` exists. + */ + final predicate hasTable() { exists(this.getTable()) } + + /** + * Holds if this query data source update. + */ + predicate update() { Synth::convertQueryDataSourceToRaw(this).(Raw::QueryDataSource).update() } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/QueryDataSourceHaving.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QueryDataSourceHaving.qll new file mode 100644 index 000000000000..fa495f080ffa --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QueryDataSourceHaving.qll @@ -0,0 +1,67 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `QueryDataSourceHaving`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl +import codeql.xpp.elements.SelectionField + +/** + * INTERNAL: This module contains the fully generated definition of `QueryDataSourceHaving` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::QueryDataSourceHaving` class directly. + * Use the subclass `QueryDataSourceHaving`, where the following predicates are available. + */ + class QueryDataSourceHaving extends Synth::TQueryDataSourceHaving, AstImpl::Ast { + override string getAPrimaryQlClass() { result = "QueryDataSourceHaving" } + + /** + * Gets the data source name of this query data source having, if it exists. + */ + string getDataSourceName() { + result = + Synth::convertQueryDataSourceHavingToRaw(this) + .(Raw::QueryDataSourceHaving) + .getDataSourceName() + } + + /** + * Holds if `getDataSourceName()` exists. + */ + final predicate hasDataSourceName() { exists(this.getDataSourceName()) } + + /** + * Gets the selection of this query data source having, if it exists. + */ + SelectionField getSelection() { + result = + Synth::convertSelectionFieldFromRaw(Synth::convertQueryDataSourceHavingToRaw(this) + .(Raw::QueryDataSourceHaving) + .getSelection()) + } + + /** + * Holds if `getSelection()` exists. + */ + final predicate hasSelection() { exists(this.getSelection()) } + + /** + * Gets the value of this query data source having, if it exists. + */ + string getValue() { + result = + Synth::convertQueryDataSourceHavingToRaw(this).(Raw::QueryDataSourceHaving).getValue() + } + + /** + * Holds if `getValue()` exists. + */ + final predicate hasValue() { exists(this.getValue()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/QueryDataSourceRange.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QueryDataSourceRange.qll new file mode 100644 index 000000000000..ec2b14a8d58d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QueryDataSourceRange.qll @@ -0,0 +1,47 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `QueryDataSourceRange`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl + +/** + * INTERNAL: This module contains the fully generated definition of `QueryDataSourceRange` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::QueryDataSourceRange` class directly. + * Use the subclass `QueryDataSourceRange`, where the following predicates are available. + */ + class QueryDataSourceRange extends Synth::TQueryDataSourceRange, AstImpl::Ast { + override string getAPrimaryQlClass() { result = "QueryDataSourceRange" } + + /** + * Gets the field of this query data source range, if it exists. + */ + string getField() { + result = Synth::convertQueryDataSourceRangeToRaw(this).(Raw::QueryDataSourceRange).getField() + } + + /** + * Holds if `getField()` exists. + */ + final predicate hasField() { exists(this.getField()) } + + /** + * Gets the value of this query data source range, if it exists. + */ + string getValue() { + result = Synth::convertQueryDataSourceRangeToRaw(this).(Raw::QueryDataSourceRange).getValue() + } + + /** + * Holds if `getValue()` exists. + */ + final predicate hasValue() { exists(this.getValue()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/QueryDataSourceRelation.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QueryDataSourceRelation.qll new file mode 100644 index 000000000000..c2e121da3226 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QueryDataSourceRelation.qll @@ -0,0 +1,66 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `QueryDataSourceRelation`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl + +/** + * INTERNAL: This module contains the fully generated definition of `QueryDataSourceRelation` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::QueryDataSourceRelation` class directly. + * Use the subclass `QueryDataSourceRelation`, where the following predicates are available. + */ + class QueryDataSourceRelation extends Synth::TQueryDataSourceRelation, AstImpl::Ast { + override string getAPrimaryQlClass() { result = "QueryDataSourceRelation" } + + /** + * Gets the field of this query data source relation, if it exists. + */ + string getField() { + result = + Synth::convertQueryDataSourceRelationToRaw(this).(Raw::QueryDataSourceRelation).getField() + } + + /** + * Holds if `getField()` exists. + */ + final predicate hasField() { exists(this.getField()) } + + /** + * Gets the join data source of this query data source relation, if it exists. + */ + string getJoinDataSource() { + result = + Synth::convertQueryDataSourceRelationToRaw(this) + .(Raw::QueryDataSourceRelation) + .getJoinDataSource() + } + + /** + * Holds if `getJoinDataSource()` exists. + */ + final predicate hasJoinDataSource() { exists(this.getJoinDataSource()) } + + /** + * Gets the related field of this query data source relation, if it exists. + */ + string getRelatedField() { + result = + Synth::convertQueryDataSourceRelationToRaw(this) + .(Raw::QueryDataSourceRelation) + .getRelatedField() + } + + /** + * Holds if `getRelatedField()` exists. + */ + final predicate hasRelatedField() { exists(this.getRelatedField()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/QueryModelElement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QueryModelElement.qll new file mode 100644 index 000000000000..36461e60d9f9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/QueryModelElement.qll @@ -0,0 +1,109 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `QueryModelElement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Class +import codeql.xpp.elements.internal.ModelElementImpl::Impl as ModelElementImpl +import codeql.xpp.elements.QueryDataSource + +/** + * INTERNAL: This module contains the fully generated definition of `QueryModelElement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::QueryModelElement` class directly. + * Use the subclass `QueryModelElement`, where the following predicates are available. + */ + class QueryModelElement extends Synth::TQueryModelElement, ModelElementImpl::ModelElement { + override string getAPrimaryQlClass() { result = "QueryModelElement" } + + /** + * Holds if this query model element allow cross company. + */ + predicate allowCrossCompany() { + Synth::convertQueryModelElementToRaw(this).(Raw::QueryModelElement).allowCrossCompany() + } + + /** + * Gets the behavior of this query model element, if it exists. + */ + Class getBehavior() { + result = + Synth::convertClassFromRaw(Synth::convertQueryModelElementToRaw(this) + .(Raw::QueryModelElement) + .getBehavior()) + } + + /** + * Holds if `getBehavior()` exists. + */ + final predicate hasBehavior() { exists(this.getBehavior()) } + + /** + * Gets the `index`th data source list of this query model element (0-based). + */ + QueryDataSource getDataSourceList(int index) { + result = + Synth::convertQueryDataSourceFromRaw(Synth::convertQueryModelElementToRaw(this) + .(Raw::QueryModelElement) + .getDataSourceList(index)) + } + + /** + * Gets any of the data source lists of this query model element. + */ + final QueryDataSource getADataSourceList() { result = this.getDataSourceList(_) } + + /** + * Gets the number of data source lists of this query model element. + */ + final int getNumberOfDataSourceLists() { + result = count(int i | exists(this.getDataSourceList(i))) + } + + /** + * Gets the `index`th data source of this query model element (0-based). + */ + QueryDataSource getDataSource(int index) { + result = + Synth::convertQueryDataSourceFromRaw(Synth::convertQueryModelElementToRaw(this) + .(Raw::QueryModelElement) + .getDataSource(index)) + } + + /** + * Gets any of the data sources of this query model element. + */ + final QueryDataSource getADataSource() { result = this.getDataSource(_) } + + /** + * Gets the number of data sources of this query model element. + */ + final int getNumberOfDataSources() { result = count(int i | exists(this.getDataSource(i))) } + + /** + * Gets the element type name of this query model element, if it exists. + */ + string getElementTypeName() { + result = + Synth::convertQueryModelElementToRaw(this).(Raw::QueryModelElement).getElementTypeName() + } + + /** + * Holds if `getElementTypeName()` exists. + */ + final predicate hasElementTypeName() { exists(this.getElementTypeName()) } + + /** + * Holds if this query model element user update. + */ + predicate userUpdate() { + Synth::convertQueryModelElementToRaw(this).(Raw::QueryModelElement).userUpdate() + } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Raw.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Raw.qll new file mode 100644 index 000000000000..8dac06a0f00d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Raw.qll @@ -0,0 +1,7444 @@ +/** + * INTERNAL: Do not use. + * This module holds thin fully generated class definitions around DB entities. + */ +module Raw { + /** + * INTERNAL: Do not use. + */ + class Element extends @element { + string toString() { none() } + + /** + * Holds if this element is unknown. + */ + predicate isUnknown() { element_is_unknown(this) } + } + + /** + * INTERNAL: Do not use. + */ + class File extends @file, Element { + override string toString() { result = "File" } + + /** + * Gets the name of this file. + */ + string getName() { files(this, result) } + } + + private Element getImmediateChildOfFile(File e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class Locatable extends @locatable, Element { + /** + * Gets the location associated with this element in the code, if it exists. + */ + Location getLocation() { locatable_locations(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class Location extends @location, Element { + override string toString() { result = "Location" } + + /** + * Gets the file of this location. + */ + File getFile() { locations(this, result, _, _, _, _) } + + /** + * Gets the start line of this location. + */ + int getStartLine() { locations(this, _, result, _, _, _) } + + /** + * Gets the start column of this location. + */ + int getStartColumn() { locations(this, _, _, result, _, _) } + + /** + * Gets the end line of this location. + */ + int getEndLine() { locations(this, _, _, _, result, _) } + + /** + * Gets the end column of this location. + */ + int getEndColumn() { locations(this, _, _, _, _, result) } + } + + private Element getImmediateChildOfLocation(Location e, int index) { none() } + + /** + * INTERNAL: Do not use. + * Root of the X++ abstract syntax tree. + * + * This mirrors `Microsoft.Dynamics.AX.Metadata.XppCompiler.Ast`, the base class of the + * X++ compiler's own AST. + */ + class Ast extends @ast, Locatable { } + + /** + * INTERNAL: Do not use. + * A comment in X++ source. + */ + class Comment extends @comment, Locatable { + override string toString() { result = "Comment" } + + /** + * Gets the text of this comment, if it exists. + */ + string getText() { comment_texts(this, result) } + } + + private Element getImmediateChildOfComment(Comment e, int index) { none() } + + /** + * INTERNAL: Do not use. + * The superclass of all elements indicating some kind of error. + */ + class ErrorElement extends @error_element, Locatable { } + + /** + * INTERNAL: Do not use. + * Base of the classes standing in for tuples in the compiler's AST. + * + * The X++ compiler uses CLR tuples for a handful of grouped values, such as a `catch` + * together with its handler body. The schema has no tuple type, so the generator emits a + * named class per tuple-valued property instead. + */ + class XppTuple extends @xpp_tuple, Locatable { } + + /** + * INTERNAL: Do not use. + */ + class ArraySpecification extends @array_specification, Ast { + override string toString() { result = "ArraySpecification" } + + /** + * Gets the index1 of this array specification, if it exists. + */ + Expression getIndex1() { array_specification_index1s(this, result) } + + /** + * Gets the index2 of this array specification, if it exists. + */ + Expression getIndex2() { array_specification_index2s(this, result) } + } + + private Element getImmediateChildOfArraySpecification(ArraySpecification e, int index) { + exists(int n, int nIndex1, int nIndex2 | + n = 0 and + nIndex1 = n + 1 and + nIndex2 = nIndex1 + 1 and + ( + none() + or + index = n and result = e.getIndex1() + or + index = nIndex1 and result = e.getIndex2() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class Attribute extends @attribute, Ast { + override string toString() { result = "Attribute" } + + /** + * Gets the name of this attribute, if it exists. + */ + string getName() { attribute_names(this, result) } + + /** + * Gets the `index`th named parameter of this attribute (0-based). + */ + AttributeNamedParameterEntry getNamedParameter(int index) { + attribute_named_parameters(this, index, result) + } + + /** + * Gets the number of named parameters of this attribute. + */ + int getNumberOfNamedParameters() { + result = count(int i | attribute_named_parameters(this, i, _)) + } + + /** + * Gets the non fully qualified name of this attribute, if it exists. + */ + string getNonFullyQualifiedName() { attribute_non_fully_qualified_names(this, result) } + + /** + * Gets the `index`th parameter of this attribute (0-based). + */ + AttributeExpression getParameter(int index) { attribute_parameters(this, index, result) } + + /** + * Gets the number of parameters of this attribute. + */ + int getNumberOfParameters() { result = count(int i | attribute_parameters(this, i, _)) } + } + + private Element getImmediateChildOfAttribute(Attribute e, int index) { + exists(int n, int nNamedParameter, int nParameter | + n = 0 and + nNamedParameter = n + e.getNumberOfNamedParameters() and + nParameter = nNamedParameter + e.getNumberOfParameters() and + ( + none() + or + result = e.getNamedParameter(index - n) + or + result = e.getParameter(index - nNamedParameter) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AttributeExpression extends @attribute_expression, Ast { + override string toString() { result = "AttributeExpression" } + + /** + * Gets the literal of this attribute expression, if it exists. + */ + AttributeLiteral getLiteral() { attribute_expression_literals(this, result) } + } + + private Element getImmediateChildOfAttributeExpression(AttributeExpression e, int index) { + exists(int n, int nLiteral | + n = 0 and + nLiteral = n + 1 and + ( + none() + or + index = n and result = e.getLiteral() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AttributeList extends @attribute_list, Ast { + override string toString() { result = "AttributeList" } + + /** + * Gets the `index`th attribute of this attribute list (0-based). + */ + Attribute getAttribute(int index) { attribute_list_attributes(this, index, result) } + + /** + * Gets the number of attributes of this attribute list. + */ + int getNumberOfAttributes() { result = count(int i | attribute_list_attributes(this, i, _)) } + + /** + * Holds if this attribute list contains internal use only attribute. + */ + predicate containsInternalUseOnlyAttribute() { + attribute_list_contains_internal_use_only_attribute(this) + } + } + + private Element getImmediateChildOfAttributeList(AttributeList e, int index) { + exists(int n, int nAttribute | + n = 0 and + nAttribute = n + e.getNumberOfAttributes() and + ( + none() + or + result = e.getAttribute(index - n) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AttributeLiteral extends @attribute_literal, Ast { } + + /** + * INTERNAL: Do not use. + */ + class AttributeNamedParameterEntry extends @attribute_named_parameter_entry, XppTuple { + override string toString() { result = "AttributeNamedParameterEntry" } + + /** + * Gets the item1 of this attribute named parameter entry, if it exists. + */ + string getItem1() { attribute_named_parameter_entry_item1s(this, result) } + + /** + * Gets the attribute expression of this attribute named parameter entry, if it exists. + */ + AttributeExpression getAttributeExpression() { + attribute_named_parameter_entry_attribute_expressions(this, result) + } + } + + private Element getImmediateChildOfAttributeNamedParameterEntry( + AttributeNamedParameterEntry e, int index + ) { + exists(int n, int nAttributeExpression | + n = 0 and + nAttributeExpression = n + 1 and + ( + none() + or + index = n and result = e.getAttributeExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class Case extends @case, Ast { } + + /** + * INTERNAL: Do not use. + */ + class Catch extends @catch, Ast { } + + /** + * INTERNAL: Do not use. + */ + class ClassAccessModifier extends @class_access_modifier, Ast { + override string toString() { result = "ClassAccessModifier" } + + /** + * Gets the class modifiers of this class access modifier, if it exists. + */ + string getClassModifiers() { class_access_modifier_class_modifiers(this, result) } + } + + private Element getImmediateChildOfClassAccessModifier(ClassAccessModifier e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class CompilationUnit extends @compilation_unit, Ast { + /** + * Gets the comments of this compilation unit, if it exists. + */ + Comment getComments() { compilation_unit_comments(this, result) } + + /** + * Holds if this compilation unit is name escaped. + */ + predicate isNameEscaped() { compilation_unit_is_name_escaped(this) } + + /** + * Gets the name of this compilation unit, if it exists. + */ + string getName() { compilation_unit_names(this, result) } + + /** + * Holds if this compilation unit needs transformation. + */ + predicate needsTransformation() { compilation_unit_needs_transformation(this) } + + /** + * Gets the `index`th region of this compilation unit (0-based). + */ + CompilationUnitRegionEntry getRegion(int index) { + compilation_unit_regions(this, index, result) + } + + /** + * Gets the number of regions of this compilation unit. + */ + int getNumberOfRegions() { result = count(int i | compilation_unit_regions(this, i, _)) } + } + + /** + * INTERNAL: Do not use. + */ + class CompilationUnitRegionEntry extends @compilation_unit_region_entry, XppTuple { + override string toString() { result = "CompilationUnitRegionEntry" } + + /** + * Gets the comment of this compilation unit region entry, if it exists. + */ + Comment getComment() { compilation_unit_region_entry_comments(this, result) } + + /** + * Gets the comment2 of this compilation unit region entry, if it exists. + */ + Comment getComment2() { compilation_unit_region_entry_comment2s(this, result) } + } + + private Element getImmediateChildOfCompilationUnitRegionEntry( + CompilationUnitRegionEntry e, int index + ) { + exists(int n, int nComment, int nComment2 | + n = 0 and + nComment = n + 1 and + nComment2 = nComment + 1 and + ( + none() + or + index = n and result = e.getComment() + or + index = nComment and result = e.getComment2() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class CrossCompany extends @cross_company, Ast { } + + /** + * INTERNAL: Do not use. + */ + class EvaluationActualParameterEntry extends @evaluation_actual_parameter_entry, XppTuple { + override string toString() { result = "EvaluationActualParameterEntry" } + + /** + * Holds if this evaluation actual parameter entry item1. + */ + predicate item1() { evaluation_actual_parameter_entry_item1(this) } + + /** + * Gets the expression of this evaluation actual parameter entry, if it exists. + */ + Expression getExpression() { evaluation_actual_parameter_entry_expressions(this, result) } + } + + private Element getImmediateChildOfEvaluationActualParameterEntry( + EvaluationActualParameterEntry e, int index + ) { + exists(int n, int nExpression | + n = 0 and + nExpression = n + 1 and + ( + none() + or + index = n and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class Expression extends @expression, Ast { + /** + * Holds if this expression is const. + */ + predicate isConst() { expression_is_const(this) } + + /** + * Gets the transformation of this expression, if it exists. + */ + Expression getTransformation() { expression_transformations(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class FieldAssignment extends @field_assignment, Ast { + override string toString() { result = "FieldAssignment" } + + /** + * Gets the expression of this field assignment, if it exists. + */ + Expression getExpression() { field_assignment_expressions(this, result) } + + /** + * Gets the extension name of this field assignment, if it exists. + */ + string getExtensionName() { field_assignment_extension_names(this, result) } + + /** + * Gets the field name of this field assignment, if it exists. + */ + string getFieldName() { field_assignment_field_names(this, result) } + + /** + * Gets the index of this field assignment, if it exists. + */ + int getIndex() { field_assignment_indices(this, result) } + } + + private Element getImmediateChildOfFieldAssignment(FieldAssignment e, int index) { + exists(int n, int nExpression | + n = 0 and + nExpression = n + 1 and + ( + none() + or + index = n and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class FieldSpecification extends @field_specification, Ast { + /** + * Gets the array index of this field specification, if it exists. + */ + Expression getArrayIndex() { field_specification_array_indices(this, result) } + + /** + * Gets the element type name of this field specification, if it exists. + */ + string getElementTypeName() { field_specification_element_type_names(this, result) } + + /** + * Holds if this field specification is const. + */ + predicate isConst() { field_specification_is_const(this) } + + /** + * Holds if this field specification is internal. + */ + predicate isInternal() { field_specification_is_internal(this) } + + /** + * Holds if this field specification is private. + */ + predicate isPrivate() { field_specification_is_private(this) } + + /** + * Holds if this field specification is protected. + */ + predicate isProtected() { field_specification_is_protected(this) } + + /** + * Holds if this field specification is public. + */ + predicate isPublic() { field_specification_is_public(this) } + + /** + * Holds if this field specification is read only. + */ + predicate isReadOnly() { field_specification_is_read_only(this) } + + /** + * Holds if this field specification is static. + */ + predicate isStatic() { field_specification_is_static(this) } + + /** + * Gets the qualifier of this field specification, if it exists. + */ + Qualifier getQualifier() { field_specification_qualifiers(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class ForAssign extends @for_assign, Ast { + /** + * Gets the field specification of this for assign, if it exists. + */ + FieldSpecification getFieldSpecification() { for_assign_field_specifications(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class InsertFieldSpecification extends @insert_field_specification, Ast { + override string toString() { result = "InsertFieldSpecification" } + + /** + * Gets the array index of this insert field specification, if it exists. + */ + int getArrayIndex() { insert_field_specification_array_indices(this, result) } + + /** + * Gets the extension name of this insert field specification, if it exists. + */ + string getExtensionName() { insert_field_specification_extension_names(this, result) } + + /** + * Holds if this insert field specification is extension. + */ + predicate isExtension() { insert_field_specification_is_extension(this) } + + /** + * Gets the name of this insert field specification, if it exists. + */ + string getName() { insert_field_specification_names(this, result) } + } + + private Element getImmediateChildOfInsertFieldSpecification(InsertFieldSpecification e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class InstanceName extends @instance_name, Ast { } + + /** + * INTERNAL: Do not use. + */ + class JoinSpecification extends @join_specification, Ast { + override string toString() { result = "JoinSpecification" } + + /** + * Gets the kind of this join specification, if it exists. + */ + string getKind() { join_specification_kinds(this, result) } + + /** + * Gets the query of this join specification, if it exists. + */ + Query getQuery() { join_specification_queries(this, result) } + } + + private Element getImmediateChildOfJoinSpecification(JoinSpecification e, int index) { + exists(int n, int nQuery | + n = 0 and + nQuery = n + 1 and + ( + none() + or + index = n and result = e.getQuery() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ModelElementUsingEntry extends @model_element_using_entry, XppTuple { + override string toString() { result = "ModelElementUsingEntry" } + + /** + * Gets the item2 of this model element using entry, if it exists. + */ + string getItem2() { model_element_using_entry_item2s(this, result) } + + /** + * Gets the item3 of this model element using entry, if it exists. + */ + string getItem3() { model_element_using_entry_item3s(this, result) } + } + + private Element getImmediateChildOfModelElementUsingEntry(ModelElementUsingEntry e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class Modifier extends @modifier, Ast { + override string toString() { result = "Modifier" } + + /** + * Gets the modifiers of this modifier, if it exists. + */ + string getModifiers() { modifier_modifiers(this, result) } + } + + private Element getImmediateChildOfModifier(Modifier e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class OrderElement extends @order_element, Ast { + /** + * Gets the direction of this order element, if it exists. + */ + string getDirection() { order_element_directions(this, result) } + + /** + * Gets the field of this order element, if it exists. + */ + string getField() { order_element_fields(this, result) } + + /** + * Gets the index of this order element, if it exists. + */ + int getIndex() { order_element_indices(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class Qualifier extends @qualifier, Ast { } + + /** + * INTERNAL: Do not use. + */ + class Query extends @query, Ast { + override string toString() { result = "Query" } + + /** + * Gets the buffer name of this query, if it exists. + */ + string getBufferName() { query_buffer_names(this, result) } + + /** + * Gets the cross company of this query, if it exists. + */ + CrossCompany getCrossCompany() { query_cross_companies(this, result) } + + /** + * Gets the `index`th group by element of this query (0-based). + */ + OrderElement getGroupByElement(int index) { query_group_by_elements(this, index, result) } + + /** + * Gets the number of group by elements of this query. + */ + int getNumberOfGroupByElements() { result = count(int i | query_group_by_elements(this, i, _)) } + + /** + * Gets the index name of this query, if it exists. + */ + string getIndexName() { query_index_names(this, result) } + + /** + * Gets the joins of this query, if it exists. + */ + JoinSpecification getJoins() { query_joins(this, result) } + + /** + * Gets the `index`th order by element of this query (0-based). + */ + OrderElement getOrderByElement(int index) { query_order_by_elements(this, index, result) } + + /** + * Gets the number of order by elements of this query. + */ + int getNumberOfOrderByElements() { result = count(int i | query_order_by_elements(this, i, _)) } + + /** + * Gets the selection of this query, if it exists. + */ + Selection getSelection() { query_selections(this, result) } + + /** + * Gets the `index`th selection hint of this query (0-based). + */ + string getSelectionHint(int index) { query_selection_hints(this, index, result) } + + /** + * Gets the number of selection hints of this query. + */ + int getNumberOfSelectionHints() { result = count(int i | query_selection_hints(this, i, _)) } + + /** + * Holds if this query uses hint. + */ + predicate usesHint() { query_uses_hint(this) } + + /** + * Gets the valid time state of this query, if it exists. + */ + ValidTimeState getValidTimeState() { query_valid_time_states(this, result) } + + /** + * Gets the where of this query, if it exists. + */ + Expression getWhere() { query_wheres(this, result) } + } + + private Element getImmediateChildOfQuery(Query e, int index) { + exists( + int n, int nCrossCompany, int nGroupByElement, int nJoins, int nOrderByElement, + int nSelection, int nValidTimeState, int nWhere + | + n = 0 and + nCrossCompany = n + 1 and + nGroupByElement = nCrossCompany + e.getNumberOfGroupByElements() and + nJoins = nGroupByElement + 1 and + nOrderByElement = nJoins + e.getNumberOfOrderByElements() and + nSelection = nOrderByElement + 1 and + nValidTimeState = nSelection + 1 and + nWhere = nValidTimeState + 1 and + ( + none() + or + index = n and result = e.getCrossCompany() + or + result = e.getGroupByElement(index - nCrossCompany) + or + index = nGroupByElement and result = e.getJoins() + or + result = e.getOrderByElement(index - nJoins) + or + index = nOrderByElement and result = e.getSelection() + or + index = nSelection and result = e.getValidTimeState() + or + index = nValidTimeState and result = e.getWhere() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class QueryDataSource extends @query_data_source, Ast { + override string toString() { result = "QueryDataSource" } + + /** + * Gets the `index`th data source of this query data source (0-based). + */ + QueryDataSource getDataSource(int index) { query_data_source_data_sources(this, index, result) } + + /** + * Gets the number of data sources of this query data source. + */ + int getNumberOfDataSources() { + result = count(int i | query_data_source_data_sources(this, i, _)) + } + + /** + * Gets the element type name of this query data source, if it exists. + */ + string getElementTypeName() { query_data_source_element_type_names(this, result) } + + /** + * Gets the fetch mode of this query data source, if it exists. + */ + string getFetchMode() { query_data_source_fetch_modes(this, result) } + + /** + * Gets the `index`th field of this query data source (0-based). + */ + string getField(int index) { query_data_source_fields(this, index, result) } + + /** + * Gets the number of fields of this query data source. + */ + int getNumberOfFields() { result = count(int i | query_data_source_fields(this, i, _)) } + + /** + * Holds if this query data source first fast. + */ + predicate firstFast() { query_data_source_first_fast(this) } + + /** + * Holds if this query data source first only. + */ + predicate firstOnly() { query_data_source_first_only(this) } + + /** + * Gets the `index`th group by of this query data source (0-based). + */ + GlobalOrderElement getGroupBy(int index) { query_data_source_group_bies(this, index, result) } + + /** + * Gets the number of group bies of this query data source. + */ + int getNumberOfGroupBies() { result = count(int i | query_data_source_group_bies(this, i, _)) } + + /** + * Gets the `index`th having of this query data source (0-based). + */ + QueryDataSourceHaving getHaving(int index) { + query_data_source_having_prop(this, index, result) + } + + /** + * Gets the number of havings of this query data source. + */ + int getNumberOfHavings() { result = count(int i | query_data_source_having_prop(this, i, _)) } + + /** + * Gets the join mode of this query data source, if it exists. + */ + string getJoinMode() { query_data_source_join_modes(this, result) } + + /** + * Gets the name of this query data source, if it exists. + */ + string getName() { query_data_source_names(this, result) } + + /** + * Gets the `index`th order by of this query data source (0-based). + */ + GlobalOrderElement getOrderBy(int index) { query_data_source_order_bies(this, index, result) } + + /** + * Gets the number of order bies of this query data source. + */ + int getNumberOfOrderBies() { result = count(int i | query_data_source_order_bies(this, i, _)) } + + /** + * Gets the parent data source of this query data source, if it exists. + */ + QueryDataSource getParentDataSource() { query_data_source_parent_data_sources(this, result) } + + /** + * Gets the path contribution of this query data source, if it exists. + */ + string getPathContribution() { query_data_source_path_contributions(this, result) } + + /** + * Gets the `index`th range of this query data source (0-based). + */ + QueryDataSourceRange getRange(int index) { query_data_source_ranges_prop(this, index, result) } + + /** + * Gets the number of ranges of this query data source. + */ + int getNumberOfRanges() { result = count(int i | query_data_source_ranges_prop(this, i, _)) } + + /** + * Gets the `index`th relation of this query data source (0-based). + */ + QueryDataSourceRelation getRelation(int index) { + query_data_source_relations_prop(this, index, result) + } + + /** + * Gets the number of relations of this query data source. + */ + int getNumberOfRelations() { + result = count(int i | query_data_source_relations_prop(this, i, _)) + } + + /** + * Holds if this query data source select with repeatable read. + */ + predicate selectWithRepeatableRead() { query_data_source_select_with_repeatable_read(this) } + + /** + * Gets the table of this query data source, if it exists. + */ + string getTable() { query_data_source_tables(this, result) } + + /** + * Holds if this query data source update. + */ + predicate update() { query_data_source_update(this) } + } + + private Element getImmediateChildOfQueryDataSource(QueryDataSource e, int index) { + exists( + int n, int nDataSource, int nGroupBy, int nHaving, int nOrderBy, int nParentDataSource, + int nRange, int nRelation + | + n = 0 and + nDataSource = n + e.getNumberOfDataSources() and + nGroupBy = nDataSource + e.getNumberOfGroupBies() and + nHaving = nGroupBy + e.getNumberOfHavings() and + nOrderBy = nHaving + e.getNumberOfOrderBies() and + nParentDataSource = nOrderBy + 1 and + nRange = nParentDataSource + e.getNumberOfRanges() and + nRelation = nRange + e.getNumberOfRelations() and + ( + none() + or + result = e.getDataSource(index - n) + or + result = e.getGroupBy(index - nDataSource) + or + result = e.getHaving(index - nGroupBy) + or + result = e.getOrderBy(index - nHaving) + or + index = nOrderBy and result = e.getParentDataSource() + or + result = e.getRange(index - nParentDataSource) + or + result = e.getRelation(index - nRange) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class QueryDataSourceHaving extends @query_data_source_having, Ast { + override string toString() { result = "QueryDataSourceHaving" } + + /** + * Gets the data source name of this query data source having, if it exists. + */ + string getDataSourceName() { query_data_source_having_data_source_names(this, result) } + + /** + * Gets the selection of this query data source having, if it exists. + */ + SelectionField getSelection() { query_data_source_having_selections(this, result) } + + /** + * Gets the value of this query data source having, if it exists. + */ + string getValue() { query_data_source_having_values(this, result) } + } + + private Element getImmediateChildOfQueryDataSourceHaving(QueryDataSourceHaving e, int index) { + exists(int n, int nSelection | + n = 0 and + nSelection = n + 1 and + ( + none() + or + index = n and result = e.getSelection() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class QueryDataSourceRange extends @query_data_source_range, Ast { + override string toString() { result = "QueryDataSourceRange" } + + /** + * Gets the field of this query data source range, if it exists. + */ + string getField() { query_data_source_range_fields(this, result) } + + /** + * Gets the value of this query data source range, if it exists. + */ + string getValue() { query_data_source_range_values(this, result) } + } + + private Element getImmediateChildOfQueryDataSourceRange(QueryDataSourceRange e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class QueryDataSourceRelation extends @query_data_source_relation, Ast { + override string toString() { result = "QueryDataSourceRelation" } + + /** + * Gets the field of this query data source relation, if it exists. + */ + string getField() { query_data_source_relation_fields(this, result) } + + /** + * Gets the join data source of this query data source relation, if it exists. + */ + string getJoinDataSource() { query_data_source_relation_join_data_sources(this, result) } + + /** + * Gets the related field of this query data source relation, if it exists. + */ + string getRelatedField() { query_data_source_relation_related_fields(this, result) } + } + + private Element getImmediateChildOfQueryDataSourceRelation(QueryDataSourceRelation e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class Selection extends @selection, Ast { } + + /** + * INTERNAL: Do not use. + */ + class SelectionField extends @selection_field, Ast { + /** + * Gets the extension name of this selection field, if it exists. + */ + string getExtensionName() { selection_field_extension_names(this, result) } + + /** + * Gets the field of this selection field, if it exists. + */ + string getField() { selection_field_fields(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class Statement extends @statement, Ast { + /** + * Gets the comments of this statement, if it exists. + */ + string getComments() { statement_comments(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class SwitchCase extends @switch_case, Ast { + override string toString() { result = "SwitchCase" } + } + + private Element getImmediateChildOfSwitchCase(SwitchCase e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class SwitchStatementCaseEntry extends @switch_statement_case_entry, XppTuple { + override string toString() { result = "SwitchStatementCaseEntry" } + + /** + * Gets the case of this switch statement case entry, if it exists. + */ + Case getCase() { switch_statement_case_entry_cases(this, result) } + + /** + * Gets the `index`th statement of this switch statement case entry (0-based). + */ + Statement getStatement(int index) { + switch_statement_case_entry_statements(this, index, result) + } + + /** + * Gets the number of statements of this switch statement case entry. + */ + int getNumberOfStatements() { + result = count(int i | switch_statement_case_entry_statements(this, i, _)) + } + } + + private Element getImmediateChildOfSwitchStatementCaseEntry(SwitchStatementCaseEntry e, int index) { + exists(int n, int nCase, int nStatement | + n = 0 and + nCase = n + 1 and + nStatement = nCase + e.getNumberOfStatements() and + ( + none() + or + index = n and result = e.getCase() + or + result = e.getStatement(index - nCase) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class TableFieldReference extends @table_field_reference, Ast { + /** + * Gets the index of this table field reference, if it exists. + */ + Expression getIndex() { table_field_reference_indices(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class TryStatementCatchEntry extends @try_statement_catch_entry, XppTuple { + override string toString() { result = "TryStatementCatchEntry" } + + /** + * Gets the catch of this try statement catch entry, if it exists. + */ + Catch getCatch() { try_statement_catch_entry_catches(this, result) } + + /** + * Gets the statement of this try statement catch entry, if it exists. + */ + Statement getStatement() { try_statement_catch_entry_statements(this, result) } + } + + private Element getImmediateChildOfTryStatementCatchEntry(TryStatementCatchEntry e, int index) { + exists(int n, int nCatch, int nStatement | + n = 0 and + nCatch = n + 1 and + nStatement = nCatch + 1 and + ( + none() + or + index = n and result = e.getCatch() + or + index = nCatch and result = e.getStatement() + ) + ) + } + + /** + * INTERNAL: Do not use. + * A node that could not be extracted, for example because of a syntax error. + */ + class UnspecifiedElement extends @unspecified_element, ErrorElement { + override string toString() { result = "UnspecifiedElement" } + + /** + * Gets the parent of this unspecified element, if it exists. + */ + Element getParent() { unspecified_element_parents(this, result) } + + /** + * Gets the property of this unspecified element. + */ + string getProperty() { unspecified_elements(this, result, _) } + + /** + * Gets the index of this unspecified element, if it exists. + */ + int getIndex() { unspecified_element_indices(this, result) } + + /** + * Gets the error of this unspecified element. + */ + string getError() { unspecified_elements(this, _, result) } + } + + private Element getImmediateChildOfUnspecifiedElement(UnspecifiedElement e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class ValidTimeState extends @valid_time_state, Ast { } + + /** + * INTERNAL: Do not use. + */ + class XppType extends @xpp_type, Ast { + /** + * Gets the element type name of this xpp type, if it exists. + */ + string getElementTypeName() { xpp_type_element_type_names(this, result) } + + /** + * Holds if this xpp type is obsolete. + */ + predicate isObsolete() { xpp_type_is_obsolete(this) } + } + + /** + * INTERNAL: Do not use. + */ + class AggregateSelection extends @aggregate_selection, SelectionField { } + + /** + * INTERNAL: Do not use. + */ + class AllFieldsSelection extends @all_fields_selection, Selection { + override string toString() { result = "AllFieldsSelection" } + } + + private Element getImmediateChildOfAllFieldsSelection(AllFieldsSelection e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class AnyType extends @any_type, XppType { + override string toString() { result = "AnyType" } + } + + private Element getImmediateChildOfAnyType(AnyType e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class AssignmentStatement extends @assignment_statement, Statement { } + + /** + * INTERNAL: Do not use. + */ + class BinaryExpression extends @binary_expression, Expression { + /** + * Gets the left of this binary expression, if it exists. + */ + Expression getLeft() { binary_expression_lefts(this, result) } + + /** + * Gets the right of this binary expression, if it exists. + */ + Expression getRight() { binary_expression_rights(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class BooleanType extends @boolean_type, XppType { + override string toString() { result = "BooleanType" } + } + + private Element getImmediateChildOfBooleanType(BooleanType e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class BreakStatement extends @break_statement, Statement { + override string toString() { result = "BreakStatement" } + } + + private Element getImmediateChildOfBreakStatement(BreakStatement e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class BreakpointStatement extends @breakpoint_statement, Statement { + override string toString() { result = "BreakpointStatement" } + } + + private Element getImmediateChildOfBreakpointStatement(BreakpointStatement e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class CaseDefault extends @case_default, Case { + override string toString() { result = "CaseDefault" } + } + + private Element getImmediateChildOfCaseDefault(CaseDefault e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class CaseValues extends @case_values, Case { + override string toString() { result = "CaseValues" } + + /** + * Gets the `index`th value of this case values (0-based). + */ + Expression getValue(int index) { case_values_values(this, index, result) } + + /** + * Gets the number of values of this case values. + */ + int getNumberOfValues() { result = count(int i | case_values_values(this, i, _)) } + } + + private Element getImmediateChildOfCaseValues(CaseValues e, int index) { + exists(int n, int nValue | + n = 0 and + nValue = n + e.getNumberOfValues() and + ( + none() + or + result = e.getValue(index - n) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class CatchAllValues extends @catch_all_values, Catch { + override string toString() { result = "CatchAllValues" } + } + + private Element getImmediateChildOfCatchAllValues(CatchAllValues e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class CatchExpression extends @catch_expression, Catch { + override string toString() { result = "CatchExpression" } + + /** + * Gets the expression of this catch expression, if it exists. + */ + Expression getExpression() { catch_expression_expressions(this, result) } + } + + private Element getImmediateChildOfCatchExpression(CatchExpression e, int index) { + exists(int n, int nExpression | + n = 0 and + nExpression = n + 1 and + ( + none() + or + index = n and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class CatchUpdateConflict extends @catch_update_conflict, Catch { + override string toString() { result = "CatchUpdateConflict" } + + /** + * Gets the expression of this catch update conflict, if it exists. + */ + Expression getExpression() { catch_update_conflict_expressions(this, result) } + + /** + * Gets the instance of this catch update conflict, if it exists. + */ + InstanceName getInstance() { catch_update_conflict_instances(this, result) } + } + + private Element getImmediateChildOfCatchUpdateConflict(CatchUpdateConflict e, int index) { + exists(int n, int nExpression, int nInstance | + n = 0 and + nExpression = n + 1 and + nInstance = nExpression + 1 and + ( + none() + or + index = n and result = e.getExpression() + or + index = nExpression and result = e.getInstance() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ChangeStatement extends @change_statement, Statement { + /** + * Gets the expression of this change statement, if it exists. + */ + Expression getExpression() { change_statement_expressions(this, result) } + + /** + * Gets the statement of this change statement, if it exists. + */ + Statement getStatement() { change_statement_statements(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class CompoundStatement extends @compound_statement, Statement { + override string toString() { result = "CompoundStatement" } + + /** + * Gets the `index`th content of this compound statement (0-based). + */ + Statement getContent(int index) { compound_statement_contents(this, index, result) } + + /** + * Gets the number of contents of this compound statement. + */ + int getNumberOfContents() { result = count(int i | compound_statement_contents(this, i, _)) } + } + + private Element getImmediateChildOfCompoundStatement(CompoundStatement e, int index) { + exists(int n, int nContent | + n = 0 and + nContent = n + e.getNumberOfContents() and + ( + none() + or + result = e.getContent(index - n) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ConditionalExpression extends @conditional_expression, Expression { + override string toString() { result = "ConditionalExpression" } + + /** + * Gets the condition of this conditional expression, if it exists. + */ + Expression getCondition() { conditional_expression_conditions(this, result) } + + /** + * Gets the else part of this conditional expression, if it exists. + */ + Expression getElsePart() { conditional_expression_else_parts(this, result) } + + /** + * Gets the if part of this conditional expression, if it exists. + */ + Expression getIfPart() { conditional_expression_if_parts(this, result) } + } + + private Element getImmediateChildOfConditionalExpression(ConditionalExpression e, int index) { + exists(int n, int nTransformation, int nCondition, int nElsePart, int nIfPart | + n = 0 and + nTransformation = n + 1 and + nCondition = nTransformation + 1 and + nElsePart = nCondition + 1 and + nIfPart = nElsePart + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getCondition() + or + index = nCondition and result = e.getElsePart() + or + index = nElsePart and result = e.getIfPart() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ContainerAttributeLiteral extends @container_attribute_literal, AttributeLiteral { + override string toString() { result = "ContainerAttributeLiteral" } + + /** + * Gets the `index`th value of this container attribute literal (0-based). + */ + AttributeExpression getValue(int index) { + container_attribute_literal_values(this, index, result) + } + + /** + * Gets the number of values of this container attribute literal. + */ + int getNumberOfValues() { + result = count(int i | container_attribute_literal_values(this, i, _)) + } + } + + private Element getImmediateChildOfContainerAttributeLiteral( + ContainerAttributeLiteral e, int index + ) { + exists(int n, int nValue | + n = 0 and + nValue = n + e.getNumberOfValues() and + ( + none() + or + result = e.getValue(index - n) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ContainerType extends @container_type, XppType { + override string toString() { result = "ContainerType" } + } + + private Element getImmediateChildOfContainerType(ContainerType e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class ContinueStatement extends @continue_statement, Statement { + override string toString() { result = "ContinueStatement" } + } + + private Element getImmediateChildOfContinueStatement(ContinueStatement e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class CrossCompanyAll extends @cross_company_all, CrossCompany { + override string toString() { result = "CrossCompanyAll" } + } + + private Element getImmediateChildOfCrossCompanyAll(CrossCompanyAll e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class CrossCompanyContainer extends @cross_company_container, CrossCompany { + override string toString() { result = "CrossCompanyContainer" } + + /** + * Gets the container of this cross company container, if it exists. + */ + Expression getContainer() { cross_company_container_containers(this, result) } + } + + private Element getImmediateChildOfCrossCompanyContainer(CrossCompanyContainer e, int index) { + exists(int n, int nContainer | + n = 0 and + nContainer = n + 1 and + ( + none() + or + index = n and result = e.getContainer() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class DateTimeType extends @date_time_type, XppType { + override string toString() { result = "DateTimeType" } + } + + private Element getImmediateChildOfDateTimeType(DateTimeType e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class DateType extends @date_type, XppType { + override string toString() { result = "DateType" } + } + + private Element getImmediateChildOfDateType(DateType e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class DblType extends @dbl_type, XppType { + override string toString() { result = "DblType" } + } + + private Element getImmediateChildOfDblType(DblType e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class Declaration extends @declaration, CompilationUnit { + /** + * Gets the array specification of this declaration, if it exists. + */ + ArraySpecification getArraySpecification() { declaration_array_specifications(this, result) } + + /** + * Gets the `index`th modifier list of this declaration (0-based). + */ + Modifier getModifierList(int index) { declaration_modifier_lists(this, index, result) } + + /** + * Gets the number of modifier lists of this declaration. + */ + int getNumberOfModifierLists() { + result = count(int i | declaration_modifier_lists(this, i, _)) + } + + /** + * Gets the modifiers of this declaration, if it exists. + */ + string getModifiers() { declaration_modifiers(this, result) } + + /** + * Gets the type of this declaration, if it exists. + */ + XppType getType() { declaration_types(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class DefaultTypeAttributeLiteral extends @default_type_attribute_literal, AttributeLiteral { + /** + * Gets the scanned literal value of this default type attribute literal, if it exists. + */ + string getScannedLiteralValue() { + default_type_attribute_literal_scanned_literal_values(this, result) + } + } + + /** + * INTERNAL: Do not use. + */ + class DeleteStatement extends @delete_statement, Statement { + override string toString() { result = "DeleteStatement" } + + /** + * Gets the query of this delete statement, if it exists. + */ + Query getQuery() { delete_statement_queries(this, result) } + } + + private Element getImmediateChildOfDeleteStatement(DeleteStatement e, int index) { + exists(int n, int nQuery | + n = 0 and + nQuery = n + 1 and + ( + none() + or + index = n and result = e.getQuery() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class DoWhileStatement extends @do_while_statement, Statement { + override string toString() { result = "DoWhileStatement" } + + /** + * Gets the condition of this do while statement, if it exists. + */ + Expression getCondition() { do_while_statement_conditions(this, result) } + + /** + * Gets the statement of this do while statement, if it exists. + */ + Statement getStatement() { do_while_statement_statements(this, result) } + } + + private Element getImmediateChildOfDoWhileStatement(DoWhileStatement e, int index) { + exists(int n, int nCondition, int nStatement | + n = 0 and + nCondition = n + 1 and + nStatement = nCondition + 1 and + ( + none() + or + index = n and result = e.getCondition() + or + index = nCondition and result = e.getStatement() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class EmptyExpression extends @empty_expression, Expression { + override string toString() { result = "EmptyExpression" } + } + + private Element getImmediateChildOfEmptyExpression(EmptyExpression e, int index) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class EmptyStatement extends @empty_statement, Statement { + override string toString() { result = "EmptyStatement" } + } + + private Element getImmediateChildOfEmptyStatement(EmptyStatement e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class EnumAttributeLiteral extends @enum_attribute_literal, AttributeLiteral { + override string toString() { result = "EnumAttributeLiteral" } + + /** + * Gets the literal of this enum attribute literal, if it exists. + */ + string getLiteral() { enum_attribute_literal_literals(this, result) } + + /** + * Gets the type name of this enum attribute literal, if it exists. + */ + string getTypeName() { enum_attribute_literal_type_names(this, result) } + } + + private Element getImmediateChildOfEnumAttributeLiteral(EnumAttributeLiteral e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class EnumerationType extends @enumeration_type, XppType { + override string toString() { result = "EnumerationType" } + + /** + * Gets the enumerated type of this enumeration type, if it exists. + */ + string getEnumeratedType() { enumeration_type_enumerated_types(this, result) } + + /** + * Gets the full name of this enumeration type, if it exists. + */ + string getFullName() { enumeration_type_full_names(this, result) } + + /** + * Gets the namespace of this enumeration type, if it exists. + */ + string getNamespace() { enumeration_type_namespaces(this, result) } + } + + private Element getImmediateChildOfEnumerationType(EnumerationType e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class Evaluation extends @evaluation, Expression { + /** + * Gets the `index`th actual parameter of this evaluation (0-based). + */ + EvaluationActualParameterEntry getActualParameter(int index) { + evaluation_actual_parameters(this, index, result) + } + + /** + * Gets the number of actual parameters of this evaluation. + */ + int getNumberOfActualParameters() { + result = count(int i | evaluation_actual_parameters(this, i, _)) + } + } + + /** + * INTERNAL: Do not use. + */ + class ExplicitSelection extends @explicit_selection, Selection { + override string toString() { result = "ExplicitSelection" } + + /** + * Gets the `index`th field of this explicit selection (0-based). + */ + SelectionField getField(int index) { explicit_selection_fields(this, index, result) } + + /** + * Gets the number of fields of this explicit selection. + */ + int getNumberOfFields() { result = count(int i | explicit_selection_fields(this, i, _)) } + } + + private Element getImmediateChildOfExplicitSelection(ExplicitSelection e, int index) { + exists(int n, int nField | + n = 0 and + nField = n + e.getNumberOfFields() and + ( + none() + or + result = e.getField(index - n) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ExpressionCompilationUnit extends @expression_compilation_unit, CompilationUnit { + override string toString() { result = "ExpressionCompilationUnit" } + + /** + * Gets the expression of this expression compilation unit, if it exists. + */ + Expression getExpression() { expression_compilation_unit_expressions(this, result) } + + /** + * Gets the path contribution of this expression compilation unit, if it exists. + */ + string getPathContribution() { expression_compilation_unit_path_contributions(this, result) } + } + + private Element getImmediateChildOfExpressionCompilationUnit( + ExpressionCompilationUnit e, int index + ) { + exists(int n, int nComments, int nRegion, int nExpression | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nExpression = nRegion + 1 and + ( + none() + or + index = n and result = e.getComments() + or + result = e.getRegion(index - nComments) + or + index = nRegion and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ExpressionQualifier extends @expression_qualifier, Qualifier { + override string toString() { result = "ExpressionQualifier" } + + /** + * Gets the expression of this expression qualifier, if it exists. + */ + Expression getExpression() { expression_qualifier_expressions(this, result) } + } + + private Element getImmediateChildOfExpressionQualifier(ExpressionQualifier e, int index) { + exists(int n, int nExpression | + n = 0 and + nExpression = n + 1 and + ( + none() + or + index = n and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ExpressionStatement extends @expression_statement, Statement { + override string toString() { result = "ExpressionStatement" } + + /** + * Gets the element type name of this expression statement, if it exists. + */ + string getElementTypeName() { expression_statement_element_type_names(this, result) } + + /** + * Gets the expression of this expression statement, if it exists. + */ + Expression getExpression() { expression_statement_expressions(this, result) } + } + + private Element getImmediateChildOfExpressionStatement(ExpressionStatement e, int index) { + exists(int n, int nExpression | + n = 0 and + nExpression = n + 1 and + ( + none() + or + index = n and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class FieldExpression extends @field_expression, Expression { + /** + * Gets the field of this field expression, if it exists. + */ + FieldSpecification getField() { field_expression_fields(this, result) } + + /** + * Holds if this field expression is enum. + */ + predicate isEnum() { field_expression_is_enum(this) } + } + + /** + * INTERNAL: Do not use. + */ + class FieldSelection extends @field_selection, SelectionField { + override string toString() { result = "FieldSelection" } + + /** + * Gets the index of this field selection, if it exists. + */ + int getIndex() { field_selection_indices(this, result) } + } + + private Element getImmediateChildOfFieldSelection(FieldSelection e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class FindStatement extends @find_statement, Statement { + override string toString() { result = "FindStatement" } + + /** + * Gets the query of this find statement, if it exists. + */ + Query getQuery() { find_statement_queries(this, result) } + } + + private Element getImmediateChildOfFindStatement(FindStatement e, int index) { + exists(int n, int nQuery | + n = 0 and + nQuery = n + 1 and + ( + none() + or + index = n and result = e.getQuery() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class FlushStatement extends @flush_statement, Statement { + override string toString() { result = "FlushStatement" } + + /** + * Gets the `index`th id list of this flush statement (0-based). + */ + string getIdList(int index) { flush_statement_id_lists(this, index, result) } + + /** + * Gets the number of id lists of this flush statement. + */ + int getNumberOfIdLists() { result = count(int i | flush_statement_id_lists(this, i, _)) } + } + + private Element getImmediateChildOfFlushStatement(FlushStatement e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class ForDeclarationAssign extends @for_declaration_assign, ForAssign { + override string toString() { result = "ForDeclarationAssign" } + + /** + * Gets the `index`th initialization declaration of this for declaration assign (0-based). + */ + VariableDeclaration getInitializationDeclaration(int index) { + for_declaration_assign_initialization_declarations(this, index, result) + } + + /** + * Gets the number of initialization declarations of this for declaration assign. + */ + int getNumberOfInitializationDeclarations() { + result = count(int i | for_declaration_assign_initialization_declarations(this, i, _)) + } + } + + private Element getImmediateChildOfForDeclarationAssign(ForDeclarationAssign e, int index) { + exists(int n, int nFieldSpecification, int nInitializationDeclaration | + n = 0 and + nFieldSpecification = n + 1 and + nInitializationDeclaration = nFieldSpecification + e.getNumberOfInitializationDeclarations() and + ( + none() + or + index = n and result = e.getFieldSpecification() + or + result = e.getInitializationDeclaration(index - nFieldSpecification) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ForExpressionAssign extends @for_expression_assign, ForAssign { + /** + * Gets the expression of this for expression assign, if it exists. + */ + Expression getExpression() { for_expression_assign_expressions(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class ForFieldPostDecrement extends @for_field_post_decrement, ForAssign { + override string toString() { result = "ForFieldPostDecrement" } + } + + private Element getImmediateChildOfForFieldPostDecrement(ForFieldPostDecrement e, int index) { + exists(int n, int nFieldSpecification | + n = 0 and + nFieldSpecification = n + 1 and + ( + none() + or + index = n and result = e.getFieldSpecification() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ForFieldPostIncrement extends @for_field_post_increment, ForAssign { + override string toString() { result = "ForFieldPostIncrement" } + } + + private Element getImmediateChildOfForFieldPostIncrement(ForFieldPostIncrement e, int index) { + exists(int n, int nFieldSpecification | + n = 0 and + nFieldSpecification = n + 1 and + ( + none() + or + index = n and result = e.getFieldSpecification() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ForFieldPreDecrement extends @for_field_pre_decrement, ForAssign { + override string toString() { result = "ForFieldPreDecrement" } + } + + private Element getImmediateChildOfForFieldPreDecrement(ForFieldPreDecrement e, int index) { + exists(int n, int nFieldSpecification | + n = 0 and + nFieldSpecification = n + 1 and + ( + none() + or + index = n and result = e.getFieldSpecification() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ForFieldPreIncrement extends @for_field_pre_increment, ForAssign { + override string toString() { result = "ForFieldPreIncrement" } + } + + private Element getImmediateChildOfForFieldPreIncrement(ForFieldPreIncrement e, int index) { + exists(int n, int nFieldSpecification | + n = 0 and + nFieldSpecification = n + 1 and + ( + none() + or + index = n and result = e.getFieldSpecification() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ForStatement extends @for_statement, Statement { + override string toString() { result = "ForStatement" } + + /** + * Gets the condition of this for statement, if it exists. + */ + Expression getCondition() { for_statement_conditions(this, result) } + + /** + * Gets the initialization of this for statement, if it exists. + */ + ForAssign getInitialization() { for_statement_initializations(this, result) } + + /** + * Gets the statement of this for statement, if it exists. + */ + Statement getStatement() { for_statement_statements(this, result) } + + /** + * Gets the update of this for statement, if it exists. + */ + ForAssign getUpdate() { for_statement_updates(this, result) } + } + + private Element getImmediateChildOfForStatement(ForStatement e, int index) { + exists(int n, int nCondition, int nInitialization, int nStatement, int nUpdate | + n = 0 and + nCondition = n + 1 and + nInitialization = nCondition + 1 and + nStatement = nInitialization + 1 and + nUpdate = nStatement + 1 and + ( + none() + or + index = n and result = e.getCondition() + or + index = nCondition and result = e.getInitialization() + or + index = nInitialization and result = e.getStatement() + or + index = nStatement and result = e.getUpdate() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class GenericXppType extends @generic_xpp_type, XppType { + /** + * Gets the `index`th type argument list of this generic xpp type (0-based). + */ + XppType getTypeArgumentList(int index) { + generic_xpp_type_type_argument_lists(this, index, result) + } + + /** + * Gets the number of type argument lists of this generic xpp type. + */ + int getNumberOfTypeArgumentLists() { + result = count(int i | generic_xpp_type_type_argument_lists(this, i, _)) + } + } + + /** + * INTERNAL: Do not use. + */ + class GlobalOrderElement extends @global_order_element, OrderElement { + override string toString() { result = "GlobalOrderElement" } + + /** + * Gets the extension name of this global order element, if it exists. + */ + string getExtensionName() { global_order_element_extension_names(this, result) } + + /** + * Gets the table of this global order element, if it exists. + */ + string getTable() { global_order_element_tables(this, result) } + } + + private Element getImmediateChildOfGlobalOrderElement(GlobalOrderElement e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class GuidType extends @guid_type, XppType { + override string toString() { result = "GuidType" } + } + + private Element getImmediateChildOfGuidType(GuidType e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class IfStatement extends @if_statement, Statement { + override string toString() { result = "IfStatement" } + + /** + * Gets the condition of this if statement, if it exists. + */ + Expression getCondition() { if_statement_conditions(this, result) } + + /** + * Gets the consequent of this if statement, if it exists. + */ + Statement getConsequent() { if_statement_consequents(this, result) } + } + + private Element getImmediateChildOfIfStatement(IfStatement e, int index) { + exists(int n, int nCondition, int nConsequent | + n = 0 and + nCondition = n + 1 and + nConsequent = nCondition + 1 and + ( + none() + or + index = n and result = e.getCondition() + or + index = nCondition and result = e.getConsequent() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class IfThenElseStatement extends @if_then_else_statement, Statement { + override string toString() { result = "IfThenElseStatement" } + + /** + * Gets the antecedent of this if then else statement, if it exists. + */ + Statement getAntecedent() { if_then_else_statement_antecedents(this, result) } + + /** + * Gets the condition of this if then else statement, if it exists. + */ + Expression getCondition() { if_then_else_statement_conditions(this, result) } + + /** + * Gets the consequent of this if then else statement, if it exists. + */ + Statement getConsequent() { if_then_else_statement_consequents(this, result) } + } + + private Element getImmediateChildOfIfThenElseStatement(IfThenElseStatement e, int index) { + exists(int n, int nAntecedent, int nCondition, int nConsequent | + n = 0 and + nAntecedent = n + 1 and + nCondition = nAntecedent + 1 and + nConsequent = nCondition + 1 and + ( + none() + or + index = n and result = e.getAntecedent() + or + index = nAntecedent and result = e.getCondition() + or + index = nCondition and result = e.getConsequent() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ImplicitSelection extends @implicit_selection, Selection { + override string toString() { result = "ImplicitSelection" } + } + + private Element getImmediateChildOfImplicitSelection(ImplicitSelection e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class InsertStatement extends @insert_statement, Statement { + override string toString() { result = "InsertStatement" } + + /** + * Gets the cross company of this insert statement, if it exists. + */ + CrossCompany getCrossCompany() { insert_statement_cross_companies(this, result) } + + /** + * Gets the `index`th field of this insert statement (0-based). + */ + InsertFieldSpecification getField(int index) { insert_statement_fields(this, index, result) } + + /** + * Gets the number of fields of this insert statement. + */ + int getNumberOfFields() { result = count(int i | insert_statement_fields(this, i, _)) } + + /** + * Gets the query of this insert statement, if it exists. + */ + Query getQuery() { insert_statement_queries(this, result) } + + /** + * Gets the table of this insert statement, if it exists. + */ + string getTable() { insert_statement_tables(this, result) } + } + + private Element getImmediateChildOfInsertStatement(InsertStatement e, int index) { + exists(int n, int nCrossCompany, int nField, int nQuery | + n = 0 and + nCrossCompany = n + 1 and + nField = nCrossCompany + e.getNumberOfFields() and + nQuery = nField + 1 and + ( + none() + or + index = n and result = e.getCrossCompany() + or + result = e.getField(index - nCrossCompany) + or + index = nField and result = e.getQuery() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class Int64Type extends @int64_type, XppType { + override string toString() { result = "Int64Type" } + } + + private Element getImmediateChildOfInt64Type(Int64Type e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class IntType extends @int_type, XppType { + override string toString() { result = "IntType" } + } + + private Element getImmediateChildOfIntType(IntType e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class Intrinsic extends @intrinsic, Expression { + override string toString() { result = "Intrinsic" } + + /** + * Gets the arg1 of this intrinsic, if it exists. + */ + string getArg1() { intrinsic_arg1s(this, result) } + + /** + * Gets the arg2 of this intrinsic, if it exists. + */ + string getArg2() { intrinsic_arg2s(this, result) } + + /** + * Gets the arg3 of this intrinsic, if it exists. + */ + string getArg3() { intrinsic_arg3s(this, result) } + + /** + * Gets the name of this intrinsic, if it exists. + */ + string getName() { intrinsic_names(this, result) } + } + + private Element getImmediateChildOfIntrinsic(Intrinsic e, int index) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class IntrinsicAttributeLiteral extends @intrinsic_attribute_literal, AttributeLiteral { + override string toString() { result = "IntrinsicAttributeLiteral" } + + /** + * Gets the arg1 of this intrinsic attribute literal, if it exists. + */ + string getArg1() { intrinsic_attribute_literal_arg1s(this, result) } + + /** + * Gets the arg2 of this intrinsic attribute literal, if it exists. + */ + string getArg2() { intrinsic_attribute_literal_arg2s(this, result) } + + /** + * Gets the arg3 of this intrinsic attribute literal, if it exists. + */ + string getArg3() { intrinsic_attribute_literal_arg3s(this, result) } + + /** + * Gets the function name of this intrinsic attribute literal, if it exists. + */ + string getFunctionName() { intrinsic_attribute_literal_function_names(this, result) } + } + + private Element getImmediateChildOfIntrinsicAttributeLiteral( + IntrinsicAttributeLiteral e, int index + ) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class IsAsExpression extends @is_as_expression, Expression { + /** + * Gets the expression of this is as expression, if it exists. + */ + Expression getExpression() { is_as_expression_expressions(this, result) } + + /** + * Gets the type name of this is as expression, if it exists. + */ + string getTypeName() { is_as_expression_type_names(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class LiteralExpression extends @literal_expression, Expression { } + + /** + * INTERNAL: Do not use. + */ + class LocalDeclarationsStatement extends @local_declarations_statement, Statement { + override string toString() { result = "LocalDeclarationsStatement" } + + /** + * Gets the `index`th declaration of this local declarations statement (0-based). + */ + LocalDeclaration getDeclaration(int index) { + local_declarations_statement_declarations(this, index, result) + } + + /** + * Gets the number of declarations of this local declarations statement. + */ + int getNumberOfDeclarations() { + result = count(int i | local_declarations_statement_declarations(this, i, _)) + } + } + + private Element getImmediateChildOfLocalDeclarationsStatement( + LocalDeclarationsStatement e, int index + ) { + exists(int n, int nDeclaration | + n = 0 and + nDeclaration = n + e.getNumberOfDeclarations() and + ( + none() + or + result = e.getDeclaration(index - n) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class MethodOrDelegate extends @method_or_delegate, CompilationUnit { + /** + * Gets the attributes of this method or delegate, if it exists. + */ + AttributeList getAttributes() { method_or_delegate_attributes(this, result) } + + /** + * Gets the `index`th modifier list of this method or delegate (0-based). + */ + Modifier getModifierList(int index) { method_or_delegate_modifier_lists(this, index, result) } + + /** + * Gets the number of modifier lists of this method or delegate. + */ + int getNumberOfModifierLists() { + result = count(int i | method_or_delegate_modifier_lists(this, i, _)) + } + + /** + * Gets the `index`th parameter of this method or delegate (0-based). + */ + ParameterDeclaration getParameter(int index) { + method_or_delegate_parameters(this, index, result) + } + + /** + * Gets the number of parameters of this method or delegate. + */ + int getNumberOfParameters() { + result = count(int i | method_or_delegate_parameters(this, i, _)) + } + + /** + * Gets the path contribution of this method or delegate, if it exists. + */ + string getPathContribution() { method_or_delegate_path_contributions(this, result) } + + /** + * Gets the type of this method or delegate, if it exists. + */ + XppType getType() { method_or_delegate_types(this, result) } + + /** + * Gets the `index`th type parameter of this method or delegate (0-based). + */ + string getTypeParameter(int index) { method_or_delegate_type_parameters(this, index, result) } + + /** + * Gets the number of type parameters of this method or delegate. + */ + int getNumberOfTypeParameters() { + result = count(int i | method_or_delegate_type_parameters(this, i, _)) + } + } + + /** + * INTERNAL: Do not use. + */ + class ModelElement extends @model_element, CompilationUnit { + /** + * Gets the `index`th base method of this model element (0-based). + */ + MethodOrDelegate getBaseMethod(int index) { model_element_base_methods(this, index, result) } + + /** + * Gets the number of base methods of this model element. + */ + int getNumberOfBaseMethods() { result = count(int i | model_element_base_methods(this, i, _)) } + + /** + * Gets the `index`th extend generic parameter of this model element (0-based). + */ + XppType getExtendGenericParameter(int index) { + model_element_extend_generic_parameters(this, index, result) + } + + /** + * Gets the number of extend generic parameters of this model element. + */ + int getNumberOfExtendGenericParameters() { + result = count(int i | model_element_extend_generic_parameters(this, i, _)) + } + + /** + * Gets the full name of this model element, if it exists. + */ + string getFullName() { model_element_full_names(this, result) } + + /** + * Gets the full name no default namespace of this model element, if it exists. + */ + string getFullNameNoDefaultNamespace() { + model_element_full_name_no_default_namespaces(this, result) + } + + /** + * Holds if this model element is internal. + */ + predicate isInternal() { model_element_is_internal(this) } + + /** + * Holds if this model element is kernel. + */ + predicate isKernel() { model_element_is_kernel(this) } + + /** + * Holds if this model element is obsolete. + */ + predicate isObsolete() { model_element_is_obsolete(this) } + + /** + * Holds if this model element is private. + */ + predicate isPrivate() { model_element_is_private(this) } + + /** + * Holds if this model element is public. + */ + predicate isPublic() { model_element_is_public(this) } + + /** + * Gets the `index`th method of this model element (0-based). + */ + MethodOrDelegate getMethod(int index) { model_element_methods(this, index, result) } + + /** + * Gets the number of methods of this model element. + */ + int getNumberOfMethods() { result = count(int i | model_element_methods(this, i, _)) } + + /** + * Gets the model of this model element, if it exists. + */ + int getModelId() { model_element_model_ids(this, result) } + + /** + * Gets the `index`th modifier list of this model element (0-based). + */ + ClassAccessModifier getModifierList(int index) { + model_element_modifier_lists(this, index, result) + } + + /** + * Gets the number of modifier lists of this model element. + */ + int getNumberOfModifierLists() { + result = count(int i | model_element_modifier_lists(this, i, _)) + } + + /** + * Gets the modifiers of this model element, if it exists. + */ + string getModifiers() { model_element_modifiers(this, result) } + + /** + * Gets the namespace of this model element, if it exists. + */ + string getNamespace() { model_element_namespaces(this, result) } + + /** + * Gets the `index`th nested class of this model element (0-based). + */ + ClassOrInterface getNestedClass(int index) { model_element_nested_classes(this, index, result) } + + /** + * Gets the number of nested classes of this model element. + */ + int getNumberOfNestedClasses() { + result = count(int i | model_element_nested_classes(this, i, _)) + } + + /** + * Gets the path contribution of this model element, if it exists. + */ + string getPathContribution() { model_element_path_contributions(this, result) } + + /** + * Gets the `index`th type parameter of this model element (0-based). + */ + string getTypeParameter(int index) { model_element_type_parameters(this, index, result) } + + /** + * Gets the number of type parameters of this model element. + */ + int getNumberOfTypeParameters() { + result = count(int i | model_element_type_parameters(this, i, _)) + } + + /** + * Gets the `index`th using of this model element (0-based). + */ + ModelElementUsingEntry getUsing(int index) { model_element_usings(this, index, result) } + + /** + * Gets the number of usings of this model element. + */ + int getNumberOfUsings() { result = count(int i | model_element_usings(this, i, _)) } + + /** + * Gets the visibility of this model element, if it exists. + */ + string getVisibility() { model_element_visibilities(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class MoveCursorStatement extends @move_cursor_statement, Statement { + override string toString() { result = "MoveCursorStatement" } + + /** + * Gets the selection of this move cursor statement, if it exists. + */ + Selection getSelection() { move_cursor_statement_selections(this, result) } + + /** + * Gets the table of this move cursor statement, if it exists. + */ + string getTable() { move_cursor_statement_tables(this, result) } + } + + private Element getImmediateChildOfMoveCursorStatement(MoveCursorStatement e, int index) { + exists(int n, int nSelection | + n = 0 and + nSelection = n + 1 and + ( + none() + or + index = n and result = e.getSelection() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class NamedFieldReference extends @named_field_reference, TableFieldReference { + override string toString() { result = "NamedFieldReference" } + + /** + * Gets the extension name of this named field reference, if it exists. + */ + string getExtensionName() { named_field_reference_extension_names(this, result) } + + /** + * Gets the field name of this named field reference, if it exists. + */ + string getFieldName() { named_field_reference_field_names(this, result) } + } + + private Element getImmediateChildOfNamedFieldReference(NamedFieldReference e, int index) { + exists(int n, int nIndex | + n = 0 and + nIndex = n + 1 and + ( + none() + or + index = n and result = e.getIndex() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class NewClrArrayExpression extends @new_clr_array_expression, Expression { + override string toString() { result = "NewClrArrayExpression" } + + /** + * Gets the full name of this new clr array expression, if it exists. + */ + string getFullName() { new_clr_array_expression_full_names(this, result) } + + /** + * Gets the `index`th rectangular dimension of this new clr array expression (0-based). + */ + int getRectangularDimension(int index) { + new_clr_array_expression_rectangular_dimensions(this, index, result) + } + + /** + * Gets the number of rectangular dimensions of this new clr array expression. + */ + int getNumberOfRectangularDimensions() { + result = count(int i | new_clr_array_expression_rectangular_dimensions(this, i, _)) + } + + /** + * Gets the `index`th size of this new clr array expression (0-based). + */ + Expression getSize(int index) { new_clr_array_expression_sizes(this, index, result) } + + /** + * Gets the number of sizes of this new clr array expression. + */ + int getNumberOfSizes() { result = count(int i | new_clr_array_expression_sizes(this, i, _)) } + + /** + * Gets the `index`th type argument list of this new clr array expression (0-based). + */ + XppType getTypeArgumentList(int index) { + new_clr_array_expression_type_argument_lists(this, index, result) + } + + /** + * Gets the number of type argument lists of this new clr array expression. + */ + int getNumberOfTypeArgumentLists() { + result = count(int i | new_clr_array_expression_type_argument_lists(this, i, _)) + } + } + + private Element getImmediateChildOfNewClrArrayExpression(NewClrArrayExpression e, int index) { + exists(int n, int nTransformation, int nSize, int nTypeArgumentList | + n = 0 and + nTransformation = n + 1 and + nSize = nTransformation + e.getNumberOfSizes() and + nTypeArgumentList = nSize + e.getNumberOfTypeArgumentLists() and + ( + none() + or + index = n and result = e.getTransformation() + or + result = e.getSize(index - nTransformation) + or + result = e.getTypeArgumentList(index - nSize) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class NumberedFieldReference extends @numbered_field_reference, TableFieldReference { + override string toString() { result = "NumberedFieldReference" } + + /** + * Gets the field number of this numbered field reference, if it exists. + */ + Expression getFieldNumber() { numbered_field_reference_field_numbers(this, result) } + } + + private Element getImmediateChildOfNumberedFieldReference(NumberedFieldReference e, int index) { + exists(int n, int nIndex, int nFieldNumber | + n = 0 and + nIndex = n + 1 and + nFieldNumber = nIndex + 1 and + ( + none() + or + index = n and result = e.getIndex() + or + index = nIndex and result = e.getFieldNumber() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class Placeholder extends @placeholder, Expression { + override string toString() { result = "Placeholder" } + } + + private Element getImmediateChildOfPlaceholder(Placeholder e, int index) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class PrintStatement extends @print_statement, Statement { + override string toString() { result = "PrintStatement" } + + /** + * Gets the `index`th expression of this print statement (0-based). + */ + Expression getExpression(int index) { print_statement_expressions(this, index, result) } + + /** + * Gets the number of expressions of this print statement. + */ + int getNumberOfExpressions() { result = count(int i | print_statement_expressions(this, i, _)) } + } + + private Element getImmediateChildOfPrintStatement(PrintStatement e, int index) { + exists(int n, int nExpression | + n = 0 and + nExpression = n + e.getNumberOfExpressions() and + ( + none() + or + result = e.getExpression(index - n) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ProvidedType extends @provided_type, XppType { + override string toString() { result = "ProvidedType" } + + /** + * Gets the `index`th argument list of this provided type (0-based). + */ + Expression getArgumentList(int index) { provided_type_argument_lists(this, index, result) } + + /** + * Gets the number of argument lists of this provided type. + */ + int getNumberOfArgumentLists() { + result = count(int i | provided_type_argument_lists(this, i, _)) + } + + /** + * Gets the name of this provided type, if it exists. + */ + string getName() { provided_type_names(this, result) } + } + + private Element getImmediateChildOfProvidedType(ProvidedType e, int index) { + exists(int n, int nArgumentList | + n = 0 and + nArgumentList = n + e.getNumberOfArgumentLists() and + ( + none() + or + result = e.getArgumentList(index - n) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class QualifiedField extends @qualified_field, FieldSpecification { + override string toString() { result = "QualifiedField" } + + /** + * Gets the extension name of this qualified field, if it exists. + */ + string getExtensionName() { qualified_field_extension_names(this, result) } + + /** + * Gets the name of this qualified field, if it exists. + */ + string getName() { qualified_field_names(this, result) } + } + + private Element getImmediateChildOfQualifiedField(QualifiedField e, int index) { + exists(int n, int nArrayIndex, int nQualifier | + n = 0 and + nArrayIndex = n + 1 and + nQualifier = nArrayIndex + 1 and + ( + none() + or + index = n and result = e.getArrayIndex() + or + index = nArrayIndex and result = e.getQualifier() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class QualifiedInstanceName extends @qualified_instance_name, InstanceName { + override string toString() { result = "QualifiedInstanceName" } + + /** + * Gets the index of this qualified instance name, if it exists. + */ + Expression getIndex() { qualified_instance_name_indices(this, result) } + + /** + * Gets the name of this qualified instance name, if it exists. + */ + string getName() { qualified_instance_name_names(this, result) } + + /** + * Gets the qualifier of this qualified instance name, if it exists. + */ + Qualifier getQualifier() { qualified_instance_name_qualifiers(this, result) } + } + + private Element getImmediateChildOfQualifiedInstanceName(QualifiedInstanceName e, int index) { + exists(int n, int nIndex, int nQualifier | + n = 0 and + nIndex = n + 1 and + nQualifier = nIndex + 1 and + ( + none() + or + index = n and result = e.getIndex() + or + index = nIndex and result = e.getQualifier() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class QualifiedNumberedField extends @qualified_numbered_field, FieldSpecification { + override string toString() { result = "QualifiedNumberedField" } + + /** + * Gets the field number of this qualified numbered field, if it exists. + */ + Expression getFieldNumber() { qualified_numbered_field_field_numbers(this, result) } + } + + private Element getImmediateChildOfQualifiedNumberedField(QualifiedNumberedField e, int index) { + exists(int n, int nArrayIndex, int nQualifier, int nFieldNumber | + n = 0 and + nArrayIndex = n + 1 and + nQualifier = nArrayIndex + 1 and + nFieldNumber = nQualifier + 1 and + ( + none() + or + index = n and result = e.getArrayIndex() + or + index = nArrayIndex and result = e.getQualifier() + or + index = nQualifier and result = e.getFieldNumber() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class QualifiedStaticField extends @qualified_static_field, FieldSpecification { + override string toString() { result = "QualifiedStaticField" } + + /** + * Gets the class name of this qualified static field, if it exists. + */ + string getClassName() { qualified_static_field_class_names(this, result) } + + /** + * Holds if this qualified static field is enum. + */ + predicate isEnum() { qualified_static_field_is_enum(this) } + + /** + * Gets the name of this qualified static field, if it exists. + */ + string getName() { qualified_static_field_names(this, result) } + } + + private Element getImmediateChildOfQualifiedStaticField(QualifiedStaticField e, int index) { + exists(int n, int nArrayIndex, int nQualifier | + n = 0 and + nArrayIndex = n + 1 and + nQualifier = nArrayIndex + 1 and + ( + none() + or + index = n and result = e.getArrayIndex() + or + index = nArrayIndex and result = e.getQualifier() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class RetryStatement extends @retry_statement, Statement { + override string toString() { result = "RetryStatement" } + } + + private Element getImmediateChildOfRetryStatement(RetryStatement e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class ReturnStatement extends @return_statement, Statement { + override string toString() { result = "ReturnStatement" } + + /** + * Gets the expression of this return statement, if it exists. + */ + Expression getExpression() { return_statement_expressions(this, result) } + } + + private Element getImmediateChildOfReturnStatement(ReturnStatement e, int index) { + exists(int n, int nExpression | + n = 0 and + nExpression = n + 1 and + ( + none() + or + index = n and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class SearchStatement extends @search_statement, Statement { + override string toString() { result = "SearchStatement" } + + /** + * Gets the query of this search statement, if it exists. + */ + Query getQuery() { search_statement_queries(this, result) } + + /** + * Gets the statement of this search statement, if it exists. + */ + Statement getStatement() { search_statement_statements(this, result) } + } + + private Element getImmediateChildOfSearchStatement(SearchStatement e, int index) { + exists(int n, int nQuery, int nStatement | + n = 0 and + nQuery = n + 1 and + nStatement = nQuery + 1 and + ( + none() + or + index = n and result = e.getQuery() + or + index = nQuery and result = e.getStatement() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class SimpleField extends @simple_field, FieldSpecification { + override string toString() { result = "SimpleField" } + + /** + * Gets the extension name of this simple field, if it exists. + */ + string getExtensionName() { simple_field_extension_names(this, result) } + + /** + * Holds if this simple field is name escaped. + */ + predicate isNameEscaped() { simple_field_is_name_escaped(this) } + + /** + * Gets the name of this simple field, if it exists. + */ + string getName() { simple_field_names(this, result) } + } + + private Element getImmediateChildOfSimpleField(SimpleField e, int index) { + exists(int n, int nArrayIndex, int nQualifier | + n = 0 and + nArrayIndex = n + 1 and + nQualifier = nArrayIndex + 1 and + ( + none() + or + index = n and result = e.getArrayIndex() + or + index = nArrayIndex and result = e.getQualifier() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class SimpleInstanceName extends @simple_instance_name, InstanceName { + override string toString() { result = "SimpleInstanceName" } + + /** + * Gets the index of this simple instance name, if it exists. + */ + Expression getIndex() { simple_instance_name_indices(this, result) } + + /** + * Gets the name of this simple instance name, if it exists. + */ + string getName() { simple_instance_name_names(this, result) } + } + + private Element getImmediateChildOfSimpleInstanceName(SimpleInstanceName e, int index) { + exists(int n, int nIndex | + n = 0 and + nIndex = n + 1 and + ( + none() + or + index = n and result = e.getIndex() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class SimpleOrderElement extends @simple_order_element, OrderElement { + override string toString() { result = "SimpleOrderElement" } + + /** + * Gets the extension name of this simple order element, if it exists. + */ + string getExtensionName() { simple_order_element_extension_names(this, result) } + } + + private Element getImmediateChildOfSimpleOrderElement(SimpleOrderElement e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class SimpleQualifier extends @simple_qualifier, Qualifier { + /** + * Gets the name of this simple qualifier, if it exists. + */ + string getName() { simple_qualifier_names(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class StaticField extends @static_field, FieldSpecification { + override string toString() { result = "StaticField" } + + /** + * Gets the class name of this static field, if it exists. + */ + string getClassName() { static_field_class_names(this, result) } + + /** + * Gets the name of this static field, if it exists. + */ + string getName() { static_field_names(this, result) } + } + + private Element getImmediateChildOfStaticField(StaticField e, int index) { + exists(int n, int nArrayIndex, int nQualifier | + n = 0 and + nArrayIndex = n + 1 and + nQualifier = nArrayIndex + 1 and + ( + none() + or + index = n and result = e.getArrayIndex() + or + index = nArrayIndex and result = e.getQualifier() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class StringType extends @string_type, XppType { } + + /** + * INTERNAL: Do not use. + */ + class SwitchStatement extends @switch_statement, Statement { + override string toString() { result = "SwitchStatement" } + + /** + * Gets the `index`th case of this switch statement (0-based). + */ + SwitchStatementCaseEntry getCase(int index) { switch_statement_cases(this, index, result) } + + /** + * Gets the number of cases of this switch statement. + */ + int getNumberOfCases() { result = count(int i | switch_statement_cases(this, i, _)) } + + /** + * Gets the selector of this switch statement, if it exists. + */ + Expression getSelector() { switch_statement_selectors(this, result) } + } + + private Element getImmediateChildOfSwitchStatement(SwitchStatement e, int index) { + exists(int n, int nCase, int nSelector | + n = 0 and + nCase = n + e.getNumberOfCases() and + nSelector = nCase + 1 and + ( + none() + or + result = e.getCase(index - n) + or + index = nCase and result = e.getSelector() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class TableLookupExpression extends @table_lookup_expression, Expression { + override string toString() { result = "TableLookupExpression" } + + /** + * Gets the field of this table lookup expression, if it exists. + */ + TableFieldReference getField() { table_lookup_expression_fields(this, result) } + + /** + * Gets the query of this table lookup expression, if it exists. + */ + Query getQuery() { table_lookup_expression_queries(this, result) } + } + + private Element getImmediateChildOfTableLookupExpression(TableLookupExpression e, int index) { + exists(int n, int nTransformation, int nField, int nQuery | + n = 0 and + nTransformation = n + 1 and + nField = nTransformation + 1 and + nQuery = nField + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getField() + or + index = nField and result = e.getQuery() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ThrowStatement extends @throw_statement, Statement { + override string toString() { result = "ThrowStatement" } + + /** + * Gets the exception of this throw statement, if it exists. + */ + Expression getException() { throw_statement_exceptions(this, result) } + } + + private Element getImmediateChildOfThrowStatement(ThrowStatement e, int index) { + exists(int n, int nException | + n = 0 and + nException = n + 1 and + ( + none() + or + index = n and result = e.getException() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class TryStatement extends @try_statement, Statement { + override string toString() { result = "TryStatement" } + + /** + * Gets the `index`th catch of this try statement (0-based). + */ + TryStatementCatchEntry getCatch(int index) { try_statement_catches(this, index, result) } + + /** + * Gets the number of catches of this try statement. + */ + int getNumberOfCatches() { result = count(int i | try_statement_catches(this, i, _)) } + + /** + * Gets the finally of this try statement, if it exists. + */ + Statement getFinally() { try_statement_finallies(this, result) } + + /** + * Gets the statement of this try statement, if it exists. + */ + Statement getStatement() { try_statement_statements(this, result) } + } + + private Element getImmediateChildOfTryStatement(TryStatement e, int index) { + exists(int n, int nCatch, int nFinally, int nStatement | + n = 0 and + nCatch = n + e.getNumberOfCatches() and + nFinally = nCatch + 1 and + nStatement = nFinally + 1 and + ( + none() + or + result = e.getCatch(index - n) + or + index = nCatch and result = e.getFinally() + or + index = nFinally and result = e.getStatement() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class TtsStatement extends @tts_statement, Statement { } + + /** + * INTERNAL: Do not use. + */ + class UnaryExpression extends @unary_expression, Expression { + /** + * Gets the expression of this unary expression, if it exists. + */ + Expression getExpression() { unary_expression_expressions(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class UncheckedStatement extends @unchecked_statement, Statement { + override string toString() { result = "UncheckedStatement" } + + /** + * Gets the expression of this unchecked statement, if it exists. + */ + Expression getExpression() { unchecked_statement_expressions(this, result) } + + /** + * Gets the statement of this unchecked statement, if it exists. + */ + Statement getStatement() { unchecked_statement_statements(this, result) } + } + + private Element getImmediateChildOfUncheckedStatement(UncheckedStatement e, int index) { + exists(int n, int nExpression, int nStatement | + n = 0 and + nExpression = n + 1 and + nStatement = nExpression + 1 and + ( + none() + or + index = n and result = e.getExpression() + or + index = nExpression and result = e.getStatement() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class UpdateStatement extends @update_statement, Statement { + override string toString() { result = "UpdateStatement" } + + /** + * Gets the cross company of this update statement, if it exists. + */ + CrossCompany getCrossCompany() { update_statement_cross_companies(this, result) } + + /** + * Gets the `index`th field assignment of this update statement (0-based). + */ + FieldAssignment getFieldAssignment(int index) { + update_statement_field_assignments(this, index, result) + } + + /** + * Gets the number of field assignments of this update statement. + */ + int getNumberOfFieldAssignments() { + result = count(int i | update_statement_field_assignments(this, i, _)) + } + + /** + * Gets the `index`th hint of this update statement (0-based). + */ + string getHint(int index) { update_statement_hints(this, index, result) } + + /** + * Gets the number of hints of this update statement. + */ + int getNumberOfHints() { result = count(int i | update_statement_hints(this, i, _)) } + + /** + * Gets the joins of this update statement, if it exists. + */ + JoinSpecification getJoins() { update_statement_joins(this, result) } + + /** + * Gets the table of this update statement, if it exists. + */ + string getTable() { update_statement_tables(this, result) } + + /** + * Gets the where of this update statement, if it exists. + */ + Expression getWhere() { update_statement_wheres(this, result) } + } + + private Element getImmediateChildOfUpdateStatement(UpdateStatement e, int index) { + exists(int n, int nCrossCompany, int nFieldAssignment, int nJoins, int nWhere | + n = 0 and + nCrossCompany = n + 1 and + nFieldAssignment = nCrossCompany + e.getNumberOfFieldAssignments() and + nJoins = nFieldAssignment + 1 and + nWhere = nJoins + 1 and + ( + none() + or + index = n and result = e.getCrossCompany() + or + result = e.getFieldAssignment(index - nCrossCompany) + or + index = nFieldAssignment and result = e.getJoins() + or + index = nJoins and result = e.getWhere() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class UsingStatement extends @using_statement, Statement { + override string toString() { result = "UsingStatement" } + + /** + * Gets the `index`th disposable object initializer of this using statement (0-based). + */ + VariableDeclaration getDisposableObjectInitializer(int index) { + using_statement_disposable_object_initializers(this, index, result) + } + + /** + * Gets the number of disposable object initializers of this using statement. + */ + int getNumberOfDisposableObjectInitializers() { + result = count(int i | using_statement_disposable_object_initializers(this, i, _)) + } + + /** + * Gets the statement of this using statement, if it exists. + */ + Statement getStatement() { using_statement_statements(this, result) } + } + + private Element getImmediateChildOfUsingStatement(UsingStatement e, int index) { + exists(int n, int nDisposableObjectInitializer, int nStatement | + n = 0 and + nDisposableObjectInitializer = n + e.getNumberOfDisposableObjectInitializers() and + nStatement = nDisposableObjectInitializer + 1 and + ( + none() + or + result = e.getDisposableObjectInitializer(index - n) + or + index = nDisposableObjectInitializer and result = e.getStatement() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ValidTimeStateDate extends @valid_time_state_date, ValidTimeState { + override string toString() { result = "ValidTimeStateDate" } + + /** + * Gets the date variable of this valid time state date, if it exists. + */ + string getDateVariable() { valid_time_state_date_date_variables(this, result) } + } + + private Element getImmediateChildOfValidTimeStateDate(ValidTimeStateDate e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class ValidTimeStateRange extends @valid_time_state_range, ValidTimeState { + override string toString() { result = "ValidTimeStateRange" } + + /** + * Gets the from date variable of this valid time state range, if it exists. + */ + string getFromDateVariable() { valid_time_state_range_from_date_variables(this, result) } + + /** + * Gets the to date variable of this valid time state range, if it exists. + */ + string getToDateVariable() { valid_time_state_range_to_date_variables(this, result) } + } + + private Element getImmediateChildOfValidTimeStateRange(ValidTimeStateRange e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class VarType extends @var_type, XppType { + override string toString() { result = "VarType" } + } + + private Element getImmediateChildOfVarType(VarType e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class VoidType extends @void_type, XppType { + override string toString() { result = "VoidType" } + } + + private Element getImmediateChildOfVoidType(VoidType e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class WhileStatement extends @while_statement, Statement { + override string toString() { result = "WhileStatement" } + + /** + * Gets the condition of this while statement, if it exists. + */ + Expression getCondition() { while_statement_conditions(this, result) } + + /** + * Gets the statement of this while statement, if it exists. + */ + Statement getStatement() { while_statement_statements(this, result) } + } + + private Element getImmediateChildOfWhileStatement(WhileStatement e, int index) { + exists(int n, int nCondition, int nStatement | + n = 0 and + nCondition = n + 1 and + nStatement = nCondition + 1 and + ( + none() + or + index = n and result = e.getCondition() + or + index = nCondition and result = e.getStatement() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class XppTypeCompilationUnit extends @xpp_type_compilation_unit, CompilationUnit { + override string toString() { result = "XppTypeCompilationUnit" } + + /** + * Gets the type of this xpp type compilation unit, if it exists. + */ + XppType getType() { xpp_type_compilation_unit_types(this, result) } + } + + private Element getImmediateChildOfXppTypeCompilationUnit(XppTypeCompilationUnit e, int index) { + exists(int n, int nComments, int nRegion, int nType | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nType = nRegion + 1 and + ( + none() + or + index = n and result = e.getComments() + or + result = e.getRegion(index - nComments) + or + index = nRegion and result = e.getType() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AddExpression extends @add_expression, BinaryExpression { + override string toString() { result = "AddExpression" } + } + + private Element getImmediateChildOfAddExpression(AddExpression e, int index) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AndExpression extends @and_expression, BinaryExpression { + override string toString() { result = "AndExpression" } + } + + private Element getImmediateChildOfAndExpression(AndExpression e, int index) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AsClrExpression extends @as_clr_expression, IsAsExpression { + override string toString() { result = "AsClrExpression" } + } + + private Element getImmediateChildOfAsClrExpression(AsClrExpression e, int index) { + exists(int n, int nTransformation, int nExpression | + n = 0 and + nTransformation = n + 1 and + nExpression = nTransformation + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AsExpression extends @as_expression, IsAsExpression { + override string toString() { result = "AsExpression" } + } + + private Element getImmediateChildOfAsExpression(AsExpression e, int index) { + exists(int n, int nTransformation, int nExpression | + n = 0 and + nTransformation = n + 1 and + nExpression = nTransformation + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AssignMultipleFieldStatement extends @assign_multiple_field_statement, AssignmentStatement { + override string toString() { result = "AssignMultipleFieldStatement" } + + /** + * Gets the expression of this assign multiple field statement, if it exists. + */ + Expression getExpression() { assign_multiple_field_statement_expressions(this, result) } + + /** + * Gets the `index`th field of this assign multiple field statement (0-based). + */ + FieldSpecification getField(int index) { + assign_multiple_field_statement_fields(this, index, result) + } + + /** + * Gets the number of fields of this assign multiple field statement. + */ + int getNumberOfFields() { + result = count(int i | assign_multiple_field_statement_fields(this, i, _)) + } + } + + private Element getImmediateChildOfAssignMultipleFieldStatement( + AssignMultipleFieldStatement e, int index + ) { + exists(int n, int nExpression, int nField | + n = 0 and + nExpression = n + 1 and + nField = nExpression + e.getNumberOfFields() and + ( + none() + or + index = n and result = e.getExpression() + or + result = e.getField(index - nExpression) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AssignmentSingleField extends @assignment_single_field, AssignmentStatement { + /** + * Gets the field of this assignment single field, if it exists. + */ + FieldSpecification getField() { assignment_single_field_fields(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class AvgAggregateSelection extends @avg_aggregate_selection, AggregateSelection { + override string toString() { result = "AvgAggregateSelection" } + } + + private Element getImmediateChildOfAvgAggregateSelection(AvgAggregateSelection e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class BooleanAttributeLiteral extends @boolean_attribute_literal, DefaultTypeAttributeLiteral { + override string toString() { result = "BooleanAttributeLiteral" } + } + + private Element getImmediateChildOfBooleanAttributeLiteral(BooleanAttributeLiteral e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class ChangeCompanyStatement extends @change_company_statement, ChangeStatement { + override string toString() { result = "ChangeCompanyStatement" } + } + + private Element getImmediateChildOfChangeCompanyStatement(ChangeCompanyStatement e, int index) { + exists(int n, int nExpression, int nStatement | + n = 0 and + nExpression = n + 1 and + nStatement = nExpression + 1 and + ( + none() + or + index = n and result = e.getExpression() + or + index = nExpression and result = e.getStatement() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ClassOrInterface extends @class_or_interface, ModelElement { + /** + * Gets the attributes of this class or interface, if it exists. + */ + AttributeList getAttributes() { class_or_interface_attributes(this, result) } + + /** + * Gets the element type name of this class or interface, if it exists. + */ + string getElementTypeName() { class_or_interface_element_type_names(this, result) } + + /** + * Gets the enclosing type of this class or interface, if it exists. + */ + ModelElement getEnclosingType() { class_or_interface_enclosing_types(this, result) } + + /** + * Gets the extends of this class or interface, if it exists. + */ + string getExtends() { class_or_interface_extends(this, result) } + + /** + * Holds if this class or interface is abstract. + */ + predicate isAbstract() { class_or_interface_is_abstract(this) } + + /** + * Holds if this class or interface is composite data entity view. + */ + predicate isCompositeDataEntityView() { class_or_interface_is_composite_data_entity_view(this) } + + /** + * Holds if this class or interface is final. + */ + predicate isFinal() { class_or_interface_is_final(this) } + + /** + * Holds if this class or interface is nested. + */ + predicate isNested() { class_or_interface_is_nested(this) } + + /** + * Holds if this class or interface is static. + */ + predicate isStatic() { class_or_interface_is_static(this) } + + /** + * Gets the qualifier of this class or interface, if it exists. + */ + string getQualifier() { class_or_interface_qualifiers(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class ClrEnumerationLiteralExpression extends @clr_enumeration_literal_expression, + LiteralExpression + { + override string toString() { result = "ClrEnumerationLiteralExpression" } + + /** + * Gets the enumeration literal of this clr enumeration literal expression, if it exists. + */ + string getEnumerationLiteral() { + clr_enumeration_literal_expression_enumeration_literals(this, result) + } + + /** + * Gets the enumeration type of this clr enumeration literal expression, if it exists. + */ + string getEnumerationType() { + clr_enumeration_literal_expression_enumeration_types(this, result) + } + } + + private Element getImmediateChildOfClrEnumerationLiteralExpression( + ClrEnumerationLiteralExpression e, int index + ) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ClrType extends @clr_type, GenericXppType { + override string toString() { result = "ClrType" } + + /** + * Gets the full name of this clr type, if it exists. + */ + string getFullName() { clr_type_full_names(this, result) } + + /** + * Gets the `index`th rectangular dimension of this clr type (0-based). + */ + int getRectangularDimension(int index) { clr_type_rectangular_dimensions(this, index, result) } + + /** + * Gets the number of rectangular dimensions of this clr type. + */ + int getNumberOfRectangularDimensions() { + result = count(int i | clr_type_rectangular_dimensions(this, i, _)) + } + } + + private Element getImmediateChildOfClrType(ClrType e, int index) { + exists(int n, int nTypeArgumentList | + n = 0 and + nTypeArgumentList = n + e.getNumberOfTypeArgumentLists() and + ( + none() + or + result = e.getTypeArgumentList(index - n) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ContainerLiteralExpression extends @container_literal_expression, LiteralExpression { + override string toString() { result = "ContainerLiteralExpression" } + + /** + * Gets the `index`th value of this container literal expression (0-based). + */ + Expression getValue(int index) { container_literal_expression_values(this, index, result) } + + /** + * Gets the number of values of this container literal expression. + */ + int getNumberOfValues() { + result = count(int i | container_literal_expression_values(this, i, _)) + } + } + + private Element getImmediateChildOfContainerLiteralExpression( + ContainerLiteralExpression e, int index + ) { + exists(int n, int nTransformation, int nValue | + n = 0 and + nTransformation = n + 1 and + nValue = nTransformation + e.getNumberOfValues() and + ( + none() + or + index = n and result = e.getTransformation() + or + result = e.getValue(index - nTransformation) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class CountAggregateSelection extends @count_aggregate_selection, AggregateSelection { + override string toString() { result = "CountAggregateSelection" } + } + + private Element getImmediateChildOfCountAggregateSelection(CountAggregateSelection e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class DateAttributeLiteral extends @date_attribute_literal, DefaultTypeAttributeLiteral { + override string toString() { result = "DateAttributeLiteral" } + } + + private Element getImmediateChildOfDateAttributeLiteral(DateAttributeLiteral e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class DateTimeAttributeLiteral extends @date_time_attribute_literal, DefaultTypeAttributeLiteral { + override string toString() { result = "DateTimeAttributeLiteral" } + } + + private Element getImmediateChildOfDateTimeAttributeLiteral(DateTimeAttributeLiteral e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class DblAttributeLiteral extends @dbl_attribute_literal, DefaultTypeAttributeLiteral { + override string toString() { result = "DblAttributeLiteral" } + } + + private Element getImmediateChildOfDblAttributeLiteral(DblAttributeLiteral e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class DefaultTypeLiteralExpression extends @default_type_literal_expression, LiteralExpression { + /** + * Gets the scanned literal value of this default type literal expression, if it exists. + */ + string getScannedLiteralValue() { + default_type_literal_expression_scanned_literal_values(this, result) + } + } + + /** + * INTERNAL: Do not use. + */ + class Delegate extends @delegate, MethodOrDelegate { + override string toString() { result = "Delegate" } + + /** + * Holds if this delegate is static. + */ + predicate isStatic() { delegate_is_static(this) } + } + + private Element getImmediateChildOfDelegate(Delegate e, int index) { + exists( + int n, int nComments, int nRegion, int nAttributes, int nModifierList, int nParameter, + int nType + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nAttributes = nRegion + 1 and + nModifierList = nAttributes + e.getNumberOfModifierLists() and + nParameter = nModifierList + e.getNumberOfParameters() and + nType = nParameter + 1 and + ( + none() + or + index = n and result = e.getComments() + or + result = e.getRegion(index - nComments) + or + index = nRegion and result = e.getAttributes() + or + result = e.getModifierList(index - nAttributes) + or + result = e.getParameter(index - nModifierList) + or + index = nParameter and result = e.getType() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class DivideExpression extends @divide_expression, BinaryExpression { + override string toString() { result = "DivideExpression" } + } + + private Element getImmediateChildOfDivideExpression(DivideExpression e, int index) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class EnumerationLiteralExpression extends @enumeration_literal_expression, LiteralExpression { + override string toString() { result = "EnumerationLiteralExpression" } + + /** + * Gets the enumeration literal of this enumeration literal expression, if it exists. + */ + string getEnumerationLiteral() { + enumeration_literal_expression_enumeration_literals(this, result) + } + + /** + * Gets the enumeration type of this enumeration literal expression, if it exists. + */ + string getEnumerationType() { enumeration_literal_expression_enumeration_types(this, result) } + } + + private Element getImmediateChildOfEnumerationLiteralExpression( + EnumerationLiteralExpression e, int index + ) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class FieldDeclaration extends @field_declaration, Declaration { + /** + * Gets the attributes of this field declaration, if it exists. + */ + AttributeList getAttributes() { field_declaration_attributes(this, result) } + + /** + * Gets the element type name of this field declaration, if it exists. + */ + string getElementTypeName() { field_declaration_element_type_names(this, result) } + + /** + * Gets the extension name of this field declaration, if it exists. + */ + string getExtensionName() { field_declaration_extension_names(this, result) } + + /** + * Gets the initial value of this field declaration, if it exists. + */ + Expression getInitialValue() { field_declaration_initial_values(this, result) } + + /** + * Holds if this field declaration is const. + */ + predicate isConst() { field_declaration_is_const(this) } + + /** + * Holds if this field declaration is extension. + */ + predicate isExtension() { field_declaration_is_extension(this) } + + /** + * Holds if this field declaration is internal. + */ + predicate isInternal() { field_declaration_is_internal(this) } + + /** + * Holds if this field declaration is obsolete. + */ + predicate isObsolete() { field_declaration_is_obsolete(this) } + + /** + * Holds if this field declaration is private. + */ + predicate isPrivate() { field_declaration_is_private(this) } + + /** + * Holds if this field declaration is protected. + */ + predicate isProtected() { field_declaration_is_protected(this) } + + /** + * Holds if this field declaration is public. + */ + predicate isPublic() { field_declaration_is_public(this) } + + /** + * Holds if this field declaration is read only. + */ + predicate isReadOnly() { field_declaration_is_read_only(this) } + + /** + * Holds if this field declaration is static. + */ + predicate isStatic() { field_declaration_is_static(this) } + } + + /** + * INTERNAL: Do not use. + */ + class ForFieldAssign extends @for_field_assign, ForExpressionAssign { + override string toString() { result = "ForFieldAssign" } + } + + private Element getImmediateChildOfForFieldAssign(ForFieldAssign e, int index) { + exists(int n, int nFieldSpecification, int nExpression | + n = 0 and + nFieldSpecification = n + 1 and + nExpression = nFieldSpecification + 1 and + ( + none() + or + index = n and result = e.getFieldSpecification() + or + index = nFieldSpecification and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ForFieldDecrementAssign extends @for_field_decrement_assign, ForExpressionAssign { + override string toString() { result = "ForFieldDecrementAssign" } + } + + private Element getImmediateChildOfForFieldDecrementAssign(ForFieldDecrementAssign e, int index) { + exists(int n, int nFieldSpecification, int nExpression | + n = 0 and + nFieldSpecification = n + 1 and + nExpression = nFieldSpecification + 1 and + ( + none() + or + index = n and result = e.getFieldSpecification() + or + index = nFieldSpecification and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ForFieldIncrementAssign extends @for_field_increment_assign, ForExpressionAssign { + override string toString() { result = "ForFieldIncrementAssign" } + } + + private Element getImmediateChildOfForFieldIncrementAssign(ForFieldIncrementAssign e, int index) { + exists(int n, int nFieldSpecification, int nExpression | + n = 0 and + nFieldSpecification = n + 1 and + nExpression = nFieldSpecification + 1 and + ( + none() + or + index = n and result = e.getFieldSpecification() + or + index = nFieldSpecification and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class FormModelElement extends @form_model_element, ModelElement { + override string toString() { result = "FormModelElement" } + + /** + * Gets the behavior of this form model element, if it exists. + */ + Class getBehavior() { form_model_element_behaviors(this, result) } + + /** + * Gets the `index`th control of this form model element (0-based). + */ + FormControl getControl(int index) { form_model_element_controls(this, index, result) } + + /** + * Gets the number of controls of this form model element. + */ + int getNumberOfControls() { result = count(int i | form_model_element_controls(this, i, _)) } + + /** + * Gets the `index`th data source of this form model element (0-based). + */ + FormDataSource getDataSource(int index) { form_model_element_data_sources(this, index, result) } + + /** + * Gets the number of data sources of this form model element. + */ + int getNumberOfDataSources() { + result = count(int i | form_model_element_data_sources(this, i, _)) + } + + /** + * Gets the element type name of this form model element, if it exists. + */ + string getElementTypeName() { form_model_element_element_type_names(this, result) } + + /** + * Gets the full type name of this form model element, if it exists. + */ + string getFullTypeName() { form_model_element_full_type_names(this, result) } + } + + private Element getImmediateChildOfFormModelElement(FormModelElement e, int index) { + exists( + int n, int nComments, int nRegion, int nBaseMethod, int nExtendGenericParameter, int nMethod, + int nModifierList, int nNestedClass, int nUsing, int nBehavior, int nControl, int nDataSource + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nBaseMethod = nRegion + e.getNumberOfBaseMethods() and + nExtendGenericParameter = nBaseMethod + e.getNumberOfExtendGenericParameters() and + nMethod = nExtendGenericParameter + e.getNumberOfMethods() and + nModifierList = nMethod + e.getNumberOfModifierLists() and + nNestedClass = nModifierList + e.getNumberOfNestedClasses() and + nUsing = nNestedClass + e.getNumberOfUsings() and + nBehavior = nUsing + 1 and + nControl = nBehavior + e.getNumberOfControls() and + nDataSource = nControl + e.getNumberOfDataSources() and + ( + none() + or + index = n and result = e.getComments() + or + result = e.getRegion(index - nComments) + or + result = e.getBaseMethod(index - nRegion) + or + result = e.getExtendGenericParameter(index - nBaseMethod) + or + result = e.getMethod(index - nExtendGenericParameter) + or + result = e.getModifierList(index - nMethod) + or + result = e.getNestedClass(index - nModifierList) + or + result = e.getUsing(index - nNestedClass) + or + index = nUsing and result = e.getBehavior() + or + result = e.getControl(index - nBehavior) + or + result = e.getDataSource(index - nControl) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class FormNestedElement extends @form_nested_element, ModelElement { + /** + * Gets the form of this form nested element, if it exists. + */ + FormModelElement getForm() { form_nested_element_forms(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class GenericEvaluation extends @generic_evaluation, Evaluation { + /** + * Gets the `index`th type argument list of this generic evaluation (0-based). + */ + XppType getTypeArgumentList(int index) { + generic_evaluation_type_argument_lists(this, index, result) + } + + /** + * Gets the number of type argument lists of this generic evaluation. + */ + int getNumberOfTypeArgumentLists() { + result = count(int i | generic_evaluation_type_argument_lists(this, i, _)) + } + } + + /** + * INTERNAL: Do not use. + */ + class GuidAttributeLiteral extends @guid_attribute_literal, DefaultTypeAttributeLiteral { + override string toString() { result = "GuidAttributeLiteral" } + } + + private Element getImmediateChildOfGuidAttributeLiteral(GuidAttributeLiteral e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class InExpression extends @in_expression, BinaryExpression { + override string toString() { result = "InExpression" } + } + + private Element getImmediateChildOfInExpression(InExpression e, int index) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class Int64AttributeLiteral extends @int64_attribute_literal, DefaultTypeAttributeLiteral { + override string toString() { result = "Int64AttributeLiteral" } + } + + private Element getImmediateChildOfInt64AttributeLiteral(Int64AttributeLiteral e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class IntAttributeLiteral extends @int_attribute_literal, DefaultTypeAttributeLiteral { + override string toString() { result = "IntAttributeLiteral" } + } + + private Element getImmediateChildOfIntAttributeLiteral(IntAttributeLiteral e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class IntegerDivideExpression extends @integer_divide_expression, BinaryExpression { + override string toString() { result = "IntegerDivideExpression" } + } + + private Element getImmediateChildOfIntegerDivideExpression(IntegerDivideExpression e, int index) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class IsClrExpression extends @is_clr_expression, IsAsExpression { + override string toString() { result = "IsClrExpression" } + } + + private Element getImmediateChildOfIsClrExpression(IsClrExpression e, int index) { + exists(int n, int nTransformation, int nExpression | + n = 0 and + nTransformation = n + 1 and + nExpression = nTransformation + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class IsExpression extends @is_expression, IsAsExpression { + override string toString() { result = "IsExpression" } + } + + private Element getImmediateChildOfIsExpression(IsExpression e, int index) { + exists(int n, int nTransformation, int nExpression | + n = 0 and + nTransformation = n + 1 and + nExpression = nTransformation + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class LocalDeclaration extends @local_declaration, Declaration { } + + /** + * INTERNAL: Do not use. + */ + class MaxAggregateSelection extends @max_aggregate_selection, AggregateSelection { + override string toString() { result = "MaxAggregateSelection" } + } + + private Element getImmediateChildOfMaxAggregateSelection(MaxAggregateSelection e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class Method extends @method, MethodOrDelegate { + override string toString() { result = "Method" } + + /** + * Gets the `index`th declarations and statement of this method (0-based). + */ + Statement getDeclarationsAndStatement(int index) { + method_declarations_and_statements(this, index, result) + } + + /** + * Gets the number of declarations and statements of this method. + */ + int getNumberOfDeclarationsAndStatements() { + result = count(int i | method_declarations_and_statements(this, i, _)) + } + + /** + * Holds if this method has local functions. + */ + predicate hasLocalFunctions() { method_has_local_functions(this) } + + /** + * Holds if this method is abstract. + */ + predicate isAbstract() { method_is_abstract(this) } + + /** + * Holds if this method is client. + */ + predicate isClient() { method_is_client(this) } + + /** + * Holds if this method is constructor. + */ + predicate isConstructor() { method_is_constructor(this) } + + /** + * Holds if this method is display. + */ + predicate isDisplay() { method_is_display(this) } + + /** + * Holds if this method is edit. + */ + predicate isEdit() { method_is_edit(this) } + + /** + * Holds if this method is explicit non hookable. + */ + predicate isExplicitNonHookable() { method_is_explicit_non_hookable(this) } + + /** + * Holds if this method is explicit non wrappable. + */ + predicate isExplicitNonWrappable() { method_is_explicit_non_wrappable(this) } + + /** + * Holds if this method is extended method. + */ + predicate isExtendedMethod() { method_is_extended_method(this) } + + /** + * Holds if this method is final. + */ + predicate isFinal() { method_is_final(this) } + + /** + * Holds if this method is hookable. + */ + predicate isHookable() { method_is_hookable(this) } + + /** + * Holds if this method is hookable on chain of command. + */ + predicate isHookableOnChainOfCommand() { method_is_hookable_on_chain_of_command(this) } + + /** + * Holds if this method is internal. + */ + predicate isInternal() { method_is_internal(this) } + + /** + * Holds if this method is private. + */ + predicate isPrivate() { method_is_private(this) } + + /** + * Holds if this method is protected. + */ + predicate isProtected() { method_is_protected(this) } + + /** + * Holds if this method is public. + */ + predicate isPublic() { method_is_public(this) } + + /** + * Holds if this method is replaceable. + */ + predicate isReplaceable() { method_is_replaceable(this) } + + /** + * Holds if this method is server. + */ + predicate isServer() { method_is_server(this) } + + /** + * Holds if this method is static. + */ + predicate isStatic() { method_is_static(this) } + + /** + * Holds if this method is type initializer. + */ + predicate isTypeInitializer() { method_is_type_initializer(this) } + + /** + * Holds if this method is wrappable. + */ + predicate isWrappable() { method_is_wrappable(this) } + + /** + * Gets the `index`th local of this method (0-based). + */ + LocalDeclaration getLocal(int index) { method_locals(this, index, result) } + + /** + * Gets the number of locals of this method. + */ + int getNumberOfLocals() { result = count(int i | method_locals(this, i, _)) } + + /** + * Gets the modifiers of this method, if it exists. + */ + string getModifiers() { method_modifiers(this, result) } + + /** + * Gets the `index`th statement of this method (0-based). + */ + Statement getStatement(int index) { method_statements(this, index, result) } + + /** + * Gets the number of statements of this method. + */ + int getNumberOfStatements() { result = count(int i | method_statements(this, i, _)) } + } + + private Element getImmediateChildOfMethod(Method e, int index) { + exists( + int n, int nComments, int nRegion, int nAttributes, int nModifierList, int nParameter, + int nType, int nDeclarationsAndStatement, int nLocal, int nStatement + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nAttributes = nRegion + 1 and + nModifierList = nAttributes + e.getNumberOfModifierLists() and + nParameter = nModifierList + e.getNumberOfParameters() and + nType = nParameter + 1 and + nDeclarationsAndStatement = nType + e.getNumberOfDeclarationsAndStatements() and + nLocal = nDeclarationsAndStatement + e.getNumberOfLocals() and + nStatement = nLocal + e.getNumberOfStatements() and + ( + none() + or + index = n and result = e.getComments() + or + result = e.getRegion(index - nComments) + or + index = nRegion and result = e.getAttributes() + or + result = e.getModifierList(index - nAttributes) + or + result = e.getParameter(index - nModifierList) + or + index = nParameter and result = e.getType() + or + result = e.getDeclarationsAndStatement(index - nType) + or + result = e.getLocal(index - nDeclarationsAndStatement) + or + result = e.getStatement(index - nLocal) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class MinAggregateSelection extends @min_aggregate_selection, AggregateSelection { + override string toString() { result = "MinAggregateSelection" } + } + + private Element getImmediateChildOfMinAggregateSelection(MinAggregateSelection e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class ModExpression extends @mod_expression, BinaryExpression { + override string toString() { result = "ModExpression" } + } + + private Element getImmediateChildOfModExpression(ModExpression e, int index) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class MultiplyExpression extends @multiply_expression, BinaryExpression { + override string toString() { result = "MultiplyExpression" } + } + + private Element getImmediateChildOfMultiplyExpression(MultiplyExpression e, int index) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class NamedType extends @named_type, GenericXppType { + /** + * Gets the name of this named type, if it exists. + */ + string getName() { named_type_names(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class NewCall extends @new_call, Evaluation { + override string toString() { result = "NewCall" } + + /** + * Gets the type of this new call, if it exists. + */ + XppType getType() { new_call_types(this, result) } + } + + private Element getImmediateChildOfNewCall(NewCall e, int index) { + exists(int n, int nTransformation, int nActualParameter, int nType | + n = 0 and + nTransformation = n + 1 and + nActualParameter = nTransformation + e.getNumberOfActualParameters() and + nType = nActualParameter + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + result = e.getActualParameter(index - nTransformation) + or + index = nActualParameter and result = e.getType() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class NextExpression extends @next_expression, Evaluation { + override string toString() { result = "NextExpression" } + + /** + * Gets the name of this next expression, if it exists. + */ + string getName() { next_expression_names(this, result) } + } + + private Element getImmediateChildOfNextExpression(NextExpression e, int index) { + exists(int n, int nTransformation, int nActualParameter | + n = 0 and + nTransformation = n + 1 and + nActualParameter = nTransformation + e.getNumberOfActualParameters() and + ( + none() + or + index = n and result = e.getTransformation() + or + result = e.getActualParameter(index - nTransformation) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class NotExpression extends @not_expression, UnaryExpression { + override string toString() { result = "NotExpression" } + } + + private Element getImmediateChildOfNotExpression(NotExpression e, int index) { + exists(int n, int nTransformation, int nExpression | + n = 0 and + nTransformation = n + 1 and + nExpression = nTransformation + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class NullLiteralExpression extends @null_literal_expression, LiteralExpression { + override string toString() { result = "NullLiteralExpression" } + } + + private Element getImmediateChildOfNullLiteralExpression(NullLiteralExpression e, int index) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class OrExpression extends @or_expression, BinaryExpression { + override string toString() { result = "OrExpression" } + } + + private Element getImmediateChildOfOrExpression(OrExpression e, int index) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class PhysicalAndExpression extends @physical_and_expression, BinaryExpression { + override string toString() { result = "PhysicalAndExpression" } + } + + private Element getImmediateChildOfPhysicalAndExpression(PhysicalAndExpression e, int index) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class PhysicalNotExpression extends @physical_not_expression, UnaryExpression { + override string toString() { result = "PhysicalNotExpression" } + } + + private Element getImmediateChildOfPhysicalNotExpression(PhysicalNotExpression e, int index) { + exists(int n, int nTransformation, int nExpression | + n = 0 and + nTransformation = n + 1 and + nExpression = nTransformation + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class PhysicalOrExpression extends @physical_or_expression, BinaryExpression { + override string toString() { result = "PhysicalOrExpression" } + } + + private Element getImmediateChildOfPhysicalOrExpression(PhysicalOrExpression e, int index) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class PhysicalXorExpression extends @physical_xor_expression, BinaryExpression { + override string toString() { result = "PhysicalXorExpression" } + } + + private Element getImmediateChildOfPhysicalXorExpression(PhysicalXorExpression e, int index) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ProvidedTypeStaticCall extends @provided_type_static_call, Evaluation { + override string toString() { result = "ProvidedTypeStaticCall" } + + /** + * Gets the method name of this provided type static call, if it exists. + */ + string getMethodName() { provided_type_static_call_method_names(this, result) } + + /** + * Gets the provided type of this provided type static call, if it exists. + */ + ProvidedType getProvidedType() { provided_type_static_call_provided_types(this, result) } + } + + private Element getImmediateChildOfProvidedTypeStaticCall(ProvidedTypeStaticCall e, int index) { + exists(int n, int nTransformation, int nActualParameter, int nProvidedType | + n = 0 and + nTransformation = n + 1 and + nActualParameter = nTransformation + e.getNumberOfActualParameters() and + nProvidedType = nActualParameter + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + result = e.getActualParameter(index - nTransformation) + or + index = nActualParameter and result = e.getProvidedType() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class QualifiedStaticFieldExpression extends @qualified_static_field_expression, FieldExpression { + override string toString() { result = "QualifiedStaticFieldExpression" } + + /** + * Gets the class name of this qualified static field expression, if it exists. + */ + string getClassName() { qualified_static_field_expression_class_names(this, result) } + + /** + * Holds if this qualified static field expression is static. + */ + predicate isStatic() { qualified_static_field_expression_is_static(this) } + + /** + * Gets the name of this qualified static field expression, if it exists. + */ + string getName() { qualified_static_field_expression_names(this, result) } + } + + private Element getImmediateChildOfQualifiedStaticFieldExpression( + QualifiedStaticFieldExpression e, int index + ) { + exists(int n, int nTransformation, int nField | + n = 0 and + nTransformation = n + 1 and + nField = nTransformation + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getField() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class QueryModelElement extends @query_model_element, ModelElement { + override string toString() { result = "QueryModelElement" } + + /** + * Holds if this query model element allow cross company. + */ + predicate allowCrossCompany() { query_model_element_allow_cross_company(this) } + + /** + * Gets the behavior of this query model element, if it exists. + */ + Class getBehavior() { query_model_element_behaviors(this, result) } + + /** + * Gets the `index`th data source list of this query model element (0-based). + */ + QueryDataSource getDataSourceList(int index) { + query_model_element_data_source_lists(this, index, result) + } + + /** + * Gets the number of data source lists of this query model element. + */ + int getNumberOfDataSourceLists() { + result = count(int i | query_model_element_data_source_lists(this, i, _)) + } + + /** + * Gets the `index`th data source of this query model element (0-based). + */ + QueryDataSource getDataSource(int index) { + query_model_element_data_sources(this, index, result) + } + + /** + * Gets the number of data sources of this query model element. + */ + int getNumberOfDataSources() { + result = count(int i | query_model_element_data_sources(this, i, _)) + } + + /** + * Gets the element type name of this query model element, if it exists. + */ + string getElementTypeName() { query_model_element_element_type_names(this, result) } + + /** + * Holds if this query model element user update. + */ + predicate userUpdate() { query_model_element_user_update(this) } + } + + private Element getImmediateChildOfQueryModelElement(QueryModelElement e, int index) { + exists( + int n, int nComments, int nRegion, int nBaseMethod, int nExtendGenericParameter, int nMethod, + int nModifierList, int nNestedClass, int nUsing, int nBehavior, int nDataSourceList, + int nDataSource + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nBaseMethod = nRegion + e.getNumberOfBaseMethods() and + nExtendGenericParameter = nBaseMethod + e.getNumberOfExtendGenericParameters() and + nMethod = nExtendGenericParameter + e.getNumberOfMethods() and + nModifierList = nMethod + e.getNumberOfModifierLists() and + nNestedClass = nModifierList + e.getNumberOfNestedClasses() and + nUsing = nNestedClass + e.getNumberOfUsings() and + nBehavior = nUsing + 1 and + nDataSourceList = nBehavior + e.getNumberOfDataSourceLists() and + nDataSource = nDataSourceList + e.getNumberOfDataSources() and + ( + none() + or + index = n and result = e.getComments() + or + result = e.getRegion(index - nComments) + or + result = e.getBaseMethod(index - nRegion) + or + result = e.getExtendGenericParameter(index - nBaseMethod) + or + result = e.getMethod(index - nExtendGenericParameter) + or + result = e.getModifierList(index - nMethod) + or + result = e.getNestedClass(index - nModifierList) + or + result = e.getUsing(index - nNestedClass) + or + index = nUsing and result = e.getBehavior() + or + result = e.getDataSourceList(index - nBehavior) + or + result = e.getDataSource(index - nDataSourceList) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class RelationalExpression extends @relational_expression, BinaryExpression { + /** + * Gets the operator of this relational expression, if it exists. + */ + string getOperator() { relational_expression_operators(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class ShiftLeftExpression extends @shift_left_expression, BinaryExpression { + override string toString() { result = "ShiftLeftExpression" } + } + + private Element getImmediateChildOfShiftLeftExpression(ShiftLeftExpression e, int index) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class ShiftRightExpression extends @shift_right_expression, BinaryExpression { + override string toString() { result = "ShiftRightExpression" } + } + + private Element getImmediateChildOfShiftRightExpression(ShiftRightExpression e, int index) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class StaticQualifier extends @static_qualifier, SimpleQualifier { + override string toString() { result = "StaticQualifier" } + + /** + * Gets the `index`th class type argument list of this static qualifier (0-based). + */ + XppType getClassTypeArgumentList(int index) { + static_qualifier_class_type_argument_lists(this, index, result) + } + + /** + * Gets the number of class type argument lists of this static qualifier. + */ + int getNumberOfClassTypeArgumentLists() { + result = count(int i | static_qualifier_class_type_argument_lists(this, i, _)) + } + } + + private Element getImmediateChildOfStaticQualifier(StaticQualifier e, int index) { + exists(int n, int nClassTypeArgumentList | + n = 0 and + nClassTypeArgumentList = n + e.getNumberOfClassTypeArgumentLists() and + ( + none() + or + result = e.getClassTypeArgumentList(index - n) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class StringAttributeLiteral extends @string_attribute_literal, DefaultTypeAttributeLiteral { + override string toString() { result = "StringAttributeLiteral" } + } + + private Element getImmediateChildOfStringAttributeLiteral(StringAttributeLiteral e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class StringLengthType extends @string_length_type, StringType { + override string toString() { result = "StringLengthType" } + + /** + * Gets the edt name of this string length type, if it exists. + */ + string getEdtName() { string_length_type_edt_names(this, result) } + + /** + * Holds if this string length type is edt. + */ + predicate isEdt() { string_length_type_is_edt(this) } + + /** + * Gets the length of this string length type, if it exists. + */ + int getLength() { string_length_type_lengths(this, result) } + } + + private Element getImmediateChildOfStringLengthType(StringLengthType e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class SubtractExpression extends @subtract_expression, BinaryExpression { + override string toString() { result = "SubtractExpression" } + } + + private Element getImmediateChildOfSubtractExpression(SubtractExpression e, int index) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class SumAggregateSelection extends @sum_aggregate_selection, AggregateSelection { + override string toString() { result = "SumAggregateSelection" } + } + + private Element getImmediateChildOfSumAggregateSelection(SumAggregateSelection e, int index) { + none() + } + + /** + * INTERNAL: Do not use. + */ + class SuperCall extends @super_call, Evaluation { + override string toString() { result = "SuperCall" } + } + + private Element getImmediateChildOfSuperCall(SuperCall e, int index) { + exists(int n, int nTransformation, int nActualParameter | + n = 0 and + nTransformation = n + 1 and + nActualParameter = nTransformation + e.getNumberOfActualParameters() and + ( + none() + or + index = n and result = e.getTransformation() + or + result = e.getActualParameter(index - nTransformation) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class Table extends @table, ModelElement { + override string toString() { result = "Table" } + + /** + * Gets the attributes of this table, if it exists. + */ + AttributeList getAttributes() { table_attributes(this, result) } + + /** + * Gets the element type name of this table, if it exists. + */ + string getElementTypeName() { table_element_type_names(this, result) } + + /** + * Gets the extends of this table, if it exists. + */ + string getExtends() { table_extends(this, result) } + + /** + * Gets the `index`th field of this table (0-based). + */ + FieldDeclaration getField(int index) { table_fields(this, index, result) } + + /** + * Gets the number of fields of this table. + */ + int getNumberOfFields() { result = count(int i | table_fields(this, i, _)) } + + /** + * Gets the `index`th index of this table (0-based). + */ + string getIndex(int index) { table_indexes(this, index, result) } + + /** + * Gets the number of indexes of this table. + */ + int getNumberOfIndexes() { result = count(int i | table_indexes(this, i, _)) } + + /** + * Holds if this table is aggregate data entity. + */ + predicate isAggregateDataEntity() { table_is_aggregate_data_entity(this) } + + /** + * Holds if this table is data entity view. + */ + predicate isDataEntityView() { table_is_data_entity_view(this) } + + /** + * Holds if this table is map. + */ + predicate isMap() { table_is_map(this) } + + /** + * Holds if this table is updatable. + */ + predicate isUpdatable() { table_is_updatable(this) } + + /** + * Holds if this table is view. + */ + predicate isView() { table_is_view(this) } + + /** + * Holds if this table support inheritance. + */ + predicate supportInheritance() { table_support_inheritance(this) } + } + + private Element getImmediateChildOfTable(Table e, int index) { + exists( + int n, int nComments, int nRegion, int nBaseMethod, int nExtendGenericParameter, int nMethod, + int nModifierList, int nNestedClass, int nUsing, int nAttributes, int nField + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nBaseMethod = nRegion + e.getNumberOfBaseMethods() and + nExtendGenericParameter = nBaseMethod + e.getNumberOfExtendGenericParameters() and + nMethod = nExtendGenericParameter + e.getNumberOfMethods() and + nModifierList = nMethod + e.getNumberOfModifierLists() and + nNestedClass = nModifierList + e.getNumberOfNestedClasses() and + nUsing = nNestedClass + e.getNumberOfUsings() and + nAttributes = nUsing + 1 and + nField = nAttributes + e.getNumberOfFields() and + ( + none() + or + index = n and result = e.getComments() + or + result = e.getRegion(index - nComments) + or + result = e.getBaseMethod(index - nRegion) + or + result = e.getExtendGenericParameter(index - nBaseMethod) + or + result = e.getMethod(index - nExtendGenericParameter) + or + result = e.getModifierList(index - nMethod) + or + result = e.getNestedClass(index - nModifierList) + or + result = e.getUsing(index - nNestedClass) + or + index = nUsing and result = e.getAttributes() + or + result = e.getField(index - nAttributes) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class TtsAbortStatement extends @tts_abort_statement, TtsStatement { + override string toString() { result = "TtsAbortStatement" } + } + + private Element getImmediateChildOfTtsAbortStatement(TtsAbortStatement e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class TtsBeginStatement extends @tts_begin_statement, TtsStatement { + override string toString() { result = "TtsBeginStatement" } + } + + private Element getImmediateChildOfTtsBeginStatement(TtsBeginStatement e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class TtsEndStatement extends @tts_end_statement, TtsStatement { + override string toString() { result = "TtsEndStatement" } + } + + private Element getImmediateChildOfTtsEndStatement(TtsEndStatement e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class UnaryMinusExpression extends @unary_minus_expression, UnaryExpression { + override string toString() { result = "UnaryMinusExpression" } + } + + private Element getImmediateChildOfUnaryMinusExpression(UnaryMinusExpression e, int index) { + exists(int n, int nTransformation, int nExpression | + n = 0 and + nTransformation = n + 1 and + nExpression = nTransformation + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AssignPostDecrementStatement extends @assign_post_decrement_statement, AssignmentSingleField + { + override string toString() { result = "AssignPostDecrementStatement" } + } + + private Element getImmediateChildOfAssignPostDecrementStatement( + AssignPostDecrementStatement e, int index + ) { + exists(int n, int nField | + n = 0 and + nField = n + 1 and + ( + none() + or + index = n and result = e.getField() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AssignPostIncrementStatement extends @assign_post_increment_statement, AssignmentSingleField + { + override string toString() { result = "AssignPostIncrementStatement" } + } + + private Element getImmediateChildOfAssignPostIncrementStatement( + AssignPostIncrementStatement e, int index + ) { + exists(int n, int nField | + n = 0 and + nField = n + 1 and + ( + none() + or + index = n and result = e.getField() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AssignPreDecrementStatement extends @assign_pre_decrement_statement, AssignmentSingleField { + override string toString() { result = "AssignPreDecrementStatement" } + } + + private Element getImmediateChildOfAssignPreDecrementStatement( + AssignPreDecrementStatement e, int index + ) { + exists(int n, int nField | + n = 0 and + nField = n + 1 and + ( + none() + or + index = n and result = e.getField() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AssignPreIncrementStatement extends @assign_pre_increment_statement, AssignmentSingleField { + override string toString() { result = "AssignPreIncrementStatement" } + } + + private Element getImmediateChildOfAssignPreIncrementStatement( + AssignPreIncrementStatement e, int index + ) { + exists(int n, int nField | + n = 0 and + nField = n + 1 and + ( + none() + or + index = n and result = e.getField() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AssignmentBinary extends @assignment_binary, AssignmentSingleField { + /** + * Gets the expression of this assignment binary, if it exists. + */ + Expression getExpression() { assignment_binary_expressions(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class AssignmentEventHandlerBase extends @assignment_event_handler_base, AssignmentSingleField { + /** + * Holds if this assignment event handler base addition. + */ + predicate addition() { assignment_event_handler_base_addition(this) } + + /** + * Gets the name of this assignment event handler base, if it exists. + */ + string getName() { assignment_event_handler_base_names(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class BooleanLiteralExpression extends @boolean_literal_expression, DefaultTypeLiteralExpression { + override string toString() { result = "BooleanLiteralExpression" } + } + + private Element getImmediateChildOfBooleanLiteralExpression(BooleanLiteralExpression e, int index) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class Class extends @class, ClassOrInterface { + override string toString() { result = "Class" } + + /** + * Gets the `index`th field of this class (0-based). + */ + FieldDeclaration getField(int index) { class_fields(this, index, result) } + + /** + * Gets the number of fields of this class. + */ + int getNumberOfFields() { result = count(int i | class_fields(this, i, _)) } + + /** + * Holds if this class has cyclic inheritance. + */ + predicate hasCyclicInheritance() { class_has_cyclic_inheritance(this) } + + /** + * Gets the `index`th implement of this class (0-based). + */ + string getImplement(int index) { class_implements(this, index, result) } + + /** + * Gets the number of implements of this class. + */ + int getNumberOfImplements() { result = count(int i | class_implements(this, i, _)) } + } + + private Element getImmediateChildOfClass(Class e, int index) { + exists( + int n, int nComments, int nRegion, int nBaseMethod, int nExtendGenericParameter, int nMethod, + int nModifierList, int nNestedClass, int nUsing, int nAttributes, int nEnclosingType, + int nField + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nBaseMethod = nRegion + e.getNumberOfBaseMethods() and + nExtendGenericParameter = nBaseMethod + e.getNumberOfExtendGenericParameters() and + nMethod = nExtendGenericParameter + e.getNumberOfMethods() and + nModifierList = nMethod + e.getNumberOfModifierLists() and + nNestedClass = nModifierList + e.getNumberOfNestedClasses() and + nUsing = nNestedClass + e.getNumberOfUsings() and + nAttributes = nUsing + 1 and + nEnclosingType = nAttributes + 1 and + nField = nEnclosingType + e.getNumberOfFields() and + ( + none() + or + index = n and result = e.getComments() + or + result = e.getRegion(index - nComments) + or + result = e.getBaseMethod(index - nRegion) + or + result = e.getExtendGenericParameter(index - nBaseMethod) + or + result = e.getMethod(index - nExtendGenericParameter) + or + result = e.getModifierList(index - nMethod) + or + result = e.getNestedClass(index - nModifierList) + or + result = e.getUsing(index - nNestedClass) + or + index = nUsing and result = e.getAttributes() + or + index = nAttributes and result = e.getEnclosingType() + or + result = e.getField(index - nEnclosingType) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class DateLiteralExpression extends @date_literal_expression, DefaultTypeLiteralExpression { + override string toString() { result = "DateLiteralExpression" } + } + + private Element getImmediateChildOfDateLiteralExpression(DateLiteralExpression e, int index) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class DateTimeLiteralExpression extends @date_time_literal_expression, + DefaultTypeLiteralExpression + { + override string toString() { result = "DateTimeLiteralExpression" } + } + + private Element getImmediateChildOfDateTimeLiteralExpression( + DateTimeLiteralExpression e, int index + ) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class EqualExpression extends @equal_expression, RelationalExpression { + override string toString() { result = "EqualExpression" } + } + + private Element getImmediateChildOfEqualExpression(EqualExpression e, int index) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class FormControl extends @form_control, FormNestedElement { + override string toString() { result = "FormControl" } + + /** + * Holds if this form control auto declaration. + */ + predicate autoDeclaration() { form_control_auto_declaration(this) } + + /** + * Gets the `index`th child control of this form control (0-based). + */ + FormControl getChildControl(int index) { form_control_child_controls(this, index, result) } + + /** + * Gets the number of child controls of this form control. + */ + int getNumberOfChildControls() { + result = count(int i | form_control_child_controls(this, i, _)) + } + + /** + * Gets the control class of this form control, if it exists. + */ + string getControlClass() { form_control_control_classes(this, result) } + + /** + * Gets the control type of this form control, if it exists. + */ + string getControlType() { form_control_control_types(this, result) } + + /** + * Gets the custom control class of this form control, if it exists. + */ + string getCustomControlClass() { form_control_custom_control_classes(this, result) } + + /** + * Gets the element type name of this form control, if it exists. + */ + string getElementTypeName() { form_control_element_type_names(this, result) } + + /** + * Gets the internal control name of this form control, if it exists. + */ + string getInternalControlName() { form_control_internal_control_names(this, result) } + + /** + * Holds if this form control is form control extension. + */ + predicate isFormControlExtension() { form_control_is_form_control_extension(this) } + + /** + * Gets the parent control of this form control, if it exists. + */ + FormControl getParentControl() { form_control_parent_controls(this, result) } + } + + private Element getImmediateChildOfFormControl(FormControl e, int index) { + exists( + int n, int nComments, int nRegion, int nBaseMethod, int nExtendGenericParameter, int nMethod, + int nModifierList, int nNestedClass, int nUsing, int nForm, int nChildControl, + int nParentControl + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nBaseMethod = nRegion + e.getNumberOfBaseMethods() and + nExtendGenericParameter = nBaseMethod + e.getNumberOfExtendGenericParameters() and + nMethod = nExtendGenericParameter + e.getNumberOfMethods() and + nModifierList = nMethod + e.getNumberOfModifierLists() and + nNestedClass = nModifierList + e.getNumberOfNestedClasses() and + nUsing = nNestedClass + e.getNumberOfUsings() and + nForm = nUsing + 1 and + nChildControl = nForm + e.getNumberOfChildControls() and + nParentControl = nChildControl + 1 and + ( + none() + or + index = n and result = e.getComments() + or + result = e.getRegion(index - nComments) + or + result = e.getBaseMethod(index - nRegion) + or + result = e.getExtendGenericParameter(index - nBaseMethod) + or + result = e.getMethod(index - nExtendGenericParameter) + or + result = e.getModifierList(index - nMethod) + or + result = e.getNestedClass(index - nModifierList) + or + result = e.getUsing(index - nNestedClass) + or + index = nUsing and result = e.getForm() + or + result = e.getChildControl(index - nForm) + or + index = nChildControl and result = e.getParentControl() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class FormDataField extends @form_data_field, FormNestedElement { + override string toString() { result = "FormDataField" } + + /** + * Gets the element type name of this form data field, if it exists. + */ + string getElementTypeName() { form_data_field_element_type_names(this, result) } + + /** + * Gets the form data source of this form data field, if it exists. + */ + FormDataSource getFormDataSource() { form_data_field_form_data_sources(this, result) } + } + + private Element getImmediateChildOfFormDataField(FormDataField e, int index) { + exists( + int n, int nComments, int nRegion, int nBaseMethod, int nExtendGenericParameter, int nMethod, + int nModifierList, int nNestedClass, int nUsing, int nForm, int nFormDataSource + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nBaseMethod = nRegion + e.getNumberOfBaseMethods() and + nExtendGenericParameter = nBaseMethod + e.getNumberOfExtendGenericParameters() and + nMethod = nExtendGenericParameter + e.getNumberOfMethods() and + nModifierList = nMethod + e.getNumberOfModifierLists() and + nNestedClass = nModifierList + e.getNumberOfNestedClasses() and + nUsing = nNestedClass + e.getNumberOfUsings() and + nForm = nUsing + 1 and + nFormDataSource = nForm + 1 and + ( + none() + or + index = n and result = e.getComments() + or + result = e.getRegion(index - nComments) + or + result = e.getBaseMethod(index - nRegion) + or + result = e.getExtendGenericParameter(index - nBaseMethod) + or + result = e.getMethod(index - nExtendGenericParameter) + or + result = e.getModifierList(index - nMethod) + or + result = e.getNestedClass(index - nModifierList) + or + result = e.getUsing(index - nNestedClass) + or + index = nUsing and result = e.getForm() + or + index = nForm and result = e.getFormDataSource() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class FormDataSource extends @form_data_source, FormNestedElement { + override string toString() { result = "FormDataSource" } + + /** + * Gets the `index`th data field of this form data source (0-based). + */ + FormDataField getDataField(int index) { form_data_source_data_fields(this, index, result) } + + /** + * Gets the number of data fields of this form data source. + */ + int getNumberOfDataFields() { result = count(int i | form_data_source_data_fields(this, i, _)) } + + /** + * Gets the element type name of this form data source, if it exists. + */ + string getElementTypeName() { form_data_source_element_type_names(this, result) } + + /** + * Gets the join source of this form data source, if it exists. + */ + string getJoinSource() { form_data_source_join_sources(this, result) } + + /** + * Gets the link type of this form data source, if it exists. + */ + string getLinkType() { form_data_source_link_types(this, result) } + + /** + * Holds if this form data source nested data source. + */ + predicate nestedDataSource() { form_data_source_nested_data_source(this) } + + /** + * Gets the query of this form data source, if it exists. + */ + QueryModelElement getQuery() { form_data_source_queries(this, result) } + + /** + * Gets the query name of this form data source, if it exists. + */ + string getQueryName() { form_data_source_query_names(this, result) } + + /** + * Gets the table of this form data source, if it exists. + */ + string getTable() { form_data_source_tables(this, result) } + } + + private Element getImmediateChildOfFormDataSource(FormDataSource e, int index) { + exists( + int n, int nComments, int nRegion, int nBaseMethod, int nExtendGenericParameter, int nMethod, + int nModifierList, int nNestedClass, int nUsing, int nForm, int nDataField, int nQuery + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nBaseMethod = nRegion + e.getNumberOfBaseMethods() and + nExtendGenericParameter = nBaseMethod + e.getNumberOfExtendGenericParameters() and + nMethod = nExtendGenericParameter + e.getNumberOfMethods() and + nModifierList = nMethod + e.getNumberOfModifierLists() and + nNestedClass = nModifierList + e.getNumberOfNestedClasses() and + nUsing = nNestedClass + e.getNumberOfUsings() and + nForm = nUsing + 1 and + nDataField = nForm + e.getNumberOfDataFields() and + nQuery = nDataField + 1 and + ( + none() + or + index = n and result = e.getComments() + or + result = e.getRegion(index - nComments) + or + result = e.getBaseMethod(index - nRegion) + or + result = e.getExtendGenericParameter(index - nBaseMethod) + or + result = e.getMethod(index - nExtendGenericParameter) + or + result = e.getModifierList(index - nMethod) + or + result = e.getNestedClass(index - nModifierList) + or + result = e.getUsing(index - nNestedClass) + or + index = nUsing and result = e.getForm() + or + result = e.getDataField(index - nForm) + or + index = nDataField and result = e.getQuery() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class FormElementType extends @form_element_type, NamedType { + override string toString() { result = "FormElementType" } + + /** + * Gets the form name of this form element type, if it exists. + */ + string getFormName() { form_element_type_form_names(this, result) } + } + + private Element getImmediateChildOfFormElementType(FormElementType e, int index) { + exists(int n, int nTypeArgumentList | + n = 0 and + nTypeArgumentList = n + e.getNumberOfTypeArgumentLists() and + ( + none() + or + result = e.getTypeArgumentList(index - n) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class FunctionCall extends @function_call, GenericEvaluation { + override string toString() { result = "FunctionCall" } + + /** + * Gets the function name of this function call, if it exists. + */ + string getFunctionName() { function_call_function_names(this, result) } + } + + private Element getImmediateChildOfFunctionCall(FunctionCall e, int index) { + exists(int n, int nTransformation, int nActualParameter, int nTypeArgumentList | + n = 0 and + nTransformation = n + 1 and + nActualParameter = nTransformation + e.getNumberOfActualParameters() and + nTypeArgumentList = nActualParameter + e.getNumberOfTypeArgumentLists() and + ( + none() + or + index = n and result = e.getTransformation() + or + result = e.getActualParameter(index - nTransformation) + or + result = e.getTypeArgumentList(index - nActualParameter) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class FunctionDeclaration extends @function_declaration, LocalDeclaration { + override string toString() { result = "FunctionDeclaration" } + + /** + * Gets the `index`th declarations and statement of this function declaration (0-based). + */ + Statement getDeclarationsAndStatement(int index) { + function_declaration_declarations_and_statements(this, index, result) + } + + /** + * Gets the number of declarations and statements of this function declaration. + */ + int getNumberOfDeclarationsAndStatements() { + result = count(int i | function_declaration_declarations_and_statements(this, i, _)) + } + + /** + * Gets the element type name of this function declaration, if it exists. + */ + string getElementTypeName() { function_declaration_element_type_names(this, result) } + + /** + * Gets the `index`th local of this function declaration (0-based). + */ + LocalDeclaration getLocal(int index) { function_declaration_locals(this, index, result) } + + /** + * Gets the number of locals of this function declaration. + */ + int getNumberOfLocals() { result = count(int i | function_declaration_locals(this, i, _)) } + + /** + * Gets the `index`th parameter of this function declaration (0-based). + */ + ParameterDeclaration getParameter(int index) { + function_declaration_parameters(this, index, result) + } + + /** + * Gets the number of parameters of this function declaration. + */ + int getNumberOfParameters() { + result = count(int i | function_declaration_parameters(this, i, _)) + } + + /** + * Gets the `index`th statement of this function declaration (0-based). + */ + Statement getStatement(int index) { function_declaration_statements(this, index, result) } + + /** + * Gets the number of statements of this function declaration. + */ + int getNumberOfStatements() { + result = count(int i | function_declaration_statements(this, i, _)) + } + } + + private Element getImmediateChildOfFunctionDeclaration(FunctionDeclaration e, int index) { + exists( + int n, int nComments, int nRegion, int nArraySpecification, int nModifierList, int nType, + int nDeclarationsAndStatement, int nLocal, int nParameter, int nStatement + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nArraySpecification = nRegion + 1 and + nModifierList = nArraySpecification + e.getNumberOfModifierLists() and + nType = nModifierList + 1 and + nDeclarationsAndStatement = nType + e.getNumberOfDeclarationsAndStatements() and + nLocal = nDeclarationsAndStatement + e.getNumberOfLocals() and + nParameter = nLocal + e.getNumberOfParameters() and + nStatement = nParameter + e.getNumberOfStatements() and + ( + none() + or + index = n and result = e.getComments() + or + result = e.getRegion(index - nComments) + or + index = nRegion and result = e.getArraySpecification() + or + result = e.getModifierList(index - nArraySpecification) + or + index = nModifierList and result = e.getType() + or + result = e.getDeclarationsAndStatement(index - nType) + or + result = e.getLocal(index - nDeclarationsAndStatement) + or + result = e.getParameter(index - nLocal) + or + result = e.getStatement(index - nParameter) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class GreaterThanExpression extends @greater_than_expression, RelationalExpression { + override string toString() { result = "GreaterThanExpression" } + } + + private Element getImmediateChildOfGreaterThanExpression(GreaterThanExpression e, int index) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class GreaterThanOrEqualExpression extends @greater_than_or_equal_expression, RelationalExpression + { + override string toString() { result = "GreaterThanOrEqualExpression" } + } + + private Element getImmediateChildOfGreaterThanOrEqualExpression( + GreaterThanOrEqualExpression e, int index + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class Int64LiteralExpression extends @int64_literal_expression, DefaultTypeLiteralExpression { + override string toString() { result = "Int64LiteralExpression" } + } + + private Element getImmediateChildOfInt64LiteralExpression(Int64LiteralExpression e, int index) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class IntLiteralExpression extends @int_literal_expression, DefaultTypeLiteralExpression { + override string toString() { result = "IntLiteralExpression" } + } + + private Element getImmediateChildOfIntLiteralExpression(IntLiteralExpression e, int index) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class Interface extends @interface, ClassOrInterface { + override string toString() { result = "Interface" } + } + + private Element getImmediateChildOfInterface(Interface e, int index) { + exists( + int n, int nComments, int nRegion, int nBaseMethod, int nExtendGenericParameter, int nMethod, + int nModifierList, int nNestedClass, int nUsing, int nAttributes, int nEnclosingType + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nBaseMethod = nRegion + e.getNumberOfBaseMethods() and + nExtendGenericParameter = nBaseMethod + e.getNumberOfExtendGenericParameters() and + nMethod = nExtendGenericParameter + e.getNumberOfMethods() and + nModifierList = nMethod + e.getNumberOfModifierLists() and + nNestedClass = nModifierList + e.getNumberOfNestedClasses() and + nUsing = nNestedClass + e.getNumberOfUsings() and + nAttributes = nUsing + 1 and + nEnclosingType = nAttributes + 1 and + ( + none() + or + index = n and result = e.getComments() + or + result = e.getRegion(index - nComments) + or + result = e.getBaseMethod(index - nRegion) + or + result = e.getExtendGenericParameter(index - nBaseMethod) + or + result = e.getMethod(index - nExtendGenericParameter) + or + result = e.getModifierList(index - nMethod) + or + result = e.getNestedClass(index - nModifierList) + or + result = e.getUsing(index - nNestedClass) + or + index = nUsing and result = e.getAttributes() + or + index = nAttributes and result = e.getEnclosingType() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class LessThanExpression extends @less_than_expression, RelationalExpression { + override string toString() { result = "LessThanExpression" } + } + + private Element getImmediateChildOfLessThanExpression(LessThanExpression e, int index) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class LessThanOrEqualExpression extends @less_than_or_equal_expression, RelationalExpression { + override string toString() { result = "LessThanOrEqualExpression" } + } + + private Element getImmediateChildOfLessThanOrEqualExpression( + LessThanOrEqualExpression e, int index + ) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class LikeExpression extends @like_expression, RelationalExpression { + override string toString() { result = "LikeExpression" } + } + + private Element getImmediateChildOfLikeExpression(LikeExpression e, int index) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class NewClrCall extends @new_clr_call, GenericEvaluation { + override string toString() { result = "NewClrCall" } + + /** + * Gets the clr class name of this new clr call, if it exists. + */ + string getClrClassName() { new_clr_call_clr_class_names(this, result) } + } + + private Element getImmediateChildOfNewClrCall(NewClrCall e, int index) { + exists(int n, int nTransformation, int nActualParameter, int nTypeArgumentList | + n = 0 and + nTransformation = n + 1 and + nActualParameter = nTransformation + e.getNumberOfActualParameters() and + nTypeArgumentList = nActualParameter + e.getNumberOfTypeArgumentLists() and + ( + none() + or + index = n and result = e.getTransformation() + or + result = e.getActualParameter(index - nTransformation) + or + result = e.getTypeArgumentList(index - nActualParameter) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class NotEqualExpression extends @not_equal_expression, RelationalExpression { + override string toString() { result = "NotEqualExpression" } + } + + private Element getImmediateChildOfNotEqualExpression(NotEqualExpression e, int index) { + exists(int n, int nTransformation, int nLeft, int nRight | + n = 0 and + nTransformation = n + 1 and + nLeft = nTransformation + 1 and + nRight = nLeft + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getLeft() + or + index = nLeft and result = e.getRight() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class QualifiedCall extends @qualified_call, GenericEvaluation { + override string toString() { result = "QualifiedCall" } + + /** + * Gets the method name of this qualified call, if it exists. + */ + string getMethodName() { qualified_call_method_names(this, result) } + + /** + * Gets the qualifier of this qualified call, if it exists. + */ + Qualifier getQualifier() { qualified_call_qualifiers(this, result) } + } + + private Element getImmediateChildOfQualifiedCall(QualifiedCall e, int index) { + exists(int n, int nTransformation, int nActualParameter, int nTypeArgumentList, int nQualifier | + n = 0 and + nTransformation = n + 1 and + nActualParameter = nTransformation + e.getNumberOfActualParameters() and + nTypeArgumentList = nActualParameter + e.getNumberOfTypeArgumentLists() and + nQualifier = nTypeArgumentList + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + result = e.getActualParameter(index - nTransformation) + or + result = e.getTypeArgumentList(index - nActualParameter) + or + index = nTypeArgumentList and result = e.getQualifier() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class QualifiedStaticCall extends @qualified_static_call, GenericEvaluation { + override string toString() { result = "QualifiedStaticCall" } + + /** + * Gets the class name of this qualified static call, if it exists. + */ + string getClassName() { qualified_static_call_class_names(this, result) } + + /** + * Gets the `index`th class type argument list of this qualified static call (0-based). + */ + XppType getClassTypeArgumentList(int index) { + qualified_static_call_class_type_argument_lists(this, index, result) + } + + /** + * Gets the number of class type argument lists of this qualified static call. + */ + int getNumberOfClassTypeArgumentLists() { + result = count(int i | qualified_static_call_class_type_argument_lists(this, i, _)) + } + + /** + * Holds if this qualified static call is table map call. + */ + predicate isTableMapCall() { qualified_static_call_is_table_map_call(this) } + + /** + * Gets the method name of this qualified static call, if it exists. + */ + string getMethodName() { qualified_static_call_method_names(this, result) } + + /** + * Gets the qualifier of this qualified static call, if it exists. + */ + Qualifier getQualifier() { qualified_static_call_qualifiers(this, result) } + } + + private Element getImmediateChildOfQualifiedStaticCall(QualifiedStaticCall e, int index) { + exists( + int n, int nTransformation, int nActualParameter, int nTypeArgumentList, + int nClassTypeArgumentList, int nQualifier + | + n = 0 and + nTransformation = n + 1 and + nActualParameter = nTransformation + e.getNumberOfActualParameters() and + nTypeArgumentList = nActualParameter + e.getNumberOfTypeArgumentLists() and + nClassTypeArgumentList = nTypeArgumentList + e.getNumberOfClassTypeArgumentLists() and + nQualifier = nClassTypeArgumentList + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + result = e.getActualParameter(index - nTransformation) + or + result = e.getTypeArgumentList(index - nActualParameter) + or + result = e.getClassTypeArgumentList(index - nTypeArgumentList) + or + index = nClassTypeArgumentList and result = e.getQualifier() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class RealLiteralExpression extends @real_literal_expression, DefaultTypeLiteralExpression { + override string toString() { result = "RealLiteralExpression" } + } + + private Element getImmediateChildOfRealLiteralExpression(RealLiteralExpression e, int index) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class StaticMethodCall extends @static_method_call, GenericEvaluation { + override string toString() { result = "StaticMethodCall" } + + /** + * Gets the class name of this static method call, if it exists. + */ + string getClassName() { static_method_call_class_names(this, result) } + + /** + * Gets the `index`th class type argument list of this static method call (0-based). + */ + XppType getClassTypeArgumentList(int index) { + static_method_call_class_type_argument_lists(this, index, result) + } + + /** + * Gets the number of class type argument lists of this static method call. + */ + int getNumberOfClassTypeArgumentLists() { + result = count(int i | static_method_call_class_type_argument_lists(this, i, _)) + } + + /** + * Gets the method name of this static method call, if it exists. + */ + string getMethodName() { static_method_call_method_names(this, result) } + } + + private Element getImmediateChildOfStaticMethodCall(StaticMethodCall e, int index) { + exists( + int n, int nTransformation, int nActualParameter, int nTypeArgumentList, + int nClassTypeArgumentList + | + n = 0 and + nTransformation = n + 1 and + nActualParameter = nTransformation + e.getNumberOfActualParameters() and + nTypeArgumentList = nActualParameter + e.getNumberOfTypeArgumentLists() and + nClassTypeArgumentList = nTypeArgumentList + e.getNumberOfClassTypeArgumentLists() and + ( + none() + or + index = n and result = e.getTransformation() + or + result = e.getActualParameter(index - nTransformation) + or + result = e.getTypeArgumentList(index - nActualParameter) + or + result = e.getClassTypeArgumentList(index - nTypeArgumentList) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class StringLiteralExpression extends @string_literal_expression, DefaultTypeLiteralExpression { + override string toString() { result = "StringLiteralExpression" } + + /** + * Holds if this string literal expression is label. + */ + predicate isLabel() { string_literal_expression_is_label(this) } + + /** + * Gets the label file of this string literal expression, if it exists. + */ + string getLabelFileId() { string_literal_expression_label_file_ids(this, result) } + + /** + * Gets the label of this string literal expression, if it exists. + */ + string getLabelId() { string_literal_expression_label_ids(this, result) } + } + + private Element getImmediateChildOfStringLiteralExpression(StringLiteralExpression e, int index) { + exists(int n, int nTransformation | + n = 0 and + nTransformation = n + 1 and + ( + none() + or + index = n and result = e.getTransformation() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class TableFieldDeclaration extends @table_field_declaration, FieldDeclaration { + override string toString() { result = "TableFieldDeclaration" } + } + + private Element getImmediateChildOfTableFieldDeclaration(TableFieldDeclaration e, int index) { + exists( + int n, int nComments, int nRegion, int nArraySpecification, int nModifierList, int nType, + int nAttributes, int nInitialValue + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nArraySpecification = nRegion + 1 and + nModifierList = nArraySpecification + e.getNumberOfModifierLists() and + nType = nModifierList + 1 and + nAttributes = nType + 1 and + nInitialValue = nAttributes + 1 and + ( + none() + or + index = n and result = e.getComments() + or + result = e.getRegion(index - nComments) + or + index = nRegion and result = e.getArraySpecification() + or + result = e.getModifierList(index - nArraySpecification) + or + index = nModifierList and result = e.getType() + or + index = nType and result = e.getAttributes() + or + index = nAttributes and result = e.getInitialValue() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class VariableDeclaration extends @variable_declaration, LocalDeclaration { + /** + * Gets the element type name of this variable declaration, if it exists. + */ + string getElementTypeName() { variable_declaration_element_type_names(this, result) } + + /** + * Gets the initial value of this variable declaration, if it exists. + */ + Expression getInitialValue() { variable_declaration_initial_values(this, result) } + + /** + * Holds if this variable declaration is const. + */ + predicate isConst() { variable_declaration_is_const(this) } + } + + /** + * INTERNAL: Do not use. + */ + class AssignDecrementStatement extends @assign_decrement_statement, AssignmentBinary { + override string toString() { result = "AssignDecrementStatement" } + } + + private Element getImmediateChildOfAssignDecrementStatement(AssignDecrementStatement e, int index) { + exists(int n, int nField, int nExpression | + n = 0 and + nField = n + 1 and + nExpression = nField + 1 and + ( + none() + or + index = n and result = e.getField() + or + index = nField and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AssignDivideStatement extends @assign_divide_statement, AssignmentBinary { + override string toString() { result = "AssignDivideStatement" } + } + + private Element getImmediateChildOfAssignDivideStatement(AssignDivideStatement e, int index) { + exists(int n, int nField, int nExpression | + n = 0 and + nField = n + 1 and + nExpression = nField + 1 and + ( + none() + or + index = n and result = e.getField() + or + index = nField and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AssignEqualStatement extends @assign_equal_statement, AssignmentBinary { + override string toString() { result = "AssignEqualStatement" } + } + + private Element getImmediateChildOfAssignEqualStatement(AssignEqualStatement e, int index) { + exists(int n, int nField, int nExpression | + n = 0 and + nField = n + 1 and + nExpression = nField + 1 and + ( + none() + or + index = n and result = e.getField() + or + index = nField and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AssignIncrementStatement extends @assign_increment_statement, AssignmentBinary { + override string toString() { result = "AssignIncrementStatement" } + } + + private Element getImmediateChildOfAssignIncrementStatement(AssignIncrementStatement e, int index) { + exists(int n, int nField, int nExpression | + n = 0 and + nField = n + 1 and + nExpression = nField + 1 and + ( + none() + or + index = n and result = e.getField() + or + index = nField and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AssignMultiplyStatement extends @assign_multiply_statement, AssignmentBinary { + override string toString() { result = "AssignMultiplyStatement" } + } + + private Element getImmediateChildOfAssignMultiplyStatement(AssignMultiplyStatement e, int index) { + exists(int n, int nField, int nExpression | + n = 0 and + nField = n + 1 and + nExpression = nField + 1 and + ( + none() + or + index = n and result = e.getField() + or + index = nField and result = e.getExpression() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AssignmentEventHandlerInstance extends @assignment_event_handler_instance, + AssignmentEventHandlerBase + { + override string toString() { result = "AssignmentEventHandlerInstance" } + + /** + * Gets the qualifier part of this assignment event handler instance, if it exists. + */ + Qualifier getQualifierPart() { assignment_event_handler_instance_qualifier_parts(this, result) } + } + + private Element getImmediateChildOfAssignmentEventHandlerInstance( + AssignmentEventHandlerInstance e, int index + ) { + exists(int n, int nField, int nQualifierPart | + n = 0 and + nField = n + 1 and + nQualifierPart = nField + 1 and + ( + none() + or + index = n and result = e.getField() + or + index = nField and result = e.getQualifierPart() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AssignmentEventHandlerStatic extends @assignment_event_handler_static, + AssignmentEventHandlerBase + { + /** + * Gets the type name of this assignment event handler static, if it exists. + */ + string getTypeName() { assignment_event_handler_static_type_names(this, result) } + } + + /** + * INTERNAL: Do not use. + */ + class ParameterDeclaration extends @parameter_declaration, VariableDeclaration { + override string toString() { result = "ParameterDeclaration" } + + /** + * Holds if this parameter declaration is by reference. + */ + predicate isByRef() { parameter_declaration_is_by_ref(this) } + + /** + * Holds if this parameter declaration is optional. + */ + predicate isOptional() { parameter_declaration_is_optional(this) } + } + + private Element getImmediateChildOfParameterDeclaration(ParameterDeclaration e, int index) { + exists( + int n, int nComments, int nRegion, int nArraySpecification, int nModifierList, int nType, + int nInitialValue + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nArraySpecification = nRegion + 1 and + nModifierList = nArraySpecification + e.getNumberOfModifierLists() and + nType = nModifierList + 1 and + nInitialValue = nType + 1 and + ( + none() + or + index = n and result = e.getComments() + or + result = e.getRegion(index - nComments) + or + index = nRegion and result = e.getArraySpecification() + or + result = e.getModifierList(index - nArraySpecification) + or + index = nModifierList and result = e.getType() + or + index = nType and result = e.getInitialValue() + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class AssignmentEventHandlerClr extends @assignment_event_handler_clr, + AssignmentEventHandlerStatic + { + override string toString() { result = "AssignmentEventHandlerClr" } + } + + private Element getImmediateChildOfAssignmentEventHandlerClr( + AssignmentEventHandlerClr e, int index + ) { + exists(int n, int nField | + n = 0 and + nField = n + 1 and + ( + none() + or + index = n and result = e.getField() + ) + ) + } + + /** + * Gets the immediate child indexed at `index`. Indexes are not guaranteed to be contiguous, but are guaranteed to be distinct. + */ + pragma[nomagic] + Element getImmediateChild(Element e, int index) { + // why does this look more complicated than it should? + // * none() simplifies generation, as we can append `or ...` without a special case for the first item + none() + or + result = getImmediateChildOfFile(e, index) + or + result = getImmediateChildOfLocation(e, index) + or + result = getImmediateChildOfComment(e, index) + or + result = getImmediateChildOfArraySpecification(e, index) + or + result = getImmediateChildOfAttribute(e, index) + or + result = getImmediateChildOfAttributeExpression(e, index) + or + result = getImmediateChildOfAttributeList(e, index) + or + result = getImmediateChildOfAttributeNamedParameterEntry(e, index) + or + result = getImmediateChildOfClassAccessModifier(e, index) + or + result = getImmediateChildOfCompilationUnitRegionEntry(e, index) + or + result = getImmediateChildOfEvaluationActualParameterEntry(e, index) + or + result = getImmediateChildOfFieldAssignment(e, index) + or + result = getImmediateChildOfInsertFieldSpecification(e, index) + or + result = getImmediateChildOfJoinSpecification(e, index) + or + result = getImmediateChildOfModelElementUsingEntry(e, index) + or + result = getImmediateChildOfModifier(e, index) + or + result = getImmediateChildOfQuery(e, index) + or + result = getImmediateChildOfQueryDataSource(e, index) + or + result = getImmediateChildOfQueryDataSourceHaving(e, index) + or + result = getImmediateChildOfQueryDataSourceRange(e, index) + or + result = getImmediateChildOfQueryDataSourceRelation(e, index) + or + result = getImmediateChildOfSwitchCase(e, index) + or + result = getImmediateChildOfSwitchStatementCaseEntry(e, index) + or + result = getImmediateChildOfTryStatementCatchEntry(e, index) + or + result = getImmediateChildOfUnspecifiedElement(e, index) + or + result = getImmediateChildOfAllFieldsSelection(e, index) + or + result = getImmediateChildOfAnyType(e, index) + or + result = getImmediateChildOfBooleanType(e, index) + or + result = getImmediateChildOfBreakStatement(e, index) + or + result = getImmediateChildOfBreakpointStatement(e, index) + or + result = getImmediateChildOfCaseDefault(e, index) + or + result = getImmediateChildOfCaseValues(e, index) + or + result = getImmediateChildOfCatchAllValues(e, index) + or + result = getImmediateChildOfCatchExpression(e, index) + or + result = getImmediateChildOfCatchUpdateConflict(e, index) + or + result = getImmediateChildOfCompoundStatement(e, index) + or + result = getImmediateChildOfConditionalExpression(e, index) + or + result = getImmediateChildOfContainerAttributeLiteral(e, index) + or + result = getImmediateChildOfContainerType(e, index) + or + result = getImmediateChildOfContinueStatement(e, index) + or + result = getImmediateChildOfCrossCompanyAll(e, index) + or + result = getImmediateChildOfCrossCompanyContainer(e, index) + or + result = getImmediateChildOfDateTimeType(e, index) + or + result = getImmediateChildOfDateType(e, index) + or + result = getImmediateChildOfDblType(e, index) + or + result = getImmediateChildOfDeleteStatement(e, index) + or + result = getImmediateChildOfDoWhileStatement(e, index) + or + result = getImmediateChildOfEmptyExpression(e, index) + or + result = getImmediateChildOfEmptyStatement(e, index) + or + result = getImmediateChildOfEnumAttributeLiteral(e, index) + or + result = getImmediateChildOfEnumerationType(e, index) + or + result = getImmediateChildOfExplicitSelection(e, index) + or + result = getImmediateChildOfExpressionCompilationUnit(e, index) + or + result = getImmediateChildOfExpressionQualifier(e, index) + or + result = getImmediateChildOfExpressionStatement(e, index) + or + result = getImmediateChildOfFieldSelection(e, index) + or + result = getImmediateChildOfFindStatement(e, index) + or + result = getImmediateChildOfFlushStatement(e, index) + or + result = getImmediateChildOfForDeclarationAssign(e, index) + or + result = getImmediateChildOfForFieldPostDecrement(e, index) + or + result = getImmediateChildOfForFieldPostIncrement(e, index) + or + result = getImmediateChildOfForFieldPreDecrement(e, index) + or + result = getImmediateChildOfForFieldPreIncrement(e, index) + or + result = getImmediateChildOfForStatement(e, index) + or + result = getImmediateChildOfGlobalOrderElement(e, index) + or + result = getImmediateChildOfGuidType(e, index) + or + result = getImmediateChildOfIfStatement(e, index) + or + result = getImmediateChildOfIfThenElseStatement(e, index) + or + result = getImmediateChildOfImplicitSelection(e, index) + or + result = getImmediateChildOfInsertStatement(e, index) + or + result = getImmediateChildOfInt64Type(e, index) + or + result = getImmediateChildOfIntType(e, index) + or + result = getImmediateChildOfIntrinsic(e, index) + or + result = getImmediateChildOfIntrinsicAttributeLiteral(e, index) + or + result = getImmediateChildOfLocalDeclarationsStatement(e, index) + or + result = getImmediateChildOfMoveCursorStatement(e, index) + or + result = getImmediateChildOfNamedFieldReference(e, index) + or + result = getImmediateChildOfNewClrArrayExpression(e, index) + or + result = getImmediateChildOfNumberedFieldReference(e, index) + or + result = getImmediateChildOfPlaceholder(e, index) + or + result = getImmediateChildOfPrintStatement(e, index) + or + result = getImmediateChildOfProvidedType(e, index) + or + result = getImmediateChildOfQualifiedField(e, index) + or + result = getImmediateChildOfQualifiedInstanceName(e, index) + or + result = getImmediateChildOfQualifiedNumberedField(e, index) + or + result = getImmediateChildOfQualifiedStaticField(e, index) + or + result = getImmediateChildOfRetryStatement(e, index) + or + result = getImmediateChildOfReturnStatement(e, index) + or + result = getImmediateChildOfSearchStatement(e, index) + or + result = getImmediateChildOfSimpleField(e, index) + or + result = getImmediateChildOfSimpleInstanceName(e, index) + or + result = getImmediateChildOfSimpleOrderElement(e, index) + or + result = getImmediateChildOfStaticField(e, index) + or + result = getImmediateChildOfSwitchStatement(e, index) + or + result = getImmediateChildOfTableLookupExpression(e, index) + or + result = getImmediateChildOfThrowStatement(e, index) + or + result = getImmediateChildOfTryStatement(e, index) + or + result = getImmediateChildOfUncheckedStatement(e, index) + or + result = getImmediateChildOfUpdateStatement(e, index) + or + result = getImmediateChildOfUsingStatement(e, index) + or + result = getImmediateChildOfValidTimeStateDate(e, index) + or + result = getImmediateChildOfValidTimeStateRange(e, index) + or + result = getImmediateChildOfVarType(e, index) + or + result = getImmediateChildOfVoidType(e, index) + or + result = getImmediateChildOfWhileStatement(e, index) + or + result = getImmediateChildOfXppTypeCompilationUnit(e, index) + or + result = getImmediateChildOfAddExpression(e, index) + or + result = getImmediateChildOfAndExpression(e, index) + or + result = getImmediateChildOfAsClrExpression(e, index) + or + result = getImmediateChildOfAsExpression(e, index) + or + result = getImmediateChildOfAssignMultipleFieldStatement(e, index) + or + result = getImmediateChildOfAvgAggregateSelection(e, index) + or + result = getImmediateChildOfBooleanAttributeLiteral(e, index) + or + result = getImmediateChildOfChangeCompanyStatement(e, index) + or + result = getImmediateChildOfClrEnumerationLiteralExpression(e, index) + or + result = getImmediateChildOfClrType(e, index) + or + result = getImmediateChildOfContainerLiteralExpression(e, index) + or + result = getImmediateChildOfCountAggregateSelection(e, index) + or + result = getImmediateChildOfDateAttributeLiteral(e, index) + or + result = getImmediateChildOfDateTimeAttributeLiteral(e, index) + or + result = getImmediateChildOfDblAttributeLiteral(e, index) + or + result = getImmediateChildOfDelegate(e, index) + or + result = getImmediateChildOfDivideExpression(e, index) + or + result = getImmediateChildOfEnumerationLiteralExpression(e, index) + or + result = getImmediateChildOfForFieldAssign(e, index) + or + result = getImmediateChildOfForFieldDecrementAssign(e, index) + or + result = getImmediateChildOfForFieldIncrementAssign(e, index) + or + result = getImmediateChildOfFormModelElement(e, index) + or + result = getImmediateChildOfGuidAttributeLiteral(e, index) + or + result = getImmediateChildOfInExpression(e, index) + or + result = getImmediateChildOfInt64AttributeLiteral(e, index) + or + result = getImmediateChildOfIntAttributeLiteral(e, index) + or + result = getImmediateChildOfIntegerDivideExpression(e, index) + or + result = getImmediateChildOfIsClrExpression(e, index) + or + result = getImmediateChildOfIsExpression(e, index) + or + result = getImmediateChildOfMaxAggregateSelection(e, index) + or + result = getImmediateChildOfMethod(e, index) + or + result = getImmediateChildOfMinAggregateSelection(e, index) + or + result = getImmediateChildOfModExpression(e, index) + or + result = getImmediateChildOfMultiplyExpression(e, index) + or + result = getImmediateChildOfNewCall(e, index) + or + result = getImmediateChildOfNextExpression(e, index) + or + result = getImmediateChildOfNotExpression(e, index) + or + result = getImmediateChildOfNullLiteralExpression(e, index) + or + result = getImmediateChildOfOrExpression(e, index) + or + result = getImmediateChildOfPhysicalAndExpression(e, index) + or + result = getImmediateChildOfPhysicalNotExpression(e, index) + or + result = getImmediateChildOfPhysicalOrExpression(e, index) + or + result = getImmediateChildOfPhysicalXorExpression(e, index) + or + result = getImmediateChildOfProvidedTypeStaticCall(e, index) + or + result = getImmediateChildOfQualifiedStaticFieldExpression(e, index) + or + result = getImmediateChildOfQueryModelElement(e, index) + or + result = getImmediateChildOfShiftLeftExpression(e, index) + or + result = getImmediateChildOfShiftRightExpression(e, index) + or + result = getImmediateChildOfStaticQualifier(e, index) + or + result = getImmediateChildOfStringAttributeLiteral(e, index) + or + result = getImmediateChildOfStringLengthType(e, index) + or + result = getImmediateChildOfSubtractExpression(e, index) + or + result = getImmediateChildOfSumAggregateSelection(e, index) + or + result = getImmediateChildOfSuperCall(e, index) + or + result = getImmediateChildOfTable(e, index) + or + result = getImmediateChildOfTtsAbortStatement(e, index) + or + result = getImmediateChildOfTtsBeginStatement(e, index) + or + result = getImmediateChildOfTtsEndStatement(e, index) + or + result = getImmediateChildOfUnaryMinusExpression(e, index) + or + result = getImmediateChildOfAssignPostDecrementStatement(e, index) + or + result = getImmediateChildOfAssignPostIncrementStatement(e, index) + or + result = getImmediateChildOfAssignPreDecrementStatement(e, index) + or + result = getImmediateChildOfAssignPreIncrementStatement(e, index) + or + result = getImmediateChildOfBooleanLiteralExpression(e, index) + or + result = getImmediateChildOfClass(e, index) + or + result = getImmediateChildOfDateLiteralExpression(e, index) + or + result = getImmediateChildOfDateTimeLiteralExpression(e, index) + or + result = getImmediateChildOfEqualExpression(e, index) + or + result = getImmediateChildOfFormControl(e, index) + or + result = getImmediateChildOfFormDataField(e, index) + or + result = getImmediateChildOfFormDataSource(e, index) + or + result = getImmediateChildOfFormElementType(e, index) + or + result = getImmediateChildOfFunctionCall(e, index) + or + result = getImmediateChildOfFunctionDeclaration(e, index) + or + result = getImmediateChildOfGreaterThanExpression(e, index) + or + result = getImmediateChildOfGreaterThanOrEqualExpression(e, index) + or + result = getImmediateChildOfInt64LiteralExpression(e, index) + or + result = getImmediateChildOfIntLiteralExpression(e, index) + or + result = getImmediateChildOfInterface(e, index) + or + result = getImmediateChildOfLessThanExpression(e, index) + or + result = getImmediateChildOfLessThanOrEqualExpression(e, index) + or + result = getImmediateChildOfLikeExpression(e, index) + or + result = getImmediateChildOfNewClrCall(e, index) + or + result = getImmediateChildOfNotEqualExpression(e, index) + or + result = getImmediateChildOfQualifiedCall(e, index) + or + result = getImmediateChildOfQualifiedStaticCall(e, index) + or + result = getImmediateChildOfRealLiteralExpression(e, index) + or + result = getImmediateChildOfStaticMethodCall(e, index) + or + result = getImmediateChildOfStringLiteralExpression(e, index) + or + result = getImmediateChildOfTableFieldDeclaration(e, index) + or + result = getImmediateChildOfAssignDecrementStatement(e, index) + or + result = getImmediateChildOfAssignDivideStatement(e, index) + or + result = getImmediateChildOfAssignEqualStatement(e, index) + or + result = getImmediateChildOfAssignIncrementStatement(e, index) + or + result = getImmediateChildOfAssignMultiplyStatement(e, index) + or + result = getImmediateChildOfAssignmentEventHandlerInstance(e, index) + or + result = getImmediateChildOfParameterDeclaration(e, index) + or + result = getImmediateChildOfAssignmentEventHandlerClr(e, index) + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/RealLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/RealLiteralExpression.qll new file mode 100644 index 000000000000..a4a1720ba0e9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/RealLiteralExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `RealLiteralExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.DefaultTypeLiteralExpressionImpl::Impl as DefaultTypeLiteralExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `RealLiteralExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::RealLiteralExpression` class directly. + * Use the subclass `RealLiteralExpression`, where the following predicates are available. + */ + class RealLiteralExpression extends Synth::TRealLiteralExpression, + DefaultTypeLiteralExpressionImpl::DefaultTypeLiteralExpression + { + override string getAPrimaryQlClass() { result = "RealLiteralExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/RelationalExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/RelationalExpression.qll new file mode 100644 index 000000000000..9961e1ff8b47 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/RelationalExpression.qll @@ -0,0 +1,36 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `RelationalExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.BinaryExpressionImpl::Impl as BinaryExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `RelationalExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::RelationalExpression` class directly. + * Use the subclass `RelationalExpression`, where the following predicates are available. + */ + class RelationalExpression extends Synth::TRelationalExpression, + BinaryExpressionImpl::BinaryExpression + { + /** + * Gets the operator of this relational expression, if it exists. + */ + string getOperator() { + result = + Synth::convertRelationalExpressionToRaw(this).(Raw::RelationalExpression).getOperator() + } + + /** + * Holds if `getOperator()` exists. + */ + final predicate hasOperator() { exists(this.getOperator()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/RetryStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/RetryStatement.qll new file mode 100644 index 000000000000..0b93665e7c87 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/RetryStatement.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `RetryStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `RetryStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::RetryStatement` class directly. + * Use the subclass `RetryStatement`, where the following predicates are available. + */ + class RetryStatement extends Synth::TRetryStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "RetryStatement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ReturnStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ReturnStatement.qll new file mode 100644 index 000000000000..de0ca51285ae --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ReturnStatement.qll @@ -0,0 +1,39 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ReturnStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ReturnStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ReturnStatement` class directly. + * Use the subclass `ReturnStatement`, where the following predicates are available. + */ + class ReturnStatement extends Synth::TReturnStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "ReturnStatement" } + + /** + * Gets the expression of this return statement, if it exists. + */ + Expression getExpression() { + result = + Synth::convertExpressionFromRaw(Synth::convertReturnStatementToRaw(this) + .(Raw::ReturnStatement) + .getExpression()) + } + + /** + * Holds if `getExpression()` exists. + */ + final predicate hasExpression() { exists(this.getExpression()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/SearchStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SearchStatement.qll new file mode 100644 index 000000000000..2713dd1d5e58 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SearchStatement.qll @@ -0,0 +1,55 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `SearchStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Query +import codeql.xpp.elements.Statement +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `SearchStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::SearchStatement` class directly. + * Use the subclass `SearchStatement`, where the following predicates are available. + */ + class SearchStatement extends Synth::TSearchStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "SearchStatement" } + + /** + * Gets the query of this search statement, if it exists. + */ + Query getQuery() { + result = + Synth::convertQueryFromRaw(Synth::convertSearchStatementToRaw(this) + .(Raw::SearchStatement) + .getQuery()) + } + + /** + * Holds if `getQuery()` exists. + */ + final predicate hasQuery() { exists(this.getQuery()) } + + /** + * Gets the statement of this search statement, if it exists. + */ + Statement getStatement() { + result = + Synth::convertStatementFromRaw(Synth::convertSearchStatementToRaw(this) + .(Raw::SearchStatement) + .getStatement()) + } + + /** + * Holds if `getStatement()` exists. + */ + final predicate hasStatement() { exists(this.getStatement()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Selection.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Selection.qll new file mode 100644 index 000000000000..0f977b624968 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Selection.qll @@ -0,0 +1,21 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Selection`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl + +/** + * INTERNAL: This module contains the fully generated definition of `Selection` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Selection` class directly. + * Use the subclass `Selection`, where the following predicates are available. + */ + class Selection extends Synth::TSelection, AstImpl::Ast { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/SelectionField.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SelectionField.qll new file mode 100644 index 000000000000..845a9353489d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SelectionField.qll @@ -0,0 +1,45 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `SelectionField`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl + +/** + * INTERNAL: This module contains the fully generated definition of `SelectionField` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::SelectionField` class directly. + * Use the subclass `SelectionField`, where the following predicates are available. + */ + class SelectionField extends Synth::TSelectionField, AstImpl::Ast { + /** + * Gets the extension name of this selection field, if it exists. + */ + string getExtensionName() { + result = Synth::convertSelectionFieldToRaw(this).(Raw::SelectionField).getExtensionName() + } + + /** + * Holds if `getExtensionName()` exists. + */ + final predicate hasExtensionName() { exists(this.getExtensionName()) } + + /** + * Gets the field of this selection field, if it exists. + */ + string getField() { + result = Synth::convertSelectionFieldToRaw(this).(Raw::SelectionField).getField() + } + + /** + * Holds if `getField()` exists. + */ + final predicate hasField() { exists(this.getField()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ShiftLeftExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ShiftLeftExpression.qll new file mode 100644 index 000000000000..439853734de9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ShiftLeftExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ShiftLeftExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.BinaryExpressionImpl::Impl as BinaryExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ShiftLeftExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ShiftLeftExpression` class directly. + * Use the subclass `ShiftLeftExpression`, where the following predicates are available. + */ + class ShiftLeftExpression extends Synth::TShiftLeftExpression, + BinaryExpressionImpl::BinaryExpression + { + override string getAPrimaryQlClass() { result = "ShiftLeftExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ShiftRightExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ShiftRightExpression.qll new file mode 100644 index 000000000000..caa61f14890a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ShiftRightExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ShiftRightExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.BinaryExpressionImpl::Impl as BinaryExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ShiftRightExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ShiftRightExpression` class directly. + * Use the subclass `ShiftRightExpression`, where the following predicates are available. + */ + class ShiftRightExpression extends Synth::TShiftRightExpression, + BinaryExpressionImpl::BinaryExpression + { + override string getAPrimaryQlClass() { result = "ShiftRightExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/SimpleField.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SimpleField.qll new file mode 100644 index 000000000000..1d31eb8cf645 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SimpleField.qll @@ -0,0 +1,52 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `SimpleField`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.FieldSpecificationImpl::Impl as FieldSpecificationImpl + +/** + * INTERNAL: This module contains the fully generated definition of `SimpleField` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::SimpleField` class directly. + * Use the subclass `SimpleField`, where the following predicates are available. + */ + class SimpleField extends Synth::TSimpleField, FieldSpecificationImpl::FieldSpecification { + override string getAPrimaryQlClass() { result = "SimpleField" } + + /** + * Gets the extension name of this simple field, if it exists. + */ + string getExtensionName() { + result = Synth::convertSimpleFieldToRaw(this).(Raw::SimpleField).getExtensionName() + } + + /** + * Holds if `getExtensionName()` exists. + */ + final predicate hasExtensionName() { exists(this.getExtensionName()) } + + /** + * Holds if this simple field is name escaped. + */ + predicate isNameEscaped() { + Synth::convertSimpleFieldToRaw(this).(Raw::SimpleField).isNameEscaped() + } + + /** + * Gets the name of this simple field, if it exists. + */ + string getName() { result = Synth::convertSimpleFieldToRaw(this).(Raw::SimpleField).getName() } + + /** + * Holds if `getName()` exists. + */ + final predicate hasName() { exists(this.getName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/SimpleInstanceName.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SimpleInstanceName.qll new file mode 100644 index 000000000000..7c785c410f0a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SimpleInstanceName.qll @@ -0,0 +1,51 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `SimpleInstanceName`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.internal.InstanceNameImpl::Impl as InstanceNameImpl + +/** + * INTERNAL: This module contains the fully generated definition of `SimpleInstanceName` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::SimpleInstanceName` class directly. + * Use the subclass `SimpleInstanceName`, where the following predicates are available. + */ + class SimpleInstanceName extends Synth::TSimpleInstanceName, InstanceNameImpl::InstanceName { + override string getAPrimaryQlClass() { result = "SimpleInstanceName" } + + /** + * Gets the index of this simple instance name, if it exists. + */ + Expression getIndex() { + result = + Synth::convertExpressionFromRaw(Synth::convertSimpleInstanceNameToRaw(this) + .(Raw::SimpleInstanceName) + .getIndex()) + } + + /** + * Holds if `getIndex()` exists. + */ + final predicate hasIndex() { exists(this.getIndex()) } + + /** + * Gets the name of this simple instance name, if it exists. + */ + string getName() { + result = Synth::convertSimpleInstanceNameToRaw(this).(Raw::SimpleInstanceName).getName() + } + + /** + * Holds if `getName()` exists. + */ + final predicate hasName() { exists(this.getName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/SimpleOrderElement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SimpleOrderElement.qll new file mode 100644 index 000000000000..0cd0044b06c4 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SimpleOrderElement.qll @@ -0,0 +1,36 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `SimpleOrderElement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.OrderElementImpl::Impl as OrderElementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `SimpleOrderElement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::SimpleOrderElement` class directly. + * Use the subclass `SimpleOrderElement`, where the following predicates are available. + */ + class SimpleOrderElement extends Synth::TSimpleOrderElement, OrderElementImpl::OrderElement { + override string getAPrimaryQlClass() { result = "SimpleOrderElement" } + + /** + * Gets the extension name of this simple order element, if it exists. + */ + string getExtensionName() { + result = + Synth::convertSimpleOrderElementToRaw(this).(Raw::SimpleOrderElement).getExtensionName() + } + + /** + * Holds if `getExtensionName()` exists. + */ + final predicate hasExtensionName() { exists(this.getExtensionName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/SimpleQualifier.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SimpleQualifier.qll new file mode 100644 index 000000000000..3f57611d3e39 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SimpleQualifier.qll @@ -0,0 +1,33 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `SimpleQualifier`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.QualifierImpl::Impl as QualifierImpl + +/** + * INTERNAL: This module contains the fully generated definition of `SimpleQualifier` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::SimpleQualifier` class directly. + * Use the subclass `SimpleQualifier`, where the following predicates are available. + */ + class SimpleQualifier extends Synth::TSimpleQualifier, QualifierImpl::Qualifier { + /** + * Gets the name of this simple qualifier, if it exists. + */ + string getName() { + result = Synth::convertSimpleQualifierToRaw(this).(Raw::SimpleQualifier).getName() + } + + /** + * Holds if `getName()` exists. + */ + final predicate hasName() { exists(this.getName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Statement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Statement.qll new file mode 100644 index 000000000000..80af60e84739 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Statement.qll @@ -0,0 +1,33 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Statement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl + +/** + * INTERNAL: This module contains the fully generated definition of `Statement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Statement` class directly. + * Use the subclass `Statement`, where the following predicates are available. + */ + class Statement extends Synth::TStatement, AstImpl::Ast { + /** + * Gets the comments of this statement, if it exists. + */ + string getComments() { + result = Synth::convertStatementToRaw(this).(Raw::Statement).getComments() + } + + /** + * Holds if `getComments()` exists. + */ + final predicate hasComments() { exists(this.getComments()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/StaticField.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/StaticField.qll new file mode 100644 index 000000000000..ab84cb483d3c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/StaticField.qll @@ -0,0 +1,45 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `StaticField`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.FieldSpecificationImpl::Impl as FieldSpecificationImpl + +/** + * INTERNAL: This module contains the fully generated definition of `StaticField` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::StaticField` class directly. + * Use the subclass `StaticField`, where the following predicates are available. + */ + class StaticField extends Synth::TStaticField, FieldSpecificationImpl::FieldSpecification { + override string getAPrimaryQlClass() { result = "StaticField" } + + /** + * Gets the class name of this static field, if it exists. + */ + string getClassName() { + result = Synth::convertStaticFieldToRaw(this).(Raw::StaticField).getClassName() + } + + /** + * Holds if `getClassName()` exists. + */ + final predicate hasClassName() { exists(this.getClassName()) } + + /** + * Gets the name of this static field, if it exists. + */ + string getName() { result = Synth::convertStaticFieldToRaw(this).(Raw::StaticField).getName() } + + /** + * Holds if `getName()` exists. + */ + final predicate hasName() { exists(this.getName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/StaticMethodCall.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/StaticMethodCall.qll new file mode 100644 index 000000000000..5c66f7c7e08a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/StaticMethodCall.qll @@ -0,0 +1,70 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `StaticMethodCall`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.GenericEvaluationImpl::Impl as GenericEvaluationImpl +import codeql.xpp.elements.XppType + +/** + * INTERNAL: This module contains the fully generated definition of `StaticMethodCall` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::StaticMethodCall` class directly. + * Use the subclass `StaticMethodCall`, where the following predicates are available. + */ + class StaticMethodCall extends Synth::TStaticMethodCall, GenericEvaluationImpl::GenericEvaluation { + override string getAPrimaryQlClass() { result = "StaticMethodCall" } + + /** + * Gets the class name of this static method call, if it exists. + */ + string getClassName() { + result = Synth::convertStaticMethodCallToRaw(this).(Raw::StaticMethodCall).getClassName() + } + + /** + * Holds if `getClassName()` exists. + */ + final predicate hasClassName() { exists(this.getClassName()) } + + /** + * Gets the `index`th class type argument list of this static method call (0-based). + */ + XppType getClassTypeArgumentList(int index) { + result = + Synth::convertXppTypeFromRaw(Synth::convertStaticMethodCallToRaw(this) + .(Raw::StaticMethodCall) + .getClassTypeArgumentList(index)) + } + + /** + * Gets any of the class type argument lists of this static method call. + */ + final XppType getAClassTypeArgumentList() { result = this.getClassTypeArgumentList(_) } + + /** + * Gets the number of class type argument lists of this static method call. + */ + final int getNumberOfClassTypeArgumentLists() { + result = count(int i | exists(this.getClassTypeArgumentList(i))) + } + + /** + * Gets the method name of this static method call, if it exists. + */ + string getMethodName() { + result = Synth::convertStaticMethodCallToRaw(this).(Raw::StaticMethodCall).getMethodName() + } + + /** + * Holds if `getMethodName()` exists. + */ + final predicate hasMethodName() { exists(this.getMethodName()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/StaticQualifier.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/StaticQualifier.qll new file mode 100644 index 000000000000..38f98632a752 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/StaticQualifier.qll @@ -0,0 +1,46 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `StaticQualifier`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.SimpleQualifierImpl::Impl as SimpleQualifierImpl +import codeql.xpp.elements.XppType + +/** + * INTERNAL: This module contains the fully generated definition of `StaticQualifier` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::StaticQualifier` class directly. + * Use the subclass `StaticQualifier`, where the following predicates are available. + */ + class StaticQualifier extends Synth::TStaticQualifier, SimpleQualifierImpl::SimpleQualifier { + override string getAPrimaryQlClass() { result = "StaticQualifier" } + + /** + * Gets the `index`th class type argument list of this static qualifier (0-based). + */ + XppType getClassTypeArgumentList(int index) { + result = + Synth::convertXppTypeFromRaw(Synth::convertStaticQualifierToRaw(this) + .(Raw::StaticQualifier) + .getClassTypeArgumentList(index)) + } + + /** + * Gets any of the class type argument lists of this static qualifier. + */ + final XppType getAClassTypeArgumentList() { result = this.getClassTypeArgumentList(_) } + + /** + * Gets the number of class type argument lists of this static qualifier. + */ + final int getNumberOfClassTypeArgumentLists() { + result = count(int i | exists(this.getClassTypeArgumentList(i))) + } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/StringAttributeLiteral.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/StringAttributeLiteral.qll new file mode 100644 index 000000000000..4444e37809b0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/StringAttributeLiteral.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `StringAttributeLiteral`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.DefaultTypeAttributeLiteralImpl::Impl as DefaultTypeAttributeLiteralImpl + +/** + * INTERNAL: This module contains the fully generated definition of `StringAttributeLiteral` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::StringAttributeLiteral` class directly. + * Use the subclass `StringAttributeLiteral`, where the following predicates are available. + */ + class StringAttributeLiteral extends Synth::TStringAttributeLiteral, + DefaultTypeAttributeLiteralImpl::DefaultTypeAttributeLiteral + { + override string getAPrimaryQlClass() { result = "StringAttributeLiteral" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/StringLengthType.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/StringLengthType.qll new file mode 100644 index 000000000000..67f1540a91f7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/StringLengthType.qll @@ -0,0 +1,52 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `StringLengthType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.StringTypeImpl::Impl as StringTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `StringLengthType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::StringLengthType` class directly. + * Use the subclass `StringLengthType`, where the following predicates are available. + */ + class StringLengthType extends Synth::TStringLengthType, StringTypeImpl::StringType { + override string getAPrimaryQlClass() { result = "StringLengthType" } + + /** + * Gets the edt name of this string length type, if it exists. + */ + string getEdtName() { + result = Synth::convertStringLengthTypeToRaw(this).(Raw::StringLengthType).getEdtName() + } + + /** + * Holds if `getEdtName()` exists. + */ + final predicate hasEdtName() { exists(this.getEdtName()) } + + /** + * Holds if this string length type is edt. + */ + predicate isEdt() { Synth::convertStringLengthTypeToRaw(this).(Raw::StringLengthType).isEdt() } + + /** + * Gets the length of this string length type, if it exists. + */ + int getLength() { + result = Synth::convertStringLengthTypeToRaw(this).(Raw::StringLengthType).getLength() + } + + /** + * Holds if `getLength()` exists. + */ + final predicate hasLength() { exists(this.getLength()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/StringLiteralExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/StringLiteralExpression.qll new file mode 100644 index 000000000000..d1f8dfae0425 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/StringLiteralExpression.qll @@ -0,0 +1,60 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `StringLiteralExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.DefaultTypeLiteralExpressionImpl::Impl as DefaultTypeLiteralExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `StringLiteralExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::StringLiteralExpression` class directly. + * Use the subclass `StringLiteralExpression`, where the following predicates are available. + */ + class StringLiteralExpression extends Synth::TStringLiteralExpression, + DefaultTypeLiteralExpressionImpl::DefaultTypeLiteralExpression + { + override string getAPrimaryQlClass() { result = "StringLiteralExpression" } + + /** + * Holds if this string literal expression is label. + */ + predicate isLabel() { + Synth::convertStringLiteralExpressionToRaw(this).(Raw::StringLiteralExpression).isLabel() + } + + /** + * Gets the label file of this string literal expression, if it exists. + */ + string getLabelFileId() { + result = + Synth::convertStringLiteralExpressionToRaw(this) + .(Raw::StringLiteralExpression) + .getLabelFileId() + } + + /** + * Holds if `getLabelFileId()` exists. + */ + final predicate hasLabelFileId() { exists(this.getLabelFileId()) } + + /** + * Gets the label of this string literal expression, if it exists. + */ + string getLabelId() { + result = + Synth::convertStringLiteralExpressionToRaw(this).(Raw::StringLiteralExpression).getLabelId() + } + + /** + * Holds if `getLabelId()` exists. + */ + final predicate hasLabelId() { exists(this.getLabelId()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/StringType.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/StringType.qll new file mode 100644 index 000000000000..78b1b936f68b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/StringType.qll @@ -0,0 +1,21 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `StringType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.XppTypeImpl::Impl as XppTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `StringType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::StringType` class directly. + * Use the subclass `StringType`, where the following predicates are available. + */ + class StringType extends Synth::TStringType, XppTypeImpl::XppType { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/SubtractExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SubtractExpression.qll new file mode 100644 index 000000000000..977999de34e3 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SubtractExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `SubtractExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.BinaryExpressionImpl::Impl as BinaryExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `SubtractExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::SubtractExpression` class directly. + * Use the subclass `SubtractExpression`, where the following predicates are available. + */ + class SubtractExpression extends Synth::TSubtractExpression, + BinaryExpressionImpl::BinaryExpression + { + override string getAPrimaryQlClass() { result = "SubtractExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/SumAggregateSelection.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SumAggregateSelection.qll new file mode 100644 index 000000000000..d208c2a8f5e8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SumAggregateSelection.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `SumAggregateSelection`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AggregateSelectionImpl::Impl as AggregateSelectionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `SumAggregateSelection` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::SumAggregateSelection` class directly. + * Use the subclass `SumAggregateSelection`, where the following predicates are available. + */ + class SumAggregateSelection extends Synth::TSumAggregateSelection, + AggregateSelectionImpl::AggregateSelection + { + override string getAPrimaryQlClass() { result = "SumAggregateSelection" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/SuperCall.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SuperCall.qll new file mode 100644 index 000000000000..8a7e21bce547 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SuperCall.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `SuperCall`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.EvaluationImpl::Impl as EvaluationImpl + +/** + * INTERNAL: This module contains the fully generated definition of `SuperCall` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::SuperCall` class directly. + * Use the subclass `SuperCall`, where the following predicates are available. + */ + class SuperCall extends Synth::TSuperCall, EvaluationImpl::Evaluation { + override string getAPrimaryQlClass() { result = "SuperCall" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/SwitchCase.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SwitchCase.qll new file mode 100644 index 000000000000..b8c39a277b22 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SwitchCase.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `SwitchCase`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl + +/** + * INTERNAL: This module contains the fully generated definition of `SwitchCase` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::SwitchCase` class directly. + * Use the subclass `SwitchCase`, where the following predicates are available. + */ + class SwitchCase extends Synth::TSwitchCase, AstImpl::Ast { + override string getAPrimaryQlClass() { result = "SwitchCase" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/SwitchStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SwitchStatement.qll new file mode 100644 index 000000000000..a903b9a7ff83 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SwitchStatement.qll @@ -0,0 +1,60 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `SwitchStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl +import codeql.xpp.elements.SwitchStatementCaseEntry + +/** + * INTERNAL: This module contains the fully generated definition of `SwitchStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::SwitchStatement` class directly. + * Use the subclass `SwitchStatement`, where the following predicates are available. + */ + class SwitchStatement extends Synth::TSwitchStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "SwitchStatement" } + + /** + * Gets the `index`th case of this switch statement (0-based). + */ + SwitchStatementCaseEntry getCase(int index) { + result = + Synth::convertSwitchStatementCaseEntryFromRaw(Synth::convertSwitchStatementToRaw(this) + .(Raw::SwitchStatement) + .getCase(index)) + } + + /** + * Gets any of the cases of this switch statement. + */ + final SwitchStatementCaseEntry getACase() { result = this.getCase(_) } + + /** + * Gets the number of cases of this switch statement. + */ + final int getNumberOfCases() { result = count(int i | exists(this.getCase(i))) } + + /** + * Gets the selector of this switch statement, if it exists. + */ + Expression getSelector() { + result = + Synth::convertExpressionFromRaw(Synth::convertSwitchStatementToRaw(this) + .(Raw::SwitchStatement) + .getSelector()) + } + + /** + * Holds if `getSelector()` exists. + */ + final predicate hasSelector() { exists(this.getSelector()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/SwitchStatementCaseEntry.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SwitchStatementCaseEntry.qll new file mode 100644 index 000000000000..c5d26769c4c2 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SwitchStatementCaseEntry.qll @@ -0,0 +1,60 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `SwitchStatementCaseEntry`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Case +import codeql.xpp.elements.Statement +import codeql.xpp.elements.internal.XppTupleImpl::Impl as XppTupleImpl + +/** + * INTERNAL: This module contains the fully generated definition of `SwitchStatementCaseEntry` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::SwitchStatementCaseEntry` class directly. + * Use the subclass `SwitchStatementCaseEntry`, where the following predicates are available. + */ + class SwitchStatementCaseEntry extends Synth::TSwitchStatementCaseEntry, XppTupleImpl::XppTuple { + override string getAPrimaryQlClass() { result = "SwitchStatementCaseEntry" } + + /** + * Gets the case of this switch statement case entry, if it exists. + */ + Case getCase() { + result = + Synth::convertCaseFromRaw(Synth::convertSwitchStatementCaseEntryToRaw(this) + .(Raw::SwitchStatementCaseEntry) + .getCase()) + } + + /** + * Holds if `getCase()` exists. + */ + final predicate hasCase() { exists(this.getCase()) } + + /** + * Gets the `index`th statement of this switch statement case entry (0-based). + */ + Statement getStatement(int index) { + result = + Synth::convertStatementFromRaw(Synth::convertSwitchStatementCaseEntryToRaw(this) + .(Raw::SwitchStatementCaseEntry) + .getStatement(index)) + } + + /** + * Gets any of the statements of this switch statement case entry. + */ + final Statement getAStatement() { result = this.getStatement(_) } + + /** + * Gets the number of statements of this switch statement case entry. + */ + final int getNumberOfStatements() { result = count(int i | exists(this.getStatement(i))) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Synth.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Synth.qll new file mode 100644 index 000000000000..610dd9738547 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Synth.qll @@ -0,0 +1,5995 @@ +/** + * INTERNAL: Do not use. + * This module defines the IPA layer on top of raw DB entities, and the conversions between the two + * layers. + */ + +private import codeql.xpp.elements.internal.generated.SynthConstructors +private import codeql.xpp.elements.internal.generated.Raw + +module Synth { + /** + * INTERNAL: Do not use. + * The synthesized type of all elements. + */ + cached + newtype TElement = + /** + * INTERNAL: Do not use. + */ + TAddExpression(Raw::AddExpression id) { constructAddExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TAllFieldsSelection(Raw::AllFieldsSelection id) { constructAllFieldsSelection(id) } or + /** + * INTERNAL: Do not use. + */ + TAndExpression(Raw::AndExpression id) { constructAndExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TAnyType(Raw::AnyType id) { constructAnyType(id) } or + /** + * INTERNAL: Do not use. + */ + TArraySpecification(Raw::ArraySpecification id) { constructArraySpecification(id) } or + /** + * INTERNAL: Do not use. + */ + TAsClrExpression(Raw::AsClrExpression id) { constructAsClrExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TAsExpression(Raw::AsExpression id) { constructAsExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TAssignDecrementStatement(Raw::AssignDecrementStatement id) { + constructAssignDecrementStatement(id) + } or + /** + * INTERNAL: Do not use. + */ + TAssignDivideStatement(Raw::AssignDivideStatement id) { constructAssignDivideStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TAssignEqualStatement(Raw::AssignEqualStatement id) { constructAssignEqualStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TAssignIncrementStatement(Raw::AssignIncrementStatement id) { + constructAssignIncrementStatement(id) + } or + /** + * INTERNAL: Do not use. + */ + TAssignMultipleFieldStatement(Raw::AssignMultipleFieldStatement id) { + constructAssignMultipleFieldStatement(id) + } or + /** + * INTERNAL: Do not use. + */ + TAssignMultiplyStatement(Raw::AssignMultiplyStatement id) { + constructAssignMultiplyStatement(id) + } or + /** + * INTERNAL: Do not use. + */ + TAssignPostDecrementStatement(Raw::AssignPostDecrementStatement id) { + constructAssignPostDecrementStatement(id) + } or + /** + * INTERNAL: Do not use. + */ + TAssignPostIncrementStatement(Raw::AssignPostIncrementStatement id) { + constructAssignPostIncrementStatement(id) + } or + /** + * INTERNAL: Do not use. + */ + TAssignPreDecrementStatement(Raw::AssignPreDecrementStatement id) { + constructAssignPreDecrementStatement(id) + } or + /** + * INTERNAL: Do not use. + */ + TAssignPreIncrementStatement(Raw::AssignPreIncrementStatement id) { + constructAssignPreIncrementStatement(id) + } or + /** + * INTERNAL: Do not use. + */ + TAssignmentEventHandlerClr(Raw::AssignmentEventHandlerClr id) { + constructAssignmentEventHandlerClr(id) + } or + /** + * INTERNAL: Do not use. + */ + TAssignmentEventHandlerInstance(Raw::AssignmentEventHandlerInstance id) { + constructAssignmentEventHandlerInstance(id) + } or + /** + * INTERNAL: Do not use. + */ + TAttribute(Raw::Attribute id) { constructAttribute(id) } or + /** + * INTERNAL: Do not use. + */ + TAttributeExpression(Raw::AttributeExpression id) { constructAttributeExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TAttributeList(Raw::AttributeList id) { constructAttributeList(id) } or + /** + * INTERNAL: Do not use. + */ + TAttributeNamedParameterEntry(Raw::AttributeNamedParameterEntry id) { + constructAttributeNamedParameterEntry(id) + } or + /** + * INTERNAL: Do not use. + */ + TAvgAggregateSelection(Raw::AvgAggregateSelection id) { constructAvgAggregateSelection(id) } or + /** + * INTERNAL: Do not use. + */ + TBooleanAttributeLiteral(Raw::BooleanAttributeLiteral id) { + constructBooleanAttributeLiteral(id) + } or + /** + * INTERNAL: Do not use. + */ + TBooleanLiteralExpression(Raw::BooleanLiteralExpression id) { + constructBooleanLiteralExpression(id) + } or + /** + * INTERNAL: Do not use. + */ + TBooleanType(Raw::BooleanType id) { constructBooleanType(id) } or + /** + * INTERNAL: Do not use. + */ + TBreakStatement(Raw::BreakStatement id) { constructBreakStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TBreakpointStatement(Raw::BreakpointStatement id) { constructBreakpointStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TCaseDefault(Raw::CaseDefault id) { constructCaseDefault(id) } or + /** + * INTERNAL: Do not use. + */ + TCaseValues(Raw::CaseValues id) { constructCaseValues(id) } or + /** + * INTERNAL: Do not use. + */ + TCatchAllValues(Raw::CatchAllValues id) { constructCatchAllValues(id) } or + /** + * INTERNAL: Do not use. + */ + TCatchExpression(Raw::CatchExpression id) { constructCatchExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TCatchUpdateConflict(Raw::CatchUpdateConflict id) { constructCatchUpdateConflict(id) } or + /** + * INTERNAL: Do not use. + */ + TChangeCompanyStatement(Raw::ChangeCompanyStatement id) { constructChangeCompanyStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TClass(Raw::Class id) { constructClass(id) } or + /** + * INTERNAL: Do not use. + */ + TClassAccessModifier(Raw::ClassAccessModifier id) { constructClassAccessModifier(id) } or + /** + * INTERNAL: Do not use. + */ + TClrEnumerationLiteralExpression(Raw::ClrEnumerationLiteralExpression id) { + constructClrEnumerationLiteralExpression(id) + } or + /** + * INTERNAL: Do not use. + */ + TClrType(Raw::ClrType id) { constructClrType(id) } or + /** + * INTERNAL: Do not use. + */ + TComment(Raw::Comment id) { constructComment(id) } or + /** + * INTERNAL: Do not use. + */ + TCompilationUnitRegionEntry(Raw::CompilationUnitRegionEntry id) { + constructCompilationUnitRegionEntry(id) + } or + /** + * INTERNAL: Do not use. + */ + TCompoundStatement(Raw::CompoundStatement id) { constructCompoundStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TConditionalExpression(Raw::ConditionalExpression id) { constructConditionalExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TContainerAttributeLiteral(Raw::ContainerAttributeLiteral id) { + constructContainerAttributeLiteral(id) + } or + /** + * INTERNAL: Do not use. + */ + TContainerLiteralExpression(Raw::ContainerLiteralExpression id) { + constructContainerLiteralExpression(id) + } or + /** + * INTERNAL: Do not use. + */ + TContainerType(Raw::ContainerType id) { constructContainerType(id) } or + /** + * INTERNAL: Do not use. + */ + TContinueStatement(Raw::ContinueStatement id) { constructContinueStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TCountAggregateSelection(Raw::CountAggregateSelection id) { + constructCountAggregateSelection(id) + } or + /** + * INTERNAL: Do not use. + */ + TCrossCompanyAll(Raw::CrossCompanyAll id) { constructCrossCompanyAll(id) } or + /** + * INTERNAL: Do not use. + */ + TCrossCompanyContainer(Raw::CrossCompanyContainer id) { constructCrossCompanyContainer(id) } or + /** + * INTERNAL: Do not use. + */ + TDateAttributeLiteral(Raw::DateAttributeLiteral id) { constructDateAttributeLiteral(id) } or + /** + * INTERNAL: Do not use. + */ + TDateLiteralExpression(Raw::DateLiteralExpression id) { constructDateLiteralExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TDateTimeAttributeLiteral(Raw::DateTimeAttributeLiteral id) { + constructDateTimeAttributeLiteral(id) + } or + /** + * INTERNAL: Do not use. + */ + TDateTimeLiteralExpression(Raw::DateTimeLiteralExpression id) { + constructDateTimeLiteralExpression(id) + } or + /** + * INTERNAL: Do not use. + */ + TDateTimeType(Raw::DateTimeType id) { constructDateTimeType(id) } or + /** + * INTERNAL: Do not use. + */ + TDateType(Raw::DateType id) { constructDateType(id) } or + /** + * INTERNAL: Do not use. + */ + TDblAttributeLiteral(Raw::DblAttributeLiteral id) { constructDblAttributeLiteral(id) } or + /** + * INTERNAL: Do not use. + */ + TDblType(Raw::DblType id) { constructDblType(id) } or + /** + * INTERNAL: Do not use. + */ + TDelegate(Raw::Delegate id) { constructDelegate(id) } or + /** + * INTERNAL: Do not use. + */ + TDeleteStatement(Raw::DeleteStatement id) { constructDeleteStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TDivideExpression(Raw::DivideExpression id) { constructDivideExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TDoWhileStatement(Raw::DoWhileStatement id) { constructDoWhileStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TEmptyExpression(Raw::EmptyExpression id) { constructEmptyExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TEmptyStatement(Raw::EmptyStatement id) { constructEmptyStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TEnumAttributeLiteral(Raw::EnumAttributeLiteral id) { constructEnumAttributeLiteral(id) } or + /** + * INTERNAL: Do not use. + */ + TEnumerationLiteralExpression(Raw::EnumerationLiteralExpression id) { + constructEnumerationLiteralExpression(id) + } or + /** + * INTERNAL: Do not use. + */ + TEnumerationType(Raw::EnumerationType id) { constructEnumerationType(id) } or + /** + * INTERNAL: Do not use. + */ + TEqualExpression(Raw::EqualExpression id) { constructEqualExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TEvaluationActualParameterEntry(Raw::EvaluationActualParameterEntry id) { + constructEvaluationActualParameterEntry(id) + } or + /** + * INTERNAL: Do not use. + */ + TExplicitSelection(Raw::ExplicitSelection id) { constructExplicitSelection(id) } or + /** + * INTERNAL: Do not use. + */ + TExpressionCompilationUnit(Raw::ExpressionCompilationUnit id) { + constructExpressionCompilationUnit(id) + } or + /** + * INTERNAL: Do not use. + */ + TExpressionQualifier(Raw::ExpressionQualifier id) { constructExpressionQualifier(id) } or + /** + * INTERNAL: Do not use. + */ + TExpressionStatement(Raw::ExpressionStatement id) { constructExpressionStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TFieldAssignment(Raw::FieldAssignment id) { constructFieldAssignment(id) } or + /** + * INTERNAL: Do not use. + */ + TFieldSelection(Raw::FieldSelection id) { constructFieldSelection(id) } or + /** + * INTERNAL: Do not use. + */ + TFile(Raw::File id) { constructFile(id) } or + /** + * INTERNAL: Do not use. + */ + TFindStatement(Raw::FindStatement id) { constructFindStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TFlushStatement(Raw::FlushStatement id) { constructFlushStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TForDeclarationAssign(Raw::ForDeclarationAssign id) { constructForDeclarationAssign(id) } or + /** + * INTERNAL: Do not use. + */ + TForFieldAssign(Raw::ForFieldAssign id) { constructForFieldAssign(id) } or + /** + * INTERNAL: Do not use. + */ + TForFieldDecrementAssign(Raw::ForFieldDecrementAssign id) { + constructForFieldDecrementAssign(id) + } or + /** + * INTERNAL: Do not use. + */ + TForFieldIncrementAssign(Raw::ForFieldIncrementAssign id) { + constructForFieldIncrementAssign(id) + } or + /** + * INTERNAL: Do not use. + */ + TForFieldPostDecrement(Raw::ForFieldPostDecrement id) { constructForFieldPostDecrement(id) } or + /** + * INTERNAL: Do not use. + */ + TForFieldPostIncrement(Raw::ForFieldPostIncrement id) { constructForFieldPostIncrement(id) } or + /** + * INTERNAL: Do not use. + */ + TForFieldPreDecrement(Raw::ForFieldPreDecrement id) { constructForFieldPreDecrement(id) } or + /** + * INTERNAL: Do not use. + */ + TForFieldPreIncrement(Raw::ForFieldPreIncrement id) { constructForFieldPreIncrement(id) } or + /** + * INTERNAL: Do not use. + */ + TForStatement(Raw::ForStatement id) { constructForStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TFormControl(Raw::FormControl id) { constructFormControl(id) } or + /** + * INTERNAL: Do not use. + */ + TFormDataField(Raw::FormDataField id) { constructFormDataField(id) } or + /** + * INTERNAL: Do not use. + */ + TFormDataSource(Raw::FormDataSource id) { constructFormDataSource(id) } or + /** + * INTERNAL: Do not use. + */ + TFormElementType(Raw::FormElementType id) { constructFormElementType(id) } or + /** + * INTERNAL: Do not use. + */ + TFormModelElement(Raw::FormModelElement id) { constructFormModelElement(id) } or + /** + * INTERNAL: Do not use. + */ + TFunctionCall(Raw::FunctionCall id) { constructFunctionCall(id) } or + /** + * INTERNAL: Do not use. + */ + TFunctionDeclaration(Raw::FunctionDeclaration id) { constructFunctionDeclaration(id) } or + /** + * INTERNAL: Do not use. + */ + TGlobalOrderElement(Raw::GlobalOrderElement id) { constructGlobalOrderElement(id) } or + /** + * INTERNAL: Do not use. + */ + TGreaterThanExpression(Raw::GreaterThanExpression id) { constructGreaterThanExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TGreaterThanOrEqualExpression(Raw::GreaterThanOrEqualExpression id) { + constructGreaterThanOrEqualExpression(id) + } or + /** + * INTERNAL: Do not use. + */ + TGuidAttributeLiteral(Raw::GuidAttributeLiteral id) { constructGuidAttributeLiteral(id) } or + /** + * INTERNAL: Do not use. + */ + TGuidType(Raw::GuidType id) { constructGuidType(id) } or + /** + * INTERNAL: Do not use. + */ + TIfStatement(Raw::IfStatement id) { constructIfStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TIfThenElseStatement(Raw::IfThenElseStatement id) { constructIfThenElseStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TImplicitSelection(Raw::ImplicitSelection id) { constructImplicitSelection(id) } or + /** + * INTERNAL: Do not use. + */ + TInExpression(Raw::InExpression id) { constructInExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TInsertFieldSpecification(Raw::InsertFieldSpecification id) { + constructInsertFieldSpecification(id) + } or + /** + * INTERNAL: Do not use. + */ + TInsertStatement(Raw::InsertStatement id) { constructInsertStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TInt64AttributeLiteral(Raw::Int64AttributeLiteral id) { constructInt64AttributeLiteral(id) } or + /** + * INTERNAL: Do not use. + */ + TInt64LiteralExpression(Raw::Int64LiteralExpression id) { constructInt64LiteralExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TInt64Type(Raw::Int64Type id) { constructInt64Type(id) } or + /** + * INTERNAL: Do not use. + */ + TIntAttributeLiteral(Raw::IntAttributeLiteral id) { constructIntAttributeLiteral(id) } or + /** + * INTERNAL: Do not use. + */ + TIntLiteralExpression(Raw::IntLiteralExpression id) { constructIntLiteralExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TIntType(Raw::IntType id) { constructIntType(id) } or + /** + * INTERNAL: Do not use. + */ + TIntegerDivideExpression(Raw::IntegerDivideExpression id) { + constructIntegerDivideExpression(id) + } or + /** + * INTERNAL: Do not use. + */ + TInterface(Raw::Interface id) { constructInterface(id) } or + /** + * INTERNAL: Do not use. + */ + TIntrinsic(Raw::Intrinsic id) { constructIntrinsic(id) } or + /** + * INTERNAL: Do not use. + */ + TIntrinsicAttributeLiteral(Raw::IntrinsicAttributeLiteral id) { + constructIntrinsicAttributeLiteral(id) + } or + /** + * INTERNAL: Do not use. + */ + TIsClrExpression(Raw::IsClrExpression id) { constructIsClrExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TIsExpression(Raw::IsExpression id) { constructIsExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TJoinSpecification(Raw::JoinSpecification id) { constructJoinSpecification(id) } or + /** + * INTERNAL: Do not use. + */ + TLessThanExpression(Raw::LessThanExpression id) { constructLessThanExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TLessThanOrEqualExpression(Raw::LessThanOrEqualExpression id) { + constructLessThanOrEqualExpression(id) + } or + /** + * INTERNAL: Do not use. + */ + TLikeExpression(Raw::LikeExpression id) { constructLikeExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TLocalDeclarationsStatement(Raw::LocalDeclarationsStatement id) { + constructLocalDeclarationsStatement(id) + } or + /** + * INTERNAL: Do not use. + */ + TLocation(Raw::Location id) { constructLocation(id) } or + /** + * INTERNAL: Do not use. + */ + TMaxAggregateSelection(Raw::MaxAggregateSelection id) { constructMaxAggregateSelection(id) } or + /** + * INTERNAL: Do not use. + */ + TMethod(Raw::Method id) { constructMethod(id) } or + /** + * INTERNAL: Do not use. + */ + TMinAggregateSelection(Raw::MinAggregateSelection id) { constructMinAggregateSelection(id) } or + /** + * INTERNAL: Do not use. + */ + TModExpression(Raw::ModExpression id) { constructModExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TModelElementUsingEntry(Raw::ModelElementUsingEntry id) { constructModelElementUsingEntry(id) } or + /** + * INTERNAL: Do not use. + */ + TModifier(Raw::Modifier id) { constructModifier(id) } or + /** + * INTERNAL: Do not use. + */ + TMoveCursorStatement(Raw::MoveCursorStatement id) { constructMoveCursorStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TMultiplyExpression(Raw::MultiplyExpression id) { constructMultiplyExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TNamedFieldReference(Raw::NamedFieldReference id) { constructNamedFieldReference(id) } or + /** + * INTERNAL: Do not use. + */ + TNewCall(Raw::NewCall id) { constructNewCall(id) } or + /** + * INTERNAL: Do not use. + */ + TNewClrArrayExpression(Raw::NewClrArrayExpression id) { constructNewClrArrayExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TNewClrCall(Raw::NewClrCall id) { constructNewClrCall(id) } or + /** + * INTERNAL: Do not use. + */ + TNextExpression(Raw::NextExpression id) { constructNextExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TNotEqualExpression(Raw::NotEqualExpression id) { constructNotEqualExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TNotExpression(Raw::NotExpression id) { constructNotExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TNullLiteralExpression(Raw::NullLiteralExpression id) { constructNullLiteralExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TNumberedFieldReference(Raw::NumberedFieldReference id) { constructNumberedFieldReference(id) } or + /** + * INTERNAL: Do not use. + */ + TOrExpression(Raw::OrExpression id) { constructOrExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TParameterDeclaration(Raw::ParameterDeclaration id) { constructParameterDeclaration(id) } or + /** + * INTERNAL: Do not use. + */ + TPhysicalAndExpression(Raw::PhysicalAndExpression id) { constructPhysicalAndExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TPhysicalNotExpression(Raw::PhysicalNotExpression id) { constructPhysicalNotExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TPhysicalOrExpression(Raw::PhysicalOrExpression id) { constructPhysicalOrExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TPhysicalXorExpression(Raw::PhysicalXorExpression id) { constructPhysicalXorExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TPlaceholder(Raw::Placeholder id) { constructPlaceholder(id) } or + /** + * INTERNAL: Do not use. + */ + TPrintStatement(Raw::PrintStatement id) { constructPrintStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TProvidedType(Raw::ProvidedType id) { constructProvidedType(id) } or + /** + * INTERNAL: Do not use. + */ + TProvidedTypeStaticCall(Raw::ProvidedTypeStaticCall id) { constructProvidedTypeStaticCall(id) } or + /** + * INTERNAL: Do not use. + */ + TQualifiedCall(Raw::QualifiedCall id) { constructQualifiedCall(id) } or + /** + * INTERNAL: Do not use. + */ + TQualifiedField(Raw::QualifiedField id) { constructQualifiedField(id) } or + /** + * INTERNAL: Do not use. + */ + TQualifiedInstanceName(Raw::QualifiedInstanceName id) { constructQualifiedInstanceName(id) } or + /** + * INTERNAL: Do not use. + */ + TQualifiedNumberedField(Raw::QualifiedNumberedField id) { constructQualifiedNumberedField(id) } or + /** + * INTERNAL: Do not use. + */ + TQualifiedStaticCall(Raw::QualifiedStaticCall id) { constructQualifiedStaticCall(id) } or + /** + * INTERNAL: Do not use. + */ + TQualifiedStaticField(Raw::QualifiedStaticField id) { constructQualifiedStaticField(id) } or + /** + * INTERNAL: Do not use. + */ + TQualifiedStaticFieldExpression(Raw::QualifiedStaticFieldExpression id) { + constructQualifiedStaticFieldExpression(id) + } or + /** + * INTERNAL: Do not use. + */ + TQuery(Raw::Query id) { constructQuery(id) } or + /** + * INTERNAL: Do not use. + */ + TQueryDataSource(Raw::QueryDataSource id) { constructQueryDataSource(id) } or + /** + * INTERNAL: Do not use. + */ + TQueryDataSourceHaving(Raw::QueryDataSourceHaving id) { constructQueryDataSourceHaving(id) } or + /** + * INTERNAL: Do not use. + */ + TQueryDataSourceRange(Raw::QueryDataSourceRange id) { constructQueryDataSourceRange(id) } or + /** + * INTERNAL: Do not use. + */ + TQueryDataSourceRelation(Raw::QueryDataSourceRelation id) { + constructQueryDataSourceRelation(id) + } or + /** + * INTERNAL: Do not use. + */ + TQueryModelElement(Raw::QueryModelElement id) { constructQueryModelElement(id) } or + /** + * INTERNAL: Do not use. + */ + TRealLiteralExpression(Raw::RealLiteralExpression id) { constructRealLiteralExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TRetryStatement(Raw::RetryStatement id) { constructRetryStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TReturnStatement(Raw::ReturnStatement id) { constructReturnStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TSearchStatement(Raw::SearchStatement id) { constructSearchStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TShiftLeftExpression(Raw::ShiftLeftExpression id) { constructShiftLeftExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TShiftRightExpression(Raw::ShiftRightExpression id) { constructShiftRightExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TSimpleField(Raw::SimpleField id) { constructSimpleField(id) } or + /** + * INTERNAL: Do not use. + */ + TSimpleInstanceName(Raw::SimpleInstanceName id) { constructSimpleInstanceName(id) } or + /** + * INTERNAL: Do not use. + */ + TSimpleOrderElement(Raw::SimpleOrderElement id) { constructSimpleOrderElement(id) } or + /** + * INTERNAL: Do not use. + */ + TStaticField(Raw::StaticField id) { constructStaticField(id) } or + /** + * INTERNAL: Do not use. + */ + TStaticMethodCall(Raw::StaticMethodCall id) { constructStaticMethodCall(id) } or + /** + * INTERNAL: Do not use. + */ + TStaticQualifier(Raw::StaticQualifier id) { constructStaticQualifier(id) } or + /** + * INTERNAL: Do not use. + */ + TStringAttributeLiteral(Raw::StringAttributeLiteral id) { constructStringAttributeLiteral(id) } or + /** + * INTERNAL: Do not use. + */ + TStringLengthType(Raw::StringLengthType id) { constructStringLengthType(id) } or + /** + * INTERNAL: Do not use. + */ + TStringLiteralExpression(Raw::StringLiteralExpression id) { + constructStringLiteralExpression(id) + } or + /** + * INTERNAL: Do not use. + */ + TSubtractExpression(Raw::SubtractExpression id) { constructSubtractExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TSumAggregateSelection(Raw::SumAggregateSelection id) { constructSumAggregateSelection(id) } or + /** + * INTERNAL: Do not use. + */ + TSuperCall(Raw::SuperCall id) { constructSuperCall(id) } or + /** + * INTERNAL: Do not use. + */ + TSwitchCase(Raw::SwitchCase id) { constructSwitchCase(id) } or + /** + * INTERNAL: Do not use. + */ + TSwitchStatement(Raw::SwitchStatement id) { constructSwitchStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TSwitchStatementCaseEntry(Raw::SwitchStatementCaseEntry id) { + constructSwitchStatementCaseEntry(id) + } or + /** + * INTERNAL: Do not use. + */ + TTable(Raw::Table id) { constructTable(id) } or + /** + * INTERNAL: Do not use. + */ + TTableFieldDeclaration(Raw::TableFieldDeclaration id) { constructTableFieldDeclaration(id) } or + /** + * INTERNAL: Do not use. + */ + TTableLookupExpression(Raw::TableLookupExpression id) { constructTableLookupExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TThrowStatement(Raw::ThrowStatement id) { constructThrowStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TTryStatement(Raw::TryStatement id) { constructTryStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TTryStatementCatchEntry(Raw::TryStatementCatchEntry id) { constructTryStatementCatchEntry(id) } or + /** + * INTERNAL: Do not use. + */ + TTtsAbortStatement(Raw::TtsAbortStatement id) { constructTtsAbortStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TTtsBeginStatement(Raw::TtsBeginStatement id) { constructTtsBeginStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TTtsEndStatement(Raw::TtsEndStatement id) { constructTtsEndStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TUnaryMinusExpression(Raw::UnaryMinusExpression id) { constructUnaryMinusExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TUncheckedStatement(Raw::UncheckedStatement id) { constructUncheckedStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TUnspecifiedElement(Raw::UnspecifiedElement id) { constructUnspecifiedElement(id) } or + /** + * INTERNAL: Do not use. + */ + TUpdateStatement(Raw::UpdateStatement id) { constructUpdateStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TUsingStatement(Raw::UsingStatement id) { constructUsingStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TValidTimeStateDate(Raw::ValidTimeStateDate id) { constructValidTimeStateDate(id) } or + /** + * INTERNAL: Do not use. + */ + TValidTimeStateRange(Raw::ValidTimeStateRange id) { constructValidTimeStateRange(id) } or + /** + * INTERNAL: Do not use. + */ + TVarType(Raw::VarType id) { constructVarType(id) } or + /** + * INTERNAL: Do not use. + */ + TVoidType(Raw::VoidType id) { constructVoidType(id) } or + /** + * INTERNAL: Do not use. + */ + TWhileStatement(Raw::WhileStatement id) { constructWhileStatement(id) } or + /** + * INTERNAL: Do not use. + */ + TXppTypeCompilationUnit(Raw::XppTypeCompilationUnit id) { constructXppTypeCompilationUnit(id) } + + /** + * INTERNAL: Do not use. + */ + class TAggregateSelection = + TAvgAggregateSelection or TCountAggregateSelection or TMaxAggregateSelection or + TMinAggregateSelection or TSumAggregateSelection; + + /** + * INTERNAL: Do not use. + */ + class TAssignmentBinary = + TAssignDecrementStatement or TAssignDivideStatement or TAssignEqualStatement or + TAssignIncrementStatement or TAssignMultiplyStatement; + + /** + * INTERNAL: Do not use. + */ + class TAssignmentEventHandlerBase = + TAssignmentEventHandlerInstance or TAssignmentEventHandlerStatic; + + /** + * INTERNAL: Do not use. + */ + class TAssignmentEventHandlerStatic = TAssignmentEventHandlerClr; + + /** + * INTERNAL: Do not use. + */ + class TAssignmentSingleField = + TAssignPostDecrementStatement or TAssignPostIncrementStatement or + TAssignPreDecrementStatement or TAssignPreIncrementStatement or TAssignmentBinary or + TAssignmentEventHandlerBase; + + /** + * INTERNAL: Do not use. + */ + class TAssignmentStatement = TAssignMultipleFieldStatement or TAssignmentSingleField; + + /** + * INTERNAL: Do not use. + */ + class TAst = + TArraySpecification or TAttribute or TAttributeExpression or TAttributeList or + TAttributeLiteral or TCase or TCatch or TClassAccessModifier or TCompilationUnit or + TCrossCompany or TExpression or TFieldAssignment or TFieldSpecification or TForAssign or + TInsertFieldSpecification or TInstanceName or TJoinSpecification or TModifier or + TOrderElement or TQualifier or TQuery or TQueryDataSource or TQueryDataSourceHaving or + TQueryDataSourceRange or TQueryDataSourceRelation or TSelection or TSelectionField or + TStatement or TSwitchCase or TTableFieldReference or TValidTimeState or TXppType; + + /** + * INTERNAL: Do not use. + */ + class TAttributeLiteral = + TContainerAttributeLiteral or TDefaultTypeAttributeLiteral or TEnumAttributeLiteral or + TIntrinsicAttributeLiteral; + + /** + * INTERNAL: Do not use. + */ + class TBinaryExpression = + TAddExpression or TAndExpression or TDivideExpression or TInExpression or + TIntegerDivideExpression or TModExpression or TMultiplyExpression or TOrExpression or + TPhysicalAndExpression or TPhysicalOrExpression or TPhysicalXorExpression or + TRelationalExpression or TShiftLeftExpression or TShiftRightExpression or + TSubtractExpression; + + /** + * INTERNAL: Do not use. + */ + class TCase = TCaseDefault or TCaseValues; + + /** + * INTERNAL: Do not use. + */ + class TCatch = TCatchAllValues or TCatchExpression or TCatchUpdateConflict; + + /** + * INTERNAL: Do not use. + */ + class TChangeStatement = TChangeCompanyStatement; + + /** + * INTERNAL: Do not use. + */ + class TClassOrInterface = TClass or TInterface; + + /** + * INTERNAL: Do not use. + */ + class TCompilationUnit = + TDeclaration or TExpressionCompilationUnit or TMethodOrDelegate or TModelElement or + TXppTypeCompilationUnit; + + /** + * INTERNAL: Do not use. + */ + class TCrossCompany = TCrossCompanyAll or TCrossCompanyContainer; + + /** + * INTERNAL: Do not use. + */ + class TDeclaration = TFieldDeclaration or TLocalDeclaration; + + /** + * INTERNAL: Do not use. + */ + class TDefaultTypeAttributeLiteral = + TBooleanAttributeLiteral or TDateAttributeLiteral or TDateTimeAttributeLiteral or + TDblAttributeLiteral or TGuidAttributeLiteral or TInt64AttributeLiteral or + TIntAttributeLiteral or TStringAttributeLiteral; + + /** + * INTERNAL: Do not use. + */ + class TDefaultTypeLiteralExpression = + TBooleanLiteralExpression or TDateLiteralExpression or TDateTimeLiteralExpression or + TInt64LiteralExpression or TIntLiteralExpression or TRealLiteralExpression or + TStringLiteralExpression; + + /** + * INTERNAL: Do not use. + */ + class TErrorElement = TUnspecifiedElement; + + /** + * INTERNAL: Do not use. + */ + class TEvaluation = + TGenericEvaluation or TNewCall or TNextExpression or TProvidedTypeStaticCall or TSuperCall; + + /** + * INTERNAL: Do not use. + */ + class TExpression = + TBinaryExpression or TConditionalExpression or TEmptyExpression or TEvaluation or + TFieldExpression or TIntrinsic or TIsAsExpression or TLiteralExpression or + TNewClrArrayExpression or TPlaceholder or TTableLookupExpression or TUnaryExpression; + + /** + * INTERNAL: Do not use. + */ + class TFieldDeclaration = TTableFieldDeclaration; + + /** + * INTERNAL: Do not use. + */ + class TFieldExpression = TQualifiedStaticFieldExpression; + + /** + * INTERNAL: Do not use. + */ + class TFieldSpecification = + TQualifiedField or TQualifiedNumberedField or TQualifiedStaticField or TSimpleField or + TStaticField; + + /** + * INTERNAL: Do not use. + */ + class TForAssign = + TForDeclarationAssign or TForExpressionAssign or TForFieldPostDecrement or + TForFieldPostIncrement or TForFieldPreDecrement or TForFieldPreIncrement; + + /** + * INTERNAL: Do not use. + */ + class TForExpressionAssign = + TForFieldAssign or TForFieldDecrementAssign or TForFieldIncrementAssign; + + /** + * INTERNAL: Do not use. + */ + class TFormNestedElement = TFormControl or TFormDataField or TFormDataSource; + + /** + * INTERNAL: Do not use. + */ + class TGenericEvaluation = + TFunctionCall or TNewClrCall or TQualifiedCall or TQualifiedStaticCall or TStaticMethodCall; + + /** + * INTERNAL: Do not use. + */ + class TGenericXppType = TClrType or TNamedType; + + /** + * INTERNAL: Do not use. + */ + class TInstanceName = TQualifiedInstanceName or TSimpleInstanceName; + + /** + * INTERNAL: Do not use. + */ + class TIsAsExpression = TAsClrExpression or TAsExpression or TIsClrExpression or TIsExpression; + + /** + * INTERNAL: Do not use. + */ + class TLiteralExpression = + TClrEnumerationLiteralExpression or TContainerLiteralExpression or + TDefaultTypeLiteralExpression or TEnumerationLiteralExpression or TNullLiteralExpression; + + /** + * INTERNAL: Do not use. + */ + class TLocalDeclaration = TFunctionDeclaration or TVariableDeclaration; + + /** + * INTERNAL: Do not use. + */ + class TLocatable = TAst or TComment or TErrorElement or TXppTuple; + + /** + * INTERNAL: Do not use. + */ + class TMethodOrDelegate = TDelegate or TMethod; + + /** + * INTERNAL: Do not use. + */ + class TModelElement = + TClassOrInterface or TFormModelElement or TFormNestedElement or TQueryModelElement or TTable; + + /** + * INTERNAL: Do not use. + */ + class TNamedType = TFormElementType; + + /** + * INTERNAL: Do not use. + */ + class TOrderElement = TGlobalOrderElement or TSimpleOrderElement; + + /** + * INTERNAL: Do not use. + */ + class TQualifier = TExpressionQualifier or TSimpleQualifier; + + /** + * INTERNAL: Do not use. + */ + class TRelationalExpression = + TEqualExpression or TGreaterThanExpression or TGreaterThanOrEqualExpression or + TLessThanExpression or TLessThanOrEqualExpression or TLikeExpression or TNotEqualExpression; + + /** + * INTERNAL: Do not use. + */ + class TSelection = TAllFieldsSelection or TExplicitSelection or TImplicitSelection; + + /** + * INTERNAL: Do not use. + */ + class TSelectionField = TAggregateSelection or TFieldSelection; + + /** + * INTERNAL: Do not use. + */ + class TSimpleQualifier = TStaticQualifier; + + /** + * INTERNAL: Do not use. + */ + class TStatement = + TAssignmentStatement or TBreakStatement or TBreakpointStatement or TChangeStatement or + TCompoundStatement or TContinueStatement or TDeleteStatement or TDoWhileStatement or + TEmptyStatement or TExpressionStatement or TFindStatement or TFlushStatement or + TForStatement or TIfStatement or TIfThenElseStatement or TInsertStatement or + TLocalDeclarationsStatement or TMoveCursorStatement or TPrintStatement or TRetryStatement or + TReturnStatement or TSearchStatement or TSwitchStatement or TThrowStatement or + TTryStatement or TTtsStatement or TUncheckedStatement or TUpdateStatement or + TUsingStatement or TWhileStatement; + + /** + * INTERNAL: Do not use. + */ + class TStringType = TStringLengthType; + + /** + * INTERNAL: Do not use. + */ + class TTableFieldReference = TNamedFieldReference or TNumberedFieldReference; + + /** + * INTERNAL: Do not use. + */ + class TTtsStatement = TTtsAbortStatement or TTtsBeginStatement or TTtsEndStatement; + + /** + * INTERNAL: Do not use. + */ + class TUnaryExpression = TNotExpression or TPhysicalNotExpression or TUnaryMinusExpression; + + /** + * INTERNAL: Do not use. + */ + class TValidTimeState = TValidTimeStateDate or TValidTimeStateRange; + + /** + * INTERNAL: Do not use. + */ + class TVariableDeclaration = TParameterDeclaration; + + /** + * INTERNAL: Do not use. + */ + class TXppTuple = + TAttributeNamedParameterEntry or TCompilationUnitRegionEntry or + TEvaluationActualParameterEntry or TModelElementUsingEntry or TSwitchStatementCaseEntry or + TTryStatementCatchEntry; + + /** + * INTERNAL: Do not use. + */ + class TXppType = + TAnyType or TBooleanType or TContainerType or TDateTimeType or TDateType or TDblType or + TEnumerationType or TGenericXppType or TGuidType or TInt64Type or TIntType or + TProvidedType or TStringType or TVarType or TVoidType; + + /** + * INTERNAL: Do not use. + * + * Gets the parent of synthetic element `e`. + */ + Raw::Element getSynthParent(TElement e) { none() } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAddExpression`, if possible. + */ + TAddExpression convertAddExpressionFromRaw(Raw::Element e) { result = TAddExpression(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAllFieldsSelection`, if possible. + */ + TAllFieldsSelection convertAllFieldsSelectionFromRaw(Raw::Element e) { + result = TAllFieldsSelection(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAndExpression`, if possible. + */ + TAndExpression convertAndExpressionFromRaw(Raw::Element e) { result = TAndExpression(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAnyType`, if possible. + */ + TAnyType convertAnyTypeFromRaw(Raw::Element e) { result = TAnyType(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TArraySpecification`, if possible. + */ + TArraySpecification convertArraySpecificationFromRaw(Raw::Element e) { + result = TArraySpecification(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAsClrExpression`, if possible. + */ + TAsClrExpression convertAsClrExpressionFromRaw(Raw::Element e) { result = TAsClrExpression(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAsExpression`, if possible. + */ + TAsExpression convertAsExpressionFromRaw(Raw::Element e) { result = TAsExpression(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAssignDecrementStatement`, if possible. + */ + TAssignDecrementStatement convertAssignDecrementStatementFromRaw(Raw::Element e) { + result = TAssignDecrementStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAssignDivideStatement`, if possible. + */ + TAssignDivideStatement convertAssignDivideStatementFromRaw(Raw::Element e) { + result = TAssignDivideStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAssignEqualStatement`, if possible. + */ + TAssignEqualStatement convertAssignEqualStatementFromRaw(Raw::Element e) { + result = TAssignEqualStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAssignIncrementStatement`, if possible. + */ + TAssignIncrementStatement convertAssignIncrementStatementFromRaw(Raw::Element e) { + result = TAssignIncrementStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAssignMultipleFieldStatement`, if possible. + */ + TAssignMultipleFieldStatement convertAssignMultipleFieldStatementFromRaw(Raw::Element e) { + result = TAssignMultipleFieldStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAssignMultiplyStatement`, if possible. + */ + TAssignMultiplyStatement convertAssignMultiplyStatementFromRaw(Raw::Element e) { + result = TAssignMultiplyStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAssignPostDecrementStatement`, if possible. + */ + TAssignPostDecrementStatement convertAssignPostDecrementStatementFromRaw(Raw::Element e) { + result = TAssignPostDecrementStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAssignPostIncrementStatement`, if possible. + */ + TAssignPostIncrementStatement convertAssignPostIncrementStatementFromRaw(Raw::Element e) { + result = TAssignPostIncrementStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAssignPreDecrementStatement`, if possible. + */ + TAssignPreDecrementStatement convertAssignPreDecrementStatementFromRaw(Raw::Element e) { + result = TAssignPreDecrementStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAssignPreIncrementStatement`, if possible. + */ + TAssignPreIncrementStatement convertAssignPreIncrementStatementFromRaw(Raw::Element e) { + result = TAssignPreIncrementStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAssignmentEventHandlerClr`, if possible. + */ + TAssignmentEventHandlerClr convertAssignmentEventHandlerClrFromRaw(Raw::Element e) { + result = TAssignmentEventHandlerClr(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAssignmentEventHandlerInstance`, if possible. + */ + TAssignmentEventHandlerInstance convertAssignmentEventHandlerInstanceFromRaw(Raw::Element e) { + result = TAssignmentEventHandlerInstance(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAttribute`, if possible. + */ + TAttribute convertAttributeFromRaw(Raw::Element e) { result = TAttribute(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAttributeExpression`, if possible. + */ + TAttributeExpression convertAttributeExpressionFromRaw(Raw::Element e) { + result = TAttributeExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAttributeList`, if possible. + */ + TAttributeList convertAttributeListFromRaw(Raw::Element e) { result = TAttributeList(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAttributeNamedParameterEntry`, if possible. + */ + TAttributeNamedParameterEntry convertAttributeNamedParameterEntryFromRaw(Raw::Element e) { + result = TAttributeNamedParameterEntry(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAvgAggregateSelection`, if possible. + */ + TAvgAggregateSelection convertAvgAggregateSelectionFromRaw(Raw::Element e) { + result = TAvgAggregateSelection(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TBooleanAttributeLiteral`, if possible. + */ + TBooleanAttributeLiteral convertBooleanAttributeLiteralFromRaw(Raw::Element e) { + result = TBooleanAttributeLiteral(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TBooleanLiteralExpression`, if possible. + */ + TBooleanLiteralExpression convertBooleanLiteralExpressionFromRaw(Raw::Element e) { + result = TBooleanLiteralExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TBooleanType`, if possible. + */ + TBooleanType convertBooleanTypeFromRaw(Raw::Element e) { result = TBooleanType(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TBreakStatement`, if possible. + */ + TBreakStatement convertBreakStatementFromRaw(Raw::Element e) { result = TBreakStatement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TBreakpointStatement`, if possible. + */ + TBreakpointStatement convertBreakpointStatementFromRaw(Raw::Element e) { + result = TBreakpointStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TCaseDefault`, if possible. + */ + TCaseDefault convertCaseDefaultFromRaw(Raw::Element e) { result = TCaseDefault(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TCaseValues`, if possible. + */ + TCaseValues convertCaseValuesFromRaw(Raw::Element e) { result = TCaseValues(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TCatchAllValues`, if possible. + */ + TCatchAllValues convertCatchAllValuesFromRaw(Raw::Element e) { result = TCatchAllValues(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TCatchExpression`, if possible. + */ + TCatchExpression convertCatchExpressionFromRaw(Raw::Element e) { result = TCatchExpression(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TCatchUpdateConflict`, if possible. + */ + TCatchUpdateConflict convertCatchUpdateConflictFromRaw(Raw::Element e) { + result = TCatchUpdateConflict(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TChangeCompanyStatement`, if possible. + */ + TChangeCompanyStatement convertChangeCompanyStatementFromRaw(Raw::Element e) { + result = TChangeCompanyStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TClass`, if possible. + */ + TClass convertClassFromRaw(Raw::Element e) { result = TClass(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TClassAccessModifier`, if possible. + */ + TClassAccessModifier convertClassAccessModifierFromRaw(Raw::Element e) { + result = TClassAccessModifier(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TClrEnumerationLiteralExpression`, if possible. + */ + TClrEnumerationLiteralExpression convertClrEnumerationLiteralExpressionFromRaw(Raw::Element e) { + result = TClrEnumerationLiteralExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TClrType`, if possible. + */ + TClrType convertClrTypeFromRaw(Raw::Element e) { result = TClrType(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TComment`, if possible. + */ + TComment convertCommentFromRaw(Raw::Element e) { result = TComment(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TCompilationUnitRegionEntry`, if possible. + */ + TCompilationUnitRegionEntry convertCompilationUnitRegionEntryFromRaw(Raw::Element e) { + result = TCompilationUnitRegionEntry(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TCompoundStatement`, if possible. + */ + TCompoundStatement convertCompoundStatementFromRaw(Raw::Element e) { + result = TCompoundStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TConditionalExpression`, if possible. + */ + TConditionalExpression convertConditionalExpressionFromRaw(Raw::Element e) { + result = TConditionalExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TContainerAttributeLiteral`, if possible. + */ + TContainerAttributeLiteral convertContainerAttributeLiteralFromRaw(Raw::Element e) { + result = TContainerAttributeLiteral(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TContainerLiteralExpression`, if possible. + */ + TContainerLiteralExpression convertContainerLiteralExpressionFromRaw(Raw::Element e) { + result = TContainerLiteralExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TContainerType`, if possible. + */ + TContainerType convertContainerTypeFromRaw(Raw::Element e) { result = TContainerType(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TContinueStatement`, if possible. + */ + TContinueStatement convertContinueStatementFromRaw(Raw::Element e) { + result = TContinueStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TCountAggregateSelection`, if possible. + */ + TCountAggregateSelection convertCountAggregateSelectionFromRaw(Raw::Element e) { + result = TCountAggregateSelection(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TCrossCompanyAll`, if possible. + */ + TCrossCompanyAll convertCrossCompanyAllFromRaw(Raw::Element e) { result = TCrossCompanyAll(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TCrossCompanyContainer`, if possible. + */ + TCrossCompanyContainer convertCrossCompanyContainerFromRaw(Raw::Element e) { + result = TCrossCompanyContainer(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TDateAttributeLiteral`, if possible. + */ + TDateAttributeLiteral convertDateAttributeLiteralFromRaw(Raw::Element e) { + result = TDateAttributeLiteral(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TDateLiteralExpression`, if possible. + */ + TDateLiteralExpression convertDateLiteralExpressionFromRaw(Raw::Element e) { + result = TDateLiteralExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TDateTimeAttributeLiteral`, if possible. + */ + TDateTimeAttributeLiteral convertDateTimeAttributeLiteralFromRaw(Raw::Element e) { + result = TDateTimeAttributeLiteral(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TDateTimeLiteralExpression`, if possible. + */ + TDateTimeLiteralExpression convertDateTimeLiteralExpressionFromRaw(Raw::Element e) { + result = TDateTimeLiteralExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TDateTimeType`, if possible. + */ + TDateTimeType convertDateTimeTypeFromRaw(Raw::Element e) { result = TDateTimeType(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TDateType`, if possible. + */ + TDateType convertDateTypeFromRaw(Raw::Element e) { result = TDateType(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TDblAttributeLiteral`, if possible. + */ + TDblAttributeLiteral convertDblAttributeLiteralFromRaw(Raw::Element e) { + result = TDblAttributeLiteral(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TDblType`, if possible. + */ + TDblType convertDblTypeFromRaw(Raw::Element e) { result = TDblType(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TDelegate`, if possible. + */ + TDelegate convertDelegateFromRaw(Raw::Element e) { result = TDelegate(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TDeleteStatement`, if possible. + */ + TDeleteStatement convertDeleteStatementFromRaw(Raw::Element e) { result = TDeleteStatement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TDivideExpression`, if possible. + */ + TDivideExpression convertDivideExpressionFromRaw(Raw::Element e) { result = TDivideExpression(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TDoWhileStatement`, if possible. + */ + TDoWhileStatement convertDoWhileStatementFromRaw(Raw::Element e) { result = TDoWhileStatement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TEmptyExpression`, if possible. + */ + TEmptyExpression convertEmptyExpressionFromRaw(Raw::Element e) { result = TEmptyExpression(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TEmptyStatement`, if possible. + */ + TEmptyStatement convertEmptyStatementFromRaw(Raw::Element e) { result = TEmptyStatement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TEnumAttributeLiteral`, if possible. + */ + TEnumAttributeLiteral convertEnumAttributeLiteralFromRaw(Raw::Element e) { + result = TEnumAttributeLiteral(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TEnumerationLiteralExpression`, if possible. + */ + TEnumerationLiteralExpression convertEnumerationLiteralExpressionFromRaw(Raw::Element e) { + result = TEnumerationLiteralExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TEnumerationType`, if possible. + */ + TEnumerationType convertEnumerationTypeFromRaw(Raw::Element e) { result = TEnumerationType(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TEqualExpression`, if possible. + */ + TEqualExpression convertEqualExpressionFromRaw(Raw::Element e) { result = TEqualExpression(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TEvaluationActualParameterEntry`, if possible. + */ + TEvaluationActualParameterEntry convertEvaluationActualParameterEntryFromRaw(Raw::Element e) { + result = TEvaluationActualParameterEntry(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TExplicitSelection`, if possible. + */ + TExplicitSelection convertExplicitSelectionFromRaw(Raw::Element e) { + result = TExplicitSelection(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TExpressionCompilationUnit`, if possible. + */ + TExpressionCompilationUnit convertExpressionCompilationUnitFromRaw(Raw::Element e) { + result = TExpressionCompilationUnit(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TExpressionQualifier`, if possible. + */ + TExpressionQualifier convertExpressionQualifierFromRaw(Raw::Element e) { + result = TExpressionQualifier(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TExpressionStatement`, if possible. + */ + TExpressionStatement convertExpressionStatementFromRaw(Raw::Element e) { + result = TExpressionStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TFieldAssignment`, if possible. + */ + TFieldAssignment convertFieldAssignmentFromRaw(Raw::Element e) { result = TFieldAssignment(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TFieldSelection`, if possible. + */ + TFieldSelection convertFieldSelectionFromRaw(Raw::Element e) { result = TFieldSelection(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TFile`, if possible. + */ + TFile convertFileFromRaw(Raw::Element e) { result = TFile(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TFindStatement`, if possible. + */ + TFindStatement convertFindStatementFromRaw(Raw::Element e) { result = TFindStatement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TFlushStatement`, if possible. + */ + TFlushStatement convertFlushStatementFromRaw(Raw::Element e) { result = TFlushStatement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TForDeclarationAssign`, if possible. + */ + TForDeclarationAssign convertForDeclarationAssignFromRaw(Raw::Element e) { + result = TForDeclarationAssign(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TForFieldAssign`, if possible. + */ + TForFieldAssign convertForFieldAssignFromRaw(Raw::Element e) { result = TForFieldAssign(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TForFieldDecrementAssign`, if possible. + */ + TForFieldDecrementAssign convertForFieldDecrementAssignFromRaw(Raw::Element e) { + result = TForFieldDecrementAssign(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TForFieldIncrementAssign`, if possible. + */ + TForFieldIncrementAssign convertForFieldIncrementAssignFromRaw(Raw::Element e) { + result = TForFieldIncrementAssign(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TForFieldPostDecrement`, if possible. + */ + TForFieldPostDecrement convertForFieldPostDecrementFromRaw(Raw::Element e) { + result = TForFieldPostDecrement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TForFieldPostIncrement`, if possible. + */ + TForFieldPostIncrement convertForFieldPostIncrementFromRaw(Raw::Element e) { + result = TForFieldPostIncrement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TForFieldPreDecrement`, if possible. + */ + TForFieldPreDecrement convertForFieldPreDecrementFromRaw(Raw::Element e) { + result = TForFieldPreDecrement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TForFieldPreIncrement`, if possible. + */ + TForFieldPreIncrement convertForFieldPreIncrementFromRaw(Raw::Element e) { + result = TForFieldPreIncrement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TForStatement`, if possible. + */ + TForStatement convertForStatementFromRaw(Raw::Element e) { result = TForStatement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TFormControl`, if possible. + */ + TFormControl convertFormControlFromRaw(Raw::Element e) { result = TFormControl(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TFormDataField`, if possible. + */ + TFormDataField convertFormDataFieldFromRaw(Raw::Element e) { result = TFormDataField(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TFormDataSource`, if possible. + */ + TFormDataSource convertFormDataSourceFromRaw(Raw::Element e) { result = TFormDataSource(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TFormElementType`, if possible. + */ + TFormElementType convertFormElementTypeFromRaw(Raw::Element e) { result = TFormElementType(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TFormModelElement`, if possible. + */ + TFormModelElement convertFormModelElementFromRaw(Raw::Element e) { result = TFormModelElement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TFunctionCall`, if possible. + */ + TFunctionCall convertFunctionCallFromRaw(Raw::Element e) { result = TFunctionCall(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TFunctionDeclaration`, if possible. + */ + TFunctionDeclaration convertFunctionDeclarationFromRaw(Raw::Element e) { + result = TFunctionDeclaration(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TGlobalOrderElement`, if possible. + */ + TGlobalOrderElement convertGlobalOrderElementFromRaw(Raw::Element e) { + result = TGlobalOrderElement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TGreaterThanExpression`, if possible. + */ + TGreaterThanExpression convertGreaterThanExpressionFromRaw(Raw::Element e) { + result = TGreaterThanExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TGreaterThanOrEqualExpression`, if possible. + */ + TGreaterThanOrEqualExpression convertGreaterThanOrEqualExpressionFromRaw(Raw::Element e) { + result = TGreaterThanOrEqualExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TGuidAttributeLiteral`, if possible. + */ + TGuidAttributeLiteral convertGuidAttributeLiteralFromRaw(Raw::Element e) { + result = TGuidAttributeLiteral(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TGuidType`, if possible. + */ + TGuidType convertGuidTypeFromRaw(Raw::Element e) { result = TGuidType(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TIfStatement`, if possible. + */ + TIfStatement convertIfStatementFromRaw(Raw::Element e) { result = TIfStatement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TIfThenElseStatement`, if possible. + */ + TIfThenElseStatement convertIfThenElseStatementFromRaw(Raw::Element e) { + result = TIfThenElseStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TImplicitSelection`, if possible. + */ + TImplicitSelection convertImplicitSelectionFromRaw(Raw::Element e) { + result = TImplicitSelection(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TInExpression`, if possible. + */ + TInExpression convertInExpressionFromRaw(Raw::Element e) { result = TInExpression(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TInsertFieldSpecification`, if possible. + */ + TInsertFieldSpecification convertInsertFieldSpecificationFromRaw(Raw::Element e) { + result = TInsertFieldSpecification(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TInsertStatement`, if possible. + */ + TInsertStatement convertInsertStatementFromRaw(Raw::Element e) { result = TInsertStatement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TInt64AttributeLiteral`, if possible. + */ + TInt64AttributeLiteral convertInt64AttributeLiteralFromRaw(Raw::Element e) { + result = TInt64AttributeLiteral(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TInt64LiteralExpression`, if possible. + */ + TInt64LiteralExpression convertInt64LiteralExpressionFromRaw(Raw::Element e) { + result = TInt64LiteralExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TInt64Type`, if possible. + */ + TInt64Type convertInt64TypeFromRaw(Raw::Element e) { result = TInt64Type(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TIntAttributeLiteral`, if possible. + */ + TIntAttributeLiteral convertIntAttributeLiteralFromRaw(Raw::Element e) { + result = TIntAttributeLiteral(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TIntLiteralExpression`, if possible. + */ + TIntLiteralExpression convertIntLiteralExpressionFromRaw(Raw::Element e) { + result = TIntLiteralExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TIntType`, if possible. + */ + TIntType convertIntTypeFromRaw(Raw::Element e) { result = TIntType(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TIntegerDivideExpression`, if possible. + */ + TIntegerDivideExpression convertIntegerDivideExpressionFromRaw(Raw::Element e) { + result = TIntegerDivideExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TInterface`, if possible. + */ + TInterface convertInterfaceFromRaw(Raw::Element e) { result = TInterface(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TIntrinsic`, if possible. + */ + TIntrinsic convertIntrinsicFromRaw(Raw::Element e) { result = TIntrinsic(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TIntrinsicAttributeLiteral`, if possible. + */ + TIntrinsicAttributeLiteral convertIntrinsicAttributeLiteralFromRaw(Raw::Element e) { + result = TIntrinsicAttributeLiteral(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TIsClrExpression`, if possible. + */ + TIsClrExpression convertIsClrExpressionFromRaw(Raw::Element e) { result = TIsClrExpression(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TIsExpression`, if possible. + */ + TIsExpression convertIsExpressionFromRaw(Raw::Element e) { result = TIsExpression(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TJoinSpecification`, if possible. + */ + TJoinSpecification convertJoinSpecificationFromRaw(Raw::Element e) { + result = TJoinSpecification(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TLessThanExpression`, if possible. + */ + TLessThanExpression convertLessThanExpressionFromRaw(Raw::Element e) { + result = TLessThanExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TLessThanOrEqualExpression`, if possible. + */ + TLessThanOrEqualExpression convertLessThanOrEqualExpressionFromRaw(Raw::Element e) { + result = TLessThanOrEqualExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TLikeExpression`, if possible. + */ + TLikeExpression convertLikeExpressionFromRaw(Raw::Element e) { result = TLikeExpression(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TLocalDeclarationsStatement`, if possible. + */ + TLocalDeclarationsStatement convertLocalDeclarationsStatementFromRaw(Raw::Element e) { + result = TLocalDeclarationsStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TLocation`, if possible. + */ + TLocation convertLocationFromRaw(Raw::Element e) { result = TLocation(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TMaxAggregateSelection`, if possible. + */ + TMaxAggregateSelection convertMaxAggregateSelectionFromRaw(Raw::Element e) { + result = TMaxAggregateSelection(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TMethod`, if possible. + */ + TMethod convertMethodFromRaw(Raw::Element e) { result = TMethod(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TMinAggregateSelection`, if possible. + */ + TMinAggregateSelection convertMinAggregateSelectionFromRaw(Raw::Element e) { + result = TMinAggregateSelection(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TModExpression`, if possible. + */ + TModExpression convertModExpressionFromRaw(Raw::Element e) { result = TModExpression(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TModelElementUsingEntry`, if possible. + */ + TModelElementUsingEntry convertModelElementUsingEntryFromRaw(Raw::Element e) { + result = TModelElementUsingEntry(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TModifier`, if possible. + */ + TModifier convertModifierFromRaw(Raw::Element e) { result = TModifier(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TMoveCursorStatement`, if possible. + */ + TMoveCursorStatement convertMoveCursorStatementFromRaw(Raw::Element e) { + result = TMoveCursorStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TMultiplyExpression`, if possible. + */ + TMultiplyExpression convertMultiplyExpressionFromRaw(Raw::Element e) { + result = TMultiplyExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TNamedFieldReference`, if possible. + */ + TNamedFieldReference convertNamedFieldReferenceFromRaw(Raw::Element e) { + result = TNamedFieldReference(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TNewCall`, if possible. + */ + TNewCall convertNewCallFromRaw(Raw::Element e) { result = TNewCall(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TNewClrArrayExpression`, if possible. + */ + TNewClrArrayExpression convertNewClrArrayExpressionFromRaw(Raw::Element e) { + result = TNewClrArrayExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TNewClrCall`, if possible. + */ + TNewClrCall convertNewClrCallFromRaw(Raw::Element e) { result = TNewClrCall(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TNextExpression`, if possible. + */ + TNextExpression convertNextExpressionFromRaw(Raw::Element e) { result = TNextExpression(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TNotEqualExpression`, if possible. + */ + TNotEqualExpression convertNotEqualExpressionFromRaw(Raw::Element e) { + result = TNotEqualExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TNotExpression`, if possible. + */ + TNotExpression convertNotExpressionFromRaw(Raw::Element e) { result = TNotExpression(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TNullLiteralExpression`, if possible. + */ + TNullLiteralExpression convertNullLiteralExpressionFromRaw(Raw::Element e) { + result = TNullLiteralExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TNumberedFieldReference`, if possible. + */ + TNumberedFieldReference convertNumberedFieldReferenceFromRaw(Raw::Element e) { + result = TNumberedFieldReference(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TOrExpression`, if possible. + */ + TOrExpression convertOrExpressionFromRaw(Raw::Element e) { result = TOrExpression(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TParameterDeclaration`, if possible. + */ + TParameterDeclaration convertParameterDeclarationFromRaw(Raw::Element e) { + result = TParameterDeclaration(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TPhysicalAndExpression`, if possible. + */ + TPhysicalAndExpression convertPhysicalAndExpressionFromRaw(Raw::Element e) { + result = TPhysicalAndExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TPhysicalNotExpression`, if possible. + */ + TPhysicalNotExpression convertPhysicalNotExpressionFromRaw(Raw::Element e) { + result = TPhysicalNotExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TPhysicalOrExpression`, if possible. + */ + TPhysicalOrExpression convertPhysicalOrExpressionFromRaw(Raw::Element e) { + result = TPhysicalOrExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TPhysicalXorExpression`, if possible. + */ + TPhysicalXorExpression convertPhysicalXorExpressionFromRaw(Raw::Element e) { + result = TPhysicalXorExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TPlaceholder`, if possible. + */ + TPlaceholder convertPlaceholderFromRaw(Raw::Element e) { result = TPlaceholder(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TPrintStatement`, if possible. + */ + TPrintStatement convertPrintStatementFromRaw(Raw::Element e) { result = TPrintStatement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TProvidedType`, if possible. + */ + TProvidedType convertProvidedTypeFromRaw(Raw::Element e) { result = TProvidedType(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TProvidedTypeStaticCall`, if possible. + */ + TProvidedTypeStaticCall convertProvidedTypeStaticCallFromRaw(Raw::Element e) { + result = TProvidedTypeStaticCall(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TQualifiedCall`, if possible. + */ + TQualifiedCall convertQualifiedCallFromRaw(Raw::Element e) { result = TQualifiedCall(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TQualifiedField`, if possible. + */ + TQualifiedField convertQualifiedFieldFromRaw(Raw::Element e) { result = TQualifiedField(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TQualifiedInstanceName`, if possible. + */ + TQualifiedInstanceName convertQualifiedInstanceNameFromRaw(Raw::Element e) { + result = TQualifiedInstanceName(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TQualifiedNumberedField`, if possible. + */ + TQualifiedNumberedField convertQualifiedNumberedFieldFromRaw(Raw::Element e) { + result = TQualifiedNumberedField(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TQualifiedStaticCall`, if possible. + */ + TQualifiedStaticCall convertQualifiedStaticCallFromRaw(Raw::Element e) { + result = TQualifiedStaticCall(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TQualifiedStaticField`, if possible. + */ + TQualifiedStaticField convertQualifiedStaticFieldFromRaw(Raw::Element e) { + result = TQualifiedStaticField(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TQualifiedStaticFieldExpression`, if possible. + */ + TQualifiedStaticFieldExpression convertQualifiedStaticFieldExpressionFromRaw(Raw::Element e) { + result = TQualifiedStaticFieldExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TQuery`, if possible. + */ + TQuery convertQueryFromRaw(Raw::Element e) { result = TQuery(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TQueryDataSource`, if possible. + */ + TQueryDataSource convertQueryDataSourceFromRaw(Raw::Element e) { result = TQueryDataSource(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TQueryDataSourceHaving`, if possible. + */ + TQueryDataSourceHaving convertQueryDataSourceHavingFromRaw(Raw::Element e) { + result = TQueryDataSourceHaving(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TQueryDataSourceRange`, if possible. + */ + TQueryDataSourceRange convertQueryDataSourceRangeFromRaw(Raw::Element e) { + result = TQueryDataSourceRange(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TQueryDataSourceRelation`, if possible. + */ + TQueryDataSourceRelation convertQueryDataSourceRelationFromRaw(Raw::Element e) { + result = TQueryDataSourceRelation(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TQueryModelElement`, if possible. + */ + TQueryModelElement convertQueryModelElementFromRaw(Raw::Element e) { + result = TQueryModelElement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TRealLiteralExpression`, if possible. + */ + TRealLiteralExpression convertRealLiteralExpressionFromRaw(Raw::Element e) { + result = TRealLiteralExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TRetryStatement`, if possible. + */ + TRetryStatement convertRetryStatementFromRaw(Raw::Element e) { result = TRetryStatement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TReturnStatement`, if possible. + */ + TReturnStatement convertReturnStatementFromRaw(Raw::Element e) { result = TReturnStatement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TSearchStatement`, if possible. + */ + TSearchStatement convertSearchStatementFromRaw(Raw::Element e) { result = TSearchStatement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TShiftLeftExpression`, if possible. + */ + TShiftLeftExpression convertShiftLeftExpressionFromRaw(Raw::Element e) { + result = TShiftLeftExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TShiftRightExpression`, if possible. + */ + TShiftRightExpression convertShiftRightExpressionFromRaw(Raw::Element e) { + result = TShiftRightExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TSimpleField`, if possible. + */ + TSimpleField convertSimpleFieldFromRaw(Raw::Element e) { result = TSimpleField(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TSimpleInstanceName`, if possible. + */ + TSimpleInstanceName convertSimpleInstanceNameFromRaw(Raw::Element e) { + result = TSimpleInstanceName(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TSimpleOrderElement`, if possible. + */ + TSimpleOrderElement convertSimpleOrderElementFromRaw(Raw::Element e) { + result = TSimpleOrderElement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TStaticField`, if possible. + */ + TStaticField convertStaticFieldFromRaw(Raw::Element e) { result = TStaticField(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TStaticMethodCall`, if possible. + */ + TStaticMethodCall convertStaticMethodCallFromRaw(Raw::Element e) { result = TStaticMethodCall(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TStaticQualifier`, if possible. + */ + TStaticQualifier convertStaticQualifierFromRaw(Raw::Element e) { result = TStaticQualifier(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TStringAttributeLiteral`, if possible. + */ + TStringAttributeLiteral convertStringAttributeLiteralFromRaw(Raw::Element e) { + result = TStringAttributeLiteral(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TStringLengthType`, if possible. + */ + TStringLengthType convertStringLengthTypeFromRaw(Raw::Element e) { result = TStringLengthType(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TStringLiteralExpression`, if possible. + */ + TStringLiteralExpression convertStringLiteralExpressionFromRaw(Raw::Element e) { + result = TStringLiteralExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TSubtractExpression`, if possible. + */ + TSubtractExpression convertSubtractExpressionFromRaw(Raw::Element e) { + result = TSubtractExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TSumAggregateSelection`, if possible. + */ + TSumAggregateSelection convertSumAggregateSelectionFromRaw(Raw::Element e) { + result = TSumAggregateSelection(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TSuperCall`, if possible. + */ + TSuperCall convertSuperCallFromRaw(Raw::Element e) { result = TSuperCall(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TSwitchCase`, if possible. + */ + TSwitchCase convertSwitchCaseFromRaw(Raw::Element e) { result = TSwitchCase(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TSwitchStatement`, if possible. + */ + TSwitchStatement convertSwitchStatementFromRaw(Raw::Element e) { result = TSwitchStatement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TSwitchStatementCaseEntry`, if possible. + */ + TSwitchStatementCaseEntry convertSwitchStatementCaseEntryFromRaw(Raw::Element e) { + result = TSwitchStatementCaseEntry(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TTable`, if possible. + */ + TTable convertTableFromRaw(Raw::Element e) { result = TTable(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TTableFieldDeclaration`, if possible. + */ + TTableFieldDeclaration convertTableFieldDeclarationFromRaw(Raw::Element e) { + result = TTableFieldDeclaration(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TTableLookupExpression`, if possible. + */ + TTableLookupExpression convertTableLookupExpressionFromRaw(Raw::Element e) { + result = TTableLookupExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TThrowStatement`, if possible. + */ + TThrowStatement convertThrowStatementFromRaw(Raw::Element e) { result = TThrowStatement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TTryStatement`, if possible. + */ + TTryStatement convertTryStatementFromRaw(Raw::Element e) { result = TTryStatement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TTryStatementCatchEntry`, if possible. + */ + TTryStatementCatchEntry convertTryStatementCatchEntryFromRaw(Raw::Element e) { + result = TTryStatementCatchEntry(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TTtsAbortStatement`, if possible. + */ + TTtsAbortStatement convertTtsAbortStatementFromRaw(Raw::Element e) { + result = TTtsAbortStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TTtsBeginStatement`, if possible. + */ + TTtsBeginStatement convertTtsBeginStatementFromRaw(Raw::Element e) { + result = TTtsBeginStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TTtsEndStatement`, if possible. + */ + TTtsEndStatement convertTtsEndStatementFromRaw(Raw::Element e) { result = TTtsEndStatement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TUnaryMinusExpression`, if possible. + */ + TUnaryMinusExpression convertUnaryMinusExpressionFromRaw(Raw::Element e) { + result = TUnaryMinusExpression(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TUncheckedStatement`, if possible. + */ + TUncheckedStatement convertUncheckedStatementFromRaw(Raw::Element e) { + result = TUncheckedStatement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TUnspecifiedElement`, if possible. + */ + TUnspecifiedElement convertUnspecifiedElementFromRaw(Raw::Element e) { + result = TUnspecifiedElement(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TUpdateStatement`, if possible. + */ + TUpdateStatement convertUpdateStatementFromRaw(Raw::Element e) { result = TUpdateStatement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TUsingStatement`, if possible. + */ + TUsingStatement convertUsingStatementFromRaw(Raw::Element e) { result = TUsingStatement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TValidTimeStateDate`, if possible. + */ + TValidTimeStateDate convertValidTimeStateDateFromRaw(Raw::Element e) { + result = TValidTimeStateDate(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TValidTimeStateRange`, if possible. + */ + TValidTimeStateRange convertValidTimeStateRangeFromRaw(Raw::Element e) { + result = TValidTimeStateRange(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TVarType`, if possible. + */ + TVarType convertVarTypeFromRaw(Raw::Element e) { result = TVarType(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TVoidType`, if possible. + */ + TVoidType convertVoidTypeFromRaw(Raw::Element e) { result = TVoidType(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TWhileStatement`, if possible. + */ + TWhileStatement convertWhileStatementFromRaw(Raw::Element e) { result = TWhileStatement(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TXppTypeCompilationUnit`, if possible. + */ + TXppTypeCompilationUnit convertXppTypeCompilationUnitFromRaw(Raw::Element e) { + result = TXppTypeCompilationUnit(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TAggregateSelection`, if possible. + */ + TAggregateSelection convertAggregateSelectionFromRaw(Raw::Element e) { + result = convertAvgAggregateSelectionFromRaw(e) + or + result = convertCountAggregateSelectionFromRaw(e) + or + result = convertMaxAggregateSelectionFromRaw(e) + or + result = convertMinAggregateSelectionFromRaw(e) + or + result = convertSumAggregateSelectionFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TAssignmentBinary`, if possible. + */ + TAssignmentBinary convertAssignmentBinaryFromRaw(Raw::Element e) { + result = convertAssignDecrementStatementFromRaw(e) + or + result = convertAssignDivideStatementFromRaw(e) + or + result = convertAssignEqualStatementFromRaw(e) + or + result = convertAssignIncrementStatementFromRaw(e) + or + result = convertAssignMultiplyStatementFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TAssignmentEventHandlerBase`, if possible. + */ + TAssignmentEventHandlerBase convertAssignmentEventHandlerBaseFromRaw(Raw::Element e) { + result = convertAssignmentEventHandlerInstanceFromRaw(e) + or + result = convertAssignmentEventHandlerStaticFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TAssignmentEventHandlerStatic`, if possible. + */ + TAssignmentEventHandlerStatic convertAssignmentEventHandlerStaticFromRaw(Raw::Element e) { + result = convertAssignmentEventHandlerClrFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TAssignmentSingleField`, if possible. + */ + TAssignmentSingleField convertAssignmentSingleFieldFromRaw(Raw::Element e) { + result = convertAssignPostDecrementStatementFromRaw(e) + or + result = convertAssignPostIncrementStatementFromRaw(e) + or + result = convertAssignPreDecrementStatementFromRaw(e) + or + result = convertAssignPreIncrementStatementFromRaw(e) + or + result = convertAssignmentBinaryFromRaw(e) + or + result = convertAssignmentEventHandlerBaseFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TAssignmentStatement`, if possible. + */ + TAssignmentStatement convertAssignmentStatementFromRaw(Raw::Element e) { + result = convertAssignMultipleFieldStatementFromRaw(e) + or + result = convertAssignmentSingleFieldFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TAst`, if possible. + */ + TAst convertAstFromRaw(Raw::Element e) { + result = convertArraySpecificationFromRaw(e) + or + result = convertAttributeFromRaw(e) + or + result = convertAttributeExpressionFromRaw(e) + or + result = convertAttributeListFromRaw(e) + or + result = convertAttributeLiteralFromRaw(e) + or + result = convertCaseFromRaw(e) + or + result = convertCatchFromRaw(e) + or + result = convertClassAccessModifierFromRaw(e) + or + result = convertCompilationUnitFromRaw(e) + or + result = convertCrossCompanyFromRaw(e) + or + result = convertExpressionFromRaw(e) + or + result = convertFieldAssignmentFromRaw(e) + or + result = convertFieldSpecificationFromRaw(e) + or + result = convertForAssignFromRaw(e) + or + result = convertInsertFieldSpecificationFromRaw(e) + or + result = convertInstanceNameFromRaw(e) + or + result = convertJoinSpecificationFromRaw(e) + or + result = convertModifierFromRaw(e) + or + result = convertOrderElementFromRaw(e) + or + result = convertQualifierFromRaw(e) + or + result = convertQueryFromRaw(e) + or + result = convertQueryDataSourceFromRaw(e) + or + result = convertQueryDataSourceHavingFromRaw(e) + or + result = convertQueryDataSourceRangeFromRaw(e) + or + result = convertQueryDataSourceRelationFromRaw(e) + or + result = convertSelectionFromRaw(e) + or + result = convertSelectionFieldFromRaw(e) + or + result = convertStatementFromRaw(e) + or + result = convertSwitchCaseFromRaw(e) + or + result = convertTableFieldReferenceFromRaw(e) + or + result = convertValidTimeStateFromRaw(e) + or + result = convertXppTypeFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TAttributeLiteral`, if possible. + */ + TAttributeLiteral convertAttributeLiteralFromRaw(Raw::Element e) { + result = convertContainerAttributeLiteralFromRaw(e) + or + result = convertDefaultTypeAttributeLiteralFromRaw(e) + or + result = convertEnumAttributeLiteralFromRaw(e) + or + result = convertIntrinsicAttributeLiteralFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TBinaryExpression`, if possible. + */ + TBinaryExpression convertBinaryExpressionFromRaw(Raw::Element e) { + result = convertAddExpressionFromRaw(e) + or + result = convertAndExpressionFromRaw(e) + or + result = convertDivideExpressionFromRaw(e) + or + result = convertInExpressionFromRaw(e) + or + result = convertIntegerDivideExpressionFromRaw(e) + or + result = convertModExpressionFromRaw(e) + or + result = convertMultiplyExpressionFromRaw(e) + or + result = convertOrExpressionFromRaw(e) + or + result = convertPhysicalAndExpressionFromRaw(e) + or + result = convertPhysicalOrExpressionFromRaw(e) + or + result = convertPhysicalXorExpressionFromRaw(e) + or + result = convertRelationalExpressionFromRaw(e) + or + result = convertShiftLeftExpressionFromRaw(e) + or + result = convertShiftRightExpressionFromRaw(e) + or + result = convertSubtractExpressionFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TCase`, if possible. + */ + TCase convertCaseFromRaw(Raw::Element e) { + result = convertCaseDefaultFromRaw(e) + or + result = convertCaseValuesFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TCatch`, if possible. + */ + TCatch convertCatchFromRaw(Raw::Element e) { + result = convertCatchAllValuesFromRaw(e) + or + result = convertCatchExpressionFromRaw(e) + or + result = convertCatchUpdateConflictFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TChangeStatement`, if possible. + */ + TChangeStatement convertChangeStatementFromRaw(Raw::Element e) { + result = convertChangeCompanyStatementFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TClassOrInterface`, if possible. + */ + TClassOrInterface convertClassOrInterfaceFromRaw(Raw::Element e) { + result = convertClassFromRaw(e) + or + result = convertInterfaceFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TCompilationUnit`, if possible. + */ + TCompilationUnit convertCompilationUnitFromRaw(Raw::Element e) { + result = convertDeclarationFromRaw(e) + or + result = convertExpressionCompilationUnitFromRaw(e) + or + result = convertMethodOrDelegateFromRaw(e) + or + result = convertModelElementFromRaw(e) + or + result = convertXppTypeCompilationUnitFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TCrossCompany`, if possible. + */ + TCrossCompany convertCrossCompanyFromRaw(Raw::Element e) { + result = convertCrossCompanyAllFromRaw(e) + or + result = convertCrossCompanyContainerFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TDeclaration`, if possible. + */ + TDeclaration convertDeclarationFromRaw(Raw::Element e) { + result = convertFieldDeclarationFromRaw(e) + or + result = convertLocalDeclarationFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TDefaultTypeAttributeLiteral`, if possible. + */ + TDefaultTypeAttributeLiteral convertDefaultTypeAttributeLiteralFromRaw(Raw::Element e) { + result = convertBooleanAttributeLiteralFromRaw(e) + or + result = convertDateAttributeLiteralFromRaw(e) + or + result = convertDateTimeAttributeLiteralFromRaw(e) + or + result = convertDblAttributeLiteralFromRaw(e) + or + result = convertGuidAttributeLiteralFromRaw(e) + or + result = convertInt64AttributeLiteralFromRaw(e) + or + result = convertIntAttributeLiteralFromRaw(e) + or + result = convertStringAttributeLiteralFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TDefaultTypeLiteralExpression`, if possible. + */ + TDefaultTypeLiteralExpression convertDefaultTypeLiteralExpressionFromRaw(Raw::Element e) { + result = convertBooleanLiteralExpressionFromRaw(e) + or + result = convertDateLiteralExpressionFromRaw(e) + or + result = convertDateTimeLiteralExpressionFromRaw(e) + or + result = convertInt64LiteralExpressionFromRaw(e) + or + result = convertIntLiteralExpressionFromRaw(e) + or + result = convertRealLiteralExpressionFromRaw(e) + or + result = convertStringLiteralExpressionFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TElement`, if possible. + */ + TElement convertElementFromRaw(Raw::Element e) { + result = convertFileFromRaw(e) + or + result = convertLocatableFromRaw(e) + or + result = convertLocationFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TErrorElement`, if possible. + */ + TErrorElement convertErrorElementFromRaw(Raw::Element e) { + result = convertUnspecifiedElementFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TEvaluation`, if possible. + */ + TEvaluation convertEvaluationFromRaw(Raw::Element e) { + result = convertGenericEvaluationFromRaw(e) + or + result = convertNewCallFromRaw(e) + or + result = convertNextExpressionFromRaw(e) + or + result = convertProvidedTypeStaticCallFromRaw(e) + or + result = convertSuperCallFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TExpression`, if possible. + */ + TExpression convertExpressionFromRaw(Raw::Element e) { + result = convertBinaryExpressionFromRaw(e) + or + result = convertConditionalExpressionFromRaw(e) + or + result = convertEmptyExpressionFromRaw(e) + or + result = convertEvaluationFromRaw(e) + or + result = convertFieldExpressionFromRaw(e) + or + result = convertIntrinsicFromRaw(e) + or + result = convertIsAsExpressionFromRaw(e) + or + result = convertLiteralExpressionFromRaw(e) + or + result = convertNewClrArrayExpressionFromRaw(e) + or + result = convertPlaceholderFromRaw(e) + or + result = convertTableLookupExpressionFromRaw(e) + or + result = convertUnaryExpressionFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TFieldDeclaration`, if possible. + */ + TFieldDeclaration convertFieldDeclarationFromRaw(Raw::Element e) { + result = convertTableFieldDeclarationFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TFieldExpression`, if possible. + */ + TFieldExpression convertFieldExpressionFromRaw(Raw::Element e) { + result = convertQualifiedStaticFieldExpressionFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TFieldSpecification`, if possible. + */ + TFieldSpecification convertFieldSpecificationFromRaw(Raw::Element e) { + result = convertQualifiedFieldFromRaw(e) + or + result = convertQualifiedNumberedFieldFromRaw(e) + or + result = convertQualifiedStaticFieldFromRaw(e) + or + result = convertSimpleFieldFromRaw(e) + or + result = convertStaticFieldFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TForAssign`, if possible. + */ + TForAssign convertForAssignFromRaw(Raw::Element e) { + result = convertForDeclarationAssignFromRaw(e) + or + result = convertForExpressionAssignFromRaw(e) + or + result = convertForFieldPostDecrementFromRaw(e) + or + result = convertForFieldPostIncrementFromRaw(e) + or + result = convertForFieldPreDecrementFromRaw(e) + or + result = convertForFieldPreIncrementFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TForExpressionAssign`, if possible. + */ + TForExpressionAssign convertForExpressionAssignFromRaw(Raw::Element e) { + result = convertForFieldAssignFromRaw(e) + or + result = convertForFieldDecrementAssignFromRaw(e) + or + result = convertForFieldIncrementAssignFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TFormNestedElement`, if possible. + */ + TFormNestedElement convertFormNestedElementFromRaw(Raw::Element e) { + result = convertFormControlFromRaw(e) + or + result = convertFormDataFieldFromRaw(e) + or + result = convertFormDataSourceFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TGenericEvaluation`, if possible. + */ + TGenericEvaluation convertGenericEvaluationFromRaw(Raw::Element e) { + result = convertFunctionCallFromRaw(e) + or + result = convertNewClrCallFromRaw(e) + or + result = convertQualifiedCallFromRaw(e) + or + result = convertQualifiedStaticCallFromRaw(e) + or + result = convertStaticMethodCallFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TGenericXppType`, if possible. + */ + TGenericXppType convertGenericXppTypeFromRaw(Raw::Element e) { + result = convertClrTypeFromRaw(e) + or + result = convertNamedTypeFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TInstanceName`, if possible. + */ + TInstanceName convertInstanceNameFromRaw(Raw::Element e) { + result = convertQualifiedInstanceNameFromRaw(e) + or + result = convertSimpleInstanceNameFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TIsAsExpression`, if possible. + */ + TIsAsExpression convertIsAsExpressionFromRaw(Raw::Element e) { + result = convertAsClrExpressionFromRaw(e) + or + result = convertAsExpressionFromRaw(e) + or + result = convertIsClrExpressionFromRaw(e) + or + result = convertIsExpressionFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TLiteralExpression`, if possible. + */ + TLiteralExpression convertLiteralExpressionFromRaw(Raw::Element e) { + result = convertClrEnumerationLiteralExpressionFromRaw(e) + or + result = convertContainerLiteralExpressionFromRaw(e) + or + result = convertDefaultTypeLiteralExpressionFromRaw(e) + or + result = convertEnumerationLiteralExpressionFromRaw(e) + or + result = convertNullLiteralExpressionFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TLocalDeclaration`, if possible. + */ + TLocalDeclaration convertLocalDeclarationFromRaw(Raw::Element e) { + result = convertFunctionDeclarationFromRaw(e) + or + result = convertVariableDeclarationFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TLocatable`, if possible. + */ + TLocatable convertLocatableFromRaw(Raw::Element e) { + result = convertAstFromRaw(e) + or + result = convertCommentFromRaw(e) + or + result = convertErrorElementFromRaw(e) + or + result = convertXppTupleFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TMethodOrDelegate`, if possible. + */ + TMethodOrDelegate convertMethodOrDelegateFromRaw(Raw::Element e) { + result = convertDelegateFromRaw(e) + or + result = convertMethodFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TModelElement`, if possible. + */ + TModelElement convertModelElementFromRaw(Raw::Element e) { + result = convertClassOrInterfaceFromRaw(e) + or + result = convertFormModelElementFromRaw(e) + or + result = convertFormNestedElementFromRaw(e) + or + result = convertQueryModelElementFromRaw(e) + or + result = convertTableFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TNamedType`, if possible. + */ + TNamedType convertNamedTypeFromRaw(Raw::Element e) { result = convertFormElementTypeFromRaw(e) } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TOrderElement`, if possible. + */ + TOrderElement convertOrderElementFromRaw(Raw::Element e) { + result = convertGlobalOrderElementFromRaw(e) + or + result = convertSimpleOrderElementFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TQualifier`, if possible. + */ + TQualifier convertQualifierFromRaw(Raw::Element e) { + result = convertExpressionQualifierFromRaw(e) + or + result = convertSimpleQualifierFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TRelationalExpression`, if possible. + */ + TRelationalExpression convertRelationalExpressionFromRaw(Raw::Element e) { + result = convertEqualExpressionFromRaw(e) + or + result = convertGreaterThanExpressionFromRaw(e) + or + result = convertGreaterThanOrEqualExpressionFromRaw(e) + or + result = convertLessThanExpressionFromRaw(e) + or + result = convertLessThanOrEqualExpressionFromRaw(e) + or + result = convertLikeExpressionFromRaw(e) + or + result = convertNotEqualExpressionFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TSelection`, if possible. + */ + TSelection convertSelectionFromRaw(Raw::Element e) { + result = convertAllFieldsSelectionFromRaw(e) + or + result = convertExplicitSelectionFromRaw(e) + or + result = convertImplicitSelectionFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TSelectionField`, if possible. + */ + TSelectionField convertSelectionFieldFromRaw(Raw::Element e) { + result = convertAggregateSelectionFromRaw(e) + or + result = convertFieldSelectionFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TSimpleQualifier`, if possible. + */ + TSimpleQualifier convertSimpleQualifierFromRaw(Raw::Element e) { + result = convertStaticQualifierFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TStatement`, if possible. + */ + TStatement convertStatementFromRaw(Raw::Element e) { + result = convertAssignmentStatementFromRaw(e) + or + result = convertBreakStatementFromRaw(e) + or + result = convertBreakpointStatementFromRaw(e) + or + result = convertChangeStatementFromRaw(e) + or + result = convertCompoundStatementFromRaw(e) + or + result = convertContinueStatementFromRaw(e) + or + result = convertDeleteStatementFromRaw(e) + or + result = convertDoWhileStatementFromRaw(e) + or + result = convertEmptyStatementFromRaw(e) + or + result = convertExpressionStatementFromRaw(e) + or + result = convertFindStatementFromRaw(e) + or + result = convertFlushStatementFromRaw(e) + or + result = convertForStatementFromRaw(e) + or + result = convertIfStatementFromRaw(e) + or + result = convertIfThenElseStatementFromRaw(e) + or + result = convertInsertStatementFromRaw(e) + or + result = convertLocalDeclarationsStatementFromRaw(e) + or + result = convertMoveCursorStatementFromRaw(e) + or + result = convertPrintStatementFromRaw(e) + or + result = convertRetryStatementFromRaw(e) + or + result = convertReturnStatementFromRaw(e) + or + result = convertSearchStatementFromRaw(e) + or + result = convertSwitchStatementFromRaw(e) + or + result = convertThrowStatementFromRaw(e) + or + result = convertTryStatementFromRaw(e) + or + result = convertTtsStatementFromRaw(e) + or + result = convertUncheckedStatementFromRaw(e) + or + result = convertUpdateStatementFromRaw(e) + or + result = convertUsingStatementFromRaw(e) + or + result = convertWhileStatementFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TStringType`, if possible. + */ + TStringType convertStringTypeFromRaw(Raw::Element e) { + result = convertStringLengthTypeFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TTableFieldReference`, if possible. + */ + TTableFieldReference convertTableFieldReferenceFromRaw(Raw::Element e) { + result = convertNamedFieldReferenceFromRaw(e) + or + result = convertNumberedFieldReferenceFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TTtsStatement`, if possible. + */ + TTtsStatement convertTtsStatementFromRaw(Raw::Element e) { + result = convertTtsAbortStatementFromRaw(e) + or + result = convertTtsBeginStatementFromRaw(e) + or + result = convertTtsEndStatementFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TUnaryExpression`, if possible. + */ + TUnaryExpression convertUnaryExpressionFromRaw(Raw::Element e) { + result = convertNotExpressionFromRaw(e) + or + result = convertPhysicalNotExpressionFromRaw(e) + or + result = convertUnaryMinusExpressionFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TValidTimeState`, if possible. + */ + TValidTimeState convertValidTimeStateFromRaw(Raw::Element e) { + result = convertValidTimeStateDateFromRaw(e) + or + result = convertValidTimeStateRangeFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TVariableDeclaration`, if possible. + */ + TVariableDeclaration convertVariableDeclarationFromRaw(Raw::Element e) { + result = convertParameterDeclarationFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TXppTuple`, if possible. + */ + TXppTuple convertXppTupleFromRaw(Raw::Element e) { + result = convertAttributeNamedParameterEntryFromRaw(e) + or + result = convertCompilationUnitRegionEntryFromRaw(e) + or + result = convertEvaluationActualParameterEntryFromRaw(e) + or + result = convertModelElementUsingEntryFromRaw(e) + or + result = convertSwitchStatementCaseEntryFromRaw(e) + or + result = convertTryStatementCatchEntryFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TXppType`, if possible. + */ + TXppType convertXppTypeFromRaw(Raw::Element e) { + result = convertAnyTypeFromRaw(e) + or + result = convertBooleanTypeFromRaw(e) + or + result = convertContainerTypeFromRaw(e) + or + result = convertDateTimeTypeFromRaw(e) + or + result = convertDateTypeFromRaw(e) + or + result = convertDblTypeFromRaw(e) + or + result = convertEnumerationTypeFromRaw(e) + or + result = convertGenericXppTypeFromRaw(e) + or + result = convertGuidTypeFromRaw(e) + or + result = convertInt64TypeFromRaw(e) + or + result = convertIntTypeFromRaw(e) + or + result = convertProvidedTypeFromRaw(e) + or + result = convertStringTypeFromRaw(e) + or + result = convertVarTypeFromRaw(e) + or + result = convertVoidTypeFromRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAddExpression` to a raw DB element, if possible. + */ + Raw::Element convertAddExpressionToRaw(TAddExpression e) { e = TAddExpression(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAllFieldsSelection` to a raw DB element, if possible. + */ + Raw::Element convertAllFieldsSelectionToRaw(TAllFieldsSelection e) { + e = TAllFieldsSelection(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAndExpression` to a raw DB element, if possible. + */ + Raw::Element convertAndExpressionToRaw(TAndExpression e) { e = TAndExpression(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAnyType` to a raw DB element, if possible. + */ + Raw::Element convertAnyTypeToRaw(TAnyType e) { e = TAnyType(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TArraySpecification` to a raw DB element, if possible. + */ + Raw::Element convertArraySpecificationToRaw(TArraySpecification e) { + e = TArraySpecification(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAsClrExpression` to a raw DB element, if possible. + */ + Raw::Element convertAsClrExpressionToRaw(TAsClrExpression e) { e = TAsClrExpression(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAsExpression` to a raw DB element, if possible. + */ + Raw::Element convertAsExpressionToRaw(TAsExpression e) { e = TAsExpression(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAssignDecrementStatement` to a raw DB element, if possible. + */ + Raw::Element convertAssignDecrementStatementToRaw(TAssignDecrementStatement e) { + e = TAssignDecrementStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAssignDivideStatement` to a raw DB element, if possible. + */ + Raw::Element convertAssignDivideStatementToRaw(TAssignDivideStatement e) { + e = TAssignDivideStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAssignEqualStatement` to a raw DB element, if possible. + */ + Raw::Element convertAssignEqualStatementToRaw(TAssignEqualStatement e) { + e = TAssignEqualStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAssignIncrementStatement` to a raw DB element, if possible. + */ + Raw::Element convertAssignIncrementStatementToRaw(TAssignIncrementStatement e) { + e = TAssignIncrementStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAssignMultipleFieldStatement` to a raw DB element, if possible. + */ + Raw::Element convertAssignMultipleFieldStatementToRaw(TAssignMultipleFieldStatement e) { + e = TAssignMultipleFieldStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAssignMultiplyStatement` to a raw DB element, if possible. + */ + Raw::Element convertAssignMultiplyStatementToRaw(TAssignMultiplyStatement e) { + e = TAssignMultiplyStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAssignPostDecrementStatement` to a raw DB element, if possible. + */ + Raw::Element convertAssignPostDecrementStatementToRaw(TAssignPostDecrementStatement e) { + e = TAssignPostDecrementStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAssignPostIncrementStatement` to a raw DB element, if possible. + */ + Raw::Element convertAssignPostIncrementStatementToRaw(TAssignPostIncrementStatement e) { + e = TAssignPostIncrementStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAssignPreDecrementStatement` to a raw DB element, if possible. + */ + Raw::Element convertAssignPreDecrementStatementToRaw(TAssignPreDecrementStatement e) { + e = TAssignPreDecrementStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAssignPreIncrementStatement` to a raw DB element, if possible. + */ + Raw::Element convertAssignPreIncrementStatementToRaw(TAssignPreIncrementStatement e) { + e = TAssignPreIncrementStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAssignmentEventHandlerClr` to a raw DB element, if possible. + */ + Raw::Element convertAssignmentEventHandlerClrToRaw(TAssignmentEventHandlerClr e) { + e = TAssignmentEventHandlerClr(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAssignmentEventHandlerInstance` to a raw DB element, if possible. + */ + Raw::Element convertAssignmentEventHandlerInstanceToRaw(TAssignmentEventHandlerInstance e) { + e = TAssignmentEventHandlerInstance(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAttribute` to a raw DB element, if possible. + */ + Raw::Element convertAttributeToRaw(TAttribute e) { e = TAttribute(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAttributeExpression` to a raw DB element, if possible. + */ + Raw::Element convertAttributeExpressionToRaw(TAttributeExpression e) { + e = TAttributeExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAttributeList` to a raw DB element, if possible. + */ + Raw::Element convertAttributeListToRaw(TAttributeList e) { e = TAttributeList(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAttributeNamedParameterEntry` to a raw DB element, if possible. + */ + Raw::Element convertAttributeNamedParameterEntryToRaw(TAttributeNamedParameterEntry e) { + e = TAttributeNamedParameterEntry(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAvgAggregateSelection` to a raw DB element, if possible. + */ + Raw::Element convertAvgAggregateSelectionToRaw(TAvgAggregateSelection e) { + e = TAvgAggregateSelection(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TBooleanAttributeLiteral` to a raw DB element, if possible. + */ + Raw::Element convertBooleanAttributeLiteralToRaw(TBooleanAttributeLiteral e) { + e = TBooleanAttributeLiteral(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TBooleanLiteralExpression` to a raw DB element, if possible. + */ + Raw::Element convertBooleanLiteralExpressionToRaw(TBooleanLiteralExpression e) { + e = TBooleanLiteralExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TBooleanType` to a raw DB element, if possible. + */ + Raw::Element convertBooleanTypeToRaw(TBooleanType e) { e = TBooleanType(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TBreakStatement` to a raw DB element, if possible. + */ + Raw::Element convertBreakStatementToRaw(TBreakStatement e) { e = TBreakStatement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TBreakpointStatement` to a raw DB element, if possible. + */ + Raw::Element convertBreakpointStatementToRaw(TBreakpointStatement e) { + e = TBreakpointStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TCaseDefault` to a raw DB element, if possible. + */ + Raw::Element convertCaseDefaultToRaw(TCaseDefault e) { e = TCaseDefault(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TCaseValues` to a raw DB element, if possible. + */ + Raw::Element convertCaseValuesToRaw(TCaseValues e) { e = TCaseValues(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TCatchAllValues` to a raw DB element, if possible. + */ + Raw::Element convertCatchAllValuesToRaw(TCatchAllValues e) { e = TCatchAllValues(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TCatchExpression` to a raw DB element, if possible. + */ + Raw::Element convertCatchExpressionToRaw(TCatchExpression e) { e = TCatchExpression(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TCatchUpdateConflict` to a raw DB element, if possible. + */ + Raw::Element convertCatchUpdateConflictToRaw(TCatchUpdateConflict e) { + e = TCatchUpdateConflict(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TChangeCompanyStatement` to a raw DB element, if possible. + */ + Raw::Element convertChangeCompanyStatementToRaw(TChangeCompanyStatement e) { + e = TChangeCompanyStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TClass` to a raw DB element, if possible. + */ + Raw::Element convertClassToRaw(TClass e) { e = TClass(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TClassAccessModifier` to a raw DB element, if possible. + */ + Raw::Element convertClassAccessModifierToRaw(TClassAccessModifier e) { + e = TClassAccessModifier(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TClrEnumerationLiteralExpression` to a raw DB element, if possible. + */ + Raw::Element convertClrEnumerationLiteralExpressionToRaw(TClrEnumerationLiteralExpression e) { + e = TClrEnumerationLiteralExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TClrType` to a raw DB element, if possible. + */ + Raw::Element convertClrTypeToRaw(TClrType e) { e = TClrType(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TComment` to a raw DB element, if possible. + */ + Raw::Element convertCommentToRaw(TComment e) { e = TComment(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TCompilationUnitRegionEntry` to a raw DB element, if possible. + */ + Raw::Element convertCompilationUnitRegionEntryToRaw(TCompilationUnitRegionEntry e) { + e = TCompilationUnitRegionEntry(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TCompoundStatement` to a raw DB element, if possible. + */ + Raw::Element convertCompoundStatementToRaw(TCompoundStatement e) { + e = TCompoundStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TConditionalExpression` to a raw DB element, if possible. + */ + Raw::Element convertConditionalExpressionToRaw(TConditionalExpression e) { + e = TConditionalExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TContainerAttributeLiteral` to a raw DB element, if possible. + */ + Raw::Element convertContainerAttributeLiteralToRaw(TContainerAttributeLiteral e) { + e = TContainerAttributeLiteral(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TContainerLiteralExpression` to a raw DB element, if possible. + */ + Raw::Element convertContainerLiteralExpressionToRaw(TContainerLiteralExpression e) { + e = TContainerLiteralExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TContainerType` to a raw DB element, if possible. + */ + Raw::Element convertContainerTypeToRaw(TContainerType e) { e = TContainerType(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TContinueStatement` to a raw DB element, if possible. + */ + Raw::Element convertContinueStatementToRaw(TContinueStatement e) { + e = TContinueStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TCountAggregateSelection` to a raw DB element, if possible. + */ + Raw::Element convertCountAggregateSelectionToRaw(TCountAggregateSelection e) { + e = TCountAggregateSelection(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TCrossCompanyAll` to a raw DB element, if possible. + */ + Raw::Element convertCrossCompanyAllToRaw(TCrossCompanyAll e) { e = TCrossCompanyAll(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TCrossCompanyContainer` to a raw DB element, if possible. + */ + Raw::Element convertCrossCompanyContainerToRaw(TCrossCompanyContainer e) { + e = TCrossCompanyContainer(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TDateAttributeLiteral` to a raw DB element, if possible. + */ + Raw::Element convertDateAttributeLiteralToRaw(TDateAttributeLiteral e) { + e = TDateAttributeLiteral(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TDateLiteralExpression` to a raw DB element, if possible. + */ + Raw::Element convertDateLiteralExpressionToRaw(TDateLiteralExpression e) { + e = TDateLiteralExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TDateTimeAttributeLiteral` to a raw DB element, if possible. + */ + Raw::Element convertDateTimeAttributeLiteralToRaw(TDateTimeAttributeLiteral e) { + e = TDateTimeAttributeLiteral(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TDateTimeLiteralExpression` to a raw DB element, if possible. + */ + Raw::Element convertDateTimeLiteralExpressionToRaw(TDateTimeLiteralExpression e) { + e = TDateTimeLiteralExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TDateTimeType` to a raw DB element, if possible. + */ + Raw::Element convertDateTimeTypeToRaw(TDateTimeType e) { e = TDateTimeType(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TDateType` to a raw DB element, if possible. + */ + Raw::Element convertDateTypeToRaw(TDateType e) { e = TDateType(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TDblAttributeLiteral` to a raw DB element, if possible. + */ + Raw::Element convertDblAttributeLiteralToRaw(TDblAttributeLiteral e) { + e = TDblAttributeLiteral(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TDblType` to a raw DB element, if possible. + */ + Raw::Element convertDblTypeToRaw(TDblType e) { e = TDblType(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TDelegate` to a raw DB element, if possible. + */ + Raw::Element convertDelegateToRaw(TDelegate e) { e = TDelegate(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TDeleteStatement` to a raw DB element, if possible. + */ + Raw::Element convertDeleteStatementToRaw(TDeleteStatement e) { e = TDeleteStatement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TDivideExpression` to a raw DB element, if possible. + */ + Raw::Element convertDivideExpressionToRaw(TDivideExpression e) { e = TDivideExpression(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TDoWhileStatement` to a raw DB element, if possible. + */ + Raw::Element convertDoWhileStatementToRaw(TDoWhileStatement e) { e = TDoWhileStatement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TEmptyExpression` to a raw DB element, if possible. + */ + Raw::Element convertEmptyExpressionToRaw(TEmptyExpression e) { e = TEmptyExpression(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TEmptyStatement` to a raw DB element, if possible. + */ + Raw::Element convertEmptyStatementToRaw(TEmptyStatement e) { e = TEmptyStatement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TEnumAttributeLiteral` to a raw DB element, if possible. + */ + Raw::Element convertEnumAttributeLiteralToRaw(TEnumAttributeLiteral e) { + e = TEnumAttributeLiteral(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TEnumerationLiteralExpression` to a raw DB element, if possible. + */ + Raw::Element convertEnumerationLiteralExpressionToRaw(TEnumerationLiteralExpression e) { + e = TEnumerationLiteralExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TEnumerationType` to a raw DB element, if possible. + */ + Raw::Element convertEnumerationTypeToRaw(TEnumerationType e) { e = TEnumerationType(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TEqualExpression` to a raw DB element, if possible. + */ + Raw::Element convertEqualExpressionToRaw(TEqualExpression e) { e = TEqualExpression(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TEvaluationActualParameterEntry` to a raw DB element, if possible. + */ + Raw::Element convertEvaluationActualParameterEntryToRaw(TEvaluationActualParameterEntry e) { + e = TEvaluationActualParameterEntry(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TExplicitSelection` to a raw DB element, if possible. + */ + Raw::Element convertExplicitSelectionToRaw(TExplicitSelection e) { + e = TExplicitSelection(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TExpressionCompilationUnit` to a raw DB element, if possible. + */ + Raw::Element convertExpressionCompilationUnitToRaw(TExpressionCompilationUnit e) { + e = TExpressionCompilationUnit(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TExpressionQualifier` to a raw DB element, if possible. + */ + Raw::Element convertExpressionQualifierToRaw(TExpressionQualifier e) { + e = TExpressionQualifier(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TExpressionStatement` to a raw DB element, if possible. + */ + Raw::Element convertExpressionStatementToRaw(TExpressionStatement e) { + e = TExpressionStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TFieldAssignment` to a raw DB element, if possible. + */ + Raw::Element convertFieldAssignmentToRaw(TFieldAssignment e) { e = TFieldAssignment(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TFieldSelection` to a raw DB element, if possible. + */ + Raw::Element convertFieldSelectionToRaw(TFieldSelection e) { e = TFieldSelection(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TFile` to a raw DB element, if possible. + */ + Raw::Element convertFileToRaw(TFile e) { e = TFile(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TFindStatement` to a raw DB element, if possible. + */ + Raw::Element convertFindStatementToRaw(TFindStatement e) { e = TFindStatement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TFlushStatement` to a raw DB element, if possible. + */ + Raw::Element convertFlushStatementToRaw(TFlushStatement e) { e = TFlushStatement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TForDeclarationAssign` to a raw DB element, if possible. + */ + Raw::Element convertForDeclarationAssignToRaw(TForDeclarationAssign e) { + e = TForDeclarationAssign(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TForFieldAssign` to a raw DB element, if possible. + */ + Raw::Element convertForFieldAssignToRaw(TForFieldAssign e) { e = TForFieldAssign(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TForFieldDecrementAssign` to a raw DB element, if possible. + */ + Raw::Element convertForFieldDecrementAssignToRaw(TForFieldDecrementAssign e) { + e = TForFieldDecrementAssign(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TForFieldIncrementAssign` to a raw DB element, if possible. + */ + Raw::Element convertForFieldIncrementAssignToRaw(TForFieldIncrementAssign e) { + e = TForFieldIncrementAssign(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TForFieldPostDecrement` to a raw DB element, if possible. + */ + Raw::Element convertForFieldPostDecrementToRaw(TForFieldPostDecrement e) { + e = TForFieldPostDecrement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TForFieldPostIncrement` to a raw DB element, if possible. + */ + Raw::Element convertForFieldPostIncrementToRaw(TForFieldPostIncrement e) { + e = TForFieldPostIncrement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TForFieldPreDecrement` to a raw DB element, if possible. + */ + Raw::Element convertForFieldPreDecrementToRaw(TForFieldPreDecrement e) { + e = TForFieldPreDecrement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TForFieldPreIncrement` to a raw DB element, if possible. + */ + Raw::Element convertForFieldPreIncrementToRaw(TForFieldPreIncrement e) { + e = TForFieldPreIncrement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TForStatement` to a raw DB element, if possible. + */ + Raw::Element convertForStatementToRaw(TForStatement e) { e = TForStatement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TFormControl` to a raw DB element, if possible. + */ + Raw::Element convertFormControlToRaw(TFormControl e) { e = TFormControl(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TFormDataField` to a raw DB element, if possible. + */ + Raw::Element convertFormDataFieldToRaw(TFormDataField e) { e = TFormDataField(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TFormDataSource` to a raw DB element, if possible. + */ + Raw::Element convertFormDataSourceToRaw(TFormDataSource e) { e = TFormDataSource(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TFormElementType` to a raw DB element, if possible. + */ + Raw::Element convertFormElementTypeToRaw(TFormElementType e) { e = TFormElementType(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TFormModelElement` to a raw DB element, if possible. + */ + Raw::Element convertFormModelElementToRaw(TFormModelElement e) { e = TFormModelElement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TFunctionCall` to a raw DB element, if possible. + */ + Raw::Element convertFunctionCallToRaw(TFunctionCall e) { e = TFunctionCall(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TFunctionDeclaration` to a raw DB element, if possible. + */ + Raw::Element convertFunctionDeclarationToRaw(TFunctionDeclaration e) { + e = TFunctionDeclaration(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TGlobalOrderElement` to a raw DB element, if possible. + */ + Raw::Element convertGlobalOrderElementToRaw(TGlobalOrderElement e) { + e = TGlobalOrderElement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TGreaterThanExpression` to a raw DB element, if possible. + */ + Raw::Element convertGreaterThanExpressionToRaw(TGreaterThanExpression e) { + e = TGreaterThanExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TGreaterThanOrEqualExpression` to a raw DB element, if possible. + */ + Raw::Element convertGreaterThanOrEqualExpressionToRaw(TGreaterThanOrEqualExpression e) { + e = TGreaterThanOrEqualExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TGuidAttributeLiteral` to a raw DB element, if possible. + */ + Raw::Element convertGuidAttributeLiteralToRaw(TGuidAttributeLiteral e) { + e = TGuidAttributeLiteral(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TGuidType` to a raw DB element, if possible. + */ + Raw::Element convertGuidTypeToRaw(TGuidType e) { e = TGuidType(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TIfStatement` to a raw DB element, if possible. + */ + Raw::Element convertIfStatementToRaw(TIfStatement e) { e = TIfStatement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TIfThenElseStatement` to a raw DB element, if possible. + */ + Raw::Element convertIfThenElseStatementToRaw(TIfThenElseStatement e) { + e = TIfThenElseStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TImplicitSelection` to a raw DB element, if possible. + */ + Raw::Element convertImplicitSelectionToRaw(TImplicitSelection e) { + e = TImplicitSelection(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TInExpression` to a raw DB element, if possible. + */ + Raw::Element convertInExpressionToRaw(TInExpression e) { e = TInExpression(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TInsertFieldSpecification` to a raw DB element, if possible. + */ + Raw::Element convertInsertFieldSpecificationToRaw(TInsertFieldSpecification e) { + e = TInsertFieldSpecification(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TInsertStatement` to a raw DB element, if possible. + */ + Raw::Element convertInsertStatementToRaw(TInsertStatement e) { e = TInsertStatement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TInt64AttributeLiteral` to a raw DB element, if possible. + */ + Raw::Element convertInt64AttributeLiteralToRaw(TInt64AttributeLiteral e) { + e = TInt64AttributeLiteral(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TInt64LiteralExpression` to a raw DB element, if possible. + */ + Raw::Element convertInt64LiteralExpressionToRaw(TInt64LiteralExpression e) { + e = TInt64LiteralExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TInt64Type` to a raw DB element, if possible. + */ + Raw::Element convertInt64TypeToRaw(TInt64Type e) { e = TInt64Type(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TIntAttributeLiteral` to a raw DB element, if possible. + */ + Raw::Element convertIntAttributeLiteralToRaw(TIntAttributeLiteral e) { + e = TIntAttributeLiteral(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TIntLiteralExpression` to a raw DB element, if possible. + */ + Raw::Element convertIntLiteralExpressionToRaw(TIntLiteralExpression e) { + e = TIntLiteralExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TIntType` to a raw DB element, if possible. + */ + Raw::Element convertIntTypeToRaw(TIntType e) { e = TIntType(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TIntegerDivideExpression` to a raw DB element, if possible. + */ + Raw::Element convertIntegerDivideExpressionToRaw(TIntegerDivideExpression e) { + e = TIntegerDivideExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TInterface` to a raw DB element, if possible. + */ + Raw::Element convertInterfaceToRaw(TInterface e) { e = TInterface(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TIntrinsic` to a raw DB element, if possible. + */ + Raw::Element convertIntrinsicToRaw(TIntrinsic e) { e = TIntrinsic(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TIntrinsicAttributeLiteral` to a raw DB element, if possible. + */ + Raw::Element convertIntrinsicAttributeLiteralToRaw(TIntrinsicAttributeLiteral e) { + e = TIntrinsicAttributeLiteral(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TIsClrExpression` to a raw DB element, if possible. + */ + Raw::Element convertIsClrExpressionToRaw(TIsClrExpression e) { e = TIsClrExpression(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TIsExpression` to a raw DB element, if possible. + */ + Raw::Element convertIsExpressionToRaw(TIsExpression e) { e = TIsExpression(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TJoinSpecification` to a raw DB element, if possible. + */ + Raw::Element convertJoinSpecificationToRaw(TJoinSpecification e) { + e = TJoinSpecification(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TLessThanExpression` to a raw DB element, if possible. + */ + Raw::Element convertLessThanExpressionToRaw(TLessThanExpression e) { + e = TLessThanExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TLessThanOrEqualExpression` to a raw DB element, if possible. + */ + Raw::Element convertLessThanOrEqualExpressionToRaw(TLessThanOrEqualExpression e) { + e = TLessThanOrEqualExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TLikeExpression` to a raw DB element, if possible. + */ + Raw::Element convertLikeExpressionToRaw(TLikeExpression e) { e = TLikeExpression(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TLocalDeclarationsStatement` to a raw DB element, if possible. + */ + Raw::Element convertLocalDeclarationsStatementToRaw(TLocalDeclarationsStatement e) { + e = TLocalDeclarationsStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TLocation` to a raw DB element, if possible. + */ + Raw::Element convertLocationToRaw(TLocation e) { e = TLocation(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TMaxAggregateSelection` to a raw DB element, if possible. + */ + Raw::Element convertMaxAggregateSelectionToRaw(TMaxAggregateSelection e) { + e = TMaxAggregateSelection(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TMethod` to a raw DB element, if possible. + */ + Raw::Element convertMethodToRaw(TMethod e) { e = TMethod(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TMinAggregateSelection` to a raw DB element, if possible. + */ + Raw::Element convertMinAggregateSelectionToRaw(TMinAggregateSelection e) { + e = TMinAggregateSelection(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TModExpression` to a raw DB element, if possible. + */ + Raw::Element convertModExpressionToRaw(TModExpression e) { e = TModExpression(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TModelElementUsingEntry` to a raw DB element, if possible. + */ + Raw::Element convertModelElementUsingEntryToRaw(TModelElementUsingEntry e) { + e = TModelElementUsingEntry(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TModifier` to a raw DB element, if possible. + */ + Raw::Element convertModifierToRaw(TModifier e) { e = TModifier(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TMoveCursorStatement` to a raw DB element, if possible. + */ + Raw::Element convertMoveCursorStatementToRaw(TMoveCursorStatement e) { + e = TMoveCursorStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TMultiplyExpression` to a raw DB element, if possible. + */ + Raw::Element convertMultiplyExpressionToRaw(TMultiplyExpression e) { + e = TMultiplyExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TNamedFieldReference` to a raw DB element, if possible. + */ + Raw::Element convertNamedFieldReferenceToRaw(TNamedFieldReference e) { + e = TNamedFieldReference(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TNewCall` to a raw DB element, if possible. + */ + Raw::Element convertNewCallToRaw(TNewCall e) { e = TNewCall(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TNewClrArrayExpression` to a raw DB element, if possible. + */ + Raw::Element convertNewClrArrayExpressionToRaw(TNewClrArrayExpression e) { + e = TNewClrArrayExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TNewClrCall` to a raw DB element, if possible. + */ + Raw::Element convertNewClrCallToRaw(TNewClrCall e) { e = TNewClrCall(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TNextExpression` to a raw DB element, if possible. + */ + Raw::Element convertNextExpressionToRaw(TNextExpression e) { e = TNextExpression(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TNotEqualExpression` to a raw DB element, if possible. + */ + Raw::Element convertNotEqualExpressionToRaw(TNotEqualExpression e) { + e = TNotEqualExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TNotExpression` to a raw DB element, if possible. + */ + Raw::Element convertNotExpressionToRaw(TNotExpression e) { e = TNotExpression(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TNullLiteralExpression` to a raw DB element, if possible. + */ + Raw::Element convertNullLiteralExpressionToRaw(TNullLiteralExpression e) { + e = TNullLiteralExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TNumberedFieldReference` to a raw DB element, if possible. + */ + Raw::Element convertNumberedFieldReferenceToRaw(TNumberedFieldReference e) { + e = TNumberedFieldReference(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TOrExpression` to a raw DB element, if possible. + */ + Raw::Element convertOrExpressionToRaw(TOrExpression e) { e = TOrExpression(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TParameterDeclaration` to a raw DB element, if possible. + */ + Raw::Element convertParameterDeclarationToRaw(TParameterDeclaration e) { + e = TParameterDeclaration(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TPhysicalAndExpression` to a raw DB element, if possible. + */ + Raw::Element convertPhysicalAndExpressionToRaw(TPhysicalAndExpression e) { + e = TPhysicalAndExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TPhysicalNotExpression` to a raw DB element, if possible. + */ + Raw::Element convertPhysicalNotExpressionToRaw(TPhysicalNotExpression e) { + e = TPhysicalNotExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TPhysicalOrExpression` to a raw DB element, if possible. + */ + Raw::Element convertPhysicalOrExpressionToRaw(TPhysicalOrExpression e) { + e = TPhysicalOrExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TPhysicalXorExpression` to a raw DB element, if possible. + */ + Raw::Element convertPhysicalXorExpressionToRaw(TPhysicalXorExpression e) { + e = TPhysicalXorExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TPlaceholder` to a raw DB element, if possible. + */ + Raw::Element convertPlaceholderToRaw(TPlaceholder e) { e = TPlaceholder(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TPrintStatement` to a raw DB element, if possible. + */ + Raw::Element convertPrintStatementToRaw(TPrintStatement e) { e = TPrintStatement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TProvidedType` to a raw DB element, if possible. + */ + Raw::Element convertProvidedTypeToRaw(TProvidedType e) { e = TProvidedType(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TProvidedTypeStaticCall` to a raw DB element, if possible. + */ + Raw::Element convertProvidedTypeStaticCallToRaw(TProvidedTypeStaticCall e) { + e = TProvidedTypeStaticCall(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TQualifiedCall` to a raw DB element, if possible. + */ + Raw::Element convertQualifiedCallToRaw(TQualifiedCall e) { e = TQualifiedCall(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TQualifiedField` to a raw DB element, if possible. + */ + Raw::Element convertQualifiedFieldToRaw(TQualifiedField e) { e = TQualifiedField(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TQualifiedInstanceName` to a raw DB element, if possible. + */ + Raw::Element convertQualifiedInstanceNameToRaw(TQualifiedInstanceName e) { + e = TQualifiedInstanceName(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TQualifiedNumberedField` to a raw DB element, if possible. + */ + Raw::Element convertQualifiedNumberedFieldToRaw(TQualifiedNumberedField e) { + e = TQualifiedNumberedField(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TQualifiedStaticCall` to a raw DB element, if possible. + */ + Raw::Element convertQualifiedStaticCallToRaw(TQualifiedStaticCall e) { + e = TQualifiedStaticCall(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TQualifiedStaticField` to a raw DB element, if possible. + */ + Raw::Element convertQualifiedStaticFieldToRaw(TQualifiedStaticField e) { + e = TQualifiedStaticField(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TQualifiedStaticFieldExpression` to a raw DB element, if possible. + */ + Raw::Element convertQualifiedStaticFieldExpressionToRaw(TQualifiedStaticFieldExpression e) { + e = TQualifiedStaticFieldExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TQuery` to a raw DB element, if possible. + */ + Raw::Element convertQueryToRaw(TQuery e) { e = TQuery(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TQueryDataSource` to a raw DB element, if possible. + */ + Raw::Element convertQueryDataSourceToRaw(TQueryDataSource e) { e = TQueryDataSource(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TQueryDataSourceHaving` to a raw DB element, if possible. + */ + Raw::Element convertQueryDataSourceHavingToRaw(TQueryDataSourceHaving e) { + e = TQueryDataSourceHaving(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TQueryDataSourceRange` to a raw DB element, if possible. + */ + Raw::Element convertQueryDataSourceRangeToRaw(TQueryDataSourceRange e) { + e = TQueryDataSourceRange(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TQueryDataSourceRelation` to a raw DB element, if possible. + */ + Raw::Element convertQueryDataSourceRelationToRaw(TQueryDataSourceRelation e) { + e = TQueryDataSourceRelation(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TQueryModelElement` to a raw DB element, if possible. + */ + Raw::Element convertQueryModelElementToRaw(TQueryModelElement e) { + e = TQueryModelElement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TRealLiteralExpression` to a raw DB element, if possible. + */ + Raw::Element convertRealLiteralExpressionToRaw(TRealLiteralExpression e) { + e = TRealLiteralExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TRetryStatement` to a raw DB element, if possible. + */ + Raw::Element convertRetryStatementToRaw(TRetryStatement e) { e = TRetryStatement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TReturnStatement` to a raw DB element, if possible. + */ + Raw::Element convertReturnStatementToRaw(TReturnStatement e) { e = TReturnStatement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TSearchStatement` to a raw DB element, if possible. + */ + Raw::Element convertSearchStatementToRaw(TSearchStatement e) { e = TSearchStatement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TShiftLeftExpression` to a raw DB element, if possible. + */ + Raw::Element convertShiftLeftExpressionToRaw(TShiftLeftExpression e) { + e = TShiftLeftExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TShiftRightExpression` to a raw DB element, if possible. + */ + Raw::Element convertShiftRightExpressionToRaw(TShiftRightExpression e) { + e = TShiftRightExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TSimpleField` to a raw DB element, if possible. + */ + Raw::Element convertSimpleFieldToRaw(TSimpleField e) { e = TSimpleField(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TSimpleInstanceName` to a raw DB element, if possible. + */ + Raw::Element convertSimpleInstanceNameToRaw(TSimpleInstanceName e) { + e = TSimpleInstanceName(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TSimpleOrderElement` to a raw DB element, if possible. + */ + Raw::Element convertSimpleOrderElementToRaw(TSimpleOrderElement e) { + e = TSimpleOrderElement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TStaticField` to a raw DB element, if possible. + */ + Raw::Element convertStaticFieldToRaw(TStaticField e) { e = TStaticField(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TStaticMethodCall` to a raw DB element, if possible. + */ + Raw::Element convertStaticMethodCallToRaw(TStaticMethodCall e) { e = TStaticMethodCall(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TStaticQualifier` to a raw DB element, if possible. + */ + Raw::Element convertStaticQualifierToRaw(TStaticQualifier e) { e = TStaticQualifier(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TStringAttributeLiteral` to a raw DB element, if possible. + */ + Raw::Element convertStringAttributeLiteralToRaw(TStringAttributeLiteral e) { + e = TStringAttributeLiteral(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TStringLengthType` to a raw DB element, if possible. + */ + Raw::Element convertStringLengthTypeToRaw(TStringLengthType e) { e = TStringLengthType(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TStringLiteralExpression` to a raw DB element, if possible. + */ + Raw::Element convertStringLiteralExpressionToRaw(TStringLiteralExpression e) { + e = TStringLiteralExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TSubtractExpression` to a raw DB element, if possible. + */ + Raw::Element convertSubtractExpressionToRaw(TSubtractExpression e) { + e = TSubtractExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TSumAggregateSelection` to a raw DB element, if possible. + */ + Raw::Element convertSumAggregateSelectionToRaw(TSumAggregateSelection e) { + e = TSumAggregateSelection(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TSuperCall` to a raw DB element, if possible. + */ + Raw::Element convertSuperCallToRaw(TSuperCall e) { e = TSuperCall(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TSwitchCase` to a raw DB element, if possible. + */ + Raw::Element convertSwitchCaseToRaw(TSwitchCase e) { e = TSwitchCase(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TSwitchStatement` to a raw DB element, if possible. + */ + Raw::Element convertSwitchStatementToRaw(TSwitchStatement e) { e = TSwitchStatement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TSwitchStatementCaseEntry` to a raw DB element, if possible. + */ + Raw::Element convertSwitchStatementCaseEntryToRaw(TSwitchStatementCaseEntry e) { + e = TSwitchStatementCaseEntry(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TTable` to a raw DB element, if possible. + */ + Raw::Element convertTableToRaw(TTable e) { e = TTable(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TTableFieldDeclaration` to a raw DB element, if possible. + */ + Raw::Element convertTableFieldDeclarationToRaw(TTableFieldDeclaration e) { + e = TTableFieldDeclaration(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TTableLookupExpression` to a raw DB element, if possible. + */ + Raw::Element convertTableLookupExpressionToRaw(TTableLookupExpression e) { + e = TTableLookupExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TThrowStatement` to a raw DB element, if possible. + */ + Raw::Element convertThrowStatementToRaw(TThrowStatement e) { e = TThrowStatement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TTryStatement` to a raw DB element, if possible. + */ + Raw::Element convertTryStatementToRaw(TTryStatement e) { e = TTryStatement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TTryStatementCatchEntry` to a raw DB element, if possible. + */ + Raw::Element convertTryStatementCatchEntryToRaw(TTryStatementCatchEntry e) { + e = TTryStatementCatchEntry(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TTtsAbortStatement` to a raw DB element, if possible. + */ + Raw::Element convertTtsAbortStatementToRaw(TTtsAbortStatement e) { + e = TTtsAbortStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TTtsBeginStatement` to a raw DB element, if possible. + */ + Raw::Element convertTtsBeginStatementToRaw(TTtsBeginStatement e) { + e = TTtsBeginStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TTtsEndStatement` to a raw DB element, if possible. + */ + Raw::Element convertTtsEndStatementToRaw(TTtsEndStatement e) { e = TTtsEndStatement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TUnaryMinusExpression` to a raw DB element, if possible. + */ + Raw::Element convertUnaryMinusExpressionToRaw(TUnaryMinusExpression e) { + e = TUnaryMinusExpression(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TUncheckedStatement` to a raw DB element, if possible. + */ + Raw::Element convertUncheckedStatementToRaw(TUncheckedStatement e) { + e = TUncheckedStatement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TUnspecifiedElement` to a raw DB element, if possible. + */ + Raw::Element convertUnspecifiedElementToRaw(TUnspecifiedElement e) { + e = TUnspecifiedElement(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TUpdateStatement` to a raw DB element, if possible. + */ + Raw::Element convertUpdateStatementToRaw(TUpdateStatement e) { e = TUpdateStatement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TUsingStatement` to a raw DB element, if possible. + */ + Raw::Element convertUsingStatementToRaw(TUsingStatement e) { e = TUsingStatement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TValidTimeStateDate` to a raw DB element, if possible. + */ + Raw::Element convertValidTimeStateDateToRaw(TValidTimeStateDate e) { + e = TValidTimeStateDate(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TValidTimeStateRange` to a raw DB element, if possible. + */ + Raw::Element convertValidTimeStateRangeToRaw(TValidTimeStateRange e) { + e = TValidTimeStateRange(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TVarType` to a raw DB element, if possible. + */ + Raw::Element convertVarTypeToRaw(TVarType e) { e = TVarType(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TVoidType` to a raw DB element, if possible. + */ + Raw::Element convertVoidTypeToRaw(TVoidType e) { e = TVoidType(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TWhileStatement` to a raw DB element, if possible. + */ + Raw::Element convertWhileStatementToRaw(TWhileStatement e) { e = TWhileStatement(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TXppTypeCompilationUnit` to a raw DB element, if possible. + */ + Raw::Element convertXppTypeCompilationUnitToRaw(TXppTypeCompilationUnit e) { + e = TXppTypeCompilationUnit(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAggregateSelection` to a raw DB element, if possible. + */ + Raw::Element convertAggregateSelectionToRaw(TAggregateSelection e) { + result = convertAvgAggregateSelectionToRaw(e) + or + result = convertCountAggregateSelectionToRaw(e) + or + result = convertMaxAggregateSelectionToRaw(e) + or + result = convertMinAggregateSelectionToRaw(e) + or + result = convertSumAggregateSelectionToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAssignmentBinary` to a raw DB element, if possible. + */ + Raw::Element convertAssignmentBinaryToRaw(TAssignmentBinary e) { + result = convertAssignDecrementStatementToRaw(e) + or + result = convertAssignDivideStatementToRaw(e) + or + result = convertAssignEqualStatementToRaw(e) + or + result = convertAssignIncrementStatementToRaw(e) + or + result = convertAssignMultiplyStatementToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAssignmentEventHandlerBase` to a raw DB element, if possible. + */ + Raw::Element convertAssignmentEventHandlerBaseToRaw(TAssignmentEventHandlerBase e) { + result = convertAssignmentEventHandlerInstanceToRaw(e) + or + result = convertAssignmentEventHandlerStaticToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAssignmentEventHandlerStatic` to a raw DB element, if possible. + */ + Raw::Element convertAssignmentEventHandlerStaticToRaw(TAssignmentEventHandlerStatic e) { + result = convertAssignmentEventHandlerClrToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAssignmentSingleField` to a raw DB element, if possible. + */ + Raw::Element convertAssignmentSingleFieldToRaw(TAssignmentSingleField e) { + result = convertAssignPostDecrementStatementToRaw(e) + or + result = convertAssignPostIncrementStatementToRaw(e) + or + result = convertAssignPreDecrementStatementToRaw(e) + or + result = convertAssignPreIncrementStatementToRaw(e) + or + result = convertAssignmentBinaryToRaw(e) + or + result = convertAssignmentEventHandlerBaseToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAssignmentStatement` to a raw DB element, if possible. + */ + Raw::Element convertAssignmentStatementToRaw(TAssignmentStatement e) { + result = convertAssignMultipleFieldStatementToRaw(e) + or + result = convertAssignmentSingleFieldToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAst` to a raw DB element, if possible. + */ + Raw::Element convertAstToRaw(TAst e) { + result = convertArraySpecificationToRaw(e) + or + result = convertAttributeToRaw(e) + or + result = convertAttributeExpressionToRaw(e) + or + result = convertAttributeListToRaw(e) + or + result = convertAttributeLiteralToRaw(e) + or + result = convertCaseToRaw(e) + or + result = convertCatchToRaw(e) + or + result = convertClassAccessModifierToRaw(e) + or + result = convertCompilationUnitToRaw(e) + or + result = convertCrossCompanyToRaw(e) + or + result = convertExpressionToRaw(e) + or + result = convertFieldAssignmentToRaw(e) + or + result = convertFieldSpecificationToRaw(e) + or + result = convertForAssignToRaw(e) + or + result = convertInsertFieldSpecificationToRaw(e) + or + result = convertInstanceNameToRaw(e) + or + result = convertJoinSpecificationToRaw(e) + or + result = convertModifierToRaw(e) + or + result = convertOrderElementToRaw(e) + or + result = convertQualifierToRaw(e) + or + result = convertQueryToRaw(e) + or + result = convertQueryDataSourceToRaw(e) + or + result = convertQueryDataSourceHavingToRaw(e) + or + result = convertQueryDataSourceRangeToRaw(e) + or + result = convertQueryDataSourceRelationToRaw(e) + or + result = convertSelectionToRaw(e) + or + result = convertSelectionFieldToRaw(e) + or + result = convertStatementToRaw(e) + or + result = convertSwitchCaseToRaw(e) + or + result = convertTableFieldReferenceToRaw(e) + or + result = convertValidTimeStateToRaw(e) + or + result = convertXppTypeToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAttributeLiteral` to a raw DB element, if possible. + */ + Raw::Element convertAttributeLiteralToRaw(TAttributeLiteral e) { + result = convertContainerAttributeLiteralToRaw(e) + or + result = convertDefaultTypeAttributeLiteralToRaw(e) + or + result = convertEnumAttributeLiteralToRaw(e) + or + result = convertIntrinsicAttributeLiteralToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TBinaryExpression` to a raw DB element, if possible. + */ + Raw::Element convertBinaryExpressionToRaw(TBinaryExpression e) { + result = convertAddExpressionToRaw(e) + or + result = convertAndExpressionToRaw(e) + or + result = convertDivideExpressionToRaw(e) + or + result = convertInExpressionToRaw(e) + or + result = convertIntegerDivideExpressionToRaw(e) + or + result = convertModExpressionToRaw(e) + or + result = convertMultiplyExpressionToRaw(e) + or + result = convertOrExpressionToRaw(e) + or + result = convertPhysicalAndExpressionToRaw(e) + or + result = convertPhysicalOrExpressionToRaw(e) + or + result = convertPhysicalXorExpressionToRaw(e) + or + result = convertRelationalExpressionToRaw(e) + or + result = convertShiftLeftExpressionToRaw(e) + or + result = convertShiftRightExpressionToRaw(e) + or + result = convertSubtractExpressionToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TCase` to a raw DB element, if possible. + */ + Raw::Element convertCaseToRaw(TCase e) { + result = convertCaseDefaultToRaw(e) + or + result = convertCaseValuesToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TCatch` to a raw DB element, if possible. + */ + Raw::Element convertCatchToRaw(TCatch e) { + result = convertCatchAllValuesToRaw(e) + or + result = convertCatchExpressionToRaw(e) + or + result = convertCatchUpdateConflictToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TChangeStatement` to a raw DB element, if possible. + */ + Raw::Element convertChangeStatementToRaw(TChangeStatement e) { + result = convertChangeCompanyStatementToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TClassOrInterface` to a raw DB element, if possible. + */ + Raw::Element convertClassOrInterfaceToRaw(TClassOrInterface e) { + result = convertClassToRaw(e) + or + result = convertInterfaceToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TCompilationUnit` to a raw DB element, if possible. + */ + Raw::Element convertCompilationUnitToRaw(TCompilationUnit e) { + result = convertDeclarationToRaw(e) + or + result = convertExpressionCompilationUnitToRaw(e) + or + result = convertMethodOrDelegateToRaw(e) + or + result = convertModelElementToRaw(e) + or + result = convertXppTypeCompilationUnitToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TCrossCompany` to a raw DB element, if possible. + */ + Raw::Element convertCrossCompanyToRaw(TCrossCompany e) { + result = convertCrossCompanyAllToRaw(e) + or + result = convertCrossCompanyContainerToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TDeclaration` to a raw DB element, if possible. + */ + Raw::Element convertDeclarationToRaw(TDeclaration e) { + result = convertFieldDeclarationToRaw(e) + or + result = convertLocalDeclarationToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TDefaultTypeAttributeLiteral` to a raw DB element, if possible. + */ + Raw::Element convertDefaultTypeAttributeLiteralToRaw(TDefaultTypeAttributeLiteral e) { + result = convertBooleanAttributeLiteralToRaw(e) + or + result = convertDateAttributeLiteralToRaw(e) + or + result = convertDateTimeAttributeLiteralToRaw(e) + or + result = convertDblAttributeLiteralToRaw(e) + or + result = convertGuidAttributeLiteralToRaw(e) + or + result = convertInt64AttributeLiteralToRaw(e) + or + result = convertIntAttributeLiteralToRaw(e) + or + result = convertStringAttributeLiteralToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TDefaultTypeLiteralExpression` to a raw DB element, if possible. + */ + Raw::Element convertDefaultTypeLiteralExpressionToRaw(TDefaultTypeLiteralExpression e) { + result = convertBooleanLiteralExpressionToRaw(e) + or + result = convertDateLiteralExpressionToRaw(e) + or + result = convertDateTimeLiteralExpressionToRaw(e) + or + result = convertInt64LiteralExpressionToRaw(e) + or + result = convertIntLiteralExpressionToRaw(e) + or + result = convertRealLiteralExpressionToRaw(e) + or + result = convertStringLiteralExpressionToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TElement` to a raw DB element, if possible. + */ + Raw::Element convertElementToRaw(TElement e) { + result = convertFileToRaw(e) + or + result = convertLocatableToRaw(e) + or + result = convertLocationToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TErrorElement` to a raw DB element, if possible. + */ + Raw::Element convertErrorElementToRaw(TErrorElement e) { + result = convertUnspecifiedElementToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TEvaluation` to a raw DB element, if possible. + */ + Raw::Element convertEvaluationToRaw(TEvaluation e) { + result = convertGenericEvaluationToRaw(e) + or + result = convertNewCallToRaw(e) + or + result = convertNextExpressionToRaw(e) + or + result = convertProvidedTypeStaticCallToRaw(e) + or + result = convertSuperCallToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TExpression` to a raw DB element, if possible. + */ + Raw::Element convertExpressionToRaw(TExpression e) { + result = convertBinaryExpressionToRaw(e) + or + result = convertConditionalExpressionToRaw(e) + or + result = convertEmptyExpressionToRaw(e) + or + result = convertEvaluationToRaw(e) + or + result = convertFieldExpressionToRaw(e) + or + result = convertIntrinsicToRaw(e) + or + result = convertIsAsExpressionToRaw(e) + or + result = convertLiteralExpressionToRaw(e) + or + result = convertNewClrArrayExpressionToRaw(e) + or + result = convertPlaceholderToRaw(e) + or + result = convertTableLookupExpressionToRaw(e) + or + result = convertUnaryExpressionToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TFieldDeclaration` to a raw DB element, if possible. + */ + Raw::Element convertFieldDeclarationToRaw(TFieldDeclaration e) { + result = convertTableFieldDeclarationToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TFieldExpression` to a raw DB element, if possible. + */ + Raw::Element convertFieldExpressionToRaw(TFieldExpression e) { + result = convertQualifiedStaticFieldExpressionToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TFieldSpecification` to a raw DB element, if possible. + */ + Raw::Element convertFieldSpecificationToRaw(TFieldSpecification e) { + result = convertQualifiedFieldToRaw(e) + or + result = convertQualifiedNumberedFieldToRaw(e) + or + result = convertQualifiedStaticFieldToRaw(e) + or + result = convertSimpleFieldToRaw(e) + or + result = convertStaticFieldToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TForAssign` to a raw DB element, if possible. + */ + Raw::Element convertForAssignToRaw(TForAssign e) { + result = convertForDeclarationAssignToRaw(e) + or + result = convertForExpressionAssignToRaw(e) + or + result = convertForFieldPostDecrementToRaw(e) + or + result = convertForFieldPostIncrementToRaw(e) + or + result = convertForFieldPreDecrementToRaw(e) + or + result = convertForFieldPreIncrementToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TForExpressionAssign` to a raw DB element, if possible. + */ + Raw::Element convertForExpressionAssignToRaw(TForExpressionAssign e) { + result = convertForFieldAssignToRaw(e) + or + result = convertForFieldDecrementAssignToRaw(e) + or + result = convertForFieldIncrementAssignToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TFormNestedElement` to a raw DB element, if possible. + */ + Raw::Element convertFormNestedElementToRaw(TFormNestedElement e) { + result = convertFormControlToRaw(e) + or + result = convertFormDataFieldToRaw(e) + or + result = convertFormDataSourceToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TGenericEvaluation` to a raw DB element, if possible. + */ + Raw::Element convertGenericEvaluationToRaw(TGenericEvaluation e) { + result = convertFunctionCallToRaw(e) + or + result = convertNewClrCallToRaw(e) + or + result = convertQualifiedCallToRaw(e) + or + result = convertQualifiedStaticCallToRaw(e) + or + result = convertStaticMethodCallToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TGenericXppType` to a raw DB element, if possible. + */ + Raw::Element convertGenericXppTypeToRaw(TGenericXppType e) { + result = convertClrTypeToRaw(e) + or + result = convertNamedTypeToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TInstanceName` to a raw DB element, if possible. + */ + Raw::Element convertInstanceNameToRaw(TInstanceName e) { + result = convertQualifiedInstanceNameToRaw(e) + or + result = convertSimpleInstanceNameToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TIsAsExpression` to a raw DB element, if possible. + */ + Raw::Element convertIsAsExpressionToRaw(TIsAsExpression e) { + result = convertAsClrExpressionToRaw(e) + or + result = convertAsExpressionToRaw(e) + or + result = convertIsClrExpressionToRaw(e) + or + result = convertIsExpressionToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TLiteralExpression` to a raw DB element, if possible. + */ + Raw::Element convertLiteralExpressionToRaw(TLiteralExpression e) { + result = convertClrEnumerationLiteralExpressionToRaw(e) + or + result = convertContainerLiteralExpressionToRaw(e) + or + result = convertDefaultTypeLiteralExpressionToRaw(e) + or + result = convertEnumerationLiteralExpressionToRaw(e) + or + result = convertNullLiteralExpressionToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TLocalDeclaration` to a raw DB element, if possible. + */ + Raw::Element convertLocalDeclarationToRaw(TLocalDeclaration e) { + result = convertFunctionDeclarationToRaw(e) + or + result = convertVariableDeclarationToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TLocatable` to a raw DB element, if possible. + */ + Raw::Element convertLocatableToRaw(TLocatable e) { + result = convertAstToRaw(e) + or + result = convertCommentToRaw(e) + or + result = convertErrorElementToRaw(e) + or + result = convertXppTupleToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TMethodOrDelegate` to a raw DB element, if possible. + */ + Raw::Element convertMethodOrDelegateToRaw(TMethodOrDelegate e) { + result = convertDelegateToRaw(e) + or + result = convertMethodToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TModelElement` to a raw DB element, if possible. + */ + Raw::Element convertModelElementToRaw(TModelElement e) { + result = convertClassOrInterfaceToRaw(e) + or + result = convertFormModelElementToRaw(e) + or + result = convertFormNestedElementToRaw(e) + or + result = convertQueryModelElementToRaw(e) + or + result = convertTableToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TNamedType` to a raw DB element, if possible. + */ + Raw::Element convertNamedTypeToRaw(TNamedType e) { result = convertFormElementTypeToRaw(e) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TOrderElement` to a raw DB element, if possible. + */ + Raw::Element convertOrderElementToRaw(TOrderElement e) { + result = convertGlobalOrderElementToRaw(e) + or + result = convertSimpleOrderElementToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TQualifier` to a raw DB element, if possible. + */ + Raw::Element convertQualifierToRaw(TQualifier e) { + result = convertExpressionQualifierToRaw(e) + or + result = convertSimpleQualifierToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TRelationalExpression` to a raw DB element, if possible. + */ + Raw::Element convertRelationalExpressionToRaw(TRelationalExpression e) { + result = convertEqualExpressionToRaw(e) + or + result = convertGreaterThanExpressionToRaw(e) + or + result = convertGreaterThanOrEqualExpressionToRaw(e) + or + result = convertLessThanExpressionToRaw(e) + or + result = convertLessThanOrEqualExpressionToRaw(e) + or + result = convertLikeExpressionToRaw(e) + or + result = convertNotEqualExpressionToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TSelection` to a raw DB element, if possible. + */ + Raw::Element convertSelectionToRaw(TSelection e) { + result = convertAllFieldsSelectionToRaw(e) + or + result = convertExplicitSelectionToRaw(e) + or + result = convertImplicitSelectionToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TSelectionField` to a raw DB element, if possible. + */ + Raw::Element convertSelectionFieldToRaw(TSelectionField e) { + result = convertAggregateSelectionToRaw(e) + or + result = convertFieldSelectionToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TSimpleQualifier` to a raw DB element, if possible. + */ + Raw::Element convertSimpleQualifierToRaw(TSimpleQualifier e) { + result = convertStaticQualifierToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TStatement` to a raw DB element, if possible. + */ + Raw::Element convertStatementToRaw(TStatement e) { + result = convertAssignmentStatementToRaw(e) + or + result = convertBreakStatementToRaw(e) + or + result = convertBreakpointStatementToRaw(e) + or + result = convertChangeStatementToRaw(e) + or + result = convertCompoundStatementToRaw(e) + or + result = convertContinueStatementToRaw(e) + or + result = convertDeleteStatementToRaw(e) + or + result = convertDoWhileStatementToRaw(e) + or + result = convertEmptyStatementToRaw(e) + or + result = convertExpressionStatementToRaw(e) + or + result = convertFindStatementToRaw(e) + or + result = convertFlushStatementToRaw(e) + or + result = convertForStatementToRaw(e) + or + result = convertIfStatementToRaw(e) + or + result = convertIfThenElseStatementToRaw(e) + or + result = convertInsertStatementToRaw(e) + or + result = convertLocalDeclarationsStatementToRaw(e) + or + result = convertMoveCursorStatementToRaw(e) + or + result = convertPrintStatementToRaw(e) + or + result = convertRetryStatementToRaw(e) + or + result = convertReturnStatementToRaw(e) + or + result = convertSearchStatementToRaw(e) + or + result = convertSwitchStatementToRaw(e) + or + result = convertThrowStatementToRaw(e) + or + result = convertTryStatementToRaw(e) + or + result = convertTtsStatementToRaw(e) + or + result = convertUncheckedStatementToRaw(e) + or + result = convertUpdateStatementToRaw(e) + or + result = convertUsingStatementToRaw(e) + or + result = convertWhileStatementToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TStringType` to a raw DB element, if possible. + */ + Raw::Element convertStringTypeToRaw(TStringType e) { result = convertStringLengthTypeToRaw(e) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TTableFieldReference` to a raw DB element, if possible. + */ + Raw::Element convertTableFieldReferenceToRaw(TTableFieldReference e) { + result = convertNamedFieldReferenceToRaw(e) + or + result = convertNumberedFieldReferenceToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TTtsStatement` to a raw DB element, if possible. + */ + Raw::Element convertTtsStatementToRaw(TTtsStatement e) { + result = convertTtsAbortStatementToRaw(e) + or + result = convertTtsBeginStatementToRaw(e) + or + result = convertTtsEndStatementToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TUnaryExpression` to a raw DB element, if possible. + */ + Raw::Element convertUnaryExpressionToRaw(TUnaryExpression e) { + result = convertNotExpressionToRaw(e) + or + result = convertPhysicalNotExpressionToRaw(e) + or + result = convertUnaryMinusExpressionToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TValidTimeState` to a raw DB element, if possible. + */ + Raw::Element convertValidTimeStateToRaw(TValidTimeState e) { + result = convertValidTimeStateDateToRaw(e) + or + result = convertValidTimeStateRangeToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TVariableDeclaration` to a raw DB element, if possible. + */ + Raw::Element convertVariableDeclarationToRaw(TVariableDeclaration e) { + result = convertParameterDeclarationToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TXppTuple` to a raw DB element, if possible. + */ + Raw::Element convertXppTupleToRaw(TXppTuple e) { + result = convertAttributeNamedParameterEntryToRaw(e) + or + result = convertCompilationUnitRegionEntryToRaw(e) + or + result = convertEvaluationActualParameterEntryToRaw(e) + or + result = convertModelElementUsingEntryToRaw(e) + or + result = convertSwitchStatementCaseEntryToRaw(e) + or + result = convertTryStatementCatchEntryToRaw(e) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TXppType` to a raw DB element, if possible. + */ + Raw::Element convertXppTypeToRaw(TXppType e) { + result = convertAnyTypeToRaw(e) + or + result = convertBooleanTypeToRaw(e) + or + result = convertContainerTypeToRaw(e) + or + result = convertDateTimeTypeToRaw(e) + or + result = convertDateTypeToRaw(e) + or + result = convertDblTypeToRaw(e) + or + result = convertEnumerationTypeToRaw(e) + or + result = convertGenericXppTypeToRaw(e) + or + result = convertGuidTypeToRaw(e) + or + result = convertInt64TypeToRaw(e) + or + result = convertIntTypeToRaw(e) + or + result = convertProvidedTypeToRaw(e) + or + result = convertStringTypeToRaw(e) + or + result = convertVarTypeToRaw(e) + or + result = convertVoidTypeToRaw(e) + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/SynthConstructors.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SynthConstructors.qll new file mode 100644 index 000000000000..ef78121e88aa --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SynthConstructors.qll @@ -0,0 +1,209 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module exports all modules providing `Element` subclasses. + */ + +import codeql.xpp.elements.internal.AddExpressionConstructor +import codeql.xpp.elements.internal.AllFieldsSelectionConstructor +import codeql.xpp.elements.internal.AndExpressionConstructor +import codeql.xpp.elements.internal.AnyTypeConstructor +import codeql.xpp.elements.internal.ArraySpecificationConstructor +import codeql.xpp.elements.internal.AsClrExpressionConstructor +import codeql.xpp.elements.internal.AsExpressionConstructor +import codeql.xpp.elements.internal.AssignDecrementStatementConstructor +import codeql.xpp.elements.internal.AssignDivideStatementConstructor +import codeql.xpp.elements.internal.AssignEqualStatementConstructor +import codeql.xpp.elements.internal.AssignIncrementStatementConstructor +import codeql.xpp.elements.internal.AssignMultipleFieldStatementConstructor +import codeql.xpp.elements.internal.AssignMultiplyStatementConstructor +import codeql.xpp.elements.internal.AssignPostDecrementStatementConstructor +import codeql.xpp.elements.internal.AssignPostIncrementStatementConstructor +import codeql.xpp.elements.internal.AssignPreDecrementStatementConstructor +import codeql.xpp.elements.internal.AssignPreIncrementStatementConstructor +import codeql.xpp.elements.internal.AssignmentEventHandlerClrConstructor +import codeql.xpp.elements.internal.AssignmentEventHandlerInstanceConstructor +import codeql.xpp.elements.internal.AttributeConstructor +import codeql.xpp.elements.internal.AttributeExpressionConstructor +import codeql.xpp.elements.internal.AttributeListConstructor +import codeql.xpp.elements.internal.AttributeNamedParameterEntryConstructor +import codeql.xpp.elements.internal.AvgAggregateSelectionConstructor +import codeql.xpp.elements.internal.BooleanAttributeLiteralConstructor +import codeql.xpp.elements.internal.BooleanLiteralExpressionConstructor +import codeql.xpp.elements.internal.BooleanTypeConstructor +import codeql.xpp.elements.internal.BreakStatementConstructor +import codeql.xpp.elements.internal.BreakpointStatementConstructor +import codeql.xpp.elements.internal.CaseDefaultConstructor +import codeql.xpp.elements.internal.CaseValuesConstructor +import codeql.xpp.elements.internal.CatchAllValuesConstructor +import codeql.xpp.elements.internal.CatchExpressionConstructor +import codeql.xpp.elements.internal.CatchUpdateConflictConstructor +import codeql.xpp.elements.internal.ChangeCompanyStatementConstructor +import codeql.xpp.elements.internal.ClassConstructor +import codeql.xpp.elements.internal.ClassAccessModifierConstructor +import codeql.xpp.elements.internal.ClrEnumerationLiteralExpressionConstructor +import codeql.xpp.elements.internal.ClrTypeConstructor +import codeql.xpp.elements.internal.CommentConstructor +import codeql.xpp.elements.internal.CompilationUnitRegionEntryConstructor +import codeql.xpp.elements.internal.CompoundStatementConstructor +import codeql.xpp.elements.internal.ConditionalExpressionConstructor +import codeql.xpp.elements.internal.ContainerAttributeLiteralConstructor +import codeql.xpp.elements.internal.ContainerLiteralExpressionConstructor +import codeql.xpp.elements.internal.ContainerTypeConstructor +import codeql.xpp.elements.internal.ContinueStatementConstructor +import codeql.xpp.elements.internal.CountAggregateSelectionConstructor +import codeql.xpp.elements.internal.CrossCompanyAllConstructor +import codeql.xpp.elements.internal.CrossCompanyContainerConstructor +import codeql.xpp.elements.internal.DateAttributeLiteralConstructor +import codeql.xpp.elements.internal.DateLiteralExpressionConstructor +import codeql.xpp.elements.internal.DateTimeAttributeLiteralConstructor +import codeql.xpp.elements.internal.DateTimeLiteralExpressionConstructor +import codeql.xpp.elements.internal.DateTimeTypeConstructor +import codeql.xpp.elements.internal.DateTypeConstructor +import codeql.xpp.elements.internal.DblAttributeLiteralConstructor +import codeql.xpp.elements.internal.DblTypeConstructor +import codeql.xpp.elements.internal.DelegateConstructor +import codeql.xpp.elements.internal.DeleteStatementConstructor +import codeql.xpp.elements.internal.DivideExpressionConstructor +import codeql.xpp.elements.internal.DoWhileStatementConstructor +import codeql.xpp.elements.internal.EmptyExpressionConstructor +import codeql.xpp.elements.internal.EmptyStatementConstructor +import codeql.xpp.elements.internal.EnumAttributeLiteralConstructor +import codeql.xpp.elements.internal.EnumerationLiteralExpressionConstructor +import codeql.xpp.elements.internal.EnumerationTypeConstructor +import codeql.xpp.elements.internal.EqualExpressionConstructor +import codeql.xpp.elements.internal.EvaluationActualParameterEntryConstructor +import codeql.xpp.elements.internal.ExplicitSelectionConstructor +import codeql.xpp.elements.internal.ExpressionCompilationUnitConstructor +import codeql.xpp.elements.internal.ExpressionQualifierConstructor +import codeql.xpp.elements.internal.ExpressionStatementConstructor +import codeql.xpp.elements.internal.FieldAssignmentConstructor +import codeql.xpp.elements.internal.FieldSelectionConstructor +import codeql.xpp.elements.internal.FileConstructor +import codeql.xpp.elements.internal.FindStatementConstructor +import codeql.xpp.elements.internal.FlushStatementConstructor +import codeql.xpp.elements.internal.ForDeclarationAssignConstructor +import codeql.xpp.elements.internal.ForFieldAssignConstructor +import codeql.xpp.elements.internal.ForFieldDecrementAssignConstructor +import codeql.xpp.elements.internal.ForFieldIncrementAssignConstructor +import codeql.xpp.elements.internal.ForFieldPostDecrementConstructor +import codeql.xpp.elements.internal.ForFieldPostIncrementConstructor +import codeql.xpp.elements.internal.ForFieldPreDecrementConstructor +import codeql.xpp.elements.internal.ForFieldPreIncrementConstructor +import codeql.xpp.elements.internal.ForStatementConstructor +import codeql.xpp.elements.internal.FormControlConstructor +import codeql.xpp.elements.internal.FormDataFieldConstructor +import codeql.xpp.elements.internal.FormDataSourceConstructor +import codeql.xpp.elements.internal.FormElementTypeConstructor +import codeql.xpp.elements.internal.FormModelElementConstructor +import codeql.xpp.elements.internal.FunctionCallConstructor +import codeql.xpp.elements.internal.FunctionDeclarationConstructor +import codeql.xpp.elements.internal.GlobalOrderElementConstructor +import codeql.xpp.elements.internal.GreaterThanExpressionConstructor +import codeql.xpp.elements.internal.GreaterThanOrEqualExpressionConstructor +import codeql.xpp.elements.internal.GuidAttributeLiteralConstructor +import codeql.xpp.elements.internal.GuidTypeConstructor +import codeql.xpp.elements.internal.IfStatementConstructor +import codeql.xpp.elements.internal.IfThenElseStatementConstructor +import codeql.xpp.elements.internal.ImplicitSelectionConstructor +import codeql.xpp.elements.internal.InExpressionConstructor +import codeql.xpp.elements.internal.InsertFieldSpecificationConstructor +import codeql.xpp.elements.internal.InsertStatementConstructor +import codeql.xpp.elements.internal.Int64AttributeLiteralConstructor +import codeql.xpp.elements.internal.Int64LiteralExpressionConstructor +import codeql.xpp.elements.internal.Int64TypeConstructor +import codeql.xpp.elements.internal.IntAttributeLiteralConstructor +import codeql.xpp.elements.internal.IntLiteralExpressionConstructor +import codeql.xpp.elements.internal.IntTypeConstructor +import codeql.xpp.elements.internal.IntegerDivideExpressionConstructor +import codeql.xpp.elements.internal.InterfaceConstructor +import codeql.xpp.elements.internal.IntrinsicConstructor +import codeql.xpp.elements.internal.IntrinsicAttributeLiteralConstructor +import codeql.xpp.elements.internal.IsClrExpressionConstructor +import codeql.xpp.elements.internal.IsExpressionConstructor +import codeql.xpp.elements.internal.JoinSpecificationConstructor +import codeql.xpp.elements.internal.LessThanExpressionConstructor +import codeql.xpp.elements.internal.LessThanOrEqualExpressionConstructor +import codeql.xpp.elements.internal.LikeExpressionConstructor +import codeql.xpp.elements.internal.LocalDeclarationsStatementConstructor +import codeql.xpp.elements.internal.LocationConstructor +import codeql.xpp.elements.internal.MaxAggregateSelectionConstructor +import codeql.xpp.elements.internal.MethodConstructor +import codeql.xpp.elements.internal.MinAggregateSelectionConstructor +import codeql.xpp.elements.internal.ModExpressionConstructor +import codeql.xpp.elements.internal.ModelElementUsingEntryConstructor +import codeql.xpp.elements.internal.ModifierConstructor +import codeql.xpp.elements.internal.MoveCursorStatementConstructor +import codeql.xpp.elements.internal.MultiplyExpressionConstructor +import codeql.xpp.elements.internal.NamedFieldReferenceConstructor +import codeql.xpp.elements.internal.NewCallConstructor +import codeql.xpp.elements.internal.NewClrArrayExpressionConstructor +import codeql.xpp.elements.internal.NewClrCallConstructor +import codeql.xpp.elements.internal.NextExpressionConstructor +import codeql.xpp.elements.internal.NotEqualExpressionConstructor +import codeql.xpp.elements.internal.NotExpressionConstructor +import codeql.xpp.elements.internal.NullLiteralExpressionConstructor +import codeql.xpp.elements.internal.NumberedFieldReferenceConstructor +import codeql.xpp.elements.internal.OrExpressionConstructor +import codeql.xpp.elements.internal.ParameterDeclarationConstructor +import codeql.xpp.elements.internal.PhysicalAndExpressionConstructor +import codeql.xpp.elements.internal.PhysicalNotExpressionConstructor +import codeql.xpp.elements.internal.PhysicalOrExpressionConstructor +import codeql.xpp.elements.internal.PhysicalXorExpressionConstructor +import codeql.xpp.elements.internal.PlaceholderConstructor +import codeql.xpp.elements.internal.PrintStatementConstructor +import codeql.xpp.elements.internal.ProvidedTypeConstructor +import codeql.xpp.elements.internal.ProvidedTypeStaticCallConstructor +import codeql.xpp.elements.internal.QualifiedCallConstructor +import codeql.xpp.elements.internal.QualifiedFieldConstructor +import codeql.xpp.elements.internal.QualifiedInstanceNameConstructor +import codeql.xpp.elements.internal.QualifiedNumberedFieldConstructor +import codeql.xpp.elements.internal.QualifiedStaticCallConstructor +import codeql.xpp.elements.internal.QualifiedStaticFieldConstructor +import codeql.xpp.elements.internal.QualifiedStaticFieldExpressionConstructor +import codeql.xpp.elements.internal.QueryConstructor +import codeql.xpp.elements.internal.QueryDataSourceConstructor +import codeql.xpp.elements.internal.QueryDataSourceHavingConstructor +import codeql.xpp.elements.internal.QueryDataSourceRangeConstructor +import codeql.xpp.elements.internal.QueryDataSourceRelationConstructor +import codeql.xpp.elements.internal.QueryModelElementConstructor +import codeql.xpp.elements.internal.RealLiteralExpressionConstructor +import codeql.xpp.elements.internal.RetryStatementConstructor +import codeql.xpp.elements.internal.ReturnStatementConstructor +import codeql.xpp.elements.internal.SearchStatementConstructor +import codeql.xpp.elements.internal.ShiftLeftExpressionConstructor +import codeql.xpp.elements.internal.ShiftRightExpressionConstructor +import codeql.xpp.elements.internal.SimpleFieldConstructor +import codeql.xpp.elements.internal.SimpleInstanceNameConstructor +import codeql.xpp.elements.internal.SimpleOrderElementConstructor +import codeql.xpp.elements.internal.StaticFieldConstructor +import codeql.xpp.elements.internal.StaticMethodCallConstructor +import codeql.xpp.elements.internal.StaticQualifierConstructor +import codeql.xpp.elements.internal.StringAttributeLiteralConstructor +import codeql.xpp.elements.internal.StringLengthTypeConstructor +import codeql.xpp.elements.internal.StringLiteralExpressionConstructor +import codeql.xpp.elements.internal.SubtractExpressionConstructor +import codeql.xpp.elements.internal.SumAggregateSelectionConstructor +import codeql.xpp.elements.internal.SuperCallConstructor +import codeql.xpp.elements.internal.SwitchCaseConstructor +import codeql.xpp.elements.internal.SwitchStatementConstructor +import codeql.xpp.elements.internal.SwitchStatementCaseEntryConstructor +import codeql.xpp.elements.internal.TableConstructor +import codeql.xpp.elements.internal.TableFieldDeclarationConstructor +import codeql.xpp.elements.internal.TableLookupExpressionConstructor +import codeql.xpp.elements.internal.ThrowStatementConstructor +import codeql.xpp.elements.internal.TryStatementConstructor +import codeql.xpp.elements.internal.TryStatementCatchEntryConstructor +import codeql.xpp.elements.internal.TtsAbortStatementConstructor +import codeql.xpp.elements.internal.TtsBeginStatementConstructor +import codeql.xpp.elements.internal.TtsEndStatementConstructor +import codeql.xpp.elements.internal.UnaryMinusExpressionConstructor +import codeql.xpp.elements.internal.UncheckedStatementConstructor +import codeql.xpp.elements.internal.UnspecifiedElementConstructor +import codeql.xpp.elements.internal.UpdateStatementConstructor +import codeql.xpp.elements.internal.UsingStatementConstructor +import codeql.xpp.elements.internal.ValidTimeStateDateConstructor +import codeql.xpp.elements.internal.ValidTimeStateRangeConstructor +import codeql.xpp.elements.internal.VarTypeConstructor +import codeql.xpp.elements.internal.VoidTypeConstructor +import codeql.xpp.elements.internal.WhileStatementConstructor +import codeql.xpp.elements.internal.XppTypeCompilationUnitConstructor diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Table.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Table.qll new file mode 100644 index 000000000000..889ef6c8dc2e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Table.qll @@ -0,0 +1,133 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `Table`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.AttributeList +import codeql.xpp.elements.FieldDeclaration +import codeql.xpp.elements.internal.ModelElementImpl::Impl as ModelElementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `Table` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Table` class directly. + * Use the subclass `Table`, where the following predicates are available. + */ + class Table extends Synth::TTable, ModelElementImpl::ModelElement { + override string getAPrimaryQlClass() { result = "Table" } + + /** + * Gets the attributes of this table, if it exists. + */ + AttributeList getAttributes() { + result = + Synth::convertAttributeListFromRaw(Synth::convertTableToRaw(this) + .(Raw::Table) + .getAttributes()) + } + + /** + * Holds if `getAttributes()` exists. + */ + final predicate hasAttributes() { exists(this.getAttributes()) } + + /** + * Gets the element type name of this table, if it exists. + */ + string getElementTypeName() { + result = Synth::convertTableToRaw(this).(Raw::Table).getElementTypeName() + } + + /** + * Holds if `getElementTypeName()` exists. + */ + final predicate hasElementTypeName() { exists(this.getElementTypeName()) } + + /** + * Gets the extends of this table, if it exists. + */ + string getExtends() { result = Synth::convertTableToRaw(this).(Raw::Table).getExtends() } + + /** + * Holds if `getExtends()` exists. + */ + final predicate hasExtends() { exists(this.getExtends()) } + + /** + * Gets the `index`th field of this table (0-based). + */ + FieldDeclaration getField(int index) { + result = + Synth::convertFieldDeclarationFromRaw(Synth::convertTableToRaw(this) + .(Raw::Table) + .getField(index)) + } + + /** + * Gets any of the fields of this table. + */ + final FieldDeclaration getAField() { result = this.getField(_) } + + /** + * Gets the number of fields of this table. + */ + final int getNumberOfFields() { result = count(int i | exists(this.getField(i))) } + + /** + * Gets the `index`th index of this table (0-based). + */ + string getIndex(int index) { + result = Synth::convertTableToRaw(this).(Raw::Table).getIndex(index) + } + + /** + * Gets any of the indexes of this table. + */ + final string getAnIndex() { result = this.getIndex(_) } + + /** + * Gets the number of indexes of this table. + */ + final int getNumberOfIndexes() { result = count(int i | exists(this.getIndex(i))) } + + /** + * Holds if this table is aggregate data entity. + */ + predicate isAggregateDataEntity() { + Synth::convertTableToRaw(this).(Raw::Table).isAggregateDataEntity() + } + + /** + * Holds if this table is data entity view. + */ + predicate isDataEntityView() { Synth::convertTableToRaw(this).(Raw::Table).isDataEntityView() } + + /** + * Holds if this table is map. + */ + predicate isMap() { Synth::convertTableToRaw(this).(Raw::Table).isMap() } + + /** + * Holds if this table is updatable. + */ + predicate isUpdatable() { Synth::convertTableToRaw(this).(Raw::Table).isUpdatable() } + + /** + * Holds if this table is view. + */ + predicate isView() { Synth::convertTableToRaw(this).(Raw::Table).isView() } + + /** + * Holds if this table support inheritance. + */ + predicate supportInheritance() { + Synth::convertTableToRaw(this).(Raw::Table).supportInheritance() + } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/TableFieldDeclaration.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/TableFieldDeclaration.qll new file mode 100644 index 000000000000..b03b5667a1d8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/TableFieldDeclaration.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `TableFieldDeclaration`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.FieldDeclarationImpl::Impl as FieldDeclarationImpl + +/** + * INTERNAL: This module contains the fully generated definition of `TableFieldDeclaration` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::TableFieldDeclaration` class directly. + * Use the subclass `TableFieldDeclaration`, where the following predicates are available. + */ + class TableFieldDeclaration extends Synth::TTableFieldDeclaration, + FieldDeclarationImpl::FieldDeclaration + { + override string getAPrimaryQlClass() { result = "TableFieldDeclaration" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/TableFieldReference.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/TableFieldReference.qll new file mode 100644 index 000000000000..c2e05b515cc0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/TableFieldReference.qll @@ -0,0 +1,37 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `TableFieldReference`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl +import codeql.xpp.elements.Expression + +/** + * INTERNAL: This module contains the fully generated definition of `TableFieldReference` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::TableFieldReference` class directly. + * Use the subclass `TableFieldReference`, where the following predicates are available. + */ + class TableFieldReference extends Synth::TTableFieldReference, AstImpl::Ast { + /** + * Gets the index of this table field reference, if it exists. + */ + Expression getIndex() { + result = + Synth::convertExpressionFromRaw(Synth::convertTableFieldReferenceToRaw(this) + .(Raw::TableFieldReference) + .getIndex()) + } + + /** + * Holds if `getIndex()` exists. + */ + final predicate hasIndex() { exists(this.getIndex()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/TableLookupExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/TableLookupExpression.qll new file mode 100644 index 000000000000..f712aee6bac3 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/TableLookupExpression.qll @@ -0,0 +1,55 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `TableLookupExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ExpressionImpl::Impl as ExpressionImpl +import codeql.xpp.elements.Query +import codeql.xpp.elements.TableFieldReference + +/** + * INTERNAL: This module contains the fully generated definition of `TableLookupExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::TableLookupExpression` class directly. + * Use the subclass `TableLookupExpression`, where the following predicates are available. + */ + class TableLookupExpression extends Synth::TTableLookupExpression, ExpressionImpl::Expression { + override string getAPrimaryQlClass() { result = "TableLookupExpression" } + + /** + * Gets the field of this table lookup expression, if it exists. + */ + TableFieldReference getField() { + result = + Synth::convertTableFieldReferenceFromRaw(Synth::convertTableLookupExpressionToRaw(this) + .(Raw::TableLookupExpression) + .getField()) + } + + /** + * Holds if `getField()` exists. + */ + final predicate hasField() { exists(this.getField()) } + + /** + * Gets the query of this table lookup expression, if it exists. + */ + Query getQuery() { + result = + Synth::convertQueryFromRaw(Synth::convertTableLookupExpressionToRaw(this) + .(Raw::TableLookupExpression) + .getQuery()) + } + + /** + * Holds if `getQuery()` exists. + */ + final predicate hasQuery() { exists(this.getQuery()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ThrowStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ThrowStatement.qll new file mode 100644 index 000000000000..d6e46b5d5dc2 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ThrowStatement.qll @@ -0,0 +1,39 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ThrowStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ThrowStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ThrowStatement` class directly. + * Use the subclass `ThrowStatement`, where the following predicates are available. + */ + class ThrowStatement extends Synth::TThrowStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "ThrowStatement" } + + /** + * Gets the exception of this throw statement, if it exists. + */ + Expression getException() { + result = + Synth::convertExpressionFromRaw(Synth::convertThrowStatementToRaw(this) + .(Raw::ThrowStatement) + .getException()) + } + + /** + * Holds if `getException()` exists. + */ + final predicate hasException() { exists(this.getException()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/TryStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/TryStatement.qll new file mode 100644 index 000000000000..99e1d68585e0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/TryStatement.qll @@ -0,0 +1,75 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `TryStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Statement +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl +import codeql.xpp.elements.TryStatementCatchEntry + +/** + * INTERNAL: This module contains the fully generated definition of `TryStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::TryStatement` class directly. + * Use the subclass `TryStatement`, where the following predicates are available. + */ + class TryStatement extends Synth::TTryStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "TryStatement" } + + /** + * Gets the `index`th catch of this try statement (0-based). + */ + TryStatementCatchEntry getCatch(int index) { + result = + Synth::convertTryStatementCatchEntryFromRaw(Synth::convertTryStatementToRaw(this) + .(Raw::TryStatement) + .getCatch(index)) + } + + /** + * Gets any of the catches of this try statement. + */ + final TryStatementCatchEntry getACatch() { result = this.getCatch(_) } + + /** + * Gets the number of catches of this try statement. + */ + final int getNumberOfCatches() { result = count(int i | exists(this.getCatch(i))) } + + /** + * Gets the finally of this try statement, if it exists. + */ + Statement getFinally() { + result = + Synth::convertStatementFromRaw(Synth::convertTryStatementToRaw(this) + .(Raw::TryStatement) + .getFinally()) + } + + /** + * Holds if `getFinally()` exists. + */ + final predicate hasFinally() { exists(this.getFinally()) } + + /** + * Gets the statement of this try statement, if it exists. + */ + Statement getStatement() { + result = + Synth::convertStatementFromRaw(Synth::convertTryStatementToRaw(this) + .(Raw::TryStatement) + .getStatement()) + } + + /** + * Holds if `getStatement()` exists. + */ + final predicate hasStatement() { exists(this.getStatement()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/TryStatementCatchEntry.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/TryStatementCatchEntry.qll new file mode 100644 index 000000000000..45c4f27e77b9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/TryStatementCatchEntry.qll @@ -0,0 +1,55 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `TryStatementCatchEntry`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Catch +import codeql.xpp.elements.Statement +import codeql.xpp.elements.internal.XppTupleImpl::Impl as XppTupleImpl + +/** + * INTERNAL: This module contains the fully generated definition of `TryStatementCatchEntry` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::TryStatementCatchEntry` class directly. + * Use the subclass `TryStatementCatchEntry`, where the following predicates are available. + */ + class TryStatementCatchEntry extends Synth::TTryStatementCatchEntry, XppTupleImpl::XppTuple { + override string getAPrimaryQlClass() { result = "TryStatementCatchEntry" } + + /** + * Gets the catch of this try statement catch entry, if it exists. + */ + Catch getCatch() { + result = + Synth::convertCatchFromRaw(Synth::convertTryStatementCatchEntryToRaw(this) + .(Raw::TryStatementCatchEntry) + .getCatch()) + } + + /** + * Holds if `getCatch()` exists. + */ + final predicate hasCatch() { exists(this.getCatch()) } + + /** + * Gets the statement of this try statement catch entry, if it exists. + */ + Statement getStatement() { + result = + Synth::convertStatementFromRaw(Synth::convertTryStatementCatchEntryToRaw(this) + .(Raw::TryStatementCatchEntry) + .getStatement()) + } + + /** + * Holds if `getStatement()` exists. + */ + final predicate hasStatement() { exists(this.getStatement()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/TtsAbortStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/TtsAbortStatement.qll new file mode 100644 index 000000000000..88b833d25e75 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/TtsAbortStatement.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `TtsAbortStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.TtsStatementImpl::Impl as TtsStatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `TtsAbortStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::TtsAbortStatement` class directly. + * Use the subclass `TtsAbortStatement`, where the following predicates are available. + */ + class TtsAbortStatement extends Synth::TTtsAbortStatement, TtsStatementImpl::TtsStatement { + override string getAPrimaryQlClass() { result = "TtsAbortStatement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/TtsBeginStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/TtsBeginStatement.qll new file mode 100644 index 000000000000..633ea1a10481 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/TtsBeginStatement.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `TtsBeginStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.TtsStatementImpl::Impl as TtsStatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `TtsBeginStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::TtsBeginStatement` class directly. + * Use the subclass `TtsBeginStatement`, where the following predicates are available. + */ + class TtsBeginStatement extends Synth::TTtsBeginStatement, TtsStatementImpl::TtsStatement { + override string getAPrimaryQlClass() { result = "TtsBeginStatement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/TtsEndStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/TtsEndStatement.qll new file mode 100644 index 000000000000..fe8cdac99d07 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/TtsEndStatement.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `TtsEndStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.TtsStatementImpl::Impl as TtsStatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `TtsEndStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::TtsEndStatement` class directly. + * Use the subclass `TtsEndStatement`, where the following predicates are available. + */ + class TtsEndStatement extends Synth::TTtsEndStatement, TtsStatementImpl::TtsStatement { + override string getAPrimaryQlClass() { result = "TtsEndStatement" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/TtsStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/TtsStatement.qll new file mode 100644 index 000000000000..8ae911efffed --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/TtsStatement.qll @@ -0,0 +1,21 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `TtsStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `TtsStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::TtsStatement` class directly. + * Use the subclass `TtsStatement`, where the following predicates are available. + */ + class TtsStatement extends Synth::TTtsStatement, StatementImpl::Statement { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/UnaryExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/UnaryExpression.qll new file mode 100644 index 000000000000..7b1a5e177c69 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/UnaryExpression.qll @@ -0,0 +1,37 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `UnaryExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.internal.ExpressionImpl::Impl as ExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `UnaryExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::UnaryExpression` class directly. + * Use the subclass `UnaryExpression`, where the following predicates are available. + */ + class UnaryExpression extends Synth::TUnaryExpression, ExpressionImpl::Expression { + /** + * Gets the expression of this unary expression, if it exists. + */ + Expression getExpression() { + result = + Synth::convertExpressionFromRaw(Synth::convertUnaryExpressionToRaw(this) + .(Raw::UnaryExpression) + .getExpression()) + } + + /** + * Holds if `getExpression()` exists. + */ + final predicate hasExpression() { exists(this.getExpression()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/UnaryMinusExpression.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/UnaryMinusExpression.qll new file mode 100644 index 000000000000..77d0ac0aa97b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/UnaryMinusExpression.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `UnaryMinusExpression`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.UnaryExpressionImpl::Impl as UnaryExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `UnaryMinusExpression` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::UnaryMinusExpression` class directly. + * Use the subclass `UnaryMinusExpression`, where the following predicates are available. + */ + class UnaryMinusExpression extends Synth::TUnaryMinusExpression, + UnaryExpressionImpl::UnaryExpression + { + override string getAPrimaryQlClass() { result = "UnaryMinusExpression" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/UncheckedStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/UncheckedStatement.qll new file mode 100644 index 000000000000..93113f193fed --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/UncheckedStatement.qll @@ -0,0 +1,55 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `UncheckedStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Statement +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `UncheckedStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::UncheckedStatement` class directly. + * Use the subclass `UncheckedStatement`, where the following predicates are available. + */ + class UncheckedStatement extends Synth::TUncheckedStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "UncheckedStatement" } + + /** + * Gets the expression of this unchecked statement, if it exists. + */ + Expression getExpression() { + result = + Synth::convertExpressionFromRaw(Synth::convertUncheckedStatementToRaw(this) + .(Raw::UncheckedStatement) + .getExpression()) + } + + /** + * Holds if `getExpression()` exists. + */ + final predicate hasExpression() { exists(this.getExpression()) } + + /** + * Gets the statement of this unchecked statement, if it exists. + */ + Statement getStatement() { + result = + Synth::convertStatementFromRaw(Synth::convertUncheckedStatementToRaw(this) + .(Raw::UncheckedStatement) + .getStatement()) + } + + /** + * Holds if `getStatement()` exists. + */ + final predicate hasStatement() { exists(this.getStatement()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/UnspecifiedElement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/UnspecifiedElement.qll new file mode 100644 index 000000000000..c457ec882a7e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/UnspecifiedElement.qll @@ -0,0 +1,66 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `UnspecifiedElement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Element +import codeql.xpp.elements.internal.ErrorElementImpl::Impl as ErrorElementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `UnspecifiedElement` and should not + * be referenced directly. + */ +module Generated { + /** + * A node that could not be extracted, for example because of a syntax error. + * INTERNAL: Do not reference the `Generated::UnspecifiedElement` class directly. + * Use the subclass `UnspecifiedElement`, where the following predicates are available. + */ + class UnspecifiedElement extends Synth::TUnspecifiedElement, ErrorElementImpl::ErrorElement { + override string getAPrimaryQlClass() { result = "UnspecifiedElement" } + + /** + * Gets the parent of this unspecified element, if it exists. + */ + Element getParent() { + result = + Synth::convertElementFromRaw(Synth::convertUnspecifiedElementToRaw(this) + .(Raw::UnspecifiedElement) + .getParent()) + } + + /** + * Holds if `getParent()` exists. + */ + final predicate hasParent() { exists(this.getParent()) } + + /** + * Gets the property of this unspecified element. + */ + string getProperty() { + result = Synth::convertUnspecifiedElementToRaw(this).(Raw::UnspecifiedElement).getProperty() + } + + /** + * Gets the index of this unspecified element, if it exists. + */ + int getIndex() { + result = Synth::convertUnspecifiedElementToRaw(this).(Raw::UnspecifiedElement).getIndex() + } + + /** + * Holds if `getIndex()` exists. + */ + final predicate hasIndex() { exists(this.getIndex()) } + + /** + * Gets the error of this unspecified element. + */ + string getError() { + result = Synth::convertUnspecifiedElementToRaw(this).(Raw::UnspecifiedElement).getError() + } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/UpdateStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/UpdateStatement.qll new file mode 100644 index 000000000000..536ca3f3e202 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/UpdateStatement.qll @@ -0,0 +1,123 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `UpdateStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.CrossCompany +import codeql.xpp.elements.Expression +import codeql.xpp.elements.FieldAssignment +import codeql.xpp.elements.JoinSpecification +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `UpdateStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::UpdateStatement` class directly. + * Use the subclass `UpdateStatement`, where the following predicates are available. + */ + class UpdateStatement extends Synth::TUpdateStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "UpdateStatement" } + + /** + * Gets the cross company of this update statement, if it exists. + */ + CrossCompany getCrossCompany() { + result = + Synth::convertCrossCompanyFromRaw(Synth::convertUpdateStatementToRaw(this) + .(Raw::UpdateStatement) + .getCrossCompany()) + } + + /** + * Holds if `getCrossCompany()` exists. + */ + final predicate hasCrossCompany() { exists(this.getCrossCompany()) } + + /** + * Gets the `index`th field assignment of this update statement (0-based). + */ + FieldAssignment getFieldAssignment(int index) { + result = + Synth::convertFieldAssignmentFromRaw(Synth::convertUpdateStatementToRaw(this) + .(Raw::UpdateStatement) + .getFieldAssignment(index)) + } + + /** + * Gets any of the field assignments of this update statement. + */ + final FieldAssignment getAFieldAssignment() { result = this.getFieldAssignment(_) } + + /** + * Gets the number of field assignments of this update statement. + */ + final int getNumberOfFieldAssignments() { + result = count(int i | exists(this.getFieldAssignment(i))) + } + + /** + * Gets the `index`th hint of this update statement (0-based). + */ + string getHint(int index) { + result = Synth::convertUpdateStatementToRaw(this).(Raw::UpdateStatement).getHint(index) + } + + /** + * Gets any of the hints of this update statement. + */ + final string getAHint() { result = this.getHint(_) } + + /** + * Gets the number of hints of this update statement. + */ + final int getNumberOfHints() { result = count(int i | exists(this.getHint(i))) } + + /** + * Gets the joins of this update statement, if it exists. + */ + JoinSpecification getJoins() { + result = + Synth::convertJoinSpecificationFromRaw(Synth::convertUpdateStatementToRaw(this) + .(Raw::UpdateStatement) + .getJoins()) + } + + /** + * Holds if `getJoins()` exists. + */ + final predicate hasJoins() { exists(this.getJoins()) } + + /** + * Gets the table of this update statement, if it exists. + */ + string getTable() { + result = Synth::convertUpdateStatementToRaw(this).(Raw::UpdateStatement).getTable() + } + + /** + * Holds if `getTable()` exists. + */ + final predicate hasTable() { exists(this.getTable()) } + + /** + * Gets the where of this update statement, if it exists. + */ + Expression getWhere() { + result = + Synth::convertExpressionFromRaw(Synth::convertUpdateStatementToRaw(this) + .(Raw::UpdateStatement) + .getWhere()) + } + + /** + * Holds if `getWhere()` exists. + */ + final predicate hasWhere() { exists(this.getWhere()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/UsingStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/UsingStatement.qll new file mode 100644 index 000000000000..b532d079c528 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/UsingStatement.qll @@ -0,0 +1,64 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `UsingStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Statement +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl +import codeql.xpp.elements.VariableDeclaration + +/** + * INTERNAL: This module contains the fully generated definition of `UsingStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::UsingStatement` class directly. + * Use the subclass `UsingStatement`, where the following predicates are available. + */ + class UsingStatement extends Synth::TUsingStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "UsingStatement" } + + /** + * Gets the `index`th disposable object initializer of this using statement (0-based). + */ + VariableDeclaration getDisposableObjectInitializer(int index) { + result = + Synth::convertVariableDeclarationFromRaw(Synth::convertUsingStatementToRaw(this) + .(Raw::UsingStatement) + .getDisposableObjectInitializer(index)) + } + + /** + * Gets any of the disposable object initializers of this using statement. + */ + final VariableDeclaration getADisposableObjectInitializer() { + result = this.getDisposableObjectInitializer(_) + } + + /** + * Gets the number of disposable object initializers of this using statement. + */ + final int getNumberOfDisposableObjectInitializers() { + result = count(int i | exists(this.getDisposableObjectInitializer(i))) + } + + /** + * Gets the statement of this using statement, if it exists. + */ + Statement getStatement() { + result = + Synth::convertStatementFromRaw(Synth::convertUsingStatementToRaw(this) + .(Raw::UsingStatement) + .getStatement()) + } + + /** + * Holds if `getStatement()` exists. + */ + final predicate hasStatement() { exists(this.getStatement()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ValidTimeState.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ValidTimeState.qll new file mode 100644 index 000000000000..7b3761e82b81 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ValidTimeState.qll @@ -0,0 +1,21 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ValidTimeState`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ValidTimeState` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ValidTimeState` class directly. + * Use the subclass `ValidTimeState`, where the following predicates are available. + */ + class ValidTimeState extends Synth::TValidTimeState, AstImpl::Ast { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ValidTimeStateDate.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ValidTimeStateDate.qll new file mode 100644 index 000000000000..3bba1fe147c6 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ValidTimeStateDate.qll @@ -0,0 +1,36 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ValidTimeStateDate`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ValidTimeStateImpl::Impl as ValidTimeStateImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ValidTimeStateDate` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ValidTimeStateDate` class directly. + * Use the subclass `ValidTimeStateDate`, where the following predicates are available. + */ + class ValidTimeStateDate extends Synth::TValidTimeStateDate, ValidTimeStateImpl::ValidTimeState { + override string getAPrimaryQlClass() { result = "ValidTimeStateDate" } + + /** + * Gets the date variable of this valid time state date, if it exists. + */ + string getDateVariable() { + result = + Synth::convertValidTimeStateDateToRaw(this).(Raw::ValidTimeStateDate).getDateVariable() + } + + /** + * Holds if `getDateVariable()` exists. + */ + final predicate hasDateVariable() { exists(this.getDateVariable()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ValidTimeStateRange.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ValidTimeStateRange.qll new file mode 100644 index 000000000000..b5ae6b0f5cb3 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ValidTimeStateRange.qll @@ -0,0 +1,51 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `ValidTimeStateRange`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.ValidTimeStateImpl::Impl as ValidTimeStateImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ValidTimeStateRange` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ValidTimeStateRange` class directly. + * Use the subclass `ValidTimeStateRange`, where the following predicates are available. + */ + class ValidTimeStateRange extends Synth::TValidTimeStateRange, ValidTimeStateImpl::ValidTimeState { + override string getAPrimaryQlClass() { result = "ValidTimeStateRange" } + + /** + * Gets the from date variable of this valid time state range, if it exists. + */ + string getFromDateVariable() { + result = + Synth::convertValidTimeStateRangeToRaw(this) + .(Raw::ValidTimeStateRange) + .getFromDateVariable() + } + + /** + * Holds if `getFromDateVariable()` exists. + */ + final predicate hasFromDateVariable() { exists(this.getFromDateVariable()) } + + /** + * Gets the to date variable of this valid time state range, if it exists. + */ + string getToDateVariable() { + result = + Synth::convertValidTimeStateRangeToRaw(this).(Raw::ValidTimeStateRange).getToDateVariable() + } + + /** + * Holds if `getToDateVariable()` exists. + */ + final predicate hasToDateVariable() { exists(this.getToDateVariable()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/VarType.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/VarType.qll new file mode 100644 index 000000000000..da0fdc22cdc9 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/VarType.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `VarType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.XppTypeImpl::Impl as XppTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `VarType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::VarType` class directly. + * Use the subclass `VarType`, where the following predicates are available. + */ + class VarType extends Synth::TVarType, XppTypeImpl::XppType { + override string getAPrimaryQlClass() { result = "VarType" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/VariableDeclaration.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/VariableDeclaration.qll new file mode 100644 index 000000000000..279cd838aa2d --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/VariableDeclaration.qll @@ -0,0 +1,59 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `VariableDeclaration`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.internal.LocalDeclarationImpl::Impl as LocalDeclarationImpl + +/** + * INTERNAL: This module contains the fully generated definition of `VariableDeclaration` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::VariableDeclaration` class directly. + * Use the subclass `VariableDeclaration`, where the following predicates are available. + */ + class VariableDeclaration extends Synth::TVariableDeclaration, + LocalDeclarationImpl::LocalDeclaration + { + /** + * Gets the element type name of this variable declaration, if it exists. + */ + string getElementTypeName() { + result = + Synth::convertVariableDeclarationToRaw(this).(Raw::VariableDeclaration).getElementTypeName() + } + + /** + * Holds if `getElementTypeName()` exists. + */ + final predicate hasElementTypeName() { exists(this.getElementTypeName()) } + + /** + * Gets the initial value of this variable declaration, if it exists. + */ + Expression getInitialValue() { + result = + Synth::convertExpressionFromRaw(Synth::convertVariableDeclarationToRaw(this) + .(Raw::VariableDeclaration) + .getInitialValue()) + } + + /** + * Holds if `getInitialValue()` exists. + */ + final predicate hasInitialValue() { exists(this.getInitialValue()) } + + /** + * Holds if this variable declaration is const. + */ + predicate isConst() { + Synth::convertVariableDeclarationToRaw(this).(Raw::VariableDeclaration).isConst() + } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/VoidType.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/VoidType.qll new file mode 100644 index 000000000000..aae4035252aa --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/VoidType.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `VoidType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.XppTypeImpl::Impl as XppTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `VoidType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::VoidType` class directly. + * Use the subclass `VoidType`, where the following predicates are available. + */ + class VoidType extends Synth::TVoidType, XppTypeImpl::XppType { + override string getAPrimaryQlClass() { result = "VoidType" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/WhileStatement.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/WhileStatement.qll new file mode 100644 index 000000000000..ec06953192e0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/WhileStatement.qll @@ -0,0 +1,55 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `WhileStatement`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.Expression +import codeql.xpp.elements.Statement +import codeql.xpp.elements.internal.StatementImpl::Impl as StatementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `WhileStatement` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::WhileStatement` class directly. + * Use the subclass `WhileStatement`, where the following predicates are available. + */ + class WhileStatement extends Synth::TWhileStatement, StatementImpl::Statement { + override string getAPrimaryQlClass() { result = "WhileStatement" } + + /** + * Gets the condition of this while statement, if it exists. + */ + Expression getCondition() { + result = + Synth::convertExpressionFromRaw(Synth::convertWhileStatementToRaw(this) + .(Raw::WhileStatement) + .getCondition()) + } + + /** + * Holds if `getCondition()` exists. + */ + final predicate hasCondition() { exists(this.getCondition()) } + + /** + * Gets the statement of this while statement, if it exists. + */ + Statement getStatement() { + result = + Synth::convertStatementFromRaw(Synth::convertWhileStatementToRaw(this) + .(Raw::WhileStatement) + .getStatement()) + } + + /** + * Holds if `getStatement()` exists. + */ + final predicate hasStatement() { exists(this.getStatement()) } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/XppTuple.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/XppTuple.qll new file mode 100644 index 000000000000..f116faaa2e92 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/XppTuple.qll @@ -0,0 +1,26 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `XppTuple`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.LocatableImpl::Impl as LocatableImpl + +/** + * INTERNAL: This module contains the fully generated definition of `XppTuple` and should not + * be referenced directly. + */ +module Generated { + /** + * Base of the classes standing in for tuples in the compiler's AST. + * + * The X++ compiler uses CLR tuples for a handful of grouped values, such as a `catch` + * together with its handler body. The schema has no tuple type, so the generator emits a + * named class per tuple-valued property instead. + * INTERNAL: Do not reference the `Generated::XppTuple` class directly. + * Use the subclass `XppTuple`, where the following predicates are available. + */ + class XppTuple extends Synth::TXppTuple, LocatableImpl::Locatable { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/XppType.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/XppType.qll new file mode 100644 index 000000000000..89b17c07f2f1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/XppType.qll @@ -0,0 +1,38 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `XppType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AstImpl::Impl as AstImpl + +/** + * INTERNAL: This module contains the fully generated definition of `XppType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::XppType` class directly. + * Use the subclass `XppType`, where the following predicates are available. + */ + class XppType extends Synth::TXppType, AstImpl::Ast { + /** + * Gets the element type name of this xpp type, if it exists. + */ + string getElementTypeName() { + result = Synth::convertXppTypeToRaw(this).(Raw::XppType).getElementTypeName() + } + + /** + * Holds if `getElementTypeName()` exists. + */ + final predicate hasElementTypeName() { exists(this.getElementTypeName()) } + + /** + * Holds if this xpp type is obsolete. + */ + predicate isObsolete() { Synth::convertXppTypeToRaw(this).(Raw::XppType).isObsolete() } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/XppTypeCompilationUnit.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/XppTypeCompilationUnit.qll new file mode 100644 index 000000000000..5aaa298eb76b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/XppTypeCompilationUnit.qll @@ -0,0 +1,41 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `XppTypeCompilationUnit`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.CompilationUnitImpl::Impl as CompilationUnitImpl +import codeql.xpp.elements.XppType + +/** + * INTERNAL: This module contains the fully generated definition of `XppTypeCompilationUnit` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::XppTypeCompilationUnit` class directly. + * Use the subclass `XppTypeCompilationUnit`, where the following predicates are available. + */ + class XppTypeCompilationUnit extends Synth::TXppTypeCompilationUnit, + CompilationUnitImpl::CompilationUnit + { + override string getAPrimaryQlClass() { result = "XppTypeCompilationUnit" } + + /** + * Gets the type of this xpp type compilation unit, if it exists. + */ + XppType getType() { + result = + Synth::convertXppTypeFromRaw(Synth::convertXppTypeCompilationUnitToRaw(this) + .(Raw::XppTypeCompilationUnit) + .getType()) + } + + /** + * Holds if `getType()` exists. + */ + final predicate hasType() { exists(this.getType()) } + } +} diff --git a/xpp/ql/lib/qlpack.yml b/xpp/ql/lib/qlpack.yml new file mode 100644 index 000000000000..9c7649a2af16 --- /dev/null +++ b/xpp/ql/lib/qlpack.yml @@ -0,0 +1,17 @@ +name: microsoft/xpp-all +version: 0.0.1 +groups: + - xpp + - microsoft-all +extractor: xpp +dbscheme: xpp.dbscheme +library: true +dependencies: + codeql/controlflow: ${workspace} + codeql/dataflow: ${workspace} + codeql/mad: ${workspace} + codeql/ssa: ${workspace} + codeql/threat-models: ${workspace} + codeql/typetracking: ${workspace} + codeql/util: ${workspace} +warnOnImplicitThis: true diff --git a/xpp/ql/lib/xpp.dbscheme b/xpp/ql/lib/xpp.dbscheme new file mode 100644 index 000000000000..c07bc5c57f79 --- /dev/null +++ b/xpp/ql/lib/xpp.dbscheme @@ -0,0 +1,3925 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +// from prefix.dbscheme +/** + * The source location of the snapshot. + */ +sourceLocationPrefix( + string prefix: string ref +); + + +// from schema + +@element = + @file +| @locatable +| @location +; + +#keyset[id] +element_is_unknown( + int id: @element ref +); + +files( + unique int id: @file, + string name: string ref +); + +@locatable = + @ast +| @comment +| @error_element +| @xpp_tuple +; + +#keyset[id] +locatable_locations( + int id: @locatable ref, + int location: @location_or_none ref +); + +locations( + unique int id: @location, + int file: @file_or_none ref, + int start_line: int ref, + int start_column: int ref, + int end_line: int ref, + int end_column: int ref +); + +@ast = + @array_specification +| @attribute +| @attribute_expression +| @attribute_list +| @attribute_literal +| @case +| @catch +| @class_access_modifier +| @compilation_unit +| @cross_company +| @expression +| @field_assignment +| @field_specification +| @for_assign +| @insert_field_specification +| @instance_name +| @join_specification +| @modifier +| @order_element +| @qualifier +| @query +| @query_data_source +| @query_data_source_having +| @query_data_source_range +| @query_data_source_relation +| @selection +| @selection_field +| @statement +| @switch_case +| @table_field_reference +| @valid_time_state +| @xpp_type +; + +comments( + unique int id: @comment +); + +#keyset[id] +comment_texts( + int id: @comment ref, + string text: string ref +); + +@error_element = + @unspecified_element +; + +@xpp_tuple = + @attribute_named_parameter_entry +| @compilation_unit_region_entry +| @evaluation_actual_parameter_entry +| @model_element_using_entry +| @switch_statement_case_entry +| @try_statement_catch_entry +; + +array_specifications( + unique int id: @array_specification +); + +#keyset[id] +array_specification_index1s( + int id: @array_specification ref, + int index1: @expression_or_none ref +); + +#keyset[id] +array_specification_index2s( + int id: @array_specification ref, + int index2: @expression_or_none ref +); + +attributes( + unique int id: @attribute +); + +#keyset[id] +attribute_names( + int id: @attribute ref, + string name: string ref +); + +#keyset[id, index] +attribute_named_parameters( + int id: @attribute ref, + int index: int ref, + int named_parameter: @attribute_named_parameter_entry_or_none ref +); + +#keyset[id] +attribute_non_fully_qualified_names( + int id: @attribute ref, + string non_fully_qualified_name: string ref +); + +#keyset[id, index] +attribute_parameters( + int id: @attribute ref, + int index: int ref, + int parameter: @attribute_expression_or_none ref +); + +attribute_expressions( + unique int id: @attribute_expression +); + +#keyset[id] +attribute_expression_literals( + int id: @attribute_expression ref, + int literal: @attribute_literal_or_none ref +); + +attribute_lists( + unique int id: @attribute_list +); + +#keyset[id, index] +attribute_list_attributes( + int id: @attribute_list ref, + int index: int ref, + int attribute: @attribute_or_none ref +); + +#keyset[id] +attribute_list_contains_internal_use_only_attribute( + int id: @attribute_list ref +); + +@attribute_literal = + @container_attribute_literal +| @default_type_attribute_literal +| @enum_attribute_literal +| @intrinsic_attribute_literal +; + +attribute_named_parameter_entries( + unique int id: @attribute_named_parameter_entry +); + +#keyset[id] +attribute_named_parameter_entry_item1s( + int id: @attribute_named_parameter_entry ref, + string item1: string ref +); + +#keyset[id] +attribute_named_parameter_entry_attribute_expressions( + int id: @attribute_named_parameter_entry ref, + int attribute_expression: @attribute_expression_or_none ref +); + +@case = + @case_default +| @case_values +; + +@catch = + @catch_all_values +| @catch_expression +| @catch_update_conflict +; + +class_access_modifiers( + unique int id: @class_access_modifier +); + +#keyset[id] +class_access_modifier_class_modifiers( + int id: @class_access_modifier ref, + string class_modifiers: string ref +); + +@compilation_unit = + @declaration +| @expression_compilation_unit +| @method_or_delegate +| @model_element +| @xpp_type_compilation_unit +; + +#keyset[id] +compilation_unit_comments( + int id: @compilation_unit ref, + int comments: @comment_or_none ref +); + +#keyset[id] +compilation_unit_is_name_escaped( + int id: @compilation_unit ref +); + +#keyset[id] +compilation_unit_names( + int id: @compilation_unit ref, + string name: string ref +); + +#keyset[id] +compilation_unit_needs_transformation( + int id: @compilation_unit ref +); + +#keyset[id, index] +compilation_unit_regions( + int id: @compilation_unit ref, + int index: int ref, + int region: @compilation_unit_region_entry_or_none ref +); + +compilation_unit_region_entries( + unique int id: @compilation_unit_region_entry +); + +#keyset[id] +compilation_unit_region_entry_comments( + int id: @compilation_unit_region_entry ref, + int comment: @comment_or_none ref +); + +#keyset[id] +compilation_unit_region_entry_comment2s( + int id: @compilation_unit_region_entry ref, + int comment2: @comment_or_none ref +); + +@cross_company = + @cross_company_all +| @cross_company_container +; + +evaluation_actual_parameter_entries( + unique int id: @evaluation_actual_parameter_entry +); + +#keyset[id] +evaluation_actual_parameter_entry_item1( + int id: @evaluation_actual_parameter_entry ref +); + +#keyset[id] +evaluation_actual_parameter_entry_expressions( + int id: @evaluation_actual_parameter_entry ref, + int expression: @expression_or_none ref +); + +@expression = + @binary_expression +| @conditional_expression +| @empty_expression +| @evaluation +| @field_expression +| @intrinsic +| @is_as_expression +| @literal_expression +| @new_clr_array_expression +| @placeholder +| @table_lookup_expression +| @unary_expression +; + +#keyset[id] +expression_is_const( + int id: @expression ref +); + +#keyset[id] +expression_transformations( + int id: @expression ref, + int transformation: @expression_or_none ref +); + +field_assignments( + unique int id: @field_assignment +); + +#keyset[id] +field_assignment_expressions( + int id: @field_assignment ref, + int expression: @expression_or_none ref +); + +#keyset[id] +field_assignment_extension_names( + int id: @field_assignment ref, + string extension_name: string ref +); + +#keyset[id] +field_assignment_field_names( + int id: @field_assignment ref, + string field_name: string ref +); + +#keyset[id] +field_assignment_indices( + int id: @field_assignment ref, + int index: int ref +); + +@field_specification = + @qualified_field +| @qualified_numbered_field +| @qualified_static_field +| @simple_field +| @static_field +; + +#keyset[id] +field_specification_array_indices( + int id: @field_specification ref, + int array_index: @expression_or_none ref +); + +#keyset[id] +field_specification_element_type_names( + int id: @field_specification ref, + string element_type_name: string ref +); + +#keyset[id] +field_specification_is_const( + int id: @field_specification ref +); + +#keyset[id] +field_specification_is_internal( + int id: @field_specification ref +); + +#keyset[id] +field_specification_is_private( + int id: @field_specification ref +); + +#keyset[id] +field_specification_is_protected( + int id: @field_specification ref +); + +#keyset[id] +field_specification_is_public( + int id: @field_specification ref +); + +#keyset[id] +field_specification_is_read_only( + int id: @field_specification ref +); + +#keyset[id] +field_specification_is_static( + int id: @field_specification ref +); + +#keyset[id] +field_specification_qualifiers( + int id: @field_specification ref, + int qualifier: @qualifier_or_none ref +); + +@for_assign = + @for_declaration_assign +| @for_expression_assign +| @for_field_post_decrement +| @for_field_post_increment +| @for_field_pre_decrement +| @for_field_pre_increment +; + +#keyset[id] +for_assign_field_specifications( + int id: @for_assign ref, + int field_specification: @field_specification_or_none ref +); + +insert_field_specifications( + unique int id: @insert_field_specification +); + +#keyset[id] +insert_field_specification_array_indices( + int id: @insert_field_specification ref, + int array_index: int ref +); + +#keyset[id] +insert_field_specification_extension_names( + int id: @insert_field_specification ref, + string extension_name: string ref +); + +#keyset[id] +insert_field_specification_is_extension( + int id: @insert_field_specification ref +); + +#keyset[id] +insert_field_specification_names( + int id: @insert_field_specification ref, + string name: string ref +); + +@instance_name = + @qualified_instance_name +| @simple_instance_name +; + +join_specifications( + unique int id: @join_specification +); + +#keyset[id] +join_specification_kinds( + int id: @join_specification ref, + string kind: string ref +); + +#keyset[id] +join_specification_queries( + int id: @join_specification ref, + int query: @query_or_none ref +); + +model_element_using_entries( + unique int id: @model_element_using_entry +); + +#keyset[id] +model_element_using_entry_item2s( + int id: @model_element_using_entry ref, + string item2: string ref +); + +#keyset[id] +model_element_using_entry_item3s( + int id: @model_element_using_entry ref, + string item3: string ref +); + +modifiers( + unique int id: @modifier +); + +#keyset[id] +modifier_modifiers( + int id: @modifier ref, + string modifiers: string ref +); + +@order_element = + @global_order_element +| @simple_order_element +; + +#keyset[id] +order_element_directions( + int id: @order_element ref, + string direction: string ref +); + +#keyset[id] +order_element_fields( + int id: @order_element ref, + string field: string ref +); + +#keyset[id] +order_element_indices( + int id: @order_element ref, + int index: int ref +); + +@qualifier = + @expression_qualifier +| @simple_qualifier +; + +queries( + unique int id: @query +); + +#keyset[id] +query_buffer_names( + int id: @query ref, + string buffer_name: string ref +); + +#keyset[id] +query_cross_companies( + int id: @query ref, + int cross_company: @cross_company_or_none ref +); + +#keyset[id, index] +query_group_by_elements( + int id: @query ref, + int index: int ref, + int group_by_element: @order_element_or_none ref +); + +#keyset[id] +query_index_names( + int id: @query ref, + string index_name: string ref +); + +#keyset[id] +query_joins( + int id: @query ref, + int joins: @join_specification_or_none ref +); + +#keyset[id, index] +query_order_by_elements( + int id: @query ref, + int index: int ref, + int order_by_element: @order_element_or_none ref +); + +#keyset[id] +query_selections( + int id: @query ref, + int selection: @selection_or_none ref +); + +#keyset[id, index] +query_selection_hints( + int id: @query ref, + int index: int ref, + string selection_hint: string ref +); + +#keyset[id] +query_uses_hint( + int id: @query ref +); + +#keyset[id] +query_valid_time_states( + int id: @query ref, + int valid_time_state: @valid_time_state_or_none ref +); + +#keyset[id] +query_wheres( + int id: @query ref, + int where: @expression_or_none ref +); + +query_data_sources( + unique int id: @query_data_source +); + +#keyset[id, index] +query_data_source_data_sources( + int id: @query_data_source ref, + int index: int ref, + int data_source: @query_data_source_or_none ref +); + +#keyset[id] +query_data_source_element_type_names( + int id: @query_data_source ref, + string element_type_name: string ref +); + +#keyset[id] +query_data_source_fetch_modes( + int id: @query_data_source ref, + string fetch_mode: string ref +); + +#keyset[id, index] +query_data_source_fields( + int id: @query_data_source ref, + int index: int ref, + string field: string ref +); + +#keyset[id] +query_data_source_first_fast( + int id: @query_data_source ref +); + +#keyset[id] +query_data_source_first_only( + int id: @query_data_source ref +); + +#keyset[id, index] +query_data_source_group_bies( + int id: @query_data_source ref, + int index: int ref, + int group_by: @global_order_element_or_none ref +); + +#keyset[id, index] +query_data_source_having_prop( + int id: @query_data_source ref, + int index: int ref, + int having: @query_data_source_having_or_none ref +); + +#keyset[id] +query_data_source_join_modes( + int id: @query_data_source ref, + string join_mode: string ref +); + +#keyset[id] +query_data_source_names( + int id: @query_data_source ref, + string name: string ref +); + +#keyset[id, index] +query_data_source_order_bies( + int id: @query_data_source ref, + int index: int ref, + int order_by: @global_order_element_or_none ref +); + +#keyset[id] +query_data_source_parent_data_sources( + int id: @query_data_source ref, + int parent_data_source: @query_data_source_or_none ref +); + +#keyset[id] +query_data_source_path_contributions( + int id: @query_data_source ref, + string path_contribution: string ref +); + +#keyset[id, index] +query_data_source_ranges_prop( + int id: @query_data_source ref, + int index: int ref, + int range: @query_data_source_range_or_none ref +); + +#keyset[id, index] +query_data_source_relations_prop( + int id: @query_data_source ref, + int index: int ref, + int relation: @query_data_source_relation_or_none ref +); + +#keyset[id] +query_data_source_select_with_repeatable_read( + int id: @query_data_source ref +); + +#keyset[id] +query_data_source_tables( + int id: @query_data_source ref, + string table: string ref +); + +#keyset[id] +query_data_source_update( + int id: @query_data_source ref +); + +query_data_source_havings( + unique int id: @query_data_source_having +); + +#keyset[id] +query_data_source_having_data_source_names( + int id: @query_data_source_having ref, + string data_source_name: string ref +); + +#keyset[id] +query_data_source_having_selections( + int id: @query_data_source_having ref, + int selection: @selection_field_or_none ref +); + +#keyset[id] +query_data_source_having_values( + int id: @query_data_source_having ref, + string value: string ref +); + +query_data_source_ranges( + unique int id: @query_data_source_range +); + +#keyset[id] +query_data_source_range_fields( + int id: @query_data_source_range ref, + string field: string ref +); + +#keyset[id] +query_data_source_range_values( + int id: @query_data_source_range ref, + string value: string ref +); + +query_data_source_relations( + unique int id: @query_data_source_relation +); + +#keyset[id] +query_data_source_relation_fields( + int id: @query_data_source_relation ref, + string field: string ref +); + +#keyset[id] +query_data_source_relation_join_data_sources( + int id: @query_data_source_relation ref, + string join_data_source: string ref +); + +#keyset[id] +query_data_source_relation_related_fields( + int id: @query_data_source_relation ref, + string related_field: string ref +); + +@selection = + @all_fields_selection +| @explicit_selection +| @implicit_selection +; + +@selection_field = + @aggregate_selection +| @field_selection +; + +#keyset[id] +selection_field_extension_names( + int id: @selection_field ref, + string extension_name: string ref +); + +#keyset[id] +selection_field_fields( + int id: @selection_field ref, + string field: string ref +); + +@statement = + @assignment_statement +| @break_statement +| @breakpoint_statement +| @change_statement +| @compound_statement +| @continue_statement +| @delete_statement +| @do_while_statement +| @empty_statement +| @expression_statement +| @find_statement +| @flush_statement +| @for_statement +| @if_statement +| @if_then_else_statement +| @insert_statement +| @local_declarations_statement +| @move_cursor_statement +| @print_statement +| @retry_statement +| @return_statement +| @search_statement +| @switch_statement +| @throw_statement +| @try_statement +| @tts_statement +| @unchecked_statement +| @update_statement +| @using_statement +| @while_statement +; + +#keyset[id] +statement_comments( + int id: @statement ref, + string comments: string ref +); + +switch_cases( + unique int id: @switch_case +); + +switch_statement_case_entries( + unique int id: @switch_statement_case_entry +); + +#keyset[id] +switch_statement_case_entry_cases( + int id: @switch_statement_case_entry ref, + int case_: @case_or_none ref +); + +#keyset[id, index] +switch_statement_case_entry_statements( + int id: @switch_statement_case_entry ref, + int index: int ref, + int statement: @statement_or_none ref +); + +@table_field_reference = + @named_field_reference +| @numbered_field_reference +; + +#keyset[id] +table_field_reference_indices( + int id: @table_field_reference ref, + int index: @expression_or_none ref +); + +try_statement_catch_entries( + unique int id: @try_statement_catch_entry +); + +#keyset[id] +try_statement_catch_entry_catches( + int id: @try_statement_catch_entry ref, + int catch: @catch_or_none ref +); + +#keyset[id] +try_statement_catch_entry_statements( + int id: @try_statement_catch_entry ref, + int statement: @statement_or_none ref +); + +unspecified_elements( + unique int id: @unspecified_element, + string property: string ref, + string error: string ref +); + +#keyset[id] +unspecified_element_parents( + int id: @unspecified_element ref, + int parent: @element ref +); + +#keyset[id] +unspecified_element_indices( + int id: @unspecified_element ref, + int index: int ref +); + +@valid_time_state = + @valid_time_state_date +| @valid_time_state_range +; + +@xpp_type = + @any_type +| @boolean_type +| @container_type +| @date_time_type +| @date_type +| @dbl_type +| @enumeration_type +| @generic_xpp_type +| @guid_type +| @int64_type +| @int_type +| @provided_type +| @string_type +| @var_type +| @void_type +; + +#keyset[id] +xpp_type_element_type_names( + int id: @xpp_type ref, + string element_type_name: string ref +); + +#keyset[id] +xpp_type_is_obsolete( + int id: @xpp_type ref +); + +@aggregate_selection = + @avg_aggregate_selection +| @count_aggregate_selection +| @max_aggregate_selection +| @min_aggregate_selection +| @sum_aggregate_selection +; + +all_fields_selections( + unique int id: @all_fields_selection +); + +any_types( + unique int id: @any_type +); + +@assignment_statement = + @assign_multiple_field_statement +| @assignment_single_field +; + +@binary_expression = + @add_expression +| @and_expression +| @divide_expression +| @in_expression +| @integer_divide_expression +| @mod_expression +| @multiply_expression +| @or_expression +| @physical_and_expression +| @physical_or_expression +| @physical_xor_expression +| @relational_expression +| @shift_left_expression +| @shift_right_expression +| @subtract_expression +; + +#keyset[id] +binary_expression_lefts( + int id: @binary_expression ref, + int left: @expression_or_none ref +); + +#keyset[id] +binary_expression_rights( + int id: @binary_expression ref, + int right: @expression_or_none ref +); + +boolean_types( + unique int id: @boolean_type +); + +break_statements( + unique int id: @break_statement +); + +breakpoint_statements( + unique int id: @breakpoint_statement +); + +case_defaults( + unique int id: @case_default +); + +case_values( + unique int id: @case_values +); + +#keyset[id, index] +case_values_values( + int id: @case_values ref, + int index: int ref, + int value: @expression_or_none ref +); + +catch_all_values( + unique int id: @catch_all_values +); + +catch_expressions( + unique int id: @catch_expression +); + +#keyset[id] +catch_expression_expressions( + int id: @catch_expression ref, + int expression: @expression_or_none ref +); + +catch_update_conflicts( + unique int id: @catch_update_conflict +); + +#keyset[id] +catch_update_conflict_expressions( + int id: @catch_update_conflict ref, + int expression: @expression_or_none ref +); + +#keyset[id] +catch_update_conflict_instances( + int id: @catch_update_conflict ref, + int instance: @instance_name_or_none ref +); + +@change_statement = + @change_company_statement +; + +#keyset[id] +change_statement_expressions( + int id: @change_statement ref, + int expression: @expression_or_none ref +); + +#keyset[id] +change_statement_statements( + int id: @change_statement ref, + int statement: @statement_or_none ref +); + +compound_statements( + unique int id: @compound_statement +); + +#keyset[id, index] +compound_statement_contents( + int id: @compound_statement ref, + int index: int ref, + int content: @statement_or_none ref +); + +conditional_expressions( + unique int id: @conditional_expression +); + +#keyset[id] +conditional_expression_conditions( + int id: @conditional_expression ref, + int condition: @expression_or_none ref +); + +#keyset[id] +conditional_expression_else_parts( + int id: @conditional_expression ref, + int else_part: @expression_or_none ref +); + +#keyset[id] +conditional_expression_if_parts( + int id: @conditional_expression ref, + int if_part: @expression_or_none ref +); + +container_attribute_literals( + unique int id: @container_attribute_literal +); + +#keyset[id, index] +container_attribute_literal_values( + int id: @container_attribute_literal ref, + int index: int ref, + int value: @attribute_expression_or_none ref +); + +container_types( + unique int id: @container_type +); + +continue_statements( + unique int id: @continue_statement +); + +cross_company_alls( + unique int id: @cross_company_all +); + +cross_company_containers( + unique int id: @cross_company_container +); + +#keyset[id] +cross_company_container_containers( + int id: @cross_company_container ref, + int container: @expression_or_none ref +); + +date_time_types( + unique int id: @date_time_type +); + +date_types( + unique int id: @date_type +); + +dbl_types( + unique int id: @dbl_type +); + +@declaration = + @field_declaration +| @local_declaration +; + +#keyset[id] +declaration_array_specifications( + int id: @declaration ref, + int array_specification: @array_specification_or_none ref +); + +#keyset[id, index] +declaration_modifier_lists( + int id: @declaration ref, + int index: int ref, + int modifier_list: @modifier_or_none ref +); + +#keyset[id] +declaration_modifiers( + int id: @declaration ref, + string modifiers: string ref +); + +#keyset[id] +declaration_types( + int id: @declaration ref, + int type_: @xpp_type_or_none ref +); + +@default_type_attribute_literal = + @boolean_attribute_literal +| @date_attribute_literal +| @date_time_attribute_literal +| @dbl_attribute_literal +| @guid_attribute_literal +| @int64_attribute_literal +| @int_attribute_literal +| @string_attribute_literal +; + +#keyset[id] +default_type_attribute_literal_scanned_literal_values( + int id: @default_type_attribute_literal ref, + string scanned_literal_value: string ref +); + +delete_statements( + unique int id: @delete_statement +); + +#keyset[id] +delete_statement_queries( + int id: @delete_statement ref, + int query: @query_or_none ref +); + +do_while_statements( + unique int id: @do_while_statement +); + +#keyset[id] +do_while_statement_conditions( + int id: @do_while_statement ref, + int condition: @expression_or_none ref +); + +#keyset[id] +do_while_statement_statements( + int id: @do_while_statement ref, + int statement: @statement_or_none ref +); + +empty_expressions( + unique int id: @empty_expression +); + +empty_statements( + unique int id: @empty_statement +); + +enum_attribute_literals( + unique int id: @enum_attribute_literal +); + +#keyset[id] +enum_attribute_literal_literals( + int id: @enum_attribute_literal ref, + string literal: string ref +); + +#keyset[id] +enum_attribute_literal_type_names( + int id: @enum_attribute_literal ref, + string type_name: string ref +); + +enumeration_types( + unique int id: @enumeration_type +); + +#keyset[id] +enumeration_type_enumerated_types( + int id: @enumeration_type ref, + string enumerated_type: string ref +); + +#keyset[id] +enumeration_type_full_names( + int id: @enumeration_type ref, + string full_name: string ref +); + +#keyset[id] +enumeration_type_namespaces( + int id: @enumeration_type ref, + string namespace: string ref +); + +@evaluation = + @generic_evaluation +| @new_call +| @next_expression +| @provided_type_static_call +| @super_call +; + +#keyset[id, index] +evaluation_actual_parameters( + int id: @evaluation ref, + int index: int ref, + int actual_parameter: @evaluation_actual_parameter_entry_or_none ref +); + +explicit_selections( + unique int id: @explicit_selection +); + +#keyset[id, index] +explicit_selection_fields( + int id: @explicit_selection ref, + int index: int ref, + int field: @selection_field_or_none ref +); + +expression_compilation_units( + unique int id: @expression_compilation_unit +); + +#keyset[id] +expression_compilation_unit_expressions( + int id: @expression_compilation_unit ref, + int expression: @expression_or_none ref +); + +#keyset[id] +expression_compilation_unit_path_contributions( + int id: @expression_compilation_unit ref, + string path_contribution: string ref +); + +expression_qualifiers( + unique int id: @expression_qualifier +); + +#keyset[id] +expression_qualifier_expressions( + int id: @expression_qualifier ref, + int expression: @expression_or_none ref +); + +expression_statements( + unique int id: @expression_statement +); + +#keyset[id] +expression_statement_element_type_names( + int id: @expression_statement ref, + string element_type_name: string ref +); + +#keyset[id] +expression_statement_expressions( + int id: @expression_statement ref, + int expression: @expression_or_none ref +); + +@field_expression = + @qualified_static_field_expression +; + +#keyset[id] +field_expression_fields( + int id: @field_expression ref, + int field: @field_specification_or_none ref +); + +#keyset[id] +field_expression_is_enum( + int id: @field_expression ref +); + +field_selections( + unique int id: @field_selection +); + +#keyset[id] +field_selection_indices( + int id: @field_selection ref, + int index: int ref +); + +find_statements( + unique int id: @find_statement +); + +#keyset[id] +find_statement_queries( + int id: @find_statement ref, + int query: @query_or_none ref +); + +flush_statements( + unique int id: @flush_statement +); + +#keyset[id, index] +flush_statement_id_lists( + int id: @flush_statement ref, + int index: int ref, + string id_list: string ref +); + +for_declaration_assigns( + unique int id: @for_declaration_assign +); + +#keyset[id, index] +for_declaration_assign_initialization_declarations( + int id: @for_declaration_assign ref, + int index: int ref, + int initialization_declaration: @variable_declaration_or_none ref +); + +@for_expression_assign = + @for_field_assign +| @for_field_decrement_assign +| @for_field_increment_assign +; + +#keyset[id] +for_expression_assign_expressions( + int id: @for_expression_assign ref, + int expression: @expression_or_none ref +); + +for_field_post_decrements( + unique int id: @for_field_post_decrement +); + +for_field_post_increments( + unique int id: @for_field_post_increment +); + +for_field_pre_decrements( + unique int id: @for_field_pre_decrement +); + +for_field_pre_increments( + unique int id: @for_field_pre_increment +); + +for_statements( + unique int id: @for_statement +); + +#keyset[id] +for_statement_conditions( + int id: @for_statement ref, + int condition: @expression_or_none ref +); + +#keyset[id] +for_statement_initializations( + int id: @for_statement ref, + int initialization: @for_assign_or_none ref +); + +#keyset[id] +for_statement_statements( + int id: @for_statement ref, + int statement: @statement_or_none ref +); + +#keyset[id] +for_statement_updates( + int id: @for_statement ref, + int update: @for_assign_or_none ref +); + +@generic_xpp_type = + @clr_type +| @named_type +; + +#keyset[id, index] +generic_xpp_type_type_argument_lists( + int id: @generic_xpp_type ref, + int index: int ref, + int type_argument_list: @xpp_type_or_none ref +); + +global_order_elements( + unique int id: @global_order_element +); + +#keyset[id] +global_order_element_extension_names( + int id: @global_order_element ref, + string extension_name: string ref +); + +#keyset[id] +global_order_element_tables( + int id: @global_order_element ref, + string table: string ref +); + +guid_types( + unique int id: @guid_type +); + +if_statements( + unique int id: @if_statement +); + +#keyset[id] +if_statement_conditions( + int id: @if_statement ref, + int condition: @expression_or_none ref +); + +#keyset[id] +if_statement_consequents( + int id: @if_statement ref, + int consequent: @statement_or_none ref +); + +if_then_else_statements( + unique int id: @if_then_else_statement +); + +#keyset[id] +if_then_else_statement_antecedents( + int id: @if_then_else_statement ref, + int antecedent: @statement_or_none ref +); + +#keyset[id] +if_then_else_statement_conditions( + int id: @if_then_else_statement ref, + int condition: @expression_or_none ref +); + +#keyset[id] +if_then_else_statement_consequents( + int id: @if_then_else_statement ref, + int consequent: @statement_or_none ref +); + +implicit_selections( + unique int id: @implicit_selection +); + +insert_statements( + unique int id: @insert_statement +); + +#keyset[id] +insert_statement_cross_companies( + int id: @insert_statement ref, + int cross_company: @cross_company_or_none ref +); + +#keyset[id, index] +insert_statement_fields( + int id: @insert_statement ref, + int index: int ref, + int field: @insert_field_specification_or_none ref +); + +#keyset[id] +insert_statement_queries( + int id: @insert_statement ref, + int query: @query_or_none ref +); + +#keyset[id] +insert_statement_tables( + int id: @insert_statement ref, + string table: string ref +); + +int64_types( + unique int id: @int64_type +); + +int_types( + unique int id: @int_type +); + +intrinsics( + unique int id: @intrinsic +); + +#keyset[id] +intrinsic_arg1s( + int id: @intrinsic ref, + string arg1: string ref +); + +#keyset[id] +intrinsic_arg2s( + int id: @intrinsic ref, + string arg2: string ref +); + +#keyset[id] +intrinsic_arg3s( + int id: @intrinsic ref, + string arg3: string ref +); + +#keyset[id] +intrinsic_names( + int id: @intrinsic ref, + string name: string ref +); + +intrinsic_attribute_literals( + unique int id: @intrinsic_attribute_literal +); + +#keyset[id] +intrinsic_attribute_literal_arg1s( + int id: @intrinsic_attribute_literal ref, + string arg1: string ref +); + +#keyset[id] +intrinsic_attribute_literal_arg2s( + int id: @intrinsic_attribute_literal ref, + string arg2: string ref +); + +#keyset[id] +intrinsic_attribute_literal_arg3s( + int id: @intrinsic_attribute_literal ref, + string arg3: string ref +); + +#keyset[id] +intrinsic_attribute_literal_function_names( + int id: @intrinsic_attribute_literal ref, + string function_name: string ref +); + +@is_as_expression = + @as_clr_expression +| @as_expression +| @is_clr_expression +| @is_expression +; + +#keyset[id] +is_as_expression_expressions( + int id: @is_as_expression ref, + int expression: @expression_or_none ref +); + +#keyset[id] +is_as_expression_type_names( + int id: @is_as_expression ref, + string type_name: string ref +); + +@literal_expression = + @clr_enumeration_literal_expression +| @container_literal_expression +| @default_type_literal_expression +| @enumeration_literal_expression +| @null_literal_expression +; + +local_declarations_statements( + unique int id: @local_declarations_statement +); + +#keyset[id, index] +local_declarations_statement_declarations( + int id: @local_declarations_statement ref, + int index: int ref, + int declaration: @local_declaration_or_none ref +); + +@method_or_delegate = + @delegate +| @method +; + +#keyset[id] +method_or_delegate_attributes( + int id: @method_or_delegate ref, + int attributes: @attribute_list_or_none ref +); + +#keyset[id, index] +method_or_delegate_modifier_lists( + int id: @method_or_delegate ref, + int index: int ref, + int modifier_list: @modifier_or_none ref +); + +#keyset[id, index] +method_or_delegate_parameters( + int id: @method_or_delegate ref, + int index: int ref, + int parameter: @parameter_declaration_or_none ref +); + +#keyset[id] +method_or_delegate_path_contributions( + int id: @method_or_delegate ref, + string path_contribution: string ref +); + +#keyset[id] +method_or_delegate_types( + int id: @method_or_delegate ref, + int type_: @xpp_type_or_none ref +); + +#keyset[id, index] +method_or_delegate_type_parameters( + int id: @method_or_delegate ref, + int index: int ref, + string type_parameter: string ref +); + +@model_element = + @class_or_interface +| @form_model_element +| @form_nested_element +| @query_model_element +| @table +; + +#keyset[id, index] +model_element_base_methods( + int id: @model_element ref, + int index: int ref, + int base_method: @method_or_delegate_or_none ref +); + +#keyset[id, index] +model_element_extend_generic_parameters( + int id: @model_element ref, + int index: int ref, + int extend_generic_parameter: @xpp_type_or_none ref +); + +#keyset[id] +model_element_full_names( + int id: @model_element ref, + string full_name: string ref +); + +#keyset[id] +model_element_full_name_no_default_namespaces( + int id: @model_element ref, + string full_name_no_default_namespace: string ref +); + +#keyset[id] +model_element_is_internal( + int id: @model_element ref +); + +#keyset[id] +model_element_is_kernel( + int id: @model_element ref +); + +#keyset[id] +model_element_is_obsolete( + int id: @model_element ref +); + +#keyset[id] +model_element_is_private( + int id: @model_element ref +); + +#keyset[id] +model_element_is_public( + int id: @model_element ref +); + +#keyset[id, index] +model_element_methods( + int id: @model_element ref, + int index: int ref, + int method: @method_or_delegate_or_none ref +); + +#keyset[id] +model_element_model_ids( + int id: @model_element ref, + int model_id: int ref +); + +#keyset[id, index] +model_element_modifier_lists( + int id: @model_element ref, + int index: int ref, + int modifier_list: @class_access_modifier_or_none ref +); + +#keyset[id] +model_element_modifiers( + int id: @model_element ref, + string modifiers: string ref +); + +#keyset[id] +model_element_namespaces( + int id: @model_element ref, + string namespace: string ref +); + +#keyset[id, index] +model_element_nested_classes( + int id: @model_element ref, + int index: int ref, + int nested_class: @class_or_interface_or_none ref +); + +#keyset[id] +model_element_path_contributions( + int id: @model_element ref, + string path_contribution: string ref +); + +#keyset[id, index] +model_element_type_parameters( + int id: @model_element ref, + int index: int ref, + string type_parameter: string ref +); + +#keyset[id, index] +model_element_usings( + int id: @model_element ref, + int index: int ref, + int using: @model_element_using_entry_or_none ref +); + +#keyset[id] +model_element_visibilities( + int id: @model_element ref, + string visibility: string ref +); + +move_cursor_statements( + unique int id: @move_cursor_statement +); + +#keyset[id] +move_cursor_statement_selections( + int id: @move_cursor_statement ref, + int selection: @selection_or_none ref +); + +#keyset[id] +move_cursor_statement_tables( + int id: @move_cursor_statement ref, + string table: string ref +); + +named_field_references( + unique int id: @named_field_reference +); + +#keyset[id] +named_field_reference_extension_names( + int id: @named_field_reference ref, + string extension_name: string ref +); + +#keyset[id] +named_field_reference_field_names( + int id: @named_field_reference ref, + string field_name: string ref +); + +new_clr_array_expressions( + unique int id: @new_clr_array_expression +); + +#keyset[id] +new_clr_array_expression_full_names( + int id: @new_clr_array_expression ref, + string full_name: string ref +); + +#keyset[id, index] +new_clr_array_expression_rectangular_dimensions( + int id: @new_clr_array_expression ref, + int index: int ref, + int rectangular_dimension: int ref +); + +#keyset[id, index] +new_clr_array_expression_sizes( + int id: @new_clr_array_expression ref, + int index: int ref, + int size: @expression_or_none ref +); + +#keyset[id, index] +new_clr_array_expression_type_argument_lists( + int id: @new_clr_array_expression ref, + int index: int ref, + int type_argument_list: @xpp_type_or_none ref +); + +numbered_field_references( + unique int id: @numbered_field_reference +); + +#keyset[id] +numbered_field_reference_field_numbers( + int id: @numbered_field_reference ref, + int field_number: @expression_or_none ref +); + +placeholders( + unique int id: @placeholder +); + +print_statements( + unique int id: @print_statement +); + +#keyset[id, index] +print_statement_expressions( + int id: @print_statement ref, + int index: int ref, + int expression: @expression_or_none ref +); + +provided_types( + unique int id: @provided_type +); + +#keyset[id, index] +provided_type_argument_lists( + int id: @provided_type ref, + int index: int ref, + int argument_list: @expression_or_none ref +); + +#keyset[id] +provided_type_names( + int id: @provided_type ref, + string name: string ref +); + +qualified_fields( + unique int id: @qualified_field +); + +#keyset[id] +qualified_field_extension_names( + int id: @qualified_field ref, + string extension_name: string ref +); + +#keyset[id] +qualified_field_names( + int id: @qualified_field ref, + string name: string ref +); + +qualified_instance_names( + unique int id: @qualified_instance_name +); + +#keyset[id] +qualified_instance_name_indices( + int id: @qualified_instance_name ref, + int index: @expression_or_none ref +); + +#keyset[id] +qualified_instance_name_names( + int id: @qualified_instance_name ref, + string name: string ref +); + +#keyset[id] +qualified_instance_name_qualifiers( + int id: @qualified_instance_name ref, + int qualifier: @qualifier_or_none ref +); + +qualified_numbered_fields( + unique int id: @qualified_numbered_field +); + +#keyset[id] +qualified_numbered_field_field_numbers( + int id: @qualified_numbered_field ref, + int field_number: @expression_or_none ref +); + +qualified_static_fields( + unique int id: @qualified_static_field +); + +#keyset[id] +qualified_static_field_class_names( + int id: @qualified_static_field ref, + string class_name: string ref +); + +#keyset[id] +qualified_static_field_is_enum( + int id: @qualified_static_field ref +); + +#keyset[id] +qualified_static_field_names( + int id: @qualified_static_field ref, + string name: string ref +); + +retry_statements( + unique int id: @retry_statement +); + +return_statements( + unique int id: @return_statement +); + +#keyset[id] +return_statement_expressions( + int id: @return_statement ref, + int expression: @expression_or_none ref +); + +search_statements( + unique int id: @search_statement +); + +#keyset[id] +search_statement_queries( + int id: @search_statement ref, + int query: @query_or_none ref +); + +#keyset[id] +search_statement_statements( + int id: @search_statement ref, + int statement: @statement_or_none ref +); + +simple_fields( + unique int id: @simple_field +); + +#keyset[id] +simple_field_extension_names( + int id: @simple_field ref, + string extension_name: string ref +); + +#keyset[id] +simple_field_is_name_escaped( + int id: @simple_field ref +); + +#keyset[id] +simple_field_names( + int id: @simple_field ref, + string name: string ref +); + +simple_instance_names( + unique int id: @simple_instance_name +); + +#keyset[id] +simple_instance_name_indices( + int id: @simple_instance_name ref, + int index: @expression_or_none ref +); + +#keyset[id] +simple_instance_name_names( + int id: @simple_instance_name ref, + string name: string ref +); + +simple_order_elements( + unique int id: @simple_order_element +); + +#keyset[id] +simple_order_element_extension_names( + int id: @simple_order_element ref, + string extension_name: string ref +); + +@simple_qualifier = + @static_qualifier +; + +#keyset[id] +simple_qualifier_names( + int id: @simple_qualifier ref, + string name: string ref +); + +static_fields( + unique int id: @static_field +); + +#keyset[id] +static_field_class_names( + int id: @static_field ref, + string class_name: string ref +); + +#keyset[id] +static_field_names( + int id: @static_field ref, + string name: string ref +); + +@string_type = + @string_length_type +; + +switch_statements( + unique int id: @switch_statement +); + +#keyset[id, index] +switch_statement_cases( + int id: @switch_statement ref, + int index: int ref, + int case_: @switch_statement_case_entry_or_none ref +); + +#keyset[id] +switch_statement_selectors( + int id: @switch_statement ref, + int selector: @expression_or_none ref +); + +table_lookup_expressions( + unique int id: @table_lookup_expression +); + +#keyset[id] +table_lookup_expression_fields( + int id: @table_lookup_expression ref, + int field: @table_field_reference_or_none ref +); + +#keyset[id] +table_lookup_expression_queries( + int id: @table_lookup_expression ref, + int query: @query_or_none ref +); + +throw_statements( + unique int id: @throw_statement +); + +#keyset[id] +throw_statement_exceptions( + int id: @throw_statement ref, + int exception: @expression_or_none ref +); + +try_statements( + unique int id: @try_statement +); + +#keyset[id, index] +try_statement_catches( + int id: @try_statement ref, + int index: int ref, + int catch: @try_statement_catch_entry_or_none ref +); + +#keyset[id] +try_statement_finallies( + int id: @try_statement ref, + int finally: @statement_or_none ref +); + +#keyset[id] +try_statement_statements( + int id: @try_statement ref, + int statement: @statement_or_none ref +); + +@tts_statement = + @tts_abort_statement +| @tts_begin_statement +| @tts_end_statement +; + +@unary_expression = + @not_expression +| @physical_not_expression +| @unary_minus_expression +; + +#keyset[id] +unary_expression_expressions( + int id: @unary_expression ref, + int expression: @expression_or_none ref +); + +unchecked_statements( + unique int id: @unchecked_statement +); + +#keyset[id] +unchecked_statement_expressions( + int id: @unchecked_statement ref, + int expression: @expression_or_none ref +); + +#keyset[id] +unchecked_statement_statements( + int id: @unchecked_statement ref, + int statement: @statement_or_none ref +); + +update_statements( + unique int id: @update_statement +); + +#keyset[id] +update_statement_cross_companies( + int id: @update_statement ref, + int cross_company: @cross_company_or_none ref +); + +#keyset[id, index] +update_statement_field_assignments( + int id: @update_statement ref, + int index: int ref, + int field_assignment: @field_assignment_or_none ref +); + +#keyset[id, index] +update_statement_hints( + int id: @update_statement ref, + int index: int ref, + string hint: string ref +); + +#keyset[id] +update_statement_joins( + int id: @update_statement ref, + int joins: @join_specification_or_none ref +); + +#keyset[id] +update_statement_tables( + int id: @update_statement ref, + string table: string ref +); + +#keyset[id] +update_statement_wheres( + int id: @update_statement ref, + int where: @expression_or_none ref +); + +using_statements( + unique int id: @using_statement +); + +#keyset[id, index] +using_statement_disposable_object_initializers( + int id: @using_statement ref, + int index: int ref, + int disposable_object_initializer: @variable_declaration_or_none ref +); + +#keyset[id] +using_statement_statements( + int id: @using_statement ref, + int statement: @statement_or_none ref +); + +valid_time_state_dates( + unique int id: @valid_time_state_date +); + +#keyset[id] +valid_time_state_date_date_variables( + int id: @valid_time_state_date ref, + string date_variable: string ref +); + +valid_time_state_ranges( + unique int id: @valid_time_state_range +); + +#keyset[id] +valid_time_state_range_from_date_variables( + int id: @valid_time_state_range ref, + string from_date_variable: string ref +); + +#keyset[id] +valid_time_state_range_to_date_variables( + int id: @valid_time_state_range ref, + string to_date_variable: string ref +); + +var_types( + unique int id: @var_type +); + +void_types( + unique int id: @void_type +); + +while_statements( + unique int id: @while_statement +); + +#keyset[id] +while_statement_conditions( + int id: @while_statement ref, + int condition: @expression_or_none ref +); + +#keyset[id] +while_statement_statements( + int id: @while_statement ref, + int statement: @statement_or_none ref +); + +xpp_type_compilation_units( + unique int id: @xpp_type_compilation_unit +); + +#keyset[id] +xpp_type_compilation_unit_types( + int id: @xpp_type_compilation_unit ref, + int type_: @xpp_type_or_none ref +); + +add_expressions( + unique int id: @add_expression +); + +and_expressions( + unique int id: @and_expression +); + +as_clr_expressions( + unique int id: @as_clr_expression +); + +as_expressions( + unique int id: @as_expression +); + +assign_multiple_field_statements( + unique int id: @assign_multiple_field_statement +); + +#keyset[id] +assign_multiple_field_statement_expressions( + int id: @assign_multiple_field_statement ref, + int expression: @expression_or_none ref +); + +#keyset[id, index] +assign_multiple_field_statement_fields( + int id: @assign_multiple_field_statement ref, + int index: int ref, + int field: @field_specification_or_none ref +); + +@assignment_single_field = + @assign_post_decrement_statement +| @assign_post_increment_statement +| @assign_pre_decrement_statement +| @assign_pre_increment_statement +| @assignment_binary +| @assignment_event_handler_base +; + +#keyset[id] +assignment_single_field_fields( + int id: @assignment_single_field ref, + int field: @field_specification_or_none ref +); + +avg_aggregate_selections( + unique int id: @avg_aggregate_selection +); + +boolean_attribute_literals( + unique int id: @boolean_attribute_literal +); + +change_company_statements( + unique int id: @change_company_statement +); + +@class_or_interface = + @class +| @interface +; + +#keyset[id] +class_or_interface_attributes( + int id: @class_or_interface ref, + int attributes: @attribute_list_or_none ref +); + +#keyset[id] +class_or_interface_element_type_names( + int id: @class_or_interface ref, + string element_type_name: string ref +); + +#keyset[id] +class_or_interface_enclosing_types( + int id: @class_or_interface ref, + int enclosing_type: @model_element_or_none ref +); + +#keyset[id] +class_or_interface_extends( + int id: @class_or_interface ref, + string extends: string ref +); + +#keyset[id] +class_or_interface_is_abstract( + int id: @class_or_interface ref +); + +#keyset[id] +class_or_interface_is_composite_data_entity_view( + int id: @class_or_interface ref +); + +#keyset[id] +class_or_interface_is_final( + int id: @class_or_interface ref +); + +#keyset[id] +class_or_interface_is_nested( + int id: @class_or_interface ref +); + +#keyset[id] +class_or_interface_is_static( + int id: @class_or_interface ref +); + +#keyset[id] +class_or_interface_qualifiers( + int id: @class_or_interface ref, + string qualifier: string ref +); + +clr_enumeration_literal_expressions( + unique int id: @clr_enumeration_literal_expression +); + +#keyset[id] +clr_enumeration_literal_expression_enumeration_literals( + int id: @clr_enumeration_literal_expression ref, + string enumeration_literal: string ref +); + +#keyset[id] +clr_enumeration_literal_expression_enumeration_types( + int id: @clr_enumeration_literal_expression ref, + string enumeration_type: string ref +); + +clr_types( + unique int id: @clr_type +); + +#keyset[id] +clr_type_full_names( + int id: @clr_type ref, + string full_name: string ref +); + +#keyset[id, index] +clr_type_rectangular_dimensions( + int id: @clr_type ref, + int index: int ref, + int rectangular_dimension: int ref +); + +container_literal_expressions( + unique int id: @container_literal_expression +); + +#keyset[id, index] +container_literal_expression_values( + int id: @container_literal_expression ref, + int index: int ref, + int value: @expression_or_none ref +); + +count_aggregate_selections( + unique int id: @count_aggregate_selection +); + +date_attribute_literals( + unique int id: @date_attribute_literal +); + +date_time_attribute_literals( + unique int id: @date_time_attribute_literal +); + +dbl_attribute_literals( + unique int id: @dbl_attribute_literal +); + +@default_type_literal_expression = + @boolean_literal_expression +| @date_literal_expression +| @date_time_literal_expression +| @int64_literal_expression +| @int_literal_expression +| @real_literal_expression +| @string_literal_expression +; + +#keyset[id] +default_type_literal_expression_scanned_literal_values( + int id: @default_type_literal_expression ref, + string scanned_literal_value: string ref +); + +delegates( + unique int id: @delegate +); + +#keyset[id] +delegate_is_static( + int id: @delegate ref +); + +divide_expressions( + unique int id: @divide_expression +); + +enumeration_literal_expressions( + unique int id: @enumeration_literal_expression +); + +#keyset[id] +enumeration_literal_expression_enumeration_literals( + int id: @enumeration_literal_expression ref, + string enumeration_literal: string ref +); + +#keyset[id] +enumeration_literal_expression_enumeration_types( + int id: @enumeration_literal_expression ref, + string enumeration_type: string ref +); + +@field_declaration = + @table_field_declaration +; + +#keyset[id] +field_declaration_attributes( + int id: @field_declaration ref, + int attributes: @attribute_list_or_none ref +); + +#keyset[id] +field_declaration_element_type_names( + int id: @field_declaration ref, + string element_type_name: string ref +); + +#keyset[id] +field_declaration_extension_names( + int id: @field_declaration ref, + string extension_name: string ref +); + +#keyset[id] +field_declaration_initial_values( + int id: @field_declaration ref, + int initial_value: @expression_or_none ref +); + +#keyset[id] +field_declaration_is_const( + int id: @field_declaration ref +); + +#keyset[id] +field_declaration_is_extension( + int id: @field_declaration ref +); + +#keyset[id] +field_declaration_is_internal( + int id: @field_declaration ref +); + +#keyset[id] +field_declaration_is_obsolete( + int id: @field_declaration ref +); + +#keyset[id] +field_declaration_is_private( + int id: @field_declaration ref +); + +#keyset[id] +field_declaration_is_protected( + int id: @field_declaration ref +); + +#keyset[id] +field_declaration_is_public( + int id: @field_declaration ref +); + +#keyset[id] +field_declaration_is_read_only( + int id: @field_declaration ref +); + +#keyset[id] +field_declaration_is_static( + int id: @field_declaration ref +); + +for_field_assigns( + unique int id: @for_field_assign +); + +for_field_decrement_assigns( + unique int id: @for_field_decrement_assign +); + +for_field_increment_assigns( + unique int id: @for_field_increment_assign +); + +form_model_elements( + unique int id: @form_model_element +); + +#keyset[id] +form_model_element_behaviors( + int id: @form_model_element ref, + int behavior: @class_or_none ref +); + +#keyset[id, index] +form_model_element_controls( + int id: @form_model_element ref, + int index: int ref, + int control: @form_control_or_none ref +); + +#keyset[id, index] +form_model_element_data_sources( + int id: @form_model_element ref, + int index: int ref, + int data_source: @form_data_source_or_none ref +); + +#keyset[id] +form_model_element_element_type_names( + int id: @form_model_element ref, + string element_type_name: string ref +); + +#keyset[id] +form_model_element_full_type_names( + int id: @form_model_element ref, + string full_type_name: string ref +); + +@form_nested_element = + @form_control +| @form_data_field +| @form_data_source +; + +#keyset[id] +form_nested_element_forms( + int id: @form_nested_element ref, + int form: @form_model_element_or_none ref +); + +@generic_evaluation = + @function_call +| @new_clr_call +| @qualified_call +| @qualified_static_call +| @static_method_call +; + +#keyset[id, index] +generic_evaluation_type_argument_lists( + int id: @generic_evaluation ref, + int index: int ref, + int type_argument_list: @xpp_type_or_none ref +); + +guid_attribute_literals( + unique int id: @guid_attribute_literal +); + +in_expressions( + unique int id: @in_expression +); + +int64_attribute_literals( + unique int id: @int64_attribute_literal +); + +int_attribute_literals( + unique int id: @int_attribute_literal +); + +integer_divide_expressions( + unique int id: @integer_divide_expression +); + +is_clr_expressions( + unique int id: @is_clr_expression +); + +is_expressions( + unique int id: @is_expression +); + +@local_declaration = + @function_declaration +| @variable_declaration +; + +max_aggregate_selections( + unique int id: @max_aggregate_selection +); + +methods( + unique int id: @method +); + +#keyset[id, index] +method_declarations_and_statements( + int id: @method ref, + int index: int ref, + int declarations_and_statement: @statement_or_none ref +); + +#keyset[id] +method_has_local_functions( + int id: @method ref +); + +#keyset[id] +method_is_abstract( + int id: @method ref +); + +#keyset[id] +method_is_client( + int id: @method ref +); + +#keyset[id] +method_is_constructor( + int id: @method ref +); + +#keyset[id] +method_is_display( + int id: @method ref +); + +#keyset[id] +method_is_edit( + int id: @method ref +); + +#keyset[id] +method_is_explicit_non_hookable( + int id: @method ref +); + +#keyset[id] +method_is_explicit_non_wrappable( + int id: @method ref +); + +#keyset[id] +method_is_extended_method( + int id: @method ref +); + +#keyset[id] +method_is_final( + int id: @method ref +); + +#keyset[id] +method_is_hookable( + int id: @method ref +); + +#keyset[id] +method_is_hookable_on_chain_of_command( + int id: @method ref +); + +#keyset[id] +method_is_internal( + int id: @method ref +); + +#keyset[id] +method_is_private( + int id: @method ref +); + +#keyset[id] +method_is_protected( + int id: @method ref +); + +#keyset[id] +method_is_public( + int id: @method ref +); + +#keyset[id] +method_is_replaceable( + int id: @method ref +); + +#keyset[id] +method_is_server( + int id: @method ref +); + +#keyset[id] +method_is_static( + int id: @method ref +); + +#keyset[id] +method_is_type_initializer( + int id: @method ref +); + +#keyset[id] +method_is_wrappable( + int id: @method ref +); + +#keyset[id, index] +method_locals( + int id: @method ref, + int index: int ref, + int local: @local_declaration_or_none ref +); + +#keyset[id] +method_modifiers( + int id: @method ref, + string modifiers: string ref +); + +#keyset[id, index] +method_statements( + int id: @method ref, + int index: int ref, + int statement: @statement_or_none ref +); + +min_aggregate_selections( + unique int id: @min_aggregate_selection +); + +mod_expressions( + unique int id: @mod_expression +); + +multiply_expressions( + unique int id: @multiply_expression +); + +@named_type = + @form_element_type +; + +#keyset[id] +named_type_names( + int id: @named_type ref, + string name: string ref +); + +new_calls( + unique int id: @new_call +); + +#keyset[id] +new_call_types( + int id: @new_call ref, + int type_: @xpp_type_or_none ref +); + +next_expressions( + unique int id: @next_expression +); + +#keyset[id] +next_expression_names( + int id: @next_expression ref, + string name: string ref +); + +not_expressions( + unique int id: @not_expression +); + +null_literal_expressions( + unique int id: @null_literal_expression +); + +or_expressions( + unique int id: @or_expression +); + +physical_and_expressions( + unique int id: @physical_and_expression +); + +physical_not_expressions( + unique int id: @physical_not_expression +); + +physical_or_expressions( + unique int id: @physical_or_expression +); + +physical_xor_expressions( + unique int id: @physical_xor_expression +); + +provided_type_static_calls( + unique int id: @provided_type_static_call +); + +#keyset[id] +provided_type_static_call_method_names( + int id: @provided_type_static_call ref, + string method_name: string ref +); + +#keyset[id] +provided_type_static_call_provided_types( + int id: @provided_type_static_call ref, + int provided_type: @provided_type_or_none ref +); + +qualified_static_field_expressions( + unique int id: @qualified_static_field_expression +); + +#keyset[id] +qualified_static_field_expression_class_names( + int id: @qualified_static_field_expression ref, + string class_name: string ref +); + +#keyset[id] +qualified_static_field_expression_is_static( + int id: @qualified_static_field_expression ref +); + +#keyset[id] +qualified_static_field_expression_names( + int id: @qualified_static_field_expression ref, + string name: string ref +); + +query_model_elements( + unique int id: @query_model_element +); + +#keyset[id] +query_model_element_allow_cross_company( + int id: @query_model_element ref +); + +#keyset[id] +query_model_element_behaviors( + int id: @query_model_element ref, + int behavior: @class_or_none ref +); + +#keyset[id, index] +query_model_element_data_source_lists( + int id: @query_model_element ref, + int index: int ref, + int data_source_list: @query_data_source_or_none ref +); + +#keyset[id, index] +query_model_element_data_sources( + int id: @query_model_element ref, + int index: int ref, + int data_source: @query_data_source_or_none ref +); + +#keyset[id] +query_model_element_element_type_names( + int id: @query_model_element ref, + string element_type_name: string ref +); + +#keyset[id] +query_model_element_user_update( + int id: @query_model_element ref +); + +@relational_expression = + @equal_expression +| @greater_than_expression +| @greater_than_or_equal_expression +| @less_than_expression +| @less_than_or_equal_expression +| @like_expression +| @not_equal_expression +; + +#keyset[id] +relational_expression_operators( + int id: @relational_expression ref, + string operator: string ref +); + +shift_left_expressions( + unique int id: @shift_left_expression +); + +shift_right_expressions( + unique int id: @shift_right_expression +); + +static_qualifiers( + unique int id: @static_qualifier +); + +#keyset[id, index] +static_qualifier_class_type_argument_lists( + int id: @static_qualifier ref, + int index: int ref, + int class_type_argument_list: @xpp_type_or_none ref +); + +string_attribute_literals( + unique int id: @string_attribute_literal +); + +string_length_types( + unique int id: @string_length_type +); + +#keyset[id] +string_length_type_edt_names( + int id: @string_length_type ref, + string edt_name: string ref +); + +#keyset[id] +string_length_type_is_edt( + int id: @string_length_type ref +); + +#keyset[id] +string_length_type_lengths( + int id: @string_length_type ref, + int length: int ref +); + +subtract_expressions( + unique int id: @subtract_expression +); + +sum_aggregate_selections( + unique int id: @sum_aggregate_selection +); + +super_calls( + unique int id: @super_call +); + +tables( + unique int id: @table +); + +#keyset[id] +table_attributes( + int id: @table ref, + int attributes: @attribute_list_or_none ref +); + +#keyset[id] +table_element_type_names( + int id: @table ref, + string element_type_name: string ref +); + +#keyset[id] +table_extends( + int id: @table ref, + string extends: string ref +); + +#keyset[id, index] +table_fields( + int id: @table ref, + int index: int ref, + int field: @field_declaration_or_none ref +); + +#keyset[id, index] +table_indexes( + int id: @table ref, + int index: int ref, + string index: string ref +); + +#keyset[id] +table_is_aggregate_data_entity( + int id: @table ref +); + +#keyset[id] +table_is_data_entity_view( + int id: @table ref +); + +#keyset[id] +table_is_map( + int id: @table ref +); + +#keyset[id] +table_is_updatable( + int id: @table ref +); + +#keyset[id] +table_is_view( + int id: @table ref +); + +#keyset[id] +table_support_inheritance( + int id: @table ref +); + +tts_abort_statements( + unique int id: @tts_abort_statement +); + +tts_begin_statements( + unique int id: @tts_begin_statement +); + +tts_end_statements( + unique int id: @tts_end_statement +); + +unary_minus_expressions( + unique int id: @unary_minus_expression +); + +assign_post_decrement_statements( + unique int id: @assign_post_decrement_statement +); + +assign_post_increment_statements( + unique int id: @assign_post_increment_statement +); + +assign_pre_decrement_statements( + unique int id: @assign_pre_decrement_statement +); + +assign_pre_increment_statements( + unique int id: @assign_pre_increment_statement +); + +@assignment_binary = + @assign_decrement_statement +| @assign_divide_statement +| @assign_equal_statement +| @assign_increment_statement +| @assign_multiply_statement +; + +#keyset[id] +assignment_binary_expressions( + int id: @assignment_binary ref, + int expression: @expression_or_none ref +); + +@assignment_event_handler_base = + @assignment_event_handler_instance +| @assignment_event_handler_static +; + +#keyset[id] +assignment_event_handler_base_addition( + int id: @assignment_event_handler_base ref +); + +#keyset[id] +assignment_event_handler_base_names( + int id: @assignment_event_handler_base ref, + string name: string ref +); + +boolean_literal_expressions( + unique int id: @boolean_literal_expression +); + +classes( + unique int id: @class +); + +#keyset[id, index] +class_fields( + int id: @class ref, + int index: int ref, + int field: @field_declaration_or_none ref +); + +#keyset[id] +class_has_cyclic_inheritance( + int id: @class ref +); + +#keyset[id, index] +class_implements( + int id: @class ref, + int index: int ref, + string implement: string ref +); + +date_literal_expressions( + unique int id: @date_literal_expression +); + +date_time_literal_expressions( + unique int id: @date_time_literal_expression +); + +equal_expressions( + unique int id: @equal_expression +); + +form_controls( + unique int id: @form_control +); + +#keyset[id] +form_control_auto_declaration( + int id: @form_control ref +); + +#keyset[id, index] +form_control_child_controls( + int id: @form_control ref, + int index: int ref, + int child_control: @form_control_or_none ref +); + +#keyset[id] +form_control_control_classes( + int id: @form_control ref, + string control_class: string ref +); + +#keyset[id] +form_control_control_types( + int id: @form_control ref, + string control_type: string ref +); + +#keyset[id] +form_control_custom_control_classes( + int id: @form_control ref, + string custom_control_class: string ref +); + +#keyset[id] +form_control_element_type_names( + int id: @form_control ref, + string element_type_name: string ref +); + +#keyset[id] +form_control_internal_control_names( + int id: @form_control ref, + string internal_control_name: string ref +); + +#keyset[id] +form_control_is_form_control_extension( + int id: @form_control ref +); + +#keyset[id] +form_control_parent_controls( + int id: @form_control ref, + int parent_control: @form_control_or_none ref +); + +form_data_fields( + unique int id: @form_data_field +); + +#keyset[id] +form_data_field_element_type_names( + int id: @form_data_field ref, + string element_type_name: string ref +); + +#keyset[id] +form_data_field_form_data_sources( + int id: @form_data_field ref, + int form_data_source: @form_data_source_or_none ref +); + +form_data_sources( + unique int id: @form_data_source +); + +#keyset[id, index] +form_data_source_data_fields( + int id: @form_data_source ref, + int index: int ref, + int data_field: @form_data_field_or_none ref +); + +#keyset[id] +form_data_source_element_type_names( + int id: @form_data_source ref, + string element_type_name: string ref +); + +#keyset[id] +form_data_source_join_sources( + int id: @form_data_source ref, + string join_source: string ref +); + +#keyset[id] +form_data_source_link_types( + int id: @form_data_source ref, + string link_type: string ref +); + +#keyset[id] +form_data_source_nested_data_source( + int id: @form_data_source ref +); + +#keyset[id] +form_data_source_queries( + int id: @form_data_source ref, + int query: @query_model_element_or_none ref +); + +#keyset[id] +form_data_source_query_names( + int id: @form_data_source ref, + string query_name: string ref +); + +#keyset[id] +form_data_source_tables( + int id: @form_data_source ref, + string table: string ref +); + +form_element_types( + unique int id: @form_element_type +); + +#keyset[id] +form_element_type_form_names( + int id: @form_element_type ref, + string form_name: string ref +); + +function_calls( + unique int id: @function_call +); + +#keyset[id] +function_call_function_names( + int id: @function_call ref, + string function_name: string ref +); + +function_declarations( + unique int id: @function_declaration +); + +#keyset[id, index] +function_declaration_declarations_and_statements( + int id: @function_declaration ref, + int index: int ref, + int declarations_and_statement: @statement_or_none ref +); + +#keyset[id] +function_declaration_element_type_names( + int id: @function_declaration ref, + string element_type_name: string ref +); + +#keyset[id, index] +function_declaration_locals( + int id: @function_declaration ref, + int index: int ref, + int local: @local_declaration_or_none ref +); + +#keyset[id, index] +function_declaration_parameters( + int id: @function_declaration ref, + int index: int ref, + int parameter: @parameter_declaration_or_none ref +); + +#keyset[id, index] +function_declaration_statements( + int id: @function_declaration ref, + int index: int ref, + int statement: @statement_or_none ref +); + +greater_than_expressions( + unique int id: @greater_than_expression +); + +greater_than_or_equal_expressions( + unique int id: @greater_than_or_equal_expression +); + +int64_literal_expressions( + unique int id: @int64_literal_expression +); + +int_literal_expressions( + unique int id: @int_literal_expression +); + +interfaces( + unique int id: @interface +); + +less_than_expressions( + unique int id: @less_than_expression +); + +less_than_or_equal_expressions( + unique int id: @less_than_or_equal_expression +); + +like_expressions( + unique int id: @like_expression +); + +new_clr_calls( + unique int id: @new_clr_call +); + +#keyset[id] +new_clr_call_clr_class_names( + int id: @new_clr_call ref, + string clr_class_name: string ref +); + +not_equal_expressions( + unique int id: @not_equal_expression +); + +qualified_calls( + unique int id: @qualified_call +); + +#keyset[id] +qualified_call_method_names( + int id: @qualified_call ref, + string method_name: string ref +); + +#keyset[id] +qualified_call_qualifiers( + int id: @qualified_call ref, + int qualifier: @qualifier_or_none ref +); + +qualified_static_calls( + unique int id: @qualified_static_call +); + +#keyset[id] +qualified_static_call_class_names( + int id: @qualified_static_call ref, + string class_name: string ref +); + +#keyset[id, index] +qualified_static_call_class_type_argument_lists( + int id: @qualified_static_call ref, + int index: int ref, + int class_type_argument_list: @xpp_type_or_none ref +); + +#keyset[id] +qualified_static_call_is_table_map_call( + int id: @qualified_static_call ref +); + +#keyset[id] +qualified_static_call_method_names( + int id: @qualified_static_call ref, + string method_name: string ref +); + +#keyset[id] +qualified_static_call_qualifiers( + int id: @qualified_static_call ref, + int qualifier: @qualifier_or_none ref +); + +real_literal_expressions( + unique int id: @real_literal_expression +); + +static_method_calls( + unique int id: @static_method_call +); + +#keyset[id] +static_method_call_class_names( + int id: @static_method_call ref, + string class_name: string ref +); + +#keyset[id, index] +static_method_call_class_type_argument_lists( + int id: @static_method_call ref, + int index: int ref, + int class_type_argument_list: @xpp_type_or_none ref +); + +#keyset[id] +static_method_call_method_names( + int id: @static_method_call ref, + string method_name: string ref +); + +string_literal_expressions( + unique int id: @string_literal_expression +); + +#keyset[id] +string_literal_expression_is_label( + int id: @string_literal_expression ref +); + +#keyset[id] +string_literal_expression_label_file_ids( + int id: @string_literal_expression ref, + string label_file_id: string ref +); + +#keyset[id] +string_literal_expression_label_ids( + int id: @string_literal_expression ref, + string label_id: string ref +); + +table_field_declarations( + unique int id: @table_field_declaration +); + +@variable_declaration = + @parameter_declaration +; + +#keyset[id] +variable_declaration_element_type_names( + int id: @variable_declaration ref, + string element_type_name: string ref +); + +#keyset[id] +variable_declaration_initial_values( + int id: @variable_declaration ref, + int initial_value: @expression_or_none ref +); + +#keyset[id] +variable_declaration_is_const( + int id: @variable_declaration ref +); + +assign_decrement_statements( + unique int id: @assign_decrement_statement +); + +assign_divide_statements( + unique int id: @assign_divide_statement +); + +assign_equal_statements( + unique int id: @assign_equal_statement +); + +assign_increment_statements( + unique int id: @assign_increment_statement +); + +assign_multiply_statements( + unique int id: @assign_multiply_statement +); + +assignment_event_handler_instances( + unique int id: @assignment_event_handler_instance +); + +#keyset[id] +assignment_event_handler_instance_qualifier_parts( + int id: @assignment_event_handler_instance ref, + int qualifier_part: @qualifier_or_none ref +); + +@assignment_event_handler_static = + @assignment_event_handler_clr +; + +#keyset[id] +assignment_event_handler_static_type_names( + int id: @assignment_event_handler_static ref, + string type_name: string ref +); + +parameter_declarations( + unique int id: @parameter_declaration +); + +#keyset[id] +parameter_declaration_is_by_ref( + int id: @parameter_declaration ref +); + +#keyset[id] +parameter_declaration_is_optional( + int id: @parameter_declaration ref +); + +assignment_event_handler_clrs( + unique int id: @assignment_event_handler_clr +); + +@array_specification_or_none = + @array_specification +| @unspecified_element +; + +@attribute_or_none = + @attribute +| @unspecified_element +; + +@attribute_expression_or_none = + @attribute_expression +| @unspecified_element +; + +@attribute_list_or_none = + @attribute_list +| @unspecified_element +; + +@attribute_literal_or_none = + @attribute_literal +| @unspecified_element +; + +@attribute_named_parameter_entry_or_none = + @attribute_named_parameter_entry +| @unspecified_element +; + +@case_or_none = + @case +| @unspecified_element +; + +@catch_or_none = + @catch +| @unspecified_element +; + +@class_or_none = + @class +| @unspecified_element +; + +@class_access_modifier_or_none = + @class_access_modifier +| @unspecified_element +; + +@class_or_interface_or_none = + @class_or_interface +| @unspecified_element +; + +@comment_or_none = + @comment +| @unspecified_element +; + +@compilation_unit_region_entry_or_none = + @compilation_unit_region_entry +| @unspecified_element +; + +@cross_company_or_none = + @cross_company +| @unspecified_element +; + +@evaluation_actual_parameter_entry_or_none = + @evaluation_actual_parameter_entry +| @unspecified_element +; + +@expression_or_none = + @expression +| @unspecified_element +; + +@field_assignment_or_none = + @field_assignment +| @unspecified_element +; + +@field_declaration_or_none = + @field_declaration +| @unspecified_element +; + +@field_specification_or_none = + @field_specification +| @unspecified_element +; + +@file_or_none = + @file +| @unspecified_element +; + +@for_assign_or_none = + @for_assign +| @unspecified_element +; + +@form_control_or_none = + @form_control +| @unspecified_element +; + +@form_data_field_or_none = + @form_data_field +| @unspecified_element +; + +@form_data_source_or_none = + @form_data_source +| @unspecified_element +; + +@form_model_element_or_none = + @form_model_element +| @unspecified_element +; + +@global_order_element_or_none = + @global_order_element +| @unspecified_element +; + +@insert_field_specification_or_none = + @insert_field_specification +| @unspecified_element +; + +@instance_name_or_none = + @instance_name +| @unspecified_element +; + +@join_specification_or_none = + @join_specification +| @unspecified_element +; + +@local_declaration_or_none = + @local_declaration +| @unspecified_element +; + +@location_or_none = + @location +| @unspecified_element +; + +@method_or_delegate_or_none = + @method_or_delegate +| @unspecified_element +; + +@model_element_or_none = + @model_element +| @unspecified_element +; + +@model_element_using_entry_or_none = + @model_element_using_entry +| @unspecified_element +; + +@modifier_or_none = + @modifier +| @unspecified_element +; + +@order_element_or_none = + @order_element +| @unspecified_element +; + +@parameter_declaration_or_none = + @parameter_declaration +| @unspecified_element +; + +@provided_type_or_none = + @provided_type +| @unspecified_element +; + +@qualifier_or_none = + @qualifier +| @unspecified_element +; + +@query_or_none = + @query +| @unspecified_element +; + +@query_data_source_or_none = + @query_data_source +| @unspecified_element +; + +@query_data_source_having_or_none = + @query_data_source_having +| @unspecified_element +; + +@query_data_source_range_or_none = + @query_data_source_range +| @unspecified_element +; + +@query_data_source_relation_or_none = + @query_data_source_relation +| @unspecified_element +; + +@query_model_element_or_none = + @query_model_element +| @unspecified_element +; + +@selection_or_none = + @selection +| @unspecified_element +; + +@selection_field_or_none = + @selection_field +| @unspecified_element +; + +@statement_or_none = + @statement +| @unspecified_element +; + +@switch_statement_case_entry_or_none = + @switch_statement_case_entry +| @unspecified_element +; + +@table_field_reference_or_none = + @table_field_reference +| @unspecified_element +; + +@try_statement_catch_entry_or_none = + @try_statement_catch_entry +| @unspecified_element +; + +@valid_time_state_or_none = + @unspecified_element +| @valid_time_state +; + +@variable_declaration_or_none = + @unspecified_element +| @variable_declaration +; + +@xpp_type_or_none = + @unspecified_element +| @xpp_type +; diff --git a/xpp/ql/lib/xpp.dbscheme.stats b/xpp/ql/lib/xpp.dbscheme.stats new file mode 100644 index 000000000000..9995467e33e5 --- /dev/null +++ b/xpp/ql/lib/xpp.dbscheme.stats @@ -0,0 +1,4 @@ + + + + diff --git a/xpp/ql/test/extractor-tests/generated/AddExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AddExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AddExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AllFieldsSelection/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AllFieldsSelection/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AllFieldsSelection/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AndExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AndExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AndExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AnyType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AnyType/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AnyType/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ArraySpecification/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ArraySpecification/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ArraySpecification/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AsClrExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AsClrExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AsClrExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AsExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AsExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AsExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignDecrementStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignDecrementStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AssignDecrementStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignDivideStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignDivideStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AssignDivideStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignEqualStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignEqualStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AssignEqualStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignIncrementStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignIncrementStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AssignIncrementStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignMultipleFieldStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignMultipleFieldStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AssignMultipleFieldStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignMultiplyStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignMultiplyStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AssignMultiplyStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignPostDecrementStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignPostDecrementStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AssignPostDecrementStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignPostIncrementStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignPostIncrementStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AssignPostIncrementStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignPreDecrementStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignPreDecrementStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AssignPreDecrementStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignPreIncrementStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignPreIncrementStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AssignPreIncrementStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerClr/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerClr/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerClr/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerInstance/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerInstance/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerInstance/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Attribute/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Attribute/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/Attribute/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AttributeExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AttributeExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AttributeExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AttributeList/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AttributeList/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AttributeList/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AttributeNamedParameterEntry/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AttributeNamedParameterEntry/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AttributeNamedParameterEntry/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AvgAggregateSelection/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AvgAggregateSelection/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AvgAggregateSelection/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/BooleanAttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/BooleanAttributeLiteral/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/BooleanAttributeLiteral/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/BooleanLiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/BooleanLiteralExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/BooleanLiteralExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/BooleanType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/BooleanType/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/BooleanType/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/BreakStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/BreakStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/BreakStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/BreakpointStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/BreakpointStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/BreakpointStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/CaseDefault/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/CaseDefault/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/CaseDefault/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/CaseValues/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/CaseValues/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/CaseValues/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/CatchAllValues/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/CatchAllValues/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/CatchAllValues/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/CatchExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/CatchExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/CatchExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/CatchUpdateConflict/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/CatchUpdateConflict/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/CatchUpdateConflict/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ChangeCompanyStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ChangeCompanyStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ChangeCompanyStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Class/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Class/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/Class/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ClassAccessModifier/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ClassAccessModifier/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ClassAccessModifier/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ClrEnumerationLiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ClrEnumerationLiteralExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ClrEnumerationLiteralExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ClrType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ClrType/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ClrType/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Comment/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Comment/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/Comment/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/CompilationUnitRegionEntry/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/CompilationUnitRegionEntry/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/CompilationUnitRegionEntry/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/CompoundStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/CompoundStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/CompoundStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ConditionalExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ConditionalExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ConditionalExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ContainerAttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ContainerAttributeLiteral/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ContainerAttributeLiteral/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ContainerLiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ContainerLiteralExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ContainerLiteralExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ContainerType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ContainerType/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ContainerType/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ContinueStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ContinueStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ContinueStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/CountAggregateSelection/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/CountAggregateSelection/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/CountAggregateSelection/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/CrossCompanyAll/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/CrossCompanyAll/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/CrossCompanyAll/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/CrossCompanyContainer/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/CrossCompanyContainer/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/CrossCompanyContainer/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DateAttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DateAttributeLiteral/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/DateAttributeLiteral/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DateLiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DateLiteralExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/DateLiteralExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DateTimeAttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DateTimeAttributeLiteral/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/DateTimeAttributeLiteral/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DateTimeLiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DateTimeLiteralExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/DateTimeLiteralExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DateTimeType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DateTimeType/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/DateTimeType/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DateType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DateType/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/DateType/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DblAttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DblAttributeLiteral/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/DblAttributeLiteral/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DblType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DblType/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/DblType/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Delegate/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Delegate/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/Delegate/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DeleteStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DeleteStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/DeleteStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DivideExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DivideExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/DivideExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DoWhileStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DoWhileStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/DoWhileStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/EmptyExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/EmptyExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/EmptyExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/EmptyStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/EmptyStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/EmptyStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/EnumAttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/EnumAttributeLiteral/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/EnumAttributeLiteral/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/EnumerationLiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/EnumerationLiteralExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/EnumerationLiteralExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/EnumerationType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/EnumerationType/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/EnumerationType/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/EqualExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/EqualExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/EqualExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/EvaluationActualParameterEntry/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/EvaluationActualParameterEntry/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/EvaluationActualParameterEntry/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ExplicitSelection/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ExplicitSelection/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ExplicitSelection/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ExpressionCompilationUnit/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ExpressionCompilationUnit/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ExpressionCompilationUnit/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ExpressionQualifier/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ExpressionQualifier/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ExpressionQualifier/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ExpressionStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ExpressionStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ExpressionStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FieldAssignment/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FieldAssignment/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/FieldAssignment/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FieldSelection/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FieldSelection/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/FieldSelection/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/File/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/File/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/File/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FindStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FindStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/FindStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FlushStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FlushStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/FlushStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ForDeclarationAssign/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ForDeclarationAssign/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ForDeclarationAssign/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ForFieldAssign/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ForFieldAssign/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ForFieldAssign/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ForFieldDecrementAssign/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ForFieldDecrementAssign/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ForFieldDecrementAssign/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ForFieldIncrementAssign/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ForFieldIncrementAssign/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ForFieldIncrementAssign/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ForFieldPostDecrement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ForFieldPostDecrement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ForFieldPostDecrement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ForFieldPostIncrement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ForFieldPostIncrement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ForFieldPostIncrement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ForFieldPreDecrement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ForFieldPreDecrement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ForFieldPreDecrement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ForFieldPreIncrement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ForFieldPreIncrement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ForFieldPreIncrement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ForStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ForStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ForStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FormControl/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FormControl/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/FormControl/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FormDataField/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FormDataField/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/FormDataField/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FormDataSource/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FormDataSource/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/FormDataSource/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FormElementType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FormElementType/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/FormElementType/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FormModelElement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FormModelElement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/FormModelElement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FunctionCall/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FunctionCall/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/FunctionCall/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FunctionDeclaration/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FunctionDeclaration/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/FunctionDeclaration/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/GlobalOrderElement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/GlobalOrderElement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/GlobalOrderElement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/GreaterThanExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/GreaterThanExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/GreaterThanExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/GreaterThanOrEqualExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/GreaterThanOrEqualExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/GreaterThanOrEqualExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/GuidAttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/GuidAttributeLiteral/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/GuidAttributeLiteral/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/GuidType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/GuidType/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/GuidType/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/IfStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/IfStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/IfStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/IfThenElseStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/IfThenElseStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/IfThenElseStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ImplicitSelection/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ImplicitSelection/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ImplicitSelection/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/InExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/InExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/InExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/InsertFieldSpecification/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/InsertFieldSpecification/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/InsertFieldSpecification/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/InsertStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/InsertStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/InsertStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Int64AttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Int64AttributeLiteral/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/Int64AttributeLiteral/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Int64LiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Int64LiteralExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/Int64LiteralExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Int64Type/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Int64Type/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/Int64Type/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/IntAttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/IntAttributeLiteral/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/IntAttributeLiteral/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/IntLiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/IntLiteralExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/IntLiteralExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/IntType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/IntType/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/IntType/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/IntegerDivideExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/IntegerDivideExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/IntegerDivideExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Interface/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Interface/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/Interface/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Intrinsic/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Intrinsic/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/Intrinsic/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/IntrinsicAttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/IntrinsicAttributeLiteral/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/IntrinsicAttributeLiteral/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/IsClrExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/IsClrExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/IsClrExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/IsExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/IsExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/IsExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/JoinSpecification/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/JoinSpecification/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/JoinSpecification/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/LessThanExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/LessThanExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/LessThanExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/LessThanOrEqualExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/LessThanOrEqualExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/LessThanOrEqualExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/LikeExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/LikeExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/LikeExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/LocalDeclarationsStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/LocalDeclarationsStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/LocalDeclarationsStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/MaxAggregateSelection/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/MaxAggregateSelection/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/MaxAggregateSelection/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Method/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Method/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/Method/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/MinAggregateSelection/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/MinAggregateSelection/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/MinAggregateSelection/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ModExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ModExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ModExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ModelElementUsingEntry/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ModelElementUsingEntry/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ModelElementUsingEntry/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Modifier/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Modifier/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/Modifier/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/MoveCursorStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/MoveCursorStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/MoveCursorStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/MultiplyExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/MultiplyExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/MultiplyExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/NamedFieldReference/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/NamedFieldReference/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/NamedFieldReference/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/NewCall/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/NewCall/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/NewCall/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/NewClrArrayExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/NewClrArrayExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/NewClrArrayExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/NewClrCall/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/NewClrCall/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/NewClrCall/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/NextExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/NextExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/NextExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/NotEqualExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/NotEqualExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/NotEqualExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/NotExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/NotExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/NotExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/NullLiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/NullLiteralExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/NullLiteralExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/NumberedFieldReference/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/NumberedFieldReference/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/NumberedFieldReference/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/OrExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/OrExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/OrExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ParameterDeclaration/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ParameterDeclaration/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ParameterDeclaration/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/PhysicalAndExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/PhysicalAndExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/PhysicalAndExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/PhysicalNotExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/PhysicalNotExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/PhysicalNotExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/PhysicalOrExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/PhysicalOrExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/PhysicalOrExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/PhysicalXorExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/PhysicalXorExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/PhysicalXorExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Placeholder/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Placeholder/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/Placeholder/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/PrintStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/PrintStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/PrintStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ProvidedType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ProvidedType/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ProvidedType/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ProvidedTypeStaticCall/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ProvidedTypeStaticCall/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ProvidedTypeStaticCall/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QualifiedCall/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QualifiedCall/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/QualifiedCall/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QualifiedField/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QualifiedField/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/QualifiedField/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QualifiedInstanceName/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QualifiedInstanceName/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/QualifiedInstanceName/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QualifiedNumberedField/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QualifiedNumberedField/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/QualifiedNumberedField/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QualifiedStaticCall/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QualifiedStaticCall/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/QualifiedStaticCall/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QualifiedStaticField/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QualifiedStaticField/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/QualifiedStaticField/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QualifiedStaticFieldExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QualifiedStaticFieldExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/QualifiedStaticFieldExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Query/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Query/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/Query/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QueryDataSource/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QueryDataSource/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/QueryDataSource/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QueryDataSourceHaving/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QueryDataSourceHaving/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/QueryDataSourceHaving/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QueryDataSourceRange/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QueryDataSourceRange/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/QueryDataSourceRange/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QueryDataSourceRelation/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QueryDataSourceRelation/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/QueryDataSourceRelation/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QueryModelElement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QueryModelElement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/QueryModelElement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/RealLiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/RealLiteralExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/RealLiteralExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/RetryStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/RetryStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/RetryStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ReturnStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ReturnStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ReturnStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SearchStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SearchStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/SearchStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ShiftLeftExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ShiftLeftExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ShiftLeftExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ShiftRightExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ShiftRightExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ShiftRightExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SimpleField/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SimpleField/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/SimpleField/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SimpleInstanceName/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SimpleInstanceName/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/SimpleInstanceName/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SimpleOrderElement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SimpleOrderElement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/SimpleOrderElement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/StaticField/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/StaticField/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/StaticField/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/StaticMethodCall/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/StaticMethodCall/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/StaticMethodCall/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/StaticQualifier/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/StaticQualifier/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/StaticQualifier/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/StringAttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/StringAttributeLiteral/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/StringAttributeLiteral/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/StringLengthType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/StringLengthType/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/StringLengthType/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/StringLiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/StringLiteralExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/StringLiteralExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SubtractExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SubtractExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/SubtractExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SumAggregateSelection/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SumAggregateSelection/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/SumAggregateSelection/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SuperCall/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SuperCall/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/SuperCall/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SwitchCase/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SwitchCase/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/SwitchCase/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SwitchStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SwitchStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/SwitchStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SwitchStatementCaseEntry/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SwitchStatementCaseEntry/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/SwitchStatementCaseEntry/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Table/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Table/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/Table/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/TableFieldDeclaration/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/TableFieldDeclaration/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/TableFieldDeclaration/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/TableLookupExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/TableLookupExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/TableLookupExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ThrowStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ThrowStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ThrowStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/TryStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/TryStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/TryStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/TryStatementCatchEntry/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/TryStatementCatchEntry/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/TryStatementCatchEntry/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/TtsAbortStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/TtsAbortStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/TtsAbortStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/TtsBeginStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/TtsBeginStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/TtsBeginStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/TtsEndStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/TtsEndStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/TtsEndStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/UnaryMinusExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/UnaryMinusExpression/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/UnaryMinusExpression/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/UncheckedStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/UncheckedStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/UncheckedStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/UpdateStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/UpdateStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/UpdateStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/UsingStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/UsingStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/UsingStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ValidTimeStateDate/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ValidTimeStateDate/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ValidTimeStateDate/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ValidTimeStateRange/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ValidTimeStateRange/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/ValidTimeStateRange/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/VarType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/VarType/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/VarType/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/VoidType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/VoidType/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/VoidType/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/WhileStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/WhileStatement/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/WhileStatement/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/XppTypeCompilationUnit/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/XppTypeCompilationUnit/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/XppTypeCompilationUnit/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/schema/__init__.py b/xpp/schema/__init__.py new file mode 100644 index 000000000000..06723ca0d3f6 --- /dev/null +++ b/xpp/schema/__init__.py @@ -0,0 +1,14 @@ +""" +Schema description + +This file should be kept simple: +* no flow control +* no aliases +* only class definitions with annotations and `include` calls + +For how documentation of generated QL code works, please read +`misc/codegen/schema_documentation.md`. +""" + +from .prelude import * +from .ast import * diff --git a/xpp/schema/ast.py b/xpp/schema/ast.py new file mode 100644 index 000000000000..2b22c97fe073 --- /dev/null +++ b/xpp/schema/ast.py @@ -0,0 +1,1013 @@ +# Generated by xpp/extractor/Xpp.SchemaGenerator, do not edit by hand. +# +# Source: Microsoft.Dynamics.AX.Framework.Xlnt.XppCore.dll +# from Microsoft.Dynamics.AX.Platform.CompilerPackage. +# +# Regenerate with `xpp/tools/generate-schema.sh`. + +from .prelude import * + + +class ArraySpecification(Ast): + index1: optional["Expression"] | child + index2: optional["Expression"] | child + +class Attribute(Ast): + name: optional[string] + named_parameters: list["AttributeNamedParameterEntry"] | child + non_fully_qualified_name: optional[string] + parameters: list["AttributeExpression"] | child + +class AttributeExpression(Ast): + literal: optional["AttributeLiteral"] | child + +class AttributeList(Ast): + attributes: list["Attribute"] | child + contains_internal_use_only_attribute: predicate + +class AttributeLiteral(Ast): + pass + +class AttributeNamedParameterEntry(XppTuple): + item1: optional[string] + attribute_expression: optional["AttributeExpression"] | child + +class Case(Ast): + pass + +class Catch(Ast): + pass + +class ClassAccessModifier(Ast): + class_modifiers: optional[string] + +class CompilationUnit(Ast): + comments: optional["Comment"] | child + is_name_escaped: predicate + name: optional[string] + needs_transformation: predicate + regions: list["CompilationUnitRegionEntry"] | child + +class CompilationUnitRegionEntry(XppTuple): + comment: optional["Comment"] | child + comment2: optional["Comment"] | child + +class CrossCompany(Ast): + pass + +class EvaluationActualParameterEntry(XppTuple): + item1: predicate + expression: optional["Expression"] | child + +class Expression(Ast): + is_const: predicate + transformation: optional["Expression"] | child + +class FieldAssignment(Ast): + expression: optional["Expression"] | child + extension_name: optional[string] + field_name: optional[string] + index: optional[int] + +class FieldSpecification(Ast): + array_index: optional["Expression"] | child + element_type_name: optional[string] + is_const: predicate + is_internal: predicate + is_private: predicate + is_protected: predicate + is_public: predicate + is_read_only: predicate + is_static: predicate + qualifier: optional["Qualifier"] | child + +class ForAssign(Ast): + field_specification: optional["FieldSpecification"] | child + +class InsertFieldSpecification(Ast): + array_index: optional[int] + extension_name: optional[string] + is_extension: predicate + name: optional[string] + +class InstanceName(Ast): + pass + +class JoinSpecification(Ast): + kind: optional[string] + query: optional["Query"] | child + +class ModelElementUsingEntry(XppTuple): + item2: optional[string] + item3: optional[string] + +class Modifier(Ast): + modifiers: optional[string] + +class OrderElement(Ast): + direction: optional[string] + field: optional[string] + index: optional[int] + +class Qualifier(Ast): + pass + +class Query(Ast): + buffer_name: optional[string] + cross_company: optional["CrossCompany"] | child + group_by_elements: list["OrderElement"] | child + index_name: optional[string] + joins: optional["JoinSpecification"] | child + order_by_elements: list["OrderElement"] | child + selection: optional["Selection"] | child + selection_hints: list[string] + uses_hint: predicate + valid_time_state: optional["ValidTimeState"] | child + where: optional["Expression"] | child + +class QueryDataSource(Ast): + data_sources: list["QueryDataSource"] | child + element_type_name: optional[string] + fetch_mode: optional[string] + fields: list[string] + first_fast: predicate + first_only: predicate + group_by: list["GlobalOrderElement"] | child + having: list["QueryDataSourceHaving"] | child | ql.db_table_name("query_data_source_having_prop") + join_mode: optional[string] + name: optional[string] + order_by: list["GlobalOrderElement"] | child + parent_data_source: optional["QueryDataSource"] | child + path_contribution: optional[string] + ranges: list["QueryDataSourceRange"] | child | ql.db_table_name("query_data_source_ranges_prop") + relations: list["QueryDataSourceRelation"] | child | ql.db_table_name("query_data_source_relations_prop") + select_with_repeatable_read: predicate + table: optional[string] + update: predicate + +class QueryDataSourceHaving(Ast): + data_source_name: optional[string] + selection: optional["SelectionField"] | child + value: optional[string] + +class QueryDataSourceRange(Ast): + field: optional[string] + value: optional[string] + +class QueryDataSourceRelation(Ast): + field: optional[string] + join_data_source: optional[string] + related_field: optional[string] + +class Selection(Ast): + pass + +class SelectionField(Ast): + extension_name: optional[string] + field: optional[string] + +class Statement(Ast): + comments: optional[string] + +class SwitchCase(Ast): + pass + +class SwitchStatementCaseEntry(XppTuple): + case: optional["Case"] | child + statements: list["Statement"] | child + +class TableFieldReference(Ast): + index: optional["Expression"] | child + +class TryStatementCatchEntry(XppTuple): + catch: optional["Catch"] | child + statement: optional["Statement"] | child + +class ValidTimeState(Ast): + pass + +class XppType(Ast): + element_type_name: optional[string] + is_obsolete: predicate + +class AggregateSelection(SelectionField): + pass + +class AllFieldsSelection(Selection): + pass + +class AnyType(XppType): + pass + +class AssignmentStatement(Statement): + pass + +class BinaryExpression(Expression): + left: optional["Expression"] | child + right: optional["Expression"] | child + +class BooleanType(XppType): + pass + +class BreakStatement(Statement): + pass + +class BreakpointStatement(Statement): + pass + +class CaseDefault(Case): + pass + +class CaseValues(Case): + values: list["Expression"] | child + +class CatchAllValues(Catch): + pass + +class CatchExpression(Catch): + expression: optional["Expression"] | child + +class CatchUpdateConflict(Catch): + expression: optional["Expression"] | child + instance: optional["InstanceName"] | child + +class ChangeStatement(Statement): + expression: optional["Expression"] | child + statement: optional["Statement"] | child + +class CompoundStatement(Statement): + content: list["Statement"] | child + +class ConditionalExpression(Expression): + condition: optional["Expression"] | child + else_part: optional["Expression"] | child + if_part: optional["Expression"] | child + +class ContainerAttributeLiteral(AttributeLiteral): + value: list["AttributeExpression"] | child + +class ContainerType(XppType): + pass + +class ContinueStatement(Statement): + pass + +class CrossCompanyAll(CrossCompany): + pass + +class CrossCompanyContainer(CrossCompany): + container: optional["Expression"] | child + +class DateTimeType(XppType): + pass + +class DateType(XppType): + pass + +class DblType(XppType): + pass + +class Declaration(CompilationUnit): + array_specification: optional["ArraySpecification"] | child + modifier_list: list["Modifier"] | child + modifiers: optional[string] + type: optional["XppType"] | child + +class DefaultTypeAttributeLiteral(AttributeLiteral): + scanned_literal_value: optional[string] + +class DeleteStatement(Statement): + query: optional["Query"] | child + +class DoWhileStatement(Statement): + condition: optional["Expression"] | child + statement: optional["Statement"] | child + +class EmptyExpression(Expression): + pass + +class EmptyStatement(Statement): + pass + +class EnumAttributeLiteral(AttributeLiteral): + literal: optional[string] + type_name: optional[string] + +class EnumerationType(XppType): + enumerated_type: optional[string] + full_name: optional[string] + namespace: optional[string] + +class Evaluation(Expression): + actual_parameters: list["EvaluationActualParameterEntry"] | child + +class ExplicitSelection(Selection): + fields: list["SelectionField"] | child + +class ExpressionCompilationUnit(CompilationUnit): + expression: optional["Expression"] | child + path_contribution: optional[string] + +class ExpressionQualifier(Qualifier): + expression: optional["Expression"] | child + +class ExpressionStatement(Statement): + element_type_name: optional[string] + expression: optional["Expression"] | child + +class FieldExpression(Expression): + field: optional["FieldSpecification"] | child + is_enum: predicate + +class FieldSelection(SelectionField): + index: optional[int] + +class FindStatement(Statement): + query: optional["Query"] | child + +class FlushStatement(Statement): + id_list: list[string] + +class ForDeclarationAssign(ForAssign): + initialization_declaration: list["VariableDeclaration"] | child + +class ForExpressionAssign(ForAssign): + expression: optional["Expression"] | child + +class ForFieldPostDecrement(ForAssign): + pass + +class ForFieldPostIncrement(ForAssign): + pass + +class ForFieldPreDecrement(ForAssign): + pass + +class ForFieldPreIncrement(ForAssign): + pass + +class ForStatement(Statement): + condition: optional["Expression"] | child + initialization: optional["ForAssign"] | child + statement: optional["Statement"] | child + update: optional["ForAssign"] | child + +class GenericXppType(XppType): + type_argument_list: list["XppType"] | child + +class GlobalOrderElement(OrderElement): + extension_name: optional[string] + table: optional[string] + +class GuidType(XppType): + pass + +class IfStatement(Statement): + condition: optional["Expression"] | child + consequent: optional["Statement"] | child + +class IfThenElseStatement(Statement): + antecedent: optional["Statement"] | child + condition: optional["Expression"] | child + consequent: optional["Statement"] | child + +class ImplicitSelection(Selection): + pass + +class InsertStatement(Statement): + cross_company: optional["CrossCompany"] | child + fields: list["InsertFieldSpecification"] | child + query: optional["Query"] | child + table: optional[string] + +class Int64Type(XppType): + pass + +class IntType(XppType): + pass + +class Intrinsic(Expression): + arg1: optional[string] + arg2: optional[string] + arg3: optional[string] + name: optional[string] + +class IntrinsicAttributeLiteral(AttributeLiteral): + arg1: optional[string] + arg2: optional[string] + arg3: optional[string] + function_name: optional[string] + +class IsAsExpression(Expression): + expression: optional["Expression"] | child + type_name: optional[string] + +class LiteralExpression(Expression): + pass + +class LocalDeclarationsStatement(Statement): + declarations: list["LocalDeclaration"] | child + +class MethodOrDelegate(CompilationUnit): + attributes: optional["AttributeList"] | child + modifier_list: list["Modifier"] | child + parameters: list["ParameterDeclaration"] | child + path_contribution: optional[string] + type: optional["XppType"] | child + type_parameters: list[string] + +class ModelElement(CompilationUnit): + base_methods: list["MethodOrDelegate"] | child + extend_generic_parameters: list["XppType"] | child + full_name: optional[string] + full_name_no_default_namespace: optional[string] + is_internal: predicate + is_kernel: predicate + is_obsolete: predicate + is_private: predicate + is_public: predicate + methods: list["MethodOrDelegate"] | child + model_id: optional[int] + modifier_list: list["ClassAccessModifier"] | child + modifiers: optional[string] + namespace: optional[string] + nested_classes: list["ClassOrInterface"] | child + path_contribution: optional[string] + type_parameters: list[string] + using: list["ModelElementUsingEntry"] | child + visibility: optional[string] + +class MoveCursorStatement(Statement): + selection: optional["Selection"] | child + table: optional[string] + +class NamedFieldReference(TableFieldReference): + extension_name: optional[string] + field_name: optional[string] + +class NewClrArrayExpression(Expression): + full_name: optional[string] + rectangular_dimensions: list[int] + sizes: list["Expression"] | child + type_argument_list: list["XppType"] | child + +class NumberedFieldReference(TableFieldReference): + field_number: optional["Expression"] | child + +class Placeholder(Expression): + pass + +class PrintStatement(Statement): + expressions: list["Expression"] | child + +class ProvidedType(XppType): + argument_list: list["Expression"] | child + name: optional[string] + +class QualifiedField(FieldSpecification): + extension_name: optional[string] + name: optional[string] + +class QualifiedInstanceName(InstanceName): + index: optional["Expression"] | child + name: optional[string] + qualifier: optional["Qualifier"] | child + +class QualifiedNumberedField(FieldSpecification): + field_number: optional["Expression"] | child + +class QualifiedStaticField(FieldSpecification): + class_name: optional[string] + is_enum: predicate + name: optional[string] + +class RetryStatement(Statement): + pass + +class ReturnStatement(Statement): + expression: optional["Expression"] | child + +class SearchStatement(Statement): + query: optional["Query"] | child + statement: optional["Statement"] | child + +class SimpleField(FieldSpecification): + extension_name: optional[string] + is_name_escaped: predicate + name: optional[string] + +class SimpleInstanceName(InstanceName): + index: optional["Expression"] | child + name: optional[string] + +class SimpleOrderElement(OrderElement): + extension_name: optional[string] + +class SimpleQualifier(Qualifier): + name: optional[string] + +class StaticField(FieldSpecification): + class_name: optional[string] + name: optional[string] + +class StringType(XppType): + pass + +class SwitchStatement(Statement): + cases: list["SwitchStatementCaseEntry"] | child + selector: optional["Expression"] | child + +class TableLookupExpression(Expression): + field: optional["TableFieldReference"] | child + query: optional["Query"] | child + +class ThrowStatement(Statement): + exception: optional["Expression"] | child + +class TryStatement(Statement): + catches: list["TryStatementCatchEntry"] | child + finally_: optional["Statement"] | child + statement: optional["Statement"] | child + +class TtsStatement(Statement): + pass + +class UnaryExpression(Expression): + expression: optional["Expression"] | child + +class UncheckedStatement(Statement): + expression: optional["Expression"] | child + statement: optional["Statement"] | child + +class UpdateStatement(Statement): + cross_company: optional["CrossCompany"] | child + field_assignments: list["FieldAssignment"] | child + hints: list[string] + joins: optional["JoinSpecification"] | child + table: optional[string] + where: optional["Expression"] | child + +class UsingStatement(Statement): + disposable_object_initializers: list["VariableDeclaration"] | child + statement: optional["Statement"] | child + +class ValidTimeStateDate(ValidTimeState): + date_variable: optional[string] + +class ValidTimeStateRange(ValidTimeState): + from_date_variable: optional[string] + to_date_variable: optional[string] + +class VarType(XppType): + pass + +class VoidType(XppType): + pass + +class WhileStatement(Statement): + condition: optional["Expression"] | child + statement: optional["Statement"] | child + +class XppTypeCompilationUnit(CompilationUnit): + type: optional["XppType"] | child + +class AddExpression(BinaryExpression): + pass + +class AndExpression(BinaryExpression): + pass + +class AsClrExpression(IsAsExpression): + pass + +class AsExpression(IsAsExpression): + pass + +class AssignMultipleFieldStatement(AssignmentStatement): + expression: optional["Expression"] | child + fields: list["FieldSpecification"] | child + +class AssignmentSingleField(AssignmentStatement): + field: optional["FieldSpecification"] | child + +class AvgAggregateSelection(AggregateSelection): + pass + +class BooleanAttributeLiteral(DefaultTypeAttributeLiteral): + pass + +class ChangeCompanyStatement(ChangeStatement): + pass + +class ClassOrInterface(ModelElement): + attributes: optional["AttributeList"] | child + element_type_name: optional[string] + enclosing_type: optional["ModelElement"] | child + extends: optional[string] + is_abstract: predicate + is_composite_data_entity_view: predicate + is_final: predicate + is_nested: predicate + is_static: predicate + qualifier: optional[string] + +class ClrEnumerationLiteralExpression(LiteralExpression): + enumeration_literal: optional[string] + enumeration_type: optional[string] + +class ClrType(GenericXppType): + full_name: optional[string] + rectangular_dimensions: list[int] + +class ContainerLiteralExpression(LiteralExpression): + value: list["Expression"] | child + +class CountAggregateSelection(AggregateSelection): + pass + +class DateAttributeLiteral(DefaultTypeAttributeLiteral): + pass + +class DateTimeAttributeLiteral(DefaultTypeAttributeLiteral): + pass + +class DblAttributeLiteral(DefaultTypeAttributeLiteral): + pass + +class DefaultTypeLiteralExpression(LiteralExpression): + scanned_literal_value: optional[string] + +class Delegate(MethodOrDelegate): + is_static: predicate + +class DivideExpression(BinaryExpression): + pass + +class EnumerationLiteralExpression(LiteralExpression): + enumeration_literal: optional[string] + enumeration_type: optional[string] + +class FieldDeclaration(Declaration): + attributes: optional["AttributeList"] | child + element_type_name: optional[string] + extension_name: optional[string] + initial_value: optional["Expression"] | child + is_const: predicate + is_extension: predicate + is_internal: predicate + is_obsolete: predicate + is_private: predicate + is_protected: predicate + is_public: predicate + is_read_only: predicate + is_static: predicate + +class ForFieldAssign(ForExpressionAssign): + pass + +class ForFieldDecrementAssign(ForExpressionAssign): + pass + +class ForFieldIncrementAssign(ForExpressionAssign): + pass + +class FormModelElement(ModelElement): + behavior: optional["Class"] | child + controls: list["FormControl"] | child + data_sources: list["FormDataSource"] | child + element_type_name: optional[string] + full_type_name: optional[string] + +class FormNestedElement(ModelElement): + form: optional["FormModelElement"] | child + +class GenericEvaluation(Evaluation): + type_argument_list: list["XppType"] | child + +class GuidAttributeLiteral(DefaultTypeAttributeLiteral): + pass + +class InExpression(BinaryExpression): + pass + +class Int64AttributeLiteral(DefaultTypeAttributeLiteral): + pass + +class IntAttributeLiteral(DefaultTypeAttributeLiteral): + pass + +class IntegerDivideExpression(BinaryExpression): + pass + +class IsClrExpression(IsAsExpression): + pass + +class IsExpression(IsAsExpression): + pass + +class LocalDeclaration(Declaration): + pass + +class MaxAggregateSelection(AggregateSelection): + pass + +class Method(MethodOrDelegate): + declarations_and_statements: list["Statement"] | child + has_local_functions: predicate + is_abstract: predicate + is_client: predicate + is_constructor: predicate + is_display: predicate + is_edit: predicate + is_explicit_non_hookable: predicate + is_explicit_non_wrappable: predicate + is_extended_method: predicate + is_final: predicate + is_hookable: predicate + is_hookable_on_chain_of_command: predicate + is_internal: predicate + is_private: predicate + is_protected: predicate + is_public: predicate + is_replaceable: predicate + is_server: predicate + is_static: predicate + is_type_initializer: predicate + is_wrappable: predicate + locals: list["LocalDeclaration"] | child + modifiers: optional[string] + statements: list["Statement"] | child + +class MinAggregateSelection(AggregateSelection): + pass + +class ModExpression(BinaryExpression): + pass + +class MultiplyExpression(BinaryExpression): + pass + +class NamedType(GenericXppType): + name: optional[string] + +class NewCall(Evaluation): + type: optional["XppType"] | child + +class NextExpression(Evaluation): + name: optional[string] + +class NotExpression(UnaryExpression): + pass + +class NullLiteralExpression(LiteralExpression): + pass + +class OrExpression(BinaryExpression): + pass + +class PhysicalAndExpression(BinaryExpression): + pass + +class PhysicalNotExpression(UnaryExpression): + pass + +class PhysicalOrExpression(BinaryExpression): + pass + +class PhysicalXorExpression(BinaryExpression): + pass + +class ProvidedTypeStaticCall(Evaluation): + method_name: optional[string] + provided_type: optional["ProvidedType"] | child + +class QualifiedStaticFieldExpression(FieldExpression): + class_name: optional[string] + is_static: predicate + name: optional[string] + +class QueryModelElement(ModelElement): + allow_cross_company: predicate + behavior: optional["Class"] | child + data_source_list: list["QueryDataSource"] | child + data_sources: list["QueryDataSource"] | child + element_type_name: optional[string] + user_update: predicate + +class RelationalExpression(BinaryExpression): + operator: optional[string] + +class ShiftLeftExpression(BinaryExpression): + pass + +class ShiftRightExpression(BinaryExpression): + pass + +class StaticQualifier(SimpleQualifier): + class_type_argument_list: list["XppType"] | child + +class StringAttributeLiteral(DefaultTypeAttributeLiteral): + pass + +class StringLengthType(StringType): + edt_name: optional[string] + is_edt: predicate + length: optional[int] + +class SubtractExpression(BinaryExpression): + pass + +class SumAggregateSelection(AggregateSelection): + pass + +class SuperCall(Evaluation): + pass + +class Table(ModelElement): + attributes: optional["AttributeList"] | child + element_type_name: optional[string] + extends: optional[string] + fields: list["FieldDeclaration"] | child + indexes: list[string] + is_aggregate_data_entity: predicate + is_data_entity_view: predicate + is_map: predicate + is_updatable: predicate + is_view: predicate + support_inheritance: predicate + +class TtsAbortStatement(TtsStatement): + pass + +class TtsBeginStatement(TtsStatement): + pass + +class TtsEndStatement(TtsStatement): + pass + +class UnaryMinusExpression(UnaryExpression): + pass + +class AssignPostDecrementStatement(AssignmentSingleField): + pass + +class AssignPostIncrementStatement(AssignmentSingleField): + pass + +class AssignPreDecrementStatement(AssignmentSingleField): + pass + +class AssignPreIncrementStatement(AssignmentSingleField): + pass + +class AssignmentBinary(AssignmentSingleField): + expression: optional["Expression"] | child + +class AssignmentEventHandlerBase(AssignmentSingleField): + addition: predicate + name: optional[string] + +class BooleanLiteralExpression(DefaultTypeLiteralExpression): + pass + +class Class(ClassOrInterface): + fields: list["FieldDeclaration"] | child + has_cyclic_inheritance: predicate + implements: list[string] + +class DateLiteralExpression(DefaultTypeLiteralExpression): + pass + +class DateTimeLiteralExpression(DefaultTypeLiteralExpression): + pass + +class EqualExpression(RelationalExpression): + pass + +class FormControl(FormNestedElement): + auto_declaration: predicate + child_controls: list["FormControl"] | child + control_class: optional[string] + control_type: optional[string] + custom_control_class: optional[string] + element_type_name: optional[string] + internal_control_name: optional[string] + is_form_control_extension: predicate + parent_control: optional["FormControl"] | child + +class FormDataField(FormNestedElement): + element_type_name: optional[string] + form_data_source: optional["FormDataSource"] | child + +class FormDataSource(FormNestedElement): + data_fields: list["FormDataField"] | child + element_type_name: optional[string] + join_source: optional[string] + link_type: optional[string] + nested_data_source: predicate + query: optional["QueryModelElement"] | child + query_name: optional[string] + table: optional[string] + +class FormElementType(NamedType): + form_name: optional[string] + +class FunctionCall(GenericEvaluation): + function_name: optional[string] + +class FunctionDeclaration(LocalDeclaration): + declarations_and_statements: list["Statement"] | child + element_type_name: optional[string] + locals: list["LocalDeclaration"] | child + parameters: list["ParameterDeclaration"] | child + statements: list["Statement"] | child + +class GreaterThanExpression(RelationalExpression): + pass + +class GreaterThanOrEqualExpression(RelationalExpression): + pass + +class Int64LiteralExpression(DefaultTypeLiteralExpression): + pass + +class IntLiteralExpression(DefaultTypeLiteralExpression): + pass + +class Interface(ClassOrInterface): + pass + +class LessThanExpression(RelationalExpression): + pass + +class LessThanOrEqualExpression(RelationalExpression): + pass + +class LikeExpression(RelationalExpression): + pass + +class NewClrCall(GenericEvaluation): + clr_class_name: optional[string] + +class NotEqualExpression(RelationalExpression): + pass + +class QualifiedCall(GenericEvaluation): + method_name: optional[string] + qualifier: optional["Qualifier"] | child + +class QualifiedStaticCall(GenericEvaluation): + class_name: optional[string] + class_type_argument_list: list["XppType"] | child + is_table_map_call: predicate + method_name: optional[string] + qualifier: optional["Qualifier"] | child + +class RealLiteralExpression(DefaultTypeLiteralExpression): + pass + +class StaticMethodCall(GenericEvaluation): + class_name: optional[string] + class_type_argument_list: list["XppType"] | child + method_name: optional[string] + +class StringLiteralExpression(DefaultTypeLiteralExpression): + is_label: predicate + label_file_id: optional[string] + label_id: optional[string] + +class TableFieldDeclaration(FieldDeclaration): + pass + +class VariableDeclaration(LocalDeclaration): + element_type_name: optional[string] + initial_value: optional["Expression"] | child + is_const: predicate + +class AssignDecrementStatement(AssignmentBinary): + pass + +class AssignDivideStatement(AssignmentBinary): + pass + +class AssignEqualStatement(AssignmentBinary): + pass + +class AssignIncrementStatement(AssignmentBinary): + pass + +class AssignMultiplyStatement(AssignmentBinary): + pass + +class AssignmentEventHandlerInstance(AssignmentEventHandlerBase): + qualifier_part: optional["Qualifier"] | child + +class AssignmentEventHandlerStatic(AssignmentEventHandlerBase): + type_name: optional[string] + +class ParameterDeclaration(VariableDeclaration): + is_by_ref: predicate + is_optional: predicate + +class AssignmentEventHandlerClr(AssignmentEventHandlerStatic): + pass diff --git a/xpp/schema/prelude.py b/xpp/schema/prelude.py new file mode 100644 index 000000000000..3328da1060c9 --- /dev/null +++ b/xpp/schema/prelude.py @@ -0,0 +1,85 @@ +""" +Hand-written base of the X++ schema. + +`ast.py` is generated from the X++ compiler's own AST hierarchy and layers on top of the +classes defined here. Keep this file simple: only class definitions with annotations and +`include` calls. +""" + +from misc.codegen.lib.schemadefs import * + +include("prefix.dbscheme") + + +@qltest.skip +class Element: + is_unknown: predicate + + +@qltest.collapse_hierarchy +class File(Element): + name: string + + +@qltest.skip +@qltest.collapse_hierarchy +class Location(Element): + file: File + start_line: int + start_column: int + end_line: int + end_column: int + + +@qltest.skip +class Locatable(Element): + location: optional[Location] | doc("location associated with this element in the code") + + +@qltest.skip +@qltest.collapse_hierarchy +class ErrorElement(Locatable): + """The superclass of all elements indicating some kind of error.""" + + pass + + +@use_for_null +class UnspecifiedElement(ErrorElement): + """A node that could not be extracted, for example because of a syntax error.""" + + parent: optional[Element] + property: string + index: optional[int] + error: string + + +class Comment(Locatable): + """A comment in X++ source.""" + + text: optional[string] + + +@qltest.skip +class Ast(Locatable): + """ + Root of the X++ abstract syntax tree. + + This mirrors `Microsoft.Dynamics.AX.Metadata.XppCompiler.Ast`, the base class of the + X++ compiler's own AST. + """ + + pass + + +@qltest.skip +class XppTuple(Locatable): + """ + Base of the classes standing in for tuples in the compiler's AST. + + The X++ compiler uses CLR tuples for a handful of grouped values, such as a `catch` + together with its handler body. The schema has no tuple type, so the generator emits a + named class per tuple-valued property instead. + """ + + pass diff --git a/xpp/tools/generate-schema.sh b/xpp/tools/generate-schema.sh new file mode 100755 index 000000000000..5f3eefc0e874 --- /dev/null +++ b/xpp/tools/generate-schema.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# Regenerates the X++ schema, dbscheme and QL classes. +# +# The schema is derived by reflection from the X++ compiler's own AST hierarchy in +# Microsoft.Dynamics.AX.Framework.Xlnt.XppCore.dll, which ships in the proprietary +# Microsoft.Dynamics.AX.Platform.CompilerPackage. That package is not committed here, so point +# XPP_COMPILER_PACKAGE at an extracted copy: +# +# XPP_COMPILER_PACKAGE=/path/to/extracted/nupkg xpp/tools/generate-schema.sh +# +# The generated schema, dbscheme and QL are committed, so this is only needed when moving to a +# new platform release. + +set -euo pipefail + +here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +xpp_root="$(dirname "$here")" +repo_root="$(dirname "$xpp_root")" + +if [ -z "${XPP_COMPILER_PACKAGE:-}" ]; then + echo "XPP_COMPILER_PACKAGE is not set." >&2 + echo "Point it at an extracted Microsoft.Dynamics.AX.Platform.CompilerPackage." >&2 + exit 2 +fi + +PYTHON="${PYTHON:-python3}" + +echo "==> generating schema/ast.py from $XPP_COMPILER_PACKAGE" +dotnet run --project "$xpp_root/extractor/Xpp.SchemaGenerator" -c Release -- \ + schema \ + --package "$XPP_COMPILER_PACKAGE" \ + --output "$xpp_root/schema/ast.py" + +echo "==> running misc/codegen" +cd "$xpp_root" +PYTHONPATH="$repo_root" "$PYTHON" "$repo_root/misc/codegen/codegen.py" + +echo "==> done" From a316cfba868685b68d201a9ed2041232238240b0 Mon Sep 17 00:00:00 2001 From: Giulia Stocco <98900+gfs@users.noreply.github.com> Date: Mon, 17 Aug 2026 12:49:17 -0700 Subject: [PATCH 02/10] X++: fix schema generator argument parsing Options were scanned from index 1 to length-1 and the `type` command read its operand from a fixed position, so a type name followed by `--package` was shadowed by the option itself. Parse options and positionals separately. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1f6fb880-dfd8-4fba-91a2-903f43dc287d --- xpp/extractor/Xpp.SchemaGenerator/Program.cs | 21 ++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/xpp/extractor/Xpp.SchemaGenerator/Program.cs b/xpp/extractor/Xpp.SchemaGenerator/Program.cs index c1895e77e4d8..7fe579d6454f 100644 --- a/xpp/extractor/Xpp.SchemaGenerator/Program.cs +++ b/xpp/extractor/Xpp.SchemaGenerator/Program.cs @@ -2,30 +2,35 @@ // Regenerates xpp/schema/ast.py from the X++ compiler package's AST hierarchy. // -// Xpp.SchemaGenerator [--package ] [--output ] +// Xpp.SchemaGenerator [args] [--package ] [--output ] // // Commands: -// schema write the generated schema module -// report summarise the reflected model and any unmapped properties - -var command = args.FirstOrDefault() ?? "report"; +// schema write the generated schema module +// report summarise the reflected model and any unmapped properties +// type dump the members of a single type, for investigation +var positional = new List(); string? packageDirectory = null; string? output = null; -for (var i = 1; i < args.Length - 1; i++) +for (var i = 0; i < args.Length; i++) { switch (args[i]) { - case "--package": + case "--package" when i + 1 < args.Length: packageDirectory = args[++i]; break; - case "--output": + case "--output" when i + 1 < args.Length: output = args[++i]; break; + default: + positional.Add(args[i]); + break; } } +var command = positional.Count > 0 ? positional[0] : "report"; + packageDirectory ??= Environment.GetEnvironmentVariable("XPP_COMPILER_PACKAGE"); if (string.IsNullOrEmpty(packageDirectory)) From bd1faf0d74d6e873ad11420a079971a0cd962d68 Mon Sep 17 00:00:00 2001 From: Giulia Stocco <98900+gfs@users.noreply.github.com> Date: Mon, 17 Aug 2026 15:44:40 -0700 Subject: [PATCH 03/10] X++: generate the TRAP writer and extract to TRAP end to end Adds the second stage of X++ support: a generated TRAP writer, and an extractor that turns a D365 F&O metadata object into a CodeQL database. The TRAP writer is generated from the same reflected AST model as the schema rather than from a Python generator reading schema/ast.py. The schema keeps only snake_case names and loses the CLR binding needed to read a property back off a node, so the generator has to be where the model already lives. Relation names, however, are produced by inflection.tableize inside misc/codegen, so the generator reimplements those naming rules and validates every relation it emits against the committed dbscheme. A divergence fails generation instead of silently dropping tuples, and that check already caught two naming bugs: plural rules applied in the wrong order, and predicate tables using underscore rather than tableize. Two further mismatches between the CLR hierarchy and the dbscheme surfaced: - A class that is instantiable and also extended gets only a union in the dbscheme, leaving instances of exactly that class with nowhere to bind. Seven X++ classes are in that position, so the generator emits an `...Internal` leaf for each, as the Rust schema does. - Open generic AST classes cannot be named in generated code, and a closed instance's runtime name would not match a dispatch case. They are treated as abstract and their members bound through `dynamic`. Extraction reads the X++ out of the CDATA blocks in an object's XML and passes each block's line offset to the parser, so positions come back relative to the file rather than the fragment. Method bodies parse without metadata; class and interface headers need a provider to resolve `extends`, so an empty one is supplied through DispatchProxy rather than hand-writing eighty-odd members. The compiler package stays out of build output and is resolved at run time from XPP_COMPILER_PACKAGE. Verified end to end. Three AxClass objects from TrudAX/XppTools yield 63 source blocks and 2181 nodes with no unsupported nodes and no errors; the resulting TRAP imports cleanly and queries return the expected method names and counts. A fixture covering `while select`, ttsbegin/ttscommit/ttsabort, try/catch and changecompany confirms the X++-specific constructs reach the database. Regeneration remains deterministic. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1f6fb880-dfd8-4fba-91a2-903f43dc287d --- .../Xpp.Extraction/CompilerPackageResolver.cs | 57 + xpp/extractor/Xpp.Extraction/Extractor.cs | 159 + .../Generated/AstTrapEmitter.g.cs | 3068 +++++++++++++++++ xpp/extractor/Xpp.Extraction/ITrapFile.cs | 23 + xpp/extractor/Xpp.Extraction/Label.cs | 9 + .../Xpp.Extraction/NullMetadataProvider.cs | 44 + xpp/extractor/Xpp.Extraction/TrapFile.cs | 69 + .../Xpp.Extraction/Xpp.Extraction.csproj | 41 + xpp/extractor/Xpp.Extraction/XppSourceFile.cs | 100 + xpp/extractor/Xpp.Extractor/Program.cs | 85 + .../Xpp.Extractor/Xpp.Extractor.csproj | 16 + xpp/extractor/Xpp.SchemaGenerator/AstModel.cs | 59 +- .../Xpp.SchemaGenerator/Inflection.cs | 85 + xpp/extractor/Xpp.SchemaGenerator/Program.cs | 39 +- .../Xpp.SchemaGenerator/TrapEmitterWriter.cs | 318 ++ xpp/ql/.generated.list | 45 +- xpp/ql/.gitattributes | 35 + xpp/ql/lib/codeql/xpp/elements.qll | 7 + .../AssignmentEventHandlerStaticInternal.qll | 9 + .../xpp/elements/FieldDeclarationInternal.qll | 9 + .../xpp/elements/FieldExpressionInternal.qll | 9 + .../codeql/xpp/elements/NamedTypeInternal.qll | 9 + .../xpp/elements/SimpleQualifierInternal.qll | 9 + .../xpp/elements/StringTypeInternal.qll | 9 + .../elements/VariableDeclarationInternal.qll | 9 + ...tEventHandlerStaticInternalConstructor.qll | 16 + ...signmentEventHandlerStaticInternalImpl.qll | 17 + .../FieldDeclarationInternalConstructor.qll | 14 + .../internal/FieldDeclarationInternalImpl.qll | 16 + .../FieldExpressionInternalConstructor.qll | 14 + .../internal/FieldExpressionInternalImpl.qll | 16 + .../internal/NamedTypeInternalConstructor.qll | 14 + .../internal/NamedTypeInternalImpl.qll | 16 + .../SimpleQualifierInternalConstructor.qll | 14 + .../internal/SimpleQualifierInternalImpl.qll | 16 + .../StringTypeInternalConstructor.qll | 14 + .../internal/StringTypeInternalImpl.qll | 16 + ...VariableDeclarationInternalConstructor.qll | 14 + .../VariableDeclarationInternalImpl.qll | 16 + .../AssignmentEventHandlerStaticInternal.qll | 25 + .../generated/FieldDeclarationInternal.qll | 25 + .../generated/FieldExpressionInternal.qll | 25 + .../internal/generated/NamedTypeInternal.qll | 23 + .../internal/generated/ParentChild.qll | 149 + .../xpp/elements/internal/generated/Raw.qll | 177 + .../generated/SimpleQualifierInternal.qll | 25 + .../internal/generated/StringTypeInternal.qll | 23 + .../xpp/elements/internal/generated/Synth.qll | 216 +- .../internal/generated/SynthConstructors.qll | 7 + .../generated/VariableDeclarationInternal.qll | 25 + xpp/ql/lib/xpp.dbscheme | 41 +- .../MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../NamedTypeInternal/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + .../StringTypeInternal/MISSING_SOURCE.txt | 4 + .../MISSING_SOURCE.txt | 4 + xpp/schema/ast.py | 21 + xpp/tools/generate-schema.sh | 6 + 60 files changed, 5330 insertions(+), 21 deletions(-) create mode 100644 xpp/extractor/Xpp.Extraction/CompilerPackageResolver.cs create mode 100644 xpp/extractor/Xpp.Extraction/Extractor.cs create mode 100644 xpp/extractor/Xpp.Extraction/Generated/AstTrapEmitter.g.cs create mode 100644 xpp/extractor/Xpp.Extraction/ITrapFile.cs create mode 100644 xpp/extractor/Xpp.Extraction/Label.cs create mode 100644 xpp/extractor/Xpp.Extraction/NullMetadataProvider.cs create mode 100644 xpp/extractor/Xpp.Extraction/TrapFile.cs create mode 100644 xpp/extractor/Xpp.Extraction/Xpp.Extraction.csproj create mode 100644 xpp/extractor/Xpp.Extraction/XppSourceFile.cs create mode 100644 xpp/extractor/Xpp.Extractor/Program.cs create mode 100644 xpp/extractor/Xpp.Extractor/Xpp.Extractor.csproj create mode 100644 xpp/extractor/Xpp.SchemaGenerator/Inflection.cs create mode 100644 xpp/extractor/Xpp.SchemaGenerator/TrapEmitterWriter.cs create mode 100644 xpp/ql/lib/codeql/xpp/elements/AssignmentEventHandlerStaticInternal.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/FieldDeclarationInternal.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/FieldExpressionInternal.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/NamedTypeInternal.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/SimpleQualifierInternal.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/StringTypeInternal.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/VariableDeclarationInternal.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerStaticInternalConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerStaticInternalImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FieldDeclarationInternalConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FieldDeclarationInternalImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FieldExpressionInternalConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/FieldExpressionInternalImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NamedTypeInternalConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/NamedTypeInternalImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SimpleQualifierInternalConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/SimpleQualifierInternalImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/StringTypeInternalConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/StringTypeInternalImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/VariableDeclarationInternalConstructor.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/VariableDeclarationInternalImpl.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerStaticInternal.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldDeclarationInternal.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldExpressionInternal.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/NamedTypeInternal.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/SimpleQualifierInternal.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/StringTypeInternal.qll create mode 100644 xpp/ql/lib/codeql/xpp/elements/internal/generated/VariableDeclarationInternal.qll create mode 100644 xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerStaticInternal/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/FieldDeclarationInternal/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/FieldExpressionInternal/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/NamedTypeInternal/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/SimpleQualifierInternal/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/StringTypeInternal/MISSING_SOURCE.txt create mode 100644 xpp/ql/test/extractor-tests/generated/VariableDeclarationInternal/MISSING_SOURCE.txt diff --git a/xpp/extractor/Xpp.Extraction/CompilerPackageResolver.cs b/xpp/extractor/Xpp.Extraction/CompilerPackageResolver.cs new file mode 100644 index 000000000000..0cac5431d766 --- /dev/null +++ b/xpp/extractor/Xpp.Extraction/CompilerPackageResolver.cs @@ -0,0 +1,57 @@ +using System.Reflection; +using System.Runtime.Loader; + +namespace Xpp.Extraction; + +/// +/// Resolves the X++ compiler assemblies from an extracted +/// Microsoft.Dynamics.AX.Platform.CompilerPackage at run time. +/// +/// +/// The package is proprietary, so it is neither committed nor copied into build output. The +/// extractor locates it through XPP_COMPILER_PACKAGE instead, which also keeps a single +/// copy shared between the extractor and any other tool that needs it. +/// +public static class CompilerPackageResolver +{ + public const string PackageVariable = "XPP_COMPILER_PACKAGE"; + + private static bool installed; + + /// + /// Starts resolving compiler assemblies from , or from + /// XPP_COMPILER_PACKAGE when it is null. + /// + /// + /// The package directory is unset or does not exist. + /// + public static void Install(string? packageDirectory = null) + { + if (installed) + return; + + packageDirectory ??= Environment.GetEnvironmentVariable(PackageVariable); + + if (string.IsNullOrEmpty(packageDirectory)) + { + throw new DirectoryNotFoundException( + $"{PackageVariable} is not set. Point it at an extracted " + + "Microsoft.Dynamics.AX.Platform.CompilerPackage."); + } + + if (!Directory.Exists(packageDirectory)) + { + throw new DirectoryNotFoundException( + $"{PackageVariable} does not exist: {packageDirectory}"); + } + + var root = packageDirectory; + AssemblyLoadContext.Default.Resolving += (context, name) => + { + var candidate = Path.Combine(root, name.Name + ".dll"); + return File.Exists(candidate) ? context.LoadFromAssemblyPath(candidate) : null; + }; + + installed = true; + } +} diff --git a/xpp/extractor/Xpp.Extraction/Extractor.cs b/xpp/extractor/Xpp.Extraction/Extractor.cs new file mode 100644 index 000000000000..9be2276e8721 --- /dev/null +++ b/xpp/extractor/Xpp.Extraction/Extractor.cs @@ -0,0 +1,159 @@ +using System.Xml.Linq; +using Microsoft.Dynamics.AX.Framework.Xlnt.XppParser; +using Microsoft.Dynamics.AX.Metadata.XppCompiler; +using Xpp.Extraction.Generated; + +namespace Xpp.Extraction; + +/// Outcome of extracting a single metadata object. +public sealed record ExtractionResult( + string Path, + int Blocks, + int Nodes, + int Unsupported, + IReadOnlyList Errors); + +/// +/// Parses the X++ in a metadata object and writes the resulting AST as TRAP. +/// +public sealed class Extractor +{ + /// + /// Method bodies parse without metadata; class and interface headers need a provider in + /// order to look up the type named by `extends`. + /// + private readonly IXppcMetadataProvider metadata = NullMetadataProvider.Create(); + + public ExtractionResult Extract(string path, ITrapFile trap) + { + var text = File.ReadAllText(path); + var errors = new List(); + + XDocument document; + try + { + document = XDocument.Parse(text); + } + catch (Exception e) + { + return new ExtractionResult(path, 0, 0, 0, [$"malformed XML: {e.Message}"]); + } + + var name = XppSourceFile.ObjectName(document) ?? Path.GetFileNameWithoutExtension(path); + var elementType = ElementType(path); + + var fileLabel = trap.FreshLabel(); + trap.Tuple("files", fileLabel, path); + + var blocks = 0; + var nodes = 0; + var unsupported = 0; + + foreach (var block in XppSourceFile.Blocks(text, document)) + { + blocks++; + var context = new ParserContext(elementType, name); + var diagnostics = new DiagnosticsHandler(); + var macros = new MacroLibrary(); + var lineOffset = block.LineOffset; + + Ast? unit; + try + { + // The declaration block holds the class or interface header; everything else is + // a method body. + unit = block.Name is null + ? Pass1.ParseClassOrInterface( + context, block.Source, metadata, diagnostics, macros, + ref lineOffset, 0, []) + : Pass1.ParseMethod( + context, block.Source, metadata, diagnostics, macros, ref lineOffset, 0); + } + catch (Exception e) + { + errors.Add($"{name}.{block.Name ?? ""}: {e.GetType().Name}: {e.Message}"); + continue; + } + + if (unit is null) + continue; + + EmitTree(trap, unit, ref nodes, ref unsupported); + } + + return new ExtractionResult(path, blocks, nodes, unsupported, errors); + } + + /// + /// The parser's name for the kind of object being parsed, derived from the metadata + /// directory. The directories carry an `Ax` prefix that the parser does not accept. + /// + private static string ElementType(string path) + { + var directory = Path.GetFileName(Path.GetDirectoryName(path)) ?? "AxClass"; + return directory.StartsWith("Ax", StringComparison.Ordinal) + ? directory["Ax".Length..] + : directory; + } + + /// Walks the AST, writing each node's tuples exactly once. + private static void EmitTree(ITrapFile trap, object root, ref int nodes, ref int unsupported) + { + var seen = new HashSet(ReferenceEqualityComparer.Instance); + var pending = new Stack(); + pending.Push(root); + + while (pending.Count > 0) + { + var node = pending.Pop(); + if (!seen.Add(node)) + continue; + + nodes++; + if (!AstTrapEmitter.Emit(trap, trap.Label(node), node)) + unsupported++; + + foreach (var child in Children(node)) + pending.Push(child); + } + } + + /// The AST nodes directly reachable from . + private static IEnumerable Children(object node) + { + foreach (var property in node.GetType().GetProperties()) + { + if (property.Name is "Parent" or "ParentAst") + continue; + + object? value; + try + { + value = property.GetValue(node); + } + catch + { + continue; + } + + switch (value) + { + case null: + break; + case Ast child: + yield return child; + break; + case string: + break; + case System.Collections.IEnumerable sequence: + foreach (var item in sequence) + { + if (item is Ast element) + yield return element; + } + + break; + } + } + } +} diff --git a/xpp/extractor/Xpp.Extraction/Generated/AstTrapEmitter.g.cs b/xpp/extractor/Xpp.Extraction/Generated/AstTrapEmitter.g.cs new file mode 100644 index 000000000000..b9436cf540ff --- /dev/null +++ b/xpp/extractor/Xpp.Extraction/Generated/AstTrapEmitter.g.cs @@ -0,0 +1,3068 @@ +// Generated by xpp/extractor/Xpp.SchemaGenerator, do not edit by hand. +// +// Relation names are validated against xpp/ql/lib/xpp.dbscheme at generation time. +// Regenerate with `xpp/tools/generate-schema.sh`. + +using System.Runtime.CompilerServices; +using Xpp.Extraction; + +namespace Xpp.Extraction.Generated; + +internal static class AstTrapEmitter +{ + + private static void EmitOwnArraySpecification(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ArraySpecification)node; + if (n.Index1 is { } c_index1) + trap.Tuple("array_specification_index1s", id, trap.Label(c_index1)); + if (n.Index2 is { } c_index2) + trap.Tuple("array_specification_index2s", id, trap.Label(c_index2)); + } + + private static void EmitOwnAssignMultipleFieldStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignMultipleFieldStatement)node; + if (n.Expression is { } c_expression) + trap.Tuple("assign_multiple_field_statement_expressions", id, trap.Label(c_expression)); + if (n.Fields is System.Collections.IEnumerable seq_fields) + { + var i = 0; + foreach (var item in seq_fields) + { + if (item is null) continue; + trap.Tuple("assign_multiple_field_statement_fields", id, i, trap.Label(item)); + i++; + } + } + } + + private static void EmitOwnAssignmentBinary(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignmentBinary)node; + if (n.Expression is { } c_expression) + trap.Tuple("assignment_binary_expressions", id, trap.Label(c_expression)); + } + + private static void EmitOwnAssignmentEventHandlerBase(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignmentEventHandlerBase)node; + if (n.Addition is true) + trap.Tuple("assignment_event_handler_base_addition", id); + if (n.Name is string s_name) + trap.Tuple("assignment_event_handler_base_names", id, s_name); + } + + private static void EmitOwnAssignmentEventHandlerInstance(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignmentEventHandlerInstance)node; + if (n.QualifierPart is { } c_qualifier_part) + trap.Tuple("assignment_event_handler_instance_qualifier_parts", id, trap.Label(c_qualifier_part)); + } + + private static void EmitOwnAssignmentEventHandlerStatic(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignmentEventHandlerStatic)node; + if (n.TypeName is string s_type_name) + trap.Tuple("assignment_event_handler_static_type_names", id, s_type_name); + } + + private static void EmitOwnAssignmentSingleField(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignmentSingleField)node; + if (n.Field is { } c_field) + trap.Tuple("assignment_single_field_fields", id, trap.Label(c_field)); + } + + private static void EmitOwnAttribute(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Attribute)node; + if (n.Name is string s_name) + trap.Tuple("attribute_names", id, s_name); + if (n.NamedParameters is System.Collections.IEnumerable seq_named_parameters) + { + var i = 0; + foreach (var item in seq_named_parameters) + { + if (item is null) continue; + trap.Tuple("attribute_named_parameters", id, i, EmitAttributeNamedParameterEntry(trap, (ITuple)item)); + i++; + } + } + if (n.NonFullyQualifiedName is string s_non_fully_qualified_name) + trap.Tuple("attribute_non_fully_qualified_names", id, s_non_fully_qualified_name); + if (n.Parameters is System.Collections.IEnumerable seq_parameters) + { + var i = 0; + foreach (var item in seq_parameters) + { + if (item is null) continue; + trap.Tuple("attribute_parameters", id, i, trap.Label(item)); + i++; + } + } + } + + private static void EmitOwnAttributeExpression(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.AttributeExpression)node; + if (n.Literal is { } c_literal) + trap.Tuple("attribute_expression_literals", id, trap.Label(c_literal)); + } + + private static void EmitOwnAttributeList(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.AttributeList)node; + if (n.Attributes is System.Collections.IEnumerable seq_attributes) + { + var i = 0; + foreach (var item in seq_attributes) + { + if (item is null) continue; + trap.Tuple("attribute_list_attributes", id, i, trap.Label(item)); + i++; + } + } + if (n.ContainsInternalUseOnlyAttribute is true) + trap.Tuple("attribute_list_contains_internal_use_only_attribute", id); + } + + private static void EmitOwnBinaryExpression(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.BinaryExpression)node; + if (n.Left is { } c_left) + trap.Tuple("binary_expression_lefts", id, trap.Label(c_left)); + if (n.Right is { } c_right) + trap.Tuple("binary_expression_rights", id, trap.Label(c_right)); + } + + private static void EmitOwnCaseValues(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.CaseValues)node; + if (n.Values is System.Collections.IEnumerable seq_values) + { + var i = 0; + foreach (var item in seq_values) + { + if (item is null) continue; + trap.Tuple("case_values_values", id, i, trap.Label(item)); + i++; + } + } + } + + private static void EmitOwnCatchExpression(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.CatchExpression)node; + if (n.Expression is { } c_expression) + trap.Tuple("catch_expression_expressions", id, trap.Label(c_expression)); + } + + private static void EmitOwnCatchUpdateConflict(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.CatchUpdateConflict)node; + if (n.Expression is { } c_expression) + trap.Tuple("catch_update_conflict_expressions", id, trap.Label(c_expression)); + if (n.Instance is { } c_instance) + trap.Tuple("catch_update_conflict_instances", id, trap.Label(c_instance)); + } + + private static void EmitOwnChangeStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ChangeStatement)node; + if (n.Expression is { } c_expression) + trap.Tuple("change_statement_expressions", id, trap.Label(c_expression)); + if (n.Statement is { } c_statement) + trap.Tuple("change_statement_statements", id, trap.Label(c_statement)); + } + + private static void EmitOwnClass(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Class)node; + if (n.Fields is System.Collections.IEnumerable seq_fields) + { + var i = 0; + foreach (var item in seq_fields) + { + if (item is null) continue; + trap.Tuple("class_fields", id, i, trap.Label(item)); + i++; + } + } + if (n.HasCyclicInheritance is true) + trap.Tuple("class_has_cyclic_inheritance", id); + if (n.Implements is System.Collections.IEnumerable seq_implements) + { + var i = 0; + foreach (var item in seq_implements) + { + if (item is null) continue; + trap.Tuple("class_implements", id, i, (string)item); + i++; + } + } + } + + private static void EmitOwnClassAccessModifier(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ClassAccessModifier)node; + if (n.ClassModifiers is { } e_class_modifiers) + trap.Tuple("class_access_modifier_class_modifiers", id, e_class_modifiers.ToString()); + } + + private static void EmitOwnClassOrInterface(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ClassOrInterface)node; + if (n.Attributes is { } c_attributes) + trap.Tuple("class_or_interface_attributes", id, trap.Label(c_attributes)); + if (n.ElementTypeName is string s_element_type_name) + trap.Tuple("class_or_interface_element_type_names", id, s_element_type_name); + if (n.EnclosingType is { } c_enclosing_type) + trap.Tuple("class_or_interface_enclosing_types", id, trap.Label(c_enclosing_type)); + if (n.Extends is string s_extends) + trap.Tuple("class_or_interface_extends", id, s_extends); + if (n.IsAbstract is true) + trap.Tuple("class_or_interface_is_abstract", id); + if (n.IsCompositeDataEntityView is true) + trap.Tuple("class_or_interface_is_composite_data_entity_view", id); + if (n.IsFinal is true) + trap.Tuple("class_or_interface_is_final", id); + if (n.IsNested is true) + trap.Tuple("class_or_interface_is_nested", id); + if (n.IsStatic is true) + trap.Tuple("class_or_interface_is_static", id); + if (n.Qualifier is string s_qualifier) + trap.Tuple("class_or_interface_qualifiers", id, s_qualifier); + } + + private static void EmitOwnClrEnumerationLiteralExpression(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ClrEnumerationLiteralExpression)node; + if (n.EnumerationLiteral is string s_enumeration_literal) + trap.Tuple("clr_enumeration_literal_expression_enumeration_literals", id, s_enumeration_literal); + if (n.EnumerationType is string s_enumeration_type) + trap.Tuple("clr_enumeration_literal_expression_enumeration_types", id, s_enumeration_type); + } + + private static void EmitOwnClrType(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ClrType)node; + if (n.FullName is string s_full_name) + trap.Tuple("clr_type_full_names", id, s_full_name); + if (n.RectangularDimensions is System.Collections.IEnumerable seq_rectangular_dimensions) + { + var i = 0; + foreach (var item in seq_rectangular_dimensions) + { + if (item is null) continue; + trap.Tuple("clr_type_rectangular_dimensions", id, i, System.Convert.ToInt64(item)); + i++; + } + } + } + + private static void EmitOwnCompilationUnit(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.CompilationUnit)node; + if (n.Comments is { } c_comments) + trap.Tuple("compilation_unit_comments", id, trap.Label(c_comments)); + if (n.IsNameEscaped is true) + trap.Tuple("compilation_unit_is_name_escaped", id); + if (n.Name is string s_name) + trap.Tuple("compilation_unit_names", id, s_name); + if (n.NeedsTransformation is true) + trap.Tuple("compilation_unit_needs_transformation", id); + if (n.Regions is System.Collections.IEnumerable seq_regions) + { + var i = 0; + foreach (var item in seq_regions) + { + if (item is null) continue; + trap.Tuple("compilation_unit_regions", id, i, EmitCompilationUnitRegionEntry(trap, (ITuple)item)); + i++; + } + } + } + + private static void EmitOwnCompoundStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.CompoundStatement)node; + if (n.Content is System.Collections.IEnumerable seq_content) + { + var i = 0; + foreach (var item in seq_content) + { + if (item is null) continue; + trap.Tuple("compound_statement_contents", id, i, trap.Label(item)); + i++; + } + } + } + + private static void EmitOwnConditionalExpression(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ConditionalExpression)node; + if (n.Condition is { } c_condition) + trap.Tuple("conditional_expression_conditions", id, trap.Label(c_condition)); + if (n.ElsePart is { } c_else_part) + trap.Tuple("conditional_expression_else_parts", id, trap.Label(c_else_part)); + if (n.IfPart is { } c_if_part) + trap.Tuple("conditional_expression_if_parts", id, trap.Label(c_if_part)); + } + + private static void EmitOwnContainerAttributeLiteral(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ContainerAttributeLiteral)node; + if (n.Value is System.Collections.IEnumerable seq_value) + { + var i = 0; + foreach (var item in seq_value) + { + if (item is null) continue; + trap.Tuple("container_attribute_literal_values", id, i, trap.Label(item)); + i++; + } + } + } + + private static void EmitOwnContainerLiteralExpression(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ContainerLiteralExpression)node; + if (n.Value is System.Collections.IEnumerable seq_value) + { + var i = 0; + foreach (var item in seq_value) + { + if (item is null) continue; + trap.Tuple("container_literal_expression_values", id, i, trap.Label(item)); + i++; + } + } + } + + private static void EmitOwnCrossCompanyContainer(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.CrossCompanyContainer)node; + if (n.Container is { } c_container) + trap.Tuple("cross_company_container_containers", id, trap.Label(c_container)); + } + + private static void EmitOwnDeclaration(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Declaration)node; + if (n.ArraySpecification is { } c_array_specification) + trap.Tuple("declaration_array_specifications", id, trap.Label(c_array_specification)); + if (n.ModifierList is System.Collections.IEnumerable seq_modifier_list) + { + var i = 0; + foreach (var item in seq_modifier_list) + { + if (item is null) continue; + trap.Tuple("declaration_modifier_lists", id, i, trap.Label(item)); + i++; + } + } + if (n.Modifiers is { } e_modifiers) + trap.Tuple("declaration_modifiers", id, e_modifiers.ToString()); + if (n.Type is { } c_type) + trap.Tuple("declaration_types", id, trap.Label(c_type)); + } + + private static void EmitOwnDefaultTypeAttributeLiteral(ITrapFile trap, Label id, object node) + { + dynamic n = node; + if (n.ScannedLiteralValue is string s_scanned_literal_value) + trap.Tuple("default_type_attribute_literal_scanned_literal_values", id, s_scanned_literal_value); + } + + private static void EmitOwnDefaultTypeLiteralExpression(ITrapFile trap, Label id, object node) + { + dynamic n = node; + if (n.ScannedLiteralValue is string s_scanned_literal_value) + trap.Tuple("default_type_literal_expression_scanned_literal_values", id, s_scanned_literal_value); + } + + private static void EmitOwnDelegate(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Delegate)node; + if (n.IsStatic is true) + trap.Tuple("delegate_is_static", id); + } + + private static void EmitOwnDeleteStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.DeleteStatement)node; + if (n.Query is { } c_query) + trap.Tuple("delete_statement_queries", id, trap.Label(c_query)); + } + + private static void EmitOwnDoWhileStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.DoWhileStatement)node; + if (n.Condition is { } c_condition) + trap.Tuple("do_while_statement_conditions", id, trap.Label(c_condition)); + if (n.Statement is { } c_statement) + trap.Tuple("do_while_statement_statements", id, trap.Label(c_statement)); + } + + private static void EmitOwnEnumAttributeLiteral(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.EnumAttributeLiteral)node; + if (n.Literal is string s_literal) + trap.Tuple("enum_attribute_literal_literals", id, s_literal); + if (n.TypeName is string s_type_name) + trap.Tuple("enum_attribute_literal_type_names", id, s_type_name); + } + + private static void EmitOwnEnumerationLiteralExpression(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.EnumerationLiteralExpression)node; + if (n.EnumerationLiteral is string s_enumeration_literal) + trap.Tuple("enumeration_literal_expression_enumeration_literals", id, s_enumeration_literal); + if (n.EnumerationType is string s_enumeration_type) + trap.Tuple("enumeration_literal_expression_enumeration_types", id, s_enumeration_type); + } + + private static void EmitOwnEnumerationType(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.EnumerationType)node; + if (n.EnumeratedType is string s_enumerated_type) + trap.Tuple("enumeration_type_enumerated_types", id, s_enumerated_type); + if (n.FullName is string s_full_name) + trap.Tuple("enumeration_type_full_names", id, s_full_name); + if (n.Namespace is string s_namespace) + trap.Tuple("enumeration_type_namespaces", id, s_namespace); + } + + private static void EmitOwnEvaluation(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Evaluation)node; + if (n.ActualParameters is System.Collections.IEnumerable seq_actual_parameters) + { + var i = 0; + foreach (var item in seq_actual_parameters) + { + if (item is null) continue; + trap.Tuple("evaluation_actual_parameters", id, i, EmitEvaluationActualParameterEntry(trap, (ITuple)item)); + i++; + } + } + } + + private static void EmitOwnExplicitSelection(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ExplicitSelection)node; + if (n.Fields is System.Collections.IEnumerable seq_fields) + { + var i = 0; + foreach (var item in seq_fields) + { + if (item is null) continue; + trap.Tuple("explicit_selection_fields", id, i, trap.Label(item)); + i++; + } + } + } + + private static void EmitOwnExpression(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Expression)node; + if (n.IsConst is true) + trap.Tuple("expression_is_const", id); + if (n.Transformation is { } c_transformation) + trap.Tuple("expression_transformations", id, trap.Label(c_transformation)); + } + + private static void EmitOwnExpressionCompilationUnit(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ExpressionCompilationUnit)node; + if (n.Expression is { } c_expression) + trap.Tuple("expression_compilation_unit_expressions", id, trap.Label(c_expression)); + if (n.PathContribution is string s_path_contribution) + trap.Tuple("expression_compilation_unit_path_contributions", id, s_path_contribution); + } + + private static void EmitOwnExpressionQualifier(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ExpressionQualifier)node; + if (n.Expression is { } c_expression) + trap.Tuple("expression_qualifier_expressions", id, trap.Label(c_expression)); + } + + private static void EmitOwnExpressionStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ExpressionStatement)node; + if (n.ElementTypeName is string s_element_type_name) + trap.Tuple("expression_statement_element_type_names", id, s_element_type_name); + if (n.Expression is { } c_expression) + trap.Tuple("expression_statement_expressions", id, trap.Label(c_expression)); + } + + private static void EmitOwnFieldAssignment(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FieldAssignment)node; + if (n.Expression is { } c_expression) + trap.Tuple("field_assignment_expressions", id, trap.Label(c_expression)); + if (n.ExtensionName is string s_extension_name) + trap.Tuple("field_assignment_extension_names", id, s_extension_name); + if (n.FieldName is string s_field_name) + trap.Tuple("field_assignment_field_names", id, s_field_name); + if (n.Index is { } v_index) + trap.Tuple("field_assignment_indices", id, System.Convert.ToInt64(v_index)); + } + + private static void EmitOwnFieldDeclaration(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FieldDeclaration)node; + if (n.Attributes is { } c_attributes) + trap.Tuple("field_declaration_attributes", id, trap.Label(c_attributes)); + if (n.ElementTypeName is string s_element_type_name) + trap.Tuple("field_declaration_element_type_names", id, s_element_type_name); + if (n.ExtensionName is string s_extension_name) + trap.Tuple("field_declaration_extension_names", id, s_extension_name); + if (n.InitialValue is { } c_initial_value) + trap.Tuple("field_declaration_initial_values", id, trap.Label(c_initial_value)); + if (n.IsConst is true) + trap.Tuple("field_declaration_is_const", id); + if (n.IsExtension is true) + trap.Tuple("field_declaration_is_extension", id); + if (n.IsInternal is true) + trap.Tuple("field_declaration_is_internal", id); + if (n.IsObsolete is true) + trap.Tuple("field_declaration_is_obsolete", id); + if (n.IsPrivate is true) + trap.Tuple("field_declaration_is_private", id); + if (n.IsProtected is true) + trap.Tuple("field_declaration_is_protected", id); + if (n.IsPublic is true) + trap.Tuple("field_declaration_is_public", id); + if (n.IsReadOnly is true) + trap.Tuple("field_declaration_is_read_only", id); + if (n.IsStatic is true) + trap.Tuple("field_declaration_is_static", id); + } + + private static void EmitOwnFieldExpression(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FieldExpression)node; + if (n.Field is { } c_field) + trap.Tuple("field_expression_fields", id, trap.Label(c_field)); + if (n.IsEnum is true) + trap.Tuple("field_expression_is_enum", id); + } + + private static void EmitOwnFieldSelection(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FieldSelection)node; + if (n.Index is { } v_index) + trap.Tuple("field_selection_indices", id, System.Convert.ToInt64(v_index)); + } + + private static void EmitOwnFieldSpecification(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FieldSpecification)node; + if (n.ArrayIndex is { } c_array_index) + trap.Tuple("field_specification_array_indices", id, trap.Label(c_array_index)); + if (n.ElementTypeName is string s_element_type_name) + trap.Tuple("field_specification_element_type_names", id, s_element_type_name); + if (n.IsConst is true) + trap.Tuple("field_specification_is_const", id); + if (n.IsInternal is true) + trap.Tuple("field_specification_is_internal", id); + if (n.IsPrivate is true) + trap.Tuple("field_specification_is_private", id); + if (n.IsProtected is true) + trap.Tuple("field_specification_is_protected", id); + if (n.IsPublic is true) + trap.Tuple("field_specification_is_public", id); + if (n.IsReadOnly is true) + trap.Tuple("field_specification_is_read_only", id); + if (n.IsStatic is true) + trap.Tuple("field_specification_is_static", id); + if (n.Qualifier is { } c_qualifier) + trap.Tuple("field_specification_qualifiers", id, trap.Label(c_qualifier)); + } + + private static void EmitOwnFindStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FindStatement)node; + if (n.Query is { } c_query) + trap.Tuple("find_statement_queries", id, trap.Label(c_query)); + } + + private static void EmitOwnFlushStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FlushStatement)node; + if (n.IdList is System.Collections.IEnumerable seq_id_list) + { + var i = 0; + foreach (var item in seq_id_list) + { + if (item is null) continue; + trap.Tuple("flush_statement_id_lists", id, i, (string)item); + i++; + } + } + } + + private static void EmitOwnForAssign(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ForAssign)node; + if (n.FieldSpecification is { } c_field_specification) + trap.Tuple("for_assign_field_specifications", id, trap.Label(c_field_specification)); + } + + private static void EmitOwnForDeclarationAssign(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ForDeclarationAssign)node; + if (n.InitializationDeclaration is System.Collections.IEnumerable seq_initialization_declaration) + { + var i = 0; + foreach (var item in seq_initialization_declaration) + { + if (item is null) continue; + trap.Tuple("for_declaration_assign_initialization_declarations", id, i, trap.Label(item)); + i++; + } + } + } + + private static void EmitOwnForExpressionAssign(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ForExpressionAssign)node; + if (n.Expression is { } c_expression) + trap.Tuple("for_expression_assign_expressions", id, trap.Label(c_expression)); + } + + private static void EmitOwnForStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ForStatement)node; + if (n.Condition is { } c_condition) + trap.Tuple("for_statement_conditions", id, trap.Label(c_condition)); + if (n.Initialization is { } c_initialization) + trap.Tuple("for_statement_initializations", id, trap.Label(c_initialization)); + if (n.Statement is { } c_statement) + trap.Tuple("for_statement_statements", id, trap.Label(c_statement)); + if (n.Update is { } c_update) + trap.Tuple("for_statement_updates", id, trap.Label(c_update)); + } + + private static void EmitOwnFormControl(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FormControl)node; + if (n.AutoDeclaration is true) + trap.Tuple("form_control_auto_declaration", id); + if (n.ChildControls is System.Collections.IEnumerable seq_child_controls) + { + var i = 0; + foreach (var item in seq_child_controls) + { + if (item is null) continue; + trap.Tuple("form_control_child_controls", id, i, trap.Label(item)); + i++; + } + } + if (n.ControlClass is string s_control_class) + trap.Tuple("form_control_control_classes", id, s_control_class); + if (n.ControlType is { } e_control_type) + trap.Tuple("form_control_control_types", id, e_control_type.ToString()); + if (n.CustomControlClass is string s_custom_control_class) + trap.Tuple("form_control_custom_control_classes", id, s_custom_control_class); + if (n.ElementTypeName is string s_element_type_name) + trap.Tuple("form_control_element_type_names", id, s_element_type_name); + if (n.InternalControlName is string s_internal_control_name) + trap.Tuple("form_control_internal_control_names", id, s_internal_control_name); + if (n.IsFormControlExtension is true) + trap.Tuple("form_control_is_form_control_extension", id); + if (n.ParentControl is { } c_parent_control) + trap.Tuple("form_control_parent_controls", id, trap.Label(c_parent_control)); + } + + private static void EmitOwnFormDataField(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FormDataField)node; + if (n.ElementTypeName is string s_element_type_name) + trap.Tuple("form_data_field_element_type_names", id, s_element_type_name); + if (n.FormDataSource is { } c_form_data_source) + trap.Tuple("form_data_field_form_data_sources", id, trap.Label(c_form_data_source)); + } + + private static void EmitOwnFormDataSource(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FormDataSource)node; + if (n.DataFields is System.Collections.IEnumerable seq_data_fields) + { + var i = 0; + foreach (var item in seq_data_fields) + { + if (item is null) continue; + trap.Tuple("form_data_source_data_fields", id, i, trap.Label(item)); + i++; + } + } + if (n.ElementTypeName is string s_element_type_name) + trap.Tuple("form_data_source_element_type_names", id, s_element_type_name); + if (n.JoinSource is string s_join_source) + trap.Tuple("form_data_source_join_sources", id, s_join_source); + if (n.LinkType is { } e_link_type) + trap.Tuple("form_data_source_link_types", id, e_link_type.ToString()); + if (n.NestedDataSource is true) + trap.Tuple("form_data_source_nested_data_source", id); + if (n.Query is { } c_query) + trap.Tuple("form_data_source_queries", id, trap.Label(c_query)); + if (n.QueryName is string s_query_name) + trap.Tuple("form_data_source_query_names", id, s_query_name); + if (n.Table is string s_table) + trap.Tuple("form_data_source_tables", id, s_table); + } + + private static void EmitOwnFormElementType(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FormElementType)node; + if (n.FormName is string s_form_name) + trap.Tuple("form_element_type_form_names", id, s_form_name); + } + + private static void EmitOwnFormModelElement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FormModelElement)node; + if (n.Behavior is { } c_behavior) + trap.Tuple("form_model_element_behaviors", id, trap.Label(c_behavior)); + if (n.Controls is System.Collections.IEnumerable seq_controls) + { + var i = 0; + foreach (var item in seq_controls) + { + if (item is null) continue; + trap.Tuple("form_model_element_controls", id, i, trap.Label(item)); + i++; + } + } + if (n.DataSources is System.Collections.IEnumerable seq_data_sources) + { + var i = 0; + foreach (var item in seq_data_sources) + { + if (item is null) continue; + trap.Tuple("form_model_element_data_sources", id, i, trap.Label(item)); + i++; + } + } + if (n.ElementTypeName is string s_element_type_name) + trap.Tuple("form_model_element_element_type_names", id, s_element_type_name); + if (n.FullTypeName is string s_full_type_name) + trap.Tuple("form_model_element_full_type_names", id, s_full_type_name); + } + + private static void EmitOwnFormNestedElement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FormNestedElement)node; + if (n.Form is { } c_form) + trap.Tuple("form_nested_element_forms", id, trap.Label(c_form)); + } + + private static void EmitOwnFunctionCall(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FunctionCall)node; + if (n.FunctionName is string s_function_name) + trap.Tuple("function_call_function_names", id, s_function_name); + } + + private static void EmitOwnFunctionDeclaration(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FunctionDeclaration)node; + if (n.DeclarationsAndStatements is System.Collections.IEnumerable seq_declarations_and_statements) + { + var i = 0; + foreach (var item in seq_declarations_and_statements) + { + if (item is null) continue; + trap.Tuple("function_declaration_declarations_and_statements", id, i, trap.Label(item)); + i++; + } + } + if (n.ElementTypeName is string s_element_type_name) + trap.Tuple("function_declaration_element_type_names", id, s_element_type_name); + if (n.Locals is System.Collections.IEnumerable seq_locals) + { + var i = 0; + foreach (var item in seq_locals) + { + if (item is null) continue; + trap.Tuple("function_declaration_locals", id, i, trap.Label(item)); + i++; + } + } + if (n.Parameters is System.Collections.IEnumerable seq_parameters) + { + var i = 0; + foreach (var item in seq_parameters) + { + if (item is null) continue; + trap.Tuple("function_declaration_parameters", id, i, trap.Label(item)); + i++; + } + } + if (n.Statements is System.Collections.IEnumerable seq_statements) + { + var i = 0; + foreach (var item in seq_statements) + { + if (item is null) continue; + trap.Tuple("function_declaration_statements", id, i, trap.Label(item)); + i++; + } + } + } + + private static void EmitOwnGenericEvaluation(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.GenericEvaluation)node; + if (n.TypeArgumentList is System.Collections.IEnumerable seq_type_argument_list) + { + var i = 0; + foreach (var item in seq_type_argument_list) + { + if (item is null) continue; + trap.Tuple("generic_evaluation_type_argument_lists", id, i, trap.Label(item)); + i++; + } + } + } + + private static void EmitOwnGenericXppType(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.GenericXppType)node; + if (n.TypeArgumentList is System.Collections.IEnumerable seq_type_argument_list) + { + var i = 0; + foreach (var item in seq_type_argument_list) + { + if (item is null) continue; + trap.Tuple("generic_xpp_type_type_argument_lists", id, i, trap.Label(item)); + i++; + } + } + } + + private static void EmitOwnGlobalOrderElement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.GlobalOrderElement)node; + if (n.ExtensionName is string s_extension_name) + trap.Tuple("global_order_element_extension_names", id, s_extension_name); + if (n.Table is string s_table) + trap.Tuple("global_order_element_tables", id, s_table); + } + + private static void EmitOwnIfStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.IfStatement)node; + if (n.Condition is { } c_condition) + trap.Tuple("if_statement_conditions", id, trap.Label(c_condition)); + if (n.Consequent is { } c_consequent) + trap.Tuple("if_statement_consequents", id, trap.Label(c_consequent)); + } + + private static void EmitOwnIfThenElseStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.IfThenElseStatement)node; + if (n.Antecedent is { } c_antecedent) + trap.Tuple("if_then_else_statement_antecedents", id, trap.Label(c_antecedent)); + if (n.Condition is { } c_condition) + trap.Tuple("if_then_else_statement_conditions", id, trap.Label(c_condition)); + if (n.Consequent is { } c_consequent) + trap.Tuple("if_then_else_statement_consequents", id, trap.Label(c_consequent)); + } + + private static void EmitOwnInsertFieldSpecification(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.InsertFieldSpecification)node; + if (n.ArrayIndex is { } v_array_index) + trap.Tuple("insert_field_specification_array_indices", id, System.Convert.ToInt64(v_array_index)); + if (n.ExtensionName is string s_extension_name) + trap.Tuple("insert_field_specification_extension_names", id, s_extension_name); + if (n.IsExtension is true) + trap.Tuple("insert_field_specification_is_extension", id); + if (n.Name is string s_name) + trap.Tuple("insert_field_specification_names", id, s_name); + } + + private static void EmitOwnInsertStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.InsertStatement)node; + if (n.CrossCompany is { } c_cross_company) + trap.Tuple("insert_statement_cross_companies", id, trap.Label(c_cross_company)); + if (n.Fields is System.Collections.IEnumerable seq_fields) + { + var i = 0; + foreach (var item in seq_fields) + { + if (item is null) continue; + trap.Tuple("insert_statement_fields", id, i, trap.Label(item)); + i++; + } + } + if (n.Query is { } c_query) + trap.Tuple("insert_statement_queries", id, trap.Label(c_query)); + if (n.Table is string s_table) + trap.Tuple("insert_statement_tables", id, s_table); + } + + private static void EmitOwnIntrinsic(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Intrinsic)node; + if (n.Arg1 is string s_arg1) + trap.Tuple("intrinsic_arg1s", id, s_arg1); + if (n.Arg2 is string s_arg2) + trap.Tuple("intrinsic_arg2s", id, s_arg2); + if (n.Arg3 is string s_arg3) + trap.Tuple("intrinsic_arg3s", id, s_arg3); + if (n.Name is string s_name) + trap.Tuple("intrinsic_names", id, s_name); + } + + private static void EmitOwnIntrinsicAttributeLiteral(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.IntrinsicAttributeLiteral)node; + if (n.Arg1 is string s_arg1) + trap.Tuple("intrinsic_attribute_literal_arg1s", id, s_arg1); + if (n.Arg2 is string s_arg2) + trap.Tuple("intrinsic_attribute_literal_arg2s", id, s_arg2); + if (n.Arg3 is string s_arg3) + trap.Tuple("intrinsic_attribute_literal_arg3s", id, s_arg3); + if (n.FunctionName is string s_function_name) + trap.Tuple("intrinsic_attribute_literal_function_names", id, s_function_name); + } + + private static void EmitOwnIsAsExpression(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.IsAsExpression)node; + if (n.Expression is { } c_expression) + trap.Tuple("is_as_expression_expressions", id, trap.Label(c_expression)); + if (n.TypeName is string s_type_name) + trap.Tuple("is_as_expression_type_names", id, s_type_name); + } + + private static void EmitOwnJoinSpecification(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.JoinSpecification)node; + if (n.Kind is { } e_kind) + trap.Tuple("join_specification_kinds", id, e_kind.ToString()); + if (n.Query is { } c_query) + trap.Tuple("join_specification_queries", id, trap.Label(c_query)); + } + + private static void EmitOwnLocalDeclarationsStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.LocalDeclarationsStatement)node; + if (n.Declarations is System.Collections.IEnumerable seq_declarations) + { + var i = 0; + foreach (var item in seq_declarations) + { + if (item is null) continue; + trap.Tuple("local_declarations_statement_declarations", id, i, trap.Label(item)); + i++; + } + } + } + + private static void EmitOwnMethod(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Method)node; + if (n.DeclarationsAndStatements is System.Collections.IEnumerable seq_declarations_and_statements) + { + var i = 0; + foreach (var item in seq_declarations_and_statements) + { + if (item is null) continue; + trap.Tuple("method_declarations_and_statements", id, i, trap.Label(item)); + i++; + } + } + if (n.HasLocalFunctions is true) + trap.Tuple("method_has_local_functions", id); + if (n.IsAbstract is true) + trap.Tuple("method_is_abstract", id); + if (n.IsClient is true) + trap.Tuple("method_is_client", id); + if (n.IsConstructor is true) + trap.Tuple("method_is_constructor", id); + if (n.IsDisplay is true) + trap.Tuple("method_is_display", id); + if (n.IsEdit is true) + trap.Tuple("method_is_edit", id); + if (n.IsExplicitNonHookable is true) + trap.Tuple("method_is_explicit_non_hookable", id); + if (n.IsExplicitNonWrappable is true) + trap.Tuple("method_is_explicit_non_wrappable", id); + if (n.IsExtendedMethod is true) + trap.Tuple("method_is_extended_method", id); + if (n.IsFinal is true) + trap.Tuple("method_is_final", id); + if (n.IsHookable is true) + trap.Tuple("method_is_hookable", id); + if (n.IsHookableOnChainOfCommand is true) + trap.Tuple("method_is_hookable_on_chain_of_command", id); + if (n.IsInternal is true) + trap.Tuple("method_is_internal", id); + if (n.IsPrivate is true) + trap.Tuple("method_is_private", id); + if (n.IsProtected is true) + trap.Tuple("method_is_protected", id); + if (n.IsPublic is true) + trap.Tuple("method_is_public", id); + if (n.IsReplaceable is true) + trap.Tuple("method_is_replaceable", id); + if (n.IsServer is true) + trap.Tuple("method_is_server", id); + if (n.IsStatic is true) + trap.Tuple("method_is_static", id); + if (n.IsTypeInitializer is true) + trap.Tuple("method_is_type_initializer", id); + if (n.IsWrappable is true) + trap.Tuple("method_is_wrappable", id); + if (n.Locals is System.Collections.IEnumerable seq_locals) + { + var i = 0; + foreach (var item in seq_locals) + { + if (item is null) continue; + trap.Tuple("method_locals", id, i, trap.Label(item)); + i++; + } + } + if (n.Modifiers is { } e_modifiers) + trap.Tuple("method_modifiers", id, e_modifiers.ToString()); + if (n.Statements is System.Collections.IEnumerable seq_statements) + { + var i = 0; + foreach (var item in seq_statements) + { + if (item is null) continue; + trap.Tuple("method_statements", id, i, trap.Label(item)); + i++; + } + } + } + + private static void EmitOwnMethodOrDelegate(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.MethodOrDelegate)node; + if (n.Attributes is { } c_attributes) + trap.Tuple("method_or_delegate_attributes", id, trap.Label(c_attributes)); + if (n.ModifierList is System.Collections.IEnumerable seq_modifier_list) + { + var i = 0; + foreach (var item in seq_modifier_list) + { + if (item is null) continue; + trap.Tuple("method_or_delegate_modifier_lists", id, i, trap.Label(item)); + i++; + } + } + if (n.Parameters is System.Collections.IEnumerable seq_parameters) + { + var i = 0; + foreach (var item in seq_parameters) + { + if (item is null) continue; + trap.Tuple("method_or_delegate_parameters", id, i, trap.Label(item)); + i++; + } + } + if (n.PathContribution is string s_path_contribution) + trap.Tuple("method_or_delegate_path_contributions", id, s_path_contribution); + if (n.Type is { } c_type) + trap.Tuple("method_or_delegate_types", id, trap.Label(c_type)); + if (n.TypeParameters is System.Collections.IEnumerable seq_type_parameters) + { + var i = 0; + foreach (var item in seq_type_parameters) + { + if (item is null) continue; + trap.Tuple("method_or_delegate_type_parameters", id, i, (string)item); + i++; + } + } + } + + private static void EmitOwnModelElement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ModelElement)node; + if (n.BaseMethods is System.Collections.IEnumerable seq_base_methods) + { + var i = 0; + foreach (var item in seq_base_methods) + { + if (item is null) continue; + trap.Tuple("model_element_base_methods", id, i, trap.Label(item)); + i++; + } + } + if (n.ExtendGenericParameters is System.Collections.IEnumerable seq_extend_generic_parameters) + { + var i = 0; + foreach (var item in seq_extend_generic_parameters) + { + if (item is null) continue; + trap.Tuple("model_element_extend_generic_parameters", id, i, trap.Label(item)); + i++; + } + } + if (n.FullName is string s_full_name) + trap.Tuple("model_element_full_names", id, s_full_name); + if (n.FullNameNoDefaultNamespace is string s_full_name_no_default_namespace) + trap.Tuple("model_element_full_name_no_default_namespaces", id, s_full_name_no_default_namespace); + if (n.IsInternal is true) + trap.Tuple("model_element_is_internal", id); + if (n.IsKernel is true) + trap.Tuple("model_element_is_kernel", id); + if (n.IsObsolete is true) + trap.Tuple("model_element_is_obsolete", id); + if (n.IsPrivate is true) + trap.Tuple("model_element_is_private", id); + if (n.IsPublic is true) + trap.Tuple("model_element_is_public", id); + if (n.Methods is System.Collections.IEnumerable seq_methods) + { + var i = 0; + foreach (var item in seq_methods) + { + if (item is null) continue; + trap.Tuple("model_element_methods", id, i, trap.Label(item)); + i++; + } + } + if (n.ModelId is { } v_model_id) + trap.Tuple("model_element_model_ids", id, System.Convert.ToInt64(v_model_id)); + if (n.ModifierList is System.Collections.IEnumerable seq_modifier_list) + { + var i = 0; + foreach (var item in seq_modifier_list) + { + if (item is null) continue; + trap.Tuple("model_element_modifier_lists", id, i, trap.Label(item)); + i++; + } + } + if (n.Modifiers is { } e_modifiers) + trap.Tuple("model_element_modifiers", id, e_modifiers.ToString()); + if (n.Namespace is string s_namespace) + trap.Tuple("model_element_namespaces", id, s_namespace); + if (n.NestedClasses is System.Collections.IEnumerable seq_nested_classes) + { + var i = 0; + foreach (var item in seq_nested_classes) + { + if (item is null) continue; + trap.Tuple("model_element_nested_classes", id, i, trap.Label(item)); + i++; + } + } + if (n.PathContribution is string s_path_contribution) + trap.Tuple("model_element_path_contributions", id, s_path_contribution); + if (n.TypeParameters is System.Collections.IEnumerable seq_type_parameters) + { + var i = 0; + foreach (var item in seq_type_parameters) + { + if (item is null) continue; + trap.Tuple("model_element_type_parameters", id, i, (string)item); + i++; + } + } + if (n.Using is System.Collections.IEnumerable seq_using) + { + var i = 0; + foreach (var item in seq_using) + { + if (item is null) continue; + trap.Tuple("model_element_usings", id, i, EmitModelElementUsingEntry(trap, (ITuple)item)); + i++; + } + } + if (n.Visibility is { } e_visibility) + trap.Tuple("model_element_visibilities", id, e_visibility.ToString()); + } + + private static void EmitOwnModifier(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Modifier)node; + if (n.Modifiers is { } e_modifiers) + trap.Tuple("modifier_modifiers", id, e_modifiers.ToString()); + } + + private static void EmitOwnMoveCursorStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.MoveCursorStatement)node; + if (n.Selection is { } c_selection) + trap.Tuple("move_cursor_statement_selections", id, trap.Label(c_selection)); + if (n.Table is string s_table) + trap.Tuple("move_cursor_statement_tables", id, s_table); + } + + private static void EmitOwnNamedFieldReference(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.NamedFieldReference)node; + if (n.ExtensionName is string s_extension_name) + trap.Tuple("named_field_reference_extension_names", id, s_extension_name); + if (n.FieldName is string s_field_name) + trap.Tuple("named_field_reference_field_names", id, s_field_name); + } + + private static void EmitOwnNamedType(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.NamedType)node; + if (n.Name is string s_name) + trap.Tuple("named_type_names", id, s_name); + } + + private static void EmitOwnNewCall(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.NewCall)node; + if (n.Type is { } c_type) + trap.Tuple("new_call_types", id, trap.Label(c_type)); + } + + private static void EmitOwnNewClrArrayExpression(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.NewClrArrayExpression)node; + if (n.FullName is string s_full_name) + trap.Tuple("new_clr_array_expression_full_names", id, s_full_name); + if (n.RectangularDimensions is System.Collections.IEnumerable seq_rectangular_dimensions) + { + var i = 0; + foreach (var item in seq_rectangular_dimensions) + { + if (item is null) continue; + trap.Tuple("new_clr_array_expression_rectangular_dimensions", id, i, System.Convert.ToInt64(item)); + i++; + } + } + if (n.Sizes is System.Collections.IEnumerable seq_sizes) + { + var i = 0; + foreach (var item in seq_sizes) + { + if (item is null) continue; + trap.Tuple("new_clr_array_expression_sizes", id, i, trap.Label(item)); + i++; + } + } + if (n.TypeArgumentList is System.Collections.IEnumerable seq_type_argument_list) + { + var i = 0; + foreach (var item in seq_type_argument_list) + { + if (item is null) continue; + trap.Tuple("new_clr_array_expression_type_argument_lists", id, i, trap.Label(item)); + i++; + } + } + } + + private static void EmitOwnNewClrCall(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.NewClrCall)node; + if (n.ClrClassName is string s_clr_class_name) + trap.Tuple("new_clr_call_clr_class_names", id, s_clr_class_name); + } + + private static void EmitOwnNextExpression(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.NextExpression)node; + if (n.Name is string s_name) + trap.Tuple("next_expression_names", id, s_name); + } + + private static void EmitOwnNumberedFieldReference(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.NumberedFieldReference)node; + if (n.FieldNumber is { } c_field_number) + trap.Tuple("numbered_field_reference_field_numbers", id, trap.Label(c_field_number)); + } + + private static void EmitOwnOrderElement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.OrderElement)node; + if (n.Direction is { } e_direction) + trap.Tuple("order_element_directions", id, e_direction.ToString()); + if (n.Field is string s_field) + trap.Tuple("order_element_fields", id, s_field); + if (n.Index is { } v_index) + trap.Tuple("order_element_indices", id, System.Convert.ToInt64(v_index)); + } + + private static void EmitOwnParameterDeclaration(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ParameterDeclaration)node; + if (n.IsByRef is true) + trap.Tuple("parameter_declaration_is_by_ref", id); + if (n.IsOptional is true) + trap.Tuple("parameter_declaration_is_optional", id); + } + + private static void EmitOwnPrintStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.PrintStatement)node; + if (n.Expressions is System.Collections.IEnumerable seq_expressions) + { + var i = 0; + foreach (var item in seq_expressions) + { + if (item is null) continue; + trap.Tuple("print_statement_expressions", id, i, trap.Label(item)); + i++; + } + } + } + + private static void EmitOwnProvidedType(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ProvidedType)node; + if (n.ArgumentList is System.Collections.IEnumerable seq_argument_list) + { + var i = 0; + foreach (var item in seq_argument_list) + { + if (item is null) continue; + trap.Tuple("provided_type_argument_lists", id, i, trap.Label(item)); + i++; + } + } + if (n.Name is string s_name) + trap.Tuple("provided_type_names", id, s_name); + } + + private static void EmitOwnProvidedTypeStaticCall(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ProvidedTypeStaticCall)node; + if (n.MethodName is string s_method_name) + trap.Tuple("provided_type_static_call_method_names", id, s_method_name); + if (n.ProvidedType is { } c_provided_type) + trap.Tuple("provided_type_static_call_provided_types", id, trap.Label(c_provided_type)); + } + + private static void EmitOwnQualifiedCall(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedCall)node; + if (n.MethodName is string s_method_name) + trap.Tuple("qualified_call_method_names", id, s_method_name); + if (n.Qualifier is { } c_qualifier) + trap.Tuple("qualified_call_qualifiers", id, trap.Label(c_qualifier)); + } + + private static void EmitOwnQualifiedField(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedField)node; + if (n.ExtensionName is string s_extension_name) + trap.Tuple("qualified_field_extension_names", id, s_extension_name); + if (n.Name is string s_name) + trap.Tuple("qualified_field_names", id, s_name); + } + + private static void EmitOwnQualifiedInstanceName(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedInstanceName)node; + if (n.Index is { } c_index) + trap.Tuple("qualified_instance_name_indices", id, trap.Label(c_index)); + if (n.Name is string s_name) + trap.Tuple("qualified_instance_name_names", id, s_name); + if (n.Qualifier is { } c_qualifier) + trap.Tuple("qualified_instance_name_qualifiers", id, trap.Label(c_qualifier)); + } + + private static void EmitOwnQualifiedNumberedField(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedNumberedField)node; + if (n.FieldNumber is { } c_field_number) + trap.Tuple("qualified_numbered_field_field_numbers", id, trap.Label(c_field_number)); + } + + private static void EmitOwnQualifiedStaticCall(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedStaticCall)node; + if (n.ClassName is string s_class_name) + trap.Tuple("qualified_static_call_class_names", id, s_class_name); + if (n.ClassTypeArgumentList is System.Collections.IEnumerable seq_class_type_argument_list) + { + var i = 0; + foreach (var item in seq_class_type_argument_list) + { + if (item is null) continue; + trap.Tuple("qualified_static_call_class_type_argument_lists", id, i, trap.Label(item)); + i++; + } + } + if (n.IsTableMapCall is true) + trap.Tuple("qualified_static_call_is_table_map_call", id); + if (n.MethodName is string s_method_name) + trap.Tuple("qualified_static_call_method_names", id, s_method_name); + if (n.Qualifier is { } c_qualifier) + trap.Tuple("qualified_static_call_qualifiers", id, trap.Label(c_qualifier)); + } + + private static void EmitOwnQualifiedStaticField(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedStaticField)node; + if (n.ClassName is string s_class_name) + trap.Tuple("qualified_static_field_class_names", id, s_class_name); + if (n.IsEnum is true) + trap.Tuple("qualified_static_field_is_enum", id); + if (n.Name is string s_name) + trap.Tuple("qualified_static_field_names", id, s_name); + } + + private static void EmitOwnQualifiedStaticFieldExpression(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedStaticFieldExpression)node; + if (n.ClassName is string s_class_name) + trap.Tuple("qualified_static_field_expression_class_names", id, s_class_name); + if (n.IsStatic is true) + trap.Tuple("qualified_static_field_expression_is_static", id); + if (n.Name is string s_name) + trap.Tuple("qualified_static_field_expression_names", id, s_name); + } + + private static void EmitOwnQuery(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Query)node; + if (n.BufferName is string s_buffer_name) + trap.Tuple("query_buffer_names", id, s_buffer_name); + if (n.CrossCompany is { } c_cross_company) + trap.Tuple("query_cross_companies", id, trap.Label(c_cross_company)); + if (n.GroupByElements is System.Collections.IEnumerable seq_group_by_elements) + { + var i = 0; + foreach (var item in seq_group_by_elements) + { + if (item is null) continue; + trap.Tuple("query_group_by_elements", id, i, trap.Label(item)); + i++; + } + } + if (n.IndexName is string s_index_name) + trap.Tuple("query_index_names", id, s_index_name); + if (n.Joins is { } c_joins) + trap.Tuple("query_joins", id, trap.Label(c_joins)); + if (n.OrderByElements is System.Collections.IEnumerable seq_order_by_elements) + { + var i = 0; + foreach (var item in seq_order_by_elements) + { + if (item is null) continue; + trap.Tuple("query_order_by_elements", id, i, trap.Label(item)); + i++; + } + } + if (n.Selection is { } c_selection) + trap.Tuple("query_selections", id, trap.Label(c_selection)); + if (n.SelectionHints is System.Collections.IEnumerable seq_selection_hints) + { + var i = 0; + foreach (var item in seq_selection_hints) + { + if (item is null) continue; + trap.Tuple("query_selection_hints", id, i, item.ToString()); + i++; + } + } + if (n.UsesHint is true) + trap.Tuple("query_uses_hint", id); + if (n.ValidTimeState is { } c_valid_time_state) + trap.Tuple("query_valid_time_states", id, trap.Label(c_valid_time_state)); + if (n.Where is { } c_where) + trap.Tuple("query_wheres", id, trap.Label(c_where)); + } + + private static void EmitOwnQueryDataSource(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryDataSource)node; + if (n.DataSources is System.Collections.IEnumerable seq_data_sources) + { + var i = 0; + foreach (var item in seq_data_sources) + { + if (item is null) continue; + trap.Tuple("query_data_source_data_sources", id, i, trap.Label(item)); + i++; + } + } + if (n.ElementTypeName is string s_element_type_name) + trap.Tuple("query_data_source_element_type_names", id, s_element_type_name); + if (n.FetchMode is { } e_fetch_mode) + trap.Tuple("query_data_source_fetch_modes", id, e_fetch_mode.ToString()); + if (n.Fields is System.Collections.IEnumerable seq_fields) + { + var i = 0; + foreach (var item in seq_fields) + { + if (item is null) continue; + trap.Tuple("query_data_source_fields", id, i, (string)item); + i++; + } + } + if (n.FirstFast is true) + trap.Tuple("query_data_source_first_fast", id); + if (n.FirstOnly is true) + trap.Tuple("query_data_source_first_only", id); + if (n.GroupBy is System.Collections.IEnumerable seq_group_by) + { + var i = 0; + foreach (var item in seq_group_by) + { + if (item is null) continue; + trap.Tuple("query_data_source_group_bies", id, i, trap.Label(item)); + i++; + } + } + if (n.Having is System.Collections.IEnumerable seq_having) + { + var i = 0; + foreach (var item in seq_having) + { + if (item is null) continue; + trap.Tuple("query_data_source_having_prop", id, i, trap.Label(item)); + i++; + } + } + if (n.JoinMode is { } e_join_mode) + trap.Tuple("query_data_source_join_modes", id, e_join_mode.ToString()); + if (n.Name is string s_name) + trap.Tuple("query_data_source_names", id, s_name); + if (n.OrderBy is System.Collections.IEnumerable seq_order_by) + { + var i = 0; + foreach (var item in seq_order_by) + { + if (item is null) continue; + trap.Tuple("query_data_source_order_bies", id, i, trap.Label(item)); + i++; + } + } + if (n.ParentDataSource is { } c_parent_data_source) + trap.Tuple("query_data_source_parent_data_sources", id, trap.Label(c_parent_data_source)); + if (n.PathContribution is string s_path_contribution) + trap.Tuple("query_data_source_path_contributions", id, s_path_contribution); + if (n.Ranges is System.Collections.IEnumerable seq_ranges) + { + var i = 0; + foreach (var item in seq_ranges) + { + if (item is null) continue; + trap.Tuple("query_data_source_ranges_prop", id, i, trap.Label(item)); + i++; + } + } + if (n.Relations is System.Collections.IEnumerable seq_relations) + { + var i = 0; + foreach (var item in seq_relations) + { + if (item is null) continue; + trap.Tuple("query_data_source_relations_prop", id, i, trap.Label(item)); + i++; + } + } + if (n.SelectWithRepeatableRead is true) + trap.Tuple("query_data_source_select_with_repeatable_read", id); + if (n.Table is string s_table) + trap.Tuple("query_data_source_tables", id, s_table); + if (n.Update is true) + trap.Tuple("query_data_source_update", id); + } + + private static void EmitOwnQueryDataSourceHaving(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryDataSourceHaving)node; + if (n.DataSourceName is string s_data_source_name) + trap.Tuple("query_data_source_having_data_source_names", id, s_data_source_name); + if (n.Selection is { } c_selection) + trap.Tuple("query_data_source_having_selections", id, trap.Label(c_selection)); + if (n.Value is string s_value) + trap.Tuple("query_data_source_having_values", id, s_value); + } + + private static void EmitOwnQueryDataSourceRange(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryDataSourceRange)node; + if (n.Field is string s_field) + trap.Tuple("query_data_source_range_fields", id, s_field); + if (n.Value is string s_value) + trap.Tuple("query_data_source_range_values", id, s_value); + } + + private static void EmitOwnQueryDataSourceRelation(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryDataSourceRelation)node; + if (n.Field is string s_field) + trap.Tuple("query_data_source_relation_fields", id, s_field); + if (n.JoinDataSource is string s_join_data_source) + trap.Tuple("query_data_source_relation_join_data_sources", id, s_join_data_source); + if (n.RelatedField is string s_related_field) + trap.Tuple("query_data_source_relation_related_fields", id, s_related_field); + } + + private static void EmitOwnQueryModelElement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryModelElement)node; + if (n.AllowCrossCompany is true) + trap.Tuple("query_model_element_allow_cross_company", id); + if (n.Behavior is { } c_behavior) + trap.Tuple("query_model_element_behaviors", id, trap.Label(c_behavior)); + if (n.DataSourceList is System.Collections.IEnumerable seq_data_source_list) + { + var i = 0; + foreach (var item in seq_data_source_list) + { + if (item is null) continue; + trap.Tuple("query_model_element_data_source_lists", id, i, trap.Label(item)); + i++; + } + } + if (n.DataSources is System.Collections.IEnumerable seq_data_sources) + { + var i = 0; + foreach (var item in seq_data_sources) + { + if (item is null) continue; + trap.Tuple("query_model_element_data_sources", id, i, trap.Label(item)); + i++; + } + } + if (n.ElementTypeName is string s_element_type_name) + trap.Tuple("query_model_element_element_type_names", id, s_element_type_name); + if (n.UserUpdate is true) + trap.Tuple("query_model_element_user_update", id); + } + + private static void EmitOwnRelationalExpression(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.RelationalExpression)node; + if (n.Operator is string s_operator) + trap.Tuple("relational_expression_operators", id, s_operator); + } + + private static void EmitOwnReturnStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ReturnStatement)node; + if (n.Expression is { } c_expression) + trap.Tuple("return_statement_expressions", id, trap.Label(c_expression)); + } + + private static void EmitOwnSearchStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.SearchStatement)node; + if (n.Query is { } c_query) + trap.Tuple("search_statement_queries", id, trap.Label(c_query)); + if (n.Statement is { } c_statement) + trap.Tuple("search_statement_statements", id, trap.Label(c_statement)); + } + + private static void EmitOwnSelectionField(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.SelectionField)node; + if (n.ExtensionName is string s_extension_name) + trap.Tuple("selection_field_extension_names", id, s_extension_name); + if (n.Field is string s_field) + trap.Tuple("selection_field_fields", id, s_field); + } + + private static void EmitOwnSimpleField(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.SimpleField)node; + if (n.ExtensionName is string s_extension_name) + trap.Tuple("simple_field_extension_names", id, s_extension_name); + if (n.IsNameEscaped is true) + trap.Tuple("simple_field_is_name_escaped", id); + if (n.Name is string s_name) + trap.Tuple("simple_field_names", id, s_name); + } + + private static void EmitOwnSimpleInstanceName(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.SimpleInstanceName)node; + if (n.Index is { } c_index) + trap.Tuple("simple_instance_name_indices", id, trap.Label(c_index)); + if (n.Name is string s_name) + trap.Tuple("simple_instance_name_names", id, s_name); + } + + private static void EmitOwnSimpleOrderElement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.SimpleOrderElement)node; + if (n.ExtensionName is string s_extension_name) + trap.Tuple("simple_order_element_extension_names", id, s_extension_name); + } + + private static void EmitOwnSimpleQualifier(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.SimpleQualifier)node; + if (n.Name is string s_name) + trap.Tuple("simple_qualifier_names", id, s_name); + } + + private static void EmitOwnStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Statement)node; + if (n.Comments is string s_comments) + trap.Tuple("statement_comments", id, s_comments); + } + + private static void EmitOwnStaticField(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.StaticField)node; + if (n.ClassName is string s_class_name) + trap.Tuple("static_field_class_names", id, s_class_name); + if (n.Name is string s_name) + trap.Tuple("static_field_names", id, s_name); + } + + private static void EmitOwnStaticMethodCall(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.StaticMethodCall)node; + if (n.ClassName is string s_class_name) + trap.Tuple("static_method_call_class_names", id, s_class_name); + if (n.ClassTypeArgumentList is System.Collections.IEnumerable seq_class_type_argument_list) + { + var i = 0; + foreach (var item in seq_class_type_argument_list) + { + if (item is null) continue; + trap.Tuple("static_method_call_class_type_argument_lists", id, i, trap.Label(item)); + i++; + } + } + if (n.MethodName is string s_method_name) + trap.Tuple("static_method_call_method_names", id, s_method_name); + } + + private static void EmitOwnStaticQualifier(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.StaticQualifier)node; + if (n.ClassTypeArgumentList is System.Collections.IEnumerable seq_class_type_argument_list) + { + var i = 0; + foreach (var item in seq_class_type_argument_list) + { + if (item is null) continue; + trap.Tuple("static_qualifier_class_type_argument_lists", id, i, trap.Label(item)); + i++; + } + } + } + + private static void EmitOwnStringLengthType(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.StringLengthType)node; + if (n.EdtName is string s_edt_name) + trap.Tuple("string_length_type_edt_names", id, s_edt_name); + if (n.IsEdt is true) + trap.Tuple("string_length_type_is_edt", id); + if (n.Length is { } v_length) + trap.Tuple("string_length_type_lengths", id, System.Convert.ToInt64(v_length)); + } + + private static void EmitOwnStringLiteralExpression(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.StringLiteralExpression)node; + if (n.IsLabel is true) + trap.Tuple("string_literal_expression_is_label", id); + if (n.LabelFileId is string s_label_file_id) + trap.Tuple("string_literal_expression_label_file_ids", id, s_label_file_id); + if (n.LabelId is string s_label_id) + trap.Tuple("string_literal_expression_label_ids", id, s_label_id); + } + + private static void EmitOwnSwitchStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.SwitchStatement)node; + if (n.Cases is System.Collections.IEnumerable seq_cases) + { + var i = 0; + foreach (var item in seq_cases) + { + if (item is null) continue; + trap.Tuple("switch_statement_cases", id, i, EmitSwitchStatementCaseEntry(trap, (ITuple)item)); + i++; + } + } + if (n.Selector is { } c_selector) + trap.Tuple("switch_statement_selectors", id, trap.Label(c_selector)); + } + + private static void EmitOwnTable(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Table)node; + if (n.Attributes is { } c_attributes) + trap.Tuple("table_attributes", id, trap.Label(c_attributes)); + if (n.ElementTypeName is string s_element_type_name) + trap.Tuple("table_element_type_names", id, s_element_type_name); + if (n.Extends is string s_extends) + trap.Tuple("table_extends", id, s_extends); + if (n.Fields is System.Collections.IEnumerable seq_fields) + { + var i = 0; + foreach (var item in seq_fields) + { + if (item is null) continue; + trap.Tuple("table_fields", id, i, trap.Label(item)); + i++; + } + } + if (n.Indexes is System.Collections.IEnumerable seq_indexes) + { + var i = 0; + foreach (var item in seq_indexes) + { + if (item is null) continue; + trap.Tuple("table_indexes", id, i, (string)item); + i++; + } + } + if (n.IsAggregateDataEntity is true) + trap.Tuple("table_is_aggregate_data_entity", id); + if (n.IsDataEntityView is true) + trap.Tuple("table_is_data_entity_view", id); + if (n.IsMap is true) + trap.Tuple("table_is_map", id); + if (n.IsUpdatable is true) + trap.Tuple("table_is_updatable", id); + if (n.IsView is true) + trap.Tuple("table_is_view", id); + if (n.SupportInheritance is true) + trap.Tuple("table_support_inheritance", id); + } + + private static void EmitOwnTableFieldReference(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.TableFieldReference)node; + if (n.Index is { } c_index) + trap.Tuple("table_field_reference_indices", id, trap.Label(c_index)); + } + + private static void EmitOwnTableLookupExpression(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.TableLookupExpression)node; + if (n.Field is { } c_field) + trap.Tuple("table_lookup_expression_fields", id, trap.Label(c_field)); + if (n.Query is { } c_query) + trap.Tuple("table_lookup_expression_queries", id, trap.Label(c_query)); + } + + private static void EmitOwnThrowStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ThrowStatement)node; + if (n.Exception is { } c_exception) + trap.Tuple("throw_statement_exceptions", id, trap.Label(c_exception)); + } + + private static void EmitOwnTryStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.TryStatement)node; + if (n.Catches is System.Collections.IEnumerable seq_catches) + { + var i = 0; + foreach (var item in seq_catches) + { + if (item is null) continue; + trap.Tuple("try_statement_catches", id, i, EmitTryStatementCatchEntry(trap, (ITuple)item)); + i++; + } + } + if (n.Finally is { } c_finally) + trap.Tuple("try_statement_finallies", id, trap.Label(c_finally)); + if (n.Statement is { } c_statement) + trap.Tuple("try_statement_statements", id, trap.Label(c_statement)); + } + + private static void EmitOwnUnaryExpression(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.UnaryExpression)node; + if (n.Expression is { } c_expression) + trap.Tuple("unary_expression_expressions", id, trap.Label(c_expression)); + } + + private static void EmitOwnUncheckedStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.UncheckedStatement)node; + if (n.Expression is { } c_expression) + trap.Tuple("unchecked_statement_expressions", id, trap.Label(c_expression)); + if (n.Statement is { } c_statement) + trap.Tuple("unchecked_statement_statements", id, trap.Label(c_statement)); + } + + private static void EmitOwnUpdateStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.UpdateStatement)node; + if (n.CrossCompany is { } c_cross_company) + trap.Tuple("update_statement_cross_companies", id, trap.Label(c_cross_company)); + if (n.FieldAssignments is System.Collections.IEnumerable seq_field_assignments) + { + var i = 0; + foreach (var item in seq_field_assignments) + { + if (item is null) continue; + trap.Tuple("update_statement_field_assignments", id, i, trap.Label(item)); + i++; + } + } + if (n.Hints is System.Collections.IEnumerable seq_hints) + { + var i = 0; + foreach (var item in seq_hints) + { + if (item is null) continue; + trap.Tuple("update_statement_hints", id, i, item.ToString()); + i++; + } + } + if (n.Joins is { } c_joins) + trap.Tuple("update_statement_joins", id, trap.Label(c_joins)); + if (n.Table is string s_table) + trap.Tuple("update_statement_tables", id, s_table); + if (n.Where is { } c_where) + trap.Tuple("update_statement_wheres", id, trap.Label(c_where)); + } + + private static void EmitOwnUsingStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.UsingStatement)node; + if (n.DisposableObjectInitializers is System.Collections.IEnumerable seq_disposable_object_initializers) + { + var i = 0; + foreach (var item in seq_disposable_object_initializers) + { + if (item is null) continue; + trap.Tuple("using_statement_disposable_object_initializers", id, i, trap.Label(item)); + i++; + } + } + if (n.Statement is { } c_statement) + trap.Tuple("using_statement_statements", id, trap.Label(c_statement)); + } + + private static void EmitOwnValidTimeStateDate(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ValidTimeStateDate)node; + if (n.DateVariable is string s_date_variable) + trap.Tuple("valid_time_state_date_date_variables", id, s_date_variable); + } + + private static void EmitOwnValidTimeStateRange(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ValidTimeStateRange)node; + if (n.FromDateVariable is string s_from_date_variable) + trap.Tuple("valid_time_state_range_from_date_variables", id, s_from_date_variable); + if (n.ToDateVariable is string s_to_date_variable) + trap.Tuple("valid_time_state_range_to_date_variables", id, s_to_date_variable); + } + + private static void EmitOwnVariableDeclaration(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.VariableDeclaration)node; + if (n.ElementTypeName is string s_element_type_name) + trap.Tuple("variable_declaration_element_type_names", id, s_element_type_name); + if (n.InitialValue is { } c_initial_value) + trap.Tuple("variable_declaration_initial_values", id, trap.Label(c_initial_value)); + if (n.IsConst is true) + trap.Tuple("variable_declaration_is_const", id); + } + + private static void EmitOwnWhileStatement(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.WhileStatement)node; + if (n.Condition is { } c_condition) + trap.Tuple("while_statement_conditions", id, trap.Label(c_condition)); + if (n.Statement is { } c_statement) + trap.Tuple("while_statement_statements", id, trap.Label(c_statement)); + } + + private static void EmitOwnXppType(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.XppType)node; + if (n.ElementTypeName is string s_element_type_name) + trap.Tuple("xpp_type_element_type_names", id, s_element_type_name); + if (n.IsObsolete is true) + trap.Tuple("xpp_type_is_obsolete", id); + } + + private static void EmitOwnXppTypeCompilationUnit(ITrapFile trap, Label id, object node) + { + var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.XppTypeCompilationUnit)node; + if (n.Type is { } c_type) + trap.Tuple("xpp_type_compilation_unit_types", id, trap.Label(c_type)); + } + + private static Label EmitAttributeNamedParameterEntry(ITrapFile trap, ITuple tuple) + { + var id = trap.FreshLabel(); + trap.Tuple("attribute_named_parameter_entries", id); + if (tuple[0] is string s_item1) + trap.Tuple("attribute_named_parameter_entry_item1s", id, s_item1); + if (tuple[1] is { } c_attribute_expression) + trap.Tuple("attribute_named_parameter_entry_attribute_expressions", id, trap.Label(c_attribute_expression)); + return id; + } + + private static Label EmitCompilationUnitRegionEntry(ITrapFile trap, ITuple tuple) + { + var id = trap.FreshLabel(); + trap.Tuple("compilation_unit_region_entries", id); + if (tuple[0] is { } c_comment) + trap.Tuple("compilation_unit_region_entry_comments", id, trap.Label(c_comment)); + if (tuple[1] is { } c_comment2) + trap.Tuple("compilation_unit_region_entry_comment2s", id, trap.Label(c_comment2)); + return id; + } + + private static Label EmitEvaluationActualParameterEntry(ITrapFile trap, ITuple tuple) + { + var id = trap.FreshLabel(); + trap.Tuple("evaluation_actual_parameter_entries", id); + if (tuple[0] is true) + trap.Tuple("evaluation_actual_parameter_entry_item1", id); + if (tuple[1] is { } c_expression) + trap.Tuple("evaluation_actual_parameter_entry_expressions", id, trap.Label(c_expression)); + return id; + } + + private static Label EmitModelElementUsingEntry(ITrapFile trap, ITuple tuple) + { + var id = trap.FreshLabel(); + trap.Tuple("model_element_using_entries", id); + if (tuple[1] is string s_item2) + trap.Tuple("model_element_using_entry_item2s", id, s_item2); + if (tuple[2] is string s_item3) + trap.Tuple("model_element_using_entry_item3s", id, s_item3); + return id; + } + + private static Label EmitSwitchStatementCaseEntry(ITrapFile trap, ITuple tuple) + { + var id = trap.FreshLabel(); + trap.Tuple("switch_statement_case_entries", id); + if (tuple[0] is { } c_case) + trap.Tuple("switch_statement_case_entry_cases", id, trap.Label(c_case)); + if (tuple[1] is System.Collections.IEnumerable seq_statements) + { + var i = 0; + foreach (var item in seq_statements) + { + if (item is null) continue; + trap.Tuple("switch_statement_case_entry_statements", id, i, trap.Label(item)); + i++; + } + } + return id; + } + + private static Label EmitTryStatementCatchEntry(ITrapFile trap, ITuple tuple) + { + var id = trap.FreshLabel(); + trap.Tuple("try_statement_catch_entries", id); + if (tuple[0] is { } c_catch) + trap.Tuple("try_statement_catch_entry_catches", id, trap.Label(c_catch)); + if (tuple[1] is { } c_statement) + trap.Tuple("try_statement_catch_entry_statements", id, trap.Label(c_statement)); + return id; + } + + /// + /// Writes every tuple describing , returning false when the + /// node's type is not part of the generated schema. + /// + public static bool Emit(ITrapFile trap, Label id, object node) + { + // Dispatch on the exact runtime type: C# type patterns also match subclasses, + // which would bind a node to an ancestor's table. + switch (node.GetType().FullName) + { + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AddExpression": + trap.Tuple("add_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AllFieldsSelection": + trap.Tuple("all_fields_selections", id); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AndExpression": + trap.Tuple("and_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AnyType": + trap.Tuple("any_types", id); + EmitOwnXppType(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ArraySpecification": + trap.Tuple("array_specifications", id); + EmitOwnArraySpecification(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AsClrExpression": + trap.Tuple("as_clr_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnIsAsExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AsExpression": + trap.Tuple("as_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnIsAsExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignDecrementStatement": + trap.Tuple("assign_decrement_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnAssignmentSingleField(trap, id, node); + EmitOwnAssignmentBinary(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignDivideStatement": + trap.Tuple("assign_divide_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnAssignmentSingleField(trap, id, node); + EmitOwnAssignmentBinary(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignEqualStatement": + trap.Tuple("assign_equal_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnAssignmentSingleField(trap, id, node); + EmitOwnAssignmentBinary(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignIncrementStatement": + trap.Tuple("assign_increment_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnAssignmentSingleField(trap, id, node); + EmitOwnAssignmentBinary(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignMultipleFieldStatement": + trap.Tuple("assign_multiple_field_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnAssignMultipleFieldStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignMultiplyStatement": + trap.Tuple("assign_multiply_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnAssignmentSingleField(trap, id, node); + EmitOwnAssignmentBinary(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignPostDecrementStatement": + trap.Tuple("assign_post_decrement_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnAssignmentSingleField(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignPostIncrementStatement": + trap.Tuple("assign_post_increment_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnAssignmentSingleField(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignPreDecrementStatement": + trap.Tuple("assign_pre_decrement_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnAssignmentSingleField(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignPreIncrementStatement": + trap.Tuple("assign_pre_increment_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnAssignmentSingleField(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignmentEventHandlerClr": + trap.Tuple("assignment_event_handler_clrs", id); + EmitOwnStatement(trap, id, node); + EmitOwnAssignmentSingleField(trap, id, node); + EmitOwnAssignmentEventHandlerBase(trap, id, node); + EmitOwnAssignmentEventHandlerStatic(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignmentEventHandlerInstance": + trap.Tuple("assignment_event_handler_instances", id); + EmitOwnStatement(trap, id, node); + EmitOwnAssignmentSingleField(trap, id, node); + EmitOwnAssignmentEventHandlerBase(trap, id, node); + EmitOwnAssignmentEventHandlerInstance(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignmentEventHandlerStatic": + trap.Tuple("assignment_event_handler_static_internals", id); + EmitOwnStatement(trap, id, node); + EmitOwnAssignmentSingleField(trap, id, node); + EmitOwnAssignmentEventHandlerBase(trap, id, node); + EmitOwnAssignmentEventHandlerStatic(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Attribute": + trap.Tuple("attributes", id); + EmitOwnAttribute(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AttributeExpression": + trap.Tuple("attribute_expressions", id); + EmitOwnAttributeExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AttributeList": + trap.Tuple("attribute_lists", id); + EmitOwnAttributeList(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AvgAggregateSelection": + trap.Tuple("avg_aggregate_selections", id); + EmitOwnSelectionField(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.BooleanAttributeLiteral": + trap.Tuple("boolean_attribute_literals", id); + EmitOwnDefaultTypeAttributeLiteral(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.BooleanLiteralExpression": + trap.Tuple("boolean_literal_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnDefaultTypeLiteralExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.BooleanType": + trap.Tuple("boolean_types", id); + EmitOwnXppType(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.BreakStatement": + trap.Tuple("break_statements", id); + EmitOwnStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.BreakpointStatement": + trap.Tuple("breakpoint_statements", id); + EmitOwnStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.CaseDefault": + trap.Tuple("case_defaults", id); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.CaseValues": + trap.Tuple("case_values", id); + EmitOwnCaseValues(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.CatchAllValues": + trap.Tuple("catch_all_values", id); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.CatchExpression": + trap.Tuple("catch_expressions", id); + EmitOwnCatchExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.CatchUpdateConflict": + trap.Tuple("catch_update_conflicts", id); + EmitOwnCatchUpdateConflict(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ChangeCompanyStatement": + trap.Tuple("change_company_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnChangeStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Class": + trap.Tuple("classes", id); + EmitOwnCompilationUnit(trap, id, node); + EmitOwnModelElement(trap, id, node); + EmitOwnClassOrInterface(trap, id, node); + EmitOwnClass(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ClassAccessModifier": + trap.Tuple("class_access_modifiers", id); + EmitOwnClassAccessModifier(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ClrEnumerationLiteralExpression": + trap.Tuple("clr_enumeration_literal_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnClrEnumerationLiteralExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ClrType": + trap.Tuple("clr_types", id); + EmitOwnXppType(trap, id, node); + EmitOwnGenericXppType(trap, id, node); + EmitOwnClrType(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.CompoundStatement": + trap.Tuple("compound_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnCompoundStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ConditionalExpression": + trap.Tuple("conditional_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnConditionalExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ContainerAttributeLiteral": + trap.Tuple("container_attribute_literals", id); + EmitOwnContainerAttributeLiteral(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ContainerLiteralExpression": + trap.Tuple("container_literal_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnContainerLiteralExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ContainerType": + trap.Tuple("container_types", id); + EmitOwnXppType(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ContinueStatement": + trap.Tuple("continue_statements", id); + EmitOwnStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.CountAggregateSelection": + trap.Tuple("count_aggregate_selections", id); + EmitOwnSelectionField(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.CrossCompanyAll": + trap.Tuple("cross_company_alls", id); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.CrossCompanyContainer": + trap.Tuple("cross_company_containers", id); + EmitOwnCrossCompanyContainer(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DateAttributeLiteral": + trap.Tuple("date_attribute_literals", id); + EmitOwnDefaultTypeAttributeLiteral(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DateLiteralExpression": + trap.Tuple("date_literal_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnDefaultTypeLiteralExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DateTimeAttributeLiteral": + trap.Tuple("date_time_attribute_literals", id); + EmitOwnDefaultTypeAttributeLiteral(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DateTimeLiteralExpression": + trap.Tuple("date_time_literal_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnDefaultTypeLiteralExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DateTimeType": + trap.Tuple("date_time_types", id); + EmitOwnXppType(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DateType": + trap.Tuple("date_types", id); + EmitOwnXppType(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DblAttributeLiteral": + trap.Tuple("dbl_attribute_literals", id); + EmitOwnDefaultTypeAttributeLiteral(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DblType": + trap.Tuple("dbl_types", id); + EmitOwnXppType(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Delegate": + trap.Tuple("delegates", id); + EmitOwnCompilationUnit(trap, id, node); + EmitOwnMethodOrDelegate(trap, id, node); + EmitOwnDelegate(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DeleteStatement": + trap.Tuple("delete_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnDeleteStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DivideExpression": + trap.Tuple("divide_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DoWhileStatement": + trap.Tuple("do_while_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnDoWhileStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.EmptyExpression": + trap.Tuple("empty_expressions", id); + EmitOwnExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.EmptyStatement": + trap.Tuple("empty_statements", id); + EmitOwnStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.EnumAttributeLiteral": + trap.Tuple("enum_attribute_literals", id); + EmitOwnEnumAttributeLiteral(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.EnumerationLiteralExpression": + trap.Tuple("enumeration_literal_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnEnumerationLiteralExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.EnumerationType": + trap.Tuple("enumeration_types", id); + EmitOwnXppType(trap, id, node); + EmitOwnEnumerationType(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.EqualExpression": + trap.Tuple("equal_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + EmitOwnRelationalExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ExplicitSelection": + trap.Tuple("explicit_selections", id); + EmitOwnExplicitSelection(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ExpressionCompilationUnit": + trap.Tuple("expression_compilation_units", id); + EmitOwnCompilationUnit(trap, id, node); + EmitOwnExpressionCompilationUnit(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ExpressionQualifier": + trap.Tuple("expression_qualifiers", id); + EmitOwnExpressionQualifier(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ExpressionStatement": + trap.Tuple("expression_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnExpressionStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FieldAssignment": + trap.Tuple("field_assignments", id); + EmitOwnFieldAssignment(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FieldDeclaration": + trap.Tuple("field_declaration_internals", id); + EmitOwnCompilationUnit(trap, id, node); + EmitOwnDeclaration(trap, id, node); + EmitOwnFieldDeclaration(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FieldExpression": + trap.Tuple("field_expression_internals", id); + EmitOwnExpression(trap, id, node); + EmitOwnFieldExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FieldSelection": + trap.Tuple("field_selections", id); + EmitOwnSelectionField(trap, id, node); + EmitOwnFieldSelection(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FindStatement": + trap.Tuple("find_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnFindStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FlushStatement": + trap.Tuple("flush_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnFlushStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ForDeclarationAssign": + trap.Tuple("for_declaration_assigns", id); + EmitOwnForAssign(trap, id, node); + EmitOwnForDeclarationAssign(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ForFieldAssign": + trap.Tuple("for_field_assigns", id); + EmitOwnForAssign(trap, id, node); + EmitOwnForExpressionAssign(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ForFieldDecrementAssign": + trap.Tuple("for_field_decrement_assigns", id); + EmitOwnForAssign(trap, id, node); + EmitOwnForExpressionAssign(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ForFieldIncrementAssign": + trap.Tuple("for_field_increment_assigns", id); + EmitOwnForAssign(trap, id, node); + EmitOwnForExpressionAssign(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ForFieldPostDecrement": + trap.Tuple("for_field_post_decrements", id); + EmitOwnForAssign(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ForFieldPostIncrement": + trap.Tuple("for_field_post_increments", id); + EmitOwnForAssign(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ForFieldPreDecrement": + trap.Tuple("for_field_pre_decrements", id); + EmitOwnForAssign(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ForFieldPreIncrement": + trap.Tuple("for_field_pre_increments", id); + EmitOwnForAssign(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ForStatement": + trap.Tuple("for_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnForStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FormControl": + trap.Tuple("form_controls", id); + EmitOwnCompilationUnit(trap, id, node); + EmitOwnModelElement(trap, id, node); + EmitOwnFormNestedElement(trap, id, node); + EmitOwnFormControl(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FormDataField": + trap.Tuple("form_data_fields", id); + EmitOwnCompilationUnit(trap, id, node); + EmitOwnModelElement(trap, id, node); + EmitOwnFormNestedElement(trap, id, node); + EmitOwnFormDataField(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FormDataSource": + trap.Tuple("form_data_sources", id); + EmitOwnCompilationUnit(trap, id, node); + EmitOwnModelElement(trap, id, node); + EmitOwnFormNestedElement(trap, id, node); + EmitOwnFormDataSource(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FormElementType": + trap.Tuple("form_element_types", id); + EmitOwnXppType(trap, id, node); + EmitOwnGenericXppType(trap, id, node); + EmitOwnNamedType(trap, id, node); + EmitOwnFormElementType(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FormModelElement": + trap.Tuple("form_model_elements", id); + EmitOwnCompilationUnit(trap, id, node); + EmitOwnModelElement(trap, id, node); + EmitOwnFormModelElement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FunctionCall": + trap.Tuple("function_calls", id); + EmitOwnExpression(trap, id, node); + EmitOwnEvaluation(trap, id, node); + EmitOwnGenericEvaluation(trap, id, node); + EmitOwnFunctionCall(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FunctionDeclaration": + trap.Tuple("function_declarations", id); + EmitOwnCompilationUnit(trap, id, node); + EmitOwnDeclaration(trap, id, node); + EmitOwnFunctionDeclaration(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.GlobalOrderElement": + trap.Tuple("global_order_elements", id); + EmitOwnOrderElement(trap, id, node); + EmitOwnGlobalOrderElement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.GreaterThanExpression": + trap.Tuple("greater_than_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + EmitOwnRelationalExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.GreaterThanOrEqualExpression": + trap.Tuple("greater_than_or_equal_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + EmitOwnRelationalExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.GuidAttributeLiteral": + trap.Tuple("guid_attribute_literals", id); + EmitOwnDefaultTypeAttributeLiteral(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.GuidType": + trap.Tuple("guid_types", id); + EmitOwnXppType(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.IfStatement": + trap.Tuple("if_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnIfStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.IfThenElseStatement": + trap.Tuple("if_then_else_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnIfThenElseStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ImplicitSelection": + trap.Tuple("implicit_selections", id); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.InExpression": + trap.Tuple("in_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.InsertFieldSpecification": + trap.Tuple("insert_field_specifications", id); + EmitOwnInsertFieldSpecification(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.InsertStatement": + trap.Tuple("insert_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnInsertStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Int64AttributeLiteral": + trap.Tuple("int64_attribute_literals", id); + EmitOwnDefaultTypeAttributeLiteral(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Int64LiteralExpression": + trap.Tuple("int64_literal_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnDefaultTypeLiteralExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Int64Type": + trap.Tuple("int64_types", id); + EmitOwnXppType(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.IntAttributeLiteral": + trap.Tuple("int_attribute_literals", id); + EmitOwnDefaultTypeAttributeLiteral(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.IntLiteralExpression": + trap.Tuple("int_literal_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnDefaultTypeLiteralExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.IntType": + trap.Tuple("int_types", id); + EmitOwnXppType(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.IntegerDivideExpression": + trap.Tuple("integer_divide_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Interface": + trap.Tuple("interfaces", id); + EmitOwnCompilationUnit(trap, id, node); + EmitOwnModelElement(trap, id, node); + EmitOwnClassOrInterface(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Intrinsic": + trap.Tuple("intrinsics", id); + EmitOwnExpression(trap, id, node); + EmitOwnIntrinsic(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.IntrinsicAttributeLiteral": + trap.Tuple("intrinsic_attribute_literals", id); + EmitOwnIntrinsicAttributeLiteral(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.IsClrExpression": + trap.Tuple("is_clr_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnIsAsExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.IsExpression": + trap.Tuple("is_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnIsAsExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.JoinSpecification": + trap.Tuple("join_specifications", id); + EmitOwnJoinSpecification(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.LessThanExpression": + trap.Tuple("less_than_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + EmitOwnRelationalExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.LessThanOrEqualExpression": + trap.Tuple("less_than_or_equal_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + EmitOwnRelationalExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.LikeExpression": + trap.Tuple("like_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + EmitOwnRelationalExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.LocalDeclarationsStatement": + trap.Tuple("local_declarations_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnLocalDeclarationsStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.MaxAggregateSelection": + trap.Tuple("max_aggregate_selections", id); + EmitOwnSelectionField(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Method": + trap.Tuple("methods", id); + EmitOwnCompilationUnit(trap, id, node); + EmitOwnMethodOrDelegate(trap, id, node); + EmitOwnMethod(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.MinAggregateSelection": + trap.Tuple("min_aggregate_selections", id); + EmitOwnSelectionField(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ModExpression": + trap.Tuple("mod_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Modifier": + trap.Tuple("modifiers", id); + EmitOwnModifier(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.MoveCursorStatement": + trap.Tuple("move_cursor_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnMoveCursorStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.MultiplyExpression": + trap.Tuple("multiply_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.NamedFieldReference": + trap.Tuple("named_field_references", id); + EmitOwnTableFieldReference(trap, id, node); + EmitOwnNamedFieldReference(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.NamedType": + trap.Tuple("named_type_internals", id); + EmitOwnXppType(trap, id, node); + EmitOwnGenericXppType(trap, id, node); + EmitOwnNamedType(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.NewCall": + trap.Tuple("new_calls", id); + EmitOwnExpression(trap, id, node); + EmitOwnEvaluation(trap, id, node); + EmitOwnNewCall(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.NewClrArrayExpression": + trap.Tuple("new_clr_array_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnNewClrArrayExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.NewClrCall": + trap.Tuple("new_clr_calls", id); + EmitOwnExpression(trap, id, node); + EmitOwnEvaluation(trap, id, node); + EmitOwnGenericEvaluation(trap, id, node); + EmitOwnNewClrCall(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.NextExpression": + trap.Tuple("next_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnEvaluation(trap, id, node); + EmitOwnNextExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.NotEqualExpression": + trap.Tuple("not_equal_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + EmitOwnRelationalExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.NotExpression": + trap.Tuple("not_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnUnaryExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.NullLiteralExpression": + trap.Tuple("null_literal_expressions", id); + EmitOwnExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.NumberedFieldReference": + trap.Tuple("numbered_field_references", id); + EmitOwnTableFieldReference(trap, id, node); + EmitOwnNumberedFieldReference(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.OrExpression": + trap.Tuple("or_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ParameterDeclaration": + trap.Tuple("parameter_declarations", id); + EmitOwnCompilationUnit(trap, id, node); + EmitOwnDeclaration(trap, id, node); + EmitOwnVariableDeclaration(trap, id, node); + EmitOwnParameterDeclaration(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.PhysicalAndExpression": + trap.Tuple("physical_and_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.PhysicalNotExpression": + trap.Tuple("physical_not_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnUnaryExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.PhysicalOrExpression": + trap.Tuple("physical_or_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.PhysicalXorExpression": + trap.Tuple("physical_xor_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Placeholder": + trap.Tuple("placeholders", id); + EmitOwnExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.PrintStatement": + trap.Tuple("print_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnPrintStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ProvidedType": + trap.Tuple("provided_types", id); + EmitOwnXppType(trap, id, node); + EmitOwnProvidedType(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ProvidedTypeStaticCall": + trap.Tuple("provided_type_static_calls", id); + EmitOwnExpression(trap, id, node); + EmitOwnEvaluation(trap, id, node); + EmitOwnProvidedTypeStaticCall(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedCall": + trap.Tuple("qualified_calls", id); + EmitOwnExpression(trap, id, node); + EmitOwnEvaluation(trap, id, node); + EmitOwnGenericEvaluation(trap, id, node); + EmitOwnQualifiedCall(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedField": + trap.Tuple("qualified_fields", id); + EmitOwnFieldSpecification(trap, id, node); + EmitOwnQualifiedField(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedInstanceName": + trap.Tuple("qualified_instance_names", id); + EmitOwnQualifiedInstanceName(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedNumberedField": + trap.Tuple("qualified_numbered_fields", id); + EmitOwnFieldSpecification(trap, id, node); + EmitOwnQualifiedNumberedField(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedStaticCall": + trap.Tuple("qualified_static_calls", id); + EmitOwnExpression(trap, id, node); + EmitOwnEvaluation(trap, id, node); + EmitOwnGenericEvaluation(trap, id, node); + EmitOwnQualifiedStaticCall(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedStaticField": + trap.Tuple("qualified_static_fields", id); + EmitOwnFieldSpecification(trap, id, node); + EmitOwnQualifiedStaticField(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedStaticFieldExpression": + trap.Tuple("qualified_static_field_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnFieldExpression(trap, id, node); + EmitOwnQualifiedStaticFieldExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Query": + trap.Tuple("queries", id); + EmitOwnQuery(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryDataSource": + trap.Tuple("query_data_sources", id); + EmitOwnQueryDataSource(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryDataSourceHaving": + trap.Tuple("query_data_source_havings", id); + EmitOwnQueryDataSourceHaving(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryDataSourceRange": + trap.Tuple("query_data_source_ranges", id); + EmitOwnQueryDataSourceRange(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryDataSourceRelation": + trap.Tuple("query_data_source_relations", id); + EmitOwnQueryDataSourceRelation(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryModelElement": + trap.Tuple("query_model_elements", id); + EmitOwnCompilationUnit(trap, id, node); + EmitOwnModelElement(trap, id, node); + EmitOwnQueryModelElement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.RealLiteralExpression": + trap.Tuple("real_literal_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnDefaultTypeLiteralExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.RetryStatement": + trap.Tuple("retry_statements", id); + EmitOwnStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ReturnStatement": + trap.Tuple("return_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnReturnStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.SearchStatement": + trap.Tuple("search_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnSearchStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ShiftLeftExpression": + trap.Tuple("shift_left_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ShiftRightExpression": + trap.Tuple("shift_right_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.SimpleField": + trap.Tuple("simple_fields", id); + EmitOwnFieldSpecification(trap, id, node); + EmitOwnSimpleField(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.SimpleInstanceName": + trap.Tuple("simple_instance_names", id); + EmitOwnSimpleInstanceName(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.SimpleOrderElement": + trap.Tuple("simple_order_elements", id); + EmitOwnOrderElement(trap, id, node); + EmitOwnSimpleOrderElement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.SimpleQualifier": + trap.Tuple("simple_qualifier_internals", id); + EmitOwnSimpleQualifier(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.StaticField": + trap.Tuple("static_fields", id); + EmitOwnFieldSpecification(trap, id, node); + EmitOwnStaticField(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.StaticMethodCall": + trap.Tuple("static_method_calls", id); + EmitOwnExpression(trap, id, node); + EmitOwnEvaluation(trap, id, node); + EmitOwnGenericEvaluation(trap, id, node); + EmitOwnStaticMethodCall(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.StaticQualifier": + trap.Tuple("static_qualifiers", id); + EmitOwnSimpleQualifier(trap, id, node); + EmitOwnStaticQualifier(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.StringAttributeLiteral": + trap.Tuple("string_attribute_literals", id); + EmitOwnDefaultTypeAttributeLiteral(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.StringLengthType": + trap.Tuple("string_length_types", id); + EmitOwnXppType(trap, id, node); + EmitOwnStringLengthType(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.StringLiteralExpression": + trap.Tuple("string_literal_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnDefaultTypeLiteralExpression(trap, id, node); + EmitOwnStringLiteralExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.StringType": + trap.Tuple("string_type_internals", id); + EmitOwnXppType(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.SubtractExpression": + trap.Tuple("subtract_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnBinaryExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.SumAggregateSelection": + trap.Tuple("sum_aggregate_selections", id); + EmitOwnSelectionField(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.SuperCall": + trap.Tuple("super_calls", id); + EmitOwnExpression(trap, id, node); + EmitOwnEvaluation(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.SwitchCase": + trap.Tuple("switch_cases", id); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.SwitchStatement": + trap.Tuple("switch_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnSwitchStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Table": + trap.Tuple("tables", id); + EmitOwnCompilationUnit(trap, id, node); + EmitOwnModelElement(trap, id, node); + EmitOwnTable(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.TableFieldDeclaration": + trap.Tuple("table_field_declarations", id); + EmitOwnCompilationUnit(trap, id, node); + EmitOwnDeclaration(trap, id, node); + EmitOwnFieldDeclaration(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.TableLookupExpression": + trap.Tuple("table_lookup_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnTableLookupExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ThrowStatement": + trap.Tuple("throw_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnThrowStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.TryStatement": + trap.Tuple("try_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnTryStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.TtsAbortStatement": + trap.Tuple("tts_abort_statements", id); + EmitOwnStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.TtsBeginStatement": + trap.Tuple("tts_begin_statements", id); + EmitOwnStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.TtsEndStatement": + trap.Tuple("tts_end_statements", id); + EmitOwnStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.UnaryMinusExpression": + trap.Tuple("unary_minus_expressions", id); + EmitOwnExpression(trap, id, node); + EmitOwnUnaryExpression(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.UncheckedStatement": + trap.Tuple("unchecked_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnUncheckedStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.UpdateStatement": + trap.Tuple("update_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnUpdateStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.UsingStatement": + trap.Tuple("using_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnUsingStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ValidTimeStateDate": + trap.Tuple("valid_time_state_dates", id); + EmitOwnValidTimeStateDate(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ValidTimeStateRange": + trap.Tuple("valid_time_state_ranges", id); + EmitOwnValidTimeStateRange(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.VarType": + trap.Tuple("var_types", id); + EmitOwnXppType(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.VariableDeclaration": + trap.Tuple("variable_declaration_internals", id); + EmitOwnCompilationUnit(trap, id, node); + EmitOwnDeclaration(trap, id, node); + EmitOwnVariableDeclaration(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.VoidType": + trap.Tuple("void_types", id); + EmitOwnXppType(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.WhileStatement": + trap.Tuple("while_statements", id); + EmitOwnStatement(trap, id, node); + EmitOwnWhileStatement(trap, id, node); + return true; + case "Microsoft.Dynamics.AX.Metadata.XppCompiler.XppTypeCompilationUnit": + trap.Tuple("xpp_type_compilation_units", id); + EmitOwnCompilationUnit(trap, id, node); + EmitOwnXppTypeCompilationUnit(trap, id, node); + return true; + default: + return false; + } + } +} diff --git a/xpp/extractor/Xpp.Extraction/ITrapFile.cs b/xpp/extractor/Xpp.Extraction/ITrapFile.cs new file mode 100644 index 000000000000..783f51c35a1a --- /dev/null +++ b/xpp/extractor/Xpp.Extraction/ITrapFile.cs @@ -0,0 +1,23 @@ +namespace Xpp.Extraction; + +/// +/// Sink for TRAP tuples. The generated AstTrapEmitter writes through this interface, so +/// tests can capture tuples without touching the filesystem. +/// +public interface ITrapFile +{ + /// Allocates a label with no stable identity of its own. + Label FreshLabel(); + + /// + /// The label for an AST node, allocated on first use so repeated references to the same node + /// share one entity. + /// + Label Label(object node); + + /// + /// Writes one tuple. Arguments may be , , + /// or . + /// + void Tuple(string relation, params object[] arguments); +} diff --git a/xpp/extractor/Xpp.Extraction/Label.cs b/xpp/extractor/Xpp.Extraction/Label.cs new file mode 100644 index 000000000000..f7013a165b8e --- /dev/null +++ b/xpp/extractor/Xpp.Extraction/Label.cs @@ -0,0 +1,9 @@ +namespace Xpp.Extraction; + +/// +/// A TRAP label: the identity of one entity within a single TRAP file. +/// +public readonly record struct Label(int Value) +{ + public override string ToString() => "#" + Value; +} diff --git a/xpp/extractor/Xpp.Extraction/NullMetadataProvider.cs b/xpp/extractor/Xpp.Extraction/NullMetadataProvider.cs new file mode 100644 index 000000000000..7463d4df4606 --- /dev/null +++ b/xpp/extractor/Xpp.Extraction/NullMetadataProvider.cs @@ -0,0 +1,44 @@ +using System.Collections; +using System.Reflection; +using Microsoft.Dynamics.AX.Framework.Xlnt.XppParser; + +namespace Xpp.Extraction; + +/// +/// An that knows about nothing. +/// +/// +/// Parsing method bodies needs no metadata at all, but a class or interface header does: the +/// parser looks up the base type named by `extends`. Supplying an empty provider lets the header +/// parse and leaves the base type unresolved, which is the right trade for an extractor that +/// records source structure rather than resolved types. +/// +/// The interface has more than eighty members, nearly all of which would be an empty default, so +/// it is implemented with rather than by hand. +/// +public class NullMetadataProvider : DispatchProxy +{ + public static IXppcMetadataProvider Create() => + Create()!; + + protected override object? Invoke(MethodInfo? targetMethod, object?[]? args) + { + var returnType = targetMethod?.ReturnType; + if (returnType is null || returnType == typeof(void)) + return null; + + // Callers iterate returned sequences directly, so an empty one is safer than null. + if (returnType != typeof(string) && + typeof(IEnumerable).IsAssignableFrom(returnType)) + { + var element = returnType.IsGenericType + ? returnType.GetGenericArguments().FirstOrDefault() ?? typeof(object) + : typeof(object); + + if (returnType.IsAssignableFrom(element.MakeArrayType())) + return Array.CreateInstance(element, 0); + } + + return returnType.IsValueType ? Activator.CreateInstance(returnType) : null; + } +} diff --git a/xpp/extractor/Xpp.Extraction/TrapFile.cs b/xpp/extractor/Xpp.Extraction/TrapFile.cs new file mode 100644 index 000000000000..a5bc05ce6951 --- /dev/null +++ b/xpp/extractor/Xpp.Extraction/TrapFile.cs @@ -0,0 +1,69 @@ +using System.Globalization; +using System.Runtime.CompilerServices; +using System.Text; + +namespace Xpp.Extraction; + +/// +/// Writes TRAP tuples to a . +/// +public sealed class TrapFile(TextWriter writer) : ITrapFile +{ + // Reference equality: two distinct AST nodes are distinct entities even if they compare + // equal, and the compiler's AST nodes do not override Equals anyway. + private readonly Dictionary labels = new(ReferenceEqualityComparer.Instance); + + private int next; + + public Label FreshLabel() + { + var label = new Label(++next); + writer.Write(label); + writer.WriteLine("=*"); + return label; + } + + public Label Label(object node) + { + if (labels.TryGetValue(node, out var existing)) + return existing; + + var label = FreshLabel(); + labels[node] = label; + return label; + } + + public void Tuple(string relation, params object[] arguments) + { + var line = new StringBuilder(relation.Length + 16 * arguments.Length); + line.Append(relation).Append('('); + for (var i = 0; i < arguments.Length; i++) + { + if (i > 0) + line.Append(','); + Append(line, arguments[i]); + } + + line.Append(')'); + writer.WriteLine(line.ToString()); + } + + private static void Append(StringBuilder line, object argument) + { + switch (argument) + { + case Label label: + line.Append(label); + break; + case string text: + line.Append('"').Append(text.Replace("\"", "\"\"")).Append('"'); + break; + case bool flag: + line.Append(flag ? '1' : '0'); + break; + default: + line.Append(Convert.ToString(argument, CultureInfo.InvariantCulture)); + break; + } + } +} diff --git a/xpp/extractor/Xpp.Extraction/Xpp.Extraction.csproj b/xpp/extractor/Xpp.Extraction/Xpp.Extraction.csproj new file mode 100644 index 000000000000..f6e31f028c61 --- /dev/null +++ b/xpp/extractor/Xpp.Extraction/Xpp.Extraction.csproj @@ -0,0 +1,41 @@ + + + + net8.0 + enable + enable + Xpp.Extraction + Xpp.Extraction + + + + + $(XPP_COMPILER_PACKAGE) + + + + + + + + + $(XppCompilerPackage)/Microsoft.Dynamics.AX.Framework.Xlnt.XppCore.dll + false + + + $(XppCompilerPackage)/Microsoft.Dynamics.AX.Framework.Xlnt.XppParser.dll + false + + + + $(XppCompilerPackage)/Microsoft.Dynamics.AX.Metadata.Core.dll + false + + + + diff --git a/xpp/extractor/Xpp.Extraction/XppSourceFile.cs b/xpp/extractor/Xpp.Extraction/XppSourceFile.cs new file mode 100644 index 000000000000..2fa089b11b8d --- /dev/null +++ b/xpp/extractor/Xpp.Extraction/XppSourceFile.cs @@ -0,0 +1,100 @@ +using System.Xml.Linq; + +namespace Xpp.Extraction; + +/// One block of X++ source embedded in a metadata XML file. +/// Method name, or null for a class declaration. +/// The X++ text. +/// +/// Zero-based line at which begins within the containing file, so the +/// parser can report positions relative to the file rather than the fragment. +/// +public sealed record XppSourceBlock(string? Name, string Source, int LineOffset); + +/// +/// Reads the X++ source embedded in a D365 F&O metadata object. +/// +/// +/// X++ is not stored as standalone files. Each object is an XML document — `AxClass/Foo.xml`, +/// `AxTable/Bar.xml` and so on — whose `SourceCode` element holds the declaration and each +/// method body in CDATA sections. +/// +public static class XppSourceFile +{ + /// Metadata object directories that can contain X++ source. + private static readonly string[] SourceBearingDirectories = + [ + "AxClass", "AxTable", "AxForm", "AxQuery", "AxView", "AxMap", "AxDataEntityView", + "AxTableExtension", "AxFormExtension", "AxClassExtension", "AxViewExtension", + ]; + + /// + /// True if looks like an X++ metadata object rather than an + /// unrelated XML file. + /// + public static bool IsCandidate(string path) + { + if (!path.EndsWith(".xml", StringComparison.OrdinalIgnoreCase)) + return false; + + var directory = Path.GetFileName(Path.GetDirectoryName(path)); + return directory is not null && + SourceBearingDirectories.Contains(directory, StringComparer.OrdinalIgnoreCase); + } + + /// The object's name, or null if the document is not a metadata object. + public static string? ObjectName(XDocument document) => + document.Root?.Element("Name")?.Value; + + /// + /// Every source block in the document, in file order. + /// + public static IEnumerable Blocks(string text, XDocument document) + { + var sourceCode = document.Root?.Element("SourceCode"); + if (sourceCode is null) + yield break; + + var declaration = sourceCode.Element("Declaration")?.Value; + if (!string.IsNullOrWhiteSpace(declaration)) + yield return new XppSourceBlock(null, declaration, LineOf(text, declaration)); + + var methods = sourceCode.Element("Methods"); + if (methods is null) + yield break; + + foreach (var method in methods.Elements("Method")) + { + var body = method.Element("Source")?.Value; + if (string.IsNullOrWhiteSpace(body)) + continue; + + yield return new XppSourceBlock( + method.Element("Name")?.Value, body, LineOf(text, body)); + } + } + + /// + /// The line on which starts within . + /// + /// + /// The fragments are CDATA payloads, so they appear verbatim in the file and can be located + /// by substring search. Anything not found falls back to offset zero, which keeps positions + /// fragment-relative rather than wrong in an unpredictable way. + /// + private static int LineOf(string text, string fragment) + { + var index = text.IndexOf(fragment, StringComparison.Ordinal); + if (index < 0) + return 0; + + var line = 0; + for (var i = 0; i < index; i++) + { + if (text[i] == '\n') + line++; + } + + return line; + } +} diff --git a/xpp/extractor/Xpp.Extractor/Program.cs b/xpp/extractor/Xpp.Extractor/Program.cs new file mode 100644 index 000000000000..c59c897356f9 --- /dev/null +++ b/xpp/extractor/Xpp.Extractor/Program.cs @@ -0,0 +1,85 @@ +using Xpp.Extraction; + +// Extracts X++ metadata objects to TRAP. +// +// Xpp.Extractor ... [--trap ] +// +// Paths may be files or directories; directories are searched for metadata objects that can +// carry X++ source. + +var paths = new List(); +string? trapPath = null; + +for (var i = 0; i < args.Length; i++) +{ + if (args[i] == "--trap" && i + 1 < args.Length) + trapPath = args[++i]; + else + paths.Add(args[i]); +} + +if (paths.Count == 0) +{ + Console.Error.WriteLine("usage: Xpp.Extractor ... [--trap ]"); + return 2; +} + +try +{ + CompilerPackageResolver.Install(); +} +catch (DirectoryNotFoundException e) +{ + Console.Error.WriteLine(e.Message); + return 2; +} + +var files = new List(); +foreach (var path in paths) +{ + if (Directory.Exists(path)) + { + files.AddRange(Directory.EnumerateFiles(path, "*.xml", SearchOption.AllDirectories) + .Where(XppSourceFile.IsCandidate)); + } + else if (File.Exists(path)) + { + files.Add(path); + } + else + { + Console.Error.WriteLine($"no such path: {path}"); + } +} + +using TextWriter output = trapPath is null + ? Console.Out + : new StreamWriter(File.Create(trapPath)); + +var trap = new TrapFile(output); +var extractor = new Extractor(); + +var totalBlocks = 0; +var totalNodes = 0; +var totalUnsupported = 0; +var failed = 0; + +foreach (var file in files.OrderBy(f => f, StringComparer.Ordinal)) +{ + var result = extractor.Extract(file, trap); + totalBlocks += result.Blocks; + totalNodes += result.Nodes; + totalUnsupported += result.Unsupported; + + foreach (var error in result.Errors) + { + failed++; + Console.Error.WriteLine($"{file}: {error}"); + } +} + +Console.Error.WriteLine( + $"extracted {files.Count} files, {totalBlocks} source blocks, {totalNodes} nodes " + + $"({totalUnsupported} unsupported, {failed} errors)"); + +return failed == 0 ? 0 : 1; diff --git a/xpp/extractor/Xpp.Extractor/Xpp.Extractor.csproj b/xpp/extractor/Xpp.Extractor/Xpp.Extractor.csproj new file mode 100644 index 000000000000..21e1f9304e38 --- /dev/null +++ b/xpp/extractor/Xpp.Extractor/Xpp.Extractor.csproj @@ -0,0 +1,16 @@ + + + + Exe + net8.0 + enable + enable + Xpp.Extractor + Xpp.Extractor + + + + + + + diff --git a/xpp/extractor/Xpp.SchemaGenerator/AstModel.cs b/xpp/extractor/Xpp.SchemaGenerator/AstModel.cs index f4f0bce113b1..6f38809db8f9 100644 --- a/xpp/extractor/Xpp.SchemaGenerator/AstModel.cs +++ b/xpp/extractor/Xpp.SchemaGenerator/AstModel.cs @@ -46,7 +46,12 @@ public sealed record AstType( string? BaseName, bool IsAbstract, IReadOnlyList Properties, - bool IsSynthetic = false); + bool IsSynthetic = false, + /// + /// True for open generic CLR classes. They cannot be named in generated code, and a closed + /// instance's runtime name would not match a dispatch case, so they are treated as abstract. + /// + bool IsGeneric = false); /// /// The X++ AST hierarchy, reflected out of the compiler package and classified into the shape @@ -136,12 +141,14 @@ public static AstModel Build(CompilerPackage package) properties.Add(classified); } - result.Add(new AstType(TypeName(type), baseName, type.IsAbstract, properties)); + result.Add(new AstType( + TypeName(type), baseName, type.IsAbstract, properties, IsGeneric: IsGeneric(type))); } result.AddRange(context.Synthetics.Values.OrderBy(t => t.Name, StringComparer.Ordinal)); result = DropInheritedRedeclarations(result); result = DropUnreferencedSynthetics(result); + result = AddLeavesForConcreteBases(result); result = DropRedundantPresenceFlags(result); result = ResolveTableNameConflicts(result); @@ -469,6 +476,42 @@ private static List DropUnreferencedSynthetics(List types) return types.Where(t => !t.IsSynthetic || referenced.Contains(t.Name)).ToList(); } + /// Suffix for the leaf classes standing in for instantiable base classes. + public const string ConcreteBaseLeafSuffix = "Internal"; + + /// + /// Adds a leaf subclass for every instantiable class that also has subclasses. + /// + /// + /// The dbscheme only binds ids in leaf tables: a class with subclasses becomes a union and + /// gets no table of its own. The X++ AST has classes such as FieldExpression that are + /// both instantiable and extended, so instances of exactly that class would have nowhere to + /// bind. A generated leaf gives them one, mirroring the ...Internal classes in the + /// Rust schema. + /// + private static List AddLeavesForConcreteBases(List types) + { + var bases = types + .Select(t => t.BaseName) + .Where(n => n is not null) + .ToHashSet(StringComparer.Ordinal)!; + + var existing = types.Select(t => t.Name).ToHashSet(StringComparer.Ordinal); + + var leaves = types + .Where(t => !t.IsAbstract && bases.Contains(t.Name)) + .Select(t => t.Name + ConcreteBaseLeafSuffix) + .Where(name => !existing.Contains(name)) + .Select(name => new AstType( + name, + name[..^ConcreteBaseLeafSuffix.Length], + IsAbstract: false, + Properties: [])) + .ToList(); + + return types.Concat(leaves).ToList(); + } + private static List DropRedundantPresenceFlags(List types) { return types.Select(type => @@ -550,6 +593,18 @@ private static bool IsEnum(Type type) } } + private static bool IsGeneric(Type type) + { + try + { + return type.IsGenericTypeDefinition || type.ContainsGenericParameters; + } + catch + { + return false; + } + } + /// /// compares against runtime types and so does not /// work inside a MetadataLoadContext; match on the generic definition instead. diff --git a/xpp/extractor/Xpp.SchemaGenerator/Inflection.cs b/xpp/extractor/Xpp.SchemaGenerator/Inflection.cs new file mode 100644 index 000000000000..f99794b33c1e --- /dev/null +++ b/xpp/extractor/Xpp.SchemaGenerator/Inflection.cs @@ -0,0 +1,85 @@ +using System.Text; +using System.Text.RegularExpressions; + +namespace Xpp.SchemaGenerator; + +/// +/// The subset of the Python inflection package's behaviour that misc/codegen +/// relies on when deriving dbscheme table names. +/// +/// +/// Table names are produced by inflection.tableize, so the TRAP writer has to agree with +/// it exactly. Rather than trust this reimplementation, the generator validates every name it +/// produces against the committed dbscheme and fails if one is missing. +/// +public static partial class Inflection +{ + private static readonly (Regex Pattern, string Replacement)[] PluralRules = + [ + (MakeRegex("(quiz)$"), "$1zes"), + (MakeRegex("^(oxen)$"), "$1"), + (MakeRegex("^(ox)$"), "$1en"), + (MakeRegex("(m|l)ouse$"), "$1ice"), + (MakeRegex("(matr|vert|ind)(?:ix|ex)$"), "$1ices"), + (MakeRegex("(x|ch|ss|sh)$"), "$1es"), + (MakeRegex("([^aeiouy]|qu)y$"), "$1ies"), + (MakeRegex("(hive)$"), "$1s"), + (MakeRegex("(?:([^f])fe|([lr])f)$"), "$1$2ves"), + (MakeRegex("sis$"), "ses"), + (MakeRegex("([ti])um$"), "$1a"), + (MakeRegex("(buffal|tomat)o$"), "$1oes"), + (MakeRegex("(bu)s$"), "$1ses"), + (MakeRegex("(alias|status)$"), "$1es"), + (MakeRegex("(octop|vir)us$"), "$1i"), + (MakeRegex("(ax|test)is$"), "$1es"), + (MakeRegex("s$"), "s"), + (MakeRegex("$"), "s"), + ]; + + private static Regex MakeRegex(string pattern) => + new(pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled); + + /// Pluralises a lower_snake_case word, matching inflection.pluralize. + public static string Pluralize(string word) + { + if (word.Length == 0) + return word; + + // `inflection` scans its rule list in order and applies the first match, so the specific + // rules must be tried before the catch-all that simply appends "s". + foreach (var (pattern, replacement) in PluralRules) + { + if (pattern.IsMatch(word)) + return pattern.Replace(word, replacement, 1); + } + + return word; + } + + /// Converts a CLR PascalCase identifier to snake_case, matching underscore. + public static string Underscore(string name) + { + var builder = new StringBuilder(name.Length + 8); + for (var i = 0; i < name.Length; i++) + { + var c = name[i]; + if (char.IsUpper(c)) + { + var previousIsLower = i > 0 && !char.IsUpper(name[i - 1]) && name[i - 1] != '_'; + var nextIsLower = i + 1 < name.Length && char.IsLower(name[i + 1]); + if (i > 0 && (previousIsLower || (char.IsUpper(name[i - 1]) && nextIsLower))) + builder.Append('_'); + builder.Append(char.ToLowerInvariant(c)); + } + else + { + builder.Append(c); + } + } + + return builder.ToString(); + } + + /// Equivalent of inflection.tableize: underscore, then pluralise. + public static string Tableize(string name) => Pluralize(Underscore(name)); +} diff --git a/xpp/extractor/Xpp.SchemaGenerator/Program.cs b/xpp/extractor/Xpp.SchemaGenerator/Program.cs index 7fe579d6454f..3db130d5d511 100644 --- a/xpp/extractor/Xpp.SchemaGenerator/Program.cs +++ b/xpp/extractor/Xpp.SchemaGenerator/Program.cs @@ -65,7 +65,44 @@ Console.Write(SchemaWriter.RenderReport(model)); return 0; + case "trap": + var dbscheme = positional.Count > 1 + ? positional[1] + : Path.Combine(Directory.GetCurrentDirectory(), "ql", "lib", "xpp.dbscheme"); + + if (!File.Exists(dbscheme)) + { + Console.Error.WriteLine($"dbscheme not found: {dbscheme}"); + Console.Error.WriteLine("Generate it first, then rerun; the TRAP writer is checked against it."); + return 2; + } + + var tables = TrapEmitterWriter.ReadDbschemeTables(dbscheme); + string emitter; + try + { + emitter = TrapEmitterWriter.Render(model, tables); + } + catch (InvalidOperationException e) + { + Console.Error.WriteLine(e.Message); + return 1; + } + + if (output is null) + { + Console.Write(emitter); + } + else + { + Directory.CreateDirectory(Path.GetDirectoryName(Path.GetFullPath(output))!); + File.WriteAllText(output, emitter); + Console.Error.WriteLine($"wrote TRAP emitter to {output}, validated against {tables.Count} relations"); + } + + return 0; + default: - Console.Error.WriteLine($"Unknown command '{command}'. Expected 'schema' or 'report'."); + Console.Error.WriteLine($"Unknown command '{command}'. Expected 'schema', 'trap' or 'report'."); return 2; } diff --git a/xpp/extractor/Xpp.SchemaGenerator/TrapEmitterWriter.cs b/xpp/extractor/Xpp.SchemaGenerator/TrapEmitterWriter.cs new file mode 100644 index 000000000000..a41153cf9743 --- /dev/null +++ b/xpp/extractor/Xpp.SchemaGenerator/TrapEmitterWriter.cs @@ -0,0 +1,318 @@ +using System.Text; +using System.Text.RegularExpressions; + +namespace Xpp.SchemaGenerator; + +/// +/// Emits the C# that writes TRAP tuples for a parsed X++ AST. +/// +/// +/// The relation names are derived with so they match what +/// misc/codegen put in the dbscheme. Every derived name is checked against the committed +/// dbscheme before anything is written, so a divergence fails the build rather than producing a +/// database that silently drops tuples. +/// +public static partial class TrapEmitterWriter +{ + private const string AstNamespace = CompilerPackage.AstNamespace; + + [GeneratedRegex(@"^([a-z_][a-z0-9_]*)\(", RegexOptions.Multiline)] + private static partial Regex TableDeclaration(); + + /// Table names declared by the generated dbscheme. + public static HashSet ReadDbschemeTables(string dbschemePath) + { + var text = File.ReadAllText(dbschemePath); + return TableDeclaration().Matches(text) + .Select(m => m.Groups[1].Value) + .ToHashSet(StringComparer.Ordinal); + } + + private static string ClassTable(AstType type) => Inflection.Tableize(type.Name); + + private static string PropertyTable(AstType type, AstProperty property) + { + if (property.TableName is not null) + return property.TableName; + + var qualified = $"{type.Name}_{property.SchemaName}"; + + // Predicate tables hold no value column, and the generator names them with `underscore` + // rather than `tableize`, so they are not pluralised. + return property.Kind == PropertyKind.Boolean + ? Inflection.Underscore(qualified) + : Inflection.Tableize(qualified); + } + + public static string Render(AstModel model, HashSet dbschemeTables) + { + var byName = model.Types.ToDictionary(t => t.Name, StringComparer.Ordinal); + var missing = new List(); + + void Require(string table) + { + if (!dbschemeTables.Contains(table)) + missing.Add(table); + } + + // Only leaf classes get a binding table; everything else is a union in the dbscheme. + var bases = model.Types.Select(t => t.BaseName).Where(n => n is not null) + .ToHashSet(StringComparer.Ordinal)!; + var leaves = model.Types.Where(t => !bases.Contains(t.Name)).ToList(); + + var writer = new StringWriter(); + Header(writer); + + writer.WriteLine("internal static class AstTrapEmitter"); + writer.WriteLine("{"); + + // Per-class emission of that class's own properties. + foreach (var type in model.Types.OrderBy(t => t.Name, StringComparer.Ordinal)) + { + if (type.Properties.Count == 0 || type.IsSynthetic) + continue; + + writer.WriteLine(); + writer.WriteLine($" private static void EmitOwn{type.Name}(ITrapFile trap, Label id, object node)"); + writer.WriteLine(" {"); + if (type.IsGeneric) + { + // An open generic class cannot be named, so bind its members late. + writer.WriteLine(" dynamic n = node;"); + } + else + { + writer.WriteLine($" var n = ({AstNamespace}.{type.Name})node;"); + } + + foreach (var property in type.Properties) + { + var table = PropertyTable(type, property); + Require(table); + EmitProperty(writer, " ", table, property, byName); + } + + writer.WriteLine(" }"); + } + + // Synthetic tuple helpers. + foreach (var type in model.Types.Where(t => t.IsSynthetic) + .OrderBy(t => t.Name, StringComparer.Ordinal)) + { + var classTable = ClassTable(type); + Require(classTable); + + writer.WriteLine(); + writer.WriteLine($" private static Label Emit{type.Name}(ITrapFile trap, ITuple tuple)"); + writer.WriteLine(" {"); + writer.WriteLine(" var id = trap.FreshLabel();"); + writer.WriteLine($" trap.Tuple(\"{classTable}\", id);"); + foreach (var property in type.Properties) + { + var table = PropertyTable(type, property); + Require(table); + EmitTupleField(writer, " ", table, property, byName); + } + + writer.WriteLine(" return id;"); + writer.WriteLine(" }"); + } + + EmitDispatch(writer, model, byName, leaves, Require); + + writer.WriteLine("}"); + + if (missing.Count > 0) + { + throw new InvalidOperationException( + "the following relations are not declared in the dbscheme, so the TRAP writer " + + "and the dbscheme have diverged:" + Environment.NewLine + + string.Join(Environment.NewLine, missing.Distinct().OrderBy(x => x).Select(m => " " + m))); + } + + return writer.ToString(); + } + + private static void EmitDispatch( + StringWriter writer, AstModel model, Dictionary byName, + List leaves, Action require) + { + writer.WriteLine(); + writer.WriteLine(" /// "); + writer.WriteLine(" /// Writes every tuple describing , returning false when the"); + writer.WriteLine(" /// node's type is not part of the generated schema."); + writer.WriteLine(" /// "); + writer.WriteLine(" public static bool Emit(ITrapFile trap, Label id, object node)"); + writer.WriteLine(" {"); + writer.WriteLine(" // Dispatch on the exact runtime type: C# type patterns also match subclasses,"); + writer.WriteLine(" // which would bind a node to an ancestor's table."); + writer.WriteLine(" switch (node.GetType().FullName)"); + writer.WriteLine(" {"); + + foreach (var leaf in leaves.Where(l => !l.IsSynthetic && !l.IsGeneric) + .OrderBy(l => l.Name, StringComparer.Ordinal)) + { + // A generated `...Internal` leaf stands in for its instantiable base class. + var runtimeName = leaf.Name.EndsWith(AstModel.ConcreteBaseLeafSuffix, StringComparison.Ordinal) && + byName.ContainsKey(leaf.Name[..^AstModel.ConcreteBaseLeafSuffix.Length]) + ? leaf.Name[..^AstModel.ConcreteBaseLeafSuffix.Length] + : leaf.Name; + + var classTable = ClassTable(leaf); + require(classTable); + + writer.WriteLine($" case \"{AstNamespace}.{runtimeName}\":"); + writer.WriteLine($" trap.Tuple(\"{classTable}\", id);"); + + foreach (var ancestor in Ancestry(leaf, byName)) + { + if (ancestor.Properties.Count > 0) + writer.WriteLine($" EmitOwn{ancestor.Name}(trap, id, node);"); + } + + writer.WriteLine(" return true;"); + } + + writer.WriteLine(" default:"); + writer.WriteLine(" return false;"); + writer.WriteLine(" }"); + writer.WriteLine(" }"); + } + + /// The class itself and its ancestors, outermost first. + private static List Ancestry(AstType type, Dictionary byName) + { + var chain = new List(); + var current = type; + var seen = new HashSet(StringComparer.Ordinal); + while (current is not null && seen.Add(current.Name)) + { + chain.Add(current); + current = current.BaseName is not null && byName.TryGetValue(current.BaseName, out var b) + ? b + : null; + } + + chain.Reverse(); + return chain; + } + + private static void EmitProperty( + StringWriter writer, string indent, string table, AstProperty property, + Dictionary byName) + { + var access = $"n.{property.ClrName}"; + EmitValue(writer, indent, table, property, access, byName); + } + + private static void EmitTupleField( + StringWriter writer, string indent, string table, AstProperty property, + Dictionary byName) + { + // Synthetic properties are named Item1..ItemN after their tuple position. + var position = int.Parse(property.ClrName["Item".Length..]) - 1; + EmitValue(writer, indent, table, property, $"tuple[{position}]", byName); + } + + private static void EmitValue( + StringWriter writer, string indent, string table, AstProperty property, string access, + Dictionary byName) + { + switch (property.Kind) + { + case PropertyKind.Child when IsSynthetic(property, byName): + writer.WriteLine($"{indent}if ({access} is ITuple t_{property.SchemaName})"); + writer.WriteLine($"{indent} trap.Tuple(\"{table}\", id, Emit{property.TypeName}(trap, t_{property.SchemaName}));"); + break; + + case PropertyKind.Child: + writer.WriteLine($"{indent}if ({access} is {{ }} c_{property.SchemaName})"); + writer.WriteLine($"{indent} trap.Tuple(\"{table}\", id, trap.Label(c_{property.SchemaName}));"); + break; + + case PropertyKind.ChildList when IsSynthetic(property, byName): + Loop(writer, indent, access, property, + $"trap.Tuple(\"{table}\", id, i, Emit{property.TypeName}(trap, (ITuple)item));", + "ITuple"); + break; + + case PropertyKind.ChildList: + Loop(writer, indent, access, property, + $"trap.Tuple(\"{table}\", id, i, trap.Label(item));", + "object"); + break; + + case PropertyKind.String: + writer.WriteLine($"{indent}if ({access} is string s_{property.SchemaName})"); + writer.WriteLine($"{indent} trap.Tuple(\"{table}\", id, s_{property.SchemaName});"); + break; + + case PropertyKind.Boolean: + // Covers `bool`, `bool?` and the boxed value of a tuple slot. + writer.WriteLine($"{indent}if ({access} is true)"); + writer.WriteLine($"{indent} trap.Tuple(\"{table}\", id);"); + break; + + case PropertyKind.Int: + writer.WriteLine($"{indent}if ({access} is {{ }} v_{property.SchemaName})"); + writer.WriteLine($"{indent} trap.Tuple(\"{table}\", id, System.Convert.ToInt64(v_{property.SchemaName}));"); + break; + + case PropertyKind.Enum: + writer.WriteLine($"{indent}if ({access} is {{ }} e_{property.SchemaName})"); + writer.WriteLine($"{indent} trap.Tuple(\"{table}\", id, e_{property.SchemaName}.ToString());"); + break; + + case PropertyKind.StringList: + Loop(writer, indent, access, property, + $"trap.Tuple(\"{table}\", id, i, (string)item);", "string"); + break; + + case PropertyKind.IntList: + Loop(writer, indent, access, property, + $"trap.Tuple(\"{table}\", id, i, System.Convert.ToInt64(item));", "object"); + break; + + case PropertyKind.EnumList: + Loop(writer, indent, access, property, + $"trap.Tuple(\"{table}\", id, i, item.ToString());", "object"); + break; + } + } + + private static void Loop( + StringWriter writer, string indent, string access, AstProperty property, string body, + string _) + { + var seq = $"seq_{property.SchemaName}"; + writer.WriteLine($"{indent}if ({access} is System.Collections.IEnumerable {seq})"); + writer.WriteLine($"{indent}{{"); + writer.WriteLine($"{indent} var i = 0;"); + writer.WriteLine($"{indent} foreach (var item in {seq})"); + writer.WriteLine($"{indent} {{"); + writer.WriteLine($"{indent} if (item is null) continue;"); + writer.WriteLine($"{indent} {body}"); + writer.WriteLine($"{indent} i++;"); + writer.WriteLine($"{indent} }}"); + writer.WriteLine($"{indent}}}"); + } + + private static bool IsSynthetic(AstProperty property, Dictionary byName) => + property.TypeName is not null && + byName.TryGetValue(property.TypeName, out var t) && + t.IsSynthetic; + + private static void Header(StringWriter writer) + { + writer.WriteLine("// Generated by xpp/extractor/Xpp.SchemaGenerator, do not edit by hand."); + writer.WriteLine("//"); + writer.WriteLine("// Relation names are validated against xpp/ql/lib/xpp.dbscheme at generation time."); + writer.WriteLine("// Regenerate with `xpp/tools/generate-schema.sh`."); + writer.WriteLine(); + writer.WriteLine("using System.Runtime.CompilerServices;"); + writer.WriteLine("using Xpp.Extraction;"); + writer.WriteLine(); + writer.WriteLine("namespace Xpp.Extraction.Generated;"); + writer.WriteLine(); + } +} diff --git a/xpp/ql/.generated.list b/xpp/ql/.generated.list index cfc4f7193d5d..6c94be0c2f4a 100644 --- a/xpp/ql/.generated.list +++ b/xpp/ql/.generated.list @@ -21,6 +21,7 @@ lib/codeql/xpp/elements/AssignmentEventHandlerBase.qll 66db6ee48cd71eeddeecb04dd lib/codeql/xpp/elements/AssignmentEventHandlerClr.qll bda5f01e5fc052f4783a9f5bc552821f6257e488beeb8534f3c9029a98d5f9a1 910df9b2a745376b8b076d5950769fe5a7d91b8b441090cebc51b1cb365d73cd lib/codeql/xpp/elements/AssignmentEventHandlerInstance.qll 5ebf7f274714800b578cd8055a952506e7ff1457e007f96f563d2b3cc1ef0f85 7ada7409d0936fa0e4b3fa582fb6d86ef3b95256e2e84cb70a0e5a072aec866d lib/codeql/xpp/elements/AssignmentEventHandlerStatic.qll b8f1b1013357a93552a7ffdec2252b84ad8c87a12d16c325bdf485ce55732082 bb5053fb1679f389e17ad2bffe87f4505ee3ee5d9408d85c9cd2fafd6cc983b4 +lib/codeql/xpp/elements/AssignmentEventHandlerStaticInternal.qll 664135577c25abc8997f0b96c205c8e852e2a58eeabfc9f930dfcdc49bc8d25d 42b65c41660566fe38a1c7b74d6f2f26223569d83f2106cd7dc2dfa197425555 lib/codeql/xpp/elements/AssignmentSingleField.qll 225fc3727f1758bb5b6c6f1f0784fb70f1b0841b7981e18353cf65a06683fbd2 c3a7536a4afb9db0dc9c9f241189dab88681c5ce7b669b4ecc5930ea3ce6309f lib/codeql/xpp/elements/AssignmentStatement.qll bce7c66f085cae6ad34a122eef96d0825f23836d934e2b42c1b961cb12f92270 7f3c5eaec2442897c560c630855671b9ba88045a498b34cc6526537ced4bfe2a lib/codeql/xpp/elements/Ast.qll f6e1c68f19bd58d016123c8da3e6ee5af88ee4da0a0e01f990448a213134a6dd 2bda427c22627af377fd73afb48f566176c0d5ae60de36f9e3d3be154c6bfb59 @@ -95,7 +96,9 @@ lib/codeql/xpp/elements/ExpressionQualifier.qll 3d58b95a1c358d12a8ee11150ba59bb1 lib/codeql/xpp/elements/ExpressionStatement.qll de263c83bb7cef4a9f3d87b18feae0382b79bfa96fe220ec7c365a9c936ab90e 67ee508931b1a6d0852236ff3746de62e33aa5f766083c335f141618ea8f1045 lib/codeql/xpp/elements/FieldAssignment.qll dbf2655dac08be71a88260319d9c9e22baec8a81abb26e3077ab5e6e51a5ea09 351fd15b8aa252cf63cc1717d9b405bd4c15e833a75384a7975a43f4ed9bcd3e lib/codeql/xpp/elements/FieldDeclaration.qll 0be6a87a2b192631b96ec0e22bf75b6805b9415a54becc500f6cf891f4a3f236 ed9b78070c19971dd96270a6f7fca2a757328c9a33a6bd3570a794dcff9d5abb +lib/codeql/xpp/elements/FieldDeclarationInternal.qll dc77de41ad054cb20466b4dec96c7028fb0303449be6ab5a7e9c6f86f9000ed8 ff89f164844422e60873f409cad2600228712e25b5312a3b8ecf04236d3b41b1 lib/codeql/xpp/elements/FieldExpression.qll fed666d59f64328b0e3de9a5866890e70f047208e243fab34a24f506d163473c 40166f0d04f5696fccf4fe9c81046949d20c3bcc2860425f99d51cd668611288 +lib/codeql/xpp/elements/FieldExpressionInternal.qll 2b23ff18b991a69ebf5dd2c61a67a64ada939af2296f80ec5acadc9e7ef3ff8b f8c809cf4928ae600c45d58f40a5860f40680a71c957e4ecd9a7a29e10c9280f lib/codeql/xpp/elements/FieldSelection.qll 739d814b543882db5039d10711d1662462112e33e39a523952e4b316fde27fdb fe522a810c61d8f32a4a65812bdfb7ebfd3b615fece34ede1eae49b63a9c041d lib/codeql/xpp/elements/FieldSpecification.qll ab894802cf3eec8dd9154d9b1276174bfeef8f730400e5b3ae731686323d9fab 0fc63a8ecb4f4ccb8e66b724e020c5b3d30c0943731753eedcd4c10788a47e23 lib/codeql/xpp/elements/File.qll 1e8f1090a75119ff901726e1e17a26f3c9b7e08abbac571fcb40ea48da2fbabe e9450963f1dd433c276860dc1963efcd7ac5bc76f344ec31eb53c2b54e792d95 @@ -168,6 +171,7 @@ lib/codeql/xpp/elements/MoveCursorStatement.qll f79841eac15da37e9f06219f36a24966 lib/codeql/xpp/elements/MultiplyExpression.qll bc467d7e336743d1416aea48472dedbe86d1041f6c91c19fac688bdd82d7f319 8172a0f0c39ee5ef3380405e08833b21e0e80884b08b8646931f78e60a0b2928 lib/codeql/xpp/elements/NamedFieldReference.qll 1cc44c81c70442378937bb3054caaa8da0d37f7f70972c9d6dd3a0c3323439a6 b0f80fba4c4607998a3d9de30f8a613a519ff8437245a5466cdb63e6e3eeab1e lib/codeql/xpp/elements/NamedType.qll e7e609ee0c94163b6b4c58e0b010c6a9d33169209785c411de63731267966cce e2fb105ff0ddb85f62de090122b48b2a11123516c558ef1647912a052f21e7fb +lib/codeql/xpp/elements/NamedTypeInternal.qll 619f728af409d6ef6af29314595c3886f711e5d9d7c7cea389e1e2bc393ae321 1203b35fdf8b6d1870969f3b0d44a8045ad20d95d79d58e9e3cd598e08be2599 lib/codeql/xpp/elements/NewCall.qll bb559a16824413d66f8d65b2d0466c95933ba061fed3d70ea0e22325ecc19109 09ed1752ce08c4d6dd4279de1b29d49c1a56df8be5163961b6971488bf2d2817 lib/codeql/xpp/elements/NewClrArrayExpression.qll fdb41b7f3c7964623b669d7a13aaab7be6f2ab290aaae670bec9c748f7715a9a 86991703dbc8b3ceb625434606e2bee5622b8edb7a87b7f73dd7ef117a96ab9a lib/codeql/xpp/elements/NewClrCall.qll 9f5f8d7650977f4ab53d66d7d742b3487000968efad6a6f35928e0d7a7469700 e959d80a361e7f5932116048d279cbb2c888eea20c06810754d9b9c48c0333d2 @@ -214,6 +218,7 @@ lib/codeql/xpp/elements/SimpleField.qll 7c2ba9c0a8e15bff61baa10115727a1ec0216d68 lib/codeql/xpp/elements/SimpleInstanceName.qll 80682cba090bfeab1103e2f328e5ff59bdbceaf24880701ad03c7b6233707a39 b20e5da0809fc8d6023cc8cc2fe651c7309beec1d1829e6b21d091ce233b1b32 lib/codeql/xpp/elements/SimpleOrderElement.qll cd4154741691dae3bb52d09ac216c1b7c6500a84970209d3e98f2cb12797121a 6dcea64a00308250ac3ea82a9211d01e1c2fb4f6bbad0d66d16521378f658136 lib/codeql/xpp/elements/SimpleQualifier.qll a6f00a25d504f44a9d3682b6a59077e0a442ac96dfd99580bdb0046695e6c5a0 c1207bbc5c296a0fe19ce87556f9a74976c1c64c94820d8c58b0ed8eb454eaf9 +lib/codeql/xpp/elements/SimpleQualifierInternal.qll 4bfc62450068022bb9a2ccb1619080d5395748699fb7c3288282f15d3df4172f 8d8abf6bc64095fb0b2640d8265758e7f9b48c4f928c806d3f7fe57767ecdb15 lib/codeql/xpp/elements/Statement.qll 3fb242baade0c197c54bb3c543c160258e0ca49c69cccaa8b768e45fcbc4b1f5 a5482c995868edfce41bafaf65423ecd8e8f8e8fa30f6cf386d5de6287aa3ce7 lib/codeql/xpp/elements/StaticField.qll 4d89908c2f5210a80100f2fa14f37ed5052e687794544d5c9202e0bc6c3b1892 6415b05d6b0353760b5ad1dd2c183d2f5299b3281a834dec3e6b77e8b2e64356 lib/codeql/xpp/elements/StaticMethodCall.qll 003b2717553685bab765999a315f41f99b64465ceba22aeaab75976f1c7bd904 945c6d7e7c39e51e30e4cfae96f5fcb26fc353287dfc10dc59622b3fb4002502 @@ -222,6 +227,7 @@ lib/codeql/xpp/elements/StringAttributeLiteral.qll a8ada457b678d2b8e82fc9bcb6179 lib/codeql/xpp/elements/StringLengthType.qll ec45d95d82993d786e804a0a622fcd6b89da0f05d4de2c90377ea6de455270c1 622cfb8f835e221dbced0875083c4e3a9a56a365ec342755eefd4b92dec23e97 lib/codeql/xpp/elements/StringLiteralExpression.qll edbd98d6c0e1388852aee981aac2d0f5c849c2b4b11c6469aa6ced07c20c6e15 d687812c9f8c491b8107c533d5e6fda513cf31fbfbeb8b58bc4a49c99b0eaf73 lib/codeql/xpp/elements/StringType.qll 3528f13351a314c8f63baa385ac7305ca90212b786ff993d63d6f9792b601771 d992b4282cb5ff612ef738c70c177d2b382c41d8c27c9c6cb34ab9124246629e +lib/codeql/xpp/elements/StringTypeInternal.qll 8a235893d2a69378ad869b42d302bc5ef96b5c9597d4b086cc1289bcc1c50262 652414cc9cdb6680a8eca7488da31c9519a55989278e8d7d1f635591129d8b33 lib/codeql/xpp/elements/SubtractExpression.qll f9a47a8087ba3c8644b590f7081b19c608677e31adba820b94894ab3f4b0c3cd 6f8eee0c40018c2925b53102b6a5b6b27eb0777467640c8316dc535de30cea93 lib/codeql/xpp/elements/SumAggregateSelection.qll 46b37611aa7ad59e013a6e9d2b6da3047ad2ece8fdf9da8963ec05ad87888b3a f292ada68f9a533937ff4bbcbf500e9df8f0f72893f606521c67e3c40c8bea4b lib/codeql/xpp/elements/SuperCall.qll 5990c3a98933fe2221e6f621f7f11791a31d11ee1ffbc7dce3fa0a146999cac4 42ad5b46dddd19d1382d1ae3e86e1517eb1731911079996c424ddd669e4a31b2 @@ -250,6 +256,7 @@ lib/codeql/xpp/elements/ValidTimeStateDate.qll 41676af6a0a9697b1383463602f9c3b29 lib/codeql/xpp/elements/ValidTimeStateRange.qll 715b29ce1dadafec41882ed34eb630a99879e99b692e25443ad7268e1942d5b0 9884e5e6eb2f364f5e13a01d3b4ba63d91cd9ea4958566831eb308fc28a28bd1 lib/codeql/xpp/elements/VarType.qll b6ffc1acf19129016559b083a212eb8683f90500d4a0b61a2be24cc73dc8dd39 294ee1509f535707ce0ff226db41f4170456609e1151e4f2cebfdef0a53cfe4f lib/codeql/xpp/elements/VariableDeclaration.qll 0264cd7987d1568ff28a3c3369b6f0882f3a237a215c29dca691839ef14ab42c 80bb3a4249b6202546a22a4a0fd45690325c54098ae0887cc052f24056ca76d2 +lib/codeql/xpp/elements/VariableDeclarationInternal.qll 21a9be52d17b47f231e888a2109b6650bd309616574ced7b391308c7ac85be82 0f49b729a7a3dc5e005d05f6ddea4c2a5a272681ad212651b42a8f5eb4f69544 lib/codeql/xpp/elements/VoidType.qll e25a1fea11fa86f9ea5c4644c798ef25593d84189ca43234a316d38bc19a9e3b a7fa5e0d284cee12673882b386a7b254bee1081276965387f9121ab5e3a1a7ce lib/codeql/xpp/elements/WhileStatement.qll 8b4b8925ba630ed17f5ba7ae31351c5a273acf6f6dee2453e73e4ecb8d15f731 c5de0c2445002111dba6655a81886a4f5ed3e62e62a72b27208c25c04f77f232 lib/codeql/xpp/elements/XppTuple.qll 3b3cbc9d2d5ab228bd8e5afc893a852bde042009509ac0aed280299269c96ead 56cde522c3a823c019c2597471026a7cfec09f7140d5f538f288c3607f856e3f @@ -297,6 +304,8 @@ lib/codeql/xpp/elements/internal/AssignmentEventHandlerClrImpl.qll 1eb495f7f8344 lib/codeql/xpp/elements/internal/AssignmentEventHandlerInstanceConstructor.qll df122de64c6d97db49a31f02ff1afb4894a1e93089fe45a838fa7843ea1f35a4 32db3d982bd7824fa9a536df768f4774222bcc1a7bfc56cf23914586efeb249e lib/codeql/xpp/elements/internal/AssignmentEventHandlerInstanceImpl.qll 174effcf2057f95fb8298b82e22cac7b16e5de4ae7c3bc794a8bdd871f0ab781 4511f9144646d93be3ec82b0e601b6ef3c74f0772a95456ad2b4840a8a1b8484 lib/codeql/xpp/elements/internal/AssignmentEventHandlerStaticImpl.qll da0711ce6c7a8b8715f4cb67e87b9989b5045c0f6a603f73d7b5aec55a7632f1 306e349e4a8fc6374e2c67bc2fb9b7c1837f774c0e9aa5cf3788204f915fec81 +lib/codeql/xpp/elements/internal/AssignmentEventHandlerStaticInternalConstructor.qll 7bb50531c6a97fe49dc1a2160063233e4adda983c5876743b4bbc7e446d48a72 4626128e47a0fb59cae1a509a5e5c86daf6c1b96072d24d39c62795b14d51888 +lib/codeql/xpp/elements/internal/AssignmentEventHandlerStaticInternalImpl.qll b7dee92f4e904da92251cbed0298d6ceecc68450f411609dbdaf3277bc0aad0b cf2b3c76d315b9ac88f13dc4ab70312b0166880f2900d2845c05177e782198b4 lib/codeql/xpp/elements/internal/AssignmentSingleFieldImpl.qll 50dc79bb5a149d2936c1b699ac677e97863c6ccf3d0a60153468cd3d1f8819db 9d63f0b0666beb58c6716e178ea77690f944767ed973ec72426b3f84982fc1e2 lib/codeql/xpp/elements/internal/AssignmentStatementImpl.qll a4e05da120e89fd3d0e76aeac2a4b5188f40afa1196fb8733b761fca3fe85be3 be1b8856d399079cc4137342cc64ea59765d59da36c8dce55471e34af872d682 lib/codeql/xpp/elements/internal/AstImpl.qll d9e9512358dc580b8aae2dca65fe56cad3ef2077ab7134aeba03e160750bcaa6 5df9b27f41ff71752ab60a47b04629ba0faded3611b98435a8cbc5a3c15fdb07 @@ -425,7 +434,11 @@ lib/codeql/xpp/elements/internal/ExpressionStatementImpl.qll 7aa8273a33696540bd7 lib/codeql/xpp/elements/internal/FieldAssignmentConstructor.qll 8623ae0356d5aa0749f242371035aa2932ff40dbba9a45589b68287dabc2cd1d 9b7cd0f67ec17606c83fda975b26d782a45fe87d1fe7cd538ec7a3bcd8c6b7bc lib/codeql/xpp/elements/internal/FieldAssignmentImpl.qll 3342f6df98973f50f8f49ac324bf0b8fd8bb191e43de03884b42cb19d5daac98 14ec1c83ecf0195e496650317488f39c9cb1dac010967e8c5b608fbb01050108 lib/codeql/xpp/elements/internal/FieldDeclarationImpl.qll 802b0a218c7b0b6063e94db1d147f6a5130cdb7f28d4da1063f051532e374b66 98e57d8f06a5e4bdc5b408e84821db6066294ba65137ecdada2d79806e526a62 +lib/codeql/xpp/elements/internal/FieldDeclarationInternalConstructor.qll 83ab8db8b016b9c22aa4d28e758a434633f37e23a8a47473e93656eb34649130 dd308ac0b604d055f046c3b6cd6359794569d10fceab4459f1dd60595c0ef17f +lib/codeql/xpp/elements/internal/FieldDeclarationInternalImpl.qll a2dabc1d906c53b52b44f0742cc7d22de345da0c51da93de3d496118c60de19b 48de69f8152ca1843edb353d3466d507834897cfea8dc5c35e0660439458a8d6 lib/codeql/xpp/elements/internal/FieldExpressionImpl.qll 4dd02c59b16c1bee5c6673226f16fe2d6fb1dff41c0f686dc8b65490bd70e00f b0c92ae2827b8057a25c17f2bb8d6523c5fd7d93751bb66616f93b041564c2f6 +lib/codeql/xpp/elements/internal/FieldExpressionInternalConstructor.qll 1c97d43a62c187f315a773f45429e59f45cb0611d11f9ede4e574abd73f591dc 249ec1602691c74c1f06aa9ed54721a24e1550bebfb90a6c545600796a17093b +lib/codeql/xpp/elements/internal/FieldExpressionInternalImpl.qll c94a7cb72178ab822dacf21d9d3948b92e1e1b6c04693bb414995ace5d794075 50c56d34849c0f92d621197b76d1b36c82e1bcca3f3e63413be5fefe4c9a79fc lib/codeql/xpp/elements/internal/FieldSelectionConstructor.qll 11d7c713ab19f46ed0e785be97bf22c1790e00e28b48a4be62723d8136f35dc4 4b284ed972bcbb70beaee6c4f33e1abcb6cdc6afeb48f959c7f3d75520cda4fc lib/codeql/xpp/elements/internal/FieldSelectionImpl.qll 8de8b67cbd61792a72681dd0577cb9b9428e3c24142bca2499b5c288b691723c 0cc4880ae59a14a559328fde390da24fec86370c5a2439f1adcc59703af246eb lib/codeql/xpp/elements/internal/FieldSpecificationImpl.qll 7347a2eccd05f1fef2c589ce6961606a2c6b846efbb14e23c99d71a8412d13ae e10eeeff4e8fcb6fffaf41febbbcde52c8ec260bd092d29fd486e4b73eab5161 @@ -556,6 +569,8 @@ lib/codeql/xpp/elements/internal/MultiplyExpressionImpl.qll 89ccf711417a3ed3f648 lib/codeql/xpp/elements/internal/NamedFieldReferenceConstructor.qll 437b076ced8313cdea54f802dd993307bc4bc8f57e481f6ca61a7e658e4d6790 f1bcfc497505b132994f2aa080d4569edc331f688c9a1081a151c51c8c6ad5e8 lib/codeql/xpp/elements/internal/NamedFieldReferenceImpl.qll 58dd42e0beb3bb2fea62a975bf4da9ba7d86de049fdbe6cb6b10cddafd7e54b7 be872e0bb10531c10ff11ac71a5714a579d2e3af01492ecf16570e3e9963d3b6 lib/codeql/xpp/elements/internal/NamedTypeImpl.qll 0a2e0b9b4a8642d7a7fbddcd2af689778f1651b43758d0505e9b22551a5b5e3f a2f413a32aa71a8b095249619612f57409936eb914dc8b836df5732eaf17f157 +lib/codeql/xpp/elements/internal/NamedTypeInternalConstructor.qll 2d50e9ef9988e74de7d79aa335bdecb9fef979cd23c55c94999c79d96388ac52 b7a63a6651101dcf856f3714407b7820502a6db0353ba55ce6bd92052f83cb02 +lib/codeql/xpp/elements/internal/NamedTypeInternalImpl.qll d155b1437b59255ee38441cc313cd2c17421b272a91180304add4fea03cff681 e6eba11d185a623d1a060f92e83476f23c1e1adb0ac2742d220bd2326744d8da lib/codeql/xpp/elements/internal/NewCallConstructor.qll be6e792c00aa693f6d439c046f9393354e5697071207cd90cf01859b418d0fac 7026561cf3571eac693cac234c29b1e6d0b0b3e4534885c36508def0e1bb3542 lib/codeql/xpp/elements/internal/NewCallImpl.qll 4e9d15b37918a365d916a56e2f8913c812a4edb08793bef7952ff5679a5dfa03 4f1112ac45bd3bca69a751aa53d8289dc2c682a87f46c9d3c10fc74274df2ad2 lib/codeql/xpp/elements/internal/NewClrArrayExpressionConstructor.qll 3e11855315a300fa6876669e1a167541c5451015a0abc280d5db0e5c78c9223d e1461e7965d1ccd407fc96b00bcdbf7b5eb87dd23a0b9494193b17ea27faf7c9 @@ -642,6 +657,8 @@ lib/codeql/xpp/elements/internal/SimpleInstanceNameImpl.qll c7deb5f7aae311cfd4e2 lib/codeql/xpp/elements/internal/SimpleOrderElementConstructor.qll 31535392a1a98cd877809989dfaf350746be6946b6f20d6975d4e5945cb80c26 de134d9520fb40878f6a6bf61d686b5ff5b20797b60747b84b3b6fc9a5a80dcc lib/codeql/xpp/elements/internal/SimpleOrderElementImpl.qll 095f30f65dff4630d0f507397be234420071ac9d3bf8f800f71afa26a4d8bde3 08b1fac5fcdfce570ba2c3781cd1f526f09145562bb922f5967a63643257152b lib/codeql/xpp/elements/internal/SimpleQualifierImpl.qll ca4f8009475bce3a0fa80105bbfa434989357ecbd5564b63b1c95d44188cec10 23f4db732fedbbe602a50f12755c55f692f3767dfa58b99c171dd95ded4d5604 +lib/codeql/xpp/elements/internal/SimpleQualifierInternalConstructor.qll 8d9ad37c0d55c205e49dddf944efa973d99a8620e368e78970ea53cc7b5d3c4b 9170ee4404c5a569eef7779466d3919d0837a95a9d224dbf4d5dd84b9dba86f1 +lib/codeql/xpp/elements/internal/SimpleQualifierInternalImpl.qll ed43e1c7f4509ff3cc03705a8c5ada7561c92ba1c18ea53369eedd0673e3da88 d3ab133c20549fff327b06591e42e0a1b8f3515b27c33291f45dfb6b678db167 lib/codeql/xpp/elements/internal/StatementImpl.qll 84b8b116ea0baab406f4dc7339c79894529f3ec962ce2b29452d9dabdc9ad718 8f09b40b9df5b612cbf65bfc9cd948216a5404e12b203e8fefa14ace72baa801 lib/codeql/xpp/elements/internal/StaticFieldConstructor.qll 110912387bedef68516ccc23ea0b0f0e519a9d97158efdf9b62ec70623db3edd 4a1fd2a4f84c80210c4041ea9973be83f023285516ba5af28159924a7580b5a2 lib/codeql/xpp/elements/internal/StaticFieldImpl.qll 6ba4de2839a7c6a093dc507375faeddf6d635afd44de4cab6054e99904b858ef 023779dadbea77f1cf1ce782d33f8415376b5e8f9c2f32de6af14ca367610eb8 @@ -656,6 +673,8 @@ lib/codeql/xpp/elements/internal/StringLengthTypeImpl.qll 78c03ede9cae5663016619 lib/codeql/xpp/elements/internal/StringLiteralExpressionConstructor.qll e34d40353c5675d02e92001198301a19aacd1de9c79e7b81703baef0f4ec5c87 551210a8174bea341db56995fb7897cd447f38a887880b7e6571e64bf21c3b96 lib/codeql/xpp/elements/internal/StringLiteralExpressionImpl.qll e9ae2e834cc1504a3db368b434263aae5596edcbbb38aa9cc42c637d2fc112f1 7a1ee311eb61350cd629d5811c1f3bcc1967f361671f46cd1de64910e9ca3730 lib/codeql/xpp/elements/internal/StringTypeImpl.qll 26e09b74ca80ccccd91f79d58dc466520e4ac6dd8bb6c13b5e26458d2c5677a8 c050cb11f4c230ec073dfed89298e0d43e282f63c52638c8a3a96791459c74d4 +lib/codeql/xpp/elements/internal/StringTypeInternalConstructor.qll b438a68b2fb3ad7f2a47ed55b9982917351bb42d3f285618dc38fb0e8d9a12cf 3d50077687aa0c0e3e48fd49a874ca7a831cddd7d332497d1302002e4a160e43 +lib/codeql/xpp/elements/internal/StringTypeInternalImpl.qll be569196d485e1ebb214f34900f56434f08745dccbd996366710e4c43e871019 5d88a5d6c62c3fb312e9a68379b357dd29f3582212827d848f585aaddb004617 lib/codeql/xpp/elements/internal/SubtractExpressionConstructor.qll 0b904273d08e5d52b3fecb8a38c778742d2d292faa9c60e6a76803db5443a368 4058e603c6b674784921cbae48b77e0a85c79f8392c4a8ea15129d8e4b4b9ddb lib/codeql/xpp/elements/internal/SubtractExpressionImpl.qll cc36fa3f2f5700437ba87d465292aafac81d8131355a1e77a9bb62dccde2b0c8 7b58aa61657ff5f008c4de1fde976564d036a04a8d79e1017585781453777dfc lib/codeql/xpp/elements/internal/SumAggregateSelectionConstructor.qll f6e78c18558a330d2afaca00d195edc41a215159bbf9f4e9ac47283dfd5af417 fe799cb2444f7f27e1038e4f0cc1f4f346b71c7802ce52749a041403c8b97069 @@ -707,6 +726,8 @@ lib/codeql/xpp/elements/internal/ValidTimeStateRangeImpl.qll 05cce568bd04d79d779 lib/codeql/xpp/elements/internal/VarTypeConstructor.qll 0c5896cba8ccca081cf937cc925153944ce3bdedd27f5807119914fe7bc275ac 018f084bc2cc3211313edf4b542d2fa0937d0d111bf4d939b5870e4b4edfddb1 lib/codeql/xpp/elements/internal/VarTypeImpl.qll 42a2575d019c30d079693b6ff6e652d619cc858555e8a59270a65fea8ad10214 86446861a6977db6b03ae5457ecddd1e47e951155e790a45be5ea0166a32a7f6 lib/codeql/xpp/elements/internal/VariableDeclarationImpl.qll 688a7487a65a7f42c892d2068c437a94a8672d8fc83cac0a23cfc900ae966057 3f7867e09d21d1deccc350063046769effacd9b1b9a0d4f57b8244b4aacec64c +lib/codeql/xpp/elements/internal/VariableDeclarationInternalConstructor.qll 35648dad9a2edc3479935dd75277a192aec70625470a3ab4a46cbf4c9e15ae2f 4baef14d347153c0b900475300cf4804e6986a3f1e8a5d7ccacaea6832f8691e +lib/codeql/xpp/elements/internal/VariableDeclarationInternalImpl.qll f2f381b8e5ed23255a5fe659044b8f53218788b39767a64238c97687ec64341b ee4e10dff984dbfbb71f39eb61139fc365a6c22b134efcd80ec7f28ac39e4854 lib/codeql/xpp/elements/internal/VoidTypeConstructor.qll e9203ca925e5df786952a6b6ec8e875d283c73b832f082028260a716359f7736 31b450927af88c4640cd3d3989965be487c9db739beadab6930e0e1858941ef5 lib/codeql/xpp/elements/internal/VoidTypeImpl.qll 08283056892b61c79406d1f00f617e58bb5a62bbe0b3e047dcb33c8c34cc6389 d97c293370805e2e3f7e0bafde7f6d5c01f3bf09040159c8c0fe58fbe4c009f5 lib/codeql/xpp/elements/internal/WhileStatementConstructor.qll f07bd4d968bd5908c2ee2f155f867c9610d0ca58b8c9151a4213dd9c9d390327 d099a0da32f366703e8e9f5d613065a3e01e61d9432cf8382cafd9dcf19af564 @@ -738,6 +759,7 @@ lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerBase.qll 042a52 lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerClr.qll c32e00adadd45c0ea60bd9e27212d67dcd7b0bed93f951ede137d504237be299 ccb2ef3062f658f5c71315192e0970a8233da5aaa150f96d44a4b3b3c2bd67b7 lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerInstance.qll b660abbb46c730ad7c4a2132c939681c043fedd20aca8b25b889748bdd2afa72 90aa6189d696f0b00952eaf814114c7dfd23d6f73a016cfe08b44055b643715b lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerStatic.qll 8157b3297751a09cf9c873d2a61db3302a82db8fb826cf499fa5f0d3d4cc9a40 c1a22bc38e21d94c12cea7c7bb8b2ddaf8b1df7456c9e5a2be7c4c0ab0242e78 +lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerStaticInternal.qll 9c94a285c41eb4b2fa10a8b45dfcdf708d3b93de704474d037530cf6644ac6ed 4dbd44c6e06463d280388ecd1680a87fcbedb2a937a928e1d98b98d25b0bb9a1 lib/codeql/xpp/elements/internal/generated/AssignmentSingleField.qll 20bdca8e40ad0e22ade64945a6bffd0cc1ebd4dd5855bb38f9f2dceab74cf79f 513c0642cbbeae35964b4acf22d6181dd8c21751cb96ae97bd5c14c12bb3f5d3 lib/codeql/xpp/elements/internal/generated/AssignmentStatement.qll 6b4221595340b68aea7f765f1b36859a30019f89c27260294957925d42d1c664 7db8a7bb2d624efdf685090e69463b922d393707a56b80318106efb286e80f3b lib/codeql/xpp/elements/internal/generated/Ast.qll a1a7d5b0b458afa22f06916cbd740fdcc6731c4738590a77f04ac2f88ea4b088 c9aa12d6e07d89cb43ef8fdc76adc6f4f87d93a73f331150901bf9bb4bbdebab @@ -812,7 +834,9 @@ lib/codeql/xpp/elements/internal/generated/ExpressionQualifier.qll 8d426a9e72169 lib/codeql/xpp/elements/internal/generated/ExpressionStatement.qll a7913fe3db6f1f2db6b2672df4e091073d30fe3f19ae9bbbebdc577aa432a56b de5d9ace507d5b02df21531b53015736258fcd9cbf0129855cd1c56e98e0f6cc lib/codeql/xpp/elements/internal/generated/FieldAssignment.qll fa85036839fdf27505171ff937955f12983a84baf7d420db21bf22fe87be6a05 54f7c263590a61cc2729a52cdf7e5ba9e641f67544dd2ccf362f42d26fbe2836 lib/codeql/xpp/elements/internal/generated/FieldDeclaration.qll 9074fe2229bcb78434a4e22de0ba43f7f798ff6290dc62ae946990b0e8cb158f d42ef1ccc480bbe316928521e659a07d6c2697667ca2c7f96189e8e42eafc4fd +lib/codeql/xpp/elements/internal/generated/FieldDeclarationInternal.qll f742be21332caccd8c3d3b9f82c728700c83c164360314a7a2f03999e2dba1d1 3df596ea47204e10e99a275414fb9f26df7989ac7ea3ccad5df3fa994e80670c lib/codeql/xpp/elements/internal/generated/FieldExpression.qll e0700eb07d256ec104fac635103ffd94760f25f8ac9515c4ad415740b9d10d0d 71281fbf774cc080b960b5e7505776225c75581c09347445b7576477cf9c8207 +lib/codeql/xpp/elements/internal/generated/FieldExpressionInternal.qll abd20abb2504ebb04e76654118e62f08e55d71396817ce5b61939a599ee1af64 094b8ba5a2d2d41faffd78a5e7a845436e38d57a7a2efa0c9798a4f3c7263e05 lib/codeql/xpp/elements/internal/generated/FieldSelection.qll c3b42136c0a206de86a39ba70e6bc13c94a8149161dfe266738cfb932c1546de 723eb15f1f1fa29692d8519ab93541f53246c8e0da7639b11d09fd674886be36 lib/codeql/xpp/elements/internal/generated/FieldSpecification.qll 4ce8f04ff09a970e4e25ebe9cd83cc50ad2e4795f2e14e5c4d680da8b7532106 039220c885d3f72d53d21da58668bed85ca5c6c53f99fae516e8ca6f882493fb lib/codeql/xpp/elements/internal/generated/File.qll 5b513f0b5f01a795eea337aabb703fc8310d4627ed9fbc61471a2ef60c1438e0 8dd2a03cc2569320e7e9d1abcf6b32dd630b0c8dcdfa3fec2c19e612cffae0d0 @@ -885,6 +909,7 @@ lib/codeql/xpp/elements/internal/generated/MoveCursorStatement.qll 818691e1919aa lib/codeql/xpp/elements/internal/generated/MultiplyExpression.qll 9170c3a4d96c62597b9703a53e76715b6104300ad12e8bd5ccb56de5510dd060 33c0abcea9b6253f957c4254a18c31aa0105842cb1ccb6e215857a62d3fef719 lib/codeql/xpp/elements/internal/generated/NamedFieldReference.qll 2d23cbc40e442b2edd546dc764b8bce50058d731767a960739aa4b4fc4175c5d 0901dd8cfde4609e78a80a4704926b308c1e924de611845ee9ff716b548212d3 lib/codeql/xpp/elements/internal/generated/NamedType.qll 12d5e5d1d38c2fea83a68e52bb6d20a65e358f4943545667dc35aa1f5db5f775 ddc66b33cd0243796aa6ee2d50855e7d97790946d84b6a2e51bfaee9bf2f8339 +lib/codeql/xpp/elements/internal/generated/NamedTypeInternal.qll 0d33c7296e47091c54da61c434a2fe716f865867e72844a79e61391866298e7a 05b64ebcb73c77194403c5d4ff433e2b43948a1f81e0f497cb29da16bf029b3a lib/codeql/xpp/elements/internal/generated/NewCall.qll 7140a9f58b0e2f17cf7125b4ed4c3524ac2a0e09c711638409d04f827f16dc7e 153d94f32b627687b896128847755d8c6b08a2b9a7f039a0f7920ddac9f45b45 lib/codeql/xpp/elements/internal/generated/NewClrArrayExpression.qll 83e81466bcd3f57205b20e24b235e24b978bd8b75f335edd7753cd5e141d1eb6 dcdd960438f6aec0dcc6477a9c6910e1b2bdbdc0bea87355ad9326c4626d5871 lib/codeql/xpp/elements/internal/generated/NewClrCall.qll 4a91ca191c798955f30cd7449c3474f81824a29079c1534c96b6d3f94ba5e870 3943f328f205a047c121c84923e7da58bd43bff3a52d066a9de5181c40175db3 @@ -896,7 +921,7 @@ lib/codeql/xpp/elements/internal/generated/NumberedFieldReference.qll 6f0fc2021e lib/codeql/xpp/elements/internal/generated/OrExpression.qll c19f2e4612a7732a1d59d84ca1dac75cd902ae3f7e4c9b8971ac9fbb06228b04 db019604ef256655aa77acddf91d228cc3476aaa59ff5a70f8f92567a0604a6f lib/codeql/xpp/elements/internal/generated/OrderElement.qll b333f68b344f489db1555582af7594baac5aabb868cc043e89dfe4f63fa783fc 741c88f6f6ccf13afcb6d7895a922f1e765b3c513f23d456924d19306003125b lib/codeql/xpp/elements/internal/generated/ParameterDeclaration.qll 474a4b818de809962ae79c1b41c12bcb2c7680fddc62240d5d4e717ce1fe5431 6401a802d23fa0ccc1a297236da1c7158d239e1d62b9a1444355097a7fd44159 -lib/codeql/xpp/elements/internal/generated/ParentChild.qll eecc0902a65223501072b5dcb34cd7df7d0b01830ced3633cd1f13dd42307150 6e160afb6613b95aac085dc03db2d8a9b388db258950995254a55d345dd88301 +lib/codeql/xpp/elements/internal/generated/ParentChild.qll 91d64a93ea85996bc3934868701e74691a66a2a3067e4e94748f4c6dae11447d 7572296ae76dd7d4257287a4850aede61ffbc5f8b96c73cbc883a7d41b24acbe lib/codeql/xpp/elements/internal/generated/PhysicalAndExpression.qll 26a9758d670ef5c0cf06b12cb6942ca6fb00f5d9db6c5537dabcba9133b6efca 0d1a5091a5b1e70a0484e28d2def4cc1aa265fa3f053a066538a828d3966a4c4 lib/codeql/xpp/elements/internal/generated/PhysicalNotExpression.qll 0603caca232f3c9079ff0ed74bb690bf152b149de6da8a73f356acbe7d064a14 c38194e41a04c523dc3800d90e3ede87618d6e18104a83c55867f54d44f352b8 lib/codeql/xpp/elements/internal/generated/PhysicalOrExpression.qll c83c2128d7739543e1bd1c94b20998fc5b29ac9f791d0b7b189e4d20d723529c 8f21100dbc5386ac7527f6a809a8064c94ad7b784a3af8f00e4f42e38cf20f3e @@ -920,7 +945,7 @@ lib/codeql/xpp/elements/internal/generated/QueryDataSourceHaving.qll ef6d7ae383e lib/codeql/xpp/elements/internal/generated/QueryDataSourceRange.qll 08c760d747598f53544fc966103035df8281ea7acc82b51faf3de30038e605f1 c5a9d66105e5aa285e7f15745570e550e9fdc8fd8fd88e987d938dfe47ac9a18 lib/codeql/xpp/elements/internal/generated/QueryDataSourceRelation.qll 63b2340e4b4eecde1e6441604d66fb3b009a0151e11d0d406623d218d0f98399 be6a885094b874c7c88bbf2e4f11b7848f6d9c908b0e3a95c9e40b85e4eb2d31 lib/codeql/xpp/elements/internal/generated/QueryModelElement.qll 2a0aaf5a2e6ac7793c7cf360f7300759e874d9c3406d8511cfb51c4fddd83bd0 e0d21cf0c3026c1b69cfebd9a68ac24cf8f98f858cd0a5b9f85a95cf88bca20f -lib/codeql/xpp/elements/internal/generated/Raw.qll 14bd15c1470400bd93dd031a9fadfa6f18e2c64b0be62d90b3f0411512ab6e2f 695cb9a9a60be558b618fdc7f0c6cfebeeaf82197990ddb88beb4c4658060341 +lib/codeql/xpp/elements/internal/generated/Raw.qll 5e3addfa51975a15b88e4f3c1958ed6093aa97359c06d388c554d0c93422b914 8130aacb9ee340558625c8104425a80850c7ae97bed1384f5bc8a9f213a6c81f lib/codeql/xpp/elements/internal/generated/RealLiteralExpression.qll 4a4a8bf57cb40372c704386984644ab265d4714ccf64ad40dfd8e619aba04fbf 22d61d4adfaaafbe8470f2269491cc0b9af6c2b04ee5dbd816f67cc4ea863fd3 lib/codeql/xpp/elements/internal/generated/RelationalExpression.qll 19d8251ad45c4bc92b55c854c5b2371c6d3a9013f4fa1e2d8438106e05d03b7f 6544ceb88a650841cf6f6b460148f8aff27dbf344236ab28301f254089fa6440 lib/codeql/xpp/elements/internal/generated/RetryStatement.qll f2fd95952429d5c52eac6c8e342c7e2d971a73d51d14e011e644883fc0b8a14e 7f28dfca90dcfc9b6ad3a1d06e1b31495b0879ea5974227b3ed2d67e9d1e6619 @@ -934,6 +959,7 @@ lib/codeql/xpp/elements/internal/generated/SimpleField.qll 04f096ba9cebd63f5b578 lib/codeql/xpp/elements/internal/generated/SimpleInstanceName.qll 6dcd64087aa734ea62982390df8ee98131db7275b2eed9ebf526dae45a38cf4d 2e33ef8fa2710858c378f9808eb33917cd8d76c36569f68d18a9a63b8699e85d lib/codeql/xpp/elements/internal/generated/SimpleOrderElement.qll bdbd2727e9f1b15f59abe72b2ed793e995c19ae11f38358b81171ebc1d2286e2 05924c72389528727a881e594df4765cecd910753f1a14ed94d2ddf71563f534 lib/codeql/xpp/elements/internal/generated/SimpleQualifier.qll bedea3d244167be5315dc7dc5e04087b536ceacde003e3f059961f5f878c2138 85c9e6ddf8d7f806eca905fa5610cbf079a6108e5953814848a40c1eaa407995 +lib/codeql/xpp/elements/internal/generated/SimpleQualifierInternal.qll 37681e1b410fc728328630644545b50cbcd67bb84a2347f6c834bf0ead5bfa48 60bda080232ceb871c149c548dbfa133afc091f1f1b36a464a9a7505eec3f9f6 lib/codeql/xpp/elements/internal/generated/Statement.qll 390114da942b2e9121dc7d7269be950385e7db1402b45a736f5d840933cae8b1 62407f98f06641324a6f3cd3b21758ba382b8fda5b1dbfc50568e5f55f4928ee lib/codeql/xpp/elements/internal/generated/StaticField.qll f80b7ea1609f2b108c127d27a1ab9e153afc18f07d0ccd8c6eac29b32a864078 378e529fb2bf3f9407aad0cf77b2e74768efd6c67ae3d53acab0c90b82af731c lib/codeql/xpp/elements/internal/generated/StaticMethodCall.qll a25f0a4efaf0c2d675503e3d69648a8409406851876f19fe44c965549e344fc1 d687014c5fe2d008ddf367a53bf2796b689c3045597fb16252277dd6f2558c08 @@ -942,14 +968,15 @@ lib/codeql/xpp/elements/internal/generated/StringAttributeLiteral.qll 6f1a020f6c lib/codeql/xpp/elements/internal/generated/StringLengthType.qll f1757366be8e7a816379b8cf737074973829c2c3f3a4802d68dbc50f39b45a42 f5d72ffd8532e3e3c61e326a3d6b356126f74da41a5e5e03962ee0cf01f29dfc lib/codeql/xpp/elements/internal/generated/StringLiteralExpression.qll de2896ef982e76c43aa6e88a2f2809822f76f888102d9908b6f217f69517edbc ecdc0a9ff28d3c9905f1d8cc14e23854cd3a6b725faee943891455ecff24d12e lib/codeql/xpp/elements/internal/generated/StringType.qll 12d0e80d4eca6f1dff90349207d06108d726dd512445b1bd03e165d2661ad03d ddb578d51e9cc460b92438927f99f889ff7fa4905652b5ee3e544e8fc4dc41e4 +lib/codeql/xpp/elements/internal/generated/StringTypeInternal.qll 1460ed589f11979c2d034803b46264ef0d8e375ea09db24310412372dde3b63b 1ed9a7da3fd822bbff1f272e1e71d26dea68805ebd789bc7a0769d47a2412bcf lib/codeql/xpp/elements/internal/generated/SubtractExpression.qll 81c6e729831d852eb06aa19c1b6da74503f1ecedcaf57561c93f3c8a97805da6 dc4f6baa94908e3cfe96694f8d8888c89a5cb03c5e08ee7a69b7cf51e663c974 lib/codeql/xpp/elements/internal/generated/SumAggregateSelection.qll 92ca9276b57de73f0cf6d1e7e2ad42a5ecec9d71ae4c26643b5b3b1b0cf7f014 0cf74fd0f081902aad36379d10a8e08c3ab2a1a6c6251be1e404b8d470974784 lib/codeql/xpp/elements/internal/generated/SuperCall.qll 0aeaea016f37b910f9c661352d3eefa482513ab607fbcdd65b919e450d3c0ff6 6deaea16218e3beff1c9f9f97c2b30a873c864a7cbeb109995f542717b88baa2 lib/codeql/xpp/elements/internal/generated/SwitchCase.qll 052f113fda901605886f90b45e2993e7ee278c4005f5afe84a7a1f87aa877922 4c704e1370f217f62539a81cefacbaa7cb4d8b7730b6969a7ac7ea737979285e lib/codeql/xpp/elements/internal/generated/SwitchStatement.qll 6bbfcd139a4f5fc3f25dcccb70a82ad7961a860a5ef7445a5f643ce1406dd572 b9922e132ee656483f77654d5a75053eceff3e6ba433a2bc3bb541d7633b6adf lib/codeql/xpp/elements/internal/generated/SwitchStatementCaseEntry.qll 7d28ea064307e3ed9f40e96869f999f81c4f1cdff77007b0ab1d557c54f9d6b1 50ad258878c8a6251ba6e9c093e93205fdeabaa853b300657aef6237175a79a5 -lib/codeql/xpp/elements/internal/generated/Synth.qll 131bf1f09f24f138615c75ecbb6440ff01bbb62dbbc1753faec9e8b380109fa0 3a8ad25a9aeff885a66547a778938fa04584f9d7190ce10ae0c0f10895b6b32d -lib/codeql/xpp/elements/internal/generated/SynthConstructors.qll a16e2be6d7ab76b6ca8fb84b34f728100cc4bc37c8d010ace2f2aaa0d88c021b a16e2be6d7ab76b6ca8fb84b34f728100cc4bc37c8d010ace2f2aaa0d88c021b +lib/codeql/xpp/elements/internal/generated/Synth.qll b71dc17f63fdc4570f67581013a05553206f5ab9838dd463a5907c97c91233e8 7059ec3466825d93d0041f71ce095b5ac7379428b8bb4826f9ba8219a574083f +lib/codeql/xpp/elements/internal/generated/SynthConstructors.qll b377fdb4c6c8c31b8e791fbd2482371910a8882bb80cabbcc32aa9906290537d b377fdb4c6c8c31b8e791fbd2482371910a8882bb80cabbcc32aa9906290537d lib/codeql/xpp/elements/internal/generated/Table.qll 1e3376ee01c0259099544568d5316cfc3a7239c2e88dccfe20025e9b5c042ce2 05d0e0c8859d6aa0c4fd0115e75a75e516dfb3d68c644ea59efcd159c59fea44 lib/codeql/xpp/elements/internal/generated/TableFieldDeclaration.qll d7bd93bd1761fd5df2d7580c570ef5967da21d7841dc2ba73f68a853c70d87c7 de4931a5ee93bff9651fd24630df1024f3dd500c3233b58e9ee8e64fd4126a54 lib/codeql/xpp/elements/internal/generated/TableFieldReference.qll 3c37b94cec02107719d47b057a61fb5e5aa43e8b192661a5828b1eab19bb2d23 3d3961c3264d4c261dfb76b2f67e3d3611aabb66b7acb139b729c8ca41950c5c @@ -972,12 +999,13 @@ lib/codeql/xpp/elements/internal/generated/ValidTimeStateDate.qll 13baed14f37795 lib/codeql/xpp/elements/internal/generated/ValidTimeStateRange.qll 62a01a325c0c5c8e1cbeabab5eee83beb06d4b364a9da08b82d6a16dddaabd77 bf8dc20cd5c4ef423ef58c105df2bc1615c7a49aa8e704f606b45246a5f6caac lib/codeql/xpp/elements/internal/generated/VarType.qll 073ea80c072d68eac5b0954bc14fb435443e327ae2f42adeba59bc4c5679a277 1390230f3145731955a80b7570d6225d0ea2abb037fe0a88110a8776ab799739 lib/codeql/xpp/elements/internal/generated/VariableDeclaration.qll 50726ce5adcf3d5b1f3316d0722f8efbdfbfc215126893290bba392b37da162a 940e868f7f3e2ebea766e26b0a7dbb75d385d35dd17ec82c2239262a96451d61 +lib/codeql/xpp/elements/internal/generated/VariableDeclarationInternal.qll f88e102c456bba7bde9beb6edfdfcefee962bde149a0567f2d6066af37d0f83d e8ffbdca4682684a7e869dd1fd3382d68e604c889e5e00770b31be5ad6476e6f lib/codeql/xpp/elements/internal/generated/VoidType.qll f453472498be3527c30f190589e6915eaba5465414ec1c90a4317d7e7d1ed09d 19bf9d0a3900768f69ab9e7d6e3451caa3ecaee7fdd6e5327a116a93f51d9305 lib/codeql/xpp/elements/internal/generated/WhileStatement.qll 98ffe155f2d02b2a7b6f3ee2cf512fef84bfc01cd631ae5e073168fa6013d22f 9436e341ecae7e8ba77054746ac36ae03a66aa78aa4c58a3f8cb9da4ae150e11 lib/codeql/xpp/elements/internal/generated/XppTuple.qll 472d1e0944dd1b1231e843476162aff69f92b7f93f2f53c063b46d86c4d2bb8d 7b2370d27c48e334b144dec5d51e59649c9ee5c6975a482cf71351347e09719e lib/codeql/xpp/elements/internal/generated/XppType.qll fd96e9da05bbe8586cd834da08599886d2d0a2e43800402606af540f36742c17 4b5bd76207fd37efd3ac99e5e30684774abe96e2661209aa12a49a87f4c0784c lib/codeql/xpp/elements/internal/generated/XppTypeCompilationUnit.qll 761216a7c949cf9544fd16bda4f0345b789d07a52df35940cbd98a1412bc1882 161447d4aa77395b1fce20f699ea9fb71ae91397e881450d055d43f7afacd170 -lib/codeql/xpp/elements.qll 22effb9120f12ed7720f86feab5fd95154081afb672d6a8f05d141b95001a830 22effb9120f12ed7720f86feab5fd95154081afb672d6a8f05d141b95001a830 +lib/codeql/xpp/elements.qll 075fc23da5b920bcabe99643f231df49286456f6bfb3e71b6b01f12a9c8fa7c4 075fc23da5b920bcabe99643f231df49286456f6bfb3e71b6b01f12a9c8fa7c4 test/extractor-tests/generated/AddExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/AllFieldsSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/AndExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 @@ -997,6 +1025,7 @@ test/extractor-tests/generated/AssignPreDecrementStatement/MISSING_SOURCE.txt 9e test/extractor-tests/generated/AssignPreIncrementStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/AssignmentEventHandlerClr/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/AssignmentEventHandlerInstance/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/AssignmentEventHandlerStaticInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/Attribute/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/AttributeExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/AttributeList/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 @@ -1052,6 +1081,8 @@ test/extractor-tests/generated/ExpressionCompilationUnit/MISSING_SOURCE.txt 9e85 test/extractor-tests/generated/ExpressionQualifier/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/ExpressionStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/FieldAssignment/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/FieldDeclarationInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/FieldExpressionInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/FieldSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/File/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/FindStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 @@ -1109,6 +1140,7 @@ test/extractor-tests/generated/Modifier/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a test/extractor-tests/generated/MoveCursorStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/MultiplyExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/NamedFieldReference/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/NamedTypeInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/NewCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/NewClrArrayExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/NewClrCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 @@ -1149,12 +1181,14 @@ test/extractor-tests/generated/ShiftRightExpression/MISSING_SOURCE.txt 9e853e0f3 test/extractor-tests/generated/SimpleField/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/SimpleInstanceName/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/SimpleOrderElement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/SimpleQualifierInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/StaticField/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/StaticMethodCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/StaticQualifier/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/StringAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/StringLengthType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/StringLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/StringTypeInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/SubtractExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/SumAggregateSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/SuperCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 @@ -1177,6 +1211,7 @@ test/extractor-tests/generated/UsingStatement/MISSING_SOURCE.txt 9e853e0f3fa6698 test/extractor-tests/generated/ValidTimeStateDate/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/ValidTimeStateRange/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/VarType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +test/extractor-tests/generated/VariableDeclarationInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/VoidType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/WhileStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 test/extractor-tests/generated/XppTypeCompilationUnit/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 diff --git a/xpp/ql/.gitattributes b/xpp/ql/.gitattributes index 1dcd0eed15d5..7a253127ca82 100644 --- a/xpp/ql/.gitattributes +++ b/xpp/ql/.gitattributes @@ -23,6 +23,7 @@ /lib/codeql/xpp/elements/AssignmentEventHandlerClr.qll linguist-generated /lib/codeql/xpp/elements/AssignmentEventHandlerInstance.qll linguist-generated /lib/codeql/xpp/elements/AssignmentEventHandlerStatic.qll linguist-generated +/lib/codeql/xpp/elements/AssignmentEventHandlerStaticInternal.qll linguist-generated /lib/codeql/xpp/elements/AssignmentSingleField.qll linguist-generated /lib/codeql/xpp/elements/AssignmentStatement.qll linguist-generated /lib/codeql/xpp/elements/Ast.qll linguist-generated @@ -97,7 +98,9 @@ /lib/codeql/xpp/elements/ExpressionStatement.qll linguist-generated /lib/codeql/xpp/elements/FieldAssignment.qll linguist-generated /lib/codeql/xpp/elements/FieldDeclaration.qll linguist-generated +/lib/codeql/xpp/elements/FieldDeclarationInternal.qll linguist-generated /lib/codeql/xpp/elements/FieldExpression.qll linguist-generated +/lib/codeql/xpp/elements/FieldExpressionInternal.qll linguist-generated /lib/codeql/xpp/elements/FieldSelection.qll linguist-generated /lib/codeql/xpp/elements/FieldSpecification.qll linguist-generated /lib/codeql/xpp/elements/File.qll linguist-generated @@ -170,6 +173,7 @@ /lib/codeql/xpp/elements/MultiplyExpression.qll linguist-generated /lib/codeql/xpp/elements/NamedFieldReference.qll linguist-generated /lib/codeql/xpp/elements/NamedType.qll linguist-generated +/lib/codeql/xpp/elements/NamedTypeInternal.qll linguist-generated /lib/codeql/xpp/elements/NewCall.qll linguist-generated /lib/codeql/xpp/elements/NewClrArrayExpression.qll linguist-generated /lib/codeql/xpp/elements/NewClrCall.qll linguist-generated @@ -216,6 +220,7 @@ /lib/codeql/xpp/elements/SimpleInstanceName.qll linguist-generated /lib/codeql/xpp/elements/SimpleOrderElement.qll linguist-generated /lib/codeql/xpp/elements/SimpleQualifier.qll linguist-generated +/lib/codeql/xpp/elements/SimpleQualifierInternal.qll linguist-generated /lib/codeql/xpp/elements/Statement.qll linguist-generated /lib/codeql/xpp/elements/StaticField.qll linguist-generated /lib/codeql/xpp/elements/StaticMethodCall.qll linguist-generated @@ -224,6 +229,7 @@ /lib/codeql/xpp/elements/StringLengthType.qll linguist-generated /lib/codeql/xpp/elements/StringLiteralExpression.qll linguist-generated /lib/codeql/xpp/elements/StringType.qll linguist-generated +/lib/codeql/xpp/elements/StringTypeInternal.qll linguist-generated /lib/codeql/xpp/elements/SubtractExpression.qll linguist-generated /lib/codeql/xpp/elements/SumAggregateSelection.qll linguist-generated /lib/codeql/xpp/elements/SuperCall.qll linguist-generated @@ -252,6 +258,7 @@ /lib/codeql/xpp/elements/ValidTimeStateRange.qll linguist-generated /lib/codeql/xpp/elements/VarType.qll linguist-generated /lib/codeql/xpp/elements/VariableDeclaration.qll linguist-generated +/lib/codeql/xpp/elements/VariableDeclarationInternal.qll linguist-generated /lib/codeql/xpp/elements/VoidType.qll linguist-generated /lib/codeql/xpp/elements/WhileStatement.qll linguist-generated /lib/codeql/xpp/elements/XppTuple.qll linguist-generated @@ -299,6 +306,8 @@ /lib/codeql/xpp/elements/internal/AssignmentEventHandlerInstanceConstructor.qll linguist-generated /lib/codeql/xpp/elements/internal/AssignmentEventHandlerInstanceImpl.qll linguist-generated /lib/codeql/xpp/elements/internal/AssignmentEventHandlerStaticImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignmentEventHandlerStaticInternalConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/AssignmentEventHandlerStaticInternalImpl.qll linguist-generated /lib/codeql/xpp/elements/internal/AssignmentSingleFieldImpl.qll linguist-generated /lib/codeql/xpp/elements/internal/AssignmentStatementImpl.qll linguist-generated /lib/codeql/xpp/elements/internal/AstImpl.qll linguist-generated @@ -427,7 +436,11 @@ /lib/codeql/xpp/elements/internal/FieldAssignmentConstructor.qll linguist-generated /lib/codeql/xpp/elements/internal/FieldAssignmentImpl.qll linguist-generated /lib/codeql/xpp/elements/internal/FieldDeclarationImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/FieldDeclarationInternalConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/FieldDeclarationInternalImpl.qll linguist-generated /lib/codeql/xpp/elements/internal/FieldExpressionImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/FieldExpressionInternalConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/FieldExpressionInternalImpl.qll linguist-generated /lib/codeql/xpp/elements/internal/FieldSelectionConstructor.qll linguist-generated /lib/codeql/xpp/elements/internal/FieldSelectionImpl.qll linguist-generated /lib/codeql/xpp/elements/internal/FieldSpecificationImpl.qll linguist-generated @@ -558,6 +571,8 @@ /lib/codeql/xpp/elements/internal/NamedFieldReferenceConstructor.qll linguist-generated /lib/codeql/xpp/elements/internal/NamedFieldReferenceImpl.qll linguist-generated /lib/codeql/xpp/elements/internal/NamedTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/NamedTypeInternalConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/NamedTypeInternalImpl.qll linguist-generated /lib/codeql/xpp/elements/internal/NewCallConstructor.qll linguist-generated /lib/codeql/xpp/elements/internal/NewCallImpl.qll linguist-generated /lib/codeql/xpp/elements/internal/NewClrArrayExpressionConstructor.qll linguist-generated @@ -644,6 +659,8 @@ /lib/codeql/xpp/elements/internal/SimpleOrderElementConstructor.qll linguist-generated /lib/codeql/xpp/elements/internal/SimpleOrderElementImpl.qll linguist-generated /lib/codeql/xpp/elements/internal/SimpleQualifierImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/SimpleQualifierInternalConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/SimpleQualifierInternalImpl.qll linguist-generated /lib/codeql/xpp/elements/internal/StatementImpl.qll linguist-generated /lib/codeql/xpp/elements/internal/StaticFieldConstructor.qll linguist-generated /lib/codeql/xpp/elements/internal/StaticFieldImpl.qll linguist-generated @@ -658,6 +675,8 @@ /lib/codeql/xpp/elements/internal/StringLiteralExpressionConstructor.qll linguist-generated /lib/codeql/xpp/elements/internal/StringLiteralExpressionImpl.qll linguist-generated /lib/codeql/xpp/elements/internal/StringTypeImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/StringTypeInternalConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/StringTypeInternalImpl.qll linguist-generated /lib/codeql/xpp/elements/internal/SubtractExpressionConstructor.qll linguist-generated /lib/codeql/xpp/elements/internal/SubtractExpressionImpl.qll linguist-generated /lib/codeql/xpp/elements/internal/SumAggregateSelectionConstructor.qll linguist-generated @@ -709,6 +728,8 @@ /lib/codeql/xpp/elements/internal/VarTypeConstructor.qll linguist-generated /lib/codeql/xpp/elements/internal/VarTypeImpl.qll linguist-generated /lib/codeql/xpp/elements/internal/VariableDeclarationImpl.qll linguist-generated +/lib/codeql/xpp/elements/internal/VariableDeclarationInternalConstructor.qll linguist-generated +/lib/codeql/xpp/elements/internal/VariableDeclarationInternalImpl.qll linguist-generated /lib/codeql/xpp/elements/internal/VoidTypeConstructor.qll linguist-generated /lib/codeql/xpp/elements/internal/VoidTypeImpl.qll linguist-generated /lib/codeql/xpp/elements/internal/WhileStatementConstructor.qll linguist-generated @@ -740,6 +761,7 @@ /lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerClr.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerInstance.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerStatic.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerStaticInternal.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/AssignmentSingleField.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/AssignmentStatement.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/Ast.qll linguist-generated @@ -814,7 +836,9 @@ /lib/codeql/xpp/elements/internal/generated/ExpressionStatement.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/FieldAssignment.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/FieldDeclaration.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/FieldDeclarationInternal.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/FieldExpression.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/FieldExpressionInternal.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/FieldSelection.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/FieldSpecification.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/File.qll linguist-generated @@ -887,6 +911,7 @@ /lib/codeql/xpp/elements/internal/generated/MultiplyExpression.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/NamedFieldReference.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/NamedType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/NamedTypeInternal.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/NewCall.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/NewClrArrayExpression.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/NewClrCall.qll linguist-generated @@ -936,6 +961,7 @@ /lib/codeql/xpp/elements/internal/generated/SimpleInstanceName.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/SimpleOrderElement.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/SimpleQualifier.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/SimpleQualifierInternal.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/Statement.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/StaticField.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/StaticMethodCall.qll linguist-generated @@ -944,6 +970,7 @@ /lib/codeql/xpp/elements/internal/generated/StringLengthType.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/StringLiteralExpression.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/StringType.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/StringTypeInternal.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/SubtractExpression.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/SumAggregateSelection.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/SuperCall.qll linguist-generated @@ -974,6 +1001,7 @@ /lib/codeql/xpp/elements/internal/generated/ValidTimeStateRange.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/VarType.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/VariableDeclaration.qll linguist-generated +/lib/codeql/xpp/elements/internal/generated/VariableDeclarationInternal.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/VoidType.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/WhileStatement.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/XppTuple.qll linguist-generated @@ -999,6 +1027,7 @@ /test/extractor-tests/generated/AssignPreIncrementStatement/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/AssignmentEventHandlerClr/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/AssignmentEventHandlerInstance/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/AssignmentEventHandlerStaticInternal/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/Attribute/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/AttributeExpression/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/AttributeList/MISSING_SOURCE.txt linguist-generated @@ -1054,6 +1083,8 @@ /test/extractor-tests/generated/ExpressionQualifier/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/ExpressionStatement/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/FieldAssignment/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/FieldDeclarationInternal/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/FieldExpressionInternal/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/FieldSelection/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/File/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/FindStatement/MISSING_SOURCE.txt linguist-generated @@ -1111,6 +1142,7 @@ /test/extractor-tests/generated/MoveCursorStatement/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/MultiplyExpression/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/NamedFieldReference/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/NamedTypeInternal/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/NewCall/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/NewClrArrayExpression/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/NewClrCall/MISSING_SOURCE.txt linguist-generated @@ -1151,12 +1183,14 @@ /test/extractor-tests/generated/SimpleField/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/SimpleInstanceName/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/SimpleOrderElement/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/SimpleQualifierInternal/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/StaticField/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/StaticMethodCall/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/StaticQualifier/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/StringAttributeLiteral/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/StringLengthType/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/StringLiteralExpression/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/StringTypeInternal/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/SubtractExpression/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/SumAggregateSelection/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/SuperCall/MISSING_SOURCE.txt linguist-generated @@ -1179,6 +1213,7 @@ /test/extractor-tests/generated/ValidTimeStateDate/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/ValidTimeStateRange/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/VarType/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/VariableDeclarationInternal/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/VoidType/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/WhileStatement/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/XppTypeCompilationUnit/MISSING_SOURCE.txt linguist-generated diff --git a/xpp/ql/lib/codeql/xpp/elements.qll b/xpp/ql/lib/codeql/xpp/elements.qll index 57571132b184..b759c5f5fa97 100644 --- a/xpp/ql/lib/codeql/xpp/elements.qll +++ b/xpp/ql/lib/codeql/xpp/elements.qll @@ -26,6 +26,7 @@ import codeql.xpp.elements.AssignmentEventHandlerBase import codeql.xpp.elements.AssignmentEventHandlerClr import codeql.xpp.elements.AssignmentEventHandlerInstance import codeql.xpp.elements.AssignmentEventHandlerStatic +import codeql.xpp.elements.AssignmentEventHandlerStaticInternal import codeql.xpp.elements.AssignmentSingleField import codeql.xpp.elements.AssignmentStatement import codeql.xpp.elements.Ast @@ -100,7 +101,9 @@ import codeql.xpp.elements.ExpressionQualifier import codeql.xpp.elements.ExpressionStatement import codeql.xpp.elements.FieldAssignment import codeql.xpp.elements.FieldDeclaration +import codeql.xpp.elements.FieldDeclarationInternal import codeql.xpp.elements.FieldExpression +import codeql.xpp.elements.FieldExpressionInternal import codeql.xpp.elements.FieldSelection import codeql.xpp.elements.FieldSpecification import codeql.xpp.elements.File @@ -173,6 +176,7 @@ import codeql.xpp.elements.MoveCursorStatement import codeql.xpp.elements.MultiplyExpression import codeql.xpp.elements.NamedFieldReference import codeql.xpp.elements.NamedType +import codeql.xpp.elements.NamedTypeInternal import codeql.xpp.elements.NewCall import codeql.xpp.elements.NewClrArrayExpression import codeql.xpp.elements.NewClrCall @@ -219,6 +223,7 @@ import codeql.xpp.elements.SimpleField import codeql.xpp.elements.SimpleInstanceName import codeql.xpp.elements.SimpleOrderElement import codeql.xpp.elements.SimpleQualifier +import codeql.xpp.elements.SimpleQualifierInternal import codeql.xpp.elements.Statement import codeql.xpp.elements.StaticField import codeql.xpp.elements.StaticMethodCall @@ -227,6 +232,7 @@ import codeql.xpp.elements.StringAttributeLiteral import codeql.xpp.elements.StringLengthType import codeql.xpp.elements.StringLiteralExpression import codeql.xpp.elements.StringType +import codeql.xpp.elements.StringTypeInternal import codeql.xpp.elements.SubtractExpression import codeql.xpp.elements.SumAggregateSelection import codeql.xpp.elements.SuperCall @@ -255,6 +261,7 @@ import codeql.xpp.elements.ValidTimeStateDate import codeql.xpp.elements.ValidTimeStateRange import codeql.xpp.elements.VarType import codeql.xpp.elements.VariableDeclaration +import codeql.xpp.elements.VariableDeclarationInternal import codeql.xpp.elements.VoidType import codeql.xpp.elements.WhileStatement import codeql.xpp.elements.XppTuple diff --git a/xpp/ql/lib/codeql/xpp/elements/AssignmentEventHandlerStaticInternal.qll b/xpp/ql/lib/codeql/xpp/elements/AssignmentEventHandlerStaticInternal.qll new file mode 100644 index 000000000000..e3a242e487b8 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/AssignmentEventHandlerStaticInternal.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `AssignmentEventHandlerStaticInternal`. + */ + +private import internal.AssignmentEventHandlerStaticInternalImpl +import codeql.xpp.elements.AssignmentEventHandlerStatic + +final class AssignmentEventHandlerStaticInternal = Impl::AssignmentEventHandlerStaticInternal; diff --git a/xpp/ql/lib/codeql/xpp/elements/FieldDeclarationInternal.qll b/xpp/ql/lib/codeql/xpp/elements/FieldDeclarationInternal.qll new file mode 100644 index 000000000000..2a40e71162fc --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/FieldDeclarationInternal.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `FieldDeclarationInternal`. + */ + +private import internal.FieldDeclarationInternalImpl +import codeql.xpp.elements.FieldDeclaration + +final class FieldDeclarationInternal = Impl::FieldDeclarationInternal; diff --git a/xpp/ql/lib/codeql/xpp/elements/FieldExpressionInternal.qll b/xpp/ql/lib/codeql/xpp/elements/FieldExpressionInternal.qll new file mode 100644 index 000000000000..af9b5c67d0ae --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/FieldExpressionInternal.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `FieldExpressionInternal`. + */ + +private import internal.FieldExpressionInternalImpl +import codeql.xpp.elements.FieldExpression + +final class FieldExpressionInternal = Impl::FieldExpressionInternal; diff --git a/xpp/ql/lib/codeql/xpp/elements/NamedTypeInternal.qll b/xpp/ql/lib/codeql/xpp/elements/NamedTypeInternal.qll new file mode 100644 index 000000000000..d3b178e6c3f0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/NamedTypeInternal.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `NamedTypeInternal`. + */ + +private import internal.NamedTypeInternalImpl +import codeql.xpp.elements.NamedType + +final class NamedTypeInternal = Impl::NamedTypeInternal; diff --git a/xpp/ql/lib/codeql/xpp/elements/SimpleQualifierInternal.qll b/xpp/ql/lib/codeql/xpp/elements/SimpleQualifierInternal.qll new file mode 100644 index 000000000000..d2d89f5c1d71 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/SimpleQualifierInternal.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `SimpleQualifierInternal`. + */ + +private import internal.SimpleQualifierInternalImpl +import codeql.xpp.elements.SimpleQualifier + +final class SimpleQualifierInternal = Impl::SimpleQualifierInternal; diff --git a/xpp/ql/lib/codeql/xpp/elements/StringTypeInternal.qll b/xpp/ql/lib/codeql/xpp/elements/StringTypeInternal.qll new file mode 100644 index 000000000000..6e17f43bf7de --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/StringTypeInternal.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `StringTypeInternal`. + */ + +private import internal.StringTypeInternalImpl +import codeql.xpp.elements.StringType + +final class StringTypeInternal = Impl::StringTypeInternal; diff --git a/xpp/ql/lib/codeql/xpp/elements/VariableDeclarationInternal.qll b/xpp/ql/lib/codeql/xpp/elements/VariableDeclarationInternal.qll new file mode 100644 index 000000000000..e7a3d8a4f40b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/VariableDeclarationInternal.qll @@ -0,0 +1,9 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the public class `VariableDeclarationInternal`. + */ + +private import internal.VariableDeclarationInternalImpl +import codeql.xpp.elements.VariableDeclaration + +final class VariableDeclarationInternal = Impl::VariableDeclarationInternal; diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerStaticInternalConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerStaticInternalConstructor.qll new file mode 100644 index 000000000000..a6fa9f463959 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerStaticInternalConstructor.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `AssignmentEventHandlerStaticInternal` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `AssignmentEventHandlerStaticInternal` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructAssignmentEventHandlerStaticInternal(Raw::AssignmentEventHandlerStaticInternal id) { + any() +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerStaticInternalImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerStaticInternalImpl.qll new file mode 100644 index 000000000000..975f0750731c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/AssignmentEventHandlerStaticInternalImpl.qll @@ -0,0 +1,17 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `AssignmentEventHandlerStaticInternal`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.AssignmentEventHandlerStaticInternal + +/** + * INTERNAL: This module contains the customizable definition of `AssignmentEventHandlerStaticInternal` and should not + * be referenced directly. + */ +module Impl { + class AssignmentEventHandlerStaticInternal extends Generated::AssignmentEventHandlerStaticInternal + { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FieldDeclarationInternalConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FieldDeclarationInternalConstructor.qll new file mode 100644 index 000000000000..ff30a9d0c87e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FieldDeclarationInternalConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `FieldDeclarationInternal` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `FieldDeclarationInternal` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructFieldDeclarationInternal(Raw::FieldDeclarationInternal id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FieldDeclarationInternalImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FieldDeclarationInternalImpl.qll new file mode 100644 index 000000000000..345169f777a2 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FieldDeclarationInternalImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `FieldDeclarationInternal`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.FieldDeclarationInternal + +/** + * INTERNAL: This module contains the customizable definition of `FieldDeclarationInternal` and should not + * be referenced directly. + */ +module Impl { + class FieldDeclarationInternal extends Generated::FieldDeclarationInternal { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FieldExpressionInternalConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FieldExpressionInternalConstructor.qll new file mode 100644 index 000000000000..810de0cfe0de --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FieldExpressionInternalConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `FieldExpressionInternal` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `FieldExpressionInternal` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructFieldExpressionInternal(Raw::FieldExpressionInternal id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/FieldExpressionInternalImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/FieldExpressionInternalImpl.qll new file mode 100644 index 000000000000..cc67f00eea23 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/FieldExpressionInternalImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `FieldExpressionInternal`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.FieldExpressionInternal + +/** + * INTERNAL: This module contains the customizable definition of `FieldExpressionInternal` and should not + * be referenced directly. + */ +module Impl { + class FieldExpressionInternal extends Generated::FieldExpressionInternal { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NamedTypeInternalConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NamedTypeInternalConstructor.qll new file mode 100644 index 000000000000..ef797d6bb806 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NamedTypeInternalConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `NamedTypeInternal` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `NamedTypeInternal` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructNamedTypeInternal(Raw::NamedTypeInternal id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/NamedTypeInternalImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/NamedTypeInternalImpl.qll new file mode 100644 index 000000000000..84711f4168b3 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/NamedTypeInternalImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `NamedTypeInternal`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.NamedTypeInternal + +/** + * INTERNAL: This module contains the customizable definition of `NamedTypeInternal` and should not + * be referenced directly. + */ +module Impl { + class NamedTypeInternal extends Generated::NamedTypeInternal { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SimpleQualifierInternalConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SimpleQualifierInternalConstructor.qll new file mode 100644 index 000000000000..c44c20f37cf0 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SimpleQualifierInternalConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `SimpleQualifierInternal` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `SimpleQualifierInternal` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructSimpleQualifierInternal(Raw::SimpleQualifierInternal id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/SimpleQualifierInternalImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/SimpleQualifierInternalImpl.qll new file mode 100644 index 000000000000..0f4ef624747c --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/SimpleQualifierInternalImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `SimpleQualifierInternal`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.SimpleQualifierInternal + +/** + * INTERNAL: This module contains the customizable definition of `SimpleQualifierInternal` and should not + * be referenced directly. + */ +module Impl { + class SimpleQualifierInternal extends Generated::SimpleQualifierInternal { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/StringTypeInternalConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/StringTypeInternalConstructor.qll new file mode 100644 index 000000000000..24990ba8678e --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/StringTypeInternalConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `StringTypeInternal` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `StringTypeInternal` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructStringTypeInternal(Raw::StringTypeInternal id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/StringTypeInternalImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/StringTypeInternalImpl.qll new file mode 100644 index 000000000000..cd516bafb32a --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/StringTypeInternalImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `StringTypeInternal`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.StringTypeInternal + +/** + * INTERNAL: This module contains the customizable definition of `StringTypeInternal` and should not + * be referenced directly. + */ +module Impl { + class StringTypeInternal extends Generated::StringTypeInternal { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/VariableDeclarationInternalConstructor.qll b/xpp/ql/lib/codeql/xpp/elements/internal/VariableDeclarationInternalConstructor.qll new file mode 100644 index 000000000000..b7c8d92ffc13 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/VariableDeclarationInternalConstructor.qll @@ -0,0 +1,14 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `VariableDeclarationInternal` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.Raw + +/** + * The characteristic predicate of `VariableDeclarationInternal` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructVariableDeclarationInternal(Raw::VariableDeclarationInternal id) { any() } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/VariableDeclarationInternalImpl.qll b/xpp/ql/lib/codeql/xpp/elements/internal/VariableDeclarationInternalImpl.qll new file mode 100644 index 000000000000..6350d7b3caf1 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/VariableDeclarationInternalImpl.qll @@ -0,0 +1,16 @@ +// generated by xpp/tools/generate-schema.sh, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `VariableDeclarationInternal`. + * + * INTERNAL: Do not use. + */ + +private import codeql.xpp.elements.internal.generated.VariableDeclarationInternal + +/** + * INTERNAL: This module contains the customizable definition of `VariableDeclarationInternal` and should not + * be referenced directly. + */ +module Impl { + class VariableDeclarationInternal extends Generated::VariableDeclarationInternal { } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerStaticInternal.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerStaticInternal.qll new file mode 100644 index 000000000000..496c691b7920 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/AssignmentEventHandlerStaticInternal.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `AssignmentEventHandlerStaticInternal`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.AssignmentEventHandlerStaticImpl::Impl as AssignmentEventHandlerStaticImpl + +/** + * INTERNAL: This module contains the fully generated definition of `AssignmentEventHandlerStaticInternal` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::AssignmentEventHandlerStaticInternal` class directly. + * Use the subclass `AssignmentEventHandlerStaticInternal`, where the following predicates are available. + */ + class AssignmentEventHandlerStaticInternal extends Synth::TAssignmentEventHandlerStaticInternal, + AssignmentEventHandlerStaticImpl::AssignmentEventHandlerStatic + { + override string getAPrimaryQlClass() { result = "AssignmentEventHandlerStaticInternal" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldDeclarationInternal.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldDeclarationInternal.qll new file mode 100644 index 000000000000..222d99ebd01b --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldDeclarationInternal.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `FieldDeclarationInternal`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.FieldDeclarationImpl::Impl as FieldDeclarationImpl + +/** + * INTERNAL: This module contains the fully generated definition of `FieldDeclarationInternal` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::FieldDeclarationInternal` class directly. + * Use the subclass `FieldDeclarationInternal`, where the following predicates are available. + */ + class FieldDeclarationInternal extends Synth::TFieldDeclarationInternal, + FieldDeclarationImpl::FieldDeclaration + { + override string getAPrimaryQlClass() { result = "FieldDeclarationInternal" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldExpressionInternal.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldExpressionInternal.qll new file mode 100644 index 000000000000..d8beef4d0362 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/FieldExpressionInternal.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `FieldExpressionInternal`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.FieldExpressionImpl::Impl as FieldExpressionImpl + +/** + * INTERNAL: This module contains the fully generated definition of `FieldExpressionInternal` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::FieldExpressionInternal` class directly. + * Use the subclass `FieldExpressionInternal`, where the following predicates are available. + */ + class FieldExpressionInternal extends Synth::TFieldExpressionInternal, + FieldExpressionImpl::FieldExpression + { + override string getAPrimaryQlClass() { result = "FieldExpressionInternal" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/NamedTypeInternal.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NamedTypeInternal.qll new file mode 100644 index 000000000000..67131f8d2f50 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/NamedTypeInternal.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `NamedTypeInternal`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.NamedTypeImpl::Impl as NamedTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `NamedTypeInternal` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::NamedTypeInternal` class directly. + * Use the subclass `NamedTypeInternal`, where the following predicates are available. + */ + class NamedTypeInternal extends Synth::TNamedTypeInternal, NamedTypeImpl::NamedType { + override string getAPrimaryQlClass() { result = "NamedTypeInternal" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ParentChild.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ParentChild.qll index dc976fb44c3a..49cd4c9dbbe5 100644 --- a/xpp/ql/lib/codeql/xpp/elements/internal/generated/ParentChild.qll +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/ParentChild.qll @@ -1622,6 +1622,23 @@ private module Impl { ) } + private Element getImmediateChildOfFieldExpressionInternal( + FieldExpressionInternal e, int index, string partialPredicateCall + ) { + exists(int n, int nTransformation, int nField | + n = 0 and + nTransformation = n + 1 and + nField = nTransformation + 1 and + ( + none() + or + index = n and result = e.getTransformation() and partialPredicateCall = "Transformation()" + or + index = nTransformation and result = e.getField() and partialPredicateCall = "Field()" + ) + ) + } + private Element getImmediateChildOfForFieldAssign( ForFieldAssign e, int index, string partialPredicateCall ) { @@ -2240,6 +2257,12 @@ private module Impl { ) } + private Element getImmediateChildOfSimpleQualifierInternal( + SimpleQualifierInternal e, int index, string partialPredicateCall + ) { + none() + } + private Element getImmediateChildOfStaticQualifier( StaticQualifier e, int index, string partialPredicateCall ) { @@ -2267,6 +2290,12 @@ private module Impl { none() } + private Element getImmediateChildOfStringTypeInternal( + StringTypeInternal e, int index, string partialPredicateCall + ) { + none() + } + private Element getImmediateChildOfSubtractExpression( SubtractExpression e, int index, string partialPredicateCall ) { @@ -2570,6 +2599,47 @@ private module Impl { ) } + private Element getImmediateChildOfFieldDeclarationInternal( + FieldDeclarationInternal e, int index, string partialPredicateCall + ) { + exists( + int n, int nComments, int nRegion, int nArraySpecification, int nModifierList, int nType, + int nAttributes, int nInitialValue + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nArraySpecification = nRegion + 1 and + nModifierList = nArraySpecification + e.getNumberOfModifierLists() and + nType = nModifierList + 1 and + nAttributes = nType + 1 and + nInitialValue = nAttributes + 1 and + ( + none() + or + index = n and result = e.getComments() and partialPredicateCall = "Comments()" + or + result = e.getRegion(index - nComments) and + partialPredicateCall = "Region(" + (index - nComments).toString() + ")" + or + index = nRegion and + result = e.getArraySpecification() and + partialPredicateCall = "ArraySpecification()" + or + result = e.getModifierList(index - nArraySpecification) and + partialPredicateCall = "ModifierList(" + (index - nArraySpecification).toString() + ")" + or + index = nModifierList and result = e.getType() and partialPredicateCall = "Type()" + or + index = nType and result = e.getAttributes() and partialPredicateCall = "Attributes()" + or + index = nAttributes and + result = e.getInitialValue() and + partialPredicateCall = "InitialValue()" + ) + ) + } + private Element getImmediateChildOfFormControl( FormControl e, int index, string partialPredicateCall ) { @@ -3001,6 +3071,21 @@ private module Impl { ) } + private Element getImmediateChildOfNamedTypeInternal( + NamedTypeInternal e, int index, string partialPredicateCall + ) { + exists(int n, int nTypeArgumentList | + n = 0 and + nTypeArgumentList = n + e.getNumberOfTypeArgumentLists() and + ( + none() + or + result = e.getTypeArgumentList(index - n) and + partialPredicateCall = "TypeArgumentList(" + (index - n).toString() + ")" + ) + ) + } + private Element getImmediateChildOfNewClrCall(NewClrCall e, int index, string partialPredicateCall) { exists(int n, int nTransformation, int nActualParameter, int nTypeArgumentList | n = 0 and @@ -3342,6 +3427,42 @@ private module Impl { ) } + private Element getImmediateChildOfVariableDeclarationInternal( + VariableDeclarationInternal e, int index, string partialPredicateCall + ) { + exists( + int n, int nComments, int nRegion, int nArraySpecification, int nModifierList, int nType, + int nInitialValue + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nArraySpecification = nRegion + 1 and + nModifierList = nArraySpecification + e.getNumberOfModifierLists() and + nType = nModifierList + 1 and + nInitialValue = nType + 1 and + ( + none() + or + index = n and result = e.getComments() and partialPredicateCall = "Comments()" + or + result = e.getRegion(index - nComments) and + partialPredicateCall = "Region(" + (index - nComments).toString() + ")" + or + index = nRegion and + result = e.getArraySpecification() and + partialPredicateCall = "ArraySpecification()" + or + result = e.getModifierList(index - nArraySpecification) and + partialPredicateCall = "ModifierList(" + (index - nArraySpecification).toString() + ")" + or + index = nModifierList and result = e.getType() and partialPredicateCall = "Type()" + or + index = nType and result = e.getInitialValue() and partialPredicateCall = "InitialValue()" + ) + ) + } + private Element getImmediateChildOfAssignmentEventHandlerClr( AssignmentEventHandlerClr e, int index, string partialPredicateCall ) { @@ -3356,6 +3477,20 @@ private module Impl { ) } + private Element getImmediateChildOfAssignmentEventHandlerStaticInternal( + AssignmentEventHandlerStaticInternal e, int index, string partialPredicateCall + ) { + exists(int n, int nField | + n = 0 and + nField = n + 1 and + ( + none() + or + index = n and result = e.getField() and partialPredicateCall = "Field()" + ) + ) + } + cached Element getImmediateChild(Element e, int index, string partialAccessor) { // why does this look more complicated than it should? @@ -3610,6 +3745,8 @@ private module Impl { or result = getImmediateChildOfEnumerationLiteralExpression(e, index, partialAccessor) or + result = getImmediateChildOfFieldExpressionInternal(e, index, partialAccessor) + or result = getImmediateChildOfForFieldAssign(e, index, partialAccessor) or result = getImmediateChildOfForFieldDecrementAssign(e, index, partialAccessor) @@ -3670,12 +3807,16 @@ private module Impl { or result = getImmediateChildOfShiftRightExpression(e, index, partialAccessor) or + result = getImmediateChildOfSimpleQualifierInternal(e, index, partialAccessor) + or result = getImmediateChildOfStaticQualifier(e, index, partialAccessor) or result = getImmediateChildOfStringAttributeLiteral(e, index, partialAccessor) or result = getImmediateChildOfStringLengthType(e, index, partialAccessor) or + result = getImmediateChildOfStringTypeInternal(e, index, partialAccessor) + or result = getImmediateChildOfSubtractExpression(e, index, partialAccessor) or result = getImmediateChildOfSumAggregateSelection(e, index, partialAccessor) @@ -3710,6 +3851,8 @@ private module Impl { or result = getImmediateChildOfEqualExpression(e, index, partialAccessor) or + result = getImmediateChildOfFieldDeclarationInternal(e, index, partialAccessor) + or result = getImmediateChildOfFormControl(e, index, partialAccessor) or result = getImmediateChildOfFormDataField(e, index, partialAccessor) @@ -3738,6 +3881,8 @@ private module Impl { or result = getImmediateChildOfLikeExpression(e, index, partialAccessor) or + result = getImmediateChildOfNamedTypeInternal(e, index, partialAccessor) + or result = getImmediateChildOfNewClrCall(e, index, partialAccessor) or result = getImmediateChildOfNotEqualExpression(e, index, partialAccessor) @@ -3768,7 +3913,11 @@ private module Impl { or result = getImmediateChildOfParameterDeclaration(e, index, partialAccessor) or + result = getImmediateChildOfVariableDeclarationInternal(e, index, partialAccessor) + or result = getImmediateChildOfAssignmentEventHandlerClr(e, index, partialAccessor) + or + result = getImmediateChildOfAssignmentEventHandlerStaticInternal(e, index, partialAccessor) } } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Raw.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Raw.qll index 8dac06a0f00d..fcbcc13b1cfb 100644 --- a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Raw.qll +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Raw.qll @@ -4232,6 +4232,28 @@ module Raw { predicate isStatic() { field_declaration_is_static(this) } } + /** + * INTERNAL: Do not use. + */ + class FieldExpressionInternal extends @field_expression_internal, FieldExpression { + override string toString() { result = "FieldExpressionInternal" } + } + + private Element getImmediateChildOfFieldExpressionInternal(FieldExpressionInternal e, int index) { + exists(int n, int nTransformation, int nField | + n = 0 and + nTransformation = n + 1 and + nField = nTransformation + 1 and + ( + none() + or + index = n and result = e.getTransformation() + or + index = nTransformation and result = e.getField() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -5275,6 +5297,17 @@ module Raw { ) } + /** + * INTERNAL: Do not use. + */ + class SimpleQualifierInternal extends @simple_qualifier_internal, SimpleQualifier { + override string toString() { result = "SimpleQualifierInternal" } + } + + private Element getImmediateChildOfSimpleQualifierInternal(SimpleQualifierInternal e, int index) { + none() + } + /** * INTERNAL: Do not use. */ @@ -5343,6 +5376,15 @@ module Raw { private Element getImmediateChildOfStringLengthType(StringLengthType e, int index) { none() } + /** + * INTERNAL: Do not use. + */ + class StringTypeInternal extends @string_type_internal, StringType { + override string toString() { result = "StringTypeInternal" } + } + + private Element getImmediateChildOfStringTypeInternal(StringTypeInternal e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -5839,6 +5881,46 @@ module Raw { ) } + /** + * INTERNAL: Do not use. + */ + class FieldDeclarationInternal extends @field_declaration_internal, FieldDeclaration { + override string toString() { result = "FieldDeclarationInternal" } + } + + private Element getImmediateChildOfFieldDeclarationInternal(FieldDeclarationInternal e, int index) { + exists( + int n, int nComments, int nRegion, int nArraySpecification, int nModifierList, int nType, + int nAttributes, int nInitialValue + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nArraySpecification = nRegion + 1 and + nModifierList = nArraySpecification + e.getNumberOfModifierLists() and + nType = nModifierList + 1 and + nAttributes = nType + 1 and + nInitialValue = nAttributes + 1 and + ( + none() + or + index = n and result = e.getComments() + or + result = e.getRegion(index - nComments) + or + index = nRegion and result = e.getArraySpecification() + or + result = e.getModifierList(index - nArraySpecification) + or + index = nModifierList and result = e.getType() + or + index = nType and result = e.getAttributes() + or + index = nAttributes and result = e.getInitialValue() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -6472,6 +6554,25 @@ module Raw { ) } + /** + * INTERNAL: Do not use. + */ + class NamedTypeInternal extends @named_type_internal, NamedType { + override string toString() { result = "NamedTypeInternal" } + } + + private Element getImmediateChildOfNamedTypeInternal(NamedTypeInternal e, int index) { + exists(int n, int nTypeArgumentList | + n = 0 and + nTypeArgumentList = n + e.getNumberOfTypeArgumentLists() and + ( + none() + or + result = e.getTypeArgumentList(index - n) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -7001,6 +7102,45 @@ module Raw { ) } + /** + * INTERNAL: Do not use. + */ + class VariableDeclarationInternal extends @variable_declaration_internal, VariableDeclaration { + override string toString() { result = "VariableDeclarationInternal" } + } + + private Element getImmediateChildOfVariableDeclarationInternal( + VariableDeclarationInternal e, int index + ) { + exists( + int n, int nComments, int nRegion, int nArraySpecification, int nModifierList, int nType, + int nInitialValue + | + n = 0 and + nComments = n + 1 and + nRegion = nComments + e.getNumberOfRegions() and + nArraySpecification = nRegion + 1 and + nModifierList = nArraySpecification + e.getNumberOfModifierLists() and + nType = nModifierList + 1 and + nInitialValue = nType + 1 and + ( + none() + or + index = n and result = e.getComments() + or + result = e.getRegion(index - nComments) + or + index = nRegion and result = e.getArraySpecification() + or + result = e.getModifierList(index - nArraySpecification) + or + index = nModifierList and result = e.getType() + or + index = nType and result = e.getInitialValue() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -7024,6 +7164,29 @@ module Raw { ) } + /** + * INTERNAL: Do not use. + */ + class AssignmentEventHandlerStaticInternal extends @assignment_event_handler_static_internal, + AssignmentEventHandlerStatic + { + override string toString() { result = "AssignmentEventHandlerStaticInternal" } + } + + private Element getImmediateChildOfAssignmentEventHandlerStaticInternal( + AssignmentEventHandlerStaticInternal e, int index + ) { + exists(int n, int nField | + n = 0 and + nField = n + 1 and + ( + none() + or + index = n and result = e.getField() + ) + ) + } + /** * Gets the immediate child indexed at `index`. Indexes are not guaranteed to be contiguous, but are guaranteed to be distinct. */ @@ -7281,6 +7444,8 @@ module Raw { or result = getImmediateChildOfEnumerationLiteralExpression(e, index) or + result = getImmediateChildOfFieldExpressionInternal(e, index) + or result = getImmediateChildOfForFieldAssign(e, index) or result = getImmediateChildOfForFieldDecrementAssign(e, index) @@ -7341,12 +7506,16 @@ module Raw { or result = getImmediateChildOfShiftRightExpression(e, index) or + result = getImmediateChildOfSimpleQualifierInternal(e, index) + or result = getImmediateChildOfStaticQualifier(e, index) or result = getImmediateChildOfStringAttributeLiteral(e, index) or result = getImmediateChildOfStringLengthType(e, index) or + result = getImmediateChildOfStringTypeInternal(e, index) + or result = getImmediateChildOfSubtractExpression(e, index) or result = getImmediateChildOfSumAggregateSelection(e, index) @@ -7381,6 +7550,8 @@ module Raw { or result = getImmediateChildOfEqualExpression(e, index) or + result = getImmediateChildOfFieldDeclarationInternal(e, index) + or result = getImmediateChildOfFormControl(e, index) or result = getImmediateChildOfFormDataField(e, index) @@ -7409,6 +7580,8 @@ module Raw { or result = getImmediateChildOfLikeExpression(e, index) or + result = getImmediateChildOfNamedTypeInternal(e, index) + or result = getImmediateChildOfNewClrCall(e, index) or result = getImmediateChildOfNotEqualExpression(e, index) @@ -7439,6 +7612,10 @@ module Raw { or result = getImmediateChildOfParameterDeclaration(e, index) or + result = getImmediateChildOfVariableDeclarationInternal(e, index) + or result = getImmediateChildOfAssignmentEventHandlerClr(e, index) + or + result = getImmediateChildOfAssignmentEventHandlerStaticInternal(e, index) } } diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/SimpleQualifierInternal.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SimpleQualifierInternal.qll new file mode 100644 index 000000000000..181eb5984c62 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SimpleQualifierInternal.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `SimpleQualifierInternal`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.SimpleQualifierImpl::Impl as SimpleQualifierImpl + +/** + * INTERNAL: This module contains the fully generated definition of `SimpleQualifierInternal` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::SimpleQualifierInternal` class directly. + * Use the subclass `SimpleQualifierInternal`, where the following predicates are available. + */ + class SimpleQualifierInternal extends Synth::TSimpleQualifierInternal, + SimpleQualifierImpl::SimpleQualifier + { + override string getAPrimaryQlClass() { result = "SimpleQualifierInternal" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/StringTypeInternal.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/StringTypeInternal.qll new file mode 100644 index 000000000000..31e6df8b43c7 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/StringTypeInternal.qll @@ -0,0 +1,23 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `StringTypeInternal`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.StringTypeImpl::Impl as StringTypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `StringTypeInternal` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::StringTypeInternal` class directly. + * Use the subclass `StringTypeInternal`, where the following predicates are available. + */ + class StringTypeInternal extends Synth::TStringTypeInternal, StringTypeImpl::StringType { + override string getAPrimaryQlClass() { result = "StringTypeInternal" } + } +} diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Synth.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Synth.qll index 610dd9738547..6afdc01bbb84 100644 --- a/xpp/ql/lib/codeql/xpp/elements/internal/generated/Synth.qll +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/Synth.qll @@ -110,6 +110,12 @@ module Synth { TAssignmentEventHandlerInstance(Raw::AssignmentEventHandlerInstance id) { constructAssignmentEventHandlerInstance(id) } or + /** + * INTERNAL: Do not use. + */ + TAssignmentEventHandlerStaticInternal(Raw::AssignmentEventHandlerStaticInternal id) { + constructAssignmentEventHandlerStaticInternal(id) + } or /** * INTERNAL: Do not use. */ @@ -356,6 +362,18 @@ module Synth { * INTERNAL: Do not use. */ TFieldAssignment(Raw::FieldAssignment id) { constructFieldAssignment(id) } or + /** + * INTERNAL: Do not use. + */ + TFieldDeclarationInternal(Raw::FieldDeclarationInternal id) { + constructFieldDeclarationInternal(id) + } or + /** + * INTERNAL: Do not use. + */ + TFieldExpressionInternal(Raw::FieldExpressionInternal id) { + constructFieldExpressionInternal(id) + } or /** * INTERNAL: Do not use. */ @@ -604,6 +622,10 @@ module Synth { * INTERNAL: Do not use. */ TNamedFieldReference(Raw::NamedFieldReference id) { constructNamedFieldReference(id) } or + /** + * INTERNAL: Do not use. + */ + TNamedTypeInternal(Raw::NamedTypeInternal id) { constructNamedTypeInternal(id) } or /** * INTERNAL: Do not use. */ @@ -768,6 +790,12 @@ module Synth { * INTERNAL: Do not use. */ TSimpleOrderElement(Raw::SimpleOrderElement id) { constructSimpleOrderElement(id) } or + /** + * INTERNAL: Do not use. + */ + TSimpleQualifierInternal(Raw::SimpleQualifierInternal id) { + constructSimpleQualifierInternal(id) + } or /** * INTERNAL: Do not use. */ @@ -794,6 +822,10 @@ module Synth { TStringLiteralExpression(Raw::StringLiteralExpression id) { constructStringLiteralExpression(id) } or + /** + * INTERNAL: Do not use. + */ + TStringTypeInternal(Raw::StringTypeInternal id) { constructStringTypeInternal(id) } or /** * INTERNAL: Do not use. */ @@ -888,6 +920,12 @@ module Synth { * INTERNAL: Do not use. */ TVarType(Raw::VarType id) { constructVarType(id) } or + /** + * INTERNAL: Do not use. + */ + TVariableDeclarationInternal(Raw::VariableDeclarationInternal id) { + constructVariableDeclarationInternal(id) + } or /** * INTERNAL: Do not use. */ @@ -924,7 +962,8 @@ module Synth { /** * INTERNAL: Do not use. */ - class TAssignmentEventHandlerStatic = TAssignmentEventHandlerClr; + class TAssignmentEventHandlerStatic = + TAssignmentEventHandlerClr or TAssignmentEventHandlerStaticInternal; /** * INTERNAL: Do not use. @@ -1043,12 +1082,12 @@ module Synth { /** * INTERNAL: Do not use. */ - class TFieldDeclaration = TTableFieldDeclaration; + class TFieldDeclaration = TFieldDeclarationInternal or TTableFieldDeclaration; /** * INTERNAL: Do not use. */ - class TFieldExpression = TQualifiedStaticFieldExpression; + class TFieldExpression = TFieldExpressionInternal or TQualifiedStaticFieldExpression; /** * INTERNAL: Do not use. @@ -1127,7 +1166,7 @@ module Synth { /** * INTERNAL: Do not use. */ - class TNamedType = TFormElementType; + class TNamedType = TFormElementType or TNamedTypeInternal; /** * INTERNAL: Do not use. @@ -1159,7 +1198,7 @@ module Synth { /** * INTERNAL: Do not use. */ - class TSimpleQualifier = TStaticQualifier; + class TSimpleQualifier = TSimpleQualifierInternal or TStaticQualifier; /** * INTERNAL: Do not use. @@ -1177,7 +1216,7 @@ module Synth { /** * INTERNAL: Do not use. */ - class TStringType = TStringLengthType; + class TStringType = TStringLengthType or TStringTypeInternal; /** * INTERNAL: Do not use. @@ -1202,7 +1241,7 @@ module Synth { /** * INTERNAL: Do not use. */ - class TVariableDeclaration = TParameterDeclaration; + class TVariableDeclaration = TParameterDeclaration or TVariableDeclarationInternal; /** * INTERNAL: Do not use. @@ -1388,6 +1427,17 @@ module Synth { result = TAssignmentEventHandlerInstance(e) } + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TAssignmentEventHandlerStaticInternal`, if possible. + */ + TAssignmentEventHandlerStaticInternal convertAssignmentEventHandlerStaticInternalFromRaw( + Raw::Element e + ) { + result = TAssignmentEventHandlerStaticInternal(e) + } + /** * INTERNAL: Do not use. * @@ -1833,6 +1883,24 @@ module Synth { */ TFieldAssignment convertFieldAssignmentFromRaw(Raw::Element e) { result = TFieldAssignment(e) } + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TFieldDeclarationInternal`, if possible. + */ + TFieldDeclarationInternal convertFieldDeclarationInternalFromRaw(Raw::Element e) { + result = TFieldDeclarationInternal(e) + } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TFieldExpressionInternal`, if possible. + */ + TFieldExpressionInternal convertFieldExpressionInternalFromRaw(Raw::Element e) { + result = TFieldExpressionInternal(e) + } + /** * INTERNAL: Do not use. * @@ -2301,6 +2369,15 @@ module Synth { result = TNamedFieldReference(e) } + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TNamedTypeInternal`, if possible. + */ + TNamedTypeInternal convertNamedTypeInternalFromRaw(Raw::Element e) { + result = TNamedTypeInternal(e) + } + /** * INTERNAL: Do not use. * @@ -2629,6 +2706,15 @@ module Synth { result = TSimpleOrderElement(e) } + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TSimpleQualifierInternal`, if possible. + */ + TSimpleQualifierInternal convertSimpleQualifierInternalFromRaw(Raw::Element e) { + result = TSimpleQualifierInternal(e) + } + /** * INTERNAL: Do not use. * @@ -2675,6 +2761,15 @@ module Synth { result = TStringLiteralExpression(e) } + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TStringTypeInternal`, if possible. + */ + TStringTypeInternal convertStringTypeInternalFromRaw(Raw::Element e) { + result = TStringTypeInternal(e) + } + /** * INTERNAL: Do not use. * @@ -2862,6 +2957,15 @@ module Synth { */ TVarType convertVarTypeFromRaw(Raw::Element e) { result = TVarType(e) } + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TVariableDeclarationInternal`, if possible. + */ + TVariableDeclarationInternal convertVariableDeclarationInternalFromRaw(Raw::Element e) { + result = TVariableDeclarationInternal(e) + } + /** * INTERNAL: Do not use. * @@ -2933,6 +3037,8 @@ module Synth { */ TAssignmentEventHandlerStatic convertAssignmentEventHandlerStaticFromRaw(Raw::Element e) { result = convertAssignmentEventHandlerClrFromRaw(e) + or + result = convertAssignmentEventHandlerStaticInternalFromRaw(e) } /** @@ -3272,6 +3378,8 @@ module Synth { * Converts a raw DB element to a synthesized `TFieldDeclaration`, if possible. */ TFieldDeclaration convertFieldDeclarationFromRaw(Raw::Element e) { + result = convertFieldDeclarationInternalFromRaw(e) + or result = convertTableFieldDeclarationFromRaw(e) } @@ -3280,6 +3388,8 @@ module Synth { * Converts a raw DB element to a synthesized `TFieldExpression`, if possible. */ TFieldExpression convertFieldExpressionFromRaw(Raw::Element e) { + result = convertFieldExpressionInternalFromRaw(e) + or result = convertQualifiedStaticFieldExpressionFromRaw(e) } @@ -3461,7 +3571,11 @@ module Synth { * INTERNAL: Do not use. * Converts a raw DB element to a synthesized `TNamedType`, if possible. */ - TNamedType convertNamedTypeFromRaw(Raw::Element e) { result = convertFormElementTypeFromRaw(e) } + TNamedType convertNamedTypeFromRaw(Raw::Element e) { + result = convertFormElementTypeFromRaw(e) + or + result = convertNamedTypeInternalFromRaw(e) + } /** * INTERNAL: Do not use. @@ -3530,6 +3644,8 @@ module Synth { * Converts a raw DB element to a synthesized `TSimpleQualifier`, if possible. */ TSimpleQualifier convertSimpleQualifierFromRaw(Raw::Element e) { + result = convertSimpleQualifierInternalFromRaw(e) + or result = convertStaticQualifierFromRaw(e) } @@ -3605,6 +3721,8 @@ module Synth { */ TStringType convertStringTypeFromRaw(Raw::Element e) { result = convertStringLengthTypeFromRaw(e) + or + result = convertStringTypeInternalFromRaw(e) } /** @@ -3657,6 +3775,8 @@ module Synth { */ TVariableDeclaration convertVariableDeclarationFromRaw(Raw::Element e) { result = convertParameterDeclarationFromRaw(e) + or + result = convertVariableDeclarationInternalFromRaw(e) } /** @@ -3855,6 +3975,16 @@ module Synth { e = TAssignmentEventHandlerInstance(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TAssignmentEventHandlerStaticInternal` to a raw DB element, if possible. + */ + Raw::Element convertAssignmentEventHandlerStaticInternalToRaw( + TAssignmentEventHandlerStaticInternal e + ) { + e = TAssignmentEventHandlerStaticInternal(result) + } + /** * INTERNAL: Do not use. * Converts a synthesized `TAttribute` to a raw DB element, if possible. @@ -4245,6 +4375,22 @@ module Synth { */ Raw::Element convertFieldAssignmentToRaw(TFieldAssignment e) { e = TFieldAssignment(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TFieldDeclarationInternal` to a raw DB element, if possible. + */ + Raw::Element convertFieldDeclarationInternalToRaw(TFieldDeclarationInternal e) { + e = TFieldDeclarationInternal(result) + } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TFieldExpressionInternal` to a raw DB element, if possible. + */ + Raw::Element convertFieldExpressionInternalToRaw(TFieldExpressionInternal e) { + e = TFieldExpressionInternal(result) + } + /** * INTERNAL: Do not use. * Converts a synthesized `TFieldSelection` to a raw DB element, if possible. @@ -4655,6 +4801,14 @@ module Synth { e = TNamedFieldReference(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TNamedTypeInternal` to a raw DB element, if possible. + */ + Raw::Element convertNamedTypeInternalToRaw(TNamedTypeInternal e) { + e = TNamedTypeInternal(result) + } + /** * INTERNAL: Do not use. * Converts a synthesized `TNewCall` to a raw DB element, if possible. @@ -4943,6 +5097,14 @@ module Synth { e = TSimpleOrderElement(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TSimpleQualifierInternal` to a raw DB element, if possible. + */ + Raw::Element convertSimpleQualifierInternalToRaw(TSimpleQualifierInternal e) { + e = TSimpleQualifierInternal(result) + } + /** * INTERNAL: Do not use. * Converts a synthesized `TStaticField` to a raw DB element, if possible. @@ -4983,6 +5145,14 @@ module Synth { e = TStringLiteralExpression(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TStringTypeInternal` to a raw DB element, if possible. + */ + Raw::Element convertStringTypeInternalToRaw(TStringTypeInternal e) { + e = TStringTypeInternal(result) + } + /** * INTERNAL: Do not use. * Converts a synthesized `TSubtractExpression` to a raw DB element, if possible. @@ -5147,6 +5317,14 @@ module Synth { */ Raw::Element convertVarTypeToRaw(TVarType e) { e = TVarType(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TVariableDeclarationInternal` to a raw DB element, if possible. + */ + Raw::Element convertVariableDeclarationInternalToRaw(TVariableDeclarationInternal e) { + e = TVariableDeclarationInternal(result) + } + /** * INTERNAL: Do not use. * Converts a synthesized `TVoidType` to a raw DB element, if possible. @@ -5215,6 +5393,8 @@ module Synth { */ Raw::Element convertAssignmentEventHandlerStaticToRaw(TAssignmentEventHandlerStatic e) { result = convertAssignmentEventHandlerClrToRaw(e) + or + result = convertAssignmentEventHandlerStaticInternalToRaw(e) } /** @@ -5554,6 +5734,8 @@ module Synth { * Converts a synthesized `TFieldDeclaration` to a raw DB element, if possible. */ Raw::Element convertFieldDeclarationToRaw(TFieldDeclaration e) { + result = convertFieldDeclarationInternalToRaw(e) + or result = convertTableFieldDeclarationToRaw(e) } @@ -5562,6 +5744,8 @@ module Synth { * Converts a synthesized `TFieldExpression` to a raw DB element, if possible. */ Raw::Element convertFieldExpressionToRaw(TFieldExpression e) { + result = convertFieldExpressionInternalToRaw(e) + or result = convertQualifiedStaticFieldExpressionToRaw(e) } @@ -5743,7 +5927,11 @@ module Synth { * INTERNAL: Do not use. * Converts a synthesized `TNamedType` to a raw DB element, if possible. */ - Raw::Element convertNamedTypeToRaw(TNamedType e) { result = convertFormElementTypeToRaw(e) } + Raw::Element convertNamedTypeToRaw(TNamedType e) { + result = convertFormElementTypeToRaw(e) + or + result = convertNamedTypeInternalToRaw(e) + } /** * INTERNAL: Do not use. @@ -5812,6 +6000,8 @@ module Synth { * Converts a synthesized `TSimpleQualifier` to a raw DB element, if possible. */ Raw::Element convertSimpleQualifierToRaw(TSimpleQualifier e) { + result = convertSimpleQualifierInternalToRaw(e) + or result = convertStaticQualifierToRaw(e) } @@ -5885,7 +6075,11 @@ module Synth { * INTERNAL: Do not use. * Converts a synthesized `TStringType` to a raw DB element, if possible. */ - Raw::Element convertStringTypeToRaw(TStringType e) { result = convertStringLengthTypeToRaw(e) } + Raw::Element convertStringTypeToRaw(TStringType e) { + result = convertStringLengthTypeToRaw(e) + or + result = convertStringTypeInternalToRaw(e) + } /** * INTERNAL: Do not use. @@ -5937,6 +6131,8 @@ module Synth { */ Raw::Element convertVariableDeclarationToRaw(TVariableDeclaration e) { result = convertParameterDeclarationToRaw(e) + or + result = convertVariableDeclarationInternalToRaw(e) } /** diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/SynthConstructors.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SynthConstructors.qll index ef78121e88aa..7e3af170eb1a 100644 --- a/xpp/ql/lib/codeql/xpp/elements/internal/generated/SynthConstructors.qll +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/SynthConstructors.qll @@ -22,6 +22,7 @@ import codeql.xpp.elements.internal.AssignPreDecrementStatementConstructor import codeql.xpp.elements.internal.AssignPreIncrementStatementConstructor import codeql.xpp.elements.internal.AssignmentEventHandlerClrConstructor import codeql.xpp.elements.internal.AssignmentEventHandlerInstanceConstructor +import codeql.xpp.elements.internal.AssignmentEventHandlerStaticInternalConstructor import codeql.xpp.elements.internal.AttributeConstructor import codeql.xpp.elements.internal.AttributeExpressionConstructor import codeql.xpp.elements.internal.AttributeListConstructor @@ -77,6 +78,8 @@ import codeql.xpp.elements.internal.ExpressionCompilationUnitConstructor import codeql.xpp.elements.internal.ExpressionQualifierConstructor import codeql.xpp.elements.internal.ExpressionStatementConstructor import codeql.xpp.elements.internal.FieldAssignmentConstructor +import codeql.xpp.elements.internal.FieldDeclarationInternalConstructor +import codeql.xpp.elements.internal.FieldExpressionInternalConstructor import codeql.xpp.elements.internal.FieldSelectionConstructor import codeql.xpp.elements.internal.FileConstructor import codeql.xpp.elements.internal.FindStatementConstructor @@ -135,6 +138,7 @@ import codeql.xpp.elements.internal.ModifierConstructor import codeql.xpp.elements.internal.MoveCursorStatementConstructor import codeql.xpp.elements.internal.MultiplyExpressionConstructor import codeql.xpp.elements.internal.NamedFieldReferenceConstructor +import codeql.xpp.elements.internal.NamedTypeInternalConstructor import codeql.xpp.elements.internal.NewCallConstructor import codeql.xpp.elements.internal.NewClrArrayExpressionConstructor import codeql.xpp.elements.internal.NewClrCallConstructor @@ -175,12 +179,14 @@ import codeql.xpp.elements.internal.ShiftRightExpressionConstructor import codeql.xpp.elements.internal.SimpleFieldConstructor import codeql.xpp.elements.internal.SimpleInstanceNameConstructor import codeql.xpp.elements.internal.SimpleOrderElementConstructor +import codeql.xpp.elements.internal.SimpleQualifierInternalConstructor import codeql.xpp.elements.internal.StaticFieldConstructor import codeql.xpp.elements.internal.StaticMethodCallConstructor import codeql.xpp.elements.internal.StaticQualifierConstructor import codeql.xpp.elements.internal.StringAttributeLiteralConstructor import codeql.xpp.elements.internal.StringLengthTypeConstructor import codeql.xpp.elements.internal.StringLiteralExpressionConstructor +import codeql.xpp.elements.internal.StringTypeInternalConstructor import codeql.xpp.elements.internal.SubtractExpressionConstructor import codeql.xpp.elements.internal.SumAggregateSelectionConstructor import codeql.xpp.elements.internal.SuperCallConstructor @@ -204,6 +210,7 @@ import codeql.xpp.elements.internal.UsingStatementConstructor import codeql.xpp.elements.internal.ValidTimeStateDateConstructor import codeql.xpp.elements.internal.ValidTimeStateRangeConstructor import codeql.xpp.elements.internal.VarTypeConstructor +import codeql.xpp.elements.internal.VariableDeclarationInternalConstructor import codeql.xpp.elements.internal.VoidTypeConstructor import codeql.xpp.elements.internal.WhileStatementConstructor import codeql.xpp.elements.internal.XppTypeCompilationUnitConstructor diff --git a/xpp/ql/lib/codeql/xpp/elements/internal/generated/VariableDeclarationInternal.qll b/xpp/ql/lib/codeql/xpp/elements/internal/generated/VariableDeclarationInternal.qll new file mode 100644 index 000000000000..9e6798f69455 --- /dev/null +++ b/xpp/ql/lib/codeql/xpp/elements/internal/generated/VariableDeclarationInternal.qll @@ -0,0 +1,25 @@ +// generated by xpp/tools/generate-schema.sh, do not edit +/** + * This module provides the generated definition of `VariableDeclarationInternal`. + * INTERNAL: Do not import directly. + */ + +private import codeql.xpp.elements.internal.generated.Synth +private import codeql.xpp.elements.internal.generated.Raw +import codeql.xpp.elements.internal.VariableDeclarationImpl::Impl as VariableDeclarationImpl + +/** + * INTERNAL: This module contains the fully generated definition of `VariableDeclarationInternal` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::VariableDeclarationInternal` class directly. + * Use the subclass `VariableDeclarationInternal`, where the following predicates are available. + */ + class VariableDeclarationInternal extends Synth::TVariableDeclarationInternal, + VariableDeclarationImpl::VariableDeclaration + { + override string getAPrimaryQlClass() { result = "VariableDeclarationInternal" } + } +} diff --git a/xpp/ql/lib/xpp.dbscheme b/xpp/ql/lib/xpp.dbscheme index c07bc5c57f79..4e5a88a87574 100644 --- a/xpp/ql/lib/xpp.dbscheme +++ b/xpp/ql/lib/xpp.dbscheme @@ -1327,7 +1327,8 @@ expression_statement_expressions( ); @field_expression = - @qualified_static_field_expression + @field_expression_internal +| @qualified_static_field_expression ; #keyset[id] @@ -2064,7 +2065,8 @@ simple_order_element_extension_names( ); @simple_qualifier = - @static_qualifier + @simple_qualifier_internal +| @static_qualifier ; #keyset[id] @@ -2091,6 +2093,7 @@ static_field_names( @string_type = @string_length_type +| @string_type_internal ; switch_statements( @@ -2538,7 +2541,8 @@ enumeration_literal_expression_enumeration_types( ); @field_declaration = - @table_field_declaration + @field_declaration_internal +| @table_field_declaration ; #keyset[id] @@ -2610,6 +2614,10 @@ field_declaration_is_static( int id: @field_declaration ref ); +field_expression_internals( + unique int id: @field_expression_internal +); + for_field_assigns( unique int id: @for_field_assign ); @@ -2872,6 +2880,7 @@ multiply_expressions( @named_type = @form_element_type +| @named_type_internal ; #keyset[id] @@ -3029,6 +3038,10 @@ shift_right_expressions( unique int id: @shift_right_expression ); +simple_qualifier_internals( + unique int id: @simple_qualifier_internal +); + static_qualifiers( unique int id: @static_qualifier ); @@ -3065,6 +3078,10 @@ string_length_type_lengths( int length: int ref ); +string_type_internals( + unique int id: @string_type_internal +); + subtract_expressions( unique int id: @subtract_expression ); @@ -3244,6 +3261,10 @@ equal_expressions( unique int id: @equal_expression ); +field_declaration_internals( + unique int id: @field_declaration_internal +); + form_controls( unique int id: @form_control ); @@ -3459,6 +3480,10 @@ like_expressions( unique int id: @like_expression ); +named_type_internals( + unique int id: @named_type_internal +); + new_clr_calls( unique int id: @new_clr_call ); @@ -3577,6 +3602,7 @@ table_field_declarations( @variable_declaration = @parameter_declaration +| @variable_declaration_internal ; #keyset[id] @@ -3628,6 +3654,7 @@ assignment_event_handler_instance_qualifier_parts( @assignment_event_handler_static = @assignment_event_handler_clr +| @assignment_event_handler_static_internal ; #keyset[id] @@ -3650,10 +3677,18 @@ parameter_declaration_is_optional( int id: @parameter_declaration ref ); +variable_declaration_internals( + unique int id: @variable_declaration_internal +); + assignment_event_handler_clrs( unique int id: @assignment_event_handler_clr ); +assignment_event_handler_static_internals( + unique int id: @assignment_event_handler_static_internal +); + @array_specification_or_none = @array_specification | @unspecified_element diff --git a/xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerStaticInternal/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerStaticInternal/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerStaticInternal/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FieldDeclarationInternal/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FieldDeclarationInternal/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/FieldDeclarationInternal/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FieldExpressionInternal/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FieldExpressionInternal/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/FieldExpressionInternal/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/NamedTypeInternal/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/NamedTypeInternal/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/NamedTypeInternal/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SimpleQualifierInternal/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SimpleQualifierInternal/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/SimpleQualifierInternal/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/StringTypeInternal/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/StringTypeInternal/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/StringTypeInternal/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/VariableDeclarationInternal/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/VariableDeclarationInternal/MISSING_SOURCE.txt new file mode 100644 index 000000000000..d75e0f976cd3 --- /dev/null +++ b/xpp/ql/test/extractor-tests/generated/VariableDeclarationInternal/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by xpp/tools/generate-schema.sh, do not edit + +After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries +will appear and this file will be deleted diff --git a/xpp/schema/ast.py b/xpp/schema/ast.py index 2b22c97fe073..aa2fb621e840 100644 --- a/xpp/schema/ast.py +++ b/xpp/schema/ast.py @@ -662,6 +662,9 @@ class FieldDeclaration(Declaration): is_read_only: predicate is_static: predicate +class FieldExpressionInternal(FieldExpression): + pass + class ForFieldAssign(ForExpressionAssign): pass @@ -803,6 +806,9 @@ class ShiftLeftExpression(BinaryExpression): class ShiftRightExpression(BinaryExpression): pass +class SimpleQualifierInternal(SimpleQualifier): + pass + class StaticQualifier(SimpleQualifier): class_type_argument_list: list["XppType"] | child @@ -814,6 +820,9 @@ class StringLengthType(StringType): is_edt: predicate length: optional[int] +class StringTypeInternal(StringType): + pass + class SubtractExpression(BinaryExpression): pass @@ -884,6 +893,9 @@ class DateTimeLiteralExpression(DefaultTypeLiteralExpression): class EqualExpression(RelationalExpression): pass +class FieldDeclarationInternal(FieldDeclaration): + pass + class FormControl(FormNestedElement): auto_declaration: predicate child_controls: list["FormControl"] | child @@ -946,6 +958,9 @@ class LessThanOrEqualExpression(RelationalExpression): class LikeExpression(RelationalExpression): pass +class NamedTypeInternal(NamedType): + pass + class NewClrCall(GenericEvaluation): clr_class_name: optional[string] @@ -1009,5 +1024,11 @@ class ParameterDeclaration(VariableDeclaration): is_by_ref: predicate is_optional: predicate +class VariableDeclarationInternal(VariableDeclaration): + pass + class AssignmentEventHandlerClr(AssignmentEventHandlerStatic): pass + +class AssignmentEventHandlerStaticInternal(AssignmentEventHandlerStatic): + pass diff --git a/xpp/tools/generate-schema.sh b/xpp/tools/generate-schema.sh index 5f3eefc0e874..e13f8ebef434 100755 --- a/xpp/tools/generate-schema.sh +++ b/xpp/tools/generate-schema.sh @@ -35,4 +35,10 @@ echo "==> running misc/codegen" cd "$xpp_root" PYTHONPATH="$repo_root" "$PYTHON" "$repo_root/misc/codegen/codegen.py" +echo "==> generating the TRAP writer" +dotnet run --project "$xpp_root/extractor/Xpp.SchemaGenerator" -c Release -- \ + trap "$xpp_root/ql/lib/xpp.dbscheme" \ + --package "$XPP_COMPILER_PACKAGE" \ + --output "$xpp_root/extractor/Xpp.Extraction/Generated/AstTrapEmitter.g.cs" + echo "==> done" From ef1363e0d24d4087873aa073a755937ee5078af0 Mon Sep 17 00:00:00 2001 From: Giulia Stocco <98900+gfs@users.noreply.github.com> Date: Mon, 17 Aug 2026 15:56:13 -0700 Subject: [PATCH 04/10] X++: wire the extractor into the CodeQL CLI `codeql database create --language=xpp` now produces a queryable database. Adds the tool scripts the CLI invokes and a script that assembles the extractor pack. X++ has no build step, so as with the PowerShell extractor the work happens in autobuild rather than in a build wrapper. The extractor now understands the environment the CLI sets up: it reads `--file-list`, writes one TRAP file per source file under CODEQL_EXTRACTOR_XPP_TRAP_DIR, and copies each object into CODEQL_EXTRACTOR_XPP_SOURCE_ARCHIVE_DIR so alerts have something to display. Passing `--trap` or leaving the environment unset keeps the single-stream behaviour that is convenient outside the CLI. Also stops generating the per-node-type test placeholders. They were 209 empty MISSING_SOURCE.txt markers with no value until real fixtures exist, and per-node-type generated tests are the wrong shape for this extractor anyway. The already-committed placeholder files still need removing separately. Verified with `codeql database create --language=xpp` over four AxClass objects: 65 source blocks, 2224 nodes, no unsupported nodes and no errors, TRAP imported and source archive written. Queries against the resulting database return the expected counts, including `while select`, ttsbegin and try/catch. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1f6fb880-dfd8-4fba-91a2-903f43dc287d --- xpp/codegen.conf | 1 - .../Xpp.Extraction/ExtractorLayout.cs | 62 ++++++++++ xpp/extractor/Xpp.Extractor/Program.cs | 111 ++++++++++++++---- xpp/tools/autobuild.cmd | 3 + xpp/tools/autobuild.sh | 6 + xpp/tools/build-extractor-pack.sh | 47 ++++++++ xpp/tools/index-files.cmd | 2 + xpp/tools/index-files.sh | 4 + xpp/tools/qltest.cmd | 2 + xpp/tools/qltest.sh | 4 + 10 files changed, 220 insertions(+), 22 deletions(-) create mode 100644 xpp/extractor/Xpp.Extraction/ExtractorLayout.cs create mode 100644 xpp/tools/autobuild.cmd create mode 100755 xpp/tools/autobuild.sh create mode 100755 xpp/tools/build-extractor-pack.sh create mode 100644 xpp/tools/index-files.cmd create mode 100755 xpp/tools/index-files.sh create mode 100644 xpp/tools/qltest.cmd create mode 100755 xpp/tools/qltest.sh diff --git a/xpp/codegen.conf b/xpp/codegen.conf index 059a00f334f8..22b76d2cee52 100644 --- a/xpp/codegen.conf +++ b/xpp/codegen.conf @@ -4,5 +4,4 @@ --dbscheme=ql/lib/xpp.dbscheme --ql-output=ql/lib/codeql/xpp/elements/internal/generated --ql-stub-output=ql/lib/codeql/xpp/elements ---ql-test-output=ql/test/extractor-tests/generated --script-name=xpp/tools/generate-schema.sh diff --git a/xpp/extractor/Xpp.Extraction/ExtractorLayout.cs b/xpp/extractor/Xpp.Extraction/ExtractorLayout.cs new file mode 100644 index 000000000000..2e8e4515b895 --- /dev/null +++ b/xpp/extractor/Xpp.Extraction/ExtractorLayout.cs @@ -0,0 +1,62 @@ +namespace Xpp.Extraction; + +/// +/// The environment CodeQL sets up for an extractor run. +/// +/// +/// The CLI passes the TRAP and source-archive destinations through +/// CODEQL_EXTRACTOR_XPP_* variables rather than on the command line. +/// +public sealed record ExtractorLayout( + string? TrapDirectory, + string? SourceArchiveDirectory, + string? SourceRoot) +{ + public static ExtractorLayout FromEnvironment() => + new( + Environment.GetEnvironmentVariable("CODEQL_EXTRACTOR_XPP_TRAP_DIR"), + Environment.GetEnvironmentVariable("CODEQL_EXTRACTOR_XPP_SOURCE_ARCHIVE_DIR"), + Environment.GetEnvironmentVariable("CODEQL_EXTRACTOR_XPP_WIP_DATABASE") is not null + ? Directory.GetCurrentDirectory() + : null); + + /// + /// Where the TRAP for should be written, or null when the + /// caller wants TRAP on standard output instead. + /// + public string? TrapPathFor(string sourcePath) + { + if (TrapDirectory is null) + return null; + + return Path.Combine(TrapDirectory, Relative(sourcePath) + ".trap"); + } + + /// Where should be copied for the source archive. + public string? ArchivePathFor(string sourcePath) + { + if (SourceArchiveDirectory is null) + return null; + + return Path.Combine(SourceArchiveDirectory, Relative(sourcePath)); + } + + /// + /// A path safe to append to a destination directory: rooted paths are flattened by dropping + /// the root, matching how the CLI lays out both trees. + /// + private string Relative(string sourcePath) + { + var full = Path.GetFullPath(sourcePath); + + if (SourceRoot is not null) + { + var relative = Path.GetRelativePath(SourceRoot, full); + if (!relative.StartsWith("..", StringComparison.Ordinal)) + return relative; + } + + return full.TrimStart(Path.DirectorySeparatorChar, '/') + .Replace(':', '_'); + } +} diff --git a/xpp/extractor/Xpp.Extractor/Program.cs b/xpp/extractor/Xpp.Extractor/Program.cs index c59c897356f9..7f4ee11af9cb 100644 --- a/xpp/extractor/Xpp.Extractor/Program.cs +++ b/xpp/extractor/Xpp.Extractor/Program.cs @@ -2,25 +2,46 @@ // Extracts X++ metadata objects to TRAP. // -// Xpp.Extractor ... [--trap ] +// Xpp.Extractor [...] [--file-list ] [--trap ] // // Paths may be files or directories; directories are searched for metadata objects that can -// carry X++ source. +// carry X++ source. When run by the CodeQL CLI the destinations come from the +// CODEQL_EXTRACTOR_XPP_* environment instead, and `--file-list` supplies the files to index. var paths = new List(); string? trapPath = null; +string? fileList = null; for (var i = 0; i < args.Length; i++) { - if (args[i] == "--trap" && i + 1 < args.Length) - trapPath = args[++i]; - else - paths.Add(args[i]); + switch (args[i]) + { + case "--trap" when i + 1 < args.Length: + trapPath = args[++i]; + break; + case "--file-list" when i + 1 < args.Length: + fileList = args[++i]; + break; + default: + paths.Add(args[i]); + break; + } +} + +if (fileList is not null) +{ + if (!File.Exists(fileList)) + { + Console.Error.WriteLine($"file list not found: {fileList}"); + return 2; + } + + paths.AddRange(File.ReadAllLines(fileList).Where(l => !string.IsNullOrWhiteSpace(l))); } if (paths.Count == 0) { - Console.Error.WriteLine("usage: Xpp.Extractor ... [--trap ]"); + Console.Error.WriteLine("usage: Xpp.Extractor [...] [--file-list ] [--trap ]"); return 2; } @@ -52,11 +73,7 @@ } } -using TextWriter output = trapPath is null - ? Console.Out - : new StreamWriter(File.Create(trapPath)); - -var trap = new TrapFile(output); +var layout = ExtractorLayout.FromEnvironment(); var extractor = new Extractor(); var totalBlocks = 0; @@ -64,22 +81,74 @@ var totalUnsupported = 0; var failed = 0; -foreach (var file in files.OrderBy(f => f, StringComparer.Ordinal)) -{ - var result = extractor.Extract(file, trap); - totalBlocks += result.Blocks; - totalNodes += result.Nodes; - totalUnsupported += result.Unsupported; +// One shared stream when the caller asked for a single TRAP file or stdout; otherwise the CLI +// expects one TRAP file per source file. +TextWriter? shared = trapPath is not null + ? new StreamWriter(File.Create(trapPath)) + : layout.TrapDirectory is null + ? Console.Out + : null; - foreach (var error in result.Errors) +try +{ + foreach (var file in files.OrderBy(f => f, StringComparer.Ordinal)) { - failed++; - Console.Error.WriteLine($"{file}: {error}"); + var output = shared; + if (output is null) + { + var destination = layout.TrapPathFor(file)!; + Directory.CreateDirectory(Path.GetDirectoryName(destination)!); + output = new StreamWriter(File.Create(destination)); + } + + try + { + var result = extractor.Extract(file, new TrapFile(output)); + totalBlocks += result.Blocks; + totalNodes += result.Nodes; + totalUnsupported += result.Unsupported; + + foreach (var error in result.Errors) + { + failed++; + Console.Error.WriteLine($"{file}: {error}"); + } + } + finally + { + if (!ReferenceEquals(output, shared)) + output.Dispose(); + } + + CopyToSourceArchive(file, layout); } } +finally +{ + if (shared is not null && !ReferenceEquals(shared, Console.Out)) + shared.Dispose(); +} Console.Error.WriteLine( $"extracted {files.Count} files, {totalBlocks} source blocks, {totalNodes} nodes " + $"({totalUnsupported} unsupported, {failed} errors)"); return failed == 0 ? 0 : 1; + +// Alerts need the original file in order to display, so it is copied verbatim. +static void CopyToSourceArchive(string file, ExtractorLayout layout) +{ + var destination = layout.ArchivePathFor(file); + if (destination is null) + return; + + try + { + Directory.CreateDirectory(Path.GetDirectoryName(destination)!); + File.Copy(file, destination, overwrite: true); + } + catch (Exception e) + { + Console.Error.WriteLine($"{file}: could not archive source: {e.Message}"); + } +} diff --git a/xpp/tools/autobuild.cmd b/xpp/tools/autobuild.cmd new file mode 100644 index 000000000000..2605035be083 --- /dev/null +++ b/xpp/tools/autobuild.cmd @@ -0,0 +1,3 @@ +@echo off +rem X++ is extracted from source with no build step. +"%CODEQL_EXTRACTOR_XPP_ROOT%\tools\%CODEQL_PLATFORM%\Xpp.Extractor.exe" . diff --git a/xpp/tools/autobuild.sh b/xpp/tools/autobuild.sh new file mode 100755 index 000000000000..e5945e40241a --- /dev/null +++ b/xpp/tools/autobuild.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -eu + +# X++ is extracted from source with no build step: walk the source root for metadata objects +# that carry X++ and extract them. +exec "$CODEQL_EXTRACTOR_XPP_ROOT/tools/$CODEQL_PLATFORM/Xpp.Extractor" . diff --git a/xpp/tools/build-extractor-pack.sh b/xpp/tools/build-extractor-pack.sh new file mode 100755 index 000000000000..a6128801c155 --- /dev/null +++ b/xpp/tools/build-extractor-pack.sh @@ -0,0 +1,47 @@ +#!/bin/bash +# Assembles the X++ extractor pack. +# +# xpp/tools/build-extractor-pack.sh [output-dir] +# +# Produces a directory the CodeQL CLI can use via `--search-path`, laid out as the CLI expects: +# +# /xpp/codeql-extractor.yml +# /xpp/xpp.dbscheme(.stats) +# /xpp/tools/{index-files,autobuild,qltest}.{sh,cmd} +# /xpp/tools//Xpp.Extractor +# +# The proprietary compiler package is not bundled; the extractor resolves it at run time from +# XPP_COMPILER_PACKAGE. + +set -euo pipefail + +here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +xpp_root="$(dirname "$here")" +output="${1:-$xpp_root/extractor-pack}" + +case "$(uname -s)" in + Darwin) platform="osx64" ;; + Linux) platform="linux64" ;; + *) platform="win64" ;; +esac + +pack="$output/xpp" +rm -rf "$pack" +mkdir -p "$pack/tools/$platform" + +cp "$xpp_root/codeql-extractor.yml" "$pack/" +cp "$xpp_root/ql/lib/xpp.dbscheme" "$pack/" +cp "$xpp_root/ql/lib/xpp.dbscheme.stats" "$pack/" + +for script in index-files autobuild qltest; do + cp "$here/$script.sh" "$here/$script.cmd" "$pack/tools/" +done +chmod +x "$pack/tools/"*.sh + +dotnet publish "$xpp_root/extractor/Xpp.Extractor" \ + -c Release \ + -o "$pack/tools/$platform" \ + --nologo \ + -v quiet + +echo "extractor pack written to $pack" diff --git a/xpp/tools/index-files.cmd b/xpp/tools/index-files.cmd new file mode 100644 index 000000000000..1a03e78f19ab --- /dev/null +++ b/xpp/tools/index-files.cmd @@ -0,0 +1,2 @@ +@echo off +"%CODEQL_EXTRACTOR_XPP_ROOT%\tools\%CODEQL_PLATFORM%\Xpp.Extractor.exe" --file-list "%1" diff --git a/xpp/tools/index-files.sh b/xpp/tools/index-files.sh new file mode 100755 index 000000000000..9ffa91da9494 --- /dev/null +++ b/xpp/tools/index-files.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -eu + +exec "$CODEQL_EXTRACTOR_XPP_ROOT/tools/$CODEQL_PLATFORM/Xpp.Extractor" --file-list "$1" diff --git a/xpp/tools/qltest.cmd b/xpp/tools/qltest.cmd new file mode 100644 index 000000000000..9fb0791374b0 --- /dev/null +++ b/xpp/tools/qltest.cmd @@ -0,0 +1,2 @@ +@echo off +"%CODEQL_EXTRACTOR_XPP_ROOT%\tools\%CODEQL_PLATFORM%\Xpp.Extractor.exe" . diff --git a/xpp/tools/qltest.sh b/xpp/tools/qltest.sh new file mode 100755 index 000000000000..2df91fe8aad1 --- /dev/null +++ b/xpp/tools/qltest.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -eu + +exec "$CODEQL_EXTRACTOR_XPP_ROOT/tools/$CODEQL_PLATFORM/Xpp.Extractor" . From 847e71b40be93b0ede9e58b51e8f92d9fb896455 Mon Sep 17 00:00:00 2001 From: Giulia Stocco <98900+gfs@users.noreply.github.com> Date: Mon, 17 Aug 2026 15:59:49 -0700 Subject: [PATCH 05/10] X++: add a library test, and fix traversal into tuple-held children Adds the first QL test, covering the class and its methods, the control-flow statements, and the database statements that have no equivalent in other languages. Writing it immediately found a bug. The compiler groups some children in CLR tuples, such as a `catch` with its handler body and a switch case with its statements. The tree walk only followed properties that were an AST node or a sequence of them, so it stepped over those tuples and never visited the subtrees inside. A `ttsabort` in a catch block was extracted as zero statements. Traversal now looks through tuple slots, and the test pins the counts for both shapes. Extraction during `codeql test run` uses the qltest protocol, which needs `legacy_qltest_extraction` in the extractor config. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1f6fb880-dfd8-4fba-91a2-903f43dc287d --- xpp/codeql-extractor.yml | 1 + xpp/extractor/Xpp.Extraction/Extractor.cs | 61 +++++++++---- xpp/ql/test/library-tests/ast/Ast.expected | 19 ++++ xpp/ql/test/library-tests/ast/Ast.ql | 41 +++++++++ .../ast/AxClass/XppLanguageBasics.xml | 86 +++++++++++++++++++ xpp/ql/test/qlpack.yml | 9 ++ 6 files changed, 199 insertions(+), 18 deletions(-) create mode 100644 xpp/ql/test/library-tests/ast/Ast.expected create mode 100644 xpp/ql/test/library-tests/ast/Ast.ql create mode 100644 xpp/ql/test/library-tests/ast/AxClass/XppLanguageBasics.xml create mode 100644 xpp/ql/test/qlpack.yml diff --git a/xpp/codeql-extractor.yml b/xpp/codeql-extractor.yml index 81fec7b2a440..9612f9a64a04 100644 --- a/xpp/codeql-extractor.yml +++ b/xpp/codeql-extractor.yml @@ -2,6 +2,7 @@ name: "xpp" display_name: "X++" version: 0.0.1 column_kind: "utf16" +legacy_qltest_extraction: true build_modes: - none file_types: diff --git a/xpp/extractor/Xpp.Extraction/Extractor.cs b/xpp/extractor/Xpp.Extraction/Extractor.cs index 9be2276e8721..9dfbaf84d0a1 100644 --- a/xpp/extractor/Xpp.Extraction/Extractor.cs +++ b/xpp/extractor/Xpp.Extraction/Extractor.cs @@ -1,3 +1,4 @@ +using System.Runtime.CompilerServices; using System.Xml.Linq; using Microsoft.Dynamics.AX.Framework.Xlnt.XppParser; using Microsoft.Dynamics.AX.Metadata.XppCompiler; @@ -136,24 +137,48 @@ private static IEnumerable Children(object node) continue; } - switch (value) - { - case null: - break; - case Ast child: - yield return child; - break; - case string: - break; - case System.Collections.IEnumerable sequence: - foreach (var item in sequence) - { - if (item is Ast element) - yield return element; - } - - break; - } + foreach (var child in Reachable(value)) + yield return child; + } + } + + /// + /// The AST nodes held by a property value. + /// + /// + /// The compiler groups some children in CLR tuples, such as a `catch` with its handler body + /// or a switch case with its statements, so tuple slots have to be looked through or those + /// subtrees are never visited. + /// + private static IEnumerable Reachable(object? value) + { + switch (value) + { + case null: + case string: + yield break; + + case Ast child: + yield return child; + break; + + case ITuple tuple: + for (var i = 0; i < tuple.Length; i++) + { + foreach (var nested in Reachable(tuple[i])) + yield return nested; + } + + break; + + case System.Collections.IEnumerable sequence: + foreach (var item in sequence) + { + foreach (var nested in Reachable(item)) + yield return nested; + } + + break; } } } diff --git a/xpp/ql/test/library-tests/ast/Ast.expected b/xpp/ql/test/library-tests/ast/Ast.expected new file mode 100644 index 000000000000..37e379c7ca96 --- /dev/null +++ b/xpp/ql/test/library-tests/ast/Ast.expected @@ -0,0 +1,19 @@ +classes +| XppLanguageBasics | +methods +| controlFlow | +| databaseAccess | +statementCounts +| FindStatement | 1 | +| ForStatement | 1 | +| IfThenElseStatement | 1 | +| ReturnStatement | 1 | +| SearchStatement | 1 | +| SwitchStatement | 1 | +| SwitchStatementCaseEntry | 3 | +| TryStatement | 1 | +| TryStatementCatchEntry | 1 | +| TtsAbortStatement | 1 | +| TtsBeginStatement | 1 | +| TtsEndStatement | 1 | +| WhileStatement | 1 | diff --git a/xpp/ql/test/library-tests/ast/Ast.ql b/xpp/ql/test/library-tests/ast/Ast.ql new file mode 100644 index 000000000000..11d417eee6b6 --- /dev/null +++ b/xpp/ql/test/library-tests/ast/Ast.ql @@ -0,0 +1,41 @@ +/** + * Checks that the core X++ language constructs are extracted: the class and its methods, the + * control-flow statements, and the database statements that have no equivalent in other + * languages. + */ + +import codeql.xpp.elements + +query predicate classes(string name) { name = any(Class c).getName() } + +query predicate methods(string name) { name = any(Method m).getName() } + +query predicate statementCounts(string kind, int n) { + kind = "ForStatement" and n = count(ForStatement s) + or + kind = "IfThenElseStatement" and n = count(IfThenElseStatement s) + or + kind = "WhileStatement" and n = count(WhileStatement s) + or + kind = "ReturnStatement" and n = count(ReturnStatement s) + or + kind = "SearchStatement" and n = count(SearchStatement s) + or + kind = "FindStatement" and n = count(FindStatement s) + or + kind = "TtsBeginStatement" and n = count(TtsBeginStatement s) + or + kind = "TtsEndStatement" and n = count(TtsEndStatement s) + or + kind = "TtsAbortStatement" and n = count(TtsAbortStatement s) + or + kind = "TryStatement" and n = count(TryStatement s) + or + kind = "SwitchStatement" and n = count(SwitchStatement s) + or + // Switch cases and catch clauses are held in CLR tuples in the compiler's AST, so these + // confirm the extractor looks through tuple slots when walking the tree. + kind = "SwitchStatementCaseEntry" and n = count(SwitchStatementCaseEntry e) + or + kind = "TryStatementCatchEntry" and n = count(TryStatementCatchEntry e) +} diff --git a/xpp/ql/test/library-tests/ast/AxClass/XppLanguageBasics.xml b/xpp/ql/test/library-tests/ast/AxClass/XppLanguageBasics.xml new file mode 100644 index 000000000000..20877b9d2974 --- /dev/null +++ b/xpp/ql/test/library-tests/ast/AxClass/XppLanguageBasics.xml @@ -0,0 +1,86 @@ + + + XppLanguageBasics + + + + + controlFlow + 5) + { + total += i; + } + else + { + total -= i; + } + } + + while (total > 100) + { + total = total div 2; + } + + switch (total) + { + case 0: + total = 1; + break; + + case 1, 2: + total = 3; + break; + + default: + total = -1; + break; + } + + return total; + } +]]> + + + databaseAccess + + + + + diff --git a/xpp/ql/test/qlpack.yml b/xpp/ql/test/qlpack.yml new file mode 100644 index 000000000000..0af2b90abb80 --- /dev/null +++ b/xpp/ql/test/qlpack.yml @@ -0,0 +1,9 @@ +name: microsoft/xpp-tests +version: 0.0.1 +groups: + - xpp + - test +dependencies: + microsoft/xpp-all: ${workspace} +extractor: xpp +tests: . From 5b29987f4134207d87a7e8ad19a3b370f337dad8 Mon Sep 17 00:00:00 2001 From: Giulia Stocco <98900+gfs@users.noreply.github.com> Date: Mon, 17 Aug 2026 16:06:47 -0700 Subject: [PATCH 06/10] X++: set warnOnImplicitThis on the test pack The check-implicit-this workflow requires the property on every qlpack.yml, and the newly added test pack was missing it. The library pack already had it. Enabling it produces no warnings in the generated or hand-written QL, and the library test still passes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1f6fb880-dfd8-4fba-91a2-903f43dc287d --- xpp/ql/test/qlpack.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/xpp/ql/test/qlpack.yml b/xpp/ql/test/qlpack.yml index 0af2b90abb80..86bf90712efa 100644 --- a/xpp/ql/test/qlpack.yml +++ b/xpp/ql/test/qlpack.yml @@ -7,3 +7,4 @@ dependencies: microsoft/xpp-all: ${workspace} extractor: xpp tests: . +warnOnImplicitThis: true From 1ed90c938065929b59a38cd6985dfe48789645a6 Mon Sep 17 00:00:00 2001 From: Giulia Stocco <98900+gfs@users.noreply.github.com> Date: Mon, 17 Aug 2026 16:12:35 -0700 Subject: [PATCH 07/10] X++: drop generated per-node-type test placeholders These were 209 empty MISSING_SOURCE.txt markers, one per AST node type, generated before any fixtures existed. codegen.conf no longer produces them. The hand-written library test under xpp/ql/test/library-tests covers this ground far better - writing it found a real traversal bug that the generated placeholders never would have. --- .../generated/AddExpression/MISSING_SOURCE.txt | 4 ---- .../generated/AllFieldsSelection/MISSING_SOURCE.txt | 4 ---- .../generated/AndExpression/MISSING_SOURCE.txt | 4 ---- .../test/extractor-tests/generated/AnyType/MISSING_SOURCE.txt | 4 ---- .../generated/ArraySpecification/MISSING_SOURCE.txt | 4 ---- .../generated/AsClrExpression/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/AsExpression/MISSING_SOURCE.txt | 4 ---- .../generated/AssignDecrementStatement/MISSING_SOURCE.txt | 4 ---- .../generated/AssignDivideStatement/MISSING_SOURCE.txt | 4 ---- .../generated/AssignEqualStatement/MISSING_SOURCE.txt | 4 ---- .../generated/AssignIncrementStatement/MISSING_SOURCE.txt | 4 ---- .../generated/AssignMultipleFieldStatement/MISSING_SOURCE.txt | 4 ---- .../generated/AssignMultiplyStatement/MISSING_SOURCE.txt | 4 ---- .../generated/AssignPostDecrementStatement/MISSING_SOURCE.txt | 4 ---- .../generated/AssignPostIncrementStatement/MISSING_SOURCE.txt | 4 ---- .../generated/AssignPreDecrementStatement/MISSING_SOURCE.txt | 4 ---- .../generated/AssignPreIncrementStatement/MISSING_SOURCE.txt | 4 ---- .../generated/AssignmentEventHandlerClr/MISSING_SOURCE.txt | 4 ---- .../AssignmentEventHandlerInstance/MISSING_SOURCE.txt | 4 ---- .../AssignmentEventHandlerStaticInternal/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/Attribute/MISSING_SOURCE.txt | 4 ---- .../generated/AttributeExpression/MISSING_SOURCE.txt | 4 ---- .../generated/AttributeList/MISSING_SOURCE.txt | 4 ---- .../generated/AttributeNamedParameterEntry/MISSING_SOURCE.txt | 4 ---- .../generated/AvgAggregateSelection/MISSING_SOURCE.txt | 4 ---- .../generated/BooleanAttributeLiteral/MISSING_SOURCE.txt | 4 ---- .../generated/BooleanLiteralExpression/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/BooleanType/MISSING_SOURCE.txt | 4 ---- .../generated/BreakStatement/MISSING_SOURCE.txt | 4 ---- .../generated/BreakpointStatement/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/CaseDefault/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/CaseValues/MISSING_SOURCE.txt | 4 ---- .../generated/CatchAllValues/MISSING_SOURCE.txt | 4 ---- .../generated/CatchExpression/MISSING_SOURCE.txt | 4 ---- .../generated/CatchUpdateConflict/MISSING_SOURCE.txt | 4 ---- .../generated/ChangeCompanyStatement/MISSING_SOURCE.txt | 4 ---- .../test/extractor-tests/generated/Class/MISSING_SOURCE.txt | 4 ---- .../generated/ClassAccessModifier/MISSING_SOURCE.txt | 4 ---- .../ClrEnumerationLiteralExpression/MISSING_SOURCE.txt | 4 ---- .../test/extractor-tests/generated/ClrType/MISSING_SOURCE.txt | 4 ---- .../test/extractor-tests/generated/Comment/MISSING_SOURCE.txt | 4 ---- .../generated/CompilationUnitRegionEntry/MISSING_SOURCE.txt | 4 ---- .../generated/CompoundStatement/MISSING_SOURCE.txt | 4 ---- .../generated/ConditionalExpression/MISSING_SOURCE.txt | 4 ---- .../generated/ContainerAttributeLiteral/MISSING_SOURCE.txt | 4 ---- .../generated/ContainerLiteralExpression/MISSING_SOURCE.txt | 4 ---- .../generated/ContainerType/MISSING_SOURCE.txt | 4 ---- .../generated/ContinueStatement/MISSING_SOURCE.txt | 4 ---- .../generated/CountAggregateSelection/MISSING_SOURCE.txt | 4 ---- .../generated/CrossCompanyAll/MISSING_SOURCE.txt | 4 ---- .../generated/CrossCompanyContainer/MISSING_SOURCE.txt | 4 ---- .../generated/DateAttributeLiteral/MISSING_SOURCE.txt | 4 ---- .../generated/DateLiteralExpression/MISSING_SOURCE.txt | 4 ---- .../generated/DateTimeAttributeLiteral/MISSING_SOURCE.txt | 4 ---- .../generated/DateTimeLiteralExpression/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/DateTimeType/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/DateType/MISSING_SOURCE.txt | 4 ---- .../generated/DblAttributeLiteral/MISSING_SOURCE.txt | 4 ---- .../test/extractor-tests/generated/DblType/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/Delegate/MISSING_SOURCE.txt | 4 ---- .../generated/DeleteStatement/MISSING_SOURCE.txt | 4 ---- .../generated/DivideExpression/MISSING_SOURCE.txt | 4 ---- .../generated/DoWhileStatement/MISSING_SOURCE.txt | 4 ---- .../generated/EmptyExpression/MISSING_SOURCE.txt | 4 ---- .../generated/EmptyStatement/MISSING_SOURCE.txt | 4 ---- .../generated/EnumAttributeLiteral/MISSING_SOURCE.txt | 4 ---- .../generated/EnumerationLiteralExpression/MISSING_SOURCE.txt | 4 ---- .../generated/EnumerationType/MISSING_SOURCE.txt | 4 ---- .../generated/EqualExpression/MISSING_SOURCE.txt | 4 ---- .../EvaluationActualParameterEntry/MISSING_SOURCE.txt | 4 ---- .../generated/ExplicitSelection/MISSING_SOURCE.txt | 4 ---- .../generated/ExpressionCompilationUnit/MISSING_SOURCE.txt | 4 ---- .../generated/ExpressionQualifier/MISSING_SOURCE.txt | 4 ---- .../generated/ExpressionStatement/MISSING_SOURCE.txt | 4 ---- .../generated/FieldAssignment/MISSING_SOURCE.txt | 4 ---- .../generated/FieldDeclarationInternal/MISSING_SOURCE.txt | 4 ---- .../generated/FieldExpressionInternal/MISSING_SOURCE.txt | 4 ---- .../generated/FieldSelection/MISSING_SOURCE.txt | 4 ---- xpp/ql/test/extractor-tests/generated/File/MISSING_SOURCE.txt | 4 ---- .../generated/FindStatement/MISSING_SOURCE.txt | 4 ---- .../generated/FlushStatement/MISSING_SOURCE.txt | 4 ---- .../generated/ForDeclarationAssign/MISSING_SOURCE.txt | 4 ---- .../generated/ForFieldAssign/MISSING_SOURCE.txt | 4 ---- .../generated/ForFieldDecrementAssign/MISSING_SOURCE.txt | 4 ---- .../generated/ForFieldIncrementAssign/MISSING_SOURCE.txt | 4 ---- .../generated/ForFieldPostDecrement/MISSING_SOURCE.txt | 4 ---- .../generated/ForFieldPostIncrement/MISSING_SOURCE.txt | 4 ---- .../generated/ForFieldPreDecrement/MISSING_SOURCE.txt | 4 ---- .../generated/ForFieldPreIncrement/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/ForStatement/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/FormControl/MISSING_SOURCE.txt | 4 ---- .../generated/FormDataField/MISSING_SOURCE.txt | 4 ---- .../generated/FormDataSource/MISSING_SOURCE.txt | 4 ---- .../generated/FormElementType/MISSING_SOURCE.txt | 4 ---- .../generated/FormModelElement/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/FunctionCall/MISSING_SOURCE.txt | 4 ---- .../generated/FunctionDeclaration/MISSING_SOURCE.txt | 4 ---- .../generated/GlobalOrderElement/MISSING_SOURCE.txt | 4 ---- .../generated/GreaterThanExpression/MISSING_SOURCE.txt | 4 ---- .../generated/GreaterThanOrEqualExpression/MISSING_SOURCE.txt | 4 ---- .../generated/GuidAttributeLiteral/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/GuidType/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/IfStatement/MISSING_SOURCE.txt | 4 ---- .../generated/IfThenElseStatement/MISSING_SOURCE.txt | 4 ---- .../generated/ImplicitSelection/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/InExpression/MISSING_SOURCE.txt | 4 ---- .../generated/InsertFieldSpecification/MISSING_SOURCE.txt | 4 ---- .../generated/InsertStatement/MISSING_SOURCE.txt | 4 ---- .../generated/Int64AttributeLiteral/MISSING_SOURCE.txt | 4 ---- .../generated/Int64LiteralExpression/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/Int64Type/MISSING_SOURCE.txt | 4 ---- .../generated/IntAttributeLiteral/MISSING_SOURCE.txt | 4 ---- .../generated/IntLiteralExpression/MISSING_SOURCE.txt | 4 ---- .../test/extractor-tests/generated/IntType/MISSING_SOURCE.txt | 4 ---- .../generated/IntegerDivideExpression/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/Interface/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/Intrinsic/MISSING_SOURCE.txt | 4 ---- .../generated/IntrinsicAttributeLiteral/MISSING_SOURCE.txt | 4 ---- .../generated/IsClrExpression/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/IsExpression/MISSING_SOURCE.txt | 4 ---- .../generated/JoinSpecification/MISSING_SOURCE.txt | 4 ---- .../generated/LessThanExpression/MISSING_SOURCE.txt | 4 ---- .../generated/LessThanOrEqualExpression/MISSING_SOURCE.txt | 4 ---- .../generated/LikeExpression/MISSING_SOURCE.txt | 4 ---- .../generated/LocalDeclarationsStatement/MISSING_SOURCE.txt | 4 ---- .../generated/MaxAggregateSelection/MISSING_SOURCE.txt | 4 ---- .../test/extractor-tests/generated/Method/MISSING_SOURCE.txt | 4 ---- .../generated/MinAggregateSelection/MISSING_SOURCE.txt | 4 ---- .../generated/ModExpression/MISSING_SOURCE.txt | 4 ---- .../generated/ModelElementUsingEntry/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/Modifier/MISSING_SOURCE.txt | 4 ---- .../generated/MoveCursorStatement/MISSING_SOURCE.txt | 4 ---- .../generated/MultiplyExpression/MISSING_SOURCE.txt | 4 ---- .../generated/NamedFieldReference/MISSING_SOURCE.txt | 4 ---- .../generated/NamedTypeInternal/MISSING_SOURCE.txt | 4 ---- .../test/extractor-tests/generated/NewCall/MISSING_SOURCE.txt | 4 ---- .../generated/NewClrArrayExpression/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/NewClrCall/MISSING_SOURCE.txt | 4 ---- .../generated/NextExpression/MISSING_SOURCE.txt | 4 ---- .../generated/NotEqualExpression/MISSING_SOURCE.txt | 4 ---- .../generated/NotExpression/MISSING_SOURCE.txt | 4 ---- .../generated/NullLiteralExpression/MISSING_SOURCE.txt | 4 ---- .../generated/NumberedFieldReference/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/OrExpression/MISSING_SOURCE.txt | 4 ---- .../generated/ParameterDeclaration/MISSING_SOURCE.txt | 4 ---- .../generated/PhysicalAndExpression/MISSING_SOURCE.txt | 4 ---- .../generated/PhysicalNotExpression/MISSING_SOURCE.txt | 4 ---- .../generated/PhysicalOrExpression/MISSING_SOURCE.txt | 4 ---- .../generated/PhysicalXorExpression/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/Placeholder/MISSING_SOURCE.txt | 4 ---- .../generated/PrintStatement/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/ProvidedType/MISSING_SOURCE.txt | 4 ---- .../generated/ProvidedTypeStaticCall/MISSING_SOURCE.txt | 4 ---- .../generated/QualifiedCall/MISSING_SOURCE.txt | 4 ---- .../generated/QualifiedField/MISSING_SOURCE.txt | 4 ---- .../generated/QualifiedInstanceName/MISSING_SOURCE.txt | 4 ---- .../generated/QualifiedNumberedField/MISSING_SOURCE.txt | 4 ---- .../generated/QualifiedStaticCall/MISSING_SOURCE.txt | 4 ---- .../generated/QualifiedStaticField/MISSING_SOURCE.txt | 4 ---- .../QualifiedStaticFieldExpression/MISSING_SOURCE.txt | 4 ---- .../test/extractor-tests/generated/Query/MISSING_SOURCE.txt | 4 ---- .../generated/QueryDataSource/MISSING_SOURCE.txt | 4 ---- .../generated/QueryDataSourceHaving/MISSING_SOURCE.txt | 4 ---- .../generated/QueryDataSourceRange/MISSING_SOURCE.txt | 4 ---- .../generated/QueryDataSourceRelation/MISSING_SOURCE.txt | 4 ---- .../generated/QueryModelElement/MISSING_SOURCE.txt | 4 ---- .../generated/RealLiteralExpression/MISSING_SOURCE.txt | 4 ---- .../generated/RetryStatement/MISSING_SOURCE.txt | 4 ---- .../generated/ReturnStatement/MISSING_SOURCE.txt | 4 ---- .../generated/SearchStatement/MISSING_SOURCE.txt | 4 ---- .../generated/ShiftLeftExpression/MISSING_SOURCE.txt | 4 ---- .../generated/ShiftRightExpression/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/SimpleField/MISSING_SOURCE.txt | 4 ---- .../generated/SimpleInstanceName/MISSING_SOURCE.txt | 4 ---- .../generated/SimpleOrderElement/MISSING_SOURCE.txt | 4 ---- .../generated/SimpleQualifierInternal/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/StaticField/MISSING_SOURCE.txt | 4 ---- .../generated/StaticMethodCall/MISSING_SOURCE.txt | 4 ---- .../generated/StaticQualifier/MISSING_SOURCE.txt | 4 ---- .../generated/StringAttributeLiteral/MISSING_SOURCE.txt | 4 ---- .../generated/StringLengthType/MISSING_SOURCE.txt | 4 ---- .../generated/StringLiteralExpression/MISSING_SOURCE.txt | 4 ---- .../generated/StringTypeInternal/MISSING_SOURCE.txt | 4 ---- .../generated/SubtractExpression/MISSING_SOURCE.txt | 4 ---- .../generated/SumAggregateSelection/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/SuperCall/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/SwitchCase/MISSING_SOURCE.txt | 4 ---- .../generated/SwitchStatement/MISSING_SOURCE.txt | 4 ---- .../generated/SwitchStatementCaseEntry/MISSING_SOURCE.txt | 4 ---- .../test/extractor-tests/generated/Table/MISSING_SOURCE.txt | 4 ---- .../generated/TableFieldDeclaration/MISSING_SOURCE.txt | 4 ---- .../generated/TableLookupExpression/MISSING_SOURCE.txt | 4 ---- .../generated/ThrowStatement/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/TryStatement/MISSING_SOURCE.txt | 4 ---- .../generated/TryStatementCatchEntry/MISSING_SOURCE.txt | 4 ---- .../generated/TtsAbortStatement/MISSING_SOURCE.txt | 4 ---- .../generated/TtsBeginStatement/MISSING_SOURCE.txt | 4 ---- .../generated/TtsEndStatement/MISSING_SOURCE.txt | 4 ---- .../generated/UnaryMinusExpression/MISSING_SOURCE.txt | 4 ---- .../generated/UncheckedStatement/MISSING_SOURCE.txt | 4 ---- .../generated/UpdateStatement/MISSING_SOURCE.txt | 4 ---- .../generated/UsingStatement/MISSING_SOURCE.txt | 4 ---- .../generated/ValidTimeStateDate/MISSING_SOURCE.txt | 4 ---- .../generated/ValidTimeStateRange/MISSING_SOURCE.txt | 4 ---- .../test/extractor-tests/generated/VarType/MISSING_SOURCE.txt | 4 ---- .../generated/VariableDeclarationInternal/MISSING_SOURCE.txt | 4 ---- .../extractor-tests/generated/VoidType/MISSING_SOURCE.txt | 4 ---- .../generated/WhileStatement/MISSING_SOURCE.txt | 4 ---- .../generated/XppTypeCompilationUnit/MISSING_SOURCE.txt | 4 ---- 209 files changed, 836 deletions(-) delete mode 100644 xpp/ql/test/extractor-tests/generated/AddExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AllFieldsSelection/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AndExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AnyType/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ArraySpecification/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AsClrExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AsExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AssignDecrementStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AssignDivideStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AssignEqualStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AssignIncrementStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AssignMultipleFieldStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AssignMultiplyStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AssignPostDecrementStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AssignPostIncrementStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AssignPreDecrementStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AssignPreIncrementStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerClr/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerInstance/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerStaticInternal/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/Attribute/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AttributeExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AttributeList/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AttributeNamedParameterEntry/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/AvgAggregateSelection/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/BooleanAttributeLiteral/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/BooleanLiteralExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/BooleanType/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/BreakStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/BreakpointStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/CaseDefault/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/CaseValues/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/CatchAllValues/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/CatchExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/CatchUpdateConflict/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ChangeCompanyStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/Class/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ClassAccessModifier/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ClrEnumerationLiteralExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ClrType/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/Comment/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/CompilationUnitRegionEntry/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/CompoundStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ConditionalExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ContainerAttributeLiteral/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ContainerLiteralExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ContainerType/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ContinueStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/CountAggregateSelection/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/CrossCompanyAll/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/CrossCompanyContainer/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/DateAttributeLiteral/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/DateLiteralExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/DateTimeAttributeLiteral/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/DateTimeLiteralExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/DateTimeType/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/DateType/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/DblAttributeLiteral/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/DblType/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/Delegate/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/DeleteStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/DivideExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/DoWhileStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/EmptyExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/EmptyStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/EnumAttributeLiteral/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/EnumerationLiteralExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/EnumerationType/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/EqualExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/EvaluationActualParameterEntry/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ExplicitSelection/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ExpressionCompilationUnit/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ExpressionQualifier/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ExpressionStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/FieldAssignment/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/FieldDeclarationInternal/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/FieldExpressionInternal/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/FieldSelection/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/File/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/FindStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/FlushStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ForDeclarationAssign/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ForFieldAssign/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ForFieldDecrementAssign/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ForFieldIncrementAssign/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ForFieldPostDecrement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ForFieldPostIncrement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ForFieldPreDecrement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ForFieldPreIncrement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ForStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/FormControl/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/FormDataField/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/FormDataSource/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/FormElementType/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/FormModelElement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/FunctionCall/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/FunctionDeclaration/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/GlobalOrderElement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/GreaterThanExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/GreaterThanOrEqualExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/GuidAttributeLiteral/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/GuidType/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/IfStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/IfThenElseStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ImplicitSelection/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/InExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/InsertFieldSpecification/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/InsertStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/Int64AttributeLiteral/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/Int64LiteralExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/Int64Type/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/IntAttributeLiteral/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/IntLiteralExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/IntType/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/IntegerDivideExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/Interface/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/Intrinsic/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/IntrinsicAttributeLiteral/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/IsClrExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/IsExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/JoinSpecification/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/LessThanExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/LessThanOrEqualExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/LikeExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/LocalDeclarationsStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/MaxAggregateSelection/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/Method/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/MinAggregateSelection/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ModExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ModelElementUsingEntry/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/Modifier/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/MoveCursorStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/MultiplyExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/NamedFieldReference/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/NamedTypeInternal/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/NewCall/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/NewClrArrayExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/NewClrCall/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/NextExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/NotEqualExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/NotExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/NullLiteralExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/NumberedFieldReference/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/OrExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ParameterDeclaration/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/PhysicalAndExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/PhysicalNotExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/PhysicalOrExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/PhysicalXorExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/Placeholder/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/PrintStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ProvidedType/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ProvidedTypeStaticCall/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/QualifiedCall/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/QualifiedField/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/QualifiedInstanceName/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/QualifiedNumberedField/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/QualifiedStaticCall/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/QualifiedStaticField/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/QualifiedStaticFieldExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/Query/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/QueryDataSource/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/QueryDataSourceHaving/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/QueryDataSourceRange/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/QueryDataSourceRelation/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/QueryModelElement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/RealLiteralExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/RetryStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ReturnStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/SearchStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ShiftLeftExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ShiftRightExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/SimpleField/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/SimpleInstanceName/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/SimpleOrderElement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/SimpleQualifierInternal/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/StaticField/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/StaticMethodCall/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/StaticQualifier/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/StringAttributeLiteral/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/StringLengthType/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/StringLiteralExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/StringTypeInternal/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/SubtractExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/SumAggregateSelection/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/SuperCall/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/SwitchCase/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/SwitchStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/SwitchStatementCaseEntry/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/Table/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/TableFieldDeclaration/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/TableLookupExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ThrowStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/TryStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/TryStatementCatchEntry/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/TtsAbortStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/TtsBeginStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/TtsEndStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/UnaryMinusExpression/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/UncheckedStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/UpdateStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/UsingStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ValidTimeStateDate/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/ValidTimeStateRange/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/VarType/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/VariableDeclarationInternal/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/VoidType/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/WhileStatement/MISSING_SOURCE.txt delete mode 100644 xpp/ql/test/extractor-tests/generated/XppTypeCompilationUnit/MISSING_SOURCE.txt diff --git a/xpp/ql/test/extractor-tests/generated/AddExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AddExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AddExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AllFieldsSelection/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AllFieldsSelection/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AllFieldsSelection/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AndExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AndExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AndExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AnyType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AnyType/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AnyType/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ArraySpecification/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ArraySpecification/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ArraySpecification/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AsClrExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AsClrExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AsClrExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AsExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AsExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AsExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignDecrementStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignDecrementStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AssignDecrementStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignDivideStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignDivideStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AssignDivideStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignEqualStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignEqualStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AssignEqualStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignIncrementStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignIncrementStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AssignIncrementStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignMultipleFieldStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignMultipleFieldStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AssignMultipleFieldStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignMultiplyStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignMultiplyStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AssignMultiplyStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignPostDecrementStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignPostDecrementStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AssignPostDecrementStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignPostIncrementStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignPostIncrementStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AssignPostIncrementStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignPreDecrementStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignPreDecrementStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AssignPreDecrementStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignPreIncrementStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignPreIncrementStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AssignPreIncrementStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerClr/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerClr/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerClr/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerInstance/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerInstance/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerInstance/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerStaticInternal/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerStaticInternal/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AssignmentEventHandlerStaticInternal/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Attribute/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Attribute/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/Attribute/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AttributeExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AttributeExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AttributeExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AttributeList/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AttributeList/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AttributeList/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AttributeNamedParameterEntry/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AttributeNamedParameterEntry/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AttributeNamedParameterEntry/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/AvgAggregateSelection/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/AvgAggregateSelection/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/AvgAggregateSelection/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/BooleanAttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/BooleanAttributeLiteral/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/BooleanAttributeLiteral/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/BooleanLiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/BooleanLiteralExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/BooleanLiteralExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/BooleanType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/BooleanType/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/BooleanType/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/BreakStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/BreakStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/BreakStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/BreakpointStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/BreakpointStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/BreakpointStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/CaseDefault/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/CaseDefault/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/CaseDefault/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/CaseValues/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/CaseValues/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/CaseValues/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/CatchAllValues/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/CatchAllValues/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/CatchAllValues/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/CatchExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/CatchExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/CatchExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/CatchUpdateConflict/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/CatchUpdateConflict/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/CatchUpdateConflict/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ChangeCompanyStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ChangeCompanyStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ChangeCompanyStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Class/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Class/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/Class/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ClassAccessModifier/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ClassAccessModifier/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ClassAccessModifier/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ClrEnumerationLiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ClrEnumerationLiteralExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ClrEnumerationLiteralExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ClrType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ClrType/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ClrType/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Comment/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Comment/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/Comment/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/CompilationUnitRegionEntry/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/CompilationUnitRegionEntry/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/CompilationUnitRegionEntry/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/CompoundStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/CompoundStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/CompoundStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ConditionalExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ConditionalExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ConditionalExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ContainerAttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ContainerAttributeLiteral/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ContainerAttributeLiteral/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ContainerLiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ContainerLiteralExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ContainerLiteralExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ContainerType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ContainerType/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ContainerType/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ContinueStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ContinueStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ContinueStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/CountAggregateSelection/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/CountAggregateSelection/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/CountAggregateSelection/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/CrossCompanyAll/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/CrossCompanyAll/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/CrossCompanyAll/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/CrossCompanyContainer/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/CrossCompanyContainer/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/CrossCompanyContainer/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DateAttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DateAttributeLiteral/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/DateAttributeLiteral/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DateLiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DateLiteralExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/DateLiteralExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DateTimeAttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DateTimeAttributeLiteral/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/DateTimeAttributeLiteral/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DateTimeLiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DateTimeLiteralExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/DateTimeLiteralExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DateTimeType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DateTimeType/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/DateTimeType/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DateType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DateType/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/DateType/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DblAttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DblAttributeLiteral/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/DblAttributeLiteral/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DblType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DblType/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/DblType/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Delegate/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Delegate/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/Delegate/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DeleteStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DeleteStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/DeleteStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DivideExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DivideExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/DivideExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/DoWhileStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/DoWhileStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/DoWhileStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/EmptyExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/EmptyExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/EmptyExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/EmptyStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/EmptyStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/EmptyStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/EnumAttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/EnumAttributeLiteral/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/EnumAttributeLiteral/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/EnumerationLiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/EnumerationLiteralExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/EnumerationLiteralExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/EnumerationType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/EnumerationType/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/EnumerationType/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/EqualExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/EqualExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/EqualExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/EvaluationActualParameterEntry/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/EvaluationActualParameterEntry/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/EvaluationActualParameterEntry/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ExplicitSelection/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ExplicitSelection/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ExplicitSelection/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ExpressionCompilationUnit/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ExpressionCompilationUnit/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ExpressionCompilationUnit/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ExpressionQualifier/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ExpressionQualifier/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ExpressionQualifier/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ExpressionStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ExpressionStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ExpressionStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FieldAssignment/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FieldAssignment/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/FieldAssignment/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FieldDeclarationInternal/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FieldDeclarationInternal/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/FieldDeclarationInternal/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FieldExpressionInternal/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FieldExpressionInternal/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/FieldExpressionInternal/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FieldSelection/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FieldSelection/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/FieldSelection/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/File/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/File/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/File/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FindStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FindStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/FindStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FlushStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FlushStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/FlushStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ForDeclarationAssign/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ForDeclarationAssign/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ForDeclarationAssign/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ForFieldAssign/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ForFieldAssign/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ForFieldAssign/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ForFieldDecrementAssign/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ForFieldDecrementAssign/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ForFieldDecrementAssign/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ForFieldIncrementAssign/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ForFieldIncrementAssign/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ForFieldIncrementAssign/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ForFieldPostDecrement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ForFieldPostDecrement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ForFieldPostDecrement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ForFieldPostIncrement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ForFieldPostIncrement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ForFieldPostIncrement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ForFieldPreDecrement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ForFieldPreDecrement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ForFieldPreDecrement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ForFieldPreIncrement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ForFieldPreIncrement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ForFieldPreIncrement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ForStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ForStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ForStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FormControl/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FormControl/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/FormControl/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FormDataField/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FormDataField/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/FormDataField/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FormDataSource/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FormDataSource/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/FormDataSource/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FormElementType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FormElementType/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/FormElementType/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FormModelElement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FormModelElement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/FormModelElement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FunctionCall/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FunctionCall/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/FunctionCall/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/FunctionDeclaration/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/FunctionDeclaration/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/FunctionDeclaration/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/GlobalOrderElement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/GlobalOrderElement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/GlobalOrderElement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/GreaterThanExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/GreaterThanExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/GreaterThanExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/GreaterThanOrEqualExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/GreaterThanOrEqualExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/GreaterThanOrEqualExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/GuidAttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/GuidAttributeLiteral/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/GuidAttributeLiteral/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/GuidType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/GuidType/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/GuidType/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/IfStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/IfStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/IfStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/IfThenElseStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/IfThenElseStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/IfThenElseStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ImplicitSelection/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ImplicitSelection/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ImplicitSelection/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/InExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/InExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/InExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/InsertFieldSpecification/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/InsertFieldSpecification/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/InsertFieldSpecification/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/InsertStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/InsertStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/InsertStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Int64AttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Int64AttributeLiteral/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/Int64AttributeLiteral/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Int64LiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Int64LiteralExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/Int64LiteralExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Int64Type/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Int64Type/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/Int64Type/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/IntAttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/IntAttributeLiteral/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/IntAttributeLiteral/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/IntLiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/IntLiteralExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/IntLiteralExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/IntType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/IntType/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/IntType/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/IntegerDivideExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/IntegerDivideExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/IntegerDivideExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Interface/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Interface/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/Interface/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Intrinsic/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Intrinsic/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/Intrinsic/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/IntrinsicAttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/IntrinsicAttributeLiteral/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/IntrinsicAttributeLiteral/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/IsClrExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/IsClrExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/IsClrExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/IsExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/IsExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/IsExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/JoinSpecification/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/JoinSpecification/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/JoinSpecification/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/LessThanExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/LessThanExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/LessThanExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/LessThanOrEqualExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/LessThanOrEqualExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/LessThanOrEqualExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/LikeExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/LikeExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/LikeExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/LocalDeclarationsStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/LocalDeclarationsStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/LocalDeclarationsStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/MaxAggregateSelection/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/MaxAggregateSelection/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/MaxAggregateSelection/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Method/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Method/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/Method/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/MinAggregateSelection/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/MinAggregateSelection/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/MinAggregateSelection/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ModExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ModExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ModExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ModelElementUsingEntry/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ModelElementUsingEntry/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ModelElementUsingEntry/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Modifier/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Modifier/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/Modifier/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/MoveCursorStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/MoveCursorStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/MoveCursorStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/MultiplyExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/MultiplyExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/MultiplyExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/NamedFieldReference/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/NamedFieldReference/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/NamedFieldReference/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/NamedTypeInternal/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/NamedTypeInternal/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/NamedTypeInternal/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/NewCall/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/NewCall/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/NewCall/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/NewClrArrayExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/NewClrArrayExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/NewClrArrayExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/NewClrCall/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/NewClrCall/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/NewClrCall/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/NextExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/NextExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/NextExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/NotEqualExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/NotEqualExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/NotEqualExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/NotExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/NotExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/NotExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/NullLiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/NullLiteralExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/NullLiteralExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/NumberedFieldReference/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/NumberedFieldReference/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/NumberedFieldReference/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/OrExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/OrExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/OrExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ParameterDeclaration/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ParameterDeclaration/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ParameterDeclaration/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/PhysicalAndExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/PhysicalAndExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/PhysicalAndExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/PhysicalNotExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/PhysicalNotExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/PhysicalNotExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/PhysicalOrExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/PhysicalOrExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/PhysicalOrExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/PhysicalXorExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/PhysicalXorExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/PhysicalXorExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Placeholder/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Placeholder/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/Placeholder/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/PrintStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/PrintStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/PrintStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ProvidedType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ProvidedType/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ProvidedType/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ProvidedTypeStaticCall/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ProvidedTypeStaticCall/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ProvidedTypeStaticCall/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QualifiedCall/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QualifiedCall/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/QualifiedCall/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QualifiedField/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QualifiedField/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/QualifiedField/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QualifiedInstanceName/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QualifiedInstanceName/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/QualifiedInstanceName/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QualifiedNumberedField/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QualifiedNumberedField/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/QualifiedNumberedField/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QualifiedStaticCall/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QualifiedStaticCall/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/QualifiedStaticCall/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QualifiedStaticField/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QualifiedStaticField/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/QualifiedStaticField/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QualifiedStaticFieldExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QualifiedStaticFieldExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/QualifiedStaticFieldExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Query/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Query/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/Query/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QueryDataSource/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QueryDataSource/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/QueryDataSource/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QueryDataSourceHaving/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QueryDataSourceHaving/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/QueryDataSourceHaving/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QueryDataSourceRange/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QueryDataSourceRange/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/QueryDataSourceRange/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QueryDataSourceRelation/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QueryDataSourceRelation/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/QueryDataSourceRelation/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/QueryModelElement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/QueryModelElement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/QueryModelElement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/RealLiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/RealLiteralExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/RealLiteralExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/RetryStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/RetryStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/RetryStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ReturnStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ReturnStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ReturnStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SearchStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SearchStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/SearchStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ShiftLeftExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ShiftLeftExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ShiftLeftExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ShiftRightExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ShiftRightExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ShiftRightExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SimpleField/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SimpleField/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/SimpleField/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SimpleInstanceName/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SimpleInstanceName/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/SimpleInstanceName/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SimpleOrderElement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SimpleOrderElement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/SimpleOrderElement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SimpleQualifierInternal/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SimpleQualifierInternal/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/SimpleQualifierInternal/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/StaticField/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/StaticField/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/StaticField/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/StaticMethodCall/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/StaticMethodCall/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/StaticMethodCall/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/StaticQualifier/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/StaticQualifier/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/StaticQualifier/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/StringAttributeLiteral/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/StringAttributeLiteral/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/StringAttributeLiteral/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/StringLengthType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/StringLengthType/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/StringLengthType/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/StringLiteralExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/StringLiteralExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/StringLiteralExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/StringTypeInternal/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/StringTypeInternal/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/StringTypeInternal/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SubtractExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SubtractExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/SubtractExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SumAggregateSelection/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SumAggregateSelection/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/SumAggregateSelection/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SuperCall/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SuperCall/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/SuperCall/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SwitchCase/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SwitchCase/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/SwitchCase/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SwitchStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SwitchStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/SwitchStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/SwitchStatementCaseEntry/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/SwitchStatementCaseEntry/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/SwitchStatementCaseEntry/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/Table/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/Table/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/Table/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/TableFieldDeclaration/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/TableFieldDeclaration/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/TableFieldDeclaration/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/TableLookupExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/TableLookupExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/TableLookupExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ThrowStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ThrowStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ThrowStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/TryStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/TryStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/TryStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/TryStatementCatchEntry/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/TryStatementCatchEntry/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/TryStatementCatchEntry/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/TtsAbortStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/TtsAbortStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/TtsAbortStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/TtsBeginStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/TtsBeginStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/TtsBeginStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/TtsEndStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/TtsEndStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/TtsEndStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/UnaryMinusExpression/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/UnaryMinusExpression/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/UnaryMinusExpression/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/UncheckedStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/UncheckedStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/UncheckedStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/UpdateStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/UpdateStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/UpdateStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/UsingStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/UsingStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/UsingStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ValidTimeStateDate/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ValidTimeStateDate/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ValidTimeStateDate/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/ValidTimeStateRange/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/ValidTimeStateRange/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/ValidTimeStateRange/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/VarType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/VarType/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/VarType/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/VariableDeclarationInternal/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/VariableDeclarationInternal/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/VariableDeclarationInternal/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/VoidType/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/VoidType/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/VoidType/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/WhileStatement/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/WhileStatement/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/WhileStatement/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted diff --git a/xpp/ql/test/extractor-tests/generated/XppTypeCompilationUnit/MISSING_SOURCE.txt b/xpp/ql/test/extractor-tests/generated/XppTypeCompilationUnit/MISSING_SOURCE.txt deleted file mode 100644 index d75e0f976cd3..000000000000 --- a/xpp/ql/test/extractor-tests/generated/XppTypeCompilationUnit/MISSING_SOURCE.txt +++ /dev/null @@ -1,4 +0,0 @@ -// generated by xpp/tools/generate-schema.sh, do not edit - -After a source file is added in this directory and xpp/tools/generate-schema.sh is run again, test queries -will appear and this file will be deleted From 47843845f5713cffb2f87232a1e67b3006b332a0 Mon Sep 17 00:00:00 2001 From: Giulia Stocco <98900+gfs@users.noreply.github.com> Date: Mon, 17 Aug 2026 16:49:37 -0700 Subject: [PATCH 08/10] X++: fix correctness issues found in review All five reported issues reproduced, so all five are fixed. Dictionary-held children were dropped. The compiler keeps some children in dictionaries keyed by name, such as a class's fields and methods. Iterating one as a bare IEnumerable yields KeyValuePair rather than the child, so the emitter labelled the pair and the tree walk, seeing neither an Ast nor a tuple, skipped the subtree entirely. Both now go through AstSequence, which reduces entries to their values. A class with two fields extracted zero FieldDeclarations before and two after. Source positions were wrong on CRLF files. The line offset was found by searching the raw file for the CDATA payload, but an XML parser normalises CRLF to LF inside element values, so on the Windows-authored files that F&O actually produces the search never matched and every multiline block silently fell back to offset zero. Offsets now come from XML line information. That fix was unverifiable at first because locations were never written at all, so this also emits them: `Ast.Position` supplies the extent for each node. Nodes the parser synthesises have no extent and are left without a location rather than being pinned to the top of the file. Normal indexing processed every XML file. The extractor declares the .xml extension, so the CLI's file list covers the whole tree; entries were used unfiltered, letting an unrelated or malformed XML file fail an otherwise valid build. File-list entries are now filtered the same way directory walks are. Pack creation could delete the source tree. Passing the repository root made the target `/xpp` and the script removed it. It now refuses to build into the source tree, and only removes a directory that is itself a generated pack. Combined TRAP output reused labels. A writer was created per input while sharing one stream, so each restarted at #1 and collided. One writer is now created per stream. Extracting three files to a single file yields 5943 label definitions, all distinct and monotonic. Removing the codegen test output also turned out to break regeneration, since qlgen requires the path. It now points at a gitignored scratch directory. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1f6fb880-dfd8-4fba-91a2-903f43dc287d --- xpp/.gitignore | 2 + xpp/codegen.conf | 3 + xpp/extractor/Xpp.Extraction/AstSequence.cs | 68 +++ xpp/extractor/Xpp.Extraction/Extractor.cs | 47 +- .../Generated/AstTrapEmitter.g.cs | 280 +++--------- xpp/extractor/Xpp.Extraction/XppSourceFile.cs | 49 +- xpp/extractor/Xpp.Extractor/Program.cs | 19 +- .../Xpp.SchemaGenerator/TrapEmitterWriter.cs | 6 +- xpp/ql/.generated.list | 418 +++++++++--------- xpp/ql/.gitattributes | 418 +++++++++--------- xpp/ql/test/library-tests/ast/Ast.expected | 3 + xpp/ql/test/library-tests/ast/Ast.ql | 8 + .../ast/AxClass/XppLanguageBasics.xml | 2 + xpp/tools/build-extractor-pack.sh | 28 +- 14 files changed, 684 insertions(+), 667 deletions(-) create mode 100644 xpp/extractor/Xpp.Extraction/AstSequence.cs diff --git a/xpp/.gitignore b/xpp/.gitignore index a6cbe1fd9504..fcd7d00c2708 100644 --- a/xpp/.gitignore +++ b/xpp/.gitignore @@ -1,2 +1,4 @@ extractor/**/bin/* extractor/**/obj/* +ql/build/ +extractor-pack/ diff --git a/xpp/codegen.conf b/xpp/codegen.conf index 22b76d2cee52..73326696c855 100644 --- a/xpp/codegen.conf +++ b/xpp/codegen.conf @@ -4,4 +4,7 @@ --dbscheme=ql/lib/xpp.dbscheme --ql-output=ql/lib/codeql/xpp/elements/internal/generated --ql-stub-output=ql/lib/codeql/xpp/elements +# codegen requires a test output directory, but its per-node-type placeholders are not worth +# committing; real tests live in ql/test/library-tests. This path is gitignored. +--ql-test-output=ql/build/extractor-tests --script-name=xpp/tools/generate-schema.sh diff --git a/xpp/extractor/Xpp.Extraction/AstSequence.cs b/xpp/extractor/Xpp.Extraction/AstSequence.cs new file mode 100644 index 000000000000..f9e5f384de58 --- /dev/null +++ b/xpp/extractor/Xpp.Extraction/AstSequence.cs @@ -0,0 +1,68 @@ +using System.Collections; + +namespace Xpp.Extraction; + +/// +/// Flattens the collection shapes the X++ compiler uses for child nodes. +/// +public static class AstSequence +{ + /// + /// The elements of , with dictionary entries reduced to their values. + /// + /// + /// The compiler holds some children in dictionaries keyed by name, such as a class's fields + /// and methods. Iterating one as a bare yields + /// rather than the child, so the entries have to be + /// unwrapped or those subtrees are labelled wrongly and never traversed. + /// + public static IEnumerable Elements(object? value) + { + switch (value) + { + case null: + case string: + yield break; + + // Dictionary<,> and the compiler's LinkedDictionary<,> both implement the + // non-generic interface, which exposes the values directly. + case IDictionary dictionary: + foreach (var item in dictionary.Values) + { + if (item is not null) + yield return item; + } + + yield break; + + case IEnumerable sequence: + foreach (var item in sequence) + { + var unwrapped = Unwrap(item); + if (unwrapped is not null) + yield return unwrapped; + } + + yield break; + } + } + + /// + /// The value of a key/value entry, or the item itself when it is not one. + /// + /// + /// A dictionary typed only as IEnumerable<KeyValuePair<,>> does not reach + /// the case above, so entries are also unwrapped here. + /// + private static object? Unwrap(object? item) + { + if (item is null) + return null; + + var type = item.GetType(); + if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(KeyValuePair<,>)) + return type.GetProperty("Value")?.GetValue(item); + + return item; + } +} diff --git a/xpp/extractor/Xpp.Extraction/Extractor.cs b/xpp/extractor/Xpp.Extraction/Extractor.cs index 9dfbaf84d0a1..d5aad7ea2b70 100644 --- a/xpp/extractor/Xpp.Extraction/Extractor.cs +++ b/xpp/extractor/Xpp.Extraction/Extractor.cs @@ -33,7 +33,7 @@ public ExtractionResult Extract(string path, ITrapFile trap) XDocument document; try { - document = XDocument.Parse(text); + document = XppSourceFile.Parse(text); } catch (Exception e) { @@ -50,7 +50,7 @@ public ExtractionResult Extract(string path, ITrapFile trap) var nodes = 0; var unsupported = 0; - foreach (var block in XppSourceFile.Blocks(text, document)) + foreach (var block in XppSourceFile.Blocks(document)) { blocks++; var context = new ParserContext(elementType, name); @@ -79,7 +79,7 @@ public ExtractionResult Extract(string path, ITrapFile trap) if (unit is null) continue; - EmitTree(trap, unit, ref nodes, ref unsupported); + EmitTree(trap, fileLabel, unit, ref nodes, ref unsupported); } return new ExtractionResult(path, blocks, nodes, unsupported, errors); @@ -98,7 +98,8 @@ private static string ElementType(string path) } /// Walks the AST, writing each node's tuples exactly once. - private static void EmitTree(ITrapFile trap, object root, ref int nodes, ref int unsupported) + private static void EmitTree( + ITrapFile trap, Label file, object root, ref int nodes, ref int unsupported) { var seen = new HashSet(ReferenceEqualityComparer.Instance); var pending = new Stack(); @@ -111,14 +112,43 @@ private static void EmitTree(ITrapFile trap, object root, ref int nodes, ref int continue; nodes++; - if (!AstTrapEmitter.Emit(trap, trap.Label(node), node)) + var id = trap.Label(node); + if (!AstTrapEmitter.Emit(trap, id, node)) unsupported++; + EmitLocation(trap, file, id, node); + foreach (var child in Children(node)) pending.Push(child); } } + /// + /// Records where came from. + /// + /// + /// The parser was given the source block's line offset, so these positions are already + /// relative to the containing file rather than to the extracted fragment. + /// + private static void EmitLocation(ITrapFile trap, Label file, Label id, object node) + { + if (node is not Ast ast) + return; + + var position = ast.Position; + + // Nodes the parser synthesises carry no extent; recording a zero span would put alerts + // at the top of the file. + if (position.StartLine <= 0) + return; + + var location = trap.FreshLabel(); + trap.Tuple( + "locations", location, file, + position.StartLine, position.StartCol, position.EndLine, position.EndCol); + trap.Tuple("locatable_locations", id, location); + } + /// The AST nodes directly reachable from . private static IEnumerable Children(object node) { @@ -171,8 +201,11 @@ private static IEnumerable Reachable(object? value) break; - case System.Collections.IEnumerable sequence: - foreach (var item in sequence) + case System.Collections.IEnumerable: + // AstSequence reduces dictionary entries to their values; iterating the raw + // collection would yield KeyValuePair, which is neither an Ast nor a tuple and + // would silently drop the subtree. + foreach (var item in AstSequence.Elements(value)) { foreach (var nested in Reachable(item)) yield return nested; diff --git a/xpp/extractor/Xpp.Extraction/Generated/AstTrapEmitter.g.cs b/xpp/extractor/Xpp.Extraction/Generated/AstTrapEmitter.g.cs index b9436cf540ff..fa9c4551afde 100644 --- a/xpp/extractor/Xpp.Extraction/Generated/AstTrapEmitter.g.cs +++ b/xpp/extractor/Xpp.Extraction/Generated/AstTrapEmitter.g.cs @@ -25,12 +25,10 @@ private static void EmitOwnAssignMultipleFieldStatement(ITrapFile trap, Label id var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignMultipleFieldStatement)node; if (n.Expression is { } c_expression) trap.Tuple("assign_multiple_field_statement_expressions", id, trap.Label(c_expression)); - if (n.Fields is System.Collections.IEnumerable seq_fields) { var i = 0; - foreach (var item in seq_fields) + foreach (var item in AstSequence.Elements(n.Fields)) { - if (item is null) continue; trap.Tuple("assign_multiple_field_statement_fields", id, i, trap.Label(item)); i++; } @@ -79,24 +77,20 @@ private static void EmitOwnAttribute(ITrapFile trap, Label id, object node) var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Attribute)node; if (n.Name is string s_name) trap.Tuple("attribute_names", id, s_name); - if (n.NamedParameters is System.Collections.IEnumerable seq_named_parameters) { var i = 0; - foreach (var item in seq_named_parameters) + foreach (var item in AstSequence.Elements(n.NamedParameters)) { - if (item is null) continue; trap.Tuple("attribute_named_parameters", id, i, EmitAttributeNamedParameterEntry(trap, (ITuple)item)); i++; } } if (n.NonFullyQualifiedName is string s_non_fully_qualified_name) trap.Tuple("attribute_non_fully_qualified_names", id, s_non_fully_qualified_name); - if (n.Parameters is System.Collections.IEnumerable seq_parameters) { var i = 0; - foreach (var item in seq_parameters) + foreach (var item in AstSequence.Elements(n.Parameters)) { - if (item is null) continue; trap.Tuple("attribute_parameters", id, i, trap.Label(item)); i++; } @@ -113,12 +107,10 @@ private static void EmitOwnAttributeExpression(ITrapFile trap, Label id, object private static void EmitOwnAttributeList(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.AttributeList)node; - if (n.Attributes is System.Collections.IEnumerable seq_attributes) { var i = 0; - foreach (var item in seq_attributes) + foreach (var item in AstSequence.Elements(n.Attributes)) { - if (item is null) continue; trap.Tuple("attribute_list_attributes", id, i, trap.Label(item)); i++; } @@ -139,12 +131,10 @@ private static void EmitOwnBinaryExpression(ITrapFile trap, Label id, object nod private static void EmitOwnCaseValues(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.CaseValues)node; - if (n.Values is System.Collections.IEnumerable seq_values) { var i = 0; - foreach (var item in seq_values) + foreach (var item in AstSequence.Elements(n.Values)) { - if (item is null) continue; trap.Tuple("case_values_values", id, i, trap.Label(item)); i++; } @@ -179,24 +169,20 @@ private static void EmitOwnChangeStatement(ITrapFile trap, Label id, object node private static void EmitOwnClass(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Class)node; - if (n.Fields is System.Collections.IEnumerable seq_fields) { var i = 0; - foreach (var item in seq_fields) + foreach (var item in AstSequence.Elements(n.Fields)) { - if (item is null) continue; trap.Tuple("class_fields", id, i, trap.Label(item)); i++; } } if (n.HasCyclicInheritance is true) trap.Tuple("class_has_cyclic_inheritance", id); - if (n.Implements is System.Collections.IEnumerable seq_implements) { var i = 0; - foreach (var item in seq_implements) + foreach (var item in AstSequence.Elements(n.Implements)) { - if (item is null) continue; trap.Tuple("class_implements", id, i, (string)item); i++; } @@ -249,12 +235,10 @@ private static void EmitOwnClrType(ITrapFile trap, Label id, object node) var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ClrType)node; if (n.FullName is string s_full_name) trap.Tuple("clr_type_full_names", id, s_full_name); - if (n.RectangularDimensions is System.Collections.IEnumerable seq_rectangular_dimensions) { var i = 0; - foreach (var item in seq_rectangular_dimensions) + foreach (var item in AstSequence.Elements(n.RectangularDimensions)) { - if (item is null) continue; trap.Tuple("clr_type_rectangular_dimensions", id, i, System.Convert.ToInt64(item)); i++; } @@ -272,12 +256,10 @@ private static void EmitOwnCompilationUnit(ITrapFile trap, Label id, object node trap.Tuple("compilation_unit_names", id, s_name); if (n.NeedsTransformation is true) trap.Tuple("compilation_unit_needs_transformation", id); - if (n.Regions is System.Collections.IEnumerable seq_regions) { var i = 0; - foreach (var item in seq_regions) + foreach (var item in AstSequence.Elements(n.Regions)) { - if (item is null) continue; trap.Tuple("compilation_unit_regions", id, i, EmitCompilationUnitRegionEntry(trap, (ITuple)item)); i++; } @@ -287,12 +269,10 @@ private static void EmitOwnCompilationUnit(ITrapFile trap, Label id, object node private static void EmitOwnCompoundStatement(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.CompoundStatement)node; - if (n.Content is System.Collections.IEnumerable seq_content) { var i = 0; - foreach (var item in seq_content) + foreach (var item in AstSequence.Elements(n.Content)) { - if (item is null) continue; trap.Tuple("compound_statement_contents", id, i, trap.Label(item)); i++; } @@ -313,12 +293,10 @@ private static void EmitOwnConditionalExpression(ITrapFile trap, Label id, objec private static void EmitOwnContainerAttributeLiteral(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ContainerAttributeLiteral)node; - if (n.Value is System.Collections.IEnumerable seq_value) { var i = 0; - foreach (var item in seq_value) + foreach (var item in AstSequence.Elements(n.Value)) { - if (item is null) continue; trap.Tuple("container_attribute_literal_values", id, i, trap.Label(item)); i++; } @@ -328,12 +306,10 @@ private static void EmitOwnContainerAttributeLiteral(ITrapFile trap, Label id, o private static void EmitOwnContainerLiteralExpression(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ContainerLiteralExpression)node; - if (n.Value is System.Collections.IEnumerable seq_value) { var i = 0; - foreach (var item in seq_value) + foreach (var item in AstSequence.Elements(n.Value)) { - if (item is null) continue; trap.Tuple("container_literal_expression_values", id, i, trap.Label(item)); i++; } @@ -352,12 +328,10 @@ private static void EmitOwnDeclaration(ITrapFile trap, Label id, object node) var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Declaration)node; if (n.ArraySpecification is { } c_array_specification) trap.Tuple("declaration_array_specifications", id, trap.Label(c_array_specification)); - if (n.ModifierList is System.Collections.IEnumerable seq_modifier_list) { var i = 0; - foreach (var item in seq_modifier_list) + foreach (var item in AstSequence.Elements(n.ModifierList)) { - if (item is null) continue; trap.Tuple("declaration_modifier_lists", id, i, trap.Label(item)); i++; } @@ -437,12 +411,10 @@ private static void EmitOwnEnumerationType(ITrapFile trap, Label id, object node private static void EmitOwnEvaluation(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Evaluation)node; - if (n.ActualParameters is System.Collections.IEnumerable seq_actual_parameters) { var i = 0; - foreach (var item in seq_actual_parameters) + foreach (var item in AstSequence.Elements(n.ActualParameters)) { - if (item is null) continue; trap.Tuple("evaluation_actual_parameters", id, i, EmitEvaluationActualParameterEntry(trap, (ITuple)item)); i++; } @@ -452,12 +424,10 @@ private static void EmitOwnEvaluation(ITrapFile trap, Label id, object node) private static void EmitOwnExplicitSelection(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ExplicitSelection)node; - if (n.Fields is System.Collections.IEnumerable seq_fields) { var i = 0; - foreach (var item in seq_fields) + foreach (var item in AstSequence.Elements(n.Fields)) { - if (item is null) continue; trap.Tuple("explicit_selection_fields", id, i, trap.Label(item)); i++; } @@ -593,12 +563,10 @@ private static void EmitOwnFindStatement(ITrapFile trap, Label id, object node) private static void EmitOwnFlushStatement(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FlushStatement)node; - if (n.IdList is System.Collections.IEnumerable seq_id_list) { var i = 0; - foreach (var item in seq_id_list) + foreach (var item in AstSequence.Elements(n.IdList)) { - if (item is null) continue; trap.Tuple("flush_statement_id_lists", id, i, (string)item); i++; } @@ -615,12 +583,10 @@ private static void EmitOwnForAssign(ITrapFile trap, Label id, object node) private static void EmitOwnForDeclarationAssign(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ForDeclarationAssign)node; - if (n.InitializationDeclaration is System.Collections.IEnumerable seq_initialization_declaration) { var i = 0; - foreach (var item in seq_initialization_declaration) + foreach (var item in AstSequence.Elements(n.InitializationDeclaration)) { - if (item is null) continue; trap.Tuple("for_declaration_assign_initialization_declarations", id, i, trap.Label(item)); i++; } @@ -652,12 +618,10 @@ private static void EmitOwnFormControl(ITrapFile trap, Label id, object node) var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FormControl)node; if (n.AutoDeclaration is true) trap.Tuple("form_control_auto_declaration", id); - if (n.ChildControls is System.Collections.IEnumerable seq_child_controls) { var i = 0; - foreach (var item in seq_child_controls) + foreach (var item in AstSequence.Elements(n.ChildControls)) { - if (item is null) continue; trap.Tuple("form_control_child_controls", id, i, trap.Label(item)); i++; } @@ -690,12 +654,10 @@ private static void EmitOwnFormDataField(ITrapFile trap, Label id, object node) private static void EmitOwnFormDataSource(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FormDataSource)node; - if (n.DataFields is System.Collections.IEnumerable seq_data_fields) { var i = 0; - foreach (var item in seq_data_fields) + foreach (var item in AstSequence.Elements(n.DataFields)) { - if (item is null) continue; trap.Tuple("form_data_source_data_fields", id, i, trap.Label(item)); i++; } @@ -728,22 +690,18 @@ private static void EmitOwnFormModelElement(ITrapFile trap, Label id, object nod var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FormModelElement)node; if (n.Behavior is { } c_behavior) trap.Tuple("form_model_element_behaviors", id, trap.Label(c_behavior)); - if (n.Controls is System.Collections.IEnumerable seq_controls) { var i = 0; - foreach (var item in seq_controls) + foreach (var item in AstSequence.Elements(n.Controls)) { - if (item is null) continue; trap.Tuple("form_model_element_controls", id, i, trap.Label(item)); i++; } } - if (n.DataSources is System.Collections.IEnumerable seq_data_sources) { var i = 0; - foreach (var item in seq_data_sources) + foreach (var item in AstSequence.Elements(n.DataSources)) { - if (item is null) continue; trap.Tuple("form_model_element_data_sources", id, i, trap.Label(item)); i++; } @@ -771,44 +729,36 @@ private static void EmitOwnFunctionCall(ITrapFile trap, Label id, object node) private static void EmitOwnFunctionDeclaration(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FunctionDeclaration)node; - if (n.DeclarationsAndStatements is System.Collections.IEnumerable seq_declarations_and_statements) { var i = 0; - foreach (var item in seq_declarations_and_statements) + foreach (var item in AstSequence.Elements(n.DeclarationsAndStatements)) { - if (item is null) continue; trap.Tuple("function_declaration_declarations_and_statements", id, i, trap.Label(item)); i++; } } if (n.ElementTypeName is string s_element_type_name) trap.Tuple("function_declaration_element_type_names", id, s_element_type_name); - if (n.Locals is System.Collections.IEnumerable seq_locals) { var i = 0; - foreach (var item in seq_locals) + foreach (var item in AstSequence.Elements(n.Locals)) { - if (item is null) continue; trap.Tuple("function_declaration_locals", id, i, trap.Label(item)); i++; } } - if (n.Parameters is System.Collections.IEnumerable seq_parameters) { var i = 0; - foreach (var item in seq_parameters) + foreach (var item in AstSequence.Elements(n.Parameters)) { - if (item is null) continue; trap.Tuple("function_declaration_parameters", id, i, trap.Label(item)); i++; } } - if (n.Statements is System.Collections.IEnumerable seq_statements) { var i = 0; - foreach (var item in seq_statements) + foreach (var item in AstSequence.Elements(n.Statements)) { - if (item is null) continue; trap.Tuple("function_declaration_statements", id, i, trap.Label(item)); i++; } @@ -818,12 +768,10 @@ private static void EmitOwnFunctionDeclaration(ITrapFile trap, Label id, object private static void EmitOwnGenericEvaluation(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.GenericEvaluation)node; - if (n.TypeArgumentList is System.Collections.IEnumerable seq_type_argument_list) { var i = 0; - foreach (var item in seq_type_argument_list) + foreach (var item in AstSequence.Elements(n.TypeArgumentList)) { - if (item is null) continue; trap.Tuple("generic_evaluation_type_argument_lists", id, i, trap.Label(item)); i++; } @@ -833,12 +781,10 @@ private static void EmitOwnGenericEvaluation(ITrapFile trap, Label id, object no private static void EmitOwnGenericXppType(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.GenericXppType)node; - if (n.TypeArgumentList is System.Collections.IEnumerable seq_type_argument_list) { var i = 0; - foreach (var item in seq_type_argument_list) + foreach (var item in AstSequence.Elements(n.TypeArgumentList)) { - if (item is null) continue; trap.Tuple("generic_xpp_type_type_argument_lists", id, i, trap.Label(item)); i++; } @@ -892,12 +838,10 @@ private static void EmitOwnInsertStatement(ITrapFile trap, Label id, object node var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.InsertStatement)node; if (n.CrossCompany is { } c_cross_company) trap.Tuple("insert_statement_cross_companies", id, trap.Label(c_cross_company)); - if (n.Fields is System.Collections.IEnumerable seq_fields) { var i = 0; - foreach (var item in seq_fields) + foreach (var item in AstSequence.Elements(n.Fields)) { - if (item is null) continue; trap.Tuple("insert_statement_fields", id, i, trap.Label(item)); i++; } @@ -955,12 +899,10 @@ private static void EmitOwnJoinSpecification(ITrapFile trap, Label id, object no private static void EmitOwnLocalDeclarationsStatement(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.LocalDeclarationsStatement)node; - if (n.Declarations is System.Collections.IEnumerable seq_declarations) { var i = 0; - foreach (var item in seq_declarations) + foreach (var item in AstSequence.Elements(n.Declarations)) { - if (item is null) continue; trap.Tuple("local_declarations_statement_declarations", id, i, trap.Label(item)); i++; } @@ -970,12 +912,10 @@ private static void EmitOwnLocalDeclarationsStatement(ITrapFile trap, Label id, private static void EmitOwnMethod(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Method)node; - if (n.DeclarationsAndStatements is System.Collections.IEnumerable seq_declarations_and_statements) { var i = 0; - foreach (var item in seq_declarations_and_statements) + foreach (var item in AstSequence.Elements(n.DeclarationsAndStatements)) { - if (item is null) continue; trap.Tuple("method_declarations_and_statements", id, i, trap.Label(item)); i++; } @@ -1022,24 +962,20 @@ private static void EmitOwnMethod(ITrapFile trap, Label id, object node) trap.Tuple("method_is_type_initializer", id); if (n.IsWrappable is true) trap.Tuple("method_is_wrappable", id); - if (n.Locals is System.Collections.IEnumerable seq_locals) { var i = 0; - foreach (var item in seq_locals) + foreach (var item in AstSequence.Elements(n.Locals)) { - if (item is null) continue; trap.Tuple("method_locals", id, i, trap.Label(item)); i++; } } if (n.Modifiers is { } e_modifiers) trap.Tuple("method_modifiers", id, e_modifiers.ToString()); - if (n.Statements is System.Collections.IEnumerable seq_statements) { var i = 0; - foreach (var item in seq_statements) + foreach (var item in AstSequence.Elements(n.Statements)) { - if (item is null) continue; trap.Tuple("method_statements", id, i, trap.Label(item)); i++; } @@ -1051,22 +987,18 @@ private static void EmitOwnMethodOrDelegate(ITrapFile trap, Label id, object nod var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.MethodOrDelegate)node; if (n.Attributes is { } c_attributes) trap.Tuple("method_or_delegate_attributes", id, trap.Label(c_attributes)); - if (n.ModifierList is System.Collections.IEnumerable seq_modifier_list) { var i = 0; - foreach (var item in seq_modifier_list) + foreach (var item in AstSequence.Elements(n.ModifierList)) { - if (item is null) continue; trap.Tuple("method_or_delegate_modifier_lists", id, i, trap.Label(item)); i++; } } - if (n.Parameters is System.Collections.IEnumerable seq_parameters) { var i = 0; - foreach (var item in seq_parameters) + foreach (var item in AstSequence.Elements(n.Parameters)) { - if (item is null) continue; trap.Tuple("method_or_delegate_parameters", id, i, trap.Label(item)); i++; } @@ -1075,12 +1007,10 @@ private static void EmitOwnMethodOrDelegate(ITrapFile trap, Label id, object nod trap.Tuple("method_or_delegate_path_contributions", id, s_path_contribution); if (n.Type is { } c_type) trap.Tuple("method_or_delegate_types", id, trap.Label(c_type)); - if (n.TypeParameters is System.Collections.IEnumerable seq_type_parameters) { var i = 0; - foreach (var item in seq_type_parameters) + foreach (var item in AstSequence.Elements(n.TypeParameters)) { - if (item is null) continue; trap.Tuple("method_or_delegate_type_parameters", id, i, (string)item); i++; } @@ -1090,22 +1020,18 @@ private static void EmitOwnMethodOrDelegate(ITrapFile trap, Label id, object nod private static void EmitOwnModelElement(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ModelElement)node; - if (n.BaseMethods is System.Collections.IEnumerable seq_base_methods) { var i = 0; - foreach (var item in seq_base_methods) + foreach (var item in AstSequence.Elements(n.BaseMethods)) { - if (item is null) continue; trap.Tuple("model_element_base_methods", id, i, trap.Label(item)); i++; } } - if (n.ExtendGenericParameters is System.Collections.IEnumerable seq_extend_generic_parameters) { var i = 0; - foreach (var item in seq_extend_generic_parameters) + foreach (var item in AstSequence.Elements(n.ExtendGenericParameters)) { - if (item is null) continue; trap.Tuple("model_element_extend_generic_parameters", id, i, trap.Label(item)); i++; } @@ -1124,24 +1050,20 @@ private static void EmitOwnModelElement(ITrapFile trap, Label id, object node) trap.Tuple("model_element_is_private", id); if (n.IsPublic is true) trap.Tuple("model_element_is_public", id); - if (n.Methods is System.Collections.IEnumerable seq_methods) { var i = 0; - foreach (var item in seq_methods) + foreach (var item in AstSequence.Elements(n.Methods)) { - if (item is null) continue; trap.Tuple("model_element_methods", id, i, trap.Label(item)); i++; } } if (n.ModelId is { } v_model_id) trap.Tuple("model_element_model_ids", id, System.Convert.ToInt64(v_model_id)); - if (n.ModifierList is System.Collections.IEnumerable seq_modifier_list) { var i = 0; - foreach (var item in seq_modifier_list) + foreach (var item in AstSequence.Elements(n.ModifierList)) { - if (item is null) continue; trap.Tuple("model_element_modifier_lists", id, i, trap.Label(item)); i++; } @@ -1150,34 +1072,28 @@ private static void EmitOwnModelElement(ITrapFile trap, Label id, object node) trap.Tuple("model_element_modifiers", id, e_modifiers.ToString()); if (n.Namespace is string s_namespace) trap.Tuple("model_element_namespaces", id, s_namespace); - if (n.NestedClasses is System.Collections.IEnumerable seq_nested_classes) { var i = 0; - foreach (var item in seq_nested_classes) + foreach (var item in AstSequence.Elements(n.NestedClasses)) { - if (item is null) continue; trap.Tuple("model_element_nested_classes", id, i, trap.Label(item)); i++; } } if (n.PathContribution is string s_path_contribution) trap.Tuple("model_element_path_contributions", id, s_path_contribution); - if (n.TypeParameters is System.Collections.IEnumerable seq_type_parameters) { var i = 0; - foreach (var item in seq_type_parameters) + foreach (var item in AstSequence.Elements(n.TypeParameters)) { - if (item is null) continue; trap.Tuple("model_element_type_parameters", id, i, (string)item); i++; } } - if (n.Using is System.Collections.IEnumerable seq_using) { var i = 0; - foreach (var item in seq_using) + foreach (var item in AstSequence.Elements(n.Using)) { - if (item is null) continue; trap.Tuple("model_element_usings", id, i, EmitModelElementUsingEntry(trap, (ITuple)item)); i++; } @@ -1230,32 +1146,26 @@ private static void EmitOwnNewClrArrayExpression(ITrapFile trap, Label id, objec var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.NewClrArrayExpression)node; if (n.FullName is string s_full_name) trap.Tuple("new_clr_array_expression_full_names", id, s_full_name); - if (n.RectangularDimensions is System.Collections.IEnumerable seq_rectangular_dimensions) { var i = 0; - foreach (var item in seq_rectangular_dimensions) + foreach (var item in AstSequence.Elements(n.RectangularDimensions)) { - if (item is null) continue; trap.Tuple("new_clr_array_expression_rectangular_dimensions", id, i, System.Convert.ToInt64(item)); i++; } } - if (n.Sizes is System.Collections.IEnumerable seq_sizes) { var i = 0; - foreach (var item in seq_sizes) + foreach (var item in AstSequence.Elements(n.Sizes)) { - if (item is null) continue; trap.Tuple("new_clr_array_expression_sizes", id, i, trap.Label(item)); i++; } } - if (n.TypeArgumentList is System.Collections.IEnumerable seq_type_argument_list) { var i = 0; - foreach (var item in seq_type_argument_list) + foreach (var item in AstSequence.Elements(n.TypeArgumentList)) { - if (item is null) continue; trap.Tuple("new_clr_array_expression_type_argument_lists", id, i, trap.Label(item)); i++; } @@ -1306,12 +1216,10 @@ private static void EmitOwnParameterDeclaration(ITrapFile trap, Label id, object private static void EmitOwnPrintStatement(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.PrintStatement)node; - if (n.Expressions is System.Collections.IEnumerable seq_expressions) { var i = 0; - foreach (var item in seq_expressions) + foreach (var item in AstSequence.Elements(n.Expressions)) { - if (item is null) continue; trap.Tuple("print_statement_expressions", id, i, trap.Label(item)); i++; } @@ -1321,12 +1229,10 @@ private static void EmitOwnPrintStatement(ITrapFile trap, Label id, object node) private static void EmitOwnProvidedType(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ProvidedType)node; - if (n.ArgumentList is System.Collections.IEnumerable seq_argument_list) { var i = 0; - foreach (var item in seq_argument_list) + foreach (var item in AstSequence.Elements(n.ArgumentList)) { - if (item is null) continue; trap.Tuple("provided_type_argument_lists", id, i, trap.Label(item)); i++; } @@ -1385,12 +1291,10 @@ private static void EmitOwnQualifiedStaticCall(ITrapFile trap, Label id, object var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedStaticCall)node; if (n.ClassName is string s_class_name) trap.Tuple("qualified_static_call_class_names", id, s_class_name); - if (n.ClassTypeArgumentList is System.Collections.IEnumerable seq_class_type_argument_list) { var i = 0; - foreach (var item in seq_class_type_argument_list) + foreach (var item in AstSequence.Elements(n.ClassTypeArgumentList)) { - if (item is null) continue; trap.Tuple("qualified_static_call_class_type_argument_lists", id, i, trap.Label(item)); i++; } @@ -1432,12 +1336,10 @@ private static void EmitOwnQuery(ITrapFile trap, Label id, object node) trap.Tuple("query_buffer_names", id, s_buffer_name); if (n.CrossCompany is { } c_cross_company) trap.Tuple("query_cross_companies", id, trap.Label(c_cross_company)); - if (n.GroupByElements is System.Collections.IEnumerable seq_group_by_elements) { var i = 0; - foreach (var item in seq_group_by_elements) + foreach (var item in AstSequence.Elements(n.GroupByElements)) { - if (item is null) continue; trap.Tuple("query_group_by_elements", id, i, trap.Label(item)); i++; } @@ -1446,24 +1348,20 @@ private static void EmitOwnQuery(ITrapFile trap, Label id, object node) trap.Tuple("query_index_names", id, s_index_name); if (n.Joins is { } c_joins) trap.Tuple("query_joins", id, trap.Label(c_joins)); - if (n.OrderByElements is System.Collections.IEnumerable seq_order_by_elements) { var i = 0; - foreach (var item in seq_order_by_elements) + foreach (var item in AstSequence.Elements(n.OrderByElements)) { - if (item is null) continue; trap.Tuple("query_order_by_elements", id, i, trap.Label(item)); i++; } } if (n.Selection is { } c_selection) trap.Tuple("query_selections", id, trap.Label(c_selection)); - if (n.SelectionHints is System.Collections.IEnumerable seq_selection_hints) { var i = 0; - foreach (var item in seq_selection_hints) + foreach (var item in AstSequence.Elements(n.SelectionHints)) { - if (item is null) continue; trap.Tuple("query_selection_hints", id, i, item.ToString()); i++; } @@ -1479,12 +1377,10 @@ private static void EmitOwnQuery(ITrapFile trap, Label id, object node) private static void EmitOwnQueryDataSource(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryDataSource)node; - if (n.DataSources is System.Collections.IEnumerable seq_data_sources) { var i = 0; - foreach (var item in seq_data_sources) + foreach (var item in AstSequence.Elements(n.DataSources)) { - if (item is null) continue; trap.Tuple("query_data_source_data_sources", id, i, trap.Label(item)); i++; } @@ -1493,12 +1389,10 @@ private static void EmitOwnQueryDataSource(ITrapFile trap, Label id, object node trap.Tuple("query_data_source_element_type_names", id, s_element_type_name); if (n.FetchMode is { } e_fetch_mode) trap.Tuple("query_data_source_fetch_modes", id, e_fetch_mode.ToString()); - if (n.Fields is System.Collections.IEnumerable seq_fields) { var i = 0; - foreach (var item in seq_fields) + foreach (var item in AstSequence.Elements(n.Fields)) { - if (item is null) continue; trap.Tuple("query_data_source_fields", id, i, (string)item); i++; } @@ -1507,22 +1401,18 @@ private static void EmitOwnQueryDataSource(ITrapFile trap, Label id, object node trap.Tuple("query_data_source_first_fast", id); if (n.FirstOnly is true) trap.Tuple("query_data_source_first_only", id); - if (n.GroupBy is System.Collections.IEnumerable seq_group_by) { var i = 0; - foreach (var item in seq_group_by) + foreach (var item in AstSequence.Elements(n.GroupBy)) { - if (item is null) continue; trap.Tuple("query_data_source_group_bies", id, i, trap.Label(item)); i++; } } - if (n.Having is System.Collections.IEnumerable seq_having) { var i = 0; - foreach (var item in seq_having) + foreach (var item in AstSequence.Elements(n.Having)) { - if (item is null) continue; trap.Tuple("query_data_source_having_prop", id, i, trap.Label(item)); i++; } @@ -1531,12 +1421,10 @@ private static void EmitOwnQueryDataSource(ITrapFile trap, Label id, object node trap.Tuple("query_data_source_join_modes", id, e_join_mode.ToString()); if (n.Name is string s_name) trap.Tuple("query_data_source_names", id, s_name); - if (n.OrderBy is System.Collections.IEnumerable seq_order_by) { var i = 0; - foreach (var item in seq_order_by) + foreach (var item in AstSequence.Elements(n.OrderBy)) { - if (item is null) continue; trap.Tuple("query_data_source_order_bies", id, i, trap.Label(item)); i++; } @@ -1545,22 +1433,18 @@ private static void EmitOwnQueryDataSource(ITrapFile trap, Label id, object node trap.Tuple("query_data_source_parent_data_sources", id, trap.Label(c_parent_data_source)); if (n.PathContribution is string s_path_contribution) trap.Tuple("query_data_source_path_contributions", id, s_path_contribution); - if (n.Ranges is System.Collections.IEnumerable seq_ranges) { var i = 0; - foreach (var item in seq_ranges) + foreach (var item in AstSequence.Elements(n.Ranges)) { - if (item is null) continue; trap.Tuple("query_data_source_ranges_prop", id, i, trap.Label(item)); i++; } } - if (n.Relations is System.Collections.IEnumerable seq_relations) { var i = 0; - foreach (var item in seq_relations) + foreach (var item in AstSequence.Elements(n.Relations)) { - if (item is null) continue; trap.Tuple("query_data_source_relations_prop", id, i, trap.Label(item)); i++; } @@ -1611,22 +1495,18 @@ private static void EmitOwnQueryModelElement(ITrapFile trap, Label id, object no trap.Tuple("query_model_element_allow_cross_company", id); if (n.Behavior is { } c_behavior) trap.Tuple("query_model_element_behaviors", id, trap.Label(c_behavior)); - if (n.DataSourceList is System.Collections.IEnumerable seq_data_source_list) { var i = 0; - foreach (var item in seq_data_source_list) + foreach (var item in AstSequence.Elements(n.DataSourceList)) { - if (item is null) continue; trap.Tuple("query_model_element_data_source_lists", id, i, trap.Label(item)); i++; } } - if (n.DataSources is System.Collections.IEnumerable seq_data_sources) { var i = 0; - foreach (var item in seq_data_sources) + foreach (var item in AstSequence.Elements(n.DataSources)) { - if (item is null) continue; trap.Tuple("query_model_element_data_sources", id, i, trap.Label(item)); i++; } @@ -1724,12 +1604,10 @@ private static void EmitOwnStaticMethodCall(ITrapFile trap, Label id, object nod var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.StaticMethodCall)node; if (n.ClassName is string s_class_name) trap.Tuple("static_method_call_class_names", id, s_class_name); - if (n.ClassTypeArgumentList is System.Collections.IEnumerable seq_class_type_argument_list) { var i = 0; - foreach (var item in seq_class_type_argument_list) + foreach (var item in AstSequence.Elements(n.ClassTypeArgumentList)) { - if (item is null) continue; trap.Tuple("static_method_call_class_type_argument_lists", id, i, trap.Label(item)); i++; } @@ -1741,12 +1619,10 @@ private static void EmitOwnStaticMethodCall(ITrapFile trap, Label id, object nod private static void EmitOwnStaticQualifier(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.StaticQualifier)node; - if (n.ClassTypeArgumentList is System.Collections.IEnumerable seq_class_type_argument_list) { var i = 0; - foreach (var item in seq_class_type_argument_list) + foreach (var item in AstSequence.Elements(n.ClassTypeArgumentList)) { - if (item is null) continue; trap.Tuple("static_qualifier_class_type_argument_lists", id, i, trap.Label(item)); i++; } @@ -1778,12 +1654,10 @@ private static void EmitOwnStringLiteralExpression(ITrapFile trap, Label id, obj private static void EmitOwnSwitchStatement(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.SwitchStatement)node; - if (n.Cases is System.Collections.IEnumerable seq_cases) { var i = 0; - foreach (var item in seq_cases) + foreach (var item in AstSequence.Elements(n.Cases)) { - if (item is null) continue; trap.Tuple("switch_statement_cases", id, i, EmitSwitchStatementCaseEntry(trap, (ITuple)item)); i++; } @@ -1801,22 +1675,18 @@ private static void EmitOwnTable(ITrapFile trap, Label id, object node) trap.Tuple("table_element_type_names", id, s_element_type_name); if (n.Extends is string s_extends) trap.Tuple("table_extends", id, s_extends); - if (n.Fields is System.Collections.IEnumerable seq_fields) { var i = 0; - foreach (var item in seq_fields) + foreach (var item in AstSequence.Elements(n.Fields)) { - if (item is null) continue; trap.Tuple("table_fields", id, i, trap.Label(item)); i++; } } - if (n.Indexes is System.Collections.IEnumerable seq_indexes) { var i = 0; - foreach (var item in seq_indexes) + foreach (var item in AstSequence.Elements(n.Indexes)) { - if (item is null) continue; trap.Tuple("table_indexes", id, i, (string)item); i++; } @@ -1861,12 +1731,10 @@ private static void EmitOwnThrowStatement(ITrapFile trap, Label id, object node) private static void EmitOwnTryStatement(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.TryStatement)node; - if (n.Catches is System.Collections.IEnumerable seq_catches) { var i = 0; - foreach (var item in seq_catches) + foreach (var item in AstSequence.Elements(n.Catches)) { - if (item is null) continue; trap.Tuple("try_statement_catches", id, i, EmitTryStatementCatchEntry(trap, (ITuple)item)); i++; } @@ -1898,22 +1766,18 @@ private static void EmitOwnUpdateStatement(ITrapFile trap, Label id, object node var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.UpdateStatement)node; if (n.CrossCompany is { } c_cross_company) trap.Tuple("update_statement_cross_companies", id, trap.Label(c_cross_company)); - if (n.FieldAssignments is System.Collections.IEnumerable seq_field_assignments) { var i = 0; - foreach (var item in seq_field_assignments) + foreach (var item in AstSequence.Elements(n.FieldAssignments)) { - if (item is null) continue; trap.Tuple("update_statement_field_assignments", id, i, trap.Label(item)); i++; } } - if (n.Hints is System.Collections.IEnumerable seq_hints) { var i = 0; - foreach (var item in seq_hints) + foreach (var item in AstSequence.Elements(n.Hints)) { - if (item is null) continue; trap.Tuple("update_statement_hints", id, i, item.ToString()); i++; } @@ -1929,12 +1793,10 @@ private static void EmitOwnUpdateStatement(ITrapFile trap, Label id, object node private static void EmitOwnUsingStatement(ITrapFile trap, Label id, object node) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.UsingStatement)node; - if (n.DisposableObjectInitializers is System.Collections.IEnumerable seq_disposable_object_initializers) { var i = 0; - foreach (var item in seq_disposable_object_initializers) + foreach (var item in AstSequence.Elements(n.DisposableObjectInitializers)) { - if (item is null) continue; trap.Tuple("using_statement_disposable_object_initializers", id, i, trap.Label(item)); i++; } @@ -2045,12 +1907,10 @@ private static Label EmitSwitchStatementCaseEntry(ITrapFile trap, ITuple tuple) trap.Tuple("switch_statement_case_entries", id); if (tuple[0] is { } c_case) trap.Tuple("switch_statement_case_entry_cases", id, trap.Label(c_case)); - if (tuple[1] is System.Collections.IEnumerable seq_statements) { var i = 0; - foreach (var item in seq_statements) + foreach (var item in AstSequence.Elements(tuple[1])) { - if (item is null) continue; trap.Tuple("switch_statement_case_entry_statements", id, i, trap.Label(item)); i++; } diff --git a/xpp/extractor/Xpp.Extraction/XppSourceFile.cs b/xpp/extractor/Xpp.Extraction/XppSourceFile.cs index 2fa089b11b8d..077a0c5850d7 100644 --- a/xpp/extractor/Xpp.Extraction/XppSourceFile.cs +++ b/xpp/extractor/Xpp.Extraction/XppSourceFile.cs @@ -1,3 +1,4 @@ +using System.Xml; using System.Xml.Linq; namespace Xpp.Extraction; @@ -42,6 +43,12 @@ public static bool IsCandidate(string path) SourceBearingDirectories.Contains(directory, StringComparer.OrdinalIgnoreCase); } + /// + /// Parses keeping line information, which the source blocks need in + /// order to report file-relative positions. + /// + public static XDocument Parse(string text) => XDocument.Parse(text, LoadOptions.SetLineInfo); + /// The object's name, or null if the document is not a metadata object. public static string? ObjectName(XDocument document) => document.Root?.Element("Name")?.Value; @@ -49,15 +56,15 @@ public static bool IsCandidate(string path) /// /// Every source block in the document, in file order. /// - public static IEnumerable Blocks(string text, XDocument document) + public static IEnumerable Blocks(XDocument document) { var sourceCode = document.Root?.Element("SourceCode"); if (sourceCode is null) yield break; - var declaration = sourceCode.Element("Declaration")?.Value; - if (!string.IsNullOrWhiteSpace(declaration)) - yield return new XppSourceBlock(null, declaration, LineOf(text, declaration)); + var declaration = sourceCode.Element("Declaration"); + if (declaration is not null && !string.IsNullOrWhiteSpace(declaration.Value)) + yield return new XppSourceBlock(null, declaration.Value, LineOffsetOf(declaration)); var methods = sourceCode.Element("Methods"); if (methods is null) @@ -65,36 +72,30 @@ public static IEnumerable Blocks(string text, XDocument document foreach (var method in methods.Elements("Method")) { - var body = method.Element("Source")?.Value; - if (string.IsNullOrWhiteSpace(body)) + var source = method.Element("Source"); + if (source is null || string.IsNullOrWhiteSpace(source.Value)) continue; yield return new XppSourceBlock( - method.Element("Name")?.Value, body, LineOf(text, body)); + method.Element("Name")?.Value, source.Value, LineOffsetOf(source)); } } /// - /// The line on which starts within . + /// The line offset to give the parser for the CDATA payload of . /// /// - /// The fragments are CDATA payloads, so they appear verbatim in the file and can be located - /// by substring search. Anything not found falls back to offset zero, which keeps positions - /// fragment-relative rather than wrong in an unpredictable way. + /// This comes from the XML line information rather than from searching the raw text for the + /// payload. An XML parser normalises CRLF to LF inside element values, so on the + /// Windows-authored files that F&O produces the payload never matches the bytes on disk + /// and a search-based offset silently collapses to zero. + /// + /// The element's reported line is where <Source><![CDATA[ sits, and the + /// payload begins immediately after, so the offset is one less than that line. /// - private static int LineOf(string text, string fragment) + private static int LineOffsetOf(XElement element) { - var index = text.IndexOf(fragment, StringComparison.Ordinal); - if (index < 0) - return 0; - - var line = 0; - for (var i = 0; i < index; i++) - { - if (text[i] == '\n') - line++; - } - - return line; + var info = (IXmlLineInfo)element; + return info.HasLineInfo() ? Math.Max(0, info.LineNumber - 1) : 0; } } diff --git a/xpp/extractor/Xpp.Extractor/Program.cs b/xpp/extractor/Xpp.Extractor/Program.cs index 7f4ee11af9cb..bf6c28ffb6e5 100644 --- a/xpp/extractor/Xpp.Extractor/Program.cs +++ b/xpp/extractor/Xpp.Extractor/Program.cs @@ -9,6 +9,7 @@ // CODEQL_EXTRACTOR_XPP_* environment instead, and `--file-list` supplies the files to index. var paths = new List(); +var indexed = new List(); string? trapPath = null; string? fileList = null; @@ -36,10 +37,14 @@ return 2; } - paths.AddRange(File.ReadAllLines(fileList).Where(l => !string.IsNullOrWhiteSpace(l))); + // The extractor declares the .xml extension, so the CLI's list covers every XML file in + // the tree. Only the metadata objects that can carry X++ are ours to extract. + indexed.AddRange(File.ReadAllLines(fileList) + .Where(l => !string.IsNullOrWhiteSpace(l)) + .Where(XppSourceFile.IsCandidate)); } -if (paths.Count == 0) +if (paths.Count == 0 && indexed.Count == 0) { Console.Error.WriteLine("usage: Xpp.Extractor [...] [--file-list ] [--trap ]"); return 2; @@ -55,7 +60,7 @@ return 2; } -var files = new List(); +var files = new List(indexed); foreach (var path in paths) { if (Directory.Exists(path)) @@ -89,21 +94,27 @@ ? Console.Out : null; +// Labels are only unique within a TRAP file, so a shared stream must also share one writer; +// a writer per input would restart at #1 and collide. +var sharedTrap = shared is null ? null : new TrapFile(shared); + try { foreach (var file in files.OrderBy(f => f, StringComparer.Ordinal)) { var output = shared; + var trap = sharedTrap; if (output is null) { var destination = layout.TrapPathFor(file)!; Directory.CreateDirectory(Path.GetDirectoryName(destination)!); output = new StreamWriter(File.Create(destination)); + trap = new TrapFile(output); } try { - var result = extractor.Extract(file, new TrapFile(output)); + var result = extractor.Extract(file, trap!); totalBlocks += result.Blocks; totalNodes += result.Nodes; totalUnsupported += result.Unsupported; diff --git a/xpp/extractor/Xpp.SchemaGenerator/TrapEmitterWriter.cs b/xpp/extractor/Xpp.SchemaGenerator/TrapEmitterWriter.cs index a41153cf9743..bb53dc449fcf 100644 --- a/xpp/extractor/Xpp.SchemaGenerator/TrapEmitterWriter.cs +++ b/xpp/extractor/Xpp.SchemaGenerator/TrapEmitterWriter.cs @@ -285,12 +285,12 @@ private static void Loop( string _) { var seq = $"seq_{property.SchemaName}"; - writer.WriteLine($"{indent}if ({access} is System.Collections.IEnumerable {seq})"); + // AstSequence flattens dictionary entries to their values; iterating the raw collection + // would yield KeyValuePair and label the wrong thing. writer.WriteLine($"{indent}{{"); writer.WriteLine($"{indent} var i = 0;"); - writer.WriteLine($"{indent} foreach (var item in {seq})"); + writer.WriteLine($"{indent} foreach (var item in AstSequence.Elements({access}))"); writer.WriteLine($"{indent} {{"); - writer.WriteLine($"{indent} if (item is null) continue;"); writer.WriteLine($"{indent} {body}"); writer.WriteLine($"{indent} i++;"); writer.WriteLine($"{indent} }}"); diff --git a/xpp/ql/.generated.list b/xpp/ql/.generated.list index 6c94be0c2f4a..c2e2b4b851b8 100644 --- a/xpp/ql/.generated.list +++ b/xpp/ql/.generated.list @@ -1,3 +1,212 @@ +build/extractor-tests/AddExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AllFieldsSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AndExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AnyType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ArraySpecification/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AsClrExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AsExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AssignDecrementStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AssignDivideStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AssignEqualStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AssignIncrementStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AssignMultipleFieldStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AssignMultiplyStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AssignPostDecrementStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AssignPostIncrementStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AssignPreDecrementStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AssignPreIncrementStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AssignmentEventHandlerClr/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AssignmentEventHandlerInstance/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AssignmentEventHandlerStaticInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/Attribute/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AttributeExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AttributeList/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AttributeNamedParameterEntry/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/AvgAggregateSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/BooleanAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/BooleanLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/BooleanType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/BreakStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/BreakpointStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/CaseDefault/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/CaseValues/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/CatchAllValues/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/CatchExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/CatchUpdateConflict/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ChangeCompanyStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/Class/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ClassAccessModifier/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ClrEnumerationLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ClrType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/Comment/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/CompilationUnitRegionEntry/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/CompoundStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ConditionalExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ContainerAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ContainerLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ContainerType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ContinueStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/CountAggregateSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/CrossCompanyAll/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/CrossCompanyContainer/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/DateAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/DateLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/DateTimeAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/DateTimeLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/DateTimeType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/DateType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/DblAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/DblType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/Delegate/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/DeleteStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/DivideExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/DoWhileStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/EmptyExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/EmptyStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/EnumAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/EnumerationLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/EnumerationType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/EqualExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/EvaluationActualParameterEntry/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ExplicitSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ExpressionCompilationUnit/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ExpressionQualifier/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ExpressionStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/FieldAssignment/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/FieldDeclarationInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/FieldExpressionInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/FieldSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/File/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/FindStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/FlushStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ForDeclarationAssign/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ForFieldAssign/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ForFieldDecrementAssign/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ForFieldIncrementAssign/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ForFieldPostDecrement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ForFieldPostIncrement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ForFieldPreDecrement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ForFieldPreIncrement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ForStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/FormControl/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/FormDataField/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/FormDataSource/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/FormElementType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/FormModelElement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/FunctionCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/FunctionDeclaration/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/GlobalOrderElement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/GreaterThanExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/GreaterThanOrEqualExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/GuidAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/GuidType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/IfStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/IfThenElseStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ImplicitSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/InExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/InsertFieldSpecification/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/InsertStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/Int64AttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/Int64LiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/Int64Type/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/IntAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/IntLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/IntType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/IntegerDivideExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/Interface/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/Intrinsic/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/IntrinsicAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/IsClrExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/IsExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/JoinSpecification/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/LessThanExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/LessThanOrEqualExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/LikeExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/LocalDeclarationsStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/MaxAggregateSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/Method/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/MinAggregateSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ModExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ModelElementUsingEntry/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/Modifier/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/MoveCursorStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/MultiplyExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/NamedFieldReference/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/NamedTypeInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/NewCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/NewClrArrayExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/NewClrCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/NextExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/NotEqualExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/NotExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/NullLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/NumberedFieldReference/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/OrExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ParameterDeclaration/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/PhysicalAndExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/PhysicalNotExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/PhysicalOrExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/PhysicalXorExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/Placeholder/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/PrintStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ProvidedType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ProvidedTypeStaticCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/QualifiedCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/QualifiedField/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/QualifiedInstanceName/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/QualifiedNumberedField/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/QualifiedStaticCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/QualifiedStaticField/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/QualifiedStaticFieldExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/Query/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/QueryDataSource/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/QueryDataSourceHaving/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/QueryDataSourceRange/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/QueryDataSourceRelation/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/QueryModelElement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/RealLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/RetryStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ReturnStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/SearchStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ShiftLeftExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ShiftRightExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/SimpleField/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/SimpleInstanceName/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/SimpleOrderElement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/SimpleQualifierInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/StaticField/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/StaticMethodCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/StaticQualifier/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/StringAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/StringLengthType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/StringLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/StringTypeInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/SubtractExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/SumAggregateSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/SuperCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/SwitchCase/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/SwitchStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/SwitchStatementCaseEntry/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/Table/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/TableFieldDeclaration/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/TableLookupExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ThrowStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/TryStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/TryStatementCatchEntry/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/TtsAbortStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/TtsBeginStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/TtsEndStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/UnaryMinusExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/UncheckedStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/UpdateStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/UsingStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ValidTimeStateDate/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/ValidTimeStateRange/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/VarType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/VariableDeclarationInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/VoidType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/WhileStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 +build/extractor-tests/XppTypeCompilationUnit/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 lib/codeql/xpp/elements/AddExpression.qll 4a2fcfc5d20e3da098d36bdde90fad74210deaee632b34e7e770c7f7f095bd6e 02f87dd7605bb75997fcfd99872b744bee767f5b06719aca52702134cb394760 lib/codeql/xpp/elements/AggregateSelection.qll 8c725200e127cb56d2ee7cba81fa65a6577281e46192644c4142f04ffb1ecfb6 8c100b00d8efb047a03731826846b2adbfbda52a49e23a4724f1cef981f87d80 lib/codeql/xpp/elements/AllFieldsSelection.qll 1a54382e3c3518a7f9a868e861570591162adae4c18cef936b504b8cd0d80054 32a7bdceaee25928243b99db1b0c21534cbb19fd03dfe24a8a7a69414d3ba4d7 @@ -1006,212 +1215,3 @@ lib/codeql/xpp/elements/internal/generated/XppTuple.qll 472d1e0944dd1b1231e84347 lib/codeql/xpp/elements/internal/generated/XppType.qll fd96e9da05bbe8586cd834da08599886d2d0a2e43800402606af540f36742c17 4b5bd76207fd37efd3ac99e5e30684774abe96e2661209aa12a49a87f4c0784c lib/codeql/xpp/elements/internal/generated/XppTypeCompilationUnit.qll 761216a7c949cf9544fd16bda4f0345b789d07a52df35940cbd98a1412bc1882 161447d4aa77395b1fce20f699ea9fb71ae91397e881450d055d43f7afacd170 lib/codeql/xpp/elements.qll 075fc23da5b920bcabe99643f231df49286456f6bfb3e71b6b01f12a9c8fa7c4 075fc23da5b920bcabe99643f231df49286456f6bfb3e71b6b01f12a9c8fa7c4 -test/extractor-tests/generated/AddExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AllFieldsSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AndExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AnyType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ArraySpecification/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AsClrExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AsExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AssignDecrementStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AssignDivideStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AssignEqualStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AssignIncrementStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AssignMultipleFieldStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AssignMultiplyStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AssignPostDecrementStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AssignPostIncrementStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AssignPreDecrementStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AssignPreIncrementStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AssignmentEventHandlerClr/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AssignmentEventHandlerInstance/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AssignmentEventHandlerStaticInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/Attribute/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AttributeExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AttributeList/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AttributeNamedParameterEntry/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/AvgAggregateSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/BooleanAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/BooleanLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/BooleanType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/BreakStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/BreakpointStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/CaseDefault/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/CaseValues/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/CatchAllValues/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/CatchExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/CatchUpdateConflict/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ChangeCompanyStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/Class/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ClassAccessModifier/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ClrEnumerationLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ClrType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/Comment/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/CompilationUnitRegionEntry/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/CompoundStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ConditionalExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ContainerAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ContainerLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ContainerType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ContinueStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/CountAggregateSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/CrossCompanyAll/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/CrossCompanyContainer/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/DateAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/DateLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/DateTimeAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/DateTimeLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/DateTimeType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/DateType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/DblAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/DblType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/Delegate/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/DeleteStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/DivideExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/DoWhileStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/EmptyExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/EmptyStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/EnumAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/EnumerationLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/EnumerationType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/EqualExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/EvaluationActualParameterEntry/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ExplicitSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ExpressionCompilationUnit/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ExpressionQualifier/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ExpressionStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/FieldAssignment/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/FieldDeclarationInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/FieldExpressionInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/FieldSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/File/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/FindStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/FlushStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ForDeclarationAssign/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ForFieldAssign/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ForFieldDecrementAssign/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ForFieldIncrementAssign/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ForFieldPostDecrement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ForFieldPostIncrement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ForFieldPreDecrement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ForFieldPreIncrement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ForStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/FormControl/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/FormDataField/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/FormDataSource/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/FormElementType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/FormModelElement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/FunctionCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/FunctionDeclaration/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/GlobalOrderElement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/GreaterThanExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/GreaterThanOrEqualExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/GuidAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/GuidType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/IfStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/IfThenElseStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ImplicitSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/InExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/InsertFieldSpecification/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/InsertStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/Int64AttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/Int64LiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/Int64Type/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/IntAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/IntLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/IntType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/IntegerDivideExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/Interface/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/Intrinsic/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/IntrinsicAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/IsClrExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/IsExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/JoinSpecification/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/LessThanExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/LessThanOrEqualExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/LikeExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/LocalDeclarationsStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/MaxAggregateSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/Method/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/MinAggregateSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ModExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ModelElementUsingEntry/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/Modifier/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/MoveCursorStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/MultiplyExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/NamedFieldReference/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/NamedTypeInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/NewCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/NewClrArrayExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/NewClrCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/NextExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/NotEqualExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/NotExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/NullLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/NumberedFieldReference/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/OrExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ParameterDeclaration/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/PhysicalAndExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/PhysicalNotExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/PhysicalOrExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/PhysicalXorExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/Placeholder/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/PrintStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ProvidedType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ProvidedTypeStaticCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/QualifiedCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/QualifiedField/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/QualifiedInstanceName/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/QualifiedNumberedField/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/QualifiedStaticCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/QualifiedStaticField/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/QualifiedStaticFieldExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/Query/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/QueryDataSource/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/QueryDataSourceHaving/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/QueryDataSourceRange/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/QueryDataSourceRelation/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/QueryModelElement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/RealLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/RetryStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ReturnStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/SearchStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ShiftLeftExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ShiftRightExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/SimpleField/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/SimpleInstanceName/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/SimpleOrderElement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/SimpleQualifierInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/StaticField/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/StaticMethodCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/StaticQualifier/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/StringAttributeLiteral/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/StringLengthType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/StringLiteralExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/StringTypeInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/SubtractExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/SumAggregateSelection/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/SuperCall/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/SwitchCase/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/SwitchStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/SwitchStatementCaseEntry/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/Table/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/TableFieldDeclaration/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/TableLookupExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ThrowStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/TryStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/TryStatementCatchEntry/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/TtsAbortStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/TtsBeginStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/TtsEndStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/UnaryMinusExpression/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/UncheckedStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/UpdateStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/UsingStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ValidTimeStateDate/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/ValidTimeStateRange/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/VarType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/VariableDeclarationInternal/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/VoidType/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/WhileStatement/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 -test/extractor-tests/generated/XppTypeCompilationUnit/MISSING_SOURCE.txt 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 9e853e0f3fa6698fd4a0a627d12381bfaa1611b937209e1ea9d2208ea6e6f2b3 diff --git a/xpp/ql/.gitattributes b/xpp/ql/.gitattributes index 7a253127ca82..7e1f08c3d208 100644 --- a/xpp/ql/.gitattributes +++ b/xpp/ql/.gitattributes @@ -1,5 +1,214 @@ /.generated.list linguist-generated /.gitattributes linguist-generated +/build/extractor-tests/AddExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AllFieldsSelection/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AndExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AnyType/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ArraySpecification/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AsClrExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AsExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AssignDecrementStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AssignDivideStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AssignEqualStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AssignIncrementStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AssignMultipleFieldStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AssignMultiplyStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AssignPostDecrementStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AssignPostIncrementStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AssignPreDecrementStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AssignPreIncrementStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AssignmentEventHandlerClr/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AssignmentEventHandlerInstance/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AssignmentEventHandlerStaticInternal/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/Attribute/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AttributeExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AttributeList/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AttributeNamedParameterEntry/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/AvgAggregateSelection/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/BooleanAttributeLiteral/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/BooleanLiteralExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/BooleanType/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/BreakStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/BreakpointStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/CaseDefault/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/CaseValues/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/CatchAllValues/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/CatchExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/CatchUpdateConflict/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ChangeCompanyStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/Class/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ClassAccessModifier/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ClrEnumerationLiteralExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ClrType/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/Comment/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/CompilationUnitRegionEntry/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/CompoundStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ConditionalExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ContainerAttributeLiteral/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ContainerLiteralExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ContainerType/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ContinueStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/CountAggregateSelection/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/CrossCompanyAll/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/CrossCompanyContainer/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/DateAttributeLiteral/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/DateLiteralExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/DateTimeAttributeLiteral/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/DateTimeLiteralExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/DateTimeType/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/DateType/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/DblAttributeLiteral/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/DblType/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/Delegate/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/DeleteStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/DivideExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/DoWhileStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/EmptyExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/EmptyStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/EnumAttributeLiteral/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/EnumerationLiteralExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/EnumerationType/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/EqualExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/EvaluationActualParameterEntry/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ExplicitSelection/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ExpressionCompilationUnit/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ExpressionQualifier/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ExpressionStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/FieldAssignment/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/FieldDeclarationInternal/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/FieldExpressionInternal/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/FieldSelection/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/File/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/FindStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/FlushStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ForDeclarationAssign/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ForFieldAssign/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ForFieldDecrementAssign/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ForFieldIncrementAssign/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ForFieldPostDecrement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ForFieldPostIncrement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ForFieldPreDecrement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ForFieldPreIncrement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ForStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/FormControl/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/FormDataField/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/FormDataSource/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/FormElementType/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/FormModelElement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/FunctionCall/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/FunctionDeclaration/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/GlobalOrderElement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/GreaterThanExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/GreaterThanOrEqualExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/GuidAttributeLiteral/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/GuidType/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/IfStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/IfThenElseStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ImplicitSelection/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/InExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/InsertFieldSpecification/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/InsertStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/Int64AttributeLiteral/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/Int64LiteralExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/Int64Type/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/IntAttributeLiteral/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/IntLiteralExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/IntType/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/IntegerDivideExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/Interface/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/Intrinsic/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/IntrinsicAttributeLiteral/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/IsClrExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/IsExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/JoinSpecification/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/LessThanExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/LessThanOrEqualExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/LikeExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/LocalDeclarationsStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/MaxAggregateSelection/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/Method/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/MinAggregateSelection/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ModExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ModelElementUsingEntry/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/Modifier/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/MoveCursorStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/MultiplyExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/NamedFieldReference/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/NamedTypeInternal/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/NewCall/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/NewClrArrayExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/NewClrCall/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/NextExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/NotEqualExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/NotExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/NullLiteralExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/NumberedFieldReference/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/OrExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ParameterDeclaration/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/PhysicalAndExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/PhysicalNotExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/PhysicalOrExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/PhysicalXorExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/Placeholder/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/PrintStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ProvidedType/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ProvidedTypeStaticCall/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/QualifiedCall/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/QualifiedField/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/QualifiedInstanceName/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/QualifiedNumberedField/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/QualifiedStaticCall/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/QualifiedStaticField/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/QualifiedStaticFieldExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/Query/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/QueryDataSource/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/QueryDataSourceHaving/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/QueryDataSourceRange/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/QueryDataSourceRelation/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/QueryModelElement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/RealLiteralExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/RetryStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ReturnStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/SearchStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ShiftLeftExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ShiftRightExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/SimpleField/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/SimpleInstanceName/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/SimpleOrderElement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/SimpleQualifierInternal/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/StaticField/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/StaticMethodCall/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/StaticQualifier/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/StringAttributeLiteral/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/StringLengthType/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/StringLiteralExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/StringTypeInternal/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/SubtractExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/SumAggregateSelection/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/SuperCall/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/SwitchCase/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/SwitchStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/SwitchStatementCaseEntry/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/Table/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/TableFieldDeclaration/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/TableLookupExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ThrowStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/TryStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/TryStatementCatchEntry/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/TtsAbortStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/TtsBeginStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/TtsEndStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/UnaryMinusExpression/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/UncheckedStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/UpdateStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/UsingStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ValidTimeStateDate/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/ValidTimeStateRange/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/VarType/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/VariableDeclarationInternal/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/VoidType/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/WhileStatement/MISSING_SOURCE.txt linguist-generated +/build/extractor-tests/XppTypeCompilationUnit/MISSING_SOURCE.txt linguist-generated /lib/codeql/xpp/elements/AddExpression.qll linguist-generated /lib/codeql/xpp/elements/AggregateSelection.qll linguist-generated /lib/codeql/xpp/elements/AllFieldsSelection.qll linguist-generated @@ -1008,212 +1217,3 @@ /lib/codeql/xpp/elements/internal/generated/XppType.qll linguist-generated /lib/codeql/xpp/elements/internal/generated/XppTypeCompilationUnit.qll linguist-generated /lib/codeql/xpp/elements.qll linguist-generated -/test/extractor-tests/generated/AddExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AllFieldsSelection/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AndExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AnyType/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ArraySpecification/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AsClrExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AsExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AssignDecrementStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AssignDivideStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AssignEqualStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AssignIncrementStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AssignMultipleFieldStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AssignMultiplyStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AssignPostDecrementStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AssignPostIncrementStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AssignPreDecrementStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AssignPreIncrementStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AssignmentEventHandlerClr/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AssignmentEventHandlerInstance/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AssignmentEventHandlerStaticInternal/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/Attribute/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AttributeExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AttributeList/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AttributeNamedParameterEntry/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/AvgAggregateSelection/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/BooleanAttributeLiteral/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/BooleanLiteralExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/BooleanType/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/BreakStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/BreakpointStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/CaseDefault/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/CaseValues/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/CatchAllValues/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/CatchExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/CatchUpdateConflict/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ChangeCompanyStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/Class/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ClassAccessModifier/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ClrEnumerationLiteralExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ClrType/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/Comment/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/CompilationUnitRegionEntry/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/CompoundStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ConditionalExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ContainerAttributeLiteral/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ContainerLiteralExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ContainerType/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ContinueStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/CountAggregateSelection/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/CrossCompanyAll/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/CrossCompanyContainer/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/DateAttributeLiteral/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/DateLiteralExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/DateTimeAttributeLiteral/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/DateTimeLiteralExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/DateTimeType/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/DateType/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/DblAttributeLiteral/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/DblType/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/Delegate/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/DeleteStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/DivideExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/DoWhileStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/EmptyExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/EmptyStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/EnumAttributeLiteral/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/EnumerationLiteralExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/EnumerationType/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/EqualExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/EvaluationActualParameterEntry/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ExplicitSelection/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ExpressionCompilationUnit/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ExpressionQualifier/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ExpressionStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/FieldAssignment/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/FieldDeclarationInternal/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/FieldExpressionInternal/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/FieldSelection/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/File/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/FindStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/FlushStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ForDeclarationAssign/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ForFieldAssign/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ForFieldDecrementAssign/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ForFieldIncrementAssign/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ForFieldPostDecrement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ForFieldPostIncrement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ForFieldPreDecrement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ForFieldPreIncrement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ForStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/FormControl/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/FormDataField/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/FormDataSource/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/FormElementType/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/FormModelElement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/FunctionCall/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/FunctionDeclaration/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/GlobalOrderElement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/GreaterThanExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/GreaterThanOrEqualExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/GuidAttributeLiteral/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/GuidType/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/IfStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/IfThenElseStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ImplicitSelection/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/InExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/InsertFieldSpecification/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/InsertStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/Int64AttributeLiteral/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/Int64LiteralExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/Int64Type/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/IntAttributeLiteral/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/IntLiteralExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/IntType/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/IntegerDivideExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/Interface/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/Intrinsic/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/IntrinsicAttributeLiteral/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/IsClrExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/IsExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/JoinSpecification/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/LessThanExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/LessThanOrEqualExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/LikeExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/LocalDeclarationsStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/MaxAggregateSelection/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/Method/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/MinAggregateSelection/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ModExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ModelElementUsingEntry/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/Modifier/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/MoveCursorStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/MultiplyExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/NamedFieldReference/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/NamedTypeInternal/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/NewCall/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/NewClrArrayExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/NewClrCall/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/NextExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/NotEqualExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/NotExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/NullLiteralExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/NumberedFieldReference/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/OrExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ParameterDeclaration/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/PhysicalAndExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/PhysicalNotExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/PhysicalOrExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/PhysicalXorExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/Placeholder/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/PrintStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ProvidedType/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ProvidedTypeStaticCall/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/QualifiedCall/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/QualifiedField/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/QualifiedInstanceName/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/QualifiedNumberedField/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/QualifiedStaticCall/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/QualifiedStaticField/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/QualifiedStaticFieldExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/Query/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/QueryDataSource/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/QueryDataSourceHaving/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/QueryDataSourceRange/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/QueryDataSourceRelation/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/QueryModelElement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/RealLiteralExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/RetryStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ReturnStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/SearchStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ShiftLeftExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ShiftRightExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/SimpleField/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/SimpleInstanceName/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/SimpleOrderElement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/SimpleQualifierInternal/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/StaticField/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/StaticMethodCall/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/StaticQualifier/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/StringAttributeLiteral/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/StringLengthType/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/StringLiteralExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/StringTypeInternal/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/SubtractExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/SumAggregateSelection/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/SuperCall/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/SwitchCase/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/SwitchStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/SwitchStatementCaseEntry/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/Table/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/TableFieldDeclaration/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/TableLookupExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ThrowStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/TryStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/TryStatementCatchEntry/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/TtsAbortStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/TtsBeginStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/TtsEndStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/UnaryMinusExpression/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/UncheckedStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/UpdateStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/UsingStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ValidTimeStateDate/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/ValidTimeStateRange/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/VarType/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/VariableDeclarationInternal/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/VoidType/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/WhileStatement/MISSING_SOURCE.txt linguist-generated -/test/extractor-tests/generated/XppTypeCompilationUnit/MISSING_SOURCE.txt linguist-generated diff --git a/xpp/ql/test/library-tests/ast/Ast.expected b/xpp/ql/test/library-tests/ast/Ast.expected index 37e379c7ca96..35eece9166ec 100644 --- a/xpp/ql/test/library-tests/ast/Ast.expected +++ b/xpp/ql/test/library-tests/ast/Ast.expected @@ -4,6 +4,7 @@ methods | controlFlow | | databaseAccess | statementCounts +| FieldDeclaration | 2 | | FindStatement | 1 | | ForStatement | 1 | | IfThenElseStatement | 1 | @@ -17,3 +18,5 @@ statementCounts | TtsBeginStatement | 1 | | TtsEndStatement | 1 | | WhileStatement | 1 | +searchStatementLine +| 64 | diff --git a/xpp/ql/test/library-tests/ast/Ast.ql b/xpp/ql/test/library-tests/ast/Ast.ql index 11d417eee6b6..480c40b3ea5b 100644 --- a/xpp/ql/test/library-tests/ast/Ast.ql +++ b/xpp/ql/test/library-tests/ast/Ast.ql @@ -38,4 +38,12 @@ query predicate statementCounts(string kind, int n) { kind = "SwitchStatementCaseEntry" and n = count(SwitchStatementCaseEntry e) or kind = "TryStatementCatchEntry" and n = count(TryStatementCatchEntry e) + or + // Class fields live in a dictionary keyed by name in the compiler's AST, so this confirms + // dictionary-held children are reduced to their values rather than to key/value pairs. + kind = "FieldDeclaration" and n = count(FieldDeclaration d) +} + +query predicate searchStatementLine(int line) { + line = any(SearchStatement s).getLocation().getStartLine() } diff --git a/xpp/ql/test/library-tests/ast/AxClass/XppLanguageBasics.xml b/xpp/ql/test/library-tests/ast/AxClass/XppLanguageBasics.xml index 20877b9d2974..707dcbdf7051 100644 --- a/xpp/ql/test/library-tests/ast/AxClass/XppLanguageBasics.xml +++ b/xpp/ql/test/library-tests/ast/AxClass/XppLanguageBasics.xml @@ -5,6 +5,8 @@ diff --git a/xpp/tools/build-extractor-pack.sh b/xpp/tools/build-extractor-pack.sh index a6128801c155..fb14bfd8fdbb 100755 --- a/xpp/tools/build-extractor-pack.sh +++ b/xpp/tools/build-extractor-pack.sh @@ -26,7 +26,33 @@ case "$(uname -s)" in esac pack="$output/xpp" -rm -rf "$pack" + +# Resolve $pack without requiring it to exist yet, so it can be compared with the source tree. +pack_parent="$(cd "$(dirname "$pack")" 2>/dev/null && pwd || true)" +if [ -z "$pack_parent" ]; then + echo "output directory does not exist: $(dirname "$pack")" >&2 + exit 2 +fi +pack_abs="$pack_parent/$(basename "$pack")" +xpp_abs="$(cd "$xpp_root" && pwd)" + +# Passing the repository root would make $pack the source tree itself, and the removal below +# would delete it. +if [ "$pack_abs" = "$xpp_abs" ]; then + echo "refusing to build into the source tree: $pack_abs" >&2 + exit 2 +fi + +if [ -e "$pack_abs" ]; then + # Only ever remove something that is itself a previously built pack. + if [ ! -f "$pack_abs/codeql-extractor.yml" ]; then + echo "refusing to remove $pack_abs: it is not a generated extractor pack" >&2 + exit 2 + fi + rm -rf "$pack_abs" +fi + +pack="$pack_abs" mkdir -p "$pack/tools/$platform" cp "$xpp_root/codeql-extractor.yml" "$pack/" From 65f3abb8800c2936526ba787202bd39253412f41 Mon Sep 17 00:00:00 2001 From: Giulia Stocco <98900+gfs@users.noreply.github.com> Date: Tue, 18 Aug 2026 08:38:54 -0700 Subject: [PATCH 09/10] X++: align the extractor layout with the PowerShell one Adds the pieces the PowerShell extractor has that make a language easy to wire into the CLI build: build-{win64,linux64,osx64}.ps1 at the language root taking a $cliFolder, and a solution file. The build scripts publish the Xpp.Extractor project rather than the solution. Publishing a solution to a single output directory warns (NETSDK1194) and would ship Xpp.SchemaGenerator, which is a build-time code generator rather than part of the extractor. Not added: an entry in microsoft-codeql-pack-publish.yml. That job downloads the already-published pack and increments its version, so listing a language whose pack has never been published fails the release workflow. microsoft/xpp-all needs a first publish out of band before it can join the matrix. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1f6fb880-dfd8-4fba-91a2-903f43dc287d --- xpp/build-linux64.ps1 | 25 +++++++++++++++++ xpp/build-osx64.ps1 | 25 +++++++++++++++++ xpp/build-win64.ps1 | 25 +++++++++++++++++ xpp/extractor/xpp.sln | 62 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 137 insertions(+) create mode 100644 xpp/build-linux64.ps1 create mode 100644 xpp/build-osx64.ps1 create mode 100644 xpp/build-win64.ps1 create mode 100644 xpp/extractor/xpp.sln diff --git a/xpp/build-linux64.ps1 b/xpp/build-linux64.ps1 new file mode 100644 index 000000000000..03592ec0a8ac --- /dev/null +++ b/xpp/build-linux64.ps1 @@ -0,0 +1,25 @@ +param ( + [Parameter(Mandatory=$true)][string]$cliFolder +) + +# Mirrors the PowerShell extractor's build scripts: publish the extractor into the CLI's +# language folder, then copy the extractor configuration, dbscheme and tool scripts alongside. +# +# The X++ compiler package is proprietary and is not bundled. The extractor resolves it at run +# time from XPP_COMPILER_PACKAGE, which must be set wherever extraction happens. + +$toolsFolder = Join-Path (Join-Path (Join-Path $cliFolder "xpp") "tools") "linux64" +# Only the extractor is shipped. Xpp.SchemaGenerator is a build-time tool and comes in +# through the solution, so the project is published rather than the solution. +dotnet publish (Join-Path "$PSScriptRoot/extractor" "Xpp.Extractor" | Resolve-Path) -o $toolsFolder -r linux-x64 -c Release --self-contained +if ($LASTEXITCODE -ne 0) { + Write-Host "Build failed" + exit 1 +} + +$xppFolder = Join-Path -Path $cliFolder -ChildPath "xpp" +Copy-Item -Path "$PSScriptRoot/codeql-extractor.yml" -Destination $xppFolder -Force +$qlLibFolder = Join-Path -Path "$PSScriptRoot/ql" -ChildPath "lib" +Copy-Item -Path (Join-Path $qlLibFolder "xpp.dbscheme") -Destination $xppFolder -Force +Copy-Item -Path (Join-Path $qlLibFolder "xpp.dbscheme.stats") -Destination $xppFolder -Force +Copy-Item -Path "$PSScriptRoot/tools" -Destination $xppFolder -Recurse -Force diff --git a/xpp/build-osx64.ps1 b/xpp/build-osx64.ps1 new file mode 100644 index 000000000000..68de879c851a --- /dev/null +++ b/xpp/build-osx64.ps1 @@ -0,0 +1,25 @@ +param ( + [Parameter(Mandatory=$true)][string]$cliFolder +) + +# Mirrors the PowerShell extractor's build scripts: publish the extractor into the CLI's +# language folder, then copy the extractor configuration, dbscheme and tool scripts alongside. +# +# The X++ compiler package is proprietary and is not bundled. The extractor resolves it at run +# time from XPP_COMPILER_PACKAGE, which must be set wherever extraction happens. + +$toolsFolder = Join-Path (Join-Path (Join-Path $cliFolder "xpp") "tools") "osx64" +# Only the extractor is shipped. Xpp.SchemaGenerator is a build-time tool and comes in +# through the solution, so the project is published rather than the solution. +dotnet publish (Join-Path "$PSScriptRoot/extractor" "Xpp.Extractor" | Resolve-Path) -o $toolsFolder -r osx-x64 -c Release --self-contained +if ($LASTEXITCODE -ne 0) { + Write-Host "Build failed" + exit 1 +} + +$xppFolder = Join-Path -Path $cliFolder -ChildPath "xpp" +Copy-Item -Path "$PSScriptRoot/codeql-extractor.yml" -Destination $xppFolder -Force +$qlLibFolder = Join-Path -Path "$PSScriptRoot/ql" -ChildPath "lib" +Copy-Item -Path (Join-Path $qlLibFolder "xpp.dbscheme") -Destination $xppFolder -Force +Copy-Item -Path (Join-Path $qlLibFolder "xpp.dbscheme.stats") -Destination $xppFolder -Force +Copy-Item -Path "$PSScriptRoot/tools" -Destination $xppFolder -Recurse -Force diff --git a/xpp/build-win64.ps1 b/xpp/build-win64.ps1 new file mode 100644 index 000000000000..6d181be3ca1a --- /dev/null +++ b/xpp/build-win64.ps1 @@ -0,0 +1,25 @@ +param ( + [Parameter(Mandatory=$true)][string]$cliFolder +) + +# Mirrors the PowerShell extractor's build scripts: publish the extractor into the CLI's +# language folder, then copy the extractor configuration, dbscheme and tool scripts alongside. +# +# The X++ compiler package is proprietary and is not bundled. The extractor resolves it at run +# time from XPP_COMPILER_PACKAGE, which must be set wherever extraction happens. + +$toolsFolder = Join-Path (Join-Path (Join-Path $cliFolder "xpp") "tools") "win64" +# Only the extractor is shipped. Xpp.SchemaGenerator is a build-time tool and comes in +# through the solution, so the project is published rather than the solution. +dotnet publish (Join-Path "$PSScriptRoot/extractor" "Xpp.Extractor" | Resolve-Path) -o $toolsFolder -r win-x64 -c Release --self-contained +if ($LASTEXITCODE -ne 0) { + Write-Host "Build failed" + exit 1 +} + +$xppFolder = Join-Path -Path $cliFolder -ChildPath "xpp" +Copy-Item -Path "$PSScriptRoot/codeql-extractor.yml" -Destination $xppFolder -Force +$qlLibFolder = Join-Path -Path "$PSScriptRoot/ql" -ChildPath "lib" +Copy-Item -Path (Join-Path $qlLibFolder "xpp.dbscheme") -Destination $xppFolder -Force +Copy-Item -Path (Join-Path $qlLibFolder "xpp.dbscheme.stats") -Destination $xppFolder -Force +Copy-Item -Path "$PSScriptRoot/tools" -Destination $xppFolder -Recurse -Force diff --git a/xpp/extractor/xpp.sln b/xpp/extractor/xpp.sln new file mode 100644 index 000000000000..3e2c7f060c73 --- /dev/null +++ b/xpp/extractor/xpp.sln @@ -0,0 +1,62 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31903.59 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xpp.Extraction", "Xpp.Extraction\Xpp.Extraction.csproj", "{C335E196-8D9E-4329-BC4B-154A875BAB77}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xpp.Extractor", "Xpp.Extractor\Xpp.Extractor.csproj", "{5AE9C274-4F4D-4369-9923-112DF3CDDA37}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xpp.SchemaGenerator", "Xpp.SchemaGenerator\Xpp.SchemaGenerator.csproj", "{74F454CE-264F-442A-91EC-0000C00A7F6D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C335E196-8D9E-4329-BC4B-154A875BAB77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C335E196-8D9E-4329-BC4B-154A875BAB77}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C335E196-8D9E-4329-BC4B-154A875BAB77}.Debug|x64.ActiveCfg = Debug|Any CPU + {C335E196-8D9E-4329-BC4B-154A875BAB77}.Debug|x64.Build.0 = Debug|Any CPU + {C335E196-8D9E-4329-BC4B-154A875BAB77}.Debug|x86.ActiveCfg = Debug|Any CPU + {C335E196-8D9E-4329-BC4B-154A875BAB77}.Debug|x86.Build.0 = Debug|Any CPU + {C335E196-8D9E-4329-BC4B-154A875BAB77}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C335E196-8D9E-4329-BC4B-154A875BAB77}.Release|Any CPU.Build.0 = Release|Any CPU + {C335E196-8D9E-4329-BC4B-154A875BAB77}.Release|x64.ActiveCfg = Release|Any CPU + {C335E196-8D9E-4329-BC4B-154A875BAB77}.Release|x64.Build.0 = Release|Any CPU + {C335E196-8D9E-4329-BC4B-154A875BAB77}.Release|x86.ActiveCfg = Release|Any CPU + {C335E196-8D9E-4329-BC4B-154A875BAB77}.Release|x86.Build.0 = Release|Any CPU + {5AE9C274-4F4D-4369-9923-112DF3CDDA37}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5AE9C274-4F4D-4369-9923-112DF3CDDA37}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5AE9C274-4F4D-4369-9923-112DF3CDDA37}.Debug|x64.ActiveCfg = Debug|Any CPU + {5AE9C274-4F4D-4369-9923-112DF3CDDA37}.Debug|x64.Build.0 = Debug|Any CPU + {5AE9C274-4F4D-4369-9923-112DF3CDDA37}.Debug|x86.ActiveCfg = Debug|Any CPU + {5AE9C274-4F4D-4369-9923-112DF3CDDA37}.Debug|x86.Build.0 = Debug|Any CPU + {5AE9C274-4F4D-4369-9923-112DF3CDDA37}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5AE9C274-4F4D-4369-9923-112DF3CDDA37}.Release|Any CPU.Build.0 = Release|Any CPU + {5AE9C274-4F4D-4369-9923-112DF3CDDA37}.Release|x64.ActiveCfg = Release|Any CPU + {5AE9C274-4F4D-4369-9923-112DF3CDDA37}.Release|x64.Build.0 = Release|Any CPU + {5AE9C274-4F4D-4369-9923-112DF3CDDA37}.Release|x86.ActiveCfg = Release|Any CPU + {5AE9C274-4F4D-4369-9923-112DF3CDDA37}.Release|x86.Build.0 = Release|Any CPU + {74F454CE-264F-442A-91EC-0000C00A7F6D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {74F454CE-264F-442A-91EC-0000C00A7F6D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {74F454CE-264F-442A-91EC-0000C00A7F6D}.Debug|x64.ActiveCfg = Debug|Any CPU + {74F454CE-264F-442A-91EC-0000C00A7F6D}.Debug|x64.Build.0 = Debug|Any CPU + {74F454CE-264F-442A-91EC-0000C00A7F6D}.Debug|x86.ActiveCfg = Debug|Any CPU + {74F454CE-264F-442A-91EC-0000C00A7F6D}.Debug|x86.Build.0 = Debug|Any CPU + {74F454CE-264F-442A-91EC-0000C00A7F6D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {74F454CE-264F-442A-91EC-0000C00A7F6D}.Release|Any CPU.Build.0 = Release|Any CPU + {74F454CE-264F-442A-91EC-0000C00A7F6D}.Release|x64.ActiveCfg = Release|Any CPU + {74F454CE-264F-442A-91EC-0000C00A7F6D}.Release|x64.Build.0 = Release|Any CPU + {74F454CE-264F-442A-91EC-0000C00A7F6D}.Release|x86.ActiveCfg = Release|Any CPU + {74F454CE-264F-442A-91EC-0000C00A7F6D}.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal From 691fed513a5297ef8fe84333df95fd52ed0719fd Mon Sep 17 00:00:00 2001 From: Giulia Stocco <98900+gfs@users.noreply.github.com> Date: Tue, 18 Aug 2026 09:03:07 -0700 Subject: [PATCH 10/10] X++: emit comments, and derive traversal from the emitter's own labels `codeql dataset check` reported 286 VALUE_NOT_IN_TYPE violations: every value of compilation_unit_comments was outside @comment_or_none. The database imported and queried fine, so nothing had caught it. There were two causes. Comments were never emitted at all: Comment is not an Ast subclass, so the tree walk skipped it while the generated emitter still referenced it, leaving every reference dangling. Emitting them was not enough on its own. Comment is a struct, so each read of the property boxes it into a new object. The emitter read the property to write the reference and the tree walk read it again to visit the node, producing two distinct boxes and therefore two distinct labels: 286 defined, 286 referenced, no overlap. Rather than special-case structs, the emitter now records each child as it labels it and the walk consumes that list, so both sides use the same instances by construction. This also removes the reflective property walk, and covers any other property that allocates on read rather than just this one. Locations are also emitted for comments, and TextPosition is null-checked, since it is a reference type and some nodes carry no extent. `codeql dataset check` now reports 0 violations. The library test pins the comment count so a regression cannot go unnoticed again, and regeneration remains deterministic. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1f6fb880-dfd8-4fba-91a2-903f43dc287d --- xpp/extractor/Xpp.Extraction/Extractor.cs | 118 +- .../Generated/AstTrapEmitter.g.cs | 1379 +++++++++-------- .../Xpp.SchemaGenerator/TrapEmitterWriter.cs | 27 +- xpp/ql/test/library-tests/ast/Ast.expected | 1 + xpp/ql/test/library-tests/ast/Ast.ql | 5 + 5 files changed, 759 insertions(+), 771 deletions(-) diff --git a/xpp/extractor/Xpp.Extraction/Extractor.cs b/xpp/extractor/Xpp.Extraction/Extractor.cs index d5aad7ea2b70..609be9e9333b 100644 --- a/xpp/extractor/Xpp.Extraction/Extractor.cs +++ b/xpp/extractor/Xpp.Extraction/Extractor.cs @@ -1,6 +1,7 @@ using System.Runtime.CompilerServices; using System.Xml.Linq; using Microsoft.Dynamics.AX.Framework.Xlnt.XppParser; +using XppComment = Microsoft.Dynamics.AX.Framework.Xlnt.XppParser.Comment; using Microsoft.Dynamics.AX.Metadata.XppCompiler; using Xpp.Extraction.Generated; @@ -50,6 +51,9 @@ public ExtractionResult Extract(string path, ITrapFile trap) var nodes = 0; var unsupported = 0; + // Shared across blocks so a node reachable from two of them is only emitted once. + var seen = new HashSet(ReferenceEqualityComparer.Instance); + foreach (var block in XppSourceFile.Blocks(document)) { blocks++; @@ -79,7 +83,7 @@ public ExtractionResult Extract(string path, ITrapFile trap) if (unit is null) continue; - EmitTree(trap, fileLabel, unit, ref nodes, ref unsupported); + EmitTree(trap, fileLabel, unit, seen, ref nodes, ref unsupported); } return new ExtractionResult(path, blocks, nodes, unsupported, errors); @@ -98,13 +102,21 @@ private static string ElementType(string path) } /// Walks the AST, writing each node's tuples exactly once. + /// + /// Children come back from the emitter rather than being re-read here. Some of the + /// compiler's node properties are structs, which box to a fresh object on every read, so + /// reading a property twice yields two objects and therefore two different labels: one for + /// the reference and one for the definition, leaving both dangling. + /// private static void EmitTree( - ITrapFile trap, Label file, object root, ref int nodes, ref int unsupported) + ITrapFile trap, Label file, object root, HashSet seen, + ref int nodes, ref int unsupported) { - var seen = new HashSet(ReferenceEqualityComparer.Instance); var pending = new Stack(); pending.Push(root); + var children = new List(); + while (pending.Count > 0) { var node = pending.Pop(); @@ -113,12 +125,24 @@ private static void EmitTree( nodes++; var id = trap.Label(node); - if (!AstTrapEmitter.Emit(trap, id, node)) + children.Clear(); + + // Comments are referenced by CompilationUnit but are not Ast nodes, so the + // generated emitter does not know them. + if (node is XppComment comment) + { + trap.Tuple("comments", id); + if (comment.Text is { } text) + trap.Tuple("comment_texts", id, text); + } + else if (!AstTrapEmitter.Emit(trap, id, node, children)) + { unsupported++; + } EmitLocation(trap, file, id, node); - foreach (var child in Children(node)) + foreach (var child in children) pending.Push(child); } } @@ -132,14 +156,16 @@ private static void EmitTree( /// private static void EmitLocation(ITrapFile trap, Label file, Label id, object node) { - if (node is not Ast ast) - return; - - var position = ast.Position; - - // Nodes the parser synthesises carry no extent; recording a zero span would put alerts - // at the top of the file. - if (position.StartLine <= 0) + var position = node switch + { + Ast ast => ast.Position, + XppComment comment => comment.Position, + _ => null, + }; + + // Nodes the parser synthesises carry no extent, and TextPosition is a reference type so + // it can also be absent outright. Recording a zero span would put alerts at line 1. + if (position is null || position.StartLine <= 0) return; var location = trap.FreshLabel(); @@ -148,70 +174,4 @@ private static void EmitLocation(ITrapFile trap, Label file, Label id, object no position.StartLine, position.StartCol, position.EndLine, position.EndCol); trap.Tuple("locatable_locations", id, location); } - - /// The AST nodes directly reachable from . - private static IEnumerable Children(object node) - { - foreach (var property in node.GetType().GetProperties()) - { - if (property.Name is "Parent" or "ParentAst") - continue; - - object? value; - try - { - value = property.GetValue(node); - } - catch - { - continue; - } - - foreach (var child in Reachable(value)) - yield return child; - } - } - - /// - /// The AST nodes held by a property value. - /// - /// - /// The compiler groups some children in CLR tuples, such as a `catch` with its handler body - /// or a switch case with its statements, so tuple slots have to be looked through or those - /// subtrees are never visited. - /// - private static IEnumerable Reachable(object? value) - { - switch (value) - { - case null: - case string: - yield break; - - case Ast child: - yield return child; - break; - - case ITuple tuple: - for (var i = 0; i < tuple.Length; i++) - { - foreach (var nested in Reachable(tuple[i])) - yield return nested; - } - - break; - - case System.Collections.IEnumerable: - // AstSequence reduces dictionary entries to their values; iterating the raw - // collection would yield KeyValuePair, which is neither an Ast nor a tuple and - // would silently drop the subtree. - foreach (var item in AstSequence.Elements(value)) - { - foreach (var nested in Reachable(item)) - yield return nested; - } - - break; - } - } } diff --git a/xpp/extractor/Xpp.Extraction/Generated/AstTrapEmitter.g.cs b/xpp/extractor/Xpp.Extraction/Generated/AstTrapEmitter.g.cs index fa9c4551afde..fb372c981ec6 100644 --- a/xpp/extractor/Xpp.Extraction/Generated/AstTrapEmitter.g.cs +++ b/xpp/extractor/Xpp.Extraction/Generated/AstTrapEmitter.g.cs @@ -11,38 +11,49 @@ namespace Xpp.Extraction.Generated; internal static class AstTrapEmitter { - private static void EmitOwnArraySpecification(ITrapFile trap, Label id, object node) + /// + /// Labels a child and records it, so the caller walks the same instances that were + /// labelled here. Reading a property twice is not safe: some are structs, which box + /// to a new object on each read and would otherwise get two different labels. + /// + private static Label Child(ITrapFile trap, ICollection children, object node) + { + children.Add(node); + return trap.Label(node); + } + + private static void EmitOwnArraySpecification(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ArraySpecification)node; if (n.Index1 is { } c_index1) - trap.Tuple("array_specification_index1s", id, trap.Label(c_index1)); + trap.Tuple("array_specification_index1s", id, Child(trap, children, c_index1)); if (n.Index2 is { } c_index2) - trap.Tuple("array_specification_index2s", id, trap.Label(c_index2)); + trap.Tuple("array_specification_index2s", id, Child(trap, children, c_index2)); } - private static void EmitOwnAssignMultipleFieldStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnAssignMultipleFieldStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignMultipleFieldStatement)node; if (n.Expression is { } c_expression) - trap.Tuple("assign_multiple_field_statement_expressions", id, trap.Label(c_expression)); + trap.Tuple("assign_multiple_field_statement_expressions", id, Child(trap, children, c_expression)); { var i = 0; foreach (var item in AstSequence.Elements(n.Fields)) { - trap.Tuple("assign_multiple_field_statement_fields", id, i, trap.Label(item)); + trap.Tuple("assign_multiple_field_statement_fields", id, i, Child(trap, children, item)); i++; } } } - private static void EmitOwnAssignmentBinary(ITrapFile trap, Label id, object node) + private static void EmitOwnAssignmentBinary(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignmentBinary)node; if (n.Expression is { } c_expression) - trap.Tuple("assignment_binary_expressions", id, trap.Label(c_expression)); + trap.Tuple("assignment_binary_expressions", id, Child(trap, children, c_expression)); } - private static void EmitOwnAssignmentEventHandlerBase(ITrapFile trap, Label id, object node) + private static void EmitOwnAssignmentEventHandlerBase(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignmentEventHandlerBase)node; if (n.Addition is true) @@ -51,28 +62,28 @@ private static void EmitOwnAssignmentEventHandlerBase(ITrapFile trap, Label id, trap.Tuple("assignment_event_handler_base_names", id, s_name); } - private static void EmitOwnAssignmentEventHandlerInstance(ITrapFile trap, Label id, object node) + private static void EmitOwnAssignmentEventHandlerInstance(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignmentEventHandlerInstance)node; if (n.QualifierPart is { } c_qualifier_part) - trap.Tuple("assignment_event_handler_instance_qualifier_parts", id, trap.Label(c_qualifier_part)); + trap.Tuple("assignment_event_handler_instance_qualifier_parts", id, Child(trap, children, c_qualifier_part)); } - private static void EmitOwnAssignmentEventHandlerStatic(ITrapFile trap, Label id, object node) + private static void EmitOwnAssignmentEventHandlerStatic(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignmentEventHandlerStatic)node; if (n.TypeName is string s_type_name) trap.Tuple("assignment_event_handler_static_type_names", id, s_type_name); } - private static void EmitOwnAssignmentSingleField(ITrapFile trap, Label id, object node) + private static void EmitOwnAssignmentSingleField(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignmentSingleField)node; if (n.Field is { } c_field) - trap.Tuple("assignment_single_field_fields", id, trap.Label(c_field)); + trap.Tuple("assignment_single_field_fields", id, Child(trap, children, c_field)); } - private static void EmitOwnAttribute(ITrapFile trap, Label id, object node) + private static void EmitOwnAttribute(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Attribute)node; if (n.Name is string s_name) @@ -81,7 +92,7 @@ private static void EmitOwnAttribute(ITrapFile trap, Label id, object node) var i = 0; foreach (var item in AstSequence.Elements(n.NamedParameters)) { - trap.Tuple("attribute_named_parameters", id, i, EmitAttributeNamedParameterEntry(trap, (ITuple)item)); + trap.Tuple("attribute_named_parameters", id, i, EmitAttributeNamedParameterEntry(trap, children, (ITuple)item)); i++; } } @@ -91,27 +102,27 @@ private static void EmitOwnAttribute(ITrapFile trap, Label id, object node) var i = 0; foreach (var item in AstSequence.Elements(n.Parameters)) { - trap.Tuple("attribute_parameters", id, i, trap.Label(item)); + trap.Tuple("attribute_parameters", id, i, Child(trap, children, item)); i++; } } } - private static void EmitOwnAttributeExpression(ITrapFile trap, Label id, object node) + private static void EmitOwnAttributeExpression(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.AttributeExpression)node; if (n.Literal is { } c_literal) - trap.Tuple("attribute_expression_literals", id, trap.Label(c_literal)); + trap.Tuple("attribute_expression_literals", id, Child(trap, children, c_literal)); } - private static void EmitOwnAttributeList(ITrapFile trap, Label id, object node) + private static void EmitOwnAttributeList(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.AttributeList)node; { var i = 0; foreach (var item in AstSequence.Elements(n.Attributes)) { - trap.Tuple("attribute_list_attributes", id, i, trap.Label(item)); + trap.Tuple("attribute_list_attributes", id, i, Child(trap, children, item)); i++; } } @@ -119,61 +130,61 @@ private static void EmitOwnAttributeList(ITrapFile trap, Label id, object node) trap.Tuple("attribute_list_contains_internal_use_only_attribute", id); } - private static void EmitOwnBinaryExpression(ITrapFile trap, Label id, object node) + private static void EmitOwnBinaryExpression(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.BinaryExpression)node; if (n.Left is { } c_left) - trap.Tuple("binary_expression_lefts", id, trap.Label(c_left)); + trap.Tuple("binary_expression_lefts", id, Child(trap, children, c_left)); if (n.Right is { } c_right) - trap.Tuple("binary_expression_rights", id, trap.Label(c_right)); + trap.Tuple("binary_expression_rights", id, Child(trap, children, c_right)); } - private static void EmitOwnCaseValues(ITrapFile trap, Label id, object node) + private static void EmitOwnCaseValues(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.CaseValues)node; { var i = 0; foreach (var item in AstSequence.Elements(n.Values)) { - trap.Tuple("case_values_values", id, i, trap.Label(item)); + trap.Tuple("case_values_values", id, i, Child(trap, children, item)); i++; } } } - private static void EmitOwnCatchExpression(ITrapFile trap, Label id, object node) + private static void EmitOwnCatchExpression(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.CatchExpression)node; if (n.Expression is { } c_expression) - trap.Tuple("catch_expression_expressions", id, trap.Label(c_expression)); + trap.Tuple("catch_expression_expressions", id, Child(trap, children, c_expression)); } - private static void EmitOwnCatchUpdateConflict(ITrapFile trap, Label id, object node) + private static void EmitOwnCatchUpdateConflict(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.CatchUpdateConflict)node; if (n.Expression is { } c_expression) - trap.Tuple("catch_update_conflict_expressions", id, trap.Label(c_expression)); + trap.Tuple("catch_update_conflict_expressions", id, Child(trap, children, c_expression)); if (n.Instance is { } c_instance) - trap.Tuple("catch_update_conflict_instances", id, trap.Label(c_instance)); + trap.Tuple("catch_update_conflict_instances", id, Child(trap, children, c_instance)); } - private static void EmitOwnChangeStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnChangeStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ChangeStatement)node; if (n.Expression is { } c_expression) - trap.Tuple("change_statement_expressions", id, trap.Label(c_expression)); + trap.Tuple("change_statement_expressions", id, Child(trap, children, c_expression)); if (n.Statement is { } c_statement) - trap.Tuple("change_statement_statements", id, trap.Label(c_statement)); + trap.Tuple("change_statement_statements", id, Child(trap, children, c_statement)); } - private static void EmitOwnClass(ITrapFile trap, Label id, object node) + private static void EmitOwnClass(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Class)node; { var i = 0; foreach (var item in AstSequence.Elements(n.Fields)) { - trap.Tuple("class_fields", id, i, trap.Label(item)); + trap.Tuple("class_fields", id, i, Child(trap, children, item)); i++; } } @@ -189,22 +200,22 @@ private static void EmitOwnClass(ITrapFile trap, Label id, object node) } } - private static void EmitOwnClassAccessModifier(ITrapFile trap, Label id, object node) + private static void EmitOwnClassAccessModifier(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ClassAccessModifier)node; if (n.ClassModifiers is { } e_class_modifiers) trap.Tuple("class_access_modifier_class_modifiers", id, e_class_modifiers.ToString()); } - private static void EmitOwnClassOrInterface(ITrapFile trap, Label id, object node) + private static void EmitOwnClassOrInterface(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ClassOrInterface)node; if (n.Attributes is { } c_attributes) - trap.Tuple("class_or_interface_attributes", id, trap.Label(c_attributes)); + trap.Tuple("class_or_interface_attributes", id, Child(trap, children, c_attributes)); if (n.ElementTypeName is string s_element_type_name) trap.Tuple("class_or_interface_element_type_names", id, s_element_type_name); if (n.EnclosingType is { } c_enclosing_type) - trap.Tuple("class_or_interface_enclosing_types", id, trap.Label(c_enclosing_type)); + trap.Tuple("class_or_interface_enclosing_types", id, Child(trap, children, c_enclosing_type)); if (n.Extends is string s_extends) trap.Tuple("class_or_interface_extends", id, s_extends); if (n.IsAbstract is true) @@ -221,7 +232,7 @@ private static void EmitOwnClassOrInterface(ITrapFile trap, Label id, object nod trap.Tuple("class_or_interface_qualifiers", id, s_qualifier); } - private static void EmitOwnClrEnumerationLiteralExpression(ITrapFile trap, Label id, object node) + private static void EmitOwnClrEnumerationLiteralExpression(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ClrEnumerationLiteralExpression)node; if (n.EnumerationLiteral is string s_enumeration_literal) @@ -230,7 +241,7 @@ private static void EmitOwnClrEnumerationLiteralExpression(ITrapFile trap, Label trap.Tuple("clr_enumeration_literal_expression_enumeration_types", id, s_enumeration_type); } - private static void EmitOwnClrType(ITrapFile trap, Label id, object node) + private static void EmitOwnClrType(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ClrType)node; if (n.FullName is string s_full_name) @@ -245,11 +256,11 @@ private static void EmitOwnClrType(ITrapFile trap, Label id, object node) } } - private static void EmitOwnCompilationUnit(ITrapFile trap, Label id, object node) + private static void EmitOwnCompilationUnit(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.CompilationUnit)node; if (n.Comments is { } c_comments) - trap.Tuple("compilation_unit_comments", id, trap.Label(c_comments)); + trap.Tuple("compilation_unit_comments", id, Child(trap, children, c_comments)); if (n.IsNameEscaped is true) trap.Tuple("compilation_unit_is_name_escaped", id); if (n.Name is string s_name) @@ -260,126 +271,126 @@ private static void EmitOwnCompilationUnit(ITrapFile trap, Label id, object node var i = 0; foreach (var item in AstSequence.Elements(n.Regions)) { - trap.Tuple("compilation_unit_regions", id, i, EmitCompilationUnitRegionEntry(trap, (ITuple)item)); + trap.Tuple("compilation_unit_regions", id, i, EmitCompilationUnitRegionEntry(trap, children, (ITuple)item)); i++; } } } - private static void EmitOwnCompoundStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnCompoundStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.CompoundStatement)node; { var i = 0; foreach (var item in AstSequence.Elements(n.Content)) { - trap.Tuple("compound_statement_contents", id, i, trap.Label(item)); + trap.Tuple("compound_statement_contents", id, i, Child(trap, children, item)); i++; } } } - private static void EmitOwnConditionalExpression(ITrapFile trap, Label id, object node) + private static void EmitOwnConditionalExpression(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ConditionalExpression)node; if (n.Condition is { } c_condition) - trap.Tuple("conditional_expression_conditions", id, trap.Label(c_condition)); + trap.Tuple("conditional_expression_conditions", id, Child(trap, children, c_condition)); if (n.ElsePart is { } c_else_part) - trap.Tuple("conditional_expression_else_parts", id, trap.Label(c_else_part)); + trap.Tuple("conditional_expression_else_parts", id, Child(trap, children, c_else_part)); if (n.IfPart is { } c_if_part) - trap.Tuple("conditional_expression_if_parts", id, trap.Label(c_if_part)); + trap.Tuple("conditional_expression_if_parts", id, Child(trap, children, c_if_part)); } - private static void EmitOwnContainerAttributeLiteral(ITrapFile trap, Label id, object node) + private static void EmitOwnContainerAttributeLiteral(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ContainerAttributeLiteral)node; { var i = 0; foreach (var item in AstSequence.Elements(n.Value)) { - trap.Tuple("container_attribute_literal_values", id, i, trap.Label(item)); + trap.Tuple("container_attribute_literal_values", id, i, Child(trap, children, item)); i++; } } } - private static void EmitOwnContainerLiteralExpression(ITrapFile trap, Label id, object node) + private static void EmitOwnContainerLiteralExpression(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ContainerLiteralExpression)node; { var i = 0; foreach (var item in AstSequence.Elements(n.Value)) { - trap.Tuple("container_literal_expression_values", id, i, trap.Label(item)); + trap.Tuple("container_literal_expression_values", id, i, Child(trap, children, item)); i++; } } } - private static void EmitOwnCrossCompanyContainer(ITrapFile trap, Label id, object node) + private static void EmitOwnCrossCompanyContainer(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.CrossCompanyContainer)node; if (n.Container is { } c_container) - trap.Tuple("cross_company_container_containers", id, trap.Label(c_container)); + trap.Tuple("cross_company_container_containers", id, Child(trap, children, c_container)); } - private static void EmitOwnDeclaration(ITrapFile trap, Label id, object node) + private static void EmitOwnDeclaration(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Declaration)node; if (n.ArraySpecification is { } c_array_specification) - trap.Tuple("declaration_array_specifications", id, trap.Label(c_array_specification)); + trap.Tuple("declaration_array_specifications", id, Child(trap, children, c_array_specification)); { var i = 0; foreach (var item in AstSequence.Elements(n.ModifierList)) { - trap.Tuple("declaration_modifier_lists", id, i, trap.Label(item)); + trap.Tuple("declaration_modifier_lists", id, i, Child(trap, children, item)); i++; } } if (n.Modifiers is { } e_modifiers) trap.Tuple("declaration_modifiers", id, e_modifiers.ToString()); if (n.Type is { } c_type) - trap.Tuple("declaration_types", id, trap.Label(c_type)); + trap.Tuple("declaration_types", id, Child(trap, children, c_type)); } - private static void EmitOwnDefaultTypeAttributeLiteral(ITrapFile trap, Label id, object node) + private static void EmitOwnDefaultTypeAttributeLiteral(ITrapFile trap, Label id, object node, ICollection children) { dynamic n = node; if (n.ScannedLiteralValue is string s_scanned_literal_value) trap.Tuple("default_type_attribute_literal_scanned_literal_values", id, s_scanned_literal_value); } - private static void EmitOwnDefaultTypeLiteralExpression(ITrapFile trap, Label id, object node) + private static void EmitOwnDefaultTypeLiteralExpression(ITrapFile trap, Label id, object node, ICollection children) { dynamic n = node; if (n.ScannedLiteralValue is string s_scanned_literal_value) trap.Tuple("default_type_literal_expression_scanned_literal_values", id, s_scanned_literal_value); } - private static void EmitOwnDelegate(ITrapFile trap, Label id, object node) + private static void EmitOwnDelegate(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Delegate)node; if (n.IsStatic is true) trap.Tuple("delegate_is_static", id); } - private static void EmitOwnDeleteStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnDeleteStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.DeleteStatement)node; if (n.Query is { } c_query) - trap.Tuple("delete_statement_queries", id, trap.Label(c_query)); + trap.Tuple("delete_statement_queries", id, Child(trap, children, c_query)); } - private static void EmitOwnDoWhileStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnDoWhileStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.DoWhileStatement)node; if (n.Condition is { } c_condition) - trap.Tuple("do_while_statement_conditions", id, trap.Label(c_condition)); + trap.Tuple("do_while_statement_conditions", id, Child(trap, children, c_condition)); if (n.Statement is { } c_statement) - trap.Tuple("do_while_statement_statements", id, trap.Label(c_statement)); + trap.Tuple("do_while_statement_statements", id, Child(trap, children, c_statement)); } - private static void EmitOwnEnumAttributeLiteral(ITrapFile trap, Label id, object node) + private static void EmitOwnEnumAttributeLiteral(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.EnumAttributeLiteral)node; if (n.Literal is string s_literal) @@ -388,7 +399,7 @@ private static void EmitOwnEnumAttributeLiteral(ITrapFile trap, Label id, object trap.Tuple("enum_attribute_literal_type_names", id, s_type_name); } - private static void EmitOwnEnumerationLiteralExpression(ITrapFile trap, Label id, object node) + private static void EmitOwnEnumerationLiteralExpression(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.EnumerationLiteralExpression)node; if (n.EnumerationLiteral is string s_enumeration_literal) @@ -397,7 +408,7 @@ private static void EmitOwnEnumerationLiteralExpression(ITrapFile trap, Label id trap.Tuple("enumeration_literal_expression_enumeration_types", id, s_enumeration_type); } - private static void EmitOwnEnumerationType(ITrapFile trap, Label id, object node) + private static void EmitOwnEnumerationType(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.EnumerationType)node; if (n.EnumeratedType is string s_enumerated_type) @@ -408,71 +419,71 @@ private static void EmitOwnEnumerationType(ITrapFile trap, Label id, object node trap.Tuple("enumeration_type_namespaces", id, s_namespace); } - private static void EmitOwnEvaluation(ITrapFile trap, Label id, object node) + private static void EmitOwnEvaluation(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Evaluation)node; { var i = 0; foreach (var item in AstSequence.Elements(n.ActualParameters)) { - trap.Tuple("evaluation_actual_parameters", id, i, EmitEvaluationActualParameterEntry(trap, (ITuple)item)); + trap.Tuple("evaluation_actual_parameters", id, i, EmitEvaluationActualParameterEntry(trap, children, (ITuple)item)); i++; } } } - private static void EmitOwnExplicitSelection(ITrapFile trap, Label id, object node) + private static void EmitOwnExplicitSelection(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ExplicitSelection)node; { var i = 0; foreach (var item in AstSequence.Elements(n.Fields)) { - trap.Tuple("explicit_selection_fields", id, i, trap.Label(item)); + trap.Tuple("explicit_selection_fields", id, i, Child(trap, children, item)); i++; } } } - private static void EmitOwnExpression(ITrapFile trap, Label id, object node) + private static void EmitOwnExpression(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Expression)node; if (n.IsConst is true) trap.Tuple("expression_is_const", id); if (n.Transformation is { } c_transformation) - trap.Tuple("expression_transformations", id, trap.Label(c_transformation)); + trap.Tuple("expression_transformations", id, Child(trap, children, c_transformation)); } - private static void EmitOwnExpressionCompilationUnit(ITrapFile trap, Label id, object node) + private static void EmitOwnExpressionCompilationUnit(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ExpressionCompilationUnit)node; if (n.Expression is { } c_expression) - trap.Tuple("expression_compilation_unit_expressions", id, trap.Label(c_expression)); + trap.Tuple("expression_compilation_unit_expressions", id, Child(trap, children, c_expression)); if (n.PathContribution is string s_path_contribution) trap.Tuple("expression_compilation_unit_path_contributions", id, s_path_contribution); } - private static void EmitOwnExpressionQualifier(ITrapFile trap, Label id, object node) + private static void EmitOwnExpressionQualifier(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ExpressionQualifier)node; if (n.Expression is { } c_expression) - trap.Tuple("expression_qualifier_expressions", id, trap.Label(c_expression)); + trap.Tuple("expression_qualifier_expressions", id, Child(trap, children, c_expression)); } - private static void EmitOwnExpressionStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnExpressionStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ExpressionStatement)node; if (n.ElementTypeName is string s_element_type_name) trap.Tuple("expression_statement_element_type_names", id, s_element_type_name); if (n.Expression is { } c_expression) - trap.Tuple("expression_statement_expressions", id, trap.Label(c_expression)); + trap.Tuple("expression_statement_expressions", id, Child(trap, children, c_expression)); } - private static void EmitOwnFieldAssignment(ITrapFile trap, Label id, object node) + private static void EmitOwnFieldAssignment(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FieldAssignment)node; if (n.Expression is { } c_expression) - trap.Tuple("field_assignment_expressions", id, trap.Label(c_expression)); + trap.Tuple("field_assignment_expressions", id, Child(trap, children, c_expression)); if (n.ExtensionName is string s_extension_name) trap.Tuple("field_assignment_extension_names", id, s_extension_name); if (n.FieldName is string s_field_name) @@ -481,17 +492,17 @@ private static void EmitOwnFieldAssignment(ITrapFile trap, Label id, object node trap.Tuple("field_assignment_indices", id, System.Convert.ToInt64(v_index)); } - private static void EmitOwnFieldDeclaration(ITrapFile trap, Label id, object node) + private static void EmitOwnFieldDeclaration(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FieldDeclaration)node; if (n.Attributes is { } c_attributes) - trap.Tuple("field_declaration_attributes", id, trap.Label(c_attributes)); + trap.Tuple("field_declaration_attributes", id, Child(trap, children, c_attributes)); if (n.ElementTypeName is string s_element_type_name) trap.Tuple("field_declaration_element_type_names", id, s_element_type_name); if (n.ExtensionName is string s_extension_name) trap.Tuple("field_declaration_extension_names", id, s_extension_name); if (n.InitialValue is { } c_initial_value) - trap.Tuple("field_declaration_initial_values", id, trap.Label(c_initial_value)); + trap.Tuple("field_declaration_initial_values", id, Child(trap, children, c_initial_value)); if (n.IsConst is true) trap.Tuple("field_declaration_is_const", id); if (n.IsExtension is true) @@ -512,27 +523,27 @@ private static void EmitOwnFieldDeclaration(ITrapFile trap, Label id, object nod trap.Tuple("field_declaration_is_static", id); } - private static void EmitOwnFieldExpression(ITrapFile trap, Label id, object node) + private static void EmitOwnFieldExpression(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FieldExpression)node; if (n.Field is { } c_field) - trap.Tuple("field_expression_fields", id, trap.Label(c_field)); + trap.Tuple("field_expression_fields", id, Child(trap, children, c_field)); if (n.IsEnum is true) trap.Tuple("field_expression_is_enum", id); } - private static void EmitOwnFieldSelection(ITrapFile trap, Label id, object node) + private static void EmitOwnFieldSelection(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FieldSelection)node; if (n.Index is { } v_index) trap.Tuple("field_selection_indices", id, System.Convert.ToInt64(v_index)); } - private static void EmitOwnFieldSpecification(ITrapFile trap, Label id, object node) + private static void EmitOwnFieldSpecification(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FieldSpecification)node; if (n.ArrayIndex is { } c_array_index) - trap.Tuple("field_specification_array_indices", id, trap.Label(c_array_index)); + trap.Tuple("field_specification_array_indices", id, Child(trap, children, c_array_index)); if (n.ElementTypeName is string s_element_type_name) trap.Tuple("field_specification_element_type_names", id, s_element_type_name); if (n.IsConst is true) @@ -550,17 +561,17 @@ private static void EmitOwnFieldSpecification(ITrapFile trap, Label id, object n if (n.IsStatic is true) trap.Tuple("field_specification_is_static", id); if (n.Qualifier is { } c_qualifier) - trap.Tuple("field_specification_qualifiers", id, trap.Label(c_qualifier)); + trap.Tuple("field_specification_qualifiers", id, Child(trap, children, c_qualifier)); } - private static void EmitOwnFindStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnFindStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FindStatement)node; if (n.Query is { } c_query) - trap.Tuple("find_statement_queries", id, trap.Label(c_query)); + trap.Tuple("find_statement_queries", id, Child(trap, children, c_query)); } - private static void EmitOwnFlushStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnFlushStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FlushStatement)node; { @@ -573,47 +584,47 @@ private static void EmitOwnFlushStatement(ITrapFile trap, Label id, object node) } } - private static void EmitOwnForAssign(ITrapFile trap, Label id, object node) + private static void EmitOwnForAssign(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ForAssign)node; if (n.FieldSpecification is { } c_field_specification) - trap.Tuple("for_assign_field_specifications", id, trap.Label(c_field_specification)); + trap.Tuple("for_assign_field_specifications", id, Child(trap, children, c_field_specification)); } - private static void EmitOwnForDeclarationAssign(ITrapFile trap, Label id, object node) + private static void EmitOwnForDeclarationAssign(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ForDeclarationAssign)node; { var i = 0; foreach (var item in AstSequence.Elements(n.InitializationDeclaration)) { - trap.Tuple("for_declaration_assign_initialization_declarations", id, i, trap.Label(item)); + trap.Tuple("for_declaration_assign_initialization_declarations", id, i, Child(trap, children, item)); i++; } } } - private static void EmitOwnForExpressionAssign(ITrapFile trap, Label id, object node) + private static void EmitOwnForExpressionAssign(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ForExpressionAssign)node; if (n.Expression is { } c_expression) - trap.Tuple("for_expression_assign_expressions", id, trap.Label(c_expression)); + trap.Tuple("for_expression_assign_expressions", id, Child(trap, children, c_expression)); } - private static void EmitOwnForStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnForStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ForStatement)node; if (n.Condition is { } c_condition) - trap.Tuple("for_statement_conditions", id, trap.Label(c_condition)); + trap.Tuple("for_statement_conditions", id, Child(trap, children, c_condition)); if (n.Initialization is { } c_initialization) - trap.Tuple("for_statement_initializations", id, trap.Label(c_initialization)); + trap.Tuple("for_statement_initializations", id, Child(trap, children, c_initialization)); if (n.Statement is { } c_statement) - trap.Tuple("for_statement_statements", id, trap.Label(c_statement)); + trap.Tuple("for_statement_statements", id, Child(trap, children, c_statement)); if (n.Update is { } c_update) - trap.Tuple("for_statement_updates", id, trap.Label(c_update)); + trap.Tuple("for_statement_updates", id, Child(trap, children, c_update)); } - private static void EmitOwnFormControl(ITrapFile trap, Label id, object node) + private static void EmitOwnFormControl(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FormControl)node; if (n.AutoDeclaration is true) @@ -622,7 +633,7 @@ private static void EmitOwnFormControl(ITrapFile trap, Label id, object node) var i = 0; foreach (var item in AstSequence.Elements(n.ChildControls)) { - trap.Tuple("form_control_child_controls", id, i, trap.Label(item)); + trap.Tuple("form_control_child_controls", id, i, Child(trap, children, item)); i++; } } @@ -639,26 +650,26 @@ private static void EmitOwnFormControl(ITrapFile trap, Label id, object node) if (n.IsFormControlExtension is true) trap.Tuple("form_control_is_form_control_extension", id); if (n.ParentControl is { } c_parent_control) - trap.Tuple("form_control_parent_controls", id, trap.Label(c_parent_control)); + trap.Tuple("form_control_parent_controls", id, Child(trap, children, c_parent_control)); } - private static void EmitOwnFormDataField(ITrapFile trap, Label id, object node) + private static void EmitOwnFormDataField(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FormDataField)node; if (n.ElementTypeName is string s_element_type_name) trap.Tuple("form_data_field_element_type_names", id, s_element_type_name); if (n.FormDataSource is { } c_form_data_source) - trap.Tuple("form_data_field_form_data_sources", id, trap.Label(c_form_data_source)); + trap.Tuple("form_data_field_form_data_sources", id, Child(trap, children, c_form_data_source)); } - private static void EmitOwnFormDataSource(ITrapFile trap, Label id, object node) + private static void EmitOwnFormDataSource(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FormDataSource)node; { var i = 0; foreach (var item in AstSequence.Elements(n.DataFields)) { - trap.Tuple("form_data_source_data_fields", id, i, trap.Label(item)); + trap.Tuple("form_data_source_data_fields", id, i, Child(trap, children, item)); i++; } } @@ -671,30 +682,30 @@ private static void EmitOwnFormDataSource(ITrapFile trap, Label id, object node) if (n.NestedDataSource is true) trap.Tuple("form_data_source_nested_data_source", id); if (n.Query is { } c_query) - trap.Tuple("form_data_source_queries", id, trap.Label(c_query)); + trap.Tuple("form_data_source_queries", id, Child(trap, children, c_query)); if (n.QueryName is string s_query_name) trap.Tuple("form_data_source_query_names", id, s_query_name); if (n.Table is string s_table) trap.Tuple("form_data_source_tables", id, s_table); } - private static void EmitOwnFormElementType(ITrapFile trap, Label id, object node) + private static void EmitOwnFormElementType(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FormElementType)node; if (n.FormName is string s_form_name) trap.Tuple("form_element_type_form_names", id, s_form_name); } - private static void EmitOwnFormModelElement(ITrapFile trap, Label id, object node) + private static void EmitOwnFormModelElement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FormModelElement)node; if (n.Behavior is { } c_behavior) - trap.Tuple("form_model_element_behaviors", id, trap.Label(c_behavior)); + trap.Tuple("form_model_element_behaviors", id, Child(trap, children, c_behavior)); { var i = 0; foreach (var item in AstSequence.Elements(n.Controls)) { - trap.Tuple("form_model_element_controls", id, i, trap.Label(item)); + trap.Tuple("form_model_element_controls", id, i, Child(trap, children, item)); i++; } } @@ -702,7 +713,7 @@ private static void EmitOwnFormModelElement(ITrapFile trap, Label id, object nod var i = 0; foreach (var item in AstSequence.Elements(n.DataSources)) { - trap.Tuple("form_model_element_data_sources", id, i, trap.Label(item)); + trap.Tuple("form_model_element_data_sources", id, i, Child(trap, children, item)); i++; } } @@ -712,28 +723,28 @@ private static void EmitOwnFormModelElement(ITrapFile trap, Label id, object nod trap.Tuple("form_model_element_full_type_names", id, s_full_type_name); } - private static void EmitOwnFormNestedElement(ITrapFile trap, Label id, object node) + private static void EmitOwnFormNestedElement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FormNestedElement)node; if (n.Form is { } c_form) - trap.Tuple("form_nested_element_forms", id, trap.Label(c_form)); + trap.Tuple("form_nested_element_forms", id, Child(trap, children, c_form)); } - private static void EmitOwnFunctionCall(ITrapFile trap, Label id, object node) + private static void EmitOwnFunctionCall(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FunctionCall)node; if (n.FunctionName is string s_function_name) trap.Tuple("function_call_function_names", id, s_function_name); } - private static void EmitOwnFunctionDeclaration(ITrapFile trap, Label id, object node) + private static void EmitOwnFunctionDeclaration(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.FunctionDeclaration)node; { var i = 0; foreach (var item in AstSequence.Elements(n.DeclarationsAndStatements)) { - trap.Tuple("function_declaration_declarations_and_statements", id, i, trap.Label(item)); + trap.Tuple("function_declaration_declarations_and_statements", id, i, Child(trap, children, item)); i++; } } @@ -743,7 +754,7 @@ private static void EmitOwnFunctionDeclaration(ITrapFile trap, Label id, object var i = 0; foreach (var item in AstSequence.Elements(n.Locals)) { - trap.Tuple("function_declaration_locals", id, i, trap.Label(item)); + trap.Tuple("function_declaration_locals", id, i, Child(trap, children, item)); i++; } } @@ -751,7 +762,7 @@ private static void EmitOwnFunctionDeclaration(ITrapFile trap, Label id, object var i = 0; foreach (var item in AstSequence.Elements(n.Parameters)) { - trap.Tuple("function_declaration_parameters", id, i, trap.Label(item)); + trap.Tuple("function_declaration_parameters", id, i, Child(trap, children, item)); i++; } } @@ -759,39 +770,39 @@ private static void EmitOwnFunctionDeclaration(ITrapFile trap, Label id, object var i = 0; foreach (var item in AstSequence.Elements(n.Statements)) { - trap.Tuple("function_declaration_statements", id, i, trap.Label(item)); + trap.Tuple("function_declaration_statements", id, i, Child(trap, children, item)); i++; } } } - private static void EmitOwnGenericEvaluation(ITrapFile trap, Label id, object node) + private static void EmitOwnGenericEvaluation(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.GenericEvaluation)node; { var i = 0; foreach (var item in AstSequence.Elements(n.TypeArgumentList)) { - trap.Tuple("generic_evaluation_type_argument_lists", id, i, trap.Label(item)); + trap.Tuple("generic_evaluation_type_argument_lists", id, i, Child(trap, children, item)); i++; } } } - private static void EmitOwnGenericXppType(ITrapFile trap, Label id, object node) + private static void EmitOwnGenericXppType(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.GenericXppType)node; { var i = 0; foreach (var item in AstSequence.Elements(n.TypeArgumentList)) { - trap.Tuple("generic_xpp_type_type_argument_lists", id, i, trap.Label(item)); + trap.Tuple("generic_xpp_type_type_argument_lists", id, i, Child(trap, children, item)); i++; } } } - private static void EmitOwnGlobalOrderElement(ITrapFile trap, Label id, object node) + private static void EmitOwnGlobalOrderElement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.GlobalOrderElement)node; if (n.ExtensionName is string s_extension_name) @@ -800,27 +811,27 @@ private static void EmitOwnGlobalOrderElement(ITrapFile trap, Label id, object n trap.Tuple("global_order_element_tables", id, s_table); } - private static void EmitOwnIfStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnIfStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.IfStatement)node; if (n.Condition is { } c_condition) - trap.Tuple("if_statement_conditions", id, trap.Label(c_condition)); + trap.Tuple("if_statement_conditions", id, Child(trap, children, c_condition)); if (n.Consequent is { } c_consequent) - trap.Tuple("if_statement_consequents", id, trap.Label(c_consequent)); + trap.Tuple("if_statement_consequents", id, Child(trap, children, c_consequent)); } - private static void EmitOwnIfThenElseStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnIfThenElseStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.IfThenElseStatement)node; if (n.Antecedent is { } c_antecedent) - trap.Tuple("if_then_else_statement_antecedents", id, trap.Label(c_antecedent)); + trap.Tuple("if_then_else_statement_antecedents", id, Child(trap, children, c_antecedent)); if (n.Condition is { } c_condition) - trap.Tuple("if_then_else_statement_conditions", id, trap.Label(c_condition)); + trap.Tuple("if_then_else_statement_conditions", id, Child(trap, children, c_condition)); if (n.Consequent is { } c_consequent) - trap.Tuple("if_then_else_statement_consequents", id, trap.Label(c_consequent)); + trap.Tuple("if_then_else_statement_consequents", id, Child(trap, children, c_consequent)); } - private static void EmitOwnInsertFieldSpecification(ITrapFile trap, Label id, object node) + private static void EmitOwnInsertFieldSpecification(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.InsertFieldSpecification)node; if (n.ArrayIndex is { } v_array_index) @@ -833,26 +844,26 @@ private static void EmitOwnInsertFieldSpecification(ITrapFile trap, Label id, ob trap.Tuple("insert_field_specification_names", id, s_name); } - private static void EmitOwnInsertStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnInsertStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.InsertStatement)node; if (n.CrossCompany is { } c_cross_company) - trap.Tuple("insert_statement_cross_companies", id, trap.Label(c_cross_company)); + trap.Tuple("insert_statement_cross_companies", id, Child(trap, children, c_cross_company)); { var i = 0; foreach (var item in AstSequence.Elements(n.Fields)) { - trap.Tuple("insert_statement_fields", id, i, trap.Label(item)); + trap.Tuple("insert_statement_fields", id, i, Child(trap, children, item)); i++; } } if (n.Query is { } c_query) - trap.Tuple("insert_statement_queries", id, trap.Label(c_query)); + trap.Tuple("insert_statement_queries", id, Child(trap, children, c_query)); if (n.Table is string s_table) trap.Tuple("insert_statement_tables", id, s_table); } - private static void EmitOwnIntrinsic(ITrapFile trap, Label id, object node) + private static void EmitOwnIntrinsic(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Intrinsic)node; if (n.Arg1 is string s_arg1) @@ -865,7 +876,7 @@ private static void EmitOwnIntrinsic(ITrapFile trap, Label id, object node) trap.Tuple("intrinsic_names", id, s_name); } - private static void EmitOwnIntrinsicAttributeLiteral(ITrapFile trap, Label id, object node) + private static void EmitOwnIntrinsicAttributeLiteral(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.IntrinsicAttributeLiteral)node; if (n.Arg1 is string s_arg1) @@ -878,45 +889,45 @@ private static void EmitOwnIntrinsicAttributeLiteral(ITrapFile trap, Label id, o trap.Tuple("intrinsic_attribute_literal_function_names", id, s_function_name); } - private static void EmitOwnIsAsExpression(ITrapFile trap, Label id, object node) + private static void EmitOwnIsAsExpression(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.IsAsExpression)node; if (n.Expression is { } c_expression) - trap.Tuple("is_as_expression_expressions", id, trap.Label(c_expression)); + trap.Tuple("is_as_expression_expressions", id, Child(trap, children, c_expression)); if (n.TypeName is string s_type_name) trap.Tuple("is_as_expression_type_names", id, s_type_name); } - private static void EmitOwnJoinSpecification(ITrapFile trap, Label id, object node) + private static void EmitOwnJoinSpecification(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.JoinSpecification)node; if (n.Kind is { } e_kind) trap.Tuple("join_specification_kinds", id, e_kind.ToString()); if (n.Query is { } c_query) - trap.Tuple("join_specification_queries", id, trap.Label(c_query)); + trap.Tuple("join_specification_queries", id, Child(trap, children, c_query)); } - private static void EmitOwnLocalDeclarationsStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnLocalDeclarationsStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.LocalDeclarationsStatement)node; { var i = 0; foreach (var item in AstSequence.Elements(n.Declarations)) { - trap.Tuple("local_declarations_statement_declarations", id, i, trap.Label(item)); + trap.Tuple("local_declarations_statement_declarations", id, i, Child(trap, children, item)); i++; } } } - private static void EmitOwnMethod(ITrapFile trap, Label id, object node) + private static void EmitOwnMethod(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Method)node; { var i = 0; foreach (var item in AstSequence.Elements(n.DeclarationsAndStatements)) { - trap.Tuple("method_declarations_and_statements", id, i, trap.Label(item)); + trap.Tuple("method_declarations_and_statements", id, i, Child(trap, children, item)); i++; } } @@ -966,7 +977,7 @@ private static void EmitOwnMethod(ITrapFile trap, Label id, object node) var i = 0; foreach (var item in AstSequence.Elements(n.Locals)) { - trap.Tuple("method_locals", id, i, trap.Label(item)); + trap.Tuple("method_locals", id, i, Child(trap, children, item)); i++; } } @@ -976,22 +987,22 @@ private static void EmitOwnMethod(ITrapFile trap, Label id, object node) var i = 0; foreach (var item in AstSequence.Elements(n.Statements)) { - trap.Tuple("method_statements", id, i, trap.Label(item)); + trap.Tuple("method_statements", id, i, Child(trap, children, item)); i++; } } } - private static void EmitOwnMethodOrDelegate(ITrapFile trap, Label id, object node) + private static void EmitOwnMethodOrDelegate(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.MethodOrDelegate)node; if (n.Attributes is { } c_attributes) - trap.Tuple("method_or_delegate_attributes", id, trap.Label(c_attributes)); + trap.Tuple("method_or_delegate_attributes", id, Child(trap, children, c_attributes)); { var i = 0; foreach (var item in AstSequence.Elements(n.ModifierList)) { - trap.Tuple("method_or_delegate_modifier_lists", id, i, trap.Label(item)); + trap.Tuple("method_or_delegate_modifier_lists", id, i, Child(trap, children, item)); i++; } } @@ -999,14 +1010,14 @@ private static void EmitOwnMethodOrDelegate(ITrapFile trap, Label id, object nod var i = 0; foreach (var item in AstSequence.Elements(n.Parameters)) { - trap.Tuple("method_or_delegate_parameters", id, i, trap.Label(item)); + trap.Tuple("method_or_delegate_parameters", id, i, Child(trap, children, item)); i++; } } if (n.PathContribution is string s_path_contribution) trap.Tuple("method_or_delegate_path_contributions", id, s_path_contribution); if (n.Type is { } c_type) - trap.Tuple("method_or_delegate_types", id, trap.Label(c_type)); + trap.Tuple("method_or_delegate_types", id, Child(trap, children, c_type)); { var i = 0; foreach (var item in AstSequence.Elements(n.TypeParameters)) @@ -1017,14 +1028,14 @@ private static void EmitOwnMethodOrDelegate(ITrapFile trap, Label id, object nod } } - private static void EmitOwnModelElement(ITrapFile trap, Label id, object node) + private static void EmitOwnModelElement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ModelElement)node; { var i = 0; foreach (var item in AstSequence.Elements(n.BaseMethods)) { - trap.Tuple("model_element_base_methods", id, i, trap.Label(item)); + trap.Tuple("model_element_base_methods", id, i, Child(trap, children, item)); i++; } } @@ -1032,7 +1043,7 @@ private static void EmitOwnModelElement(ITrapFile trap, Label id, object node) var i = 0; foreach (var item in AstSequence.Elements(n.ExtendGenericParameters)) { - trap.Tuple("model_element_extend_generic_parameters", id, i, trap.Label(item)); + trap.Tuple("model_element_extend_generic_parameters", id, i, Child(trap, children, item)); i++; } } @@ -1054,7 +1065,7 @@ private static void EmitOwnModelElement(ITrapFile trap, Label id, object node) var i = 0; foreach (var item in AstSequence.Elements(n.Methods)) { - trap.Tuple("model_element_methods", id, i, trap.Label(item)); + trap.Tuple("model_element_methods", id, i, Child(trap, children, item)); i++; } } @@ -1064,7 +1075,7 @@ private static void EmitOwnModelElement(ITrapFile trap, Label id, object node) var i = 0; foreach (var item in AstSequence.Elements(n.ModifierList)) { - trap.Tuple("model_element_modifier_lists", id, i, trap.Label(item)); + trap.Tuple("model_element_modifier_lists", id, i, Child(trap, children, item)); i++; } } @@ -1076,7 +1087,7 @@ private static void EmitOwnModelElement(ITrapFile trap, Label id, object node) var i = 0; foreach (var item in AstSequence.Elements(n.NestedClasses)) { - trap.Tuple("model_element_nested_classes", id, i, trap.Label(item)); + trap.Tuple("model_element_nested_classes", id, i, Child(trap, children, item)); i++; } } @@ -1094,7 +1105,7 @@ private static void EmitOwnModelElement(ITrapFile trap, Label id, object node) var i = 0; foreach (var item in AstSequence.Elements(n.Using)) { - trap.Tuple("model_element_usings", id, i, EmitModelElementUsingEntry(trap, (ITuple)item)); + trap.Tuple("model_element_usings", id, i, EmitModelElementUsingEntry(trap, children, (ITuple)item)); i++; } } @@ -1102,23 +1113,23 @@ private static void EmitOwnModelElement(ITrapFile trap, Label id, object node) trap.Tuple("model_element_visibilities", id, e_visibility.ToString()); } - private static void EmitOwnModifier(ITrapFile trap, Label id, object node) + private static void EmitOwnModifier(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Modifier)node; if (n.Modifiers is { } e_modifiers) trap.Tuple("modifier_modifiers", id, e_modifiers.ToString()); } - private static void EmitOwnMoveCursorStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnMoveCursorStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.MoveCursorStatement)node; if (n.Selection is { } c_selection) - trap.Tuple("move_cursor_statement_selections", id, trap.Label(c_selection)); + trap.Tuple("move_cursor_statement_selections", id, Child(trap, children, c_selection)); if (n.Table is string s_table) trap.Tuple("move_cursor_statement_tables", id, s_table); } - private static void EmitOwnNamedFieldReference(ITrapFile trap, Label id, object node) + private static void EmitOwnNamedFieldReference(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.NamedFieldReference)node; if (n.ExtensionName is string s_extension_name) @@ -1127,21 +1138,21 @@ private static void EmitOwnNamedFieldReference(ITrapFile trap, Label id, object trap.Tuple("named_field_reference_field_names", id, s_field_name); } - private static void EmitOwnNamedType(ITrapFile trap, Label id, object node) + private static void EmitOwnNamedType(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.NamedType)node; if (n.Name is string s_name) trap.Tuple("named_type_names", id, s_name); } - private static void EmitOwnNewCall(ITrapFile trap, Label id, object node) + private static void EmitOwnNewCall(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.NewCall)node; if (n.Type is { } c_type) - trap.Tuple("new_call_types", id, trap.Label(c_type)); + trap.Tuple("new_call_types", id, Child(trap, children, c_type)); } - private static void EmitOwnNewClrArrayExpression(ITrapFile trap, Label id, object node) + private static void EmitOwnNewClrArrayExpression(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.NewClrArrayExpression)node; if (n.FullName is string s_full_name) @@ -1158,7 +1169,7 @@ private static void EmitOwnNewClrArrayExpression(ITrapFile trap, Label id, objec var i = 0; foreach (var item in AstSequence.Elements(n.Sizes)) { - trap.Tuple("new_clr_array_expression_sizes", id, i, trap.Label(item)); + trap.Tuple("new_clr_array_expression_sizes", id, i, Child(trap, children, item)); i++; } } @@ -1166,34 +1177,34 @@ private static void EmitOwnNewClrArrayExpression(ITrapFile trap, Label id, objec var i = 0; foreach (var item in AstSequence.Elements(n.TypeArgumentList)) { - trap.Tuple("new_clr_array_expression_type_argument_lists", id, i, trap.Label(item)); + trap.Tuple("new_clr_array_expression_type_argument_lists", id, i, Child(trap, children, item)); i++; } } } - private static void EmitOwnNewClrCall(ITrapFile trap, Label id, object node) + private static void EmitOwnNewClrCall(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.NewClrCall)node; if (n.ClrClassName is string s_clr_class_name) trap.Tuple("new_clr_call_clr_class_names", id, s_clr_class_name); } - private static void EmitOwnNextExpression(ITrapFile trap, Label id, object node) + private static void EmitOwnNextExpression(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.NextExpression)node; if (n.Name is string s_name) trap.Tuple("next_expression_names", id, s_name); } - private static void EmitOwnNumberedFieldReference(ITrapFile trap, Label id, object node) + private static void EmitOwnNumberedFieldReference(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.NumberedFieldReference)node; if (n.FieldNumber is { } c_field_number) - trap.Tuple("numbered_field_reference_field_numbers", id, trap.Label(c_field_number)); + trap.Tuple("numbered_field_reference_field_numbers", id, Child(trap, children, c_field_number)); } - private static void EmitOwnOrderElement(ITrapFile trap, Label id, object node) + private static void EmitOwnOrderElement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.OrderElement)node; if (n.Direction is { } e_direction) @@ -1204,7 +1215,7 @@ private static void EmitOwnOrderElement(ITrapFile trap, Label id, object node) trap.Tuple("order_element_indices", id, System.Convert.ToInt64(v_index)); } - private static void EmitOwnParameterDeclaration(ITrapFile trap, Label id, object node) + private static void EmitOwnParameterDeclaration(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ParameterDeclaration)node; if (n.IsByRef is true) @@ -1213,27 +1224,27 @@ private static void EmitOwnParameterDeclaration(ITrapFile trap, Label id, object trap.Tuple("parameter_declaration_is_optional", id); } - private static void EmitOwnPrintStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnPrintStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.PrintStatement)node; { var i = 0; foreach (var item in AstSequence.Elements(n.Expressions)) { - trap.Tuple("print_statement_expressions", id, i, trap.Label(item)); + trap.Tuple("print_statement_expressions", id, i, Child(trap, children, item)); i++; } } } - private static void EmitOwnProvidedType(ITrapFile trap, Label id, object node) + private static void EmitOwnProvidedType(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ProvidedType)node; { var i = 0; foreach (var item in AstSequence.Elements(n.ArgumentList)) { - trap.Tuple("provided_type_argument_lists", id, i, trap.Label(item)); + trap.Tuple("provided_type_argument_lists", id, i, Child(trap, children, item)); i++; } } @@ -1241,25 +1252,25 @@ private static void EmitOwnProvidedType(ITrapFile trap, Label id, object node) trap.Tuple("provided_type_names", id, s_name); } - private static void EmitOwnProvidedTypeStaticCall(ITrapFile trap, Label id, object node) + private static void EmitOwnProvidedTypeStaticCall(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ProvidedTypeStaticCall)node; if (n.MethodName is string s_method_name) trap.Tuple("provided_type_static_call_method_names", id, s_method_name); if (n.ProvidedType is { } c_provided_type) - trap.Tuple("provided_type_static_call_provided_types", id, trap.Label(c_provided_type)); + trap.Tuple("provided_type_static_call_provided_types", id, Child(trap, children, c_provided_type)); } - private static void EmitOwnQualifiedCall(ITrapFile trap, Label id, object node) + private static void EmitOwnQualifiedCall(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedCall)node; if (n.MethodName is string s_method_name) trap.Tuple("qualified_call_method_names", id, s_method_name); if (n.Qualifier is { } c_qualifier) - trap.Tuple("qualified_call_qualifiers", id, trap.Label(c_qualifier)); + trap.Tuple("qualified_call_qualifiers", id, Child(trap, children, c_qualifier)); } - private static void EmitOwnQualifiedField(ITrapFile trap, Label id, object node) + private static void EmitOwnQualifiedField(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedField)node; if (n.ExtensionName is string s_extension_name) @@ -1268,25 +1279,25 @@ private static void EmitOwnQualifiedField(ITrapFile trap, Label id, object node) trap.Tuple("qualified_field_names", id, s_name); } - private static void EmitOwnQualifiedInstanceName(ITrapFile trap, Label id, object node) + private static void EmitOwnQualifiedInstanceName(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedInstanceName)node; if (n.Index is { } c_index) - trap.Tuple("qualified_instance_name_indices", id, trap.Label(c_index)); + trap.Tuple("qualified_instance_name_indices", id, Child(trap, children, c_index)); if (n.Name is string s_name) trap.Tuple("qualified_instance_name_names", id, s_name); if (n.Qualifier is { } c_qualifier) - trap.Tuple("qualified_instance_name_qualifiers", id, trap.Label(c_qualifier)); + trap.Tuple("qualified_instance_name_qualifiers", id, Child(trap, children, c_qualifier)); } - private static void EmitOwnQualifiedNumberedField(ITrapFile trap, Label id, object node) + private static void EmitOwnQualifiedNumberedField(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedNumberedField)node; if (n.FieldNumber is { } c_field_number) - trap.Tuple("qualified_numbered_field_field_numbers", id, trap.Label(c_field_number)); + trap.Tuple("qualified_numbered_field_field_numbers", id, Child(trap, children, c_field_number)); } - private static void EmitOwnQualifiedStaticCall(ITrapFile trap, Label id, object node) + private static void EmitOwnQualifiedStaticCall(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedStaticCall)node; if (n.ClassName is string s_class_name) @@ -1295,7 +1306,7 @@ private static void EmitOwnQualifiedStaticCall(ITrapFile trap, Label id, object var i = 0; foreach (var item in AstSequence.Elements(n.ClassTypeArgumentList)) { - trap.Tuple("qualified_static_call_class_type_argument_lists", id, i, trap.Label(item)); + trap.Tuple("qualified_static_call_class_type_argument_lists", id, i, Child(trap, children, item)); i++; } } @@ -1304,10 +1315,10 @@ private static void EmitOwnQualifiedStaticCall(ITrapFile trap, Label id, object if (n.MethodName is string s_method_name) trap.Tuple("qualified_static_call_method_names", id, s_method_name); if (n.Qualifier is { } c_qualifier) - trap.Tuple("qualified_static_call_qualifiers", id, trap.Label(c_qualifier)); + trap.Tuple("qualified_static_call_qualifiers", id, Child(trap, children, c_qualifier)); } - private static void EmitOwnQualifiedStaticField(ITrapFile trap, Label id, object node) + private static void EmitOwnQualifiedStaticField(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedStaticField)node; if (n.ClassName is string s_class_name) @@ -1318,7 +1329,7 @@ private static void EmitOwnQualifiedStaticField(ITrapFile trap, Label id, object trap.Tuple("qualified_static_field_names", id, s_name); } - private static void EmitOwnQualifiedStaticFieldExpression(ITrapFile trap, Label id, object node) + private static void EmitOwnQualifiedStaticFieldExpression(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedStaticFieldExpression)node; if (n.ClassName is string s_class_name) @@ -1329,35 +1340,35 @@ private static void EmitOwnQualifiedStaticFieldExpression(ITrapFile trap, Label trap.Tuple("qualified_static_field_expression_names", id, s_name); } - private static void EmitOwnQuery(ITrapFile trap, Label id, object node) + private static void EmitOwnQuery(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Query)node; if (n.BufferName is string s_buffer_name) trap.Tuple("query_buffer_names", id, s_buffer_name); if (n.CrossCompany is { } c_cross_company) - trap.Tuple("query_cross_companies", id, trap.Label(c_cross_company)); + trap.Tuple("query_cross_companies", id, Child(trap, children, c_cross_company)); { var i = 0; foreach (var item in AstSequence.Elements(n.GroupByElements)) { - trap.Tuple("query_group_by_elements", id, i, trap.Label(item)); + trap.Tuple("query_group_by_elements", id, i, Child(trap, children, item)); i++; } } if (n.IndexName is string s_index_name) trap.Tuple("query_index_names", id, s_index_name); if (n.Joins is { } c_joins) - trap.Tuple("query_joins", id, trap.Label(c_joins)); + trap.Tuple("query_joins", id, Child(trap, children, c_joins)); { var i = 0; foreach (var item in AstSequence.Elements(n.OrderByElements)) { - trap.Tuple("query_order_by_elements", id, i, trap.Label(item)); + trap.Tuple("query_order_by_elements", id, i, Child(trap, children, item)); i++; } } if (n.Selection is { } c_selection) - trap.Tuple("query_selections", id, trap.Label(c_selection)); + trap.Tuple("query_selections", id, Child(trap, children, c_selection)); { var i = 0; foreach (var item in AstSequence.Elements(n.SelectionHints)) @@ -1369,19 +1380,19 @@ private static void EmitOwnQuery(ITrapFile trap, Label id, object node) if (n.UsesHint is true) trap.Tuple("query_uses_hint", id); if (n.ValidTimeState is { } c_valid_time_state) - trap.Tuple("query_valid_time_states", id, trap.Label(c_valid_time_state)); + trap.Tuple("query_valid_time_states", id, Child(trap, children, c_valid_time_state)); if (n.Where is { } c_where) - trap.Tuple("query_wheres", id, trap.Label(c_where)); + trap.Tuple("query_wheres", id, Child(trap, children, c_where)); } - private static void EmitOwnQueryDataSource(ITrapFile trap, Label id, object node) + private static void EmitOwnQueryDataSource(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryDataSource)node; { var i = 0; foreach (var item in AstSequence.Elements(n.DataSources)) { - trap.Tuple("query_data_source_data_sources", id, i, trap.Label(item)); + trap.Tuple("query_data_source_data_sources", id, i, Child(trap, children, item)); i++; } } @@ -1405,7 +1416,7 @@ private static void EmitOwnQueryDataSource(ITrapFile trap, Label id, object node var i = 0; foreach (var item in AstSequence.Elements(n.GroupBy)) { - trap.Tuple("query_data_source_group_bies", id, i, trap.Label(item)); + trap.Tuple("query_data_source_group_bies", id, i, Child(trap, children, item)); i++; } } @@ -1413,7 +1424,7 @@ private static void EmitOwnQueryDataSource(ITrapFile trap, Label id, object node var i = 0; foreach (var item in AstSequence.Elements(n.Having)) { - trap.Tuple("query_data_source_having_prop", id, i, trap.Label(item)); + trap.Tuple("query_data_source_having_prop", id, i, Child(trap, children, item)); i++; } } @@ -1425,19 +1436,19 @@ private static void EmitOwnQueryDataSource(ITrapFile trap, Label id, object node var i = 0; foreach (var item in AstSequence.Elements(n.OrderBy)) { - trap.Tuple("query_data_source_order_bies", id, i, trap.Label(item)); + trap.Tuple("query_data_source_order_bies", id, i, Child(trap, children, item)); i++; } } if (n.ParentDataSource is { } c_parent_data_source) - trap.Tuple("query_data_source_parent_data_sources", id, trap.Label(c_parent_data_source)); + trap.Tuple("query_data_source_parent_data_sources", id, Child(trap, children, c_parent_data_source)); if (n.PathContribution is string s_path_contribution) trap.Tuple("query_data_source_path_contributions", id, s_path_contribution); { var i = 0; foreach (var item in AstSequence.Elements(n.Ranges)) { - trap.Tuple("query_data_source_ranges_prop", id, i, trap.Label(item)); + trap.Tuple("query_data_source_ranges_prop", id, i, Child(trap, children, item)); i++; } } @@ -1445,7 +1456,7 @@ private static void EmitOwnQueryDataSource(ITrapFile trap, Label id, object node var i = 0; foreach (var item in AstSequence.Elements(n.Relations)) { - trap.Tuple("query_data_source_relations_prop", id, i, trap.Label(item)); + trap.Tuple("query_data_source_relations_prop", id, i, Child(trap, children, item)); i++; } } @@ -1457,18 +1468,18 @@ private static void EmitOwnQueryDataSource(ITrapFile trap, Label id, object node trap.Tuple("query_data_source_update", id); } - private static void EmitOwnQueryDataSourceHaving(ITrapFile trap, Label id, object node) + private static void EmitOwnQueryDataSourceHaving(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryDataSourceHaving)node; if (n.DataSourceName is string s_data_source_name) trap.Tuple("query_data_source_having_data_source_names", id, s_data_source_name); if (n.Selection is { } c_selection) - trap.Tuple("query_data_source_having_selections", id, trap.Label(c_selection)); + trap.Tuple("query_data_source_having_selections", id, Child(trap, children, c_selection)); if (n.Value is string s_value) trap.Tuple("query_data_source_having_values", id, s_value); } - private static void EmitOwnQueryDataSourceRange(ITrapFile trap, Label id, object node) + private static void EmitOwnQueryDataSourceRange(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryDataSourceRange)node; if (n.Field is string s_field) @@ -1477,7 +1488,7 @@ private static void EmitOwnQueryDataSourceRange(ITrapFile trap, Label id, object trap.Tuple("query_data_source_range_values", id, s_value); } - private static void EmitOwnQueryDataSourceRelation(ITrapFile trap, Label id, object node) + private static void EmitOwnQueryDataSourceRelation(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryDataSourceRelation)node; if (n.Field is string s_field) @@ -1488,18 +1499,18 @@ private static void EmitOwnQueryDataSourceRelation(ITrapFile trap, Label id, obj trap.Tuple("query_data_source_relation_related_fields", id, s_related_field); } - private static void EmitOwnQueryModelElement(ITrapFile trap, Label id, object node) + private static void EmitOwnQueryModelElement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryModelElement)node; if (n.AllowCrossCompany is true) trap.Tuple("query_model_element_allow_cross_company", id); if (n.Behavior is { } c_behavior) - trap.Tuple("query_model_element_behaviors", id, trap.Label(c_behavior)); + trap.Tuple("query_model_element_behaviors", id, Child(trap, children, c_behavior)); { var i = 0; foreach (var item in AstSequence.Elements(n.DataSourceList)) { - trap.Tuple("query_model_element_data_source_lists", id, i, trap.Label(item)); + trap.Tuple("query_model_element_data_source_lists", id, i, Child(trap, children, item)); i++; } } @@ -1507,7 +1518,7 @@ private static void EmitOwnQueryModelElement(ITrapFile trap, Label id, object no var i = 0; foreach (var item in AstSequence.Elements(n.DataSources)) { - trap.Tuple("query_model_element_data_sources", id, i, trap.Label(item)); + trap.Tuple("query_model_element_data_sources", id, i, Child(trap, children, item)); i++; } } @@ -1517,30 +1528,30 @@ private static void EmitOwnQueryModelElement(ITrapFile trap, Label id, object no trap.Tuple("query_model_element_user_update", id); } - private static void EmitOwnRelationalExpression(ITrapFile trap, Label id, object node) + private static void EmitOwnRelationalExpression(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.RelationalExpression)node; if (n.Operator is string s_operator) trap.Tuple("relational_expression_operators", id, s_operator); } - private static void EmitOwnReturnStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnReturnStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ReturnStatement)node; if (n.Expression is { } c_expression) - trap.Tuple("return_statement_expressions", id, trap.Label(c_expression)); + trap.Tuple("return_statement_expressions", id, Child(trap, children, c_expression)); } - private static void EmitOwnSearchStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnSearchStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.SearchStatement)node; if (n.Query is { } c_query) - trap.Tuple("search_statement_queries", id, trap.Label(c_query)); + trap.Tuple("search_statement_queries", id, Child(trap, children, c_query)); if (n.Statement is { } c_statement) - trap.Tuple("search_statement_statements", id, trap.Label(c_statement)); + trap.Tuple("search_statement_statements", id, Child(trap, children, c_statement)); } - private static void EmitOwnSelectionField(ITrapFile trap, Label id, object node) + private static void EmitOwnSelectionField(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.SelectionField)node; if (n.ExtensionName is string s_extension_name) @@ -1549,7 +1560,7 @@ private static void EmitOwnSelectionField(ITrapFile trap, Label id, object node) trap.Tuple("selection_field_fields", id, s_field); } - private static void EmitOwnSimpleField(ITrapFile trap, Label id, object node) + private static void EmitOwnSimpleField(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.SimpleField)node; if (n.ExtensionName is string s_extension_name) @@ -1560,37 +1571,37 @@ private static void EmitOwnSimpleField(ITrapFile trap, Label id, object node) trap.Tuple("simple_field_names", id, s_name); } - private static void EmitOwnSimpleInstanceName(ITrapFile trap, Label id, object node) + private static void EmitOwnSimpleInstanceName(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.SimpleInstanceName)node; if (n.Index is { } c_index) - trap.Tuple("simple_instance_name_indices", id, trap.Label(c_index)); + trap.Tuple("simple_instance_name_indices", id, Child(trap, children, c_index)); if (n.Name is string s_name) trap.Tuple("simple_instance_name_names", id, s_name); } - private static void EmitOwnSimpleOrderElement(ITrapFile trap, Label id, object node) + private static void EmitOwnSimpleOrderElement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.SimpleOrderElement)node; if (n.ExtensionName is string s_extension_name) trap.Tuple("simple_order_element_extension_names", id, s_extension_name); } - private static void EmitOwnSimpleQualifier(ITrapFile trap, Label id, object node) + private static void EmitOwnSimpleQualifier(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.SimpleQualifier)node; if (n.Name is string s_name) trap.Tuple("simple_qualifier_names", id, s_name); } - private static void EmitOwnStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Statement)node; if (n.Comments is string s_comments) trap.Tuple("statement_comments", id, s_comments); } - private static void EmitOwnStaticField(ITrapFile trap, Label id, object node) + private static void EmitOwnStaticField(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.StaticField)node; if (n.ClassName is string s_class_name) @@ -1599,7 +1610,7 @@ private static void EmitOwnStaticField(ITrapFile trap, Label id, object node) trap.Tuple("static_field_names", id, s_name); } - private static void EmitOwnStaticMethodCall(ITrapFile trap, Label id, object node) + private static void EmitOwnStaticMethodCall(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.StaticMethodCall)node; if (n.ClassName is string s_class_name) @@ -1608,7 +1619,7 @@ private static void EmitOwnStaticMethodCall(ITrapFile trap, Label id, object nod var i = 0; foreach (var item in AstSequence.Elements(n.ClassTypeArgumentList)) { - trap.Tuple("static_method_call_class_type_argument_lists", id, i, trap.Label(item)); + trap.Tuple("static_method_call_class_type_argument_lists", id, i, Child(trap, children, item)); i++; } } @@ -1616,20 +1627,20 @@ private static void EmitOwnStaticMethodCall(ITrapFile trap, Label id, object nod trap.Tuple("static_method_call_method_names", id, s_method_name); } - private static void EmitOwnStaticQualifier(ITrapFile trap, Label id, object node) + private static void EmitOwnStaticQualifier(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.StaticQualifier)node; { var i = 0; foreach (var item in AstSequence.Elements(n.ClassTypeArgumentList)) { - trap.Tuple("static_qualifier_class_type_argument_lists", id, i, trap.Label(item)); + trap.Tuple("static_qualifier_class_type_argument_lists", id, i, Child(trap, children, item)); i++; } } } - private static void EmitOwnStringLengthType(ITrapFile trap, Label id, object node) + private static void EmitOwnStringLengthType(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.StringLengthType)node; if (n.EdtName is string s_edt_name) @@ -1640,7 +1651,7 @@ private static void EmitOwnStringLengthType(ITrapFile trap, Label id, object nod trap.Tuple("string_length_type_lengths", id, System.Convert.ToInt64(v_length)); } - private static void EmitOwnStringLiteralExpression(ITrapFile trap, Label id, object node) + private static void EmitOwnStringLiteralExpression(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.StringLiteralExpression)node; if (n.IsLabel is true) @@ -1651,26 +1662,26 @@ private static void EmitOwnStringLiteralExpression(ITrapFile trap, Label id, obj trap.Tuple("string_literal_expression_label_ids", id, s_label_id); } - private static void EmitOwnSwitchStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnSwitchStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.SwitchStatement)node; { var i = 0; foreach (var item in AstSequence.Elements(n.Cases)) { - trap.Tuple("switch_statement_cases", id, i, EmitSwitchStatementCaseEntry(trap, (ITuple)item)); + trap.Tuple("switch_statement_cases", id, i, EmitSwitchStatementCaseEntry(trap, children, (ITuple)item)); i++; } } if (n.Selector is { } c_selector) - trap.Tuple("switch_statement_selectors", id, trap.Label(c_selector)); + trap.Tuple("switch_statement_selectors", id, Child(trap, children, c_selector)); } - private static void EmitOwnTable(ITrapFile trap, Label id, object node) + private static void EmitOwnTable(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.Table)node; if (n.Attributes is { } c_attributes) - trap.Tuple("table_attributes", id, trap.Label(c_attributes)); + trap.Tuple("table_attributes", id, Child(trap, children, c_attributes)); if (n.ElementTypeName is string s_element_type_name) trap.Tuple("table_element_type_names", id, s_element_type_name); if (n.Extends is string s_extends) @@ -1679,7 +1690,7 @@ private static void EmitOwnTable(ITrapFile trap, Label id, object node) var i = 0; foreach (var item in AstSequence.Elements(n.Fields)) { - trap.Tuple("table_fields", id, i, trap.Label(item)); + trap.Tuple("table_fields", id, i, Child(trap, children, item)); i++; } } @@ -1705,72 +1716,72 @@ private static void EmitOwnTable(ITrapFile trap, Label id, object node) trap.Tuple("table_support_inheritance", id); } - private static void EmitOwnTableFieldReference(ITrapFile trap, Label id, object node) + private static void EmitOwnTableFieldReference(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.TableFieldReference)node; if (n.Index is { } c_index) - trap.Tuple("table_field_reference_indices", id, trap.Label(c_index)); + trap.Tuple("table_field_reference_indices", id, Child(trap, children, c_index)); } - private static void EmitOwnTableLookupExpression(ITrapFile trap, Label id, object node) + private static void EmitOwnTableLookupExpression(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.TableLookupExpression)node; if (n.Field is { } c_field) - trap.Tuple("table_lookup_expression_fields", id, trap.Label(c_field)); + trap.Tuple("table_lookup_expression_fields", id, Child(trap, children, c_field)); if (n.Query is { } c_query) - trap.Tuple("table_lookup_expression_queries", id, trap.Label(c_query)); + trap.Tuple("table_lookup_expression_queries", id, Child(trap, children, c_query)); } - private static void EmitOwnThrowStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnThrowStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ThrowStatement)node; if (n.Exception is { } c_exception) - trap.Tuple("throw_statement_exceptions", id, trap.Label(c_exception)); + trap.Tuple("throw_statement_exceptions", id, Child(trap, children, c_exception)); } - private static void EmitOwnTryStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnTryStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.TryStatement)node; { var i = 0; foreach (var item in AstSequence.Elements(n.Catches)) { - trap.Tuple("try_statement_catches", id, i, EmitTryStatementCatchEntry(trap, (ITuple)item)); + trap.Tuple("try_statement_catches", id, i, EmitTryStatementCatchEntry(trap, children, (ITuple)item)); i++; } } if (n.Finally is { } c_finally) - trap.Tuple("try_statement_finallies", id, trap.Label(c_finally)); + trap.Tuple("try_statement_finallies", id, Child(trap, children, c_finally)); if (n.Statement is { } c_statement) - trap.Tuple("try_statement_statements", id, trap.Label(c_statement)); + trap.Tuple("try_statement_statements", id, Child(trap, children, c_statement)); } - private static void EmitOwnUnaryExpression(ITrapFile trap, Label id, object node) + private static void EmitOwnUnaryExpression(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.UnaryExpression)node; if (n.Expression is { } c_expression) - trap.Tuple("unary_expression_expressions", id, trap.Label(c_expression)); + trap.Tuple("unary_expression_expressions", id, Child(trap, children, c_expression)); } - private static void EmitOwnUncheckedStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnUncheckedStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.UncheckedStatement)node; if (n.Expression is { } c_expression) - trap.Tuple("unchecked_statement_expressions", id, trap.Label(c_expression)); + trap.Tuple("unchecked_statement_expressions", id, Child(trap, children, c_expression)); if (n.Statement is { } c_statement) - trap.Tuple("unchecked_statement_statements", id, trap.Label(c_statement)); + trap.Tuple("unchecked_statement_statements", id, Child(trap, children, c_statement)); } - private static void EmitOwnUpdateStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnUpdateStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.UpdateStatement)node; if (n.CrossCompany is { } c_cross_company) - trap.Tuple("update_statement_cross_companies", id, trap.Label(c_cross_company)); + trap.Tuple("update_statement_cross_companies", id, Child(trap, children, c_cross_company)); { var i = 0; foreach (var item in AstSequence.Elements(n.FieldAssignments)) { - trap.Tuple("update_statement_field_assignments", id, i, trap.Label(item)); + trap.Tuple("update_statement_field_assignments", id, i, Child(trap, children, item)); i++; } } @@ -1783,36 +1794,36 @@ private static void EmitOwnUpdateStatement(ITrapFile trap, Label id, object node } } if (n.Joins is { } c_joins) - trap.Tuple("update_statement_joins", id, trap.Label(c_joins)); + trap.Tuple("update_statement_joins", id, Child(trap, children, c_joins)); if (n.Table is string s_table) trap.Tuple("update_statement_tables", id, s_table); if (n.Where is { } c_where) - trap.Tuple("update_statement_wheres", id, trap.Label(c_where)); + trap.Tuple("update_statement_wheres", id, Child(trap, children, c_where)); } - private static void EmitOwnUsingStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnUsingStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.UsingStatement)node; { var i = 0; foreach (var item in AstSequence.Elements(n.DisposableObjectInitializers)) { - trap.Tuple("using_statement_disposable_object_initializers", id, i, trap.Label(item)); + trap.Tuple("using_statement_disposable_object_initializers", id, i, Child(trap, children, item)); i++; } } if (n.Statement is { } c_statement) - trap.Tuple("using_statement_statements", id, trap.Label(c_statement)); + trap.Tuple("using_statement_statements", id, Child(trap, children, c_statement)); } - private static void EmitOwnValidTimeStateDate(ITrapFile trap, Label id, object node) + private static void EmitOwnValidTimeStateDate(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ValidTimeStateDate)node; if (n.DateVariable is string s_date_variable) trap.Tuple("valid_time_state_date_date_variables", id, s_date_variable); } - private static void EmitOwnValidTimeStateRange(ITrapFile trap, Label id, object node) + private static void EmitOwnValidTimeStateRange(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.ValidTimeStateRange)node; if (n.FromDateVariable is string s_from_date_variable) @@ -1821,27 +1832,27 @@ private static void EmitOwnValidTimeStateRange(ITrapFile trap, Label id, object trap.Tuple("valid_time_state_range_to_date_variables", id, s_to_date_variable); } - private static void EmitOwnVariableDeclaration(ITrapFile trap, Label id, object node) + private static void EmitOwnVariableDeclaration(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.VariableDeclaration)node; if (n.ElementTypeName is string s_element_type_name) trap.Tuple("variable_declaration_element_type_names", id, s_element_type_name); if (n.InitialValue is { } c_initial_value) - trap.Tuple("variable_declaration_initial_values", id, trap.Label(c_initial_value)); + trap.Tuple("variable_declaration_initial_values", id, Child(trap, children, c_initial_value)); if (n.IsConst is true) trap.Tuple("variable_declaration_is_const", id); } - private static void EmitOwnWhileStatement(ITrapFile trap, Label id, object node) + private static void EmitOwnWhileStatement(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.WhileStatement)node; if (n.Condition is { } c_condition) - trap.Tuple("while_statement_conditions", id, trap.Label(c_condition)); + trap.Tuple("while_statement_conditions", id, Child(trap, children, c_condition)); if (n.Statement is { } c_statement) - trap.Tuple("while_statement_statements", id, trap.Label(c_statement)); + trap.Tuple("while_statement_statements", id, Child(trap, children, c_statement)); } - private static void EmitOwnXppType(ITrapFile trap, Label id, object node) + private static void EmitOwnXppType(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.XppType)node; if (n.ElementTypeName is string s_element_type_name) @@ -1850,47 +1861,47 @@ private static void EmitOwnXppType(ITrapFile trap, Label id, object node) trap.Tuple("xpp_type_is_obsolete", id); } - private static void EmitOwnXppTypeCompilationUnit(ITrapFile trap, Label id, object node) + private static void EmitOwnXppTypeCompilationUnit(ITrapFile trap, Label id, object node, ICollection children) { var n = (Microsoft.Dynamics.AX.Metadata.XppCompiler.XppTypeCompilationUnit)node; if (n.Type is { } c_type) - trap.Tuple("xpp_type_compilation_unit_types", id, trap.Label(c_type)); + trap.Tuple("xpp_type_compilation_unit_types", id, Child(trap, children, c_type)); } - private static Label EmitAttributeNamedParameterEntry(ITrapFile trap, ITuple tuple) + private static Label EmitAttributeNamedParameterEntry(ITrapFile trap, ICollection children, ITuple tuple) { var id = trap.FreshLabel(); trap.Tuple("attribute_named_parameter_entries", id); if (tuple[0] is string s_item1) trap.Tuple("attribute_named_parameter_entry_item1s", id, s_item1); if (tuple[1] is { } c_attribute_expression) - trap.Tuple("attribute_named_parameter_entry_attribute_expressions", id, trap.Label(c_attribute_expression)); + trap.Tuple("attribute_named_parameter_entry_attribute_expressions", id, Child(trap, children, c_attribute_expression)); return id; } - private static Label EmitCompilationUnitRegionEntry(ITrapFile trap, ITuple tuple) + private static Label EmitCompilationUnitRegionEntry(ITrapFile trap, ICollection children, ITuple tuple) { var id = trap.FreshLabel(); trap.Tuple("compilation_unit_region_entries", id); if (tuple[0] is { } c_comment) - trap.Tuple("compilation_unit_region_entry_comments", id, trap.Label(c_comment)); + trap.Tuple("compilation_unit_region_entry_comments", id, Child(trap, children, c_comment)); if (tuple[1] is { } c_comment2) - trap.Tuple("compilation_unit_region_entry_comment2s", id, trap.Label(c_comment2)); + trap.Tuple("compilation_unit_region_entry_comment2s", id, Child(trap, children, c_comment2)); return id; } - private static Label EmitEvaluationActualParameterEntry(ITrapFile trap, ITuple tuple) + private static Label EmitEvaluationActualParameterEntry(ITrapFile trap, ICollection children, ITuple tuple) { var id = trap.FreshLabel(); trap.Tuple("evaluation_actual_parameter_entries", id); if (tuple[0] is true) trap.Tuple("evaluation_actual_parameter_entry_item1", id); if (tuple[1] is { } c_expression) - trap.Tuple("evaluation_actual_parameter_entry_expressions", id, trap.Label(c_expression)); + trap.Tuple("evaluation_actual_parameter_entry_expressions", id, Child(trap, children, c_expression)); return id; } - private static Label EmitModelElementUsingEntry(ITrapFile trap, ITuple tuple) + private static Label EmitModelElementUsingEntry(ITrapFile trap, ICollection children, ITuple tuple) { var id = trap.FreshLabel(); trap.Tuple("model_element_using_entries", id); @@ -1901,31 +1912,31 @@ private static Label EmitModelElementUsingEntry(ITrapFile trap, ITuple tuple) return id; } - private static Label EmitSwitchStatementCaseEntry(ITrapFile trap, ITuple tuple) + private static Label EmitSwitchStatementCaseEntry(ITrapFile trap, ICollection children, ITuple tuple) { var id = trap.FreshLabel(); trap.Tuple("switch_statement_case_entries", id); if (tuple[0] is { } c_case) - trap.Tuple("switch_statement_case_entry_cases", id, trap.Label(c_case)); + trap.Tuple("switch_statement_case_entry_cases", id, Child(trap, children, c_case)); { var i = 0; foreach (var item in AstSequence.Elements(tuple[1])) { - trap.Tuple("switch_statement_case_entry_statements", id, i, trap.Label(item)); + trap.Tuple("switch_statement_case_entry_statements", id, i, Child(trap, children, item)); i++; } } return id; } - private static Label EmitTryStatementCatchEntry(ITrapFile trap, ITuple tuple) + private static Label EmitTryStatementCatchEntry(ITrapFile trap, ICollection children, ITuple tuple) { var id = trap.FreshLabel(); trap.Tuple("try_statement_catch_entries", id); if (tuple[0] is { } c_catch) - trap.Tuple("try_statement_catch_entry_catches", id, trap.Label(c_catch)); + trap.Tuple("try_statement_catch_entry_catches", id, Child(trap, children, c_catch)); if (tuple[1] is { } c_statement) - trap.Tuple("try_statement_catch_entry_statements", id, trap.Label(c_statement)); + trap.Tuple("try_statement_catch_entry_statements", id, Child(trap, children, c_statement)); return id; } @@ -1933,7 +1944,7 @@ private static Label EmitTryStatementCatchEntry(ITrapFile trap, ITuple tuple) /// Writes every tuple describing , returning false when the /// node's type is not part of the generated schema. /// - public static bool Emit(ITrapFile trap, Label id, object node) + public static bool Emit(ITrapFile trap, Label id, object node, ICollection children) { // Dispatch on the exact runtime type: C# type patterns also match subclasses, // which would bind a node to an ancestor's table. @@ -1941,985 +1952,985 @@ public static bool Emit(ITrapFile trap, Label id, object node) { case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AddExpression": trap.Tuple("add_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AllFieldsSelection": trap.Tuple("all_fields_selections", id); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AndExpression": trap.Tuple("and_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AnyType": trap.Tuple("any_types", id); - EmitOwnXppType(trap, id, node); + EmitOwnXppType(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ArraySpecification": trap.Tuple("array_specifications", id); - EmitOwnArraySpecification(trap, id, node); + EmitOwnArraySpecification(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AsClrExpression": trap.Tuple("as_clr_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnIsAsExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnIsAsExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AsExpression": trap.Tuple("as_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnIsAsExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnIsAsExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignDecrementStatement": trap.Tuple("assign_decrement_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnAssignmentSingleField(trap, id, node); - EmitOwnAssignmentBinary(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnAssignmentSingleField(trap, id, node, children); + EmitOwnAssignmentBinary(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignDivideStatement": trap.Tuple("assign_divide_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnAssignmentSingleField(trap, id, node); - EmitOwnAssignmentBinary(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnAssignmentSingleField(trap, id, node, children); + EmitOwnAssignmentBinary(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignEqualStatement": trap.Tuple("assign_equal_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnAssignmentSingleField(trap, id, node); - EmitOwnAssignmentBinary(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnAssignmentSingleField(trap, id, node, children); + EmitOwnAssignmentBinary(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignIncrementStatement": trap.Tuple("assign_increment_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnAssignmentSingleField(trap, id, node); - EmitOwnAssignmentBinary(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnAssignmentSingleField(trap, id, node, children); + EmitOwnAssignmentBinary(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignMultipleFieldStatement": trap.Tuple("assign_multiple_field_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnAssignMultipleFieldStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnAssignMultipleFieldStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignMultiplyStatement": trap.Tuple("assign_multiply_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnAssignmentSingleField(trap, id, node); - EmitOwnAssignmentBinary(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnAssignmentSingleField(trap, id, node, children); + EmitOwnAssignmentBinary(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignPostDecrementStatement": trap.Tuple("assign_post_decrement_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnAssignmentSingleField(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnAssignmentSingleField(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignPostIncrementStatement": trap.Tuple("assign_post_increment_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnAssignmentSingleField(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnAssignmentSingleField(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignPreDecrementStatement": trap.Tuple("assign_pre_decrement_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnAssignmentSingleField(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnAssignmentSingleField(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignPreIncrementStatement": trap.Tuple("assign_pre_increment_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnAssignmentSingleField(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnAssignmentSingleField(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignmentEventHandlerClr": trap.Tuple("assignment_event_handler_clrs", id); - EmitOwnStatement(trap, id, node); - EmitOwnAssignmentSingleField(trap, id, node); - EmitOwnAssignmentEventHandlerBase(trap, id, node); - EmitOwnAssignmentEventHandlerStatic(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnAssignmentSingleField(trap, id, node, children); + EmitOwnAssignmentEventHandlerBase(trap, id, node, children); + EmitOwnAssignmentEventHandlerStatic(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignmentEventHandlerInstance": trap.Tuple("assignment_event_handler_instances", id); - EmitOwnStatement(trap, id, node); - EmitOwnAssignmentSingleField(trap, id, node); - EmitOwnAssignmentEventHandlerBase(trap, id, node); - EmitOwnAssignmentEventHandlerInstance(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnAssignmentSingleField(trap, id, node, children); + EmitOwnAssignmentEventHandlerBase(trap, id, node, children); + EmitOwnAssignmentEventHandlerInstance(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AssignmentEventHandlerStatic": trap.Tuple("assignment_event_handler_static_internals", id); - EmitOwnStatement(trap, id, node); - EmitOwnAssignmentSingleField(trap, id, node); - EmitOwnAssignmentEventHandlerBase(trap, id, node); - EmitOwnAssignmentEventHandlerStatic(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnAssignmentSingleField(trap, id, node, children); + EmitOwnAssignmentEventHandlerBase(trap, id, node, children); + EmitOwnAssignmentEventHandlerStatic(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Attribute": trap.Tuple("attributes", id); - EmitOwnAttribute(trap, id, node); + EmitOwnAttribute(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AttributeExpression": trap.Tuple("attribute_expressions", id); - EmitOwnAttributeExpression(trap, id, node); + EmitOwnAttributeExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AttributeList": trap.Tuple("attribute_lists", id); - EmitOwnAttributeList(trap, id, node); + EmitOwnAttributeList(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.AvgAggregateSelection": trap.Tuple("avg_aggregate_selections", id); - EmitOwnSelectionField(trap, id, node); + EmitOwnSelectionField(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.BooleanAttributeLiteral": trap.Tuple("boolean_attribute_literals", id); - EmitOwnDefaultTypeAttributeLiteral(trap, id, node); + EmitOwnDefaultTypeAttributeLiteral(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.BooleanLiteralExpression": trap.Tuple("boolean_literal_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnDefaultTypeLiteralExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnDefaultTypeLiteralExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.BooleanType": trap.Tuple("boolean_types", id); - EmitOwnXppType(trap, id, node); + EmitOwnXppType(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.BreakStatement": trap.Tuple("break_statements", id); - EmitOwnStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.BreakpointStatement": trap.Tuple("breakpoint_statements", id); - EmitOwnStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.CaseDefault": trap.Tuple("case_defaults", id); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.CaseValues": trap.Tuple("case_values", id); - EmitOwnCaseValues(trap, id, node); + EmitOwnCaseValues(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.CatchAllValues": trap.Tuple("catch_all_values", id); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.CatchExpression": trap.Tuple("catch_expressions", id); - EmitOwnCatchExpression(trap, id, node); + EmitOwnCatchExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.CatchUpdateConflict": trap.Tuple("catch_update_conflicts", id); - EmitOwnCatchUpdateConflict(trap, id, node); + EmitOwnCatchUpdateConflict(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ChangeCompanyStatement": trap.Tuple("change_company_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnChangeStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnChangeStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Class": trap.Tuple("classes", id); - EmitOwnCompilationUnit(trap, id, node); - EmitOwnModelElement(trap, id, node); - EmitOwnClassOrInterface(trap, id, node); - EmitOwnClass(trap, id, node); + EmitOwnCompilationUnit(trap, id, node, children); + EmitOwnModelElement(trap, id, node, children); + EmitOwnClassOrInterface(trap, id, node, children); + EmitOwnClass(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ClassAccessModifier": trap.Tuple("class_access_modifiers", id); - EmitOwnClassAccessModifier(trap, id, node); + EmitOwnClassAccessModifier(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ClrEnumerationLiteralExpression": trap.Tuple("clr_enumeration_literal_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnClrEnumerationLiteralExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnClrEnumerationLiteralExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ClrType": trap.Tuple("clr_types", id); - EmitOwnXppType(trap, id, node); - EmitOwnGenericXppType(trap, id, node); - EmitOwnClrType(trap, id, node); + EmitOwnXppType(trap, id, node, children); + EmitOwnGenericXppType(trap, id, node, children); + EmitOwnClrType(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.CompoundStatement": trap.Tuple("compound_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnCompoundStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnCompoundStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ConditionalExpression": trap.Tuple("conditional_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnConditionalExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnConditionalExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ContainerAttributeLiteral": trap.Tuple("container_attribute_literals", id); - EmitOwnContainerAttributeLiteral(trap, id, node); + EmitOwnContainerAttributeLiteral(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ContainerLiteralExpression": trap.Tuple("container_literal_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnContainerLiteralExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnContainerLiteralExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ContainerType": trap.Tuple("container_types", id); - EmitOwnXppType(trap, id, node); + EmitOwnXppType(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ContinueStatement": trap.Tuple("continue_statements", id); - EmitOwnStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.CountAggregateSelection": trap.Tuple("count_aggregate_selections", id); - EmitOwnSelectionField(trap, id, node); + EmitOwnSelectionField(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.CrossCompanyAll": trap.Tuple("cross_company_alls", id); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.CrossCompanyContainer": trap.Tuple("cross_company_containers", id); - EmitOwnCrossCompanyContainer(trap, id, node); + EmitOwnCrossCompanyContainer(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DateAttributeLiteral": trap.Tuple("date_attribute_literals", id); - EmitOwnDefaultTypeAttributeLiteral(trap, id, node); + EmitOwnDefaultTypeAttributeLiteral(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DateLiteralExpression": trap.Tuple("date_literal_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnDefaultTypeLiteralExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnDefaultTypeLiteralExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DateTimeAttributeLiteral": trap.Tuple("date_time_attribute_literals", id); - EmitOwnDefaultTypeAttributeLiteral(trap, id, node); + EmitOwnDefaultTypeAttributeLiteral(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DateTimeLiteralExpression": trap.Tuple("date_time_literal_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnDefaultTypeLiteralExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnDefaultTypeLiteralExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DateTimeType": trap.Tuple("date_time_types", id); - EmitOwnXppType(trap, id, node); + EmitOwnXppType(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DateType": trap.Tuple("date_types", id); - EmitOwnXppType(trap, id, node); + EmitOwnXppType(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DblAttributeLiteral": trap.Tuple("dbl_attribute_literals", id); - EmitOwnDefaultTypeAttributeLiteral(trap, id, node); + EmitOwnDefaultTypeAttributeLiteral(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DblType": trap.Tuple("dbl_types", id); - EmitOwnXppType(trap, id, node); + EmitOwnXppType(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Delegate": trap.Tuple("delegates", id); - EmitOwnCompilationUnit(trap, id, node); - EmitOwnMethodOrDelegate(trap, id, node); - EmitOwnDelegate(trap, id, node); + EmitOwnCompilationUnit(trap, id, node, children); + EmitOwnMethodOrDelegate(trap, id, node, children); + EmitOwnDelegate(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DeleteStatement": trap.Tuple("delete_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnDeleteStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnDeleteStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DivideExpression": trap.Tuple("divide_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.DoWhileStatement": trap.Tuple("do_while_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnDoWhileStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnDoWhileStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.EmptyExpression": trap.Tuple("empty_expressions", id); - EmitOwnExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.EmptyStatement": trap.Tuple("empty_statements", id); - EmitOwnStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.EnumAttributeLiteral": trap.Tuple("enum_attribute_literals", id); - EmitOwnEnumAttributeLiteral(trap, id, node); + EmitOwnEnumAttributeLiteral(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.EnumerationLiteralExpression": trap.Tuple("enumeration_literal_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnEnumerationLiteralExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnEnumerationLiteralExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.EnumerationType": trap.Tuple("enumeration_types", id); - EmitOwnXppType(trap, id, node); - EmitOwnEnumerationType(trap, id, node); + EmitOwnXppType(trap, id, node, children); + EmitOwnEnumerationType(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.EqualExpression": trap.Tuple("equal_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); - EmitOwnRelationalExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); + EmitOwnRelationalExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ExplicitSelection": trap.Tuple("explicit_selections", id); - EmitOwnExplicitSelection(trap, id, node); + EmitOwnExplicitSelection(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ExpressionCompilationUnit": trap.Tuple("expression_compilation_units", id); - EmitOwnCompilationUnit(trap, id, node); - EmitOwnExpressionCompilationUnit(trap, id, node); + EmitOwnCompilationUnit(trap, id, node, children); + EmitOwnExpressionCompilationUnit(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ExpressionQualifier": trap.Tuple("expression_qualifiers", id); - EmitOwnExpressionQualifier(trap, id, node); + EmitOwnExpressionQualifier(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ExpressionStatement": trap.Tuple("expression_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnExpressionStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnExpressionStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FieldAssignment": trap.Tuple("field_assignments", id); - EmitOwnFieldAssignment(trap, id, node); + EmitOwnFieldAssignment(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FieldDeclaration": trap.Tuple("field_declaration_internals", id); - EmitOwnCompilationUnit(trap, id, node); - EmitOwnDeclaration(trap, id, node); - EmitOwnFieldDeclaration(trap, id, node); + EmitOwnCompilationUnit(trap, id, node, children); + EmitOwnDeclaration(trap, id, node, children); + EmitOwnFieldDeclaration(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FieldExpression": trap.Tuple("field_expression_internals", id); - EmitOwnExpression(trap, id, node); - EmitOwnFieldExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnFieldExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FieldSelection": trap.Tuple("field_selections", id); - EmitOwnSelectionField(trap, id, node); - EmitOwnFieldSelection(trap, id, node); + EmitOwnSelectionField(trap, id, node, children); + EmitOwnFieldSelection(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FindStatement": trap.Tuple("find_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnFindStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnFindStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FlushStatement": trap.Tuple("flush_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnFlushStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnFlushStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ForDeclarationAssign": trap.Tuple("for_declaration_assigns", id); - EmitOwnForAssign(trap, id, node); - EmitOwnForDeclarationAssign(trap, id, node); + EmitOwnForAssign(trap, id, node, children); + EmitOwnForDeclarationAssign(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ForFieldAssign": trap.Tuple("for_field_assigns", id); - EmitOwnForAssign(trap, id, node); - EmitOwnForExpressionAssign(trap, id, node); + EmitOwnForAssign(trap, id, node, children); + EmitOwnForExpressionAssign(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ForFieldDecrementAssign": trap.Tuple("for_field_decrement_assigns", id); - EmitOwnForAssign(trap, id, node); - EmitOwnForExpressionAssign(trap, id, node); + EmitOwnForAssign(trap, id, node, children); + EmitOwnForExpressionAssign(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ForFieldIncrementAssign": trap.Tuple("for_field_increment_assigns", id); - EmitOwnForAssign(trap, id, node); - EmitOwnForExpressionAssign(trap, id, node); + EmitOwnForAssign(trap, id, node, children); + EmitOwnForExpressionAssign(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ForFieldPostDecrement": trap.Tuple("for_field_post_decrements", id); - EmitOwnForAssign(trap, id, node); + EmitOwnForAssign(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ForFieldPostIncrement": trap.Tuple("for_field_post_increments", id); - EmitOwnForAssign(trap, id, node); + EmitOwnForAssign(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ForFieldPreDecrement": trap.Tuple("for_field_pre_decrements", id); - EmitOwnForAssign(trap, id, node); + EmitOwnForAssign(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ForFieldPreIncrement": trap.Tuple("for_field_pre_increments", id); - EmitOwnForAssign(trap, id, node); + EmitOwnForAssign(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ForStatement": trap.Tuple("for_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnForStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnForStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FormControl": trap.Tuple("form_controls", id); - EmitOwnCompilationUnit(trap, id, node); - EmitOwnModelElement(trap, id, node); - EmitOwnFormNestedElement(trap, id, node); - EmitOwnFormControl(trap, id, node); + EmitOwnCompilationUnit(trap, id, node, children); + EmitOwnModelElement(trap, id, node, children); + EmitOwnFormNestedElement(trap, id, node, children); + EmitOwnFormControl(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FormDataField": trap.Tuple("form_data_fields", id); - EmitOwnCompilationUnit(trap, id, node); - EmitOwnModelElement(trap, id, node); - EmitOwnFormNestedElement(trap, id, node); - EmitOwnFormDataField(trap, id, node); + EmitOwnCompilationUnit(trap, id, node, children); + EmitOwnModelElement(trap, id, node, children); + EmitOwnFormNestedElement(trap, id, node, children); + EmitOwnFormDataField(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FormDataSource": trap.Tuple("form_data_sources", id); - EmitOwnCompilationUnit(trap, id, node); - EmitOwnModelElement(trap, id, node); - EmitOwnFormNestedElement(trap, id, node); - EmitOwnFormDataSource(trap, id, node); + EmitOwnCompilationUnit(trap, id, node, children); + EmitOwnModelElement(trap, id, node, children); + EmitOwnFormNestedElement(trap, id, node, children); + EmitOwnFormDataSource(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FormElementType": trap.Tuple("form_element_types", id); - EmitOwnXppType(trap, id, node); - EmitOwnGenericXppType(trap, id, node); - EmitOwnNamedType(trap, id, node); - EmitOwnFormElementType(trap, id, node); + EmitOwnXppType(trap, id, node, children); + EmitOwnGenericXppType(trap, id, node, children); + EmitOwnNamedType(trap, id, node, children); + EmitOwnFormElementType(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FormModelElement": trap.Tuple("form_model_elements", id); - EmitOwnCompilationUnit(trap, id, node); - EmitOwnModelElement(trap, id, node); - EmitOwnFormModelElement(trap, id, node); + EmitOwnCompilationUnit(trap, id, node, children); + EmitOwnModelElement(trap, id, node, children); + EmitOwnFormModelElement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FunctionCall": trap.Tuple("function_calls", id); - EmitOwnExpression(trap, id, node); - EmitOwnEvaluation(trap, id, node); - EmitOwnGenericEvaluation(trap, id, node); - EmitOwnFunctionCall(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnEvaluation(trap, id, node, children); + EmitOwnGenericEvaluation(trap, id, node, children); + EmitOwnFunctionCall(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.FunctionDeclaration": trap.Tuple("function_declarations", id); - EmitOwnCompilationUnit(trap, id, node); - EmitOwnDeclaration(trap, id, node); - EmitOwnFunctionDeclaration(trap, id, node); + EmitOwnCompilationUnit(trap, id, node, children); + EmitOwnDeclaration(trap, id, node, children); + EmitOwnFunctionDeclaration(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.GlobalOrderElement": trap.Tuple("global_order_elements", id); - EmitOwnOrderElement(trap, id, node); - EmitOwnGlobalOrderElement(trap, id, node); + EmitOwnOrderElement(trap, id, node, children); + EmitOwnGlobalOrderElement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.GreaterThanExpression": trap.Tuple("greater_than_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); - EmitOwnRelationalExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); + EmitOwnRelationalExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.GreaterThanOrEqualExpression": trap.Tuple("greater_than_or_equal_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); - EmitOwnRelationalExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); + EmitOwnRelationalExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.GuidAttributeLiteral": trap.Tuple("guid_attribute_literals", id); - EmitOwnDefaultTypeAttributeLiteral(trap, id, node); + EmitOwnDefaultTypeAttributeLiteral(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.GuidType": trap.Tuple("guid_types", id); - EmitOwnXppType(trap, id, node); + EmitOwnXppType(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.IfStatement": trap.Tuple("if_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnIfStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnIfStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.IfThenElseStatement": trap.Tuple("if_then_else_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnIfThenElseStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnIfThenElseStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ImplicitSelection": trap.Tuple("implicit_selections", id); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.InExpression": trap.Tuple("in_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.InsertFieldSpecification": trap.Tuple("insert_field_specifications", id); - EmitOwnInsertFieldSpecification(trap, id, node); + EmitOwnInsertFieldSpecification(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.InsertStatement": trap.Tuple("insert_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnInsertStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnInsertStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Int64AttributeLiteral": trap.Tuple("int64_attribute_literals", id); - EmitOwnDefaultTypeAttributeLiteral(trap, id, node); + EmitOwnDefaultTypeAttributeLiteral(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Int64LiteralExpression": trap.Tuple("int64_literal_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnDefaultTypeLiteralExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnDefaultTypeLiteralExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Int64Type": trap.Tuple("int64_types", id); - EmitOwnXppType(trap, id, node); + EmitOwnXppType(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.IntAttributeLiteral": trap.Tuple("int_attribute_literals", id); - EmitOwnDefaultTypeAttributeLiteral(trap, id, node); + EmitOwnDefaultTypeAttributeLiteral(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.IntLiteralExpression": trap.Tuple("int_literal_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnDefaultTypeLiteralExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnDefaultTypeLiteralExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.IntType": trap.Tuple("int_types", id); - EmitOwnXppType(trap, id, node); + EmitOwnXppType(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.IntegerDivideExpression": trap.Tuple("integer_divide_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Interface": trap.Tuple("interfaces", id); - EmitOwnCompilationUnit(trap, id, node); - EmitOwnModelElement(trap, id, node); - EmitOwnClassOrInterface(trap, id, node); + EmitOwnCompilationUnit(trap, id, node, children); + EmitOwnModelElement(trap, id, node, children); + EmitOwnClassOrInterface(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Intrinsic": trap.Tuple("intrinsics", id); - EmitOwnExpression(trap, id, node); - EmitOwnIntrinsic(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnIntrinsic(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.IntrinsicAttributeLiteral": trap.Tuple("intrinsic_attribute_literals", id); - EmitOwnIntrinsicAttributeLiteral(trap, id, node); + EmitOwnIntrinsicAttributeLiteral(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.IsClrExpression": trap.Tuple("is_clr_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnIsAsExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnIsAsExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.IsExpression": trap.Tuple("is_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnIsAsExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnIsAsExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.JoinSpecification": trap.Tuple("join_specifications", id); - EmitOwnJoinSpecification(trap, id, node); + EmitOwnJoinSpecification(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.LessThanExpression": trap.Tuple("less_than_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); - EmitOwnRelationalExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); + EmitOwnRelationalExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.LessThanOrEqualExpression": trap.Tuple("less_than_or_equal_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); - EmitOwnRelationalExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); + EmitOwnRelationalExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.LikeExpression": trap.Tuple("like_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); - EmitOwnRelationalExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); + EmitOwnRelationalExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.LocalDeclarationsStatement": trap.Tuple("local_declarations_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnLocalDeclarationsStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnLocalDeclarationsStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.MaxAggregateSelection": trap.Tuple("max_aggregate_selections", id); - EmitOwnSelectionField(trap, id, node); + EmitOwnSelectionField(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Method": trap.Tuple("methods", id); - EmitOwnCompilationUnit(trap, id, node); - EmitOwnMethodOrDelegate(trap, id, node); - EmitOwnMethod(trap, id, node); + EmitOwnCompilationUnit(trap, id, node, children); + EmitOwnMethodOrDelegate(trap, id, node, children); + EmitOwnMethod(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.MinAggregateSelection": trap.Tuple("min_aggregate_selections", id); - EmitOwnSelectionField(trap, id, node); + EmitOwnSelectionField(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ModExpression": trap.Tuple("mod_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Modifier": trap.Tuple("modifiers", id); - EmitOwnModifier(trap, id, node); + EmitOwnModifier(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.MoveCursorStatement": trap.Tuple("move_cursor_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnMoveCursorStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnMoveCursorStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.MultiplyExpression": trap.Tuple("multiply_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.NamedFieldReference": trap.Tuple("named_field_references", id); - EmitOwnTableFieldReference(trap, id, node); - EmitOwnNamedFieldReference(trap, id, node); + EmitOwnTableFieldReference(trap, id, node, children); + EmitOwnNamedFieldReference(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.NamedType": trap.Tuple("named_type_internals", id); - EmitOwnXppType(trap, id, node); - EmitOwnGenericXppType(trap, id, node); - EmitOwnNamedType(trap, id, node); + EmitOwnXppType(trap, id, node, children); + EmitOwnGenericXppType(trap, id, node, children); + EmitOwnNamedType(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.NewCall": trap.Tuple("new_calls", id); - EmitOwnExpression(trap, id, node); - EmitOwnEvaluation(trap, id, node); - EmitOwnNewCall(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnEvaluation(trap, id, node, children); + EmitOwnNewCall(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.NewClrArrayExpression": trap.Tuple("new_clr_array_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnNewClrArrayExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnNewClrArrayExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.NewClrCall": trap.Tuple("new_clr_calls", id); - EmitOwnExpression(trap, id, node); - EmitOwnEvaluation(trap, id, node); - EmitOwnGenericEvaluation(trap, id, node); - EmitOwnNewClrCall(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnEvaluation(trap, id, node, children); + EmitOwnGenericEvaluation(trap, id, node, children); + EmitOwnNewClrCall(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.NextExpression": trap.Tuple("next_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnEvaluation(trap, id, node); - EmitOwnNextExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnEvaluation(trap, id, node, children); + EmitOwnNextExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.NotEqualExpression": trap.Tuple("not_equal_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); - EmitOwnRelationalExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); + EmitOwnRelationalExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.NotExpression": trap.Tuple("not_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnUnaryExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnUnaryExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.NullLiteralExpression": trap.Tuple("null_literal_expressions", id); - EmitOwnExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.NumberedFieldReference": trap.Tuple("numbered_field_references", id); - EmitOwnTableFieldReference(trap, id, node); - EmitOwnNumberedFieldReference(trap, id, node); + EmitOwnTableFieldReference(trap, id, node, children); + EmitOwnNumberedFieldReference(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.OrExpression": trap.Tuple("or_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ParameterDeclaration": trap.Tuple("parameter_declarations", id); - EmitOwnCompilationUnit(trap, id, node); - EmitOwnDeclaration(trap, id, node); - EmitOwnVariableDeclaration(trap, id, node); - EmitOwnParameterDeclaration(trap, id, node); + EmitOwnCompilationUnit(trap, id, node, children); + EmitOwnDeclaration(trap, id, node, children); + EmitOwnVariableDeclaration(trap, id, node, children); + EmitOwnParameterDeclaration(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.PhysicalAndExpression": trap.Tuple("physical_and_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.PhysicalNotExpression": trap.Tuple("physical_not_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnUnaryExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnUnaryExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.PhysicalOrExpression": trap.Tuple("physical_or_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.PhysicalXorExpression": trap.Tuple("physical_xor_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Placeholder": trap.Tuple("placeholders", id); - EmitOwnExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.PrintStatement": trap.Tuple("print_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnPrintStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnPrintStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ProvidedType": trap.Tuple("provided_types", id); - EmitOwnXppType(trap, id, node); - EmitOwnProvidedType(trap, id, node); + EmitOwnXppType(trap, id, node, children); + EmitOwnProvidedType(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ProvidedTypeStaticCall": trap.Tuple("provided_type_static_calls", id); - EmitOwnExpression(trap, id, node); - EmitOwnEvaluation(trap, id, node); - EmitOwnProvidedTypeStaticCall(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnEvaluation(trap, id, node, children); + EmitOwnProvidedTypeStaticCall(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedCall": trap.Tuple("qualified_calls", id); - EmitOwnExpression(trap, id, node); - EmitOwnEvaluation(trap, id, node); - EmitOwnGenericEvaluation(trap, id, node); - EmitOwnQualifiedCall(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnEvaluation(trap, id, node, children); + EmitOwnGenericEvaluation(trap, id, node, children); + EmitOwnQualifiedCall(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedField": trap.Tuple("qualified_fields", id); - EmitOwnFieldSpecification(trap, id, node); - EmitOwnQualifiedField(trap, id, node); + EmitOwnFieldSpecification(trap, id, node, children); + EmitOwnQualifiedField(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedInstanceName": trap.Tuple("qualified_instance_names", id); - EmitOwnQualifiedInstanceName(trap, id, node); + EmitOwnQualifiedInstanceName(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedNumberedField": trap.Tuple("qualified_numbered_fields", id); - EmitOwnFieldSpecification(trap, id, node); - EmitOwnQualifiedNumberedField(trap, id, node); + EmitOwnFieldSpecification(trap, id, node, children); + EmitOwnQualifiedNumberedField(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedStaticCall": trap.Tuple("qualified_static_calls", id); - EmitOwnExpression(trap, id, node); - EmitOwnEvaluation(trap, id, node); - EmitOwnGenericEvaluation(trap, id, node); - EmitOwnQualifiedStaticCall(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnEvaluation(trap, id, node, children); + EmitOwnGenericEvaluation(trap, id, node, children); + EmitOwnQualifiedStaticCall(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedStaticField": trap.Tuple("qualified_static_fields", id); - EmitOwnFieldSpecification(trap, id, node); - EmitOwnQualifiedStaticField(trap, id, node); + EmitOwnFieldSpecification(trap, id, node, children); + EmitOwnQualifiedStaticField(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QualifiedStaticFieldExpression": trap.Tuple("qualified_static_field_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnFieldExpression(trap, id, node); - EmitOwnQualifiedStaticFieldExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnFieldExpression(trap, id, node, children); + EmitOwnQualifiedStaticFieldExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Query": trap.Tuple("queries", id); - EmitOwnQuery(trap, id, node); + EmitOwnQuery(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryDataSource": trap.Tuple("query_data_sources", id); - EmitOwnQueryDataSource(trap, id, node); + EmitOwnQueryDataSource(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryDataSourceHaving": trap.Tuple("query_data_source_havings", id); - EmitOwnQueryDataSourceHaving(trap, id, node); + EmitOwnQueryDataSourceHaving(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryDataSourceRange": trap.Tuple("query_data_source_ranges", id); - EmitOwnQueryDataSourceRange(trap, id, node); + EmitOwnQueryDataSourceRange(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryDataSourceRelation": trap.Tuple("query_data_source_relations", id); - EmitOwnQueryDataSourceRelation(trap, id, node); + EmitOwnQueryDataSourceRelation(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.QueryModelElement": trap.Tuple("query_model_elements", id); - EmitOwnCompilationUnit(trap, id, node); - EmitOwnModelElement(trap, id, node); - EmitOwnQueryModelElement(trap, id, node); + EmitOwnCompilationUnit(trap, id, node, children); + EmitOwnModelElement(trap, id, node, children); + EmitOwnQueryModelElement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.RealLiteralExpression": trap.Tuple("real_literal_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnDefaultTypeLiteralExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnDefaultTypeLiteralExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.RetryStatement": trap.Tuple("retry_statements", id); - EmitOwnStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ReturnStatement": trap.Tuple("return_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnReturnStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnReturnStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.SearchStatement": trap.Tuple("search_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnSearchStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnSearchStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ShiftLeftExpression": trap.Tuple("shift_left_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ShiftRightExpression": trap.Tuple("shift_right_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.SimpleField": trap.Tuple("simple_fields", id); - EmitOwnFieldSpecification(trap, id, node); - EmitOwnSimpleField(trap, id, node); + EmitOwnFieldSpecification(trap, id, node, children); + EmitOwnSimpleField(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.SimpleInstanceName": trap.Tuple("simple_instance_names", id); - EmitOwnSimpleInstanceName(trap, id, node); + EmitOwnSimpleInstanceName(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.SimpleOrderElement": trap.Tuple("simple_order_elements", id); - EmitOwnOrderElement(trap, id, node); - EmitOwnSimpleOrderElement(trap, id, node); + EmitOwnOrderElement(trap, id, node, children); + EmitOwnSimpleOrderElement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.SimpleQualifier": trap.Tuple("simple_qualifier_internals", id); - EmitOwnSimpleQualifier(trap, id, node); + EmitOwnSimpleQualifier(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.StaticField": trap.Tuple("static_fields", id); - EmitOwnFieldSpecification(trap, id, node); - EmitOwnStaticField(trap, id, node); + EmitOwnFieldSpecification(trap, id, node, children); + EmitOwnStaticField(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.StaticMethodCall": trap.Tuple("static_method_calls", id); - EmitOwnExpression(trap, id, node); - EmitOwnEvaluation(trap, id, node); - EmitOwnGenericEvaluation(trap, id, node); - EmitOwnStaticMethodCall(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnEvaluation(trap, id, node, children); + EmitOwnGenericEvaluation(trap, id, node, children); + EmitOwnStaticMethodCall(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.StaticQualifier": trap.Tuple("static_qualifiers", id); - EmitOwnSimpleQualifier(trap, id, node); - EmitOwnStaticQualifier(trap, id, node); + EmitOwnSimpleQualifier(trap, id, node, children); + EmitOwnStaticQualifier(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.StringAttributeLiteral": trap.Tuple("string_attribute_literals", id); - EmitOwnDefaultTypeAttributeLiteral(trap, id, node); + EmitOwnDefaultTypeAttributeLiteral(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.StringLengthType": trap.Tuple("string_length_types", id); - EmitOwnXppType(trap, id, node); - EmitOwnStringLengthType(trap, id, node); + EmitOwnXppType(trap, id, node, children); + EmitOwnStringLengthType(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.StringLiteralExpression": trap.Tuple("string_literal_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnDefaultTypeLiteralExpression(trap, id, node); - EmitOwnStringLiteralExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnDefaultTypeLiteralExpression(trap, id, node, children); + EmitOwnStringLiteralExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.StringType": trap.Tuple("string_type_internals", id); - EmitOwnXppType(trap, id, node); + EmitOwnXppType(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.SubtractExpression": trap.Tuple("subtract_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnBinaryExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnBinaryExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.SumAggregateSelection": trap.Tuple("sum_aggregate_selections", id); - EmitOwnSelectionField(trap, id, node); + EmitOwnSelectionField(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.SuperCall": trap.Tuple("super_calls", id); - EmitOwnExpression(trap, id, node); - EmitOwnEvaluation(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnEvaluation(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.SwitchCase": trap.Tuple("switch_cases", id); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.SwitchStatement": trap.Tuple("switch_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnSwitchStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnSwitchStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.Table": trap.Tuple("tables", id); - EmitOwnCompilationUnit(trap, id, node); - EmitOwnModelElement(trap, id, node); - EmitOwnTable(trap, id, node); + EmitOwnCompilationUnit(trap, id, node, children); + EmitOwnModelElement(trap, id, node, children); + EmitOwnTable(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.TableFieldDeclaration": trap.Tuple("table_field_declarations", id); - EmitOwnCompilationUnit(trap, id, node); - EmitOwnDeclaration(trap, id, node); - EmitOwnFieldDeclaration(trap, id, node); + EmitOwnCompilationUnit(trap, id, node, children); + EmitOwnDeclaration(trap, id, node, children); + EmitOwnFieldDeclaration(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.TableLookupExpression": trap.Tuple("table_lookup_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnTableLookupExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnTableLookupExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ThrowStatement": trap.Tuple("throw_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnThrowStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnThrowStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.TryStatement": trap.Tuple("try_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnTryStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnTryStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.TtsAbortStatement": trap.Tuple("tts_abort_statements", id); - EmitOwnStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.TtsBeginStatement": trap.Tuple("tts_begin_statements", id); - EmitOwnStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.TtsEndStatement": trap.Tuple("tts_end_statements", id); - EmitOwnStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.UnaryMinusExpression": trap.Tuple("unary_minus_expressions", id); - EmitOwnExpression(trap, id, node); - EmitOwnUnaryExpression(trap, id, node); + EmitOwnExpression(trap, id, node, children); + EmitOwnUnaryExpression(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.UncheckedStatement": trap.Tuple("unchecked_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnUncheckedStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnUncheckedStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.UpdateStatement": trap.Tuple("update_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnUpdateStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnUpdateStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.UsingStatement": trap.Tuple("using_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnUsingStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnUsingStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ValidTimeStateDate": trap.Tuple("valid_time_state_dates", id); - EmitOwnValidTimeStateDate(trap, id, node); + EmitOwnValidTimeStateDate(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.ValidTimeStateRange": trap.Tuple("valid_time_state_ranges", id); - EmitOwnValidTimeStateRange(trap, id, node); + EmitOwnValidTimeStateRange(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.VarType": trap.Tuple("var_types", id); - EmitOwnXppType(trap, id, node); + EmitOwnXppType(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.VariableDeclaration": trap.Tuple("variable_declaration_internals", id); - EmitOwnCompilationUnit(trap, id, node); - EmitOwnDeclaration(trap, id, node); - EmitOwnVariableDeclaration(trap, id, node); + EmitOwnCompilationUnit(trap, id, node, children); + EmitOwnDeclaration(trap, id, node, children); + EmitOwnVariableDeclaration(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.VoidType": trap.Tuple("void_types", id); - EmitOwnXppType(trap, id, node); + EmitOwnXppType(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.WhileStatement": trap.Tuple("while_statements", id); - EmitOwnStatement(trap, id, node); - EmitOwnWhileStatement(trap, id, node); + EmitOwnStatement(trap, id, node, children); + EmitOwnWhileStatement(trap, id, node, children); return true; case "Microsoft.Dynamics.AX.Metadata.XppCompiler.XppTypeCompilationUnit": trap.Tuple("xpp_type_compilation_units", id); - EmitOwnCompilationUnit(trap, id, node); - EmitOwnXppTypeCompilationUnit(trap, id, node); + EmitOwnCompilationUnit(trap, id, node, children); + EmitOwnXppTypeCompilationUnit(trap, id, node, children); return true; default: return false; diff --git a/xpp/extractor/Xpp.SchemaGenerator/TrapEmitterWriter.cs b/xpp/extractor/Xpp.SchemaGenerator/TrapEmitterWriter.cs index bb53dc449fcf..d1aadeab944b 100644 --- a/xpp/extractor/Xpp.SchemaGenerator/TrapEmitterWriter.cs +++ b/xpp/extractor/Xpp.SchemaGenerator/TrapEmitterWriter.cs @@ -65,6 +65,17 @@ void Require(string table) writer.WriteLine("internal static class AstTrapEmitter"); writer.WriteLine("{"); + writer.WriteLine(); + writer.WriteLine(" /// "); + writer.WriteLine(" /// Labels a child and records it, so the caller walks the same instances that were"); + writer.WriteLine(" /// labelled here. Reading a property twice is not safe: some are structs, which box"); + writer.WriteLine(" /// to a new object on each read and would otherwise get two different labels."); + writer.WriteLine(" /// "); + writer.WriteLine(" private static Label Child(ITrapFile trap, ICollection children, object node)"); + writer.WriteLine(" {"); + writer.WriteLine(" children.Add(node);"); + writer.WriteLine(" return trap.Label(node);"); + writer.WriteLine(" }"); // Per-class emission of that class's own properties. foreach (var type in model.Types.OrderBy(t => t.Name, StringComparer.Ordinal)) @@ -73,7 +84,7 @@ void Require(string table) continue; writer.WriteLine(); - writer.WriteLine($" private static void EmitOwn{type.Name}(ITrapFile trap, Label id, object node)"); + writer.WriteLine($" private static void EmitOwn{type.Name}(ITrapFile trap, Label id, object node, ICollection children)"); writer.WriteLine(" {"); if (type.IsGeneric) { @@ -103,7 +114,7 @@ void Require(string table) Require(classTable); writer.WriteLine(); - writer.WriteLine($" private static Label Emit{type.Name}(ITrapFile trap, ITuple tuple)"); + writer.WriteLine($" private static Label Emit{type.Name}(ITrapFile trap, ICollection children, ITuple tuple)"); writer.WriteLine(" {"); writer.WriteLine(" var id = trap.FreshLabel();"); writer.WriteLine($" trap.Tuple(\"{classTable}\", id);"); @@ -142,7 +153,7 @@ private static void EmitDispatch( writer.WriteLine(" /// Writes every tuple describing , returning false when the"); writer.WriteLine(" /// node's type is not part of the generated schema."); writer.WriteLine(" /// "); - writer.WriteLine(" public static bool Emit(ITrapFile trap, Label id, object node)"); + writer.WriteLine(" public static bool Emit(ITrapFile trap, Label id, object node, ICollection children)"); writer.WriteLine(" {"); writer.WriteLine(" // Dispatch on the exact runtime type: C# type patterns also match subclasses,"); writer.WriteLine(" // which would bind a node to an ancestor's table."); @@ -167,7 +178,7 @@ private static void EmitDispatch( foreach (var ancestor in Ancestry(leaf, byName)) { if (ancestor.Properties.Count > 0) - writer.WriteLine($" EmitOwn{ancestor.Name}(trap, id, node);"); + writer.WriteLine($" EmitOwn{ancestor.Name}(trap, id, node, children);"); } writer.WriteLine(" return true;"); @@ -222,23 +233,23 @@ private static void EmitValue( { case PropertyKind.Child when IsSynthetic(property, byName): writer.WriteLine($"{indent}if ({access} is ITuple t_{property.SchemaName})"); - writer.WriteLine($"{indent} trap.Tuple(\"{table}\", id, Emit{property.TypeName}(trap, t_{property.SchemaName}));"); + writer.WriteLine($"{indent} trap.Tuple(\"{table}\", id, Emit{property.TypeName}(trap, children, t_{property.SchemaName}));"); break; case PropertyKind.Child: writer.WriteLine($"{indent}if ({access} is {{ }} c_{property.SchemaName})"); - writer.WriteLine($"{indent} trap.Tuple(\"{table}\", id, trap.Label(c_{property.SchemaName}));"); + writer.WriteLine($"{indent} trap.Tuple(\"{table}\", id, Child(trap, children, c_{property.SchemaName}));"); break; case PropertyKind.ChildList when IsSynthetic(property, byName): Loop(writer, indent, access, property, - $"trap.Tuple(\"{table}\", id, i, Emit{property.TypeName}(trap, (ITuple)item));", + $"trap.Tuple(\"{table}\", id, i, Emit{property.TypeName}(trap, children, (ITuple)item));", "ITuple"); break; case PropertyKind.ChildList: Loop(writer, indent, access, property, - $"trap.Tuple(\"{table}\", id, i, trap.Label(item));", + $"trap.Tuple(\"{table}\", id, i, Child(trap, children, item));", "object"); break; diff --git a/xpp/ql/test/library-tests/ast/Ast.expected b/xpp/ql/test/library-tests/ast/Ast.expected index 35eece9166ec..97b6af7f58a7 100644 --- a/xpp/ql/test/library-tests/ast/Ast.expected +++ b/xpp/ql/test/library-tests/ast/Ast.expected @@ -4,6 +4,7 @@ methods | controlFlow | | databaseAccess | statementCounts +| Comment | 10 | | FieldDeclaration | 2 | | FindStatement | 1 | | ForStatement | 1 | diff --git a/xpp/ql/test/library-tests/ast/Ast.ql b/xpp/ql/test/library-tests/ast/Ast.ql index 480c40b3ea5b..8752cca6c425 100644 --- a/xpp/ql/test/library-tests/ast/Ast.ql +++ b/xpp/ql/test/library-tests/ast/Ast.ql @@ -42,6 +42,11 @@ query predicate statementCounts(string kind, int n) { // Class fields live in a dictionary keyed by name in the compiler's AST, so this confirms // dictionary-held children are reduced to their values rather than to key/value pairs. kind = "FieldDeclaration" and n = count(FieldDeclaration d) + or + // Comments are struct-typed in the compiler's AST, so they box to a new object on every + // property read. This guards against the reference and the definition getting separate + // labels, which left every comment dangling and failed `codeql dataset check`. + kind = "Comment" and n = count(Comment c) } query predicate searchStatementLine(int line) {