Rust: codegen

This commit is contained in:
Arthur Baars
2024-09-20 11:00:12 +02:00
parent 57458d8f38
commit a9423f4bdb
467 changed files with 4623 additions and 489 deletions

581
rust/ql/.generated.list generated

File diff suppressed because it is too large Load Diff

239
rust/ql/.gitattributes generated vendored
View File

@@ -611,109 +611,232 @@
/lib/codeql/rust/elements.qll linguist-generated
/test/extractor-tests/generated/Abi/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ArgList/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ArrayExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ArrayExpr/ArrayExpr.ql linguist-generated
/test/extractor-tests/generated/ArrayExpr/ArrayExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/ArrayExpr/ArrayExpr_getExpr.ql linguist-generated
/test/extractor-tests/generated/ArrayType/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/AsmExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/AsmExpr/AsmExpr.ql linguist-generated
/test/extractor-tests/generated/AsmExpr/AsmExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/AsmExpr/AsmExpr_getExpr.ql linguist-generated
/test/extractor-tests/generated/AssocItemList/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/AssocTypeArg/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/Attr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/AwaitExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/BecomeExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/BinaryExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/BlockExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/BoxPat/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/BreakExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/CallExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/CastExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/AwaitExpr/AwaitExpr.ql linguist-generated
/test/extractor-tests/generated/AwaitExpr/AwaitExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/AwaitExpr/AwaitExpr_getExpr.ql linguist-generated
/test/extractor-tests/generated/BecomeExpr/BecomeExpr.ql linguist-generated
/test/extractor-tests/generated/BecomeExpr/BecomeExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/BecomeExpr/BecomeExpr_getExpr.ql linguist-generated
/test/extractor-tests/generated/BinaryExpr/BinaryExpr.ql linguist-generated
/test/extractor-tests/generated/BinaryExpr/BinaryExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/BinaryExpr/BinaryExpr_getLhs.ql linguist-generated
/test/extractor-tests/generated/BinaryExpr/BinaryExpr_getOperatorName.ql linguist-generated
/test/extractor-tests/generated/BinaryExpr/BinaryExpr_getRhs.ql linguist-generated
/test/extractor-tests/generated/BlockExpr/BlockExpr.ql linguist-generated
/test/extractor-tests/generated/BlockExpr/BlockExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/BlockExpr/BlockExpr_getLabel.ql linguist-generated
/test/extractor-tests/generated/BlockExpr/BlockExpr_getStmtList.ql linguist-generated
/test/extractor-tests/generated/BoxPat/BoxPat.ql linguist-generated
/test/extractor-tests/generated/BoxPat/BoxPat_getPat.ql linguist-generated
/test/extractor-tests/generated/BreakExpr/BreakExpr.ql linguist-generated
/test/extractor-tests/generated/BreakExpr/BreakExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/BreakExpr/BreakExpr_getExpr.ql linguist-generated
/test/extractor-tests/generated/BreakExpr/BreakExpr_getLifetime.ql linguist-generated
/test/extractor-tests/generated/CallExpr/CallExpr.ql linguist-generated
/test/extractor-tests/generated/CallExpr/CallExpr_getArgList.ql linguist-generated
/test/extractor-tests/generated/CallExpr/CallExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/CallExpr/CallExpr_getExpr.ql linguist-generated
/test/extractor-tests/generated/CastExpr/CastExpr.ql linguist-generated
/test/extractor-tests/generated/CastExpr/CastExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/CastExpr/CastExpr_getExpr.ql linguist-generated
/test/extractor-tests/generated/CastExpr/CastExpr_getTy.ql linguist-generated
/test/extractor-tests/generated/ClosureBinder/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ClosureExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ClosureExpr/ClosureExpr.ql linguist-generated
/test/extractor-tests/generated/ClosureExpr/ClosureExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/ClosureExpr/ClosureExpr_getBody.ql linguist-generated
/test/extractor-tests/generated/ClosureExpr/ClosureExpr_getClosureBinder.ql linguist-generated
/test/extractor-tests/generated/ClosureExpr/ClosureExpr_getParamList.ql linguist-generated
/test/extractor-tests/generated/ClosureExpr/ClosureExpr_getRetType.ql linguist-generated
/test/extractor-tests/generated/Const/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ConstArg/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ConstBlockPat/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ConstBlockPat/ConstBlockPat.ql linguist-generated
/test/extractor-tests/generated/ConstBlockPat/ConstBlockPat_getBlockExpr.ql linguist-generated
/test/extractor-tests/generated/ConstParam/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ContinueExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ContinueExpr/ContinueExpr.ql linguist-generated
/test/extractor-tests/generated/ContinueExpr/ContinueExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/ContinueExpr/ContinueExpr_getLifetime.ql linguist-generated
/test/extractor-tests/generated/DynTraitType/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/Enum/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ExprStmt/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ExprStmt/ExprStmt.ql linguist-generated
/test/extractor-tests/generated/ExprStmt/ExprStmt_getExpr.ql linguist-generated
/test/extractor-tests/generated/ExternBlock/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ExternCrate/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ExternItemList/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/FieldExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/FieldExpr/FieldExpr.ql linguist-generated
/test/extractor-tests/generated/FieldExpr/FieldExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/FieldExpr/FieldExpr_getExpr.ql linguist-generated
/test/extractor-tests/generated/FieldExpr/FieldExpr_getNameRef.ql linguist-generated
/test/extractor-tests/generated/FnPtrType/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ForExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ForType/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/FormatArgsArg/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/FormatArgsExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/Function/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/GenericArgList/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/Function/Function.ql linguist-generated
/test/extractor-tests/generated/Function/Function_getAbi.ql linguist-generated
/test/extractor-tests/generated/Function/Function_getAttr.ql linguist-generated
/test/extractor-tests/generated/Function/Function_getBody.ql linguist-generated
/test/extractor-tests/generated/Function/Function_getGenericParamList.ql linguist-generated
/test/extractor-tests/generated/Function/Function_getName.ql linguist-generated
/test/extractor-tests/generated/Function/Function_getParamList.ql linguist-generated
/test/extractor-tests/generated/Function/Function_getRetType.ql linguist-generated
/test/extractor-tests/generated/Function/Function_getVisibility.ql linguist-generated
/test/extractor-tests/generated/Function/Function_getWhereClause.ql linguist-generated
/test/extractor-tests/generated/GenericArgList/GenericArgList.ql linguist-generated
/test/extractor-tests/generated/GenericArgList/GenericArgList_getGenericArg.ql linguist-generated
/test/extractor-tests/generated/GenericParamList/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/IdentPat/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/IfExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/IdentPat/IdentPat.ql linguist-generated
/test/extractor-tests/generated/IdentPat/IdentPat_getAttr.ql linguist-generated
/test/extractor-tests/generated/IdentPat/IdentPat_getName.ql linguist-generated
/test/extractor-tests/generated/IdentPat/IdentPat_getPat.ql linguist-generated
/test/extractor-tests/generated/IfExpr/IfExpr.ql linguist-generated
/test/extractor-tests/generated/IfExpr/IfExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/IfExpr/IfExpr_getCondition.ql linguist-generated
/test/extractor-tests/generated/IfExpr/IfExpr_getElse.ql linguist-generated
/test/extractor-tests/generated/IfExpr/IfExpr_getThen.ql linguist-generated
/test/extractor-tests/generated/Impl/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ImplTraitType/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/IndexExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/IndexExpr/IndexExpr.ql linguist-generated
/test/extractor-tests/generated/IndexExpr/IndexExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/IndexExpr/IndexExpr_getBase.ql linguist-generated
/test/extractor-tests/generated/IndexExpr/IndexExpr_getIndex.ql linguist-generated
/test/extractor-tests/generated/InferType/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ItemList/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/Label/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/Label/Label.ql linguist-generated
/test/extractor-tests/generated/Label/Label_getLifetime.ql linguist-generated
/test/extractor-tests/generated/LetElse/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/LetExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/LetStmt/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/LetExpr/LetExpr.ql linguist-generated
/test/extractor-tests/generated/LetExpr/LetExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/LetExpr/LetExpr_getExpr.ql linguist-generated
/test/extractor-tests/generated/LetExpr/LetExpr_getPat.ql linguist-generated
/test/extractor-tests/generated/LetStmt/LetStmt.ql linguist-generated
/test/extractor-tests/generated/LetStmt/LetStmt_getAttr.ql linguist-generated
/test/extractor-tests/generated/LetStmt/LetStmt_getInitializer.ql linguist-generated
/test/extractor-tests/generated/LetStmt/LetStmt_getLetElse.ql linguist-generated
/test/extractor-tests/generated/LetStmt/LetStmt_getPat.ql linguist-generated
/test/extractor-tests/generated/LetStmt/LetStmt_getTy.ql linguist-generated
/test/extractor-tests/generated/Lifetime/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/LifetimeArg/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/LifetimeParam/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/LiteralExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/LiteralPat/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/LoopExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/LiteralExpr/LiteralExpr.ql linguist-generated
/test/extractor-tests/generated/LiteralExpr/LiteralExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/LiteralExpr/LiteralExpr_getTextValue.ql linguist-generated
/test/extractor-tests/generated/LiteralPat/LiteralPat.ql linguist-generated
/test/extractor-tests/generated/LiteralPat/LiteralPat_getLiteral.ql linguist-generated
/test/extractor-tests/generated/LoopExpr/LoopExpr.ql linguist-generated
/test/extractor-tests/generated/LoopExpr/LoopExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/LoopExpr/LoopExpr_getLabel.ql linguist-generated
/test/extractor-tests/generated/LoopExpr/LoopExpr_getLoopBody.ql linguist-generated
/test/extractor-tests/generated/MacroCall/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/MacroDef/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/MacroExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/MacroPat/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/MacroRules/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/MacroType/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/MatchArm/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/MatchArm/MatchArm.ql linguist-generated
/test/extractor-tests/generated/MatchArm/MatchArm_getAttr.ql linguist-generated
/test/extractor-tests/generated/MatchArm/MatchArm_getExpr.ql linguist-generated
/test/extractor-tests/generated/MatchArm/MatchArm_getGuard.ql linguist-generated
/test/extractor-tests/generated/MatchArm/MatchArm_getPat.ql linguist-generated
/test/extractor-tests/generated/MatchArmList/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/MatchExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/MatchExpr/MatchExpr.ql linguist-generated
/test/extractor-tests/generated/MatchExpr/MatchExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/MatchExpr/MatchExpr_getExpr.ql linguist-generated
/test/extractor-tests/generated/MatchExpr/MatchExpr_getMatchArmList.ql linguist-generated
/test/extractor-tests/generated/MatchGuard/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/Meta/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/MethodCallExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/Module/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.ql linguist-generated
/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getArgList.ql linguist-generated
/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getGenericArgList.ql linguist-generated
/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getNameRef.ql linguist-generated
/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getReceiver.ql linguist-generated
/test/extractor-tests/generated/Module/Module.ql linguist-generated
/test/extractor-tests/generated/Module/Module_getAttr.ql linguist-generated
/test/extractor-tests/generated/Module/Module_getItemList.ql linguist-generated
/test/extractor-tests/generated/Module/Module_getName.ql linguist-generated
/test/extractor-tests/generated/Module/Module_getVisibility.ql linguist-generated
/test/extractor-tests/generated/Name/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/NameRef/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/NeverType/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/OffsetOfExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/OrPat/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/OffsetOfExpr/OffsetOfExpr.ql linguist-generated
/test/extractor-tests/generated/OffsetOfExpr/OffsetOfExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/OffsetOfExpr/OffsetOfExpr_getField.ql linguist-generated
/test/extractor-tests/generated/OffsetOfExpr/OffsetOfExpr_getTy.ql linguist-generated
/test/extractor-tests/generated/OrPat/OrPat.ql linguist-generated
/test/extractor-tests/generated/OrPat/OrPat_getPat.ql linguist-generated
/test/extractor-tests/generated/Param/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ParamList/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ParenExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ParenPat/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ParenType/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/Path/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/PathExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/PathPat/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/Path/Path.ql linguist-generated
/test/extractor-tests/generated/Path/Path_getPart.ql linguist-generated
/test/extractor-tests/generated/Path/Path_getQualifier.ql linguist-generated
/test/extractor-tests/generated/PathExpr/PathExpr.ql linguist-generated
/test/extractor-tests/generated/PathExpr/PathExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/PathExpr/PathExpr_getPath.ql linguist-generated
/test/extractor-tests/generated/PathPat/PathPat.ql linguist-generated
/test/extractor-tests/generated/PathPat/PathPat_getPath.ql linguist-generated
/test/extractor-tests/generated/PathSegment/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/PathType/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/PrefixExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/PrefixExpr/PrefixExpr.ql linguist-generated
/test/extractor-tests/generated/PrefixExpr/PrefixExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/PrefixExpr/PrefixExpr_getExpr.ql linguist-generated
/test/extractor-tests/generated/PrefixExpr/PrefixExpr_getOperatorName.ql linguist-generated
/test/extractor-tests/generated/PtrType/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/RangeExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/RangePat/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/RecordExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/RecordExprField/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/RangeExpr/RangeExpr.ql linguist-generated
/test/extractor-tests/generated/RangeExpr/RangeExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/RangeExpr/RangeExpr_getEnd.ql linguist-generated
/test/extractor-tests/generated/RangeExpr/RangeExpr_getOperatorName.ql linguist-generated
/test/extractor-tests/generated/RangeExpr/RangeExpr_getStart.ql linguist-generated
/test/extractor-tests/generated/RangePat/RangePat.ql linguist-generated
/test/extractor-tests/generated/RangePat/RangePat_getEnd.ql linguist-generated
/test/extractor-tests/generated/RangePat/RangePat_getOperatorName.ql linguist-generated
/test/extractor-tests/generated/RangePat/RangePat_getStart.ql linguist-generated
/test/extractor-tests/generated/RecordExpr/RecordExpr.ql linguist-generated
/test/extractor-tests/generated/RecordExpr/RecordExpr_getPath.ql linguist-generated
/test/extractor-tests/generated/RecordExpr/RecordExpr_getRecordExprFieldList.ql linguist-generated
/test/extractor-tests/generated/RecordExprField/RecordExprField.ql linguist-generated
/test/extractor-tests/generated/RecordExprField/RecordExprField_getAttr.ql linguist-generated
/test/extractor-tests/generated/RecordExprField/RecordExprField_getExpr.ql linguist-generated
/test/extractor-tests/generated/RecordExprField/RecordExprField_getNameRef.ql linguist-generated
/test/extractor-tests/generated/RecordExprFieldList/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/RecordField/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/RecordFieldList/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/RecordPat/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/RecordPatField/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/RecordPat/RecordPat.ql linguist-generated
/test/extractor-tests/generated/RecordPat/RecordPat_getPath.ql linguist-generated
/test/extractor-tests/generated/RecordPat/RecordPat_getRecordPatFieldList.ql linguist-generated
/test/extractor-tests/generated/RecordPatField/RecordPatField.ql linguist-generated
/test/extractor-tests/generated/RecordPatField/RecordPatField_getAttr.ql linguist-generated
/test/extractor-tests/generated/RecordPatField/RecordPatField_getNameRef.ql linguist-generated
/test/extractor-tests/generated/RecordPatField/RecordPatField_getPat.ql linguist-generated
/test/extractor-tests/generated/RecordPatFieldList/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/RefExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/RefPat/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/RefExpr/RefExpr.ql linguist-generated
/test/extractor-tests/generated/RefExpr/RefExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/RefExpr/RefExpr_getExpr.ql linguist-generated
/test/extractor-tests/generated/RefPat/RefPat.ql linguist-generated
/test/extractor-tests/generated/RefPat/RefPat_getPat.ql linguist-generated
/test/extractor-tests/generated/RefType/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/Rename/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/RestPat/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/RetType/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ReturnExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/ReturnExpr/ReturnExpr.ql linguist-generated
/test/extractor-tests/generated/ReturnExpr/ReturnExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/ReturnExpr/ReturnExpr_getExpr.ql linguist-generated
/test/extractor-tests/generated/ReturnTypeSyntax/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/SelfParam/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/SlicePat/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/SlicePat/SlicePat.ql linguist-generated
/test/extractor-tests/generated/SlicePat/SlicePat_getPat.ql linguist-generated
/test/extractor-tests/generated/SliceType/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/SourceFile/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/Static/MISSING_SOURCE.txt linguist-generated
@@ -723,18 +846,24 @@
/test/extractor-tests/generated/Trait/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/TraitAlias/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/TryExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/TupleExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/TupleExpr/TupleExpr.ql linguist-generated
/test/extractor-tests/generated/TupleExpr/TupleExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/TupleExpr/TupleExpr_getField.ql linguist-generated
/test/extractor-tests/generated/TupleField/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/TupleFieldList/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/TuplePat/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/TupleStructPat/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/TuplePat/TuplePat.ql linguist-generated
/test/extractor-tests/generated/TuplePat/TuplePat_getField.ql linguist-generated
/test/extractor-tests/generated/TupleStructPat/TupleStructPat.ql linguist-generated
/test/extractor-tests/generated/TupleStructPat/TupleStructPat_getField.ql linguist-generated
/test/extractor-tests/generated/TupleStructPat/TupleStructPat_getPath.ql linguist-generated
/test/extractor-tests/generated/TupleType/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/TypeAlias/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/TypeArg/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/TypeBound/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/TypeBoundList/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/TypeParam/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/UnderscoreExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/UnderscoreExpr/UnderscoreExpr.ql linguist-generated
/test/extractor-tests/generated/UnderscoreExpr/UnderscoreExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/Union/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/Use/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/UseTree/MISSING_SOURCE.txt linguist-generated
@@ -745,6 +874,10 @@
/test/extractor-tests/generated/WhereClause/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/WherePred/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/WhileExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/WildcardPat/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/YeetExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/YieldExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/WildcardPat/WildcardPat.ql linguist-generated
/test/extractor-tests/generated/YeetExpr/YeetExpr.ql linguist-generated
/test/extractor-tests/generated/YeetExpr/YeetExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/YeetExpr/YeetExpr_getExpr.ql linguist-generated
/test/extractor-tests/generated/YieldExpr/YieldExpr.ql linguist-generated
/test/extractor-tests/generated/YieldExpr/YieldExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/YieldExpr/YieldExpr_getExpr.ql linguist-generated

View File

@@ -7,4 +7,11 @@ private import internal.ArrayExprImpl
import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
/**
* An array expression. For example:
* ```rust
* [1, 2, 3];
* [1; 10];
* ```
*/
final class ArrayExpr = Impl::ArrayExpr;

View File

@@ -7,4 +7,12 @@ private import internal.AsmExprImpl
import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
/**
* An inline assembly expression. For example:
* ```rust
* unsafe {
* builtin # asm(_);
* }
* ```
*/
final class AsmExpr = Impl::AsmExpr;

View File

@@ -7,4 +7,13 @@ private import internal.AwaitExprImpl
import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
/**
* An `await` expression. For example:
* ```rust
* async {
* let x = foo().await;
* x
* }
* ```
*/
final class AwaitExpr = Impl::AwaitExpr;

View File

@@ -7,4 +7,16 @@ private import internal.BecomeExprImpl
import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
/**
* A `become` expression. For example:
* ```rust
* fn fact_a(n: i32, a: i32) -> i32 {
* if n == 0 {
* a
* } else {
* become fact_a(n - 1, n * a)
* }
* }
* ```
*/
final class BecomeExpr = Impl::BecomeExpr;

View File

@@ -7,4 +7,14 @@ private import internal.BinaryExprImpl
import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
/**
* A binary operation expression. For example:
* ```rust
* x + y;
* x && y;
* x <= y;
* x = y;
* x += y;
* ```
*/
final class BinaryExpr = Impl::BinaryExpr;

View File

@@ -9,4 +9,18 @@ import codeql.rust.elements.Expr
import codeql.rust.elements.Label
import codeql.rust.elements.StmtList
/**
* A block expression. For example:
* ```rust
* {
* let x = 42;
* }
* ```
* ```rust
* 'label: {
* let x = 42;
* x
* }
* ```
*/
final class BlockExpr = Impl::BlockExpr;

View File

@@ -6,4 +6,13 @@
private import internal.BoxPatImpl
import codeql.rust.elements.Pat
/**
* A box pattern. For example:
* ```rust
* match x {
* box Option::Some(y) => y,
* box Option::None => 0,
* };
* ```
*/
final class BoxPat = Impl::BoxPat;

View File

@@ -8,4 +8,21 @@ import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
import codeql.rust.elements.Lifetime
/**
* A break expression. For example:
* ```rust
* loop {
* if not_ready() {
* break;
* }
* }
* ```
* ```rust
* let x = 'label: loop {
* if done() {
* break 'label 42;
* }
* };
* ```
*/
final class BreakExpr = Impl::BreakExpr;

View File

@@ -8,4 +8,13 @@ import codeql.rust.elements.ArgList
import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
/**
* A function call expression. For example:
* ```rust
* foo(42);
* foo::<u32, u64>(42);
* foo[0](42);
* foo(1) = 4;
* ```
*/
final class CallExpr = Impl::CallExpr;

View File

@@ -8,4 +8,10 @@ import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
import codeql.rust.elements.TypeRef
/**
* A cast expression. For example:
* ```rust
* value as u64;
* ```
*/
final class CastExpr = Impl::CastExpr;

View File

@@ -10,4 +10,16 @@ import codeql.rust.elements.Expr
import codeql.rust.elements.ParamList
import codeql.rust.elements.RetType
/**
* A closure expression. For example:
* ```rust
* |x| x + 1;
* move |x: i32| -> i32 { x + 1 };
* async |x: i32, y| x + y;
* #[coroutine]
* |x| yield x;
* #[coroutine]
* static |x| yield x;
* ```
*/
final class ClosureExpr = Impl::ClosureExpr;

View File

@@ -7,4 +7,13 @@ private import internal.ConstBlockPatImpl
import codeql.rust.elements.BlockExpr
import codeql.rust.elements.Pat
/**
* A const block pattern. For example:
* ```rust
* match x {
* const { 1 + 2 + 3 } => "ok",
* _ => "fail",
* };
* ```
*/
final class ConstBlockPat = Impl::ConstBlockPat;

View File

@@ -8,4 +8,21 @@ import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
import codeql.rust.elements.Lifetime
/**
* A continue expression. For example:
* ```rust
* loop {
* if not_ready() {
* continue;
* }
* }
* ```
* ```rust
* 'label: loop {
* if not_ready() {
* continue 'label;
* }
* }
* ```
*/
final class ContinueExpr = Impl::ContinueExpr;

View File

@@ -6,4 +6,7 @@
private import internal.ExprImpl
import codeql.rust.elements.AstNode
/**
* The base class for expressions.
*/
final class Expr = Impl::Expr;

View File

@@ -7,4 +7,12 @@ private import internal.ExprStmtImpl
import codeql.rust.elements.Expr
import codeql.rust.elements.Stmt
/**
* An expression statement. For example:
* ```rust
* start();
* finish()
* use std::env;
* ```
*/
final class ExprStmt = Impl::ExprStmt;

View File

@@ -8,4 +8,10 @@ import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
import codeql.rust.elements.NameRef
/**
* A field access expression. For example:
* ```rust
* x.foo
* ```
*/
final class FieldExpr = Impl::FieldExpr;

View File

@@ -17,4 +17,16 @@ import codeql.rust.elements.RetType
import codeql.rust.elements.Visibility
import codeql.rust.elements.WhereClause
/**
* A function declaration. For example
* ```rust
* fn foo(x: u32) -> u64 {(x + 1).into()}
* ```
* A function declaration within a trait might not have a body:
* ```rust
* trait Trait {
* fn bar();
* }
* ```
*/
final class Function = Impl::Function;

View File

@@ -7,4 +7,10 @@ private import internal.GenericArgListImpl
import codeql.rust.elements.AstNode
import codeql.rust.elements.GenericArg
/**
* The base class for generic arguments.
* ```rust
* x.foo::<u32, u64>(42);
* ```
*/
final class GenericArgList = Impl::GenericArgList;

View File

@@ -8,4 +8,19 @@ import codeql.rust.elements.Attr
import codeql.rust.elements.Name
import codeql.rust.elements.Pat
/**
* A binding pattern. For example:
* ```rust
* match x {
* Option::Some(y) => y,
* Option::None => 0,
* };
* ```
* ```rust
* match x {
* y@Option::Some(_) => y,
* Option::None => 0,
* };
* ```
*/
final class IdentPat = Impl::IdentPat;

View File

@@ -8,4 +8,19 @@ import codeql.rust.elements.Attr
import codeql.rust.elements.BlockExpr
import codeql.rust.elements.Expr
/**
* An `if` expression. For example:
* ```rust
* if x == 42 {
* println!("that's the answer");
* }
* ```
* ```rust
* let y = if x > 0 {
* 1
* } else {
* 0
* }
* ```
*/
final class IfExpr = Impl::IfExpr;

View File

@@ -7,4 +7,11 @@ private import internal.IndexExprImpl
import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
/**
* An index expression. For example:
* ```rust
* list[42];
* list[42] = 1;
* ```
*/
final class IndexExpr = Impl::IndexExpr;

View File

@@ -7,4 +7,13 @@ private import internal.LabelImpl
import codeql.rust.elements.AstNode
import codeql.rust.elements.Lifetime
/**
* A label. For example:
* ```rust
* 'label: loop {
* println!("Hello, world (once)!");
* break 'label;
* };
* ```
*/
final class Label = Impl::Label;

View File

@@ -8,4 +8,12 @@ import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
import codeql.rust.elements.Pat
/**
* A `let` expression. For example:
* ```rust
* if let Some(x) = maybe_some {
* println!("{}", x);
* }
* ```
*/
final class LetExpr = Impl::LetExpr;

View File

@@ -11,4 +11,17 @@ import codeql.rust.elements.Pat
import codeql.rust.elements.Stmt
import codeql.rust.elements.TypeRef
/**
* A let statement. For example:
* ```rust
* let x = 42;
* let x: i32 = 42;
* let x: i32;
* let x;
* let (x, y) = (1, 2);
* let Some(x) = std::env::var("FOO") else {
* return;
* };
* ```
*/
final class LetStmt = Impl::LetStmt;

View File

@@ -7,4 +7,17 @@ private import internal.LiteralExprImpl
import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
/**
* A literal expression. For example:
* ```rust
* 42;
* 42.0;
* "Hello, world!";
* b"Hello, world!";
* 'x';
* b'x';
* r"Hello, world!";
* true;
* ```
*/
final class LiteralExpr = Impl::LiteralExpr;

View File

@@ -7,4 +7,13 @@ private import internal.LiteralPatImpl
import codeql.rust.elements.LiteralExpr
import codeql.rust.elements.Pat
/**
* A literal pattern. For example:
* ```rust
* match x {
* 42 => "ok",
* _ => "fail",
* }
* ```
*/
final class LiteralPat = Impl::LiteralPat;

View File

@@ -9,4 +9,28 @@ import codeql.rust.elements.BlockExpr
import codeql.rust.elements.Expr
import codeql.rust.elements.Label
/**
* A loop expression. For example:
* ```rust
* loop {
* println!("Hello, world (again)!");
* };
* ```
* ```rust
* 'label: loop {
* println!("Hello, world (once)!");
* break 'label;
* };
* ```
* ```rust
* let mut x = 0;
* loop {
* if x < 10 {
* x += 1;
* } else {
* break;
* }
* };
* ```
*/
final class LoopExpr = Impl::LoopExpr;

View File

@@ -10,4 +10,19 @@ import codeql.rust.elements.Expr
import codeql.rust.elements.MatchGuard
import codeql.rust.elements.Pat
/**
* A match arm. For example:
* ```rust
* match x {
* Option::Some(y) => y,
* Option::None => 0,
* };
* ```
* ```rust
* match x {
* Some(y) if y != 0 => 1 / y,
* _ => 0,
* };
* ```
*/
final class MatchArm = Impl::MatchArm;

View File

@@ -8,4 +8,19 @@ import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
import codeql.rust.elements.MatchArmList
/**
* A match expression. For example:
* ```rust
* match x {
* Option::Some(y) => y,
* Option::None => 0,
* }
* ```
* ```rust
* match x {
* Some(y) if y != 0 => 1 / y,
* _ => 0,
* }
* ```
*/
final class MatchExpr = Impl::MatchExpr;

View File

@@ -10,4 +10,11 @@ import codeql.rust.elements.Expr
import codeql.rust.elements.GenericArgList
import codeql.rust.elements.NameRef
/**
* A method call expression. For example:
* ```rust
* x.foo(42);
* x.foo::<u32, u64>(42);
* ```
*/
final class MethodCallExpr = Impl::MethodCallExpr;

View File

@@ -10,4 +10,15 @@ import codeql.rust.elements.ItemList
import codeql.rust.elements.Name
import codeql.rust.elements.Visibility
/**
* A module declaration. For example:
* ```rust
* mod foo;
* ```
* ```rust
* mod bar {
* pub fn baz() {}
* }
* ```
*/
final class Module = Impl::Module;

View File

@@ -9,4 +9,10 @@ import codeql.rust.elements.Expr
import codeql.rust.elements.NameRef
import codeql.rust.elements.TypeRef
/**
* An `offset_of` expression. For example:
* ```rust
* builtin # offset_of(Struct, field);
* ```
*/
final class OffsetOfExpr = Impl::OffsetOfExpr;

View File

@@ -6,4 +6,12 @@
private import internal.OrPatImpl
import codeql.rust.elements.Pat
/**
* An or pattern. For example:
* ```rust
* match x {
* Option::Some(y) | Option::None => 0,
* }
* ```
*/
final class OrPat = Impl::OrPat;

View File

@@ -6,4 +6,7 @@
private import internal.PatImpl
import codeql.rust.elements.AstNode
/**
* The base class for patterns.
*/
final class Pat = Impl::Pat;

View File

@@ -7,4 +7,10 @@ private import internal.PathImpl
import codeql.rust.elements.AstNode
import codeql.rust.elements.PathSegment
/**
* A path. For example:
* ```rust
* foo::bar;
* ```
*/
final class Path = Impl::Path;

View File

@@ -8,4 +8,13 @@ import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
import codeql.rust.elements.Path
/**
* A path expression. For example:
* ```rust
* let x = variable;
* let x = foo::bar;
* let y = <T>::foo;
* let z = <TypeRef as Trait>::foo;
* ```
*/
final class PathExpr = Impl::PathExpr;

View File

@@ -7,4 +7,13 @@ private import internal.PathPatImpl
import codeql.rust.elements.Pat
import codeql.rust.elements.Path
/**
* A path pattern. For example:
* ```rust
* match x {
* Foo::Bar => "ok",
* _ => "fail",
* }
* ```
*/
final class PathPat = Impl::PathPat;

View File

@@ -7,4 +7,12 @@ private import internal.PrefixExprImpl
import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
/**
* A unary operation expression. For example:
* ```rust
* let x = -42
* let y = !true
* let z = *ptr
* ```
*/
final class PrefixExpr = Impl::PrefixExpr;

View File

@@ -7,4 +7,15 @@ private import internal.RangeExprImpl
import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
/**
* A range expression. For example:
* ```rust
* let x = 1..=10;
* let x = 1..10;
* let x = 10..;
* let x = ..10;
* let x = ..=10;
* let x = ..;
* ```
*/
final class RangeExpr = Impl::RangeExpr;

View File

@@ -6,4 +6,14 @@
private import internal.RangePatImpl
import codeql.rust.elements.Pat
/**
* A range pattern. For example:
* ```rust
* match x {
* ..15 => "too cold",
* 16..=25 => "just right",
* 26.. => "too hot",
* }
* ```
*/
final class RangePat = Impl::RangePat;

View File

@@ -8,4 +8,13 @@ import codeql.rust.elements.Expr
import codeql.rust.elements.Path
import codeql.rust.elements.RecordExprFieldList
/**
* A record expression. For example:
* ```rust
* let first = Foo { a: 1, b: 2 };
* let second = Foo { a: 2, ..first };
* Foo { a: 1, b: 2 }[2] = 10;
* Foo { .. } = second;
* ```
*/
final class RecordExpr = Impl::RecordExpr;

View File

@@ -9,4 +9,10 @@ import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
import codeql.rust.elements.NameRef
/**
* A field in a record expression. For example `a: 1` in:
* ```rust
* Foo { a: 1, b: 2 };
* ```
*/
final class RecordExprField = Impl::RecordExprField;

View File

@@ -8,4 +8,13 @@ import codeql.rust.elements.Pat
import codeql.rust.elements.Path
import codeql.rust.elements.RecordPatFieldList
/**
* A record pattern. For example:
* ```rust
* match x {
* Foo { a: 1, b: 2 } => "ok",
* Foo { .. } => "fail",
* }
* ```
*/
final class RecordPat = Impl::RecordPat;

View File

@@ -9,4 +9,10 @@ import codeql.rust.elements.Attr
import codeql.rust.elements.NameRef
import codeql.rust.elements.Pat
/**
* A field in a record pattern. For example `a: 1` in:
* ```rust
* let Foo { a: 1, b: 2 } = foo;
* ```
*/
final class RecordPatField = Impl::RecordPatField;

View File

@@ -7,4 +7,13 @@ private import internal.RefExprImpl
import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
/**
* A reference expression. For example:
* ```rust
* let ref_const = &foo;
* let ref_mut = &mut foo;
* let raw_const: &mut i32 = &raw const foo;
* let raw_mut: &mut i32 = &raw mut foo;
* ```
*/
final class RefExpr = Impl::RefExpr;

View File

@@ -6,4 +6,13 @@
private import internal.RefPatImpl
import codeql.rust.elements.Pat
/**
* A reference pattern. For example:
* ```rust
* match x {
* &mut Option::Some(y) => y,
* &Option::None => 0,
* };
* ```
*/
final class RefPat = Impl::RefPat;

View File

@@ -7,4 +7,17 @@ private import internal.ReturnExprImpl
import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
/**
* A return expression. For example:
* ```rust
* fn some_value() -> i32 {
* return 42;
* }
* ```
* ```rust
* fn no_value() -> () {
* return;
* }
* ```
*/
final class ReturnExpr = Impl::ReturnExpr;

View File

@@ -6,4 +6,14 @@
private import internal.SlicePatImpl
import codeql.rust.elements.Pat
/**
* A slice pattern. For example:
* ```rust
* match x {
* [1, 2, 3, 4, 5] => "ok",
* [1, 2, ..] => "fail",
* [x, y, .., z, 7] => "fail",
* }
* ```
*/
final class SlicePat = Impl::SlicePat;

View File

@@ -6,4 +6,7 @@
private import internal.StmtImpl
import codeql.rust.elements.AstNode
/**
* The base class for statements.
*/
final class Stmt = Impl::Stmt;

View File

@@ -7,4 +7,11 @@ private import internal.TupleExprImpl
import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
/**
* A tuple expression. For example:
* ```rust
* (1, "one");
* (2, "two")[0] = 3;
* ```
*/
final class TupleExpr = Impl::TupleExpr;

View File

@@ -6,4 +6,11 @@
private import internal.TuplePatImpl
import codeql.rust.elements.Pat
/**
* A tuple pattern. For example:
* ```rust
* let (x, y) = (1, 2);
* let (a, b, .., z) = (1, 2, 3, 4, 5);
* ```
*/
final class TuplePat = Impl::TuplePat;

View File

@@ -7,4 +7,14 @@ private import internal.TupleStructPatImpl
import codeql.rust.elements.Pat
import codeql.rust.elements.Path
/**
* A tuple struct pattern. For example:
* ```rust
* match x {
* Tuple("a", 1, 2, 3) => "great",
* Tuple(.., 3) => "fine",
* Tuple(..) => "fail",
* };
* ```
*/
final class TupleStructPat = Impl::TupleStructPat;

View File

@@ -6,4 +6,12 @@
private import internal.TypeRefImpl
import codeql.rust.elements.AstNode
/**
* The base class for type references.
* ```rust
* let x: i32;
* let y: Vec<i32>;
* let z: Option<i32>;
* ```
*/
final class TypeRef = Impl::TypeRef;

View File

@@ -7,4 +7,10 @@ private import internal.UnderscoreExprImpl
import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
/**
* An underscore expression. For example:
* ```rust
* _ = 42;
* ```
*/
final class UnderscoreExpr = Impl::UnderscoreExpr;

View File

@@ -6,4 +6,10 @@
private import internal.WildcardPatImpl
import codeql.rust.elements.Pat
/**
* A wildcard pattern. For example:
* ```rust
* let _ = 42;
* ```
*/
final class WildcardPat = Impl::WildcardPat;

View File

@@ -7,4 +7,12 @@ private import internal.YeetExprImpl
import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
/**
* A `yeet` expression. For example:
* ```rust
* if x < size {
* do yeet "index out of bounds";
* }
* ```
*/
final class YeetExpr = Impl::YeetExpr;

View File

@@ -7,4 +7,13 @@ private import internal.YieldExprImpl
import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
/**
* A `yield` expression. For example:
* ```rust
* let one = #[coroutine]
* || {
* yield 1;
* };
* ```
*/
final class YieldExpr = Impl::YieldExpr;

View File

@@ -12,5 +12,12 @@ private import codeql.rust.elements.internal.generated.ArrayExpr
* be referenced directly.
*/
module Impl {
/**
* An array expression. For example:
* ```rust
* [1, 2, 3];
* [1; 10];
* ```
*/
class ArrayExpr extends Generated::ArrayExpr { }
}

View File

@@ -12,5 +12,13 @@ private import codeql.rust.elements.internal.generated.AsmExpr
* be referenced directly.
*/
module Impl {
/**
* An inline assembly expression. For example:
* ```rust
* unsafe {
* builtin # asm(_);
* }
* ```
*/
class AsmExpr extends Generated::AsmExpr { }
}

View File

@@ -12,5 +12,14 @@ private import codeql.rust.elements.internal.generated.AwaitExpr
* be referenced directly.
*/
module Impl {
/**
* An `await` expression. For example:
* ```rust
* async {
* let x = foo().await;
* x
* }
* ```
*/
class AwaitExpr extends Generated::AwaitExpr { }
}

View File

@@ -12,5 +12,17 @@ private import codeql.rust.elements.internal.generated.BecomeExpr
* be referenced directly.
*/
module Impl {
/**
* A `become` expression. For example:
* ```rust
* fn fact_a(n: i32, a: i32) -> i32 {
* if n == 0 {
* a
* } else {
* become fact_a(n - 1, n * a)
* }
* }
* ```
*/
class BecomeExpr extends Generated::BecomeExpr { }
}

View File

@@ -12,5 +12,15 @@ private import codeql.rust.elements.internal.generated.BinaryExpr
* be referenced directly.
*/
module Impl {
/**
* A binary operation expression. For example:
* ```rust
* x + y;
* x && y;
* x <= y;
* x = y;
* x += y;
* ```
*/
class BinaryExpr extends Generated::BinaryExpr { }
}

View File

@@ -12,5 +12,19 @@ private import codeql.rust.elements.internal.generated.BlockExpr
* be referenced directly.
*/
module Impl {
/**
* A block expression. For example:
* ```rust
* {
* let x = 42;
* }
* ```
* ```rust
* 'label: {
* let x = 42;
* x
* }
* ```
*/
class BlockExpr extends Generated::BlockExpr { }
}

View File

@@ -12,5 +12,14 @@ private import codeql.rust.elements.internal.generated.BoxPat
* be referenced directly.
*/
module Impl {
/**
* A box pattern. For example:
* ```rust
* match x {
* box Option::Some(y) => y,
* box Option::None => 0,
* };
* ```
*/
class BoxPat extends Generated::BoxPat { }
}

View File

@@ -12,5 +12,22 @@ private import codeql.rust.elements.internal.generated.BreakExpr
* be referenced directly.
*/
module Impl {
/**
* A break expression. For example:
* ```rust
* loop {
* if not_ready() {
* break;
* }
* }
* ```
* ```rust
* let x = 'label: loop {
* if done() {
* break 'label 42;
* }
* };
* ```
*/
class BreakExpr extends Generated::BreakExpr { }
}

View File

@@ -12,5 +12,14 @@ private import codeql.rust.elements.internal.generated.CallExpr
* be referenced directly.
*/
module Impl {
/**
* A function call expression. For example:
* ```rust
* foo(42);
* foo::<u32, u64>(42);
* foo[0](42);
* foo(1) = 4;
* ```
*/
class CallExpr extends Generated::CallExpr { }
}

View File

@@ -12,5 +12,11 @@ private import codeql.rust.elements.internal.generated.CastExpr
* be referenced directly.
*/
module Impl {
/**
* A cast expression. For example:
* ```rust
* value as u64;
* ```
*/
class CastExpr extends Generated::CastExpr { }
}

View File

@@ -12,5 +12,17 @@ private import codeql.rust.elements.internal.generated.ClosureExpr
* be referenced directly.
*/
module Impl {
/**
* A closure expression. For example:
* ```rust
* |x| x + 1;
* move |x: i32| -> i32 { x + 1 };
* async |x: i32, y| x + y;
* #[coroutine]
* |x| yield x;
* #[coroutine]
* static |x| yield x;
* ```
*/
class ClosureExpr extends Generated::ClosureExpr { }
}

View File

@@ -12,5 +12,14 @@ private import codeql.rust.elements.internal.generated.ConstBlockPat
* be referenced directly.
*/
module Impl {
/**
* A const block pattern. For example:
* ```rust
* match x {
* const { 1 + 2 + 3 } => "ok",
* _ => "fail",
* };
* ```
*/
class ConstBlockPat extends Generated::ConstBlockPat { }
}

View File

@@ -12,5 +12,22 @@ private import codeql.rust.elements.internal.generated.ContinueExpr
* be referenced directly.
*/
module Impl {
/**
* A continue expression. For example:
* ```rust
* loop {
* if not_ready() {
* continue;
* }
* }
* ```
* ```rust
* 'label: loop {
* if not_ready() {
* continue 'label;
* }
* }
* ```
*/
class ContinueExpr extends Generated::ContinueExpr { }
}

View File

@@ -12,5 +12,8 @@ private import codeql.rust.elements.internal.generated.Expr
* be referenced directly.
*/
module Impl {
/**
* The base class for expressions.
*/
class Expr extends Generated::Expr { }
}

View File

@@ -12,5 +12,13 @@ private import codeql.rust.elements.internal.generated.ExprStmt
* be referenced directly.
*/
module Impl {
/**
* An expression statement. For example:
* ```rust
* start();
* finish()
* use std::env;
* ```
*/
class ExprStmt extends Generated::ExprStmt { }
}

View File

@@ -12,5 +12,11 @@ private import codeql.rust.elements.internal.generated.FieldExpr
* be referenced directly.
*/
module Impl {
/**
* A field access expression. For example:
* ```rust
* x.foo
* ```
*/
class FieldExpr extends Generated::FieldExpr { }
}

View File

@@ -12,5 +12,11 @@ private import codeql.rust.elements.internal.generated.GenericArgList
* be referenced directly.
*/
module Impl {
/**
* The base class for generic arguments.
* ```rust
* x.foo::<u32, u64>(42);
* ```
*/
class GenericArgList extends Generated::GenericArgList { }
}

View File

@@ -12,5 +12,20 @@ private import codeql.rust.elements.internal.generated.IdentPat
* be referenced directly.
*/
module Impl {
/**
* A binding pattern. For example:
* ```rust
* match x {
* Option::Some(y) => y,
* Option::None => 0,
* };
* ```
* ```rust
* match x {
* y@Option::Some(_) => y,
* Option::None => 0,
* };
* ```
*/
class IdentPat extends Generated::IdentPat { }
}

View File

@@ -12,5 +12,20 @@ private import codeql.rust.elements.internal.generated.IfExpr
* be referenced directly.
*/
module Impl {
/**
* An `if` expression. For example:
* ```rust
* if x == 42 {
* println!("that's the answer");
* }
* ```
* ```rust
* let y = if x > 0 {
* 1
* } else {
* 0
* }
* ```
*/
class IfExpr extends Generated::IfExpr { }
}

View File

@@ -12,5 +12,12 @@ private import codeql.rust.elements.internal.generated.IndexExpr
* be referenced directly.
*/
module Impl {
/**
* An index expression. For example:
* ```rust
* list[42];
* list[42] = 1;
* ```
*/
class IndexExpr extends Generated::IndexExpr { }
}

View File

@@ -12,5 +12,14 @@ private import codeql.rust.elements.internal.generated.Label
* be referenced directly.
*/
module Impl {
/**
* A label. For example:
* ```rust
* 'label: loop {
* println!("Hello, world (once)!");
* break 'label;
* };
* ```
*/
class Label extends Generated::Label { }
}

View File

@@ -12,5 +12,13 @@ private import codeql.rust.elements.internal.generated.LetExpr
* be referenced directly.
*/
module Impl {
/**
* A `let` expression. For example:
* ```rust
* if let Some(x) = maybe_some {
* println!("{}", x);
* }
* ```
*/
class LetExpr extends Generated::LetExpr { }
}

View File

@@ -12,5 +12,18 @@ private import codeql.rust.elements.internal.generated.LetStmt
* be referenced directly.
*/
module Impl {
/**
* A let statement. For example:
* ```rust
* let x = 42;
* let x: i32 = 42;
* let x: i32;
* let x;
* let (x, y) = (1, 2);
* let Some(x) = std::env::var("FOO") else {
* return;
* };
* ```
*/
class LetStmt extends Generated::LetStmt { }
}

View File

@@ -12,5 +12,18 @@ private import codeql.rust.elements.internal.generated.LiteralExpr
* be referenced directly.
*/
module Impl {
/**
* A literal expression. For example:
* ```rust
* 42;
* 42.0;
* "Hello, world!";
* b"Hello, world!";
* 'x';
* b'x';
* r"Hello, world!";
* true;
* ```
*/
class LiteralExpr extends Generated::LiteralExpr { }
}

View File

@@ -12,5 +12,14 @@ private import codeql.rust.elements.internal.generated.LiteralPat
* be referenced directly.
*/
module Impl {
/**
* A literal pattern. For example:
* ```rust
* match x {
* 42 => "ok",
* _ => "fail",
* }
* ```
*/
class LiteralPat extends Generated::LiteralPat { }
}

View File

@@ -12,5 +12,29 @@ private import codeql.rust.elements.internal.generated.LoopExpr
* be referenced directly.
*/
module Impl {
/**
* A loop expression. For example:
* ```rust
* loop {
* println!("Hello, world (again)!");
* };
* ```
* ```rust
* 'label: loop {
* println!("Hello, world (once)!");
* break 'label;
* };
* ```
* ```rust
* let mut x = 0;
* loop {
* if x < 10 {
* x += 1;
* } else {
* break;
* }
* };
* ```
*/
class LoopExpr extends Generated::LoopExpr { }
}

View File

@@ -12,5 +12,20 @@ private import codeql.rust.elements.internal.generated.MatchArm
* be referenced directly.
*/
module Impl {
/**
* A match arm. For example:
* ```rust
* match x {
* Option::Some(y) => y,
* Option::None => 0,
* };
* ```
* ```rust
* match x {
* Some(y) if y != 0 => 1 / y,
* _ => 0,
* };
* ```
*/
class MatchArm extends Generated::MatchArm { }
}

View File

@@ -12,5 +12,20 @@ private import codeql.rust.elements.internal.generated.MatchExpr
* be referenced directly.
*/
module Impl {
/**
* A match expression. For example:
* ```rust
* match x {
* Option::Some(y) => y,
* Option::None => 0,
* }
* ```
* ```rust
* match x {
* Some(y) if y != 0 => 1 / y,
* _ => 0,
* }
* ```
*/
class MatchExpr extends Generated::MatchExpr { }
}

View File

@@ -12,5 +12,12 @@ private import codeql.rust.elements.internal.generated.MethodCallExpr
* be referenced directly.
*/
module Impl {
/**
* A method call expression. For example:
* ```rust
* x.foo(42);
* x.foo::<u32, u64>(42);
* ```
*/
class MethodCallExpr extends Generated::MethodCallExpr { }
}

View File

@@ -12,5 +12,16 @@ private import codeql.rust.elements.internal.generated.Module
* be referenced directly.
*/
module Impl {
/**
* A module declaration. For example:
* ```rust
* mod foo;
* ```
* ```rust
* mod bar {
* pub fn baz() {}
* }
* ```
*/
class Module extends Generated::Module { }
}

View File

@@ -12,5 +12,11 @@ private import codeql.rust.elements.internal.generated.OffsetOfExpr
* be referenced directly.
*/
module Impl {
/**
* An `offset_of` expression. For example:
* ```rust
* builtin # offset_of(Struct, field);
* ```
*/
class OffsetOfExpr extends Generated::OffsetOfExpr { }
}

View File

@@ -12,5 +12,13 @@ private import codeql.rust.elements.internal.generated.OrPat
* be referenced directly.
*/
module Impl {
/**
* An or pattern. For example:
* ```rust
* match x {
* Option::Some(y) | Option::None => 0,
* }
* ```
*/
class OrPat extends Generated::OrPat { }
}

View File

@@ -12,5 +12,8 @@ private import codeql.rust.elements.internal.generated.Pat
* be referenced directly.
*/
module Impl {
/**
* The base class for patterns.
*/
class Pat extends Generated::Pat { }
}

View File

@@ -12,5 +12,14 @@ private import codeql.rust.elements.internal.generated.PathExpr
* be referenced directly.
*/
module Impl {
/**
* A path expression. For example:
* ```rust
* let x = variable;
* let x = foo::bar;
* let y = <T>::foo;
* let z = <TypeRef as Trait>::foo;
* ```
*/
class PathExpr extends Generated::PathExpr { }
}

View File

@@ -12,5 +12,11 @@ private import codeql.rust.elements.internal.generated.Path
* be referenced directly.
*/
module Impl {
/**
* A path. For example:
* ```rust
* foo::bar;
* ```
*/
class Path extends Generated::Path { }
}

View File

@@ -12,5 +12,14 @@ private import codeql.rust.elements.internal.generated.PathPat
* be referenced directly.
*/
module Impl {
/**
* A path pattern. For example:
* ```rust
* match x {
* Foo::Bar => "ok",
* _ => "fail",
* }
* ```
*/
class PathPat extends Generated::PathPat { }
}

View File

@@ -12,5 +12,13 @@ private import codeql.rust.elements.internal.generated.PrefixExpr
* be referenced directly.
*/
module Impl {
/**
* A unary operation expression. For example:
* ```rust
* let x = -42
* let y = !true
* let z = *ptr
* ```
*/
class PrefixExpr extends Generated::PrefixExpr { }
}

View File

@@ -12,5 +12,16 @@ private import codeql.rust.elements.internal.generated.RangeExpr
* be referenced directly.
*/
module Impl {
/**
* A range expression. For example:
* ```rust
* let x = 1..=10;
* let x = 1..10;
* let x = 10..;
* let x = ..10;
* let x = ..=10;
* let x = ..;
* ```
*/
class RangeExpr extends Generated::RangeExpr { }
}

View File

@@ -12,5 +12,15 @@ private import codeql.rust.elements.internal.generated.RangePat
* be referenced directly.
*/
module Impl {
/**
* A range pattern. For example:
* ```rust
* match x {
* ..15 => "too cold",
* 16..=25 => "just right",
* 26.. => "too hot",
* }
* ```
*/
class RangePat extends Generated::RangePat { }
}

View File

@@ -12,5 +12,11 @@ private import codeql.rust.elements.internal.generated.RecordExprField
* be referenced directly.
*/
module Impl {
/**
* A field in a record expression. For example `a: 1` in:
* ```rust
* Foo { a: 1, b: 2 };
* ```
*/
class RecordExprField extends Generated::RecordExprField { }
}

View File

@@ -12,5 +12,14 @@ private import codeql.rust.elements.internal.generated.RecordExpr
* be referenced directly.
*/
module Impl {
/**
* A record expression. For example:
* ```rust
* let first = Foo { a: 1, b: 2 };
* let second = Foo { a: 2, ..first };
* Foo { a: 1, b: 2 }[2] = 10;
* Foo { .. } = second;
* ```
*/
class RecordExpr extends Generated::RecordExpr { }
}

Some files were not shown because too many files have changed in this diff Show More