mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
Merge branch 'main' into redsun82/rust-cli-flags
This commit is contained in:
9
.github/workflows/rust.yml
vendored
9
.github/workflows/rust.yml
vendored
@@ -23,7 +23,7 @@ permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
rust-check:
|
||||
rust-code:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -43,6 +43,13 @@ jobs:
|
||||
run: |
|
||||
cargo clippy --fix
|
||||
git diff --exit-code
|
||||
rust-codegen:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Install CodeQL
|
||||
uses: ./.github/actions/fetch-codeql
|
||||
- name: Code generation
|
||||
shell: bash
|
||||
run: |
|
||||
|
||||
@@ -767,7 +767,10 @@ newtype TTranslatedElement =
|
||||
} or
|
||||
// A statement
|
||||
TTranslatedStmt(Stmt stmt) { translateStmt(stmt) } or
|
||||
// The `__except` block of a `__try __except` statement
|
||||
TTranslatedMicrosoftTryExceptHandler(MicrosoftTryExceptStmt stmt) or
|
||||
// The `__finally` block of a `__try __finally` statement
|
||||
TTranslatedMicrosoftTryFinallyHandler(MicrosoftTryFinallyStmt stmt) or
|
||||
// A function
|
||||
TTranslatedFunction(Function func) { translateFunction(func) } or
|
||||
// A constructor init list
|
||||
|
||||
@@ -233,6 +233,62 @@ class TranslatedMicrosoftTryExceptHandler extends TranslatedElement,
|
||||
}
|
||||
}
|
||||
|
||||
TranslatedMicrosoftTryFinallyHandler getTranslatedMicrosoftTryFinallyHandler(
|
||||
MicrosoftTryFinallyStmt tryFinally
|
||||
) {
|
||||
result.getAst() = tryFinally.getFinally()
|
||||
}
|
||||
|
||||
class TranslatedMicrosoftTryFinallyHandler extends TranslatedElement,
|
||||
TTranslatedMicrosoftTryFinallyHandler
|
||||
{
|
||||
MicrosoftTryFinallyStmt tryFinally;
|
||||
|
||||
TranslatedMicrosoftTryFinallyHandler() {
|
||||
this = TTranslatedMicrosoftTryFinallyHandler(tryFinally)
|
||||
}
|
||||
|
||||
final override string toString() { result = tryFinally.toString() }
|
||||
|
||||
final override Locatable getAst() { result = tryFinally.getFinally() }
|
||||
|
||||
override Instruction getFirstInstruction(EdgeKind kind) {
|
||||
result = this.getTranslatedFinally().getFirstInstruction(kind)
|
||||
}
|
||||
|
||||
override Instruction getALastInstructionInternal() {
|
||||
result = this.getTranslatedFinally().getALastInstruction()
|
||||
}
|
||||
|
||||
override Instruction getChildSuccessorInternal(TranslatedElement child, EdgeKind kind) {
|
||||
child = this.getTranslatedFinally() and
|
||||
result = this.getParent().getChildSuccessor(this, kind)
|
||||
}
|
||||
|
||||
override Instruction getInstructionSuccessorInternal(InstructionTag tag, EdgeKind kind) { none() }
|
||||
|
||||
override TranslatedElement getChild(int id) {
|
||||
id = 0 and
|
||||
result = this.getTranslatedFinally()
|
||||
}
|
||||
|
||||
override predicate hasInstruction(Opcode opcode, InstructionTag tag, CppType resultType) {
|
||||
none()
|
||||
}
|
||||
|
||||
final override Function getFunction() { result = tryFinally.getEnclosingFunction() }
|
||||
|
||||
private TranslatedStmt getTranslatedFinally() {
|
||||
result = getTranslatedStmt(tryFinally.getFinally())
|
||||
}
|
||||
|
||||
override Instruction getExceptionSuccessorInstruction(EdgeKind kind) {
|
||||
// A throw from within a `__finally` block flows to the handler for the parent of
|
||||
// the `__try`.
|
||||
result = this.getParent().getParent().getExceptionSuccessorInstruction(kind)
|
||||
}
|
||||
}
|
||||
|
||||
abstract class TranslatedStmt extends TranslatedElement, TTranslatedStmt {
|
||||
Stmt stmt;
|
||||
|
||||
@@ -611,7 +667,9 @@ class TryOrMicrosoftTryStmt extends Stmt {
|
||||
}
|
||||
|
||||
/** Gets the `finally` statement (usually a BlockStmt), if any. */
|
||||
Stmt getFinally() { result = this.(MicrosoftTryFinallyStmt).getFinally() }
|
||||
TranslatedElement getTranslatedFinally() {
|
||||
result = getTranslatedMicrosoftTryFinallyHandler(this)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -681,11 +739,14 @@ class TranslatedTryStmt extends TranslatedStmt {
|
||||
|
||||
final override Instruction getExceptionSuccessorInstruction(EdgeKind kind) {
|
||||
result = this.getHandler(0).getFirstInstruction(kind)
|
||||
or
|
||||
not exists(this.getHandler(_)) and
|
||||
result = this.getFinally().getFirstInstruction(kind)
|
||||
}
|
||||
|
||||
private TranslatedElement getHandler(int index) { result = stmt.getTranslatedHandler(index) }
|
||||
|
||||
private TranslatedStmt getFinally() { result = getTranslatedStmt(stmt.getFinally()) }
|
||||
private TranslatedElement getFinally() { result = stmt.getTranslatedFinally() }
|
||||
|
||||
private TranslatedStmt getBody() { result = getTranslatedStmt(stmt.getStmt()) }
|
||||
}
|
||||
|
||||
@@ -3241,6 +3241,16 @@ ir.c:
|
||||
# 62| v62_3(void) = Call[ExRaiseAccessViolation] : func:r62_1, 0:r62_2
|
||||
# 62| m62_4(unknown) = ^CallSideEffect : ~m57_4
|
||||
# 62| m62_5(unknown) = Chi : total:m57_4, partial:m62_4
|
||||
#-----| Exception -> Block 1
|
||||
|
||||
# 66| Block 1
|
||||
# 66| r66_1(int) = Constant[1] :
|
||||
# 66| r66_2(glval<int>) = VariableAddress[x] :
|
||||
# 66| m66_3(int) = Store[x] : &:r66_2, r66_1
|
||||
# 68| v68_1(void) = NoOp :
|
||||
# 57| v57_5(void) = ReturnVoid :
|
||||
# 57| v57_6(void) = AliasedUse : ~m62_5
|
||||
# 57| v57_7(void) = ExitFunction :
|
||||
|
||||
# 70| void throw_in_try_with_throw_in_finally()
|
||||
# 70| Block 0
|
||||
@@ -3253,6 +3263,20 @@ ir.c:
|
||||
# 73| v73_3(void) = Call[ExRaiseAccessViolation] : func:r73_1, 0:r73_2
|
||||
# 73| m73_4(unknown) = ^CallSideEffect : ~m70_4
|
||||
# 73| m73_5(unknown) = Chi : total:m70_4, partial:m73_4
|
||||
#-----| Exception -> Block 2
|
||||
|
||||
# 70| Block 1
|
||||
# 70| v70_5(void) = Unwind :
|
||||
# 70| v70_6(void) = AliasedUse : ~m76_5
|
||||
# 70| v70_7(void) = ExitFunction :
|
||||
|
||||
# 76| Block 2
|
||||
# 76| r76_1(glval<unknown>) = FunctionAddress[ExRaiseAccessViolation] :
|
||||
# 76| r76_2(int) = Constant[0] :
|
||||
# 76| v76_3(void) = Call[ExRaiseAccessViolation] : func:r76_1, 0:r76_2
|
||||
# 76| m76_4(unknown) = ^CallSideEffect : ~m73_5
|
||||
# 76| m76_5(unknown) = Chi : total:m73_5, partial:m76_4
|
||||
#-----| Exception -> Block 1
|
||||
|
||||
# 80| void raise_access_violation()
|
||||
# 80| Block 0
|
||||
|
||||
@@ -6,8 +6,6 @@ missingOperandType
|
||||
duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| ir.c:62:5:62:26 | Chi: call to ExRaiseAccessViolation | Instruction 'Chi: call to ExRaiseAccessViolation' has no successors in function '$@'. | ir.c:57:6:57:30 | void throw_in_try_with_finally() | void throw_in_try_with_finally() |
|
||||
| ir.c:73:5:73:26 | Chi: call to ExRaiseAccessViolation | Instruction 'Chi: call to ExRaiseAccessViolation' has no successors in function '$@'. | ir.c:70:6:70:39 | void throw_in_try_with_throw_in_finally() | void throw_in_try_with_throw_in_finally() |
|
||||
ambiguousSuccessors
|
||||
unexplainedLoop
|
||||
unnecessaryPhiInstruction
|
||||
|
||||
@@ -6,8 +6,6 @@ missingOperandType
|
||||
duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| ir.c:62:5:62:26 | Chi: call to ExRaiseAccessViolation | Instruction 'Chi: call to ExRaiseAccessViolation' has no successors in function '$@'. | ir.c:57:6:57:30 | void throw_in_try_with_finally() | void throw_in_try_with_finally() |
|
||||
| ir.c:73:5:73:26 | Chi: call to ExRaiseAccessViolation | Instruction 'Chi: call to ExRaiseAccessViolation' has no successors in function '$@'. | ir.c:70:6:70:39 | void throw_in_try_with_throw_in_finally() | void throw_in_try_with_throw_in_finally() |
|
||||
ambiguousSuccessors
|
||||
unexplainedLoop
|
||||
unnecessaryPhiInstruction
|
||||
|
||||
@@ -6,9 +6,6 @@ missingOperandType
|
||||
duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| ir.c:62:5:62:26 | CallSideEffect: call to ExRaiseAccessViolation | Instruction 'CallSideEffect: call to ExRaiseAccessViolation' has no successors in function '$@'. | ir.c:57:6:57:30 | void throw_in_try_with_finally() | void throw_in_try_with_finally() |
|
||||
| ir.c:73:5:73:26 | CallSideEffect: call to ExRaiseAccessViolation | Instruction 'CallSideEffect: call to ExRaiseAccessViolation' has no successors in function '$@'. | ir.c:70:6:70:39 | void throw_in_try_with_throw_in_finally() | void throw_in_try_with_throw_in_finally() |
|
||||
| ir.c:76:5:76:26 | CallSideEffect: call to ExRaiseAccessViolation | Instruction 'CallSideEffect: call to ExRaiseAccessViolation' has no successors in function '$@'. | ir.c:70:6:70:39 | void throw_in_try_with_throw_in_finally() | void throw_in_try_with_throw_in_finally() |
|
||||
ambiguousSuccessors
|
||||
unexplainedLoop
|
||||
unnecessaryPhiInstruction
|
||||
|
||||
@@ -3022,6 +3022,7 @@ ir.c:
|
||||
# 62| r62_2(int) = Constant[0] :
|
||||
# 62| v62_3(void) = Call[ExRaiseAccessViolation] : func:r62_1, 0:r62_2
|
||||
# 62| mu62_4(unknown) = ^CallSideEffect : ~m?
|
||||
#-----| Exception -> Block 3
|
||||
|
||||
# 57| Block 1
|
||||
# 57| v57_4(void) = AliasedUse : ~m?
|
||||
@@ -3048,6 +3049,7 @@ ir.c:
|
||||
# 73| r73_2(int) = Constant[0] :
|
||||
# 73| v73_3(void) = Call[ExRaiseAccessViolation] : func:r73_1, 0:r73_2
|
||||
# 73| mu73_4(unknown) = ^CallSideEffect : ~m?
|
||||
#-----| Exception -> Block 3
|
||||
|
||||
# 70| Block 1
|
||||
# 70| v70_4(void) = AliasedUse : ~m?
|
||||
@@ -3062,6 +3064,7 @@ ir.c:
|
||||
# 76| r76_2(int) = Constant[0] :
|
||||
# 76| v76_3(void) = Call[ExRaiseAccessViolation] : func:r76_1, 0:r76_2
|
||||
# 76| mu76_4(unknown) = ^CallSideEffect : ~m?
|
||||
#-----| Exception -> Block 2
|
||||
|
||||
# 78| Block 4
|
||||
# 78| v78_1(void) = NoOp :
|
||||
|
||||
@@ -6,8 +6,6 @@ missingOperandType
|
||||
duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| ir.c:62:5:62:26 | CallSideEffect: call to ExRaiseAccessViolation | Instruction 'CallSideEffect: call to ExRaiseAccessViolation' has no successors in function '$@'. | ir.c:57:6:57:30 | void throw_in_try_with_finally() | void throw_in_try_with_finally() |
|
||||
| ir.c:73:5:73:26 | CallSideEffect: call to ExRaiseAccessViolation | Instruction 'CallSideEffect: call to ExRaiseAccessViolation' has no successors in function '$@'. | ir.c:70:6:70:39 | void throw_in_try_with_throw_in_finally() | void throw_in_try_with_throw_in_finally() |
|
||||
ambiguousSuccessors
|
||||
unexplainedLoop
|
||||
unnecessaryPhiInstruction
|
||||
|
||||
@@ -6,8 +6,6 @@ missingOperandType
|
||||
duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| ir.c:62:5:62:26 | CallSideEffect: call to ExRaiseAccessViolation | Instruction 'CallSideEffect: call to ExRaiseAccessViolation' has no successors in function '$@'. | ir.c:57:6:57:30 | void throw_in_try_with_finally() | void throw_in_try_with_finally() |
|
||||
| ir.c:73:5:73:26 | CallSideEffect: call to ExRaiseAccessViolation | Instruction 'CallSideEffect: call to ExRaiseAccessViolation' has no successors in function '$@'. | ir.c:70:6:70:39 | void throw_in_try_with_throw_in_finally() | void throw_in_try_with_throw_in_finally() |
|
||||
ambiguousSuccessors
|
||||
unexplainedLoop
|
||||
unnecessaryPhiInstruction
|
||||
|
||||
@@ -7,8 +7,6 @@ missingOperandType
|
||||
duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| ms_try_mix.cpp:38:5:38:5 | Chi: c106 | Instruction 'Chi: c106' has no successors in function '$@'. | ms_try_mix.cpp:29:6:29:19 | void ms_finally_mix(int) | void ms_finally_mix(int) |
|
||||
| ms_try_mix.cpp:53:5:53:11 | ThrowValue: throw ... | Instruction 'ThrowValue: throw ...' has no successors in function '$@'. | ms_try_mix.cpp:49:6:49:28 | void ms_empty_finally_at_end() | void ms_empty_finally_at_end() |
|
||||
| stmt_expr.cpp:27:5:27:15 | Store: ... = ... | Instruction 'Store: ... = ...' has no successors in function '$@'. | stmt_expr.cpp:21:13:21:13 | void stmtexpr::g(int) | void stmtexpr::g(int) |
|
||||
ambiguousSuccessors
|
||||
unexplainedLoop
|
||||
|
||||
@@ -8,8 +8,6 @@ missingOperandType
|
||||
duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| ms_try_mix.cpp:38:5:38:5 | IndirectMayWriteSideEffect: c106 | Instruction 'IndirectMayWriteSideEffect: c106' has no successors in function '$@'. | ms_try_mix.cpp:29:6:29:19 | void ms_finally_mix(int) | void ms_finally_mix(int) |
|
||||
| ms_try_mix.cpp:53:5:53:11 | ThrowValue: throw ... | Instruction 'ThrowValue: throw ...' has no successors in function '$@'. | ms_try_mix.cpp:49:6:49:28 | void ms_empty_finally_at_end() | void ms_empty_finally_at_end() |
|
||||
| stmt_expr.cpp:27:5:27:15 | Store: ... = ... | Instruction 'Store: ... = ...' has no successors in function '$@'. | stmt_expr.cpp:21:13:21:13 | void stmtexpr::g(int) | void stmtexpr::g(int) |
|
||||
| stmt_expr.cpp:29:11:32:11 | CopyValue: (statement expression) | Instruction 'CopyValue: (statement expression)' has no successors in function '$@'. | stmt_expr.cpp:21:13:21:13 | void stmtexpr::g(int) | void stmtexpr::g(int) |
|
||||
| stmt_in_type.cpp:5:53:5:53 | Constant: 1 | Instruction 'Constant: 1' has no successors in function '$@'. | stmt_in_type.cpp:2:6:2:12 | void cpp_fun() | void cpp_fun() |
|
||||
|
||||
@@ -7,8 +7,6 @@ missingOperandType
|
||||
duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| ms_try_mix.cpp:38:5:38:5 | IndirectMayWriteSideEffect: c106 | Instruction 'IndirectMayWriteSideEffect: c106' has no successors in function '$@'. | ms_try_mix.cpp:29:6:29:19 | void ms_finally_mix(int) | void ms_finally_mix(int) |
|
||||
| ms_try_mix.cpp:53:5:53:11 | ThrowValue: throw ... | Instruction 'ThrowValue: throw ...' has no successors in function '$@'. | ms_try_mix.cpp:49:6:49:28 | void ms_empty_finally_at_end() | void ms_empty_finally_at_end() |
|
||||
| stmt_expr.cpp:27:5:27:15 | Store: ... = ... | Instruction 'Store: ... = ...' has no successors in function '$@'. | stmt_expr.cpp:21:13:21:13 | void stmtexpr::g(int) | void stmtexpr::g(int) |
|
||||
ambiguousSuccessors
|
||||
unexplainedLoop
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import csharp
|
||||
|
||||
from File f
|
||||
where f.fromSource() or f.getExtension() = "cshtml"
|
||||
where f.fromSource()
|
||||
select f
|
||||
|
||||
@@ -61,7 +61,7 @@ class File extends Container, Impl::File {
|
||||
|
||||
/** Holds if this file contains source code. */
|
||||
final predicate fromSource() {
|
||||
this.getExtension() = ["cs", "cshtml"] and
|
||||
this.getExtension() = ["cs", "cshtml", "razor"] and
|
||||
not this.isStub()
|
||||
}
|
||||
|
||||
|
||||
@@ -1776,7 +1776,8 @@ func getTypeLabel(tw *trap.Writer, tp types.Type) (trap.Label, bool) {
|
||||
lbl = tw.Labeler.GlobalID(fmt.Sprintf("{%s};namedtype", entitylbl))
|
||||
case *types.TypeParam:
|
||||
parentlbl := getTypeParamParentLabel(tw, tp)
|
||||
lbl = tw.Labeler.GlobalID(fmt.Sprintf("{%v},%s;typeparamtype", parentlbl, tp.Obj().Name()))
|
||||
idx := tp.Index()
|
||||
lbl = tw.Labeler.GlobalID(fmt.Sprintf("{%v},%d,%s;typeparamtype", parentlbl, idx, tp.Obj().Name()))
|
||||
case *types.Union:
|
||||
var b strings.Builder
|
||||
for i := 0; i < tp.Len(); i++ {
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
category: minorAnalysis
|
||||
---
|
||||
* When a function or type has more than one anonymous type parameters, they were mistakenly being treated as the same type parameter. This has now been fixed.
|
||||
@@ -1,3 +1,25 @@
|
||||
numberOfTypeParameters
|
||||
| genericFunctions2.go:3:6:3:33 | GenericFunctionInAnotherFile | 1 |
|
||||
| genericFunctions.go:9:6:9:32 | GenericFunctionOneTypeParam | 1 |
|
||||
| genericFunctions.go:15:6:15:33 | GenericFunctionTwoTypeParams | 2 |
|
||||
| genericFunctions.go:81:6:81:19 | GenericStruct1 | 1 |
|
||||
| genericFunctions.go:84:6:84:19 | GenericStruct2 | 2 |
|
||||
| genericFunctions.go:87:30:87:31 | f1 | 1 |
|
||||
| genericFunctions.go:92:31:92:32 | g1 | 1 |
|
||||
| genericFunctions.go:95:35:95:36 | f2 | 2 |
|
||||
| genericFunctions.go:98:36:98:37 | g2 | 2 |
|
||||
| genericFunctions.go:111:6:111:12 | Element | 1 |
|
||||
| genericFunctions.go:115:6:115:9 | List | 1 |
|
||||
| genericFunctions.go:120:19:120:23 | MyLen | 1 |
|
||||
| genericFunctions.go:124:6:124:19 | NodeConstraint | 1 |
|
||||
| genericFunctions.go:128:6:128:19 | EdgeConstraint | 1 |
|
||||
| genericFunctions.go:132:6:132:10 | Graph | 2 |
|
||||
| genericFunctions.go:134:6:134:8 | New | 2 |
|
||||
| genericFunctions.go:138:29:138:40 | ShortestPath | 2 |
|
||||
| genericFunctions.go:150:6:150:36 | multipleAnonymousTypeParamsFunc | 3 |
|
||||
| genericFunctions.go:152:6:152:36 | multipleAnonymousTypeParamsType | 3 |
|
||||
| genericFunctions.go:154:51:154:51 | f | 3 |
|
||||
#select
|
||||
| cmp.Compare | 0 | T | Ordered |
|
||||
| cmp.Less | 0 | T | Ordered |
|
||||
| cmp.Or | 0 | T | comparable |
|
||||
@@ -26,6 +48,15 @@
|
||||
| codeql-go-tests/function.New | 0 | Node | NodeConstraint |
|
||||
| codeql-go-tests/function.New | 1 | Edge | EdgeConstraint |
|
||||
| codeql-go-tests/function.NodeConstraint | 0 | Edge | interface { } |
|
||||
| codeql-go-tests/function.multipleAnonymousTypeParamsFunc | 0 | _ | interface { } |
|
||||
| codeql-go-tests/function.multipleAnonymousTypeParamsFunc | 1 | _ | interface { string } |
|
||||
| codeql-go-tests/function.multipleAnonymousTypeParamsFunc | 2 | _ | interface { } |
|
||||
| codeql-go-tests/function.multipleAnonymousTypeParamsType | 0 | _ | interface { } |
|
||||
| codeql-go-tests/function.multipleAnonymousTypeParamsType | 1 | _ | interface { string } |
|
||||
| codeql-go-tests/function.multipleAnonymousTypeParamsType | 2 | _ | interface { } |
|
||||
| codeql-go-tests/function.multipleAnonymousTypeParamsType.f | 0 | _ | interface { } |
|
||||
| codeql-go-tests/function.multipleAnonymousTypeParamsType.f | 1 | _ | interface { string } |
|
||||
| codeql-go-tests/function.multipleAnonymousTypeParamsType.f | 2 | _ | interface { } |
|
||||
| github.com/anotherpkg.GenericFunctionInAnotherPackage | 0 | T | interface { } |
|
||||
| internal/bytealg.HashStr | 0 | T | interface { string \| []uint8 } |
|
||||
| internal/bytealg.HashStrRev | 0 | T | interface { string \| []uint8 } |
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
import go
|
||||
|
||||
query predicate numberOfTypeParameters(TypeParamParentEntity parent, int n) {
|
||||
exists(string file | file != "" | parent.hasLocationInfo(file, _, _, _, _)) and
|
||||
n = strictcount(TypeParamType tpt | tpt.getParent() = parent)
|
||||
}
|
||||
|
||||
from TypeParamType tpt, TypeParamParentEntity ty
|
||||
where ty = tpt.getParent()
|
||||
select ty.getQualifiedName(), tpt.getIndex(), tpt.getParamName(), tpt.getConstraint().pp()
|
||||
|
||||
@@ -146,3 +146,9 @@ func callFunctionsInAnotherPackage() {
|
||||
_ = anotherpkg.GenericFunctionInAnotherPackage[string]("world")
|
||||
_ = anotherpkg.GenericFunctionInAnotherPackage("world")
|
||||
}
|
||||
|
||||
func multipleAnonymousTypeParamsFunc[_ any, _ string, _ any]() {}
|
||||
|
||||
type multipleAnonymousTypeParamsType[_ any, _ string, _ any] struct{}
|
||||
|
||||
func (x multipleAnonymousTypeParamsType[_, _, _]) f() {}
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
| genericFunctions.go:138:29:138:40 | ShortestPath | 0 | genericFunctions.go:138:42:138:45 | from |
|
||||
| genericFunctions.go:138:29:138:40 | ShortestPath | 1 | genericFunctions.go:138:48:138:49 | to |
|
||||
| genericFunctions.go:138:29:138:40 | ShortestPath | -1 | genericFunctions.go:138:7:138:7 | g |
|
||||
| genericFunctions.go:154:51:154:51 | f | -1 | genericFunctions.go:154:7:154:7 | x |
|
||||
| main.go:7:6:7:7 | f1 | 0 | main.go:7:9:7:9 | x |
|
||||
| main.go:9:12:9:13 | f2 | 0 | main.go:9:15:9:15 | x |
|
||||
| main.go:9:12:9:13 | f2 | 1 | main.go:9:18:9:18 | y |
|
||||
|
||||
@@ -13,3 +13,9 @@
|
||||
| genericFunctions.go:132:6:132:73 | type declaration specifier | TypeSpec | 1 | genericFunctions.go:132:39:132:63 | type parameter declaration | 0 | genericFunctions.go:132:39:132:42 | Edge | genericFunctions.go:132:44:132:63 | generic type instantiation expression | EdgeConstraint |
|
||||
| genericFunctions.go:134:1:136:1 | function declaration | FuncDecl | 0 | genericFunctions.go:134:10:134:34 | type parameter declaration | 0 | genericFunctions.go:134:10:134:13 | Node | genericFunctions.go:134:15:134:34 | generic type instantiation expression | NodeConstraint |
|
||||
| genericFunctions.go:134:1:136:1 | function declaration | FuncDecl | 1 | genericFunctions.go:134:37:134:61 | type parameter declaration | 0 | genericFunctions.go:134:37:134:40 | Edge | genericFunctions.go:134:42:134:61 | generic type instantiation expression | EdgeConstraint |
|
||||
| genericFunctions.go:150:1:150:65 | function declaration | FuncDecl | 0 | genericFunctions.go:150:38:150:42 | type parameter declaration | 0 | genericFunctions.go:150:38:150:38 | _ | genericFunctions.go:150:40:150:42 | any | interface { } |
|
||||
| genericFunctions.go:150:1:150:65 | function declaration | FuncDecl | 1 | genericFunctions.go:150:45:150:52 | type parameter declaration | 0 | genericFunctions.go:150:45:150:45 | _ | genericFunctions.go:150:47:150:52 | string | interface { string } |
|
||||
| genericFunctions.go:150:1:150:65 | function declaration | FuncDecl | 2 | genericFunctions.go:150:55:150:59 | type parameter declaration | 0 | genericFunctions.go:150:55:150:55 | _ | genericFunctions.go:150:57:150:59 | any | interface { } |
|
||||
| genericFunctions.go:152:6:152:69 | type declaration specifier | TypeSpec | 0 | genericFunctions.go:152:38:152:42 | type parameter declaration | 0 | genericFunctions.go:152:38:152:38 | _ | genericFunctions.go:152:40:152:42 | any | interface { } |
|
||||
| genericFunctions.go:152:6:152:69 | type declaration specifier | TypeSpec | 1 | genericFunctions.go:152:45:152:52 | type parameter declaration | 0 | genericFunctions.go:152:45:152:45 | _ | genericFunctions.go:152:47:152:52 | string | interface { string } |
|
||||
| genericFunctions.go:152:6:152:69 | type declaration specifier | TypeSpec | 2 | genericFunctions.go:152:55:152:59 | type parameter declaration | 0 | genericFunctions.go:152:55:152:55 | _ | genericFunctions.go:152:57:152:59 | any | interface { } |
|
||||
|
||||
@@ -118,7 +118,7 @@ class Class:
|
||||
@dataclass
|
||||
class Schema:
|
||||
classes: Dict[str, Class] = field(default_factory=dict)
|
||||
includes: Set[str] = field(default_factory=set)
|
||||
includes: List[str] = field(default_factory=list)
|
||||
null: Optional[str] = None
|
||||
|
||||
@property
|
||||
|
||||
@@ -135,7 +135,7 @@ def load(m: types.ModuleType) -> schema.Schema:
|
||||
if hasattr(defs, name):
|
||||
continue
|
||||
if name == "__includes":
|
||||
includes = set(data)
|
||||
includes = data
|
||||
continue
|
||||
if name.startswith("__"):
|
||||
continue
|
||||
|
||||
2
rust/extractor/src/generated/.generated.list
generated
2
rust/extractor/src/generated/.generated.list
generated
@@ -1,2 +1,2 @@
|
||||
mod.rs 7cdfedcd68cf8e41134daf810c1af78624082b0c3e8be6570339b1a69a5d457e 7cdfedcd68cf8e41134daf810c1af78624082b0c3e8be6570339b1a69a5d457e
|
||||
top.rs 569909061b9a993481764765a014327d143939778f2dbc79836e7496cdb83e1f 569909061b9a993481764765a014327d143939778f2dbc79836e7496cdb83e1f
|
||||
top.rs d15c72bcdaa924633a725a2324446686e0f4caaa6a4ae759a101ef31174131a5 d15c72bcdaa924633a725a2324446686e0f4caaa6a4ae759a101ef31174131a5
|
||||
|
||||
496
rust/extractor/src/generated/top.rs
generated
496
rust/extractor/src/generated/top.rs
generated
File diff suppressed because it is too large
Load Diff
@@ -65,6 +65,9 @@ fn main() -> anyhow::Result<()> {
|
||||
let crates = <dyn DefDatabase>::crate_graph(&db);
|
||||
for crate_id in crates.iter() {
|
||||
let krate = Crate::from(crate_id);
|
||||
if !cfg.extract_dependencies && !krate.origin(&db).is_local() {
|
||||
continue;
|
||||
}
|
||||
let name = krate.display_name(&db);
|
||||
let crate_name = name
|
||||
.as_ref()
|
||||
@@ -78,16 +81,9 @@ fn main() -> anyhow::Result<()> {
|
||||
crate_id.into_raw().into_u32()
|
||||
)),
|
||||
);
|
||||
translate::CrateTranslator::new(
|
||||
&db,
|
||||
trap,
|
||||
&krate,
|
||||
&vfs,
|
||||
&archiver,
|
||||
cfg.extract_dependencies,
|
||||
)
|
||||
.emit_crate()
|
||||
.context("writing trap file")?;
|
||||
translate::CrateTranslator::new(&db, trap, &krate, &vfs, &archiver)
|
||||
.emit_crate()
|
||||
.context("writing trap file")?;
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
|
||||
@@ -32,7 +32,6 @@ pub struct CrateTranslator<'a> {
|
||||
krate: &'a Crate,
|
||||
vfs: &'a Vfs,
|
||||
archiver: &'a Archiver,
|
||||
extract_dependencies: bool,
|
||||
file_labels: HashMap<PathBuf, FileData>,
|
||||
}
|
||||
|
||||
@@ -43,7 +42,6 @@ impl CrateTranslator<'_> {
|
||||
krate: &'a Crate,
|
||||
vfs: &'a Vfs,
|
||||
archiver: &'a Archiver,
|
||||
extract_dependencies: bool,
|
||||
) -> CrateTranslator<'a> {
|
||||
CrateTranslator {
|
||||
db,
|
||||
@@ -51,7 +49,6 @@ impl CrateTranslator<'_> {
|
||||
krate,
|
||||
vfs,
|
||||
archiver,
|
||||
extract_dependencies,
|
||||
file_labels: HashMap::new(),
|
||||
}
|
||||
}
|
||||
@@ -62,11 +59,7 @@ impl CrateTranslator<'_> {
|
||||
if !self.file_labels.contains_key(&canonical) {
|
||||
self.archiver.archive(&canonical);
|
||||
canonical = fs::canonicalize(&canonical).unwrap_or(canonical);
|
||||
let name = canonical.to_string_lossy();
|
||||
let label = self.trap.emit(generated::DbFile {
|
||||
id: trap_key!["file;", name.as_ref()],
|
||||
name: String::from(name),
|
||||
});
|
||||
let label = self.trap.emit_file(&canonical);
|
||||
let line_index = <dyn LineIndexDatabase>::line_index(self.db, file_id);
|
||||
self.file_labels
|
||||
.insert(canonical.clone(), FileData { label, line_index });
|
||||
@@ -77,58 +70,60 @@ impl CrateTranslator<'_> {
|
||||
|
||||
fn emit_location_for_ast_ptr<T>(
|
||||
&mut self,
|
||||
label: trap::Label,
|
||||
source: ra_ap_hir::InFile<ra_ap_syntax::AstPtr<T>>,
|
||||
) -> Option<trap::Label>
|
||||
where
|
||||
) where
|
||||
T: AstNode,
|
||||
{
|
||||
source
|
||||
if let Some(data) = source
|
||||
.file_id
|
||||
.file_id()
|
||||
.map(|f| (f.file_id(), source))
|
||||
.and_then(|(file_id, source)| self.emit_file(file_id).map(|data| (data, source)))
|
||||
.map(|(data, source)| {
|
||||
let range = source.value.text_range();
|
||||
self.emit_location_for_textrange(data, range)
|
||||
})
|
||||
.map(|f| f.file_id())
|
||||
.and_then(|file_id| self.emit_file(file_id))
|
||||
{
|
||||
let range = source.value.text_range();
|
||||
self.emit_location_for_textrange(label, data, range)
|
||||
}
|
||||
}
|
||||
|
||||
fn emit_location_for_expr(
|
||||
&mut self,
|
||||
label: trap::Label,
|
||||
expr: ra_ap_hir_def::hir::ExprId,
|
||||
source_map: &BodySourceMap,
|
||||
) -> Option<trap::Label> {
|
||||
let source = source_map.expr_syntax(expr).ok()?;
|
||||
self.emit_location_for_ast_ptr(source)
|
||||
) {
|
||||
if let Ok(source) = source_map.expr_syntax(expr) {
|
||||
self.emit_location_for_ast_ptr(label, source);
|
||||
}
|
||||
}
|
||||
|
||||
fn emit_location_for_pat(
|
||||
&mut self,
|
||||
label: trap::Label,
|
||||
pat_id: ra_ap_hir_def::hir::PatId,
|
||||
source_map: &BodySourceMap,
|
||||
) -> Option<trap::Label> {
|
||||
let source = source_map.pat_syntax(pat_id).ok()?;
|
||||
self.emit_location_for_ast_ptr(source)
|
||||
) {
|
||||
if let Ok(source) = source_map.pat_syntax(pat_id) {
|
||||
self.emit_location_for_ast_ptr(label, source);
|
||||
}
|
||||
}
|
||||
|
||||
fn emit_literal_or_const_pat(
|
||||
&mut self,
|
||||
pat: &ra_ap_hir_def::hir::LiteralOrConst,
|
||||
location: Option<trap::Label>,
|
||||
body: &Body,
|
||||
source_map: &BodySourceMap,
|
||||
mut emit_location: impl FnMut(&mut CrateTranslator<'_>, trap::Label),
|
||||
) -> trap::Label {
|
||||
match pat {
|
||||
ra_ap_hir_def::hir::LiteralOrConst::Literal(_literal) => {
|
||||
let expr = self.trap.emit(generated::LiteralExpr {
|
||||
let expr = self.trap.emit(generated::LiteralExpr { id: TrapId::Star });
|
||||
let label = self.trap.emit(generated::LiteralPat {
|
||||
id: TrapId::Star,
|
||||
location: None,
|
||||
});
|
||||
self.trap.emit(generated::LitPat {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
expr,
|
||||
})
|
||||
});
|
||||
emit_location(self, label);
|
||||
label
|
||||
}
|
||||
ra_ap_hir_def::hir::LiteralOrConst::Const(inner) => {
|
||||
self.emit_pat(*inner, body, source_map)
|
||||
@@ -138,27 +133,35 @@ impl CrateTranslator<'_> {
|
||||
|
||||
fn emit_location_for_label(
|
||||
&mut self,
|
||||
label: trap::Label,
|
||||
label_id: ra_ap_hir_def::hir::LabelId,
|
||||
source_map: &BodySourceMap,
|
||||
) -> Option<trap::Label> {
|
||||
) {
|
||||
// 'catch' a panic if the source map is incomplete
|
||||
let source = std::panic::catch_unwind(|| source_map.label_syntax(label_id)).ok();
|
||||
source.and_then(|source| self.emit_location_for_ast_ptr(source))
|
||||
if let Some(source) = source {
|
||||
self.emit_location_for_ast_ptr(label, source)
|
||||
}
|
||||
}
|
||||
fn emit_location<T: HasSource>(&mut self, entity: T) -> Option<trap::Label>
|
||||
fn emit_location<T: HasSource>(&mut self, label: trap::Label, entity: T)
|
||||
where
|
||||
T::Ast: AstNode,
|
||||
{
|
||||
entity
|
||||
if let Some((data, source)) = entity
|
||||
.source(self.db)
|
||||
.and_then(|source| source.file_id.file_id().map(|f| (f.file_id(), source)))
|
||||
.and_then(|(file_id, source)| self.emit_file(file_id).map(|data| (data, source)))
|
||||
.map(|(data, source)| {
|
||||
let range = source.value.syntax().text_range();
|
||||
self.emit_location_for_textrange(data, range)
|
||||
})
|
||||
{
|
||||
let range = source.value.syntax().text_range();
|
||||
self.emit_location_for_textrange(label, data, range);
|
||||
}
|
||||
}
|
||||
fn emit_location_for_textrange(&mut self, data: FileData, range: TextRange) -> trap::Label {
|
||||
fn emit_location_for_textrange(
|
||||
&mut self,
|
||||
label: trap::Label,
|
||||
data: FileData,
|
||||
range: TextRange,
|
||||
) {
|
||||
let start = data.line_index.line_col(range.start());
|
||||
let end = data.line_index.line_col(
|
||||
range
|
||||
@@ -166,7 +169,7 @@ impl CrateTranslator<'_> {
|
||||
.checked_sub(TextSize::new(1))
|
||||
.unwrap_or(range.end()),
|
||||
);
|
||||
self.trap.emit_location(data.label, start, end)
|
||||
self.trap.emit_location(data.label, label, start, end)
|
||||
}
|
||||
fn emit_label(
|
||||
&mut self,
|
||||
@@ -174,23 +177,17 @@ impl CrateTranslator<'_> {
|
||||
body: &Body,
|
||||
source_map: &BodySourceMap,
|
||||
) -> trap::Label {
|
||||
let location: Option<trap::Label> = self.emit_location_for_label(label_id, source_map);
|
||||
let label = &body.labels[label_id];
|
||||
self.trap.emit(generated::Label {
|
||||
let ret = self.trap.emit(generated::Label {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
name: label.name.as_str().into(),
|
||||
})
|
||||
});
|
||||
self.emit_location_for_label(ret, label_id, source_map);
|
||||
ret
|
||||
}
|
||||
|
||||
fn emit_unimplemented(&mut self, location: Option<trap::Label>) -> trap::Label {
|
||||
self.trap.emit(generated::Unimplemented {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
})
|
||||
}
|
||||
fn emit_path(&mut self, _path: &Path, location: Option<trap::Label>) -> trap::Label {
|
||||
self.emit_unimplemented(location)
|
||||
fn emit_path(&mut self, _path: &Path) -> trap::Label {
|
||||
self.trap.emit(generated::Path { id: TrapId::Star })
|
||||
}
|
||||
|
||||
fn emit_record_field_pat(
|
||||
@@ -200,14 +197,14 @@ impl CrateTranslator<'_> {
|
||||
source_map: &BodySourceMap,
|
||||
) -> trap::Label {
|
||||
let RecordFieldPat { name, pat } = field_pat;
|
||||
let location = self.emit_location_for_pat(*pat, source_map);
|
||||
let pat = self.emit_pat(*pat, body, source_map);
|
||||
self.trap.emit(generated::RecordFieldPat {
|
||||
let pat_label = self.emit_pat(*pat, body, source_map);
|
||||
let ret = self.trap.emit(generated::RecordPatField {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
name: name.as_str().into(),
|
||||
pat,
|
||||
})
|
||||
pat: pat_label,
|
||||
});
|
||||
self.emit_location_for_pat(ret, *pat, source_map);
|
||||
ret
|
||||
}
|
||||
|
||||
fn emit_record_lit_field(
|
||||
@@ -217,27 +214,24 @@ impl CrateTranslator<'_> {
|
||||
source_map: &BodySourceMap,
|
||||
) -> trap::Label {
|
||||
let RecordLitField { name, expr } = field_expr;
|
||||
let location = self.emit_location_for_expr(*expr, source_map);
|
||||
let expr = self.emit_expr(*expr, body, source_map);
|
||||
self.trap.emit(generated::RecordLitField {
|
||||
let expr_label = self.emit_expr(*expr, body, source_map);
|
||||
let ret = self.trap.emit(generated::RecordExprField {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
name: name.as_str().into(),
|
||||
expr,
|
||||
})
|
||||
expr: expr_label,
|
||||
});
|
||||
self.emit_location_for_expr(ret, *expr, source_map);
|
||||
ret
|
||||
}
|
||||
fn emit_pat(&mut self, pat_id: PatId, body: &Body, source_map: &BodySourceMap) -> trap::Label {
|
||||
let location: Option<trap::Label> = self.emit_location_for_pat(pat_id, source_map);
|
||||
let pat = &body.pats[pat_id];
|
||||
match pat {
|
||||
ra_ap_hir_def::hir::Pat::Missing => self.trap.emit(generated::MissingPat {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
}),
|
||||
ra_ap_hir_def::hir::Pat::Wild => self.trap.emit(generated::WildPat {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
}),
|
||||
let ret = match pat {
|
||||
ra_ap_hir_def::hir::Pat::Missing => {
|
||||
self.trap.emit(generated::MissingPat { id: TrapId::Star })
|
||||
}
|
||||
ra_ap_hir_def::hir::Pat::Wild => {
|
||||
self.trap.emit(generated::WildcardPat { id: TrapId::Star })
|
||||
}
|
||||
ra_ap_hir_def::hir::Pat::Tuple { args, ellipsis } => {
|
||||
let args = args
|
||||
.into_iter()
|
||||
@@ -246,7 +240,6 @@ impl CrateTranslator<'_> {
|
||||
let ellipsis_index = ellipsis.and_then(|x| x.try_into().ok());
|
||||
self.trap.emit(generated::TuplePat {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
args,
|
||||
ellipsis_index,
|
||||
})
|
||||
@@ -258,7 +251,6 @@ impl CrateTranslator<'_> {
|
||||
.collect();
|
||||
self.trap.emit(generated::OrPat {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
args,
|
||||
})
|
||||
}
|
||||
@@ -267,29 +259,34 @@ impl CrateTranslator<'_> {
|
||||
args,
|
||||
ellipsis,
|
||||
} => {
|
||||
let path = path.as_ref().map(|path| self.emit_path(path, location));
|
||||
let args = args
|
||||
let path = path.as_ref().map(|path| self.emit_path(path));
|
||||
if let Some(p) = path {
|
||||
self.emit_location_for_pat(p, pat_id, source_map)
|
||||
}
|
||||
let flds = args
|
||||
.into_iter()
|
||||
.map(|arg| self.emit_record_field_pat(arg, body, source_map))
|
||||
.collect();
|
||||
self.trap.emit(generated::RecordPat {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
path,
|
||||
args,
|
||||
flds,
|
||||
has_ellipsis: *ellipsis,
|
||||
})
|
||||
}
|
||||
ra_ap_hir_def::hir::Pat::Range { start, end } => {
|
||||
let start = start
|
||||
.as_ref()
|
||||
.map(|x| self.emit_literal_or_const_pat(x, location, body, source_map));
|
||||
let end = end
|
||||
.as_ref()
|
||||
.map(|x| self.emit_literal_or_const_pat(x, location, body, source_map));
|
||||
let emit_location_for_const = |trans: &mut CrateTranslator<'_>, label| {
|
||||
trans.emit_location_for_pat(label, pat_id, source_map)
|
||||
};
|
||||
let start = start.as_ref().map(|x| {
|
||||
self.emit_literal_or_const_pat(x, body, source_map, emit_location_for_const)
|
||||
});
|
||||
|
||||
let end = end.as_ref().map(|x| {
|
||||
self.emit_literal_or_const_pat(x, body, source_map, emit_location_for_const)
|
||||
});
|
||||
self.trap.emit(generated::RangePat {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
start,
|
||||
end,
|
||||
})
|
||||
@@ -310,33 +307,31 @@ impl CrateTranslator<'_> {
|
||||
.collect();
|
||||
self.trap.emit(generated::SlicePat {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
prefix,
|
||||
slice,
|
||||
suffix,
|
||||
})
|
||||
}
|
||||
ra_ap_hir_def::hir::Pat::Path(path) => {
|
||||
let path = self.emit_path(path, location);
|
||||
let path = self.emit_path(path);
|
||||
self.emit_location_for_pat(path, pat_id, source_map);
|
||||
|
||||
self.trap.emit(generated::PathPat {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
path,
|
||||
})
|
||||
}
|
||||
ra_ap_hir_def::hir::Pat::Lit(expr) => {
|
||||
let expr = self.emit_expr(*expr, body, source_map);
|
||||
self.trap.emit(generated::LitPat {
|
||||
self.trap.emit(generated::LiteralPat {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
expr,
|
||||
})
|
||||
}
|
||||
ra_ap_hir_def::hir::Pat::Bind { id, subpat } => {
|
||||
let subpat = subpat.map(|pat| self.emit_pat(pat, body, source_map));
|
||||
self.trap.emit(generated::BindPat {
|
||||
self.trap.emit(generated::IdentPat {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
subpat,
|
||||
binding_id: body.bindings[*id].name.as_str().into(),
|
||||
})
|
||||
@@ -346,14 +341,17 @@ impl CrateTranslator<'_> {
|
||||
args,
|
||||
ellipsis,
|
||||
} => {
|
||||
let path = path.as_ref().map(|path| self.emit_path(path, location));
|
||||
let path = path.as_ref().map(|path| self.emit_path(path));
|
||||
if let Some(p) = path {
|
||||
self.emit_location_for_pat(p, pat_id, source_map)
|
||||
}
|
||||
|
||||
let args = args
|
||||
.into_iter()
|
||||
.map(|arg| self.emit_pat(*arg, body, source_map))
|
||||
.collect();
|
||||
self.trap.emit(generated::TupleStructPat {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
path,
|
||||
args,
|
||||
ellipsis_index: ellipsis.map(|x| x as usize),
|
||||
@@ -363,7 +361,6 @@ impl CrateTranslator<'_> {
|
||||
let pat = self.emit_pat(*pat, body, source_map);
|
||||
self.trap.emit(generated::RefPat {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
pat,
|
||||
is_mut: mutability.is_mut(),
|
||||
})
|
||||
@@ -372,7 +369,6 @@ impl CrateTranslator<'_> {
|
||||
let inner = self.emit_pat(*inner, body, source_map);
|
||||
self.trap.emit(generated::BoxPat {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
inner,
|
||||
})
|
||||
}
|
||||
@@ -380,14 +376,15 @@ impl CrateTranslator<'_> {
|
||||
let expr = self.emit_expr(*expr, body, source_map);
|
||||
self.trap.emit(generated::ConstBlockPat {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
expr,
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
self.emit_location_for_pat(ret, pat_id, source_map);
|
||||
ret
|
||||
}
|
||||
fn emit_type_ref(&mut self, _type_ref: &TypeRef) -> trap::Label {
|
||||
self.emit_unimplemented(None)
|
||||
self.trap.emit(generated::TypeRef { id: TrapId::Star })
|
||||
}
|
||||
fn emit_match_arm(
|
||||
&mut self,
|
||||
@@ -395,17 +392,17 @@ impl CrateTranslator<'_> {
|
||||
body: &Body,
|
||||
source_map: &BodySourceMap,
|
||||
) -> trap::Label {
|
||||
let location: Option<trap::Label> = self.emit_location_for_pat(arm.pat, source_map);
|
||||
let pat = self.emit_pat(arm.pat, body, source_map);
|
||||
let guard = arm.guard.map(|g| self.emit_expr(g, body, source_map));
|
||||
let expr = self.emit_expr(arm.expr, body, source_map);
|
||||
self.trap.emit(generated::MatchArm {
|
||||
let ret = self.trap.emit(generated::MatchArm {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
pat,
|
||||
guard,
|
||||
expr,
|
||||
})
|
||||
});
|
||||
self.emit_location_for_pat(ret, arm.pat, source_map);
|
||||
ret
|
||||
}
|
||||
fn emit_stmt(
|
||||
&mut self,
|
||||
@@ -420,39 +417,37 @@ impl CrateTranslator<'_> {
|
||||
initializer,
|
||||
else_branch,
|
||||
} => {
|
||||
// TODO: find a way to get the location of the entire statement
|
||||
let location = self.emit_location_for_pat(*pat, source_map);
|
||||
let pat = self.emit_pat(*pat, body, source_map);
|
||||
let type_ref = type_ref
|
||||
let pat_label = self.emit_pat(*pat, body, source_map);
|
||||
let type_ = type_ref
|
||||
.as_ref()
|
||||
.map(|type_ref| self.emit_type_ref(type_ref));
|
||||
let initializer =
|
||||
initializer.map(|initializer| self.emit_expr(initializer, body, source_map));
|
||||
let else_ = else_branch.map(|else_| self.emit_expr(else_, body, source_map));
|
||||
|
||||
self.trap.emit(generated::LetStmt {
|
||||
let ret = self.trap.emit(generated::LetStmt {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
pat,
|
||||
type_ref,
|
||||
pat: pat_label,
|
||||
type_,
|
||||
initializer,
|
||||
else_,
|
||||
})
|
||||
});
|
||||
// TODO: find a way to get the location of the entire statement
|
||||
self.emit_location_for_pat(ret, *pat, source_map);
|
||||
ret
|
||||
}
|
||||
Statement::Expr { expr, has_semi } => {
|
||||
let location = self.emit_location_for_expr(*expr, source_map);
|
||||
let expr = self.emit_expr(*expr, body, source_map);
|
||||
self.trap.emit(generated::ExprStmt {
|
||||
let expr_label = self.emit_expr(*expr, body, source_map);
|
||||
let ret = self.trap.emit(generated::ExprStmt {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
expr,
|
||||
expr: expr_label,
|
||||
has_semicolon: *has_semi,
|
||||
})
|
||||
});
|
||||
// TODO: find a way to get the location of the entire statement
|
||||
self.emit_location_for_expr(ret, *expr, source_map);
|
||||
ret
|
||||
}
|
||||
Statement::Item => self.trap.emit(generated::ItemStmt {
|
||||
id: TrapId::Star,
|
||||
location: None,
|
||||
}),
|
||||
Statement::Item => self.trap.emit(generated::ItemStmt { id: TrapId::Star }),
|
||||
}
|
||||
}
|
||||
fn emit_expr(
|
||||
@@ -461,18 +456,17 @@ impl CrateTranslator<'_> {
|
||||
body: &Body,
|
||||
source_map: &BodySourceMap,
|
||||
) -> trap::Label {
|
||||
let location: Option<trap::Label> = self.emit_location_for_expr(expr_id, source_map);
|
||||
let expr = &body[expr_id];
|
||||
match expr {
|
||||
ra_ap_hir_def::hir::Expr::Missing => self.trap.emit(generated::MissingExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
}),
|
||||
let ret = match expr {
|
||||
ra_ap_hir_def::hir::Expr::Missing => {
|
||||
self.trap.emit(generated::MissingExpr { id: TrapId::Star })
|
||||
}
|
||||
ra_ap_hir_def::hir::Expr::Path(path) => {
|
||||
let path = self.emit_path(path, location);
|
||||
let path = self.emit_path(path);
|
||||
self.emit_location_for_expr(path, expr_id, source_map);
|
||||
|
||||
self.trap.emit(generated::PathExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
path,
|
||||
})
|
||||
}
|
||||
@@ -486,7 +480,6 @@ impl CrateTranslator<'_> {
|
||||
let else_ = else_branch.map(|x| self.emit_expr(x, body, source_map));
|
||||
self.trap.emit(generated::IfExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
condition,
|
||||
then,
|
||||
else_,
|
||||
@@ -497,7 +490,6 @@ impl CrateTranslator<'_> {
|
||||
let expr = self.emit_expr(*expr, body, source_map);
|
||||
self.trap.emit(generated::LetExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
pat,
|
||||
expr,
|
||||
})
|
||||
@@ -516,7 +508,6 @@ impl CrateTranslator<'_> {
|
||||
let label = label.map(|l| self.emit_label(l, body, source_map));
|
||||
self.trap.emit(generated::BlockExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
statements,
|
||||
tail,
|
||||
label,
|
||||
@@ -534,7 +525,6 @@ impl CrateTranslator<'_> {
|
||||
let tail = tail.map(|expr_id| self.emit_expr(expr_id, body, source_map));
|
||||
self.trap.emit(generated::AsyncBlockExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
statements,
|
||||
tail,
|
||||
})
|
||||
@@ -544,7 +534,6 @@ impl CrateTranslator<'_> {
|
||||
let expr = self.emit_expr(expr_id, body, source_map);
|
||||
self.trap.emit(generated::ConstExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
expr,
|
||||
})
|
||||
}
|
||||
@@ -560,7 +549,6 @@ impl CrateTranslator<'_> {
|
||||
let tail = tail.map(|expr_id| self.emit_expr(expr_id, body, source_map));
|
||||
self.trap.emit(generated::UnsafeBlockExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
statements,
|
||||
tail,
|
||||
})
|
||||
@@ -573,7 +561,6 @@ impl CrateTranslator<'_> {
|
||||
let label = label.map(|l| self.emit_label(l, body, source_map));
|
||||
self.trap.emit(generated::LoopExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
body: loop_body,
|
||||
label,
|
||||
})
|
||||
@@ -590,7 +577,6 @@ impl CrateTranslator<'_> {
|
||||
.collect();
|
||||
self.trap.emit(generated::CallExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
callee,
|
||||
args,
|
||||
is_assignee_expr: *is_assignee_expr,
|
||||
@@ -607,12 +593,12 @@ impl CrateTranslator<'_> {
|
||||
.into_iter()
|
||||
.map(|e| self.emit_expr(*e, body, source_map))
|
||||
.collect();
|
||||
let generic_args = generic_args
|
||||
.as_ref()
|
||||
.map(|_args| self.emit_unimplemented(None));
|
||||
let generic_args = generic_args.as_ref().map(|_args| {
|
||||
self.trap
|
||||
.emit(generated::GenericArgList { id: TrapId::Star })
|
||||
});
|
||||
self.trap.emit(generated::MethodCallExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
receiver,
|
||||
method_name: method_name.as_str().into(),
|
||||
args,
|
||||
@@ -628,7 +614,6 @@ impl CrateTranslator<'_> {
|
||||
|
||||
self.trap.emit(generated::MatchExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
expr,
|
||||
branches,
|
||||
})
|
||||
@@ -637,7 +622,6 @@ impl CrateTranslator<'_> {
|
||||
let label = label.map(|l| self.emit_label(l, body, source_map));
|
||||
self.trap.emit(generated::ContinueExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
label,
|
||||
})
|
||||
}
|
||||
@@ -646,7 +630,6 @@ impl CrateTranslator<'_> {
|
||||
let label = label.map(|l| self.emit_label(l, body, source_map));
|
||||
self.trap.emit(generated::BreakExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
expr,
|
||||
label,
|
||||
})
|
||||
@@ -655,7 +638,6 @@ impl CrateTranslator<'_> {
|
||||
let expr = expr.map(|e| self.emit_expr(e, body, source_map));
|
||||
self.trap.emit(generated::ReturnExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
expr,
|
||||
})
|
||||
}
|
||||
@@ -663,7 +645,6 @@ impl CrateTranslator<'_> {
|
||||
let expr = self.emit_expr(*expr, body, source_map);
|
||||
self.trap.emit(generated::BecomeExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
expr,
|
||||
})
|
||||
}
|
||||
@@ -671,7 +652,6 @@ impl CrateTranslator<'_> {
|
||||
let expr = expr.map(|e| self.emit_expr(e, body, source_map));
|
||||
self.trap.emit(generated::YieldExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
expr,
|
||||
})
|
||||
}
|
||||
@@ -679,7 +659,6 @@ impl CrateTranslator<'_> {
|
||||
let expr = expr.map(|e| self.emit_expr(e, body, source_map));
|
||||
self.trap.emit(generated::YeetExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
expr,
|
||||
})
|
||||
}
|
||||
@@ -690,17 +669,20 @@ impl CrateTranslator<'_> {
|
||||
ellipsis,
|
||||
is_assignee_expr,
|
||||
} => {
|
||||
let path = path.as_ref().map(|path| self.emit_path(path, location));
|
||||
let fields = fields
|
||||
let path = path.as_ref().map(|path| self.emit_path(path));
|
||||
if let Some(p) = path {
|
||||
self.emit_location_for_expr(p, expr_id, source_map)
|
||||
}
|
||||
|
||||
let flds = fields
|
||||
.into_iter()
|
||||
.map(|field| self.emit_record_lit_field(field, body, source_map))
|
||||
.collect();
|
||||
let spread = spread.map(|expr_id| self.emit_expr(expr_id, body, source_map));
|
||||
self.trap.emit(generated::RecordLitExpr {
|
||||
self.trap.emit(generated::RecordExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
path,
|
||||
fields,
|
||||
flds,
|
||||
spread,
|
||||
has_ellipsis: *ellipsis,
|
||||
is_assignee_expr: *is_assignee_expr,
|
||||
@@ -710,7 +692,6 @@ impl CrateTranslator<'_> {
|
||||
let expr = self.emit_expr(*expr, body, source_map);
|
||||
self.trap.emit(generated::FieldExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
expr,
|
||||
name: name.as_str().into(),
|
||||
})
|
||||
@@ -719,18 +700,16 @@ impl CrateTranslator<'_> {
|
||||
let expr = self.emit_expr(*expr, body, source_map);
|
||||
self.trap.emit(generated::AwaitExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
expr,
|
||||
})
|
||||
}
|
||||
ra_ap_hir_def::hir::Expr::Cast { expr, type_ref } => {
|
||||
let expr: trap::Label = self.emit_expr(*expr, body, source_map);
|
||||
let type_ref: trap::Label = self.emit_type_ref(type_ref.as_ref());
|
||||
let type_: trap::Label = self.emit_type_ref(type_ref.as_ref());
|
||||
self.trap.emit(generated::CastExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
expr,
|
||||
type_ref,
|
||||
type_,
|
||||
})
|
||||
}
|
||||
ra_ap_hir_def::hir::Expr::Ref {
|
||||
@@ -741,7 +720,6 @@ impl CrateTranslator<'_> {
|
||||
let expr = self.emit_expr(*expr, body, source_map);
|
||||
self.trap.emit(generated::RefExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
expr,
|
||||
is_mut: mutability.is_mut(),
|
||||
is_raw: rawness.is_raw(),
|
||||
@@ -751,7 +729,6 @@ impl CrateTranslator<'_> {
|
||||
let expr = self.emit_expr(*expr, body, source_map);
|
||||
self.trap.emit(generated::BoxExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
expr,
|
||||
})
|
||||
}
|
||||
@@ -762,9 +739,8 @@ impl CrateTranslator<'_> {
|
||||
ra_ap_syntax::ast::UnaryOp::Not => "!",
|
||||
ra_ap_syntax::ast::UnaryOp::Neg => "-",
|
||||
};
|
||||
self.trap.emit(generated::UnaryOpExpr {
|
||||
self.trap.emit(generated::PrefixExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
expr,
|
||||
op: op.into(),
|
||||
})
|
||||
@@ -773,9 +749,8 @@ impl CrateTranslator<'_> {
|
||||
let lhs = self.emit_expr(*lhs, body, source_map);
|
||||
let rhs = self.emit_expr(*rhs, body, source_map);
|
||||
let op = op.map(|op| format!("{op}"));
|
||||
self.trap.emit(generated::BinaryOpExpr {
|
||||
self.trap.emit(generated::BinaryExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
lhs,
|
||||
rhs,
|
||||
op,
|
||||
@@ -790,7 +765,6 @@ impl CrateTranslator<'_> {
|
||||
let rhs = rhs.map(|rhs| self.emit_expr(rhs, body, source_map));
|
||||
self.trap.emit(generated::RangeExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
lhs,
|
||||
rhs,
|
||||
is_inclusive: *range_type == RangeOp::Inclusive,
|
||||
@@ -805,7 +779,6 @@ impl CrateTranslator<'_> {
|
||||
let index = self.emit_expr(*index, body, source_map);
|
||||
self.trap.emit(generated::IndexExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
base,
|
||||
index,
|
||||
is_assignee_expr: *is_assignee_expr,
|
||||
@@ -837,7 +810,6 @@ impl CrateTranslator<'_> {
|
||||
.collect();
|
||||
self.trap.emit(generated::ClosureExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
args,
|
||||
arg_types,
|
||||
body: expr,
|
||||
@@ -856,7 +828,6 @@ impl CrateTranslator<'_> {
|
||||
.collect();
|
||||
self.trap.emit(generated::TupleExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
exprs,
|
||||
is_assignee_expr: *is_assignee_expr,
|
||||
})
|
||||
@@ -871,7 +842,6 @@ impl CrateTranslator<'_> {
|
||||
.collect();
|
||||
self.trap.emit(generated::ElementListExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
elements,
|
||||
is_assignee_expr: *is_assignee_expr,
|
||||
})
|
||||
@@ -885,38 +855,35 @@ impl CrateTranslator<'_> {
|
||||
|
||||
self.trap.emit(generated::RepeatExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
initializer,
|
||||
repeat,
|
||||
})
|
||||
}
|
||||
ra_ap_hir_def::hir::Expr::Literal(_literal) => self.trap.emit(generated::LiteralExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
}),
|
||||
ra_ap_hir_def::hir::Expr::Underscore => self.trap.emit(generated::UnderscoreExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
}),
|
||||
ra_ap_hir_def::hir::Expr::Literal(_literal) => {
|
||||
self.trap.emit(generated::LiteralExpr { id: TrapId::Star })
|
||||
}
|
||||
ra_ap_hir_def::hir::Expr::Underscore => self
|
||||
.trap
|
||||
.emit(generated::UnderscoreExpr { id: TrapId::Star }),
|
||||
ra_ap_hir_def::hir::Expr::OffsetOf(offset) => {
|
||||
let container = self.emit_type_ref(&offset.container);
|
||||
let fields = offset.fields.iter().map(|x| x.as_str().into()).collect();
|
||||
self.trap.emit(generated::OffsetOfExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
container,
|
||||
fields,
|
||||
})
|
||||
}
|
||||
ra_ap_hir_def::hir::Expr::InlineAsm(asm) => {
|
||||
let expr = self.emit_expr(asm.e, body, source_map);
|
||||
self.trap.emit(generated::InlineAsmExpr {
|
||||
self.trap.emit(generated::AsmExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
expr,
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
self.emit_location_for_expr(ret, expr_id, source_map);
|
||||
ret
|
||||
}
|
||||
|
||||
fn emit_definition(
|
||||
@@ -925,70 +892,89 @@ impl CrateTranslator<'_> {
|
||||
id: ModuleDef,
|
||||
labels: &mut Vec<trap::Label>,
|
||||
) {
|
||||
match id {
|
||||
ModuleDef::Module(_) => {
|
||||
self.emit_unimplemented(None);
|
||||
}
|
||||
let label = match id {
|
||||
ModuleDef::Module(_module) => self
|
||||
.trap
|
||||
.emit(generated::UnimplementedDeclaration { id: TrapId::Star }),
|
||||
ModuleDef::Function(function) => {
|
||||
let def: ra_ap_hir::DefWithBody = function.into();
|
||||
|
||||
let name = function.name(self.db);
|
||||
let location = self.emit_location(function);
|
||||
|
||||
let body = if self.extract_dependencies || self.krate.origin(self.db).is_local() {
|
||||
let (body, source_map) = self.db.body_with_source_map(def.into());
|
||||
let txt = body.pretty_print(self.db, def.into(), Edition::Edition2021);
|
||||
log::trace!("{}", &txt);
|
||||
self.emit_expr(body.body_expr, &body, &source_map)
|
||||
} else {
|
||||
self.trap.emit(generated::MissingExpr {
|
||||
id: TrapId::Star,
|
||||
location: None,
|
||||
})
|
||||
};
|
||||
labels.push(self.trap.emit(generated::Function {
|
||||
let (body, source_map) = self.db.body_with_source_map(def.into());
|
||||
let txt = body.pretty_print(self.db, def.into(), Edition::Edition2021);
|
||||
log::trace!("{}", &txt);
|
||||
let body = self.emit_expr(body.body_expr, &body, &source_map);
|
||||
|
||||
let label = self.trap.emit(generated::Function {
|
||||
id: trap_key![module_label, name.as_str()],
|
||||
location,
|
||||
name: name.as_str().into(),
|
||||
body,
|
||||
}))
|
||||
});
|
||||
self.emit_location(label, function);
|
||||
label
|
||||
}
|
||||
ModuleDef::Adt(adt) => {
|
||||
let location = self.emit_location(adt);
|
||||
self.emit_unimplemented(location);
|
||||
let label = self
|
||||
.trap
|
||||
.emit(generated::UnimplementedDeclaration { id: TrapId::Star });
|
||||
self.emit_location(label, adt);
|
||||
label
|
||||
}
|
||||
ModuleDef::Variant(variant) => {
|
||||
let location = self.emit_location(variant);
|
||||
self.emit_unimplemented(location);
|
||||
let label = self
|
||||
.trap
|
||||
.emit(generated::UnimplementedDeclaration { id: TrapId::Star });
|
||||
self.emit_location(label, variant);
|
||||
label
|
||||
}
|
||||
ModuleDef::Const(const_) => {
|
||||
let location = self.emit_location(const_);
|
||||
self.emit_unimplemented(location);
|
||||
let label = self
|
||||
.trap
|
||||
.emit(generated::UnimplementedDeclaration { id: TrapId::Star });
|
||||
self.emit_location(label, const_);
|
||||
label
|
||||
}
|
||||
ModuleDef::Static(static_) => {
|
||||
let location = self.emit_location(static_);
|
||||
self.emit_unimplemented(location);
|
||||
let label = self
|
||||
.trap
|
||||
.emit(generated::UnimplementedDeclaration { id: TrapId::Star });
|
||||
self.emit_location(label, static_);
|
||||
label
|
||||
}
|
||||
ModuleDef::Trait(trait_) => {
|
||||
let location = self.emit_location(trait_);
|
||||
self.emit_unimplemented(location);
|
||||
let label = self
|
||||
.trap
|
||||
.emit(generated::UnimplementedDeclaration { id: TrapId::Star });
|
||||
self.emit_location(label, trait_);
|
||||
label
|
||||
}
|
||||
ModuleDef::TraitAlias(alias) => {
|
||||
let location = self.emit_location(alias);
|
||||
self.emit_unimplemented(location);
|
||||
let label = self
|
||||
.trap
|
||||
.emit(generated::UnimplementedDeclaration { id: TrapId::Star });
|
||||
self.emit_location(label, alias);
|
||||
label
|
||||
}
|
||||
ModuleDef::TypeAlias(type_alias) => {
|
||||
let location = self.emit_location(type_alias);
|
||||
self.emit_unimplemented(location);
|
||||
}
|
||||
ModuleDef::BuiltinType(_builtin_type) => {
|
||||
self.emit_unimplemented(None);
|
||||
let label = self
|
||||
.trap
|
||||
.emit(generated::UnimplementedDeclaration { id: TrapId::Star });
|
||||
self.emit_location(label, type_alias);
|
||||
label
|
||||
}
|
||||
ModuleDef::BuiltinType(_builtin_type) => self
|
||||
.trap
|
||||
.emit(generated::UnimplementedDeclaration { id: TrapId::Star }),
|
||||
ModuleDef::Macro(macro_) => {
|
||||
let location = self.emit_location(macro_);
|
||||
self.emit_unimplemented(location);
|
||||
let label = self
|
||||
.trap
|
||||
.emit(generated::UnimplementedDeclaration { id: TrapId::Star });
|
||||
self.emit_location(label, macro_);
|
||||
label
|
||||
}
|
||||
}
|
||||
};
|
||||
labels.push(label);
|
||||
}
|
||||
|
||||
fn emit_module(&mut self, label: trap::Label, module: Module) {
|
||||
@@ -998,7 +984,6 @@ impl CrateTranslator<'_> {
|
||||
}
|
||||
self.trap.emit(generated::Module {
|
||||
id: label.into(),
|
||||
location: None,
|
||||
declarations: children,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
use crate::config::Compression;
|
||||
use crate::generated;
|
||||
use crate::{config, path};
|
||||
use codeql_extractor::trap;
|
||||
use codeql_extractor::{extractor, trap};
|
||||
use log::debug;
|
||||
use ra_ap_ide_db::line_index::LineCol;
|
||||
use std::ffi::OsString;
|
||||
@@ -82,29 +81,35 @@ impl TrapFile {
|
||||
pub fn emit_location(
|
||||
&mut self,
|
||||
file_label: trap::Label,
|
||||
entity_label: trap::Label,
|
||||
start: LineCol,
|
||||
end: LineCol,
|
||||
) -> trap::Label {
|
||||
) {
|
||||
let start_line = 1 + start.line as usize;
|
||||
let start_column = 1 + start.col as usize;
|
||||
let end_line = 1 + end.line as usize;
|
||||
let end_column = 1 + end.col as usize;
|
||||
let (ret, _) = self.writer.location_label(trap::Location {
|
||||
file_label,
|
||||
start_line,
|
||||
start_column,
|
||||
end_line,
|
||||
end_column,
|
||||
});
|
||||
self.emit(generated::DbLocation {
|
||||
id: ret.into(),
|
||||
file: file_label,
|
||||
start_line,
|
||||
start_column,
|
||||
end_line,
|
||||
end_column,
|
||||
});
|
||||
ret
|
||||
let location_label = extractor::location_label(
|
||||
&mut self.writer,
|
||||
trap::Location {
|
||||
file_label,
|
||||
start_line,
|
||||
start_column,
|
||||
end_line,
|
||||
end_column,
|
||||
},
|
||||
);
|
||||
self.writer.add_tuple(
|
||||
"locatable_locations",
|
||||
vec![
|
||||
trap::Arg::Label(entity_label),
|
||||
trap::Arg::Label(location_label),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
pub fn emit_file(&mut self, absolute_path: &Path) -> trap::Label {
|
||||
extractor::populate_file(&mut self.writer, absolute_path)
|
||||
}
|
||||
|
||||
pub fn label(&mut self, id: TrapId) -> trap::Label {
|
||||
@@ -157,9 +162,11 @@ impl TrapFileProvider {
|
||||
);
|
||||
debug!("creating trap file {}", path.display());
|
||||
path = self.trap_dir.join(path);
|
||||
let mut writer = trap::Writer::new();
|
||||
extractor::populate_empty_location(&mut writer);
|
||||
TrapFile {
|
||||
path,
|
||||
writer: trap::Writer::new(),
|
||||
writer,
|
||||
compression: self.compression,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
/**
|
||||
* The source location of the snapshot.
|
||||
*/
|
||||
sourceLocationPrefix(
|
||||
string prefix: string ref
|
||||
#keyset[id]
|
||||
locatable_locations(
|
||||
int id: @locatable ref,
|
||||
int location: @location_default ref
|
||||
);
|
||||
|
||||
430
rust/ql/.generated.list
generated
430
rust/ql/.generated.list
generated
@@ -1,223 +1,323 @@
|
||||
lib/codeql/rust/elements/ArrayExpr.qll aa558ac94bb7c45145e4788ed1a92e2873c5f57f1a0c7b7faf341f40027cf455 874da62a3d6467af7ae11045229135f8f5229cff33f3edae5b01a5b9afe86dd7
|
||||
lib/codeql/rust/elements/ArrayExpr.qll 822b7dea414d3948f15ee89a014d9ab5ab857db59d8eba7ade8ceed3b453bba4 fb0fc738da8142e8226d99db5ccc1006458bf50f1a95699cbd3012d0917db196
|
||||
lib/codeql/rust/elements/AsmExpr.qll 825f9aad83cb4f40cf25ff2da0bb6bf4c7e2b469443f7a8902a994c89d134e38 24212a120cb55658a621085d4e1a3fa611ca9ba742784c772e2e1d353e73783d
|
||||
lib/codeql/rust/elements/AsmExprConstructor.qll 2b81ea1b0df1171f990e30f074cf8bbccfe7cfd775a746d48e09c60d5d5c8e04 e427132d2731a703ebe047a5e81559813ed4cd055aaf3a0f1221eeb76247ad6a
|
||||
lib/codeql/rust/elements/AstNode.qll 2069047c779514867c12d845dcdf889db6f27fa6a9e484966a3c28a77973b7d4 e214616c81418b0018c0d36896ac2ec7273634e3213bc8257d8b172f396c00ee
|
||||
lib/codeql/rust/elements/AsyncBlockExpr.qll ce6484a28403bc36e261ae6931b02a15db6fc54cc0c1bfc441e33d7284f6c74a e5b3c00f74543a6ceeaef053aaa1f00006026b8242efbeb7e1e9633e68cc4844
|
||||
lib/codeql/rust/elements/AsyncBlockExpr.qll 7cc9709af8c5f844fd6bf6d4cf49e245d19a0ab6d73ef69e84888a4a9b8e47ce 2f9ede385321df47d2e4ac1297d07be987ff53a576a8dded9a615ad83fba6de3
|
||||
lib/codeql/rust/elements/AsyncBlockExprConstructor.qll 2d7d22caca1984e850d723f9ddd581530734bf4c31c545ea598bc27144a32f1b bf2ff9edff95db8400017b7583d6881581c431755c70e0068a495787993010f9
|
||||
lib/codeql/rust/elements/AwaitExpr.qll 310cf2cf155bc472caed76f596d7f789e9fa19c24d73dc0235d601ff9f32de40 d4b53d79a12d4378eebe2211b37b0f819177620b86a3eabfbec4096adfd200c4
|
||||
lib/codeql/rust/elements/AwaitExpr.qll da0f5928cfee39223c48b74b1921d18c39cc4f8ce7c2189342fb6e8e79c76985 e72e2cf142058fa93143acf9dc4c420572a234b4d4f11155567a7184e9152257
|
||||
lib/codeql/rust/elements/AwaitExprConstructor.qll af0dfdf36b300d412a7b8668f68e6594fe3338216cdf1aa420c9a58608aa86f5 cfa115902ccf070e34ee451bc2f89295c97e8418501359a8cdc646d16c4cc7cd
|
||||
lib/codeql/rust/elements/BecomeExpr.qll 91e08545258ff3bed8b63cb0e719f71f04cf21af758688cdb39d4be56d104db7 ba381c94e998c2fa275ab84f1e785cfb6af5ab40ad690e6b429eb72897837ac4
|
||||
lib/codeql/rust/elements/BecomeExpr.qll cf7d219b639e8e93f6a44bb14be14740b17bdb789f7299863560b2b5d4bfc7f7 26511c65fbdbb9352b6628a813e3f00be8495f2a34abdfae5a5ece8dd59cb04f
|
||||
lib/codeql/rust/elements/BecomeExprConstructor.qll 0c206e657417066415850672a804a69e5fccc605c309bb8755737ae01e332f18 e70bd0c411ffc23c37b22a459455c95ff75a72fa2d179f751bff99866eeef2bc
|
||||
lib/codeql/rust/elements/BinaryOpExpr.qll d85404c249175283d7ac7daada3951f47b19ef56b08749906c8bd3895959db9f 9e1d35061bab3517c716e3d0fe42654568e16b6577d6d26861b87576839a33be
|
||||
lib/codeql/rust/elements/BinaryOpExprConstructor.qll efa89c084def020961641772f4829fc54bf718817831d4752b9bf403ce0e61dd d7937326ba08410fc3ba37e44b76530804f492177ef5e62dd416094e1e2f9bd6
|
||||
lib/codeql/rust/elements/BindPat.qll f0209f781d8a14ab7fbb4b4d6a654469aecb0ff1a8ff4810f18a90f3b171e1c3 9734b7907855e46eeded6c3f59912a16212f7e8639fba35c740bb04462240287
|
||||
lib/codeql/rust/elements/BindPatConstructor.qll 2bbcc296bcdcd945313d83294b90d327c51c9f1e96f92d37dd10bf0c32dfaf6a 612b4fc651f32129155727e866796edee8fff939614c6fd0b7baa1392930a38c
|
||||
lib/codeql/rust/elements/BlockExpr.qll cd7a978d3ad15156467ee213d65ef0dcc806af43888d1de4635e875b2d76f5fb b0286039d03f2f554ab5c31b902386357e19127d35f70211b1373d591053ed8f
|
||||
lib/codeql/rust/elements/BinaryExpr.qll 2c59bac9aecb4a0a3495b9e2a3294ff9d6aef3204acfcb05d278c10427269e81 e0b99b8be24214d0eed80ce81d38e7770afd1a9d515622d5f1d51a0df1e553ac
|
||||
lib/codeql/rust/elements/BinaryExprConstructor.qll 1cae8104dc9860a7e445594465fbffeb7cb73534887d9766eaabe2bda8e62957 3d347cff129b9bbe8b66cee0e55596c02b8c11fe7c78b5a47e11e5c7ac57bbf4
|
||||
lib/codeql/rust/elements/BlockExpr.qll b699906fba2dee34699e110b8759419079a5ce3dc1fab207001c9c9b612dac5e 429016df600e3905bd235d0e707c50ecdbf12b3ceddedcbf48944ea76e60f915
|
||||
lib/codeql/rust/elements/BlockExprBase.qll 1b24ea5fd43dce0e240e1d7740a062228c19e8c704f6ce26503ddbd65c6f5282 d2e05a51d3840caf4de4cca6cdab9551f396df317c8ad1da661205aa822646cc
|
||||
lib/codeql/rust/elements/BlockExprConstructor.qll 7fc9214582f0e6e8b4db06f7c6ac3712dc260abc12ff65f3e93bec5f210b0098 13bc676b67ed14b326e4bdaaa43b497ce486dc2c3145a76a25fe960c82a6ba54
|
||||
lib/codeql/rust/elements/BoxExpr.qll 02e6f063c8e2aa01b12eb3223783e8d88330f4faadd71fef253b5dd39af8b556 bda6357d99430b524de82be0da444cc180dde9ba1f3e08c1bd4c53143789fcf0
|
||||
lib/codeql/rust/elements/BoxExpr.qll f4727005f1b07d0d2f2230379778929351ad9fda986754b48980e8b166cd68a9 adae835238f824a48ad700310c3fce70bc9a890538cf361b4ed5b3d213fcc67a
|
||||
lib/codeql/rust/elements/BoxExprConstructor.qll e30e71b88978b5d0f156152acaf7eaebe26232b7a5a562cf22f1bb9659ae5deb 3ca41494c5101ef73877737420fbc468483ac7ef215d11b431dac2dd6a08ecc5
|
||||
lib/codeql/rust/elements/BoxPat.qll 1df08d5443c63e21d40d25023da58da50bd6cf6e156b9f5dbd6d41a3193faee9 9837752be4d4a1c3f16d6438bd361c596b6b983d9ae4e486083651e8f4e090ff
|
||||
lib/codeql/rust/elements/BoxPat.qll 15d63d499678417c6dd5118944fae3abc416f550acd18810651b85999bdc0d55 5360a2bef9e42e7274bfa68349a3b19020e000919358865c272338721956e384
|
||||
lib/codeql/rust/elements/BoxPatConstructor.qll 20f79f18beb8b7eeec63b1e30302d9f2e514354a7b1ae077f240db3cda4ecc4c f41ca3fdafc70c6b972598a3af3434bf60687bc2f0252dd11ddd09ec874fe63c
|
||||
lib/codeql/rust/elements/BreakExpr.qll b760b1f9ba612aa29c917a25d75143e90bbdb607d12ea4a49067ab44595292c1 ee0bf075f2b237c1513cdd03dd35666d4c9158dbf1216a30c5aec05db9e6d317
|
||||
lib/codeql/rust/elements/BreakExpr.qll 526da383194cfc0600ba623182ef8e984b44da76609d335b209067b9381e2e18 6d7b6e970b69f093be5015e847512830937e79a2460a6c49d286cd5c8ebd350d
|
||||
lib/codeql/rust/elements/BreakExprConstructor.qll 48b71a034b7b6b0ecda47c72379696c6d4ebb9eadcd6403f9c001945855c5365 fbbccb6d1718393ad6ff3a2bd473dd51691c871db9181cb1e041b318f91d27a7
|
||||
lib/codeql/rust/elements/CallExpr.qll 7b76acfa945d7cc04bab4012fc8476f8e4f9970b7051ea02fe5b12ec57927897 57ebf163cd6db203f5dd05d629f68bc4e39666ebc4d1252ba1e09b88ffbe60ef
|
||||
lib/codeql/rust/elements/CallExpr.qll 68f43b25fc38d3df4909e9b1a44ace18a143db480d1d4c30c98a724ecddd8d94 199356b943f73828efa9b116ceb3549daa7743678122451bb306c4e26abaf184
|
||||
lib/codeql/rust/elements/CallExprConstructor.qll 9a7e9e780ff6604ddf0b9e5f27bfa43b720bb341673c7740148561c666ccd066 945804ba7c1dbfb9f221810be9d2fc3dbee3ce89dd9d08b3f3e719d31701ed98
|
||||
lib/codeql/rust/elements/CastExpr.qll cdd74a040d6b1aa44f6e2bdb2991e642f013848f32a17588291317a7abf38961 06f3228ac826fc452d75505345707b912426f05db78380a72f0ba586fa00c282
|
||||
lib/codeql/rust/elements/CastExpr.qll cafc39afc4103781b475906a0e178175b32374a04915b59d84b753d3c1e71544 1cd95a62b3e3983827a7622326110071a839595d1e6a76723f8072ac6cf32f02
|
||||
lib/codeql/rust/elements/CastExprConstructor.qll cab6e9a9872006cc811620bda522fafde23fc4edb5151af06a5a0938747dbdfb 6d972faff70166c4b07392a0bc90c6d72c9466b58b55e7651ef6c3d06cf72873
|
||||
lib/codeql/rust/elements/ClosureExpr.qll 2a8b0a94e37b8406acee038ae0737604174b3062f3c12ecea27a3104ded3b2bb 904eed60004ad20c0d03965f91e1d2227cccf3b13ce29341c79d545aabe492f0
|
||||
lib/codeql/rust/elements/ClosureExpr.qll cde112e1e1fcd5677cffa3469e376ff2b69ff6f55d907152b4afba4d92d06c55 f9180e4e0905ba233f64717719ee653ee5dfd2dad9f87a81b63b513ce5e73bc3
|
||||
lib/codeql/rust/elements/ClosureExprConstructor.qll 238dceb78082a5566276640d4aa31484041700852c0751130d139a69ac8bde46 7aae22930def4d438d742255731cc59b78a95b73a0b1d6334ae9965e083e03bc
|
||||
lib/codeql/rust/elements/ConstBlockPat.qll af7f5f1a8de38266a12e92dee4a5ef5279baccf542cf2c52d982ed075d3bec27 1208223d97230a90d9377164b61454dcc6ca0f46a408e4a5ab2a82340bc92eb3
|
||||
lib/codeql/rust/elements/ConstBlockPat.qll 397ad2bd112a34f39c486acf6c82c73881ce3f70d91634649ea040b92f96c8c1 96bf33b3732b8aa60e83c10f48eae538e695b1b8a6a5942e8e79a924e09e60f9
|
||||
lib/codeql/rust/elements/ConstBlockPatConstructor.qll 04aa8b4f218ce87157f0d6b10c9c04660c34c90af1f121b1432402de2e5114cd 34e2fecbe91ea9ac1626bc27121a7d5abe99855e3f49bdca12a1969b42ac0ba5
|
||||
lib/codeql/rust/elements/ConstExpr.qll df129a4a1f65c07076e15097571ffd12b91a63d3ded97bb3173b50a7f1279bb4 dd3b7a5230baf5d1a062d49324eeb6ee5a76f156944ec149da8bf46c982107b8
|
||||
lib/codeql/rust/elements/ConstExpr.qll 70a7c9db14efaf290a77401eb04c439b24ed77c21496cee53b89d92d350daeaf e3f98ac4dde94a4dc8d6df51ba4ecd4acc492d9de569ac3eee9dd3bc258bd03d
|
||||
lib/codeql/rust/elements/ConstExprConstructor.qll b4c96adc2878047c36d7ceaba2346ef66a2269b5260a56c3d7ff6e3a332bad75 ce15bbfd1448e47d3039e912363efa607cc2c29d44b8248ac91c307af7b57016
|
||||
lib/codeql/rust/elements/ContinueExpr.qll 46635ab257d8cc8ab3ba4b6786df7a2ff4d2e6360578bebde8bec1d6ae90b8c7 a0c60fb018ced67e1d6eed1c493b2c6d729636f1325b556ed5bcbcff072cd8d7
|
||||
lib/codeql/rust/elements/ContinueExpr.qll 6d123e17b40c8512e8abb63657ea6ab4cf3fa2485f503b6d750ec00dd5bb170e 5778fd7bd6ad44b6276b36a85f438c303b11bc6e995ed1cc92b9d51536725710
|
||||
lib/codeql/rust/elements/ContinueExprConstructor.qll adc5c5b4fda5dc5102cdace41c32a6c94fe07a2e2555ced6ee62a2d2551b90a2 9dc5045b0d91a3a28cc1c0d59c6fd40620257a6c18ea8480792183c4d802fd8a
|
||||
lib/codeql/rust/elements/DbFile.qll 056d363e1ba5ec08cacb2e90b8a7a3b47f52ded5dc2289edd4e85921fc50f37e 18e6926f77265a3a6319ca2f3bf3d529d17d46cebdd2ef6753357fdc53c22c70
|
||||
lib/codeql/rust/elements/DbFileConstructor.qll ea93dc49b23b1c6d800ab9d0b9cacfa9dc661bfdb04b9e6efcad2bdb050fb0ab f7a891b1786604eee57a784733555b677e2580770d51d18073b59e7ca65df1d4
|
||||
lib/codeql/rust/elements/DbLocation.qll 1f694594e8e4ab65a8781cd443ad4f864447ca88e2cb65504aee5a779393c84d 003ec72275406eb8f5ddd6ccc2b258fb7c906d4bb2c0ef1ba235f291624321ca
|
||||
lib/codeql/rust/elements/DbLocationConstructor.qll 8848abace985818a5d3a6eddfc4cb200795970146d282b037b4f22ae6230b894 44dba880e17bb1072fa12451ccaae4830fd04dcc61f7403d35510309fde6906e
|
||||
lib/codeql/rust/elements/Declaration.qll d4ec5c83728f1837243caf2f27d06fd05ecdd2ca440112accff99bfd37b45e5f c1cd9b297be8b69207e75d24b29949b9f71c78406ee0ffd38d0b0810288d6140
|
||||
lib/codeql/rust/elements/ElementListExpr.qll ec535846c4f449a3e58bb3b8dc583960ef3b42a10836ad13a6c3091f625ab463 3797f92086ecab90406b7493953d78af27b0b5c68199e2f37abc15f3d1cf88ed
|
||||
lib/codeql/rust/elements/Declaration.qll a902e494e43c13dafb0527a259c7244fca32cf38464d6892143d3a6856683df2 764d0db5928d4243f6c98bbc2cb9268dfad3f489a3e5382d533ddfee153b8685
|
||||
lib/codeql/rust/elements/ElementListExpr.qll 64356a9bf66f0f316da659fe8046828445804dcf5ae6b19e52232aaea8744885 0822b1430e5c811e74e092cd19001dca783e8d26df140c5366cce61692eaeb2c
|
||||
lib/codeql/rust/elements/ElementListExprConstructor.qll 12b06597e0700cd0eac70e42cbdc1a2d410e0ffcd05c21a213812a488b5b236b 7adb2e442f1bc362c44824aaba0ab4a7fb4a4bc550a3c96f963dc03bed582d39
|
||||
lib/codeql/rust/elements/Expr.qll a0c2cb3ff9628e5dd1a7900d2413390faa433dcef114bdc85279a3a2bf2fc4d8 a0e8e5693ead91b62da5531e070e11a2105ee49046cb69e63b8747eeafc27651
|
||||
lib/codeql/rust/elements/ExprStmt.qll afe41d6d05ed9d94b3c8529dad743bdf3e2a0e68bed84a80da4dd6df0257451d c1f0c7c1a3c62baffb7d3bb69cc4bc828e6fbbbabe8f87342ec67d8744fcbe7e
|
||||
lib/codeql/rust/elements/Expr.qll e1932febe46ca4f1b2d0caa1f1e8b14e84904fc1b1b663a54511d8ab34d40a59 d820fbd85b938121f33da27827979dd6fd83a8331315581af5922ace13807a47
|
||||
lib/codeql/rust/elements/ExprStmt.qll b88016cb0b3b53fd8c6feb98e4a17b72a65824efb9aac798c67a6e1be0cbec77 e5bdef5ba3c94495900494b1f3c61c167748945372e3de061b8a4e3f7edce430
|
||||
lib/codeql/rust/elements/ExprStmtConstructor.qll 28e37020abdfce5a8666b0c9a3147c339c7a90d9de527f97fc7d36df2bb921ba 5333db932a2edb791ec3c8f2c215f4c74e825a362f45ee901949d81e328bc7fd
|
||||
lib/codeql/rust/elements/FieldExpr.qll 1e3d84c3eeeeefa1837b5359f7289c0f03122848b6f95fdb362cfd947304e107 28a6f8201b435b87705afcb8088d017fa699f60be3aefe03dd56f978ac7954d7
|
||||
lib/codeql/rust/elements/FieldExpr.qll 54b2dac331f4de45c4520e318373805d41f63d45ca695ae618c8f42d30f38d5d 2f87397d3cfb07763e287b0bca83d625368ee2c6f29f8fff2de509d5696ed27b
|
||||
lib/codeql/rust/elements/FieldExprConstructor.qll 75bd0526fae157460750f3ea1e087c857cc703fca03d34f1f478b57ee8051590 1e5555910c643235e34b73f9844e894e51f357c3f7aba8165c47caa147336c53
|
||||
lib/codeql/rust/elements/FunctionConstructor.qll a9269b37182c0bf432f9b2b015691da5dbd64819b9bd25445af229d873014a91 69107a7503af14a51e091e6918094a4e9fc316a72de2e1514f001872ce0f2c0c
|
||||
lib/codeql/rust/elements/IfExpr.qll d5461ea0370765b9dd0c5aae298e53c9b3d84bacc783991fb9dceee44c87e8fb 90c5f959144c767bc8f10b322489264b076c33f19af0d19e97a08d083f76913b
|
||||
lib/codeql/rust/elements/GenericArgList.qll 3db540d2cc2ee748aae2d4ed7917644e78e0016649e8a8e0d96aab78f2893564 b6b826e9a5ab14448e1ae35d5a22029050c08a18f9ef68d4731c6641c7e0f6cb
|
||||
lib/codeql/rust/elements/GenericArgListConstructor.qll 68e8739557bb470c04ae12f6b39d34c6fa4966bfdad1768b9e4f1a596447cd72 e0fc7e51fea925b7f21e771eca7e1bb2d506d6992c80ecd7902c9656610e545c
|
||||
lib/codeql/rust/elements/IdentPat.qll 239fde12e3dcc46ca94be91c039f26e0a74b5c2e550118a03d451b30a0bfc03f 926ba7ef1dbfa8423a85771872131b1d2e7a55730e281ddb2b360cbac9781e59
|
||||
lib/codeql/rust/elements/IdentPatConstructor.qll 3144353f70712a224b5e7af6c5a2cd3452d4c2e164c38092ecb5f6c668401a92 26732573959eec1690afbc1d99ddc76d1fe4936244e0108e7d7c84f69136539f
|
||||
lib/codeql/rust/elements/IfExpr.qll 87d29f7f6eec05e03d3e929e32b526787f41d5320141bfe96028973e15ef225d 42789266b2c54b222c1d980f85e3150c80397668e61c9952df6905f1bf0fc4b0
|
||||
lib/codeql/rust/elements/IfExprConstructor.qll 961ac42fe811db7c56c9d85e98724a87571e8543265c0424a7b61f26ef41b369 43d9412a22908a7e5c38f1f5e8f88162367407b71037f469dfb7d8dfdc3a063f
|
||||
lib/codeql/rust/elements/IndexExpr.qll 0729277577ffe82d6dbc8fd275a70de59a3926aafea730e622ecbbca7b84e313 c9bc5616664e072fbaef2b89d4047f5f7e28d002cca2fa17333f29db80adb284
|
||||
lib/codeql/rust/elements/IndexExpr.qll 924fe6732ffefca376d099255e2eb6682cabd6cb4267dc997fcf85aa5478a3a6 09e65b09cfdb928d134d3aad17acc07602a0bcbca098d775028bcb7624f16b11
|
||||
lib/codeql/rust/elements/IndexExprConstructor.qll 37e70c773123d775b6281514a2727e133e02fa87e774076f857a676697a1f2ba da2ed2819a13ab7c526b74c1c375ab2fce63ed17f61d5b29e4212343d6b77d06
|
||||
lib/codeql/rust/elements/InlineAsmExpr.qll 5883542b068a11c22917bd46e44eda2f5e4a9de67f5346acfaa2334f73ee63ad 9a8823c91daff1337aa60cbd6bf3b6e96ad1e8603dfe79dcf404636de2693a5f
|
||||
lib/codeql/rust/elements/InlineAsmExprConstructor.qll 5a3eb5162805366dcc2aea00714c1a0880c31b614b73b69f1638ff4f088cdb11 89c54b68b0246fe5d86f119c1892149746d7fe22d6ef8b625c9ab64398d19d26
|
||||
lib/codeql/rust/elements/ItemStmt.qll 70fc3f9df9794dc78199dfd81b8136701d4ca0c9b3c6e88ecec42f75fbc41f32 df122241e3868b1c376e2d2501328ad47020a0837826f165c7e54640bc018156
|
||||
lib/codeql/rust/elements/ItemStmt.qll 7482437f4acc6a213a65cd1615be2f909cc4bfa354894df665c8f5e17622d325 aab0311fe7a189bf8221f51c3f46fccd785887d53e664b230abd94f5a89dfd44
|
||||
lib/codeql/rust/elements/ItemStmtConstructor.qll cd27051f73ab2897b1f7a725313f97d36507fc9f5e0dd7b2ad8bd1caaf8c42ad 67596c97386fbe6cb9e5e6abc45b674158f411d927297345cb25359587380bcd
|
||||
lib/codeql/rust/elements/Label.qll f48209b24876d581e95120bc548c44033b6552a7875eea73ce44aa57b675eeb3 d17163f3adc9f94a462269f565153aa2822533d03487e521d9c5d5e72afaa1ac
|
||||
lib/codeql/rust/elements/Label.qll bcd453a21ecba694ea3e42316f0c2b6a213d885bf2cb5ad80fb14d64a1d4952f dbde62a6567c79b137c78210bf04609b2c259ada9a8bf8c1e35e44438c61b983
|
||||
lib/codeql/rust/elements/LabelConstructor.qll 0625a149cb34b9f603b76efd76e679bb63808d47f9fa529959784347d8e7d447 2115bc7de878af444777f96247bc0a775161f3766e38c3c4d363c2f59b2144da
|
||||
lib/codeql/rust/elements/LetExpr.qll 986598132db0cbc861adc641e633a54b7651ff5f3bc52b5e2f4e84733b774fb5 e61ed80a6732fb344498c8eedf3b787546eaa38f203265e9a3195e93d3534a19
|
||||
lib/codeql/rust/elements/LetExpr.qll 49a9ba97471d04d52bee73f9b5651bec09fae40c5779db59d84b69a3e04c0a4f 682c504fb507855c96833677225c4ddafc20dee75f8203e0dc110aeac89fa2f7
|
||||
lib/codeql/rust/elements/LetExprConstructor.qll 8904b25d70fd0e6f3db74d2e09bb3e3fee407282ee45030fdaeac31b6111db70 36dcc877f6c1810228d593d914cffa7b04ecf0afe13c4c122aca72f33d03f566
|
||||
lib/codeql/rust/elements/LetStmt.qll f9e28ca0123e2a6e1f6115821282440397cf2647577b4bfc4d00cbb4312d8eea c65442707090461035160ce830c4c0a85d1fe626f03026c13ebc4be06ec96905
|
||||
lib/codeql/rust/elements/LetStmt.qll 542dacce4a4991f0250b45a6c3b28829117e6e5692320494819244a155d05e8d b3e50baeb3534a4352d6bf898ace88e250d84aa05ba0c0debdae5c18c446f3c7
|
||||
lib/codeql/rust/elements/LetStmtConstructor.qll 5882f0e4379d07e8281a955c9eed7dd907b610750887de3dd6451cd1c8d104d4 68b0890d8a493dcca74190904b00f05b0e58aacfe5a2aa63e5ead1ba366d3c38
|
||||
lib/codeql/rust/elements/LitPat.qll 539b414883b0b86ff446fa81254f2c71f467e5ea0bda21dc3bd66cf3abf95b13 d54eeb618cfb8f0c4a48ce5ab1922fca2622f4a0c703760aa344028172f37642
|
||||
lib/codeql/rust/elements/LitPatConstructor.qll 1a1c5f711b04bfc9b8b9a197564cc8acfeeaff1a9c8b30d57657747d84138fce 19cfa7386fd1f4ad8ba1ffe8b14bc547b9884dc98e731b6935afd11ceac6b5fe
|
||||
lib/codeql/rust/elements/LiteralExpr.qll c5abad970feff4cb2719cc4774aedcfbc494a68fe15e13c36eeb2516d26a88cb fdb399d9a6162be54c3cbdd83654b9736faee9b15aa111f1bbd6f333d332c87a
|
||||
lib/codeql/rust/elements/LiteralExpr.qll 031edbbd52d2107a3a7149a4dde306f5fcce9a32b7f4c5f7398b013c06ef37fe 7c18930dc7514f5fbe0a4248242430ee06f403b4e301c4e594355fc5b2fc8941
|
||||
lib/codeql/rust/elements/LiteralExprConstructor.qll 1a6aa25d6700ab9c85bd7b721e4818064a3a092386589ecdc2018b8b8c2464dc 6d6b50e2dabfa671110454d64f0903336563ee4be1dc6751071a801ac2fcb8e8
|
||||
lib/codeql/rust/elements/LoopExpr.qll 6596e1d8ef1e9479785871321021930244dfb7736111801aeacd08446f4d2238 5895e4a5d4187fcd852528f0cea99fa378d60d279c7896b221eca8e65109fb96
|
||||
lib/codeql/rust/elements/LiteralPat.qll 1971f70ba0b872de28e1a168ac63d35afc123c5a710efe83b78e88cf949ff20a 1d00573dcffe4d4cfd444baafed38ec693035057d6b825e76e47d436fd08d02a
|
||||
lib/codeql/rust/elements/LiteralPatConstructor.qll abe137b2b8ec9dd9450fc77d2d826fe891bbb0af23b0c26ff5e2d1751988f747 e1642805588737ed98eebec1d16cb0fb9fd081db203ec725db85b02c4837bdcb
|
||||
lib/codeql/rust/elements/LoopExpr.qll a32330e9f6c5420e7fbd4a61f53dde892c1acadabef074b7e9aa3beae39617eb 97061b3dd86af3ef271587aa337d10f2a7094cb69d7e339baf13e5a7817e1389
|
||||
lib/codeql/rust/elements/LoopExprConstructor.qll 635348fe22fb47c7e59bed02a8ed6420be5a9ce92a7d9bf4475465ee170c917b 2bcfe70247c55659b3a3e09562da52fc645cc3166748f268c5a38b35fca24233
|
||||
lib/codeql/rust/elements/MatchArm.qll f91def96700dd8521c11aef100f494d2d44777186e771b306ec9579b01c882af 021b298096cd88d3de81c2c012102e5b5ce5159d6dbca2bbd32b266593df335d
|
||||
lib/codeql/rust/elements/MatchArm.qll cde6e94b3e65fe0fe35c2e5e801d9a8297a6770d4e7a26f75f433321a6e2c781 c17031a4570f712a092d629f5c347e4b9e246145e2fcc09e56baf041158aad62
|
||||
lib/codeql/rust/elements/MatchArmConstructor.qll 49d134823a445a1ee995ebf5637fd0d736b9ab7f2b141026712f231ec4ed3389 f16e8adc8375e6a7334589d5732dcbe10f5ada9de7a12c549c55be3f028ec628
|
||||
lib/codeql/rust/elements/MatchExpr.qll 87eea89af08e7b9e4dc958aae0d35035fa8cee5fa7108f59cd0d3050dc70eb29 ceb061ce32c20c9aa12e6376474ea1ce1b8bb9c9b0e58b67abeb4bb666a18676
|
||||
lib/codeql/rust/elements/MatchExpr.qll 6938b5b9aca51f15cc0c0c6374a5845c9c298cb49d17c8111abb03001fdf5508 1e43ba73fae5fbe01645cbc762ab229f2148a53da3de1c8d083c1292d9019fff
|
||||
lib/codeql/rust/elements/MatchExprConstructor.qll 74df937d7d8bfbfb02bdbf095595eb3f2129ed4c0854bae6d73b5b38d4fc902d 5c388c02f02462d843945111b72de12bce33c7c332d55993d903aeb250213407
|
||||
lib/codeql/rust/elements/MethodCallExpr.qll 2dd115a2e5ac298d9a81cab2718b7abdbe52825938ea88115913c82a0f2f7751 9733c353b9e6703ef812eb8b6395db49d6d656460c575dbd75d67fa96784a33c
|
||||
lib/codeql/rust/elements/MethodCallExpr.qll e92c5214160d6b5bebba76c78f5ec0380a629230991513326585c99dab7be1f3 ed05c7f40fb6d1c97fa0a3a631db1913b8e6abb5c2b3513d0e81a82a2e5f7f95
|
||||
lib/codeql/rust/elements/MethodCallExprConstructor.qll c9e1137ba6b76eabd941ecaa27a5b43b6fc3ff445ad46d3f625ad086de0e0af6 47bc4c30182b891c7009ba536edad7393dc068b72d9dfc16b26174b15d49748e
|
||||
lib/codeql/rust/elements/MissingExpr.qll 2158f064d027975e3faba6a858b8e469c324544ae0923319b149fd5ec6548448 500ef109ceb36f5da72040fc733c7e98f94920f51d53d90fff3d86f85da0aad3
|
||||
lib/codeql/rust/elements/MissingExpr.qll 618f80b813afda19783c689c67c79b2106483b559f49dc21ed713281d6b1ac87 9de89e36754a98b8caf9010690ceb8a9d32999d192e325a1a24892311f874268
|
||||
lib/codeql/rust/elements/MissingExprConstructor.qll c51f4f6e897ef2107a27bd91ecf31ce875611b29a5a12238d5312b9489a35b8d b9ea3fdae459aba6c7ed9eb48edbc5bdbdb4cb41220fff81ed4cd256648612e0
|
||||
lib/codeql/rust/elements/MissingPat.qll eacee2eaede4adb8452a41c14c95c310d0731c2c60fdb818b3e94e34f418aed4 9f81567e8e9c02be0994764a082a2135a6bec952456c2413295f2b0a16e5eb5d
|
||||
lib/codeql/rust/elements/MissingPat.qll a2d6ee4f7bbb69b9c05026b71c0283a6b229a7eaf492894296294fbe533e40d9 c9823a3a06ff2ff25ad3f7ca573f122637571f7d351bfd1f7f339c7629404852
|
||||
lib/codeql/rust/elements/MissingPatConstructor.qll 7bff2fb7fe96388dd703cca5f0bb1d04cea5d1f0729bb54c6604b58e338c7d6b eec9fea46593b3850da111658848cb54cfa9992286eeee313a55def184cf7ec5
|
||||
lib/codeql/rust/elements/Module.qll d8995b361cc672f86a314bd53bd3e4d1ddb26b6afde62eb7c380923810785af0 3c10180c812d89a8116ac6e32cbd4d7ac2f549c8a76d327ed75c764b09251d52
|
||||
lib/codeql/rust/elements/Module.qll a104ed007091e5361db9e6be640fba6a22b02913c16fe50cb5d348399504f7b0 7633ef24e7c9e1daca9a82d89870462482536cded234e0e1bb7da9eabc43c00d
|
||||
lib/codeql/rust/elements/ModuleConstructor.qll 109ed8c1b5c61cc1d3e8613aa8bb8c168dc1943c93b5b622fa79665751b78318 601526c7f56578883d261d14653fdad08329f80fea71de14a5ac5ce671a8d436
|
||||
lib/codeql/rust/elements/OffsetOfExpr.qll 1076421d48a639191b52ca36701e760ea20a6ed1c8ff8f0cf1607f557b9f9a58 9cadc919b51ef5b223ce2c827005acf879309c9cdb971e8479477f0646e7c70b
|
||||
lib/codeql/rust/elements/OffsetOfExpr.qll e7490d4db7cb4dd1c711ce57934970da8c9cc61af913a62b6963667313dcb0c5 c9043c5e68483b3d4da03ab191dc56e0150ff23af361a227fe91062e10ad66b2
|
||||
lib/codeql/rust/elements/OffsetOfExprConstructor.qll 8034eb1d3510dffe9e38cdfcb57a0235ee01bb50e1fbaa6e5601e0e232c1977d 6e3b7c20a17fe4c45d503ba32264aea8f6dfdc69ccd95905a5bfb1e8b0cc91d0
|
||||
lib/codeql/rust/elements/OrPat.qll 9b5cf68d55c57c262a5d630852ff2e842f0caa3aca2a0b4491d601340917db63 c965eb43675b135f3ce11c1e8762af0b764c6d4c262f002f8b9a512ae59e8a03
|
||||
lib/codeql/rust/elements/OrPat.qll d5fab9f9d837d0d330ccf447cca4b079a6f48bf6b4886f0e68937444152bec97 ba6a9ddec6c49a4941e30b0a1bf68873aaf5a726368cc3ace9e7c2812b3ead48
|
||||
lib/codeql/rust/elements/OrPatConstructor.qll 9a24cc095adc55ae8ea66f68c695f42de0181a43e23d70e210c63351b47e2586 1f773ae88276289672d93708f4ae9f8c95199e7370a0c610a52c92b5e018e632
|
||||
lib/codeql/rust/elements/Pat.qll 197aa86d5f317669e38230a20460b271c1d82e830b84150dac65afb67059fa2a ed3e8c74e42ffd5df14dd88711d79660982170a42f9a605704a274298dbbfc41
|
||||
lib/codeql/rust/elements/PathExpr.qll 15d12b039c117e78fde972b098e22ce247e5a6df4f52685173241d76f6c18368 8e8222767d49c022b6a69ae8902e86a5be9ac3803301c6c9b409f265546da520
|
||||
lib/codeql/rust/elements/Pat.qll 79ac8430cc9047cf89fcf80cdb527166bd72e979d03e051fa2d60fa2f64f2294 914362a06ad0cac1e1777874bf4425fcc805021197f635ddd87b96d9e5c221d9
|
||||
lib/codeql/rust/elements/Path.qll 3863a424a10b840f05584e17cb642859b18093b205eb9125f9aa0a0c2de6bab3 0db28b1b40218961ff8db478842b54ed7eee7660229113aca93c180aa45bb243
|
||||
lib/codeql/rust/elements/PathConstructor.qll 97243db75d6337cf68a22ea68569fdddf4c3bc1b8875bb4bb66faeeba8846a53 03c8c665e2f3b103148fd38eb7a4d0459c8189b2f6160dc08ee1d6d2807e01b6
|
||||
lib/codeql/rust/elements/PathExpr.qll 088ca8090fc5fde84a3b39549099d1e1150a547ce9294d5d83984c9449fe964d 4e1e692bb6ab8cb887fc3fa0bb251e82f0b68e90e4e2ea68f5704b8b85db33fe
|
||||
lib/codeql/rust/elements/PathExprConstructor.qll 9db3d3ad160d897b65b8b8a62f3243f7ff80d8e2d27875b3cd2c2b046fb0f9b6 26c2ba19a04fba61af8aa0cd72602f7b02bf0e1b693ac9cd14c7ff6066412f75
|
||||
lib/codeql/rust/elements/PathPat.qll a49036bca0f3f023917fec3547876759987a34747e16b9a15ebb99c82ca9234c b4f77e6e29300f02cb845ab79d4a64edb654a398fe3d6c1a2306423e1c0a237b
|
||||
lib/codeql/rust/elements/PathPat.qll 748a43d1c25c4fd20eaf78f381e4680207557bb696a28d74a9eaa1887bc966c1 186c947b0bbed3111c9bdc564c3ce39432c1a3bbdbb15ebb503629625ffe1dea
|
||||
lib/codeql/rust/elements/PathPatConstructor.qll 476a38723c63bbfa2565946725c90f1224ac2c5283fde79bf14dcefce6f500ca e9e9b000cac44851772bd9ca519edc89e8518e89a0930df21af14a69f5b0e864
|
||||
lib/codeql/rust/elements/RangeExpr.qll 05a56b149adf83006243335be90c23eca71e981aea33c2d81dc8ad5cdef757bd 602bc5ec0ab5e7eaf9f1debbb80d2861d53b6de5d10011b50fa71208a6491cd2
|
||||
lib/codeql/rust/elements/PrefixExpr.qll b00c0033177df5668f951689e3b12b039fd53c8618492b0e79a759712f3d3c81 1757e788a5a33b6ac4622752c1e8d7c2a48e9893116355b350b04836fc7d1e8d
|
||||
lib/codeql/rust/elements/PrefixExprConstructor.qll 511dbd31bbbd6b31cfba4a8f76e05a9fe3d1c996d9c6ac77991059f26214775f f6d1b1a96e148debb6cf03908c07cf2f42e2891ef0c54f1705a477a4ffeaf34c
|
||||
lib/codeql/rust/elements/RangeExpr.qll 42bf1320c3060b6d225e7ece9bef54f3d823704a6aedea6d8af594a0fa676134 03a84ac76225e2a6172f6240af21478ad3f978b03a1b9e3fceba39fd0bcacba1
|
||||
lib/codeql/rust/elements/RangeExprConstructor.qll a04153bf88dd71c3f516418bdb7377ded9db21c07f7ee6dd245ed8b44719d8f3 2d578f8dbc49da98694676d6a59bb9d58c6d2a200ffc893ffa90dca77878e38a
|
||||
lib/codeql/rust/elements/RangePat.qll 02f3e4647932553481c4d8b1e2d2da3551662a17d75f26f2fb7e9d77ef1d579d e2546bc74035d03c92aa7beab2abca73a587049c95710eb9b59f916363df1552
|
||||
lib/codeql/rust/elements/RangePat.qll 7df30b22d972c48151c9a0428245b9d33cbe3ed61a8767ef3cf1a82dcb949a85 33fe10d12a8d9abd4128fb6af4a61badf3204c538a1bb583f20a30df4ee42b42
|
||||
lib/codeql/rust/elements/RangePatConstructor.qll c391431118ed6ce16f7b7126c5d43e61f07b98fab7b8bc48e9dfe22f7e21ed19 bbafe1c9595b0b004f7b27999a14df27d0710d5b058e7ab14dddd2fae058fc31
|
||||
lib/codeql/rust/elements/RecordFieldPat.qll e3f69b2c59d50807393928ef9be0b51af016f209cbae68cfde0fdf02b287f353 b24e256f850d1f0bbacea74c4879fee8bcedf47f65db091d7858302355751fa3
|
||||
lib/codeql/rust/elements/RecordFieldPatConstructor.qll 36859753aa70086c540a1700495fe6c414521553877bfdd56800f586eb577743 1b31233a5e6da0bf88aaf40c52fa08cfbca5b44088cd3f91957ce8c96f4aeaea
|
||||
lib/codeql/rust/elements/RecordLitExpr.qll f5c0377f0a1805d824052acbcaad393ba10b0f994a5ea6b6f60b5eec2c417c21 e61bb3750d19dad5c4e59dd0bb3a65430879f58909b735f7c28f378cd2217221
|
||||
lib/codeql/rust/elements/RecordLitExprConstructor.qll 7b676a8e0fd9ba5a932988e613fe3dda8b6b0430feed8791ef5585fd9cd81767 f7811928dd8269138d75f0a6dd1c60f70d18806227bd2caaa5cd4cc1341e9286
|
||||
lib/codeql/rust/elements/RecordLitField.qll 27bbc256f61f4428578155da47b1a1b3eef43fb5d4d98f168c66fa85337bde24 880aa885f2ba3d1866c6023360a206dc5095385adb908e953ce792beae90b2ca
|
||||
lib/codeql/rust/elements/RecordLitFieldConstructor.qll 0f83c9dc00937d90ee0d64d157458145078f5f3c87c9c0484600fdcc830ab207 e2852d5bc4f0174d94b90a2ee34fae1e6c4b24d5d8ccb58a51c520b12adf8512
|
||||
lib/codeql/rust/elements/RecordPat.qll 50f4a2401dc579f3900188043d412ccdd6c57c1da6636c105221cfe243307d32 7812f0e10ce1a8e70c8c45d0c87e52539f6b29469157463456d06c566e86c2dd
|
||||
lib/codeql/rust/elements/RecordExpr.qll 20d6b98d1d16bf20cfdccb75b77f012b1450349a756eefe16da56916188dbdf6 61a724e9cc82bd1617f2824d4b778b464284172ac5bc21c8f7d9730c5aeb82cf
|
||||
lib/codeql/rust/elements/RecordExprConstructor.qll e27ab2bcb3af858fa8112a28603da8ba2357347339ca31b6bfc3ae35694a7db9 b947ab8999924cf578d2fa26902285008d4994d3b740ca956fb3e32b4bdede52
|
||||
lib/codeql/rust/elements/RecordExprField.qll 4eed8b07e512ee858c6407d6602dab6e45a4bedd62a526a1be979e3bf57aec45 af181dd655abead2dfc4c9123ab2bd3755a73394ec1312a4c145bef8c22aba14
|
||||
lib/codeql/rust/elements/RecordExprFieldConstructor.qll 17bf9cf80046b2c49678e221177e2f6b520ebb124d39308ddb1f2f0b93a3d818 67c91c4e7b8923888901c785b40cb90561e81a870d74e0760a2eeabc5e5a7d4e
|
||||
lib/codeql/rust/elements/RecordPat.qll fb02784f6f7b1e1cfa5e2f493dd3e9b084fba5755d237f80296bfab734b4744a 619b6fb3b14d154b3bb17d2937b01d0c4b2c56544bccb8400dfc3c2b848cee18
|
||||
lib/codeql/rust/elements/RecordPatConstructor.qll 93c794efa5050b86c458470224de7f3206c1a004b46ef374780f080a8e9a4ce0 157800f342de96095e118dbcfa20f8e65cc79ccae712e8e37bff1ba92a227fda
|
||||
lib/codeql/rust/elements/RefExpr.qll ed47e1a834f2af93197ceda685a368465f7eea59704c2b7df3ef59326e53c0e1 5676825b036eb4cb560238d86c8d1fac48a4e59d91110da0dc75eacd542bcc8e
|
||||
lib/codeql/rust/elements/RecordPatField.qll 0ef9ff7a71d938a39d2cc220ba395426198c0de790f8f9da23090e95b65bd0a8 69e58fad68784ed49909b32948aec754828841067c7ec08338df1ec6ec0b5d68
|
||||
lib/codeql/rust/elements/RecordPatFieldConstructor.qll c105362a0d1acdd69bbb3b0c1f0ae2e20f677020d15d02aa9e7416803ddb3a21 5cdd18cb9c26197eca67e162ac080b7f17dbb46061419bad07c6f6d12508f642
|
||||
lib/codeql/rust/elements/RefExpr.qll 4c3176d24c52d61dc220d0ebf0c277126975a7e4189094c5f36e0d386bbd95e3 dd143ae809b9c3cd1ca20e8ccf2ed2fa79f0b75d3ce3d92de5e88dad68bf7fed
|
||||
lib/codeql/rust/elements/RefExprConstructor.qll 4a2b9dd4ec2638a5ccfca268ba377980aab3179b27177e34e44e0e9dc6653b36 752f6f298369b8c0f59d49ca9e729c20aceb3559df68be416c7bbf65f578489d
|
||||
lib/codeql/rust/elements/RefPat.qll 00b2c32e09a02b336d516b7812aa7ffe6202bd1dcdf4ec2060a74ee7a4b1c5c3 90a4b3da60aec10b5d56f6364d0a022c1d7db5fe8cbb65a78f55651d23f9abe7
|
||||
lib/codeql/rust/elements/RefPat.qll 44db6d9cb0b4c796027116f00f43bb3a542df2535622a7ae884c0529044d2996 1778f2bb7f6df9b99ea5f3a20633b75738fa4034afaf12d39f33b85ecfb79ab6
|
||||
lib/codeql/rust/elements/RefPatConstructor.qll 98497e0ef76bec0390a23aede2fc6f80050ad2d00bb60f1d473362111a53d4dd e4fde4e3e88c33daee90ab6d90ef2e38b36faedcfe1b6d6304f4eed92980b5b1
|
||||
lib/codeql/rust/elements/RepeatExpr.qll 24ae3d83a83fc40bcdc6ba5c397a31da388c9137308cecce7da6fc8ac622031a c8114ad0ca7197aa791ae76d1d42b53ebd6f6b98378a779c59727d4e4ec5dbf6
|
||||
lib/codeql/rust/elements/RepeatExpr.qll 376199e9efc3b20efd8c26a020c5e7b7f19bf9490ab9698673ae842cb4ff6721 7dcbfbf8029811657e07850a1fadfe70025881e70f474fc49378b215e65d6d43
|
||||
lib/codeql/rust/elements/RepeatExprConstructor.qll 7e141ed538f1dd5debd83de045eadc74ef032acc8a64ee2e8ac760da60ede525 d20206b72b14d03f8a41571948210619ad7d7dc438ba04ae45d929776a11915d
|
||||
lib/codeql/rust/elements/ReturnExpr.qll b36dc07c367af16c5df6276b10e36d85dbaa500092c555679463f8db817bf6a4 4f95cc9d88bbb8403e35b270897a1ee9ddb4c8bef393b06d7a014d914ca5fdec
|
||||
lib/codeql/rust/elements/ReturnExpr.qll eaec617f85ae874a9e49a55b819bd47e672ba030f3f785ead54829a8479db195 1bb27640c8b29e099e39eb70fb095bf1dfdb7ff278f884dd71e3488a11e63dd6
|
||||
lib/codeql/rust/elements/ReturnExprConstructor.qll 825501a55f7b5556ded49fc3c43d45b7d8325e3a1790a2af738a46df33b569a7 ef06e95f1919952e537027861660a4d7c79b832fdbe802bfa5bdc29ba0192f31
|
||||
lib/codeql/rust/elements/SlicePat.qll 3e88657bd488dcb1ce2fa6f4bf72a9f76c7bfbf64b695070efa0ad89a6af407b ad60e3d0eee368c21c46acb439b599d8867c82193c7279777fea10f3205bd272
|
||||
lib/codeql/rust/elements/SlicePat.qll 06b0fce357a5a03c4b0ae3f420f816ff9fe08e4db5ef49151f8c46702d50509e 25b00eb84a39e93b27c14c04b552fae2784674aa28927788cd57c6d52763a054
|
||||
lib/codeql/rust/elements/SlicePatConstructor.qll b2885e663932f68ffecf87b4532f533e9177beddd715765474f454a9804afc8b ade153522a4773eb769f4f4d96fa07add34089f131b41a74534b28fbfd2bbb60
|
||||
lib/codeql/rust/elements/Stmt.qll bbe8414d75bdcfda90f47b853a04fc618f4d0b6d6cd3b662bb15d3a9e5cc7bda 714c6f8eba9882363bf1594f48c75d1a885f6e93adadbdecbbd8169ce08f7b98
|
||||
lib/codeql/rust/elements/TupleExpr.qll efcdda11afbbeeb237a9b7f84a5a59ca3a98b541bc660b58a41f1b1cdea56efb f416c57e7190e91bb36d4235ae017cdfa8e68f69b38c55c6e7a71eaff35e5bd3
|
||||
lib/codeql/rust/elements/Stmt.qll 89857f73ebd72919f2781f0ccd08c6c12fd545e6290366d739d189f41de75fbb 8d3616e460028b8ce51e4688eedfd1f8cea6ab4a1b0312a110eada4f224d12ec
|
||||
lib/codeql/rust/elements/TupleExpr.qll 6536c9c062c971d943629dd38d5e7e284526eb31e6cd0306fd290232e8d1d86c 6dac287bb0f85d0c5463ba6038b91d22a980626492085350025bff9774a87673
|
||||
lib/codeql/rust/elements/TupleExprConstructor.qll e7cfe2da7457339e99263030e74715e5ca44828d74ea3f462b90a7e72c1e9302 b45006d9cc7664a5a659e7c74f415142e2397dc33fb1875ac3a6cf5ca39e709e
|
||||
lib/codeql/rust/elements/TuplePat.qll 17bad5b6a0be8e9b61addbd9a17bb387709147e8d2fb8a93ca9255a8a11bb822 7e84df64d0baf1b5329d47f4977fa5e8471fc323b2eeca8e942df93a48e04cbf
|
||||
lib/codeql/rust/elements/TuplePat.qll d9161426edabc199d206a3a1c2994bbda9430d7418968b8fd0a8aabc9b29c4fb a25ccb4c1b77fcf9d00c02c0673f9ccce03d4d3512f8a2b8307ac21c8c41ffc7
|
||||
lib/codeql/rust/elements/TuplePatConstructor.qll 505c4f440b47da576acd7e3fc69d6b49e8287f981a21e79919ded374200f2578 b295526303bcae982ddd8c6b544288c0b8b8d62984d6986319e7f17baeb7a19b
|
||||
lib/codeql/rust/elements/TupleStructPat.qll 50b7d89498dbe6737d97325037156c7689fd8d7e776d66fef9551f173fa3f2d6 f42edcf42be877424ecf2f11c90166a90f485249b24d73ed302294299d6a9bcd
|
||||
lib/codeql/rust/elements/TupleStructPat.qll ed443440791cf0868183c5e5304a855058ce78c1b3735507b5c35f269604022b f02c9481ea471b198eec0909d01bd3db03830bd98f10bcc3a2ca4f37b1466b79
|
||||
lib/codeql/rust/elements/TupleStructPatConstructor.qll 15a15362572ac2dc98ed3257f195f20bb8dfe34a1fe203cf2a1a193ce16c406f 9e590b50cf865f6bc573b6fc17acea073f0d9389be241b01e820d9f3f8f14acb
|
||||
lib/codeql/rust/elements/TypeRef.qll 223844544eab3e07b6edda805c6344fa8b486aeea7bbe62e4b98e235ce2008d8 7517748b0e7a57c925168f5ce7a31ecc1b59f7521a2095578f599b8d9045a4e5
|
||||
lib/codeql/rust/elements/TypeRef.qll 13824c88938542cc554bc9ead335136a4eb115ec07ced03e140c9a88f49afdb6 4d265a4fa37a9df406d4bbbad03a69bcb3b5edd3152482fdb90676466283194e
|
||||
lib/codeql/rust/elements/TypeRefConstructor.qll f8b2e5ef15517890a8b2d56643f471ae64cc74c420187049e33b182417e72e4f 683611e732b842756e301a77625b385bca0c4969971020c9e11220a1aa665a29
|
||||
lib/codeql/rust/elements/UnaryOpExpr.qll 32e637510c03653cc28cb9a25a2873e9bf346aeb63ad2d7a571bfcbda45c59ce 044b22dd35491f9eafc6488fff5bc929aed12e2f36ac55883925c876978bf7cf
|
||||
lib/codeql/rust/elements/UnaryOpExprConstructor.qll 43db7afbd3535b7edc801d99d772233a734f4ed31eeee2ca74e7ab26cae33e87 7345f8d4cb958ee2fa83d3634285f12829bdd1cbac2697236d6fae062313ab6d
|
||||
lib/codeql/rust/elements/UnderscoreExpr.qll cd49049149e268524412a17394daaef696ddca63f1f452b369172b9643e94d82 228568c12efc7c055f2ff7cc08c2d0ae150f6356f77ccea98b7f8be3d6bb4806
|
||||
lib/codeql/rust/elements/UnderscoreExpr.qll bf4c0bf76fa15b041f7ecbd492a499088bef2024b49dbdfa57232e84e72c3067 462380bac5f772c1986146d32b70deabc9f03581675f6e79f7b7f747acfb0bd5
|
||||
lib/codeql/rust/elements/UnderscoreExprConstructor.qll ea9f93fa6529ec4e5bf5c4a98959b2e013e83fce4a74ebfc476b10bce2b331b2 bc36b62fd4fec6fb388d82e2af2aafe0099138d54b7672be81e84fc511fdcc8f
|
||||
lib/codeql/rust/elements/Unimplemented.qll 60387a9def0ea3cb9534311ace088106800af0acb89883c5bc9b26d8d8d61718 9d869f83e73915bbeb5af27ea30b69f20c344cd7d7f253cb7dab74de20baa0a6
|
||||
lib/codeql/rust/elements/UnimplementedConstructor.qll ee024d4944aebe619ee3ea0ce4f84da0f4fca706baed250c8a65464a8d77979a f95966e3a63cbf2b466241f55bb47c23125645fad206ebd758236465afa4f97d
|
||||
lib/codeql/rust/elements/UnsafeBlockExpr.qll d708ee1e3e238fc0bc51b045d8364a1f0fd174570c1e6416242f79655d1c1e38 8f67954791bbe9e127ddd4ada533ba97f5cfac9894a979410366b6747fdd4519
|
||||
lib/codeql/rust/elements/Unimplemented.qll 8736c0b7ab0a5b558b47cffe579c0e56016de10017235502bbe18a6d81510a8e cdb6135c0065938892fb32020a7041eed103d97c3335cdc1bf837046f80bd8d3
|
||||
lib/codeql/rust/elements/UnimplementedDeclaration.qll ec261842f0257b4f512a92911408110e9e48f975a2bf0a56524a57a5c8e694b8 6682484339cb3b9b08f15949b37ee380ab6a15e96517be21cface664a9c1d9d5
|
||||
lib/codeql/rust/elements/UnimplementedDeclarationConstructor.qll 44f4590db81e7504de0ede43eb2a33a54baa0738732e03a90721187a1cd303f3 11f27d8a9836b78d9ffac79efa3441fbfcb1dfdc1eb028d2016a1769b8a82ad5
|
||||
lib/codeql/rust/elements/UnsafeBlockExpr.qll ea7fc05c8f25b99205c098590329465ff9db9293b7d72cc41054b6c4e28ecb00 d617e6873b62ca2871ed87ca2435904da51cbdba42d46a2d160440b11f14dbbb
|
||||
lib/codeql/rust/elements/UnsafeBlockExprConstructor.qll a089d89cb8f9542b3ee94c8eb7ca9ce0ced08c954802b26826f6aff12f8705dd d3919a40e13d97c48b19df647851f120b667300864d3a2178b1b01236c2dcbd4
|
||||
lib/codeql/rust/elements/WildPat.qll 9791bcd2b36516da82a81c10655fe6b4ef0f788d548cc99cb88578dd9c1278f0 03c192da4f92db637001854f904f5f0ea7406b74c02c1ce26cd375d9cfb26108
|
||||
lib/codeql/rust/elements/WildPatConstructor.qll 538cde83119510e0b3fc9728127cbf980d17f7f4a9371b4572de26329ab08341 66b96aee3862d5c314a2fbcc6930258f755189c4359394b432e8edb13a9d0eaf
|
||||
lib/codeql/rust/elements/YeetExpr.qll 04a1f4f7b2bb697e30ab284720ed30c0c8e1377cacf787383518da1e882f3bd6 277a751f38830e92deb0abcde9cbd124bffc84b7d5a1bacb4f1844c6ebceb2ba
|
||||
lib/codeql/rust/elements/WildcardPat.qll 1c67ed3bf441d04a57f5d82a78856008fff694e534eacb8a96c41fa7b43b12a4 e98d72b2d9aa50cfb805dfc917d8ac454af60fde11e8139f001ebf67e6987e9a
|
||||
lib/codeql/rust/elements/WildcardPatConstructor.qll f974e89eedde9d8a2a59562d0f5c87f6b00c61a428b7df734804fc87a6cf5090 36f5e961c88b0be4db1a907607dbcc8e0ff2f8e49c9eda0ead88a4da8af5b177
|
||||
lib/codeql/rust/elements/YeetExpr.qll 95a15d0ae79b9cad126700c07d5cb7e4e9699e2e5d11a926ce452588501731bb 848736c361d420945fbf670d6c126d258d095f7f8509ac1cbc949f5ba280f851
|
||||
lib/codeql/rust/elements/YeetExprConstructor.qll f1871c6e0c966c52806e370dbe2956585bbfa1dcf0bd7ebfdb2bd39b7cfd0d7b a2333e80a325a921a66c34151401da12c250951952ccb0c81e5102dc62299503
|
||||
lib/codeql/rust/elements/YieldExpr.qll b0f238ba2e4b83b449b44224d766b6cf6b15523a413467f608f4a711d34edc01 355fcafe43915d69a07725ec3707e66abfefc6157bd7dc1c1fd846a965c6580d
|
||||
lib/codeql/rust/elements/YieldExpr.qll 72682ae19d37abd6ec26569ae8f575979ebba1e0d373898211a9af4fad4979a1 ef0193011ee5f94cebbac5c007d652568f560685a213bf8be96cd0c0983a3880
|
||||
lib/codeql/rust/elements/YieldExprConstructor.qll ff46ba17cc24abfcb0e310c7458d0539b704e7a771ad00853bd3a1844e4e6f82 1c13662ef01c88f1cf057d099eb46524036133e51a0e36ddf947f727ac6046bb
|
||||
lib/codeql/rust/elements.qll c0e6bff934b1925ec03e55afc2b5b9127f51dc4a613e047e687bc83cdab4f196 c0e6bff934b1925ec03e55afc2b5b9127f51dc4a613e047e687bc83cdab4f196
|
||||
lib/codeql/rust/generated/ArrayExpr.qll b9778720acf4080c065897ba1471be185c0c35f3ea01c15594c0a3ee4029b231 cbc8c9dbcb805063c4b893e21ed0bf00312490a0c92ee126d49dbfff6978fa99
|
||||
lib/codeql/rust/elements.qll 1d92fc19e7660d9874f0dc26a85a7021aaffa05a4c84dd847a82606e7235b944 1d92fc19e7660d9874f0dc26a85a7021aaffa05a4c84dd847a82606e7235b944
|
||||
lib/codeql/rust/generated/ArrayExpr.qll 3fd7465da22e1eb810ae28ffab7b14e9ccceaab0082aa665f14b73d4221128b8 6e9edb5846656aad90283406a496aaae485d38854075a4443817b5098b72b427
|
||||
lib/codeql/rust/generated/AsmExpr.qll 66f1a4bfb4d32d99b4dab1918a1aac75e0903c499d65a18105e3c837c1aa314d cd5c8ed300b5f5d19e404cd2e5f9dcbcee1081c5538f1840359eb491eb6ecaa2
|
||||
lib/codeql/rust/generated/AstNode.qll 0598fac7859906f4103124270dfb2fbdb838387b1c45000bf50a4b62c797ec41 f47c84878c7c9676109e358073bddab92a1dbeb4d977d236ecc1eae44d81c894
|
||||
lib/codeql/rust/generated/AsyncBlockExpr.qll 1e9d3bcd5d5703bf61748f2746d3f9a4e2a12080268b29a2685b762d13c30555 1e9d3bcd5d5703bf61748f2746d3f9a4e2a12080268b29a2685b762d13c30555
|
||||
lib/codeql/rust/generated/AwaitExpr.qll 4b5fccfee29fe28dc85df19b4e6677bf565dacba92a0984bb7ca444650852970 0c0be7ea53e41c7708aa84b93d037fa9df2f72e5a676d78e217ca006f21b548f
|
||||
lib/codeql/rust/generated/BecomeExpr.qll a4cde707b7372dd4c48f9b4a450b6ea710085f323878fc17c58f92cf7d50fef9 44f0fa714080eaf6dfe9fecc422b1aa161375b73eb5536ef8bb40b793d8f48ab
|
||||
lib/codeql/rust/generated/BinaryOpExpr.qll fe0a286df10f5eaaaba60c74dfc5ef2c17736f24aadb718271e8a17eae736ba1 1f13e04bd6089b956db807e5e0ab974382ef7b5a7271f290a7ae5f75a857a30c
|
||||
lib/codeql/rust/generated/BindPat.qll 15d3a33c5f56f7659a331f72735f00930fddd6066659e54c5c19d5e7eb8ef078 bc0a916622b2c426b71760caf15b8e005eed276e06e04d04cc5f19f4c31c34f6
|
||||
lib/codeql/rust/generated/BlockExpr.qll baf05a376d4c65505d3aa52eb893e1d8d02a8ef8b16bb40d4a59ee10c7d97b5f 789eccc236d0b4d3adf3dcde699a5f3097d333514455776f74b9184aa14fddb0
|
||||
lib/codeql/rust/generated/AsyncBlockExpr.qll 4038dd9d888f98e8848de4ab858804bbb6dd835a32e925a9530f350820edaf04 4038dd9d888f98e8848de4ab858804bbb6dd835a32e925a9530f350820edaf04
|
||||
lib/codeql/rust/generated/AwaitExpr.qll 5a6d94ba4083e00dd971f41be7f32693812cdd7f8efb9dc7ef0fc18296ed560c 7af5433b8e945932a453eededcdc931a62d85d1505c0b4e417291c694ac6cc5b
|
||||
lib/codeql/rust/generated/BecomeExpr.qll 62daf23501554f0b786adbee8e1d430323c6dac79afb8fdbc28d19dc10bdb3bc b17eac6c775fc38bca90a65caffe1294678aeab92d456fb9b9f555e1ac59a0b7
|
||||
lib/codeql/rust/generated/BinaryExpr.qll 688465914b9601decb2181c0f09e93f6763eff35477444c68e38d80d8208ed36 3c0a276e59c55c6d7837c442ea9101c9c4b1a8e0e6695b3966309b5f9019ce0a
|
||||
lib/codeql/rust/generated/BlockExpr.qll a04d98a1b846a78d5df7c9340348bdc0d4e27f1aebf81ecc389f90010aeb9f39 caa43e2ab10a401af6813218318a970efd60eba23bfaca3210954be277cddaa1
|
||||
lib/codeql/rust/generated/BlockExprBase.qll f651ce968170b6e05e555924f8004d55b85ff0ae59bce4fea0804691cef0cf66 6ece8056e83d047fc27cdf1110fac166c0d1ba0e26a8d4a7a7cffc05bd6b3b42
|
||||
lib/codeql/rust/generated/BoxExpr.qll 880f550a9a6c861efc6310a72830a50bbfdb11982e99f11b5d3f4c6d1fbe826d 380f021014738c86e5745b3320e65a8147ceb30511aa51526a7fab4278a1ecdc
|
||||
lib/codeql/rust/generated/BoxPat.qll b69ba2bc341a1bf4c613279e45fb97a530619d4148d5ccc4f05436a316db29eb bf52730243bd1836d5890c745232aba50544c2046d00e80e7d22eebcd104f821
|
||||
lib/codeql/rust/generated/BreakExpr.qll d68990513e0b2c0021cccebcdc7dc9ecc1d5b5c7dd0df7014686d6ed8a909940 36875ae186581f10485c1c846c9f6d2bffea3b18375b7f05c2927ba23f08b6ef
|
||||
lib/codeql/rust/generated/CallExpr.qll 3e29dc45480e3be1989c364bad0ff94deb322cff20e87a3378fc1a7e11237d61 3873462b8811c3e3ef92700045ed05f55869d320ac74eb72111776d3353095f2
|
||||
lib/codeql/rust/generated/CastExpr.qll 6ed07afb453706874d7ae7c4bb09ed35ffdd11e7aeb4cbef4d84dad11a203d0f 741d1c0ff092dc9273b0d588aea6b30f7e2c1c5b9d08f2c4722fe26c2cab33ab
|
||||
lib/codeql/rust/generated/ClosureExpr.qll f0c7ce7aecc9da9663cbda3e285be73b23464f8baa6b966fb5aebb0bd0f0aca6 685d74b6a94052fc45aff83b7c525a83f9dfcc02c1bf7e7f7a0aed51ce2de945
|
||||
lib/codeql/rust/generated/ConstBlockPat.qll d0818fe4cee066f1e6d3439c82122942ae62941e69da686b7d5c399e820c395c 2fae5a2f0457bb7106d52ac7457afb597d7ac9658b8dcff8e76294f5fe34019a
|
||||
lib/codeql/rust/generated/ConstExpr.qll dd851fb049429fe965569beb75957a6a596137b333a6cd7cd588d1c4d40412c4 824825bc46a393827d5df5ae30f622ef2a053ea1f5e338c3b957625a8542cfa5
|
||||
lib/codeql/rust/generated/ContinueExpr.qll 436847767d2f68f95d011df0eb8a175924c029ac747daf620a203596479b20b3 e362f28dde0bf3e6ff3b234e81a44bc5026b4c9ed38b8b7872954cca9565eece
|
||||
lib/codeql/rust/generated/DbFile.qll 4dbf1931124291e0d6a958ae882f8aeef006642f72adc7ff86cffd3a4e9a970a 4dbf1931124291e0d6a958ae882f8aeef006642f72adc7ff86cffd3a4e9a970a
|
||||
lib/codeql/rust/generated/DbLocation.qll 735d9351b5eb46a3231b528600dddec3a4122c18c210d4d632a8d4ceaf7f02e9 735d9351b5eb46a3231b528600dddec3a4122c18c210d4d632a8d4ceaf7f02e9
|
||||
lib/codeql/rust/generated/Declaration.qll bbf5ba3792797a829b0032c41fa99d22c26e4277d655099912cdbafb80f0c8cd c4666a71099b21ad5cd83ef6f991ba18f9bef03b3ffbcedfa10aec081d6501d5
|
||||
lib/codeql/rust/generated/BoxExpr.qll 939fc9a934c5787e3f3bf9aef8694abe65caeeaeca57079047f6177301e39841 a9563f56abe4fc816f9768735624038e60ff5a075e67c17970a054ffd4d23a12
|
||||
lib/codeql/rust/generated/BoxPat.qll 8d9fc5a784473c7bd8c76c5f4a3a5eb6912bfe8691205f311cd1008b27ff5b74 e06a16614897df217948840e084474499b05edc6249ba0115d7cde516f98e165
|
||||
lib/codeql/rust/generated/BreakExpr.qll d1cc6452044b4f0351380adc9e46dc52279746d0cfa37baefce8e89494b385f1 c129e16ad176f40bbda2fb1e6af800a5bd240f3e0dca6e2fbc23b75e105ca8b9
|
||||
lib/codeql/rust/generated/CallExpr.qll 44cc428b1950e0d560a4e2c18136a956dbc3f85c575317cbf10a0cb5b2dded97 1a5d8dfd704b289774d7190ee331858b39563dcbb2c52940b02df4c5c2208637
|
||||
lib/codeql/rust/generated/CastExpr.qll c1e44783781539fa064717d360c5340668281eedf325543aaeebc3db67ba1243 db94f17538b220e60ee30bd2313f0dc5642fb6143e6c8609bfcce075efef0520
|
||||
lib/codeql/rust/generated/ClosureExpr.qll 43d9ff09c156f1ce000c77bcf5ecc02c8fb569c0ca7f042a1aae9d311e18b13e 07e1461269e1f07144468ef7b64b927f29053fa6de71afef334732c33a797f33
|
||||
lib/codeql/rust/generated/ConstBlockPat.qll 05141706ad963e1d9c41b004c73c9569fd0ba2f353da8c19629a153bfb17b769 786fa7db63ea7a8106162fd05e01b52c8338d22b9502d3638880bc6f6d678344
|
||||
lib/codeql/rust/generated/ConstExpr.qll 7bd3d75822259d2ac61bf3bab6a233948617fa09a7a3d48991b643f0c842925d 06785e5b723006a8c51cafda5b8ce3901e0ddd3aeafc0d3c80e61b9389830e85
|
||||
lib/codeql/rust/generated/ContinueExpr.qll 452fc59b28ae46d00c6b42dc4b51bd5e65bc92859e769626a6f5b29ff2ec795d 4d7042814fb8f214bf982ad9771ca1a19bbb2a966ec20771478d50927cf1993f
|
||||
lib/codeql/rust/generated/Declaration.qll fd2401b9683a587cf1361039468c9e74666dce6c98443da63b1defea8e4e14de f1e72b51d4a411c5a74e0a78a34727dff8d20035e7d87bb1ef8657a18c9b262f
|
||||
lib/codeql/rust/generated/Element.qll 21567fa7348dccdf69dd34e73cb6de7cc9c7e0f3f7bb419a1abd787f7dc851a1 21567fa7348dccdf69dd34e73cb6de7cc9c7e0f3f7bb419a1abd787f7dc851a1
|
||||
lib/codeql/rust/generated/ElementListExpr.qll 3f7e9c1f7249f7283406d2e59b00af750b6dea93b284d7f25af66fe4b3345fea d340242d6072e274fbafd6ff2a5455bf53b3b77ed91539e91563d67cf2ed48f0
|
||||
lib/codeql/rust/generated/Expr.qll 32cdd43d17e8b2fb7c73ec723eba89704d1e853e29d304db5eea3979fcdd2e0b 0b8382b0659afa1bd1d13d0cd492d7fbdc0fd7a5162fa658ca2973bc15ee6534
|
||||
lib/codeql/rust/generated/ExprStmt.qll f35543fe1481f768eb8abe3fd0d36e2dedf00f0d1adbc31562e6280ef291d0b6 0663097b4b539c5f35dab9b26ab55baee879c7ef543810581347a8951aee46d9
|
||||
lib/codeql/rust/generated/FieldExpr.qll 25dd7f15ee3fe1b0de4371cab9df83d3713c1612501e5496c9a15df8d093a755 3c75b0136d1849f6de1bbd14bda4285c52d51c8a6427984c7e5302c05d706e99
|
||||
lib/codeql/rust/generated/File.qll 2eff5c882d044d2e360fe6382fb55e5a45f6ccb9df323cfa1fae41eae9d2a47f 87e7a906b3a1b4de056952e288ddd7f69fa7cb1bd9dc7dd3972868a9002ac1e4
|
||||
lib/codeql/rust/generated/Function.qll 84a00eb88479efdfe70fe51c3b5cb27ae64a54b48dcca1f2e02f68691b7d907a cde5b965ab27e811f0d24eb4f12bca90c3e8aec3a4c1d9b8bd0023745dfab105
|
||||
lib/codeql/rust/generated/IfExpr.qll 7d8e5bd93bb8eda6d5d6551431b0389a2ec5893bd8c13276205d6677856c8341 935bf1be8f790a52e71a6a28456f2f1a5c5cbe6e64bf20fa8602980560899835
|
||||
lib/codeql/rust/generated/IndexExpr.qll d44004268aa2e7d79e29133eb593d748beef1d4612318ef469220b3c2252a057 86892c04c59936d33f0cfd5272a04a6ef726f477c2e8f4ef27dae7240af9c804
|
||||
lib/codeql/rust/generated/InlineAsmExpr.qll 246c4f255d963f20c8e71fdbd16b4555cb6243820da1d399543205010368ccaa 1ebe22203305195259963bfb90f9928a4255cae993067f6a6fcfbc62069e1b1a
|
||||
lib/codeql/rust/generated/ItemStmt.qll b4d2a06fdd00ea90eed2742bacf0a5781b8ad69e24df794ec075d7305220afaa b4d2a06fdd00ea90eed2742bacf0a5781b8ad69e24df794ec075d7305220afaa
|
||||
lib/codeql/rust/generated/Label.qll 7de504ea71f2847e305ab5ea3b30403cb0aafbaa0eb4cff3956a2931da6c024b 61e3c6a74b573aadcccefe0d4abe5d8e2542b1e5116c95f4e595b36efa3a86dc
|
||||
lib/codeql/rust/generated/LetExpr.qll 896efc732db1ddc8be7281408dfeaf6f04f29d25ee1240738246e0cb31dfc2aa 14d5add4367164f4aa994cd2ae006e8b5918265dade20b41f363daf9537c6d7b
|
||||
lib/codeql/rust/generated/LetStmt.qll 1f8fda11b71689fb1a1b9b25a2ce046c56f36f26cddb354805bd395a03e4db3d 80ad6ea6afb1891a02db434cfefdb95b0fb7d766af6246ff27129dc15cb48ace
|
||||
lib/codeql/rust/generated/LitPat.qll 92c3c0f32ab9d5b08e246231e5465fe18536dee99351f73e158048bb007baf8a 6736a7824e5bdb0cc16de1231bdb5169d2f48251d5917bf2c31a36422b0bf2fd
|
||||
lib/codeql/rust/generated/LiteralExpr.qll 9202e11f56a2c5e99fb98ed784c7ca043c1f5d80680b48ba4ea340dd689ebe55 9202e11f56a2c5e99fb98ed784c7ca043c1f5d80680b48ba4ea340dd689ebe55
|
||||
lib/codeql/rust/generated/Locatable.qll 9e9685bba50ad2220701f3465e63af9331f7f9dc548ad906ff954fc2ce0a4400 78c89b2cc78a357d682ab65310dd474603071f07c1eaaab07711714ce17549f2
|
||||
lib/codeql/rust/generated/Location.qll bce4c72988ec6fedd1439c60a37c45aa6147c962904709ef9f12206937174be4 d57000571771a2d997c50d9a43ef1c2f075960f847effa0e80ea91fd4c6b4d6c
|
||||
lib/codeql/rust/generated/LoopExpr.qll e9304e282a97984e147b92ec7061c98fde238a8691e945e4cb775ccf34c27b0c 65b859e44e83bddb710d4ce9e5ab1346b98eaaa46509671776b75c9e8f1c1667
|
||||
lib/codeql/rust/generated/MatchArm.qll 5ad0dc254b6d58ccd856e4235b68ca0226a898c33f1f6b6fe7b48266a01ca627 f519af39f45e820eb3a70cefb0e4dfb541c3cf17952c00c6dd7e59f854a629bd
|
||||
lib/codeql/rust/generated/MatchExpr.qll f8b422699337324c91ec9c55024630efe114ca617f4f088a18d180df132d5754 13169bde872f533f55aa196d7150761857c593a4657ab34051346dde14e736c7
|
||||
lib/codeql/rust/generated/MethodCallExpr.qll 499fa4c78bafbb8f3a6af645c26f1645c9a634976d409493d26d82dddd4b42a3 2dd18cb4868e96e38383c4ae3f8777637422e90b2363bb533f0e9e1c2692dc6e
|
||||
lib/codeql/rust/generated/MissingExpr.qll 90b164567620c88b8e258fa229633365400abeafa4f4b0fcd1c856efc2f9b206 90b164567620c88b8e258fa229633365400abeafa4f4b0fcd1c856efc2f9b206
|
||||
lib/codeql/rust/generated/MissingPat.qll 0d8034cee20bacf07ebb9337c797f53a25686a149f163f801916cd6ec5484710 0d8034cee20bacf07ebb9337c797f53a25686a149f163f801916cd6ec5484710
|
||||
lib/codeql/rust/generated/Module.qll 2a931a4f2cdb2fee00ed83af045ea63d36b7dbd708e58c30445b5610feaae333 cd62add5c31a509f965aa294f44a1607ec7c62e3a9e3fe9ee063b3c814f4eb62
|
||||
lib/codeql/rust/generated/OffsetOfExpr.qll 58dfd632efcb48de7fe6ffbcb2192fcf95bfabdb407a751133f63a0e32ae7489 21ebb1b3d66849fc21c04083cfa751eb56c55809cd52664020bd61ccfbe5ea68
|
||||
lib/codeql/rust/generated/OrPat.qll f8fe5c7b83a08dabcc530484a696274930040ea13501ae20f1426faeec67bcf0 f3adb3148890531b698570a48740335983a5e81977ba4ac651778f940f184398
|
||||
lib/codeql/rust/generated/ParentChild.qll 956f55ac17d66926c59f76d391b75c30767d236b145d6ae402f4308fa22a7d01 dd3cabb5b4a9ba42be60345f445cde18b0d7be934aeb94d7312eeef122e148d2
|
||||
lib/codeql/rust/generated/Pat.qll fe1c72856442dbab5655eff93f86c2cbce8d69d9fa1f99a0f9203061ea1112a4 d85d86e8b6c48df733589d186f610b1cd9086629180701e017774bddc62402c7
|
||||
lib/codeql/rust/generated/PathExpr.qll 3664ed2ad08097e4446b0fdad148118c754f8203541ae588d967ba9d79b6bf21 0d987d2358fe9b42e57585e7ae906de80e9f4ccf7c20e1d9bb7624ffbad96941
|
||||
lib/codeql/rust/generated/PathPat.qll acc4dda795bae97626a8d0041538f3ba1f0b591c743fed381cf198a8b04653cb c3deee1b3bb9bd37ae3ed4761d8ee2f498384fe5e1f5e31c0f9b99dfd864a0d5
|
||||
lib/codeql/rust/generated/ElementListExpr.qll fd3a6fb638a38382a356b807acbbcb0bffb70fe75b827e7b46195b060a4b53d0 24da1239e70a7d95531784260af6867c62dca271246ae2c740d03231c329371d
|
||||
lib/codeql/rust/generated/Expr.qll 91b1744d6b07e8549b94d19832dac9e18b70f54990b328b1872b8c73be202417 ed71e6d24ab3f0dc687bfb8a665552c05f848ce52d8e338899c1cb48783a778a
|
||||
lib/codeql/rust/generated/ExprStmt.qll 40fd3659761005fe0de2a09e58d35b3b28203f8f354ef5f687e6064862eb73d2 c4bcefa928d8a82f6b9d26a6e4f42912114bd24a90ee5dcc24e7ec1a4c11dbcb
|
||||
lib/codeql/rust/generated/FieldExpr.qll 5050cabcc1109f0c404a64a80cf8e595088b1dfd9c24364281176400436922ef c7562bc91fd7c3f7305100d146ebc84378e73aa76fd1b36c06e69070105c0401
|
||||
lib/codeql/rust/generated/Function.qll 133693679cd69f0c011d6aa779b067924e8d58ea15bc3f6b749cc3aa5d5e962d 5a18e3be5c7c681cebec762b2c2d3b1cb08c5fcc11ef422bf65c9b15fc82c893
|
||||
lib/codeql/rust/generated/GenericArgList.qll abc549b0a763d2f5a162794676ab8f9a2fef8a02c77dbd14467dbafccf261c29 abc549b0a763d2f5a162794676ab8f9a2fef8a02c77dbd14467dbafccf261c29
|
||||
lib/codeql/rust/generated/IdentPat.qll 1acf5c9a4f20930f33339904be534c3b64dc16b06ad6c6189c3561f3f0acd244 c5f03e20dd26a21a492766dbeda8896ceb00369cff91df566b99238c3d627a26
|
||||
lib/codeql/rust/generated/IfExpr.qll 3b68ac5d7741f566081dd8ad028f762c849d02e4f1532267a7660e24335bf08f bcc6b52c950afbe4654ccdbc10d578ca9e134597cc2653daa1832fcb2bef2ab6
|
||||
lib/codeql/rust/generated/IndexExpr.qll a8263fb60cb625712b3ca875076994d9a28796482a9fc8fd524610d3107f20d2 a837f66ef6d70dd9ca04ef39d4fff5077e03ffaaf6efaf93e9f6b38eae37b454
|
||||
lib/codeql/rust/generated/ItemStmt.qll 7ac07a294031523ae83b1600a2327bab26c7ebda5c41f040485f9b978a50e159 7ac07a294031523ae83b1600a2327bab26c7ebda5c41f040485f9b978a50e159
|
||||
lib/codeql/rust/generated/Label.qll 25121c47ad829d209bbd6b4388a8878b9ded1f25e5b9c0f992e88427b3eaecae 216e68ad49218a21466597afe2a6aec20982715642aca726235cb4075cbc1cb5
|
||||
lib/codeql/rust/generated/LetExpr.qll 377099647451717af698677ca7119436982354d4e038a2097bffe8f34ac5686e 6bd51c497bcf2a684c1e6a2515e67228b0146b47a65e8d922cab54faf48b0d73
|
||||
lib/codeql/rust/generated/LetStmt.qll fe3513e2ea6191deaee4a237adb97bf968ebf30503f95595da097efa18e871ea 67f80fb6c44d775d1bc97a0305a0bfaec57f652015d1e15a11785f57cb16bb24
|
||||
lib/codeql/rust/generated/LiteralExpr.qll 70684629cd017f32c220993f57ee4ebea0b9f6267fb61200e97a14a026a8b0e1 70684629cd017f32c220993f57ee4ebea0b9f6267fb61200e97a14a026a8b0e1
|
||||
lib/codeql/rust/generated/LiteralPat.qll 6cb250e374f6c3d2c86aaea6ad7baeaa40ee438b42ac6987d823edb91b757d4c f8cf9ef6bb6cd39d65c6eb905f11f79c65daf3d493e1240c0781be29c3fe9202
|
||||
lib/codeql/rust/generated/Locatable.qll 2d2b9a7cf26d6134b1e4a2047dfe99f09deb9231a05047d37b697c11ea91d0d2 dae7e0c66024d7f03a58d71ffef93cf23aeb629d7a21d36901c443fb29ff4d3d
|
||||
lib/codeql/rust/generated/LoopExpr.qll ddc646e715dced161b60638ac36a7671b45ddd6245a6876d647916d41495faf1 864be7033c093a8513be05691f772f19f99b606abe510f810af5f004596c0c7c
|
||||
lib/codeql/rust/generated/MatchArm.qll e4e129ac42537138a3f5d288113ee805b49a5c914cf44564e59be389e07d6eda 5e5ae462925501265237f06a68549d5a26e01864386d16d0e28a12305127cb71
|
||||
lib/codeql/rust/generated/MatchExpr.qll 74966bd8286aa8cd4238c5f6964b5668d3f95fd47a56fcece47fbd0abe3a8376 9afcc11f0af8e5daee2746226b2c39bec0f9cbc74d0cb1bf567a8ea122409331
|
||||
lib/codeql/rust/generated/MethodCallExpr.qll 187d28d3869f5b44cca8420948266e8370ca1e3e389dc3317dc24364c8d53088 7a4744cce29b53ca04b6b2eaf4fd146b9a64e3f53151e5c6cd1085fc35d50823
|
||||
lib/codeql/rust/generated/MissingExpr.qll 34cb27c927a62cc06b0fe26a085e2658abd5019e549c3e01b8273d99e9a9616f 34bf4cfbf3659b600b4aac121f7c2d6da0b00b61c3002f8fb1d554c11968c748
|
||||
lib/codeql/rust/generated/MissingPat.qll 40fa87d446056c7263ef5843fb13fe60b644e169a65697be4ca0b5361a8267ee 40fa87d446056c7263ef5843fb13fe60b644e169a65697be4ca0b5361a8267ee
|
||||
lib/codeql/rust/generated/Module.qll c6007444c796654fb48fbe4a4596580f08feec2aac13932043062a170dd73f0b 0560c738dbee3937baf0f2ab661c8e4dacd69eb886635241b1ff90f2c0f4bd67
|
||||
lib/codeql/rust/generated/OffsetOfExpr.qll 03afe5637df806f4649fb2c67fdc4f048a2faab47f00e8320f85025d4a2fa933 4e5c0c98b0397f1388ac0c27ea415f594ebd591e980dd70590ed043856beb156
|
||||
lib/codeql/rust/generated/OrPat.qll 52e637c652f8caf64d2388a1829159d187d3799384cc3318e07785f518ff0c4b 598a11d067519bb7bb279d8f8a3ea85a48ae99c2974182636c157ba111b9605e
|
||||
lib/codeql/rust/generated/ParentChild.qll 98033de64e7d2db6f3574e0220aad773d04170aed7bf2b97ed4d97278f5837c5 5d9cd7f051f89df726af0fad1ccf8e2a456def82418397155a33858c58962364
|
||||
lib/codeql/rust/generated/Pat.qll b035e7866ea500232421ef9f79e7e60b90b9c27dbe47d25758548e94750d2965 adf701ad35559ea7d0284d6718ad507518778dc78100f48063e6a6bf3705c91f
|
||||
lib/codeql/rust/generated/Path.qll ffd26e9e5e3878f374bc1163d6ccb47072cc1d3abd937d0206bf1a7c62c843ff ffd26e9e5e3878f374bc1163d6ccb47072cc1d3abd937d0206bf1a7c62c843ff
|
||||
lib/codeql/rust/generated/PathExpr.qll c27d872e3351d92f8f105c6a4ae2f8f447209a4a139e00576986e641340d9e7d bb5bd1fed0d5caeac3c14d57ca8ee5d3ece8938aab753d488ff475bda8393229
|
||||
lib/codeql/rust/generated/PathPat.qll 8aaa7fd5f3439ce567f4d6f729e3ba1e98ab24255070b7d4ba7bbde6506d97f5 10bd82ea0e846c96afa34cc6e467101a490a1191b4edc29a7154a6d93a467f1c
|
||||
lib/codeql/rust/generated/PrefixExpr.qll a3f6cc62e5a12acd253ea59cb6957fb7157aa709b888eed3cd974eb88e1346f3 830a5c729ed770df6247dff8adacce5dcf7f3a06649177ec9542e032cd4993ce
|
||||
lib/codeql/rust/generated/PureSynthConstructors.qll 5eb1fc4f6a04172c34ae31e4931e4bf1f8b72fbe414c5f644731a45372d13573 5eb1fc4f6a04172c34ae31e4931e4bf1f8b72fbe414c5f644731a45372d13573
|
||||
lib/codeql/rust/generated/RangeExpr.qll f499d8c1f260d6262a55c1f3640aaee832ed8c9aac922cb2e05fefbca4509053 a01563640bc23fbce9d33da756bc209fd16155dc76a7fed4ba325979723f48a5
|
||||
lib/codeql/rust/generated/RangePat.qll 6ec95f6cb9c4bd93b38990bb1e3b89b526624305ac6ee7b94e6fb0a2f3db28fc 0e193f3816a7587d5103dba421bc2bf22b869522353d4e3f43d49a792eac6cf4
|
||||
lib/codeql/rust/generated/Raw.qll 48d1e7d642bd2a7605dbafe3929c558560054a4e4e3e4b36925a8bfafb7536b9 3b881e64127e9b41fee7e091de725f5cd1cb1263e4a52c02adb1fb339fe36c3d
|
||||
lib/codeql/rust/generated/RecordFieldPat.qll 26bed2285d849b9b7ac52d86131eacb40df912db350e423e81fb98c393c08a69 05ed735aecee90901a1bdfae05d9f85d7f6581616eca3a9262fdef6673222f9b
|
||||
lib/codeql/rust/generated/RecordLitExpr.qll 1d3264446ff57e8b169f1ad6da150b2d457d6b60eda0ff63e2353eb8ef9e9113 f523dd5ce7f4bac0aafab7b27c6cfe766c72a9ee0c92d7a263347e67edf096df
|
||||
lib/codeql/rust/generated/RecordLitField.qll bc704b56a986f3a399dc9c3dc2b61cca0d40cd389c694b9fe13374780835ffcc ab6b05a87f240a97cc2a8c15bb84a1338ad33ce367619125a8514e8815fd050e
|
||||
lib/codeql/rust/generated/RecordPat.qll 5fd26e95dd23b07a847bd28c95a4206df62f7cc22c8d7b3bafa10e902e917d15 e264a96c2af4e2f64a394a119329b8b376d4b23ec6a3fc6d123c5631845bc4ef
|
||||
lib/codeql/rust/generated/RefExpr.qll bb37b8bff64b0cf1f18de297487455692311b2006c45161f25969e131359c60f bfbc2b67b2b2ec66f3539e4972a947946b29e0ba527042593060eaf6b21e28ad
|
||||
lib/codeql/rust/generated/RefPat.qll 3525331e8ba25a8612324e860423a39ddb29e8eb50a9f2bf62e49bf182d64b6d 804efbd32869f92e5515d34852fed6416288f99b0aab95b5be5cb5bdd1eea806
|
||||
lib/codeql/rust/generated/RepeatExpr.qll 43aff00e966e4550179d756489e4cbc30618d66c93c13530c45b031b9513b915 b91691445e6f7de67d61c787f41b36a383cf36da1a216c18767ac1d2ce5db34c
|
||||
lib/codeql/rust/generated/ReturnExpr.qll 6160f3a14ff1cbd6a297edae015769f90e8e31201639828d8a9d0d6e38c1ef99 b8c8a12f78281e558d230c6959236780758e9645fe22aca697b948535c20f9be
|
||||
lib/codeql/rust/generated/SlicePat.qll b4de6692eebf1205940e04da963adc20a07b15923c3c3a7a512a24e3bd8342c9 ee9b919983807f39d97cfe8ca66b76bdbfde76db02db5c93268ce22cbddf4213
|
||||
lib/codeql/rust/generated/Stmt.qll 55688c8f42f6e7fd1b871e572d75fac60d0543e38c4be4638abbb00187651d3d f978006a8453137f989249e849a7c935a090da3a9b0116145da80068760e12fd
|
||||
lib/codeql/rust/generated/Synth.qll 03ecd0d7e89aca555d2393bbea8de1cde0476e28fb9f198ed3355a74f1b5c1c8 11855cc446c2d8a77503795a7c395e86ff149ea10d773a6e50e54b08dd438642
|
||||
lib/codeql/rust/generated/SynthConstructors.qll 07106a119dcfc7a839454d1fa66c0e65d6ab17eeace40cd5bc857a65dc7c859b 07106a119dcfc7a839454d1fa66c0e65d6ab17eeace40cd5bc857a65dc7c859b
|
||||
lib/codeql/rust/generated/TupleExpr.qll 13e4dbc1afcabf388c793145cd399789f4014662f2eed1d49cbe96eeb8355413 bfa0708885c120bad24e29deb29641c69a5e5361654f3a144ead9543bfbd7197
|
||||
lib/codeql/rust/generated/TuplePat.qll 23911b2ac7ee2279df8ef40a6e447437ef0ed62518504b17874a7652bf5e3f4b fc4f6f7ea40754290de194ac55939f08549bd637104baf8dc84ca3938bcbd1f1
|
||||
lib/codeql/rust/generated/TupleStructPat.qll fff004cce780501eac94fe4b146619a84e02c85cae12ffeba5a4058e8c9738ea 738659f8208aa65d1d8cf601e0d92a90a890d6cbaec51cf04c81fc75a827e30b
|
||||
lib/codeql/rust/generated/TypeRef.qll 7cc468c2f473ee13c11a97c4360100376560e8fc42f25a136f1500fe31a31533 7cc468c2f473ee13c11a97c4360100376560e8fc42f25a136f1500fe31a31533
|
||||
lib/codeql/rust/generated/UnaryOpExpr.qll fd55d4bc9cd1a49d1f38f02fef16771f29bb5fb2512abd18341d56665859d18c f271ef5036410c018f48d6f15b17cb9beaf4111a42fc638ac4ed3db974a5f870
|
||||
lib/codeql/rust/generated/UnderscoreExpr.qll cd7f615e41562b80d89e413c1c808048da7746fd445f0eb6ad8c5d9996b44d5d cd7f615e41562b80d89e413c1c808048da7746fd445f0eb6ad8c5d9996b44d5d
|
||||
lib/codeql/rust/generated/Unimplemented.qll 375b7935b7f4103728ece3042282ae82d19e471d7a9fa58c8cbdea31ea0cb113 375b7935b7f4103728ece3042282ae82d19e471d7a9fa58c8cbdea31ea0cb113
|
||||
lib/codeql/rust/generated/UnknownFile.qll ec9d1a3f15ecbf1743d4e39cb3b2f217aa9b54951c93302c2c4c238c3f0ce595 ec9d1a3f15ecbf1743d4e39cb3b2f217aa9b54951c93302c2c4c238c3f0ce595
|
||||
lib/codeql/rust/generated/UnknownLocation.qll a19e2838c52d702d268ae530f3dbd6fcd8bb28a237a52636a960f225454103cf a19e2838c52d702d268ae530f3dbd6fcd8bb28a237a52636a960f225454103cf
|
||||
lib/codeql/rust/generated/UnsafeBlockExpr.qll 8464597373ea46f6391394f02c4ceb93ffe8441b434e6e71907b0a3369f72d8e 8464597373ea46f6391394f02c4ceb93ffe8441b434e6e71907b0a3369f72d8e
|
||||
lib/codeql/rust/generated/WildPat.qll 8a2cede00ac2941cb94e294ffa81ada9ae6e61d8d8a720ce4f288740345802f8 8a2cede00ac2941cb94e294ffa81ada9ae6e61d8d8a720ce4f288740345802f8
|
||||
lib/codeql/rust/generated/YeetExpr.qll 2b37cf55ec26958cf226885e99d81c8bbc6ece69fbe92d9fcc8884ee0bc4aad4 e371531507311ea8a9fbaac74442fe9994ae85f0acdb79cc870e5318af52aba9
|
||||
lib/codeql/rust/generated/YieldExpr.qll 70ca98e14b24f12a3cbfe690417543fdce45b162f241834e2f7f58543aa11bda 40fe1281107317a7d80c7141229eed9c6904805dff615dfd0141ede2457e2c57
|
||||
test/extractor-tests/generated/Expr/MISSING_SOURCE.txt cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e
|
||||
test/extractor-tests/generated/File/File.ql dec43be882fad904fab0c6447ca93633d801cb08ff8bec309befde7d2b9e5dda 74e1f1d698558c35fa03935cc34f4c8145d376b56d7657b18aeb338f5ca752cf
|
||||
lib/codeql/rust/generated/RangeExpr.qll 1678fa524166552a36d73cad9d34213309b1989c1e427bc990b5c11a12588ce5 beb90978cea26a2ec9d3e8cc7b0b6a728ae952212ada5d6ad19319120f3218a8
|
||||
lib/codeql/rust/generated/RangePat.qll 2e96aece5ff2300659c2729c7037f7334790456d86160dc1e16ae99545c6ed0d eae4f95f9eaacbc2319ee67556dcc164527d82a6eaa5af59f6efce9caf3cba3b
|
||||
lib/codeql/rust/generated/Raw.qll 358a5b315ed73e67446de7d4c32a6430832fa7cbf62f2be3ee0100c494ff3764 6b9628a5e9a8d6d953f87d332520652654292932225abc4d60c6a1dba1cd369c
|
||||
lib/codeql/rust/generated/RecordExpr.qll bdafc10cde139617b67cb46bb205f99bc3fc0b9fd8634d304b81b524b9592aa8 2826c453c72416237467b08cf9ad9421b03203a8593420146dad8e1e71711b8a
|
||||
lib/codeql/rust/generated/RecordExprField.qll eb06236fbdb856169dfe50ae1ebf59384222de6670ca91c34eed647823dda4ce 750bc7ab1e156db3927d6dd206e9d2c9388519425c0e8665afd322a6594aa5e2
|
||||
lib/codeql/rust/generated/RecordPat.qll 20b62cfd4ee4e911ad4a2b8e5762da2abb7ff0c1d7f21cc6f72b1ebcbebbcd42 c0502e6bfc637058524cf7369c63396ca5440c58e5e91600fecd35ca5299d86c
|
||||
lib/codeql/rust/generated/RecordPatField.qll d862245163667ede676e407f109ad44e4ce732de59ea9025b696dd8b9803fbef 60166a21d7deee112325bc301b5893cf3072c4d8d095dbf9080cb00269b71d40
|
||||
lib/codeql/rust/generated/RefExpr.qll 917d810bda28f3f4319770ae5c8eb4ae40887f3c97669fde072078d3f5536114 7793027298da1fb787f8823146507f1ccfab046977cc71743045b3c2f3b5da02
|
||||
lib/codeql/rust/generated/RefPat.qll 1a0322f152758edb6650c530073cc6aead3d81ee51310e2d99936e10b56dac6d 5201f6455665c655daf6b9f686c66e14f9994b4d83624f0a478837a9a420cb0f
|
||||
lib/codeql/rust/generated/RepeatExpr.qll 5a33101a5e2ba973beafe0d933ad5ca238050eb6f88638826dc37a712c05afaa c2cea180b7c068a3483cbda73168effe762ab2aa56bb8c590c8a15b6e54961ce
|
||||
lib/codeql/rust/generated/ReturnExpr.qll 3d8fffeb6420a35d78f4f2e2e3e4ccf1c8454022c50395be2e8446f29740ddfa cc9dd916dc18114469d2eed9b82f83518af0de78797ad98777b29a5055bc77df
|
||||
lib/codeql/rust/generated/SlicePat.qll 73dce5e310068357eb41e8c51923ff5c4054548db27987cde85735ddf071fc44 67fa0c285c110f18446689d1eaad9e82896df79d62999ad3f788fc295fa1d2c3
|
||||
lib/codeql/rust/generated/Stmt.qll 58b010f32956f2736a7b9ebb43467ecd03308a1f27c99e2b09bb925c349ac859 9859da4a4aa29b4f7ab47313b2dfe8baf9717a162fcd8bd62a7cbab4afd1886e
|
||||
lib/codeql/rust/generated/Synth.qll 69415291e37195836bcc6810cccfdbacad4e1528bb125e26d2cc6b53daf1666b 6c79ab425ea2e132a2bc0eeea4f9f62cf3e259e911deb0c02c9fbdd56957e291
|
||||
lib/codeql/rust/generated/SynthConstructors.qll ff41f7bac5ae52e0eb4db378ddd389d65209d927046743852071650b86b4066a ff41f7bac5ae52e0eb4db378ddd389d65209d927046743852071650b86b4066a
|
||||
lib/codeql/rust/generated/TupleExpr.qll 0828181e2f1f1f233598eab367688615356f6b91451a40f8d812d247d93467fc 2473c52d3dfbec6c8cd66bd439c85959e854f617edf5afe545252a24304f2f2e
|
||||
lib/codeql/rust/generated/TuplePat.qll a1b22c20ca02497e9be8c6edaeaff214a669ecb0d2493890e79c28c485f512a1 5cc082ea99de61662b2d4c8b59f7a833236e7e448943e8ee894ab6066cc761c4
|
||||
lib/codeql/rust/generated/TupleStructPat.qll 089563349c9866f5703e9d306ba2a475d7d4002e7236dbbf2feeb89290b4d24c a77842d7262a7d19b175f239d1ee6550b3b66a4efe903c5112bb82c0abd7b05d
|
||||
lib/codeql/rust/generated/TypeRef.qll 62cda2a3bd01a8c8356f11e5deb38ead4a8af630df27d88b8f60b5458d263527 62cda2a3bd01a8c8356f11e5deb38ead4a8af630df27d88b8f60b5458d263527
|
||||
lib/codeql/rust/generated/UnderscoreExpr.qll 964b77ddae265ad51fd03fcb7ef008fcb34eb5ea1a7ac0cd06ed84c1922fc07f 964b77ddae265ad51fd03fcb7ef008fcb34eb5ea1a7ac0cd06ed84c1922fc07f
|
||||
lib/codeql/rust/generated/Unimplemented.qll bcf63c2be3e0f7b88704a76ed182616101cd4b317f539ef5a65e5a4b87fb6b39 0e3e0ba85e03f327334b752c1dd1aa82b71bf1601725fcc071d93a29e40e1188
|
||||
lib/codeql/rust/generated/UnimplementedDeclaration.qll a6eb4e61be018288304be010e063b68039a97f2cfe19e7049d3d54c65c88e9ab 662da5c38f5907d1f0f9990caca2114bf5e3b179591104dde777ae67262815df
|
||||
lib/codeql/rust/generated/UnsafeBlockExpr.qll 52edde0daa57fea065f06537db05b5d442c63b3fa8777bf55ef2b2106c228ee9 52edde0daa57fea065f06537db05b5d442c63b3fa8777bf55ef2b2106c228ee9
|
||||
lib/codeql/rust/generated/WildcardPat.qll 84da49dc571151b0c5e0661426546a53d499ce37fe927ca07f67c4977dd70e16 84da49dc571151b0c5e0661426546a53d499ce37fe927ca07f67c4977dd70e16
|
||||
lib/codeql/rust/generated/YeetExpr.qll 0e673204c592b6025570098b14e0378a0e0c68d13be9217ce1543f2781667d42 6546ce98d42717d4e6932e1add628591e488d063ef2a79bf093b831645342e21
|
||||
lib/codeql/rust/generated/YieldExpr.qll 8f28a069a4a97d17a10b92200766f57ef0d372b88dd650f909167c7b3d643cc7 a0d8578c4f69e042788b7e1a8c066663541f1782589ea7521741d0b801ca0661
|
||||
test/extractor-tests/generated/AsmExpr/AsmExpr.ql 009b9c7470dc71fbd8bb75e17b180df196407550f0e4ddb9b760b58033c80245 03c2a6c81038d1f81058cf9d59a239c72db7f08e32faf694dbd976e93aa6fac1
|
||||
test/extractor-tests/generated/AsyncBlockExpr/AsyncBlockExpr.ql fae7f09b653698aa78626a268711bbd8336c9d6572ab9fe85967a8bec69e33f5 91dd5893cefeb9fd45dea49962dfee5a373be790f5ab3569f79d9ffa05613033
|
||||
test/extractor-tests/generated/AsyncBlockExpr/AsyncBlockExpr_getStatement.ql de0941b5e2fad01300b77ac6db85ec37bd85b7d508b01e2b8a332c1ab9f6e787 7f9bdd81447cbc5a63b09c41a7d0edc15f826f7e672c518dc6fca08ae0107639
|
||||
test/extractor-tests/generated/AsyncBlockExpr/AsyncBlockExpr_getTail.ql 75f59d680d0f559dfc586306af2748c59c15789514a4ebca9f908ccc1fd63674 1a9f952485846fb93fc0afeabeb07845fa5c026520a0542302f971cb6b4d8e3e
|
||||
test/extractor-tests/generated/AwaitExpr/AwaitExpr.ql bd2a401989b0f452b448fadd8d456dac9c46ca5ffe3775e5ac46e755782a4f20 c1922cdd6995a9c63eb841abf09f575bc78ec0be222062034b89ff63649a875e
|
||||
test/extractor-tests/generated/BecomeExpr/BecomeExpr.ql 5661cb0d7b2285af31207232de2b685e851e4d70224cb16045bc0221c107de43 1fd41642343791d9b69e0c633ea3318c0a855f51f50062cb58225820a7540d50
|
||||
test/extractor-tests/generated/BinaryExpr/BinaryExpr.ql 3db360cb56d154f060175aceb5d14b14f51855b6b28ef3d67fb76b20ad239c01 4f4ff1915cc7f705d1ab5d6e507b28989f7ea19a7f76fc5ae6fb9dc11b31fcda
|
||||
test/extractor-tests/generated/BinaryExpr/BinaryExpr_getOp.ql 44e0664654d91130933e9c17909dc780866dc6e63b241079751f0356b8951ab9 97032408c8efea44a635b487365ada5d0564ec34c9d79901b6bc64c43a4962a6
|
||||
test/extractor-tests/generated/BlockExpr/BlockExpr.ql fd1bc52af4bad96423cb86b1eed02595e139e533f48533299e32b7b45360b47f 021b58c6e6cad40cc0707d0a78fd8c4ddbc529422d3bb9ac62c490b2abc1bb00
|
||||
test/extractor-tests/generated/BlockExpr/BlockExpr_getLabel.ql b02c87bba8bdbeffab05632133a17d36b355624d7521083cc6c0b02f88b2ba46 91141e01393ec04f4bb1f86373f5f25c837b13865ab540419050e6c547cc2690
|
||||
test/extractor-tests/generated/BlockExpr/BlockExpr_getStatement.ql 4de30a1e3c9de174688b8f9af57f72dfa6d9a2e3b3ab1b972ee69342ebd7ecad a6948240014d27fa9af7f56859cff2f8f7b44097f0bc47fbbb91b5be35e11d91
|
||||
test/extractor-tests/generated/BlockExpr/BlockExpr_getTail.ql 6df26e837dc4f8ecf6dda674dfc89b2dce25da5dc3301beba461c5c1e1776201 b4e205949d06fa355997f5a399ce1f7c381023e38be4db4ecbcec676d8ebec69
|
||||
test/extractor-tests/generated/BoxExpr/BoxExpr.ql d74e58c16466ae5c08716eb027cb562ed50a96965fcaee3d0ebb64f1c9086c7b 9b01b9343cfa07e76de9ed781a5c03532fc740c8f794147d71815c98dfbcc076
|
||||
test/extractor-tests/generated/BoxPat/BoxPat.ql 1a5fd42309c669b3790a903d15b53d83ed5ccfa82409a1abba648b6fec39343a a4086b69da34827b14b63eee15eec3b951de14e941004024324fc00ec8680bc4
|
||||
test/extractor-tests/generated/BreakExpr/BreakExpr.ql 2897243d4fe6e0975f7621cff7a44609f6f0d015e77bff9c73a0dca32e3e7b44 6a072aa7f6ab27d6f6e887e7fe86213668c1bacce6cddfa2b1e65afcc13abce7
|
||||
test/extractor-tests/generated/BreakExpr/BreakExpr_getExpr.ql dd9b5ac06b3677eea02bc3204e3b23f212f29c418343a052befd903e622ffc32 f66a646c7efcb326ff70961df623761d342af4134677245e413cb9fc603334ab
|
||||
test/extractor-tests/generated/BreakExpr/BreakExpr_getLabel.ql e338d2582b191d4ae1640504262d5a0d5ed23ddf850b5adfffb679a057f55e5e f57e618dac8c79d70e520d1508e70032662db8e4fc43b319365e195efcbdc847
|
||||
test/extractor-tests/generated/CallExpr/CallExpr.ql 2b91a02ad6f2ba6e200b2797dabda4dbcea08c7c2836d0a1be4bf47a7e7d786c 6830905e8993836f258c84b557f0f044dd5ebb32dad8d74089a903ca0d820eb5
|
||||
test/extractor-tests/generated/CallExpr/CallExpr_getArg.ql 0c7e6eb1bab788050c51ae36b954925c48618c5d6fb3129522eada6d911288be 251ae5a7119a2cfe427650c38e7df5d3c0a1711aa7a2ced21f5022798a5088d0
|
||||
test/extractor-tests/generated/CastExpr/CastExpr.ql 6028e49e8788d424ac83f7e70aca394c72834789d61517a26b9d6901f40ef734 a3fe7712c8d97fee8aa7505c3a2be03f296f8032207a24dd44f6dd91a463a068
|
||||
test/extractor-tests/generated/ClosureExpr/ClosureExpr.ql 75fd05fb47e90426745d6c8ffff35cbcba3fb0792317155d0a139b7a4b87dd14 865a776a3312ef5e93a9a857a6ad7d66233e58547c4fa3ce924dbb320a324e2c
|
||||
test/extractor-tests/generated/ClosureExpr/ClosureExpr_getArg.ql 48fb8656a350ba16cc3cd291692b542dca137587ee971999c439700c74e6dcba 5ff21525959142237ee1a32c9feacf331083fb40502df6ddf78dfb8d93caed66
|
||||
test/extractor-tests/generated/ClosureExpr/ClosureExpr_getArgType.ql 34f8b8fc82e0c798f3cddc7ad1bb80a361c95da9d8a768fb787d6ffc3be1c755 9c14ee19cf74f516d201b8be72fe3496e425cfd42db223fb537cc92515e2b021
|
||||
test/extractor-tests/generated/ClosureExpr/ClosureExpr_getRetType.ql 43fb702201d21b8f716df8e128f1b7995604f5829b832a163672ab465c2fbde8 fc28c03768a514260ce0feae6d7c347508c4800054b184cb3f9004bbaca33fd6
|
||||
test/extractor-tests/generated/ConstBlockPat/ConstBlockPat.ql 9ca3cf0695df6e71ad7c308ded9b1085474c105d85ea730d98921543a14029fc 45d17bb933d54f2dc56c95ef0a74b6cc00493eba6db3aec2b9319972675ff331
|
||||
test/extractor-tests/generated/ConstExpr/ConstExpr.ql 644c34489fd7deb3790f9de131d958cd96102d5c09eb3b07bbf5462b3e90d253 025192a0bd742c16baf8b627f3b8216442a74c6497b752dd1207f572743a0f5a
|
||||
test/extractor-tests/generated/ContinueExpr/ContinueExpr.ql 259d98acb2d237ac630a7f92a26256f1af92372a3ef5b5feaf022b9b42a6a726 bed3e1332d65736194fa758e4a91433785e9da2ddc31d56c29ad27a7df392802
|
||||
test/extractor-tests/generated/ContinueExpr/ContinueExpr_getLabel.ql 0fa15905b4c06382ab6bde50d28804d7b0af4f53229e69fc8038a77f190f7b24 2fb577cb92456371f5f056fed5a07998914a27f560d41da43fc3b94827436cac
|
||||
test/extractor-tests/generated/ElementListExpr/ElementListExpr.ql 22ba315472cfc2ea9cbe6759a0e2a3250b696cca823a992539545690bb4db2bd e968c8fe3592f17a2b84ea6ae2607d860c93fdfc49537940cbbe71f52e59f09d
|
||||
test/extractor-tests/generated/ElementListExpr/ElementListExpr_getElement.ql 0a327e668c653a31d98f64290db768f68383d103cce4354076a226df708fe982 50231f088f3d81abd66be0ab1bf7159f47f8705cec977677b15738897dba5342
|
||||
test/extractor-tests/generated/ExprStmt/ExprStmt.ql 037695af057183ef9e35569c9255625cb17b10590632aad4f9a917ab036a9b9e 8ded0651563b0447b3040303ad9e0b1bc9e2873ad5485ae4c6447f5893c77402
|
||||
test/extractor-tests/generated/FieldExpr/FieldExpr.ql 6d85c8b85905baf66ae1f6ed716e42530d814f86261d98eddceab861939227e5 5765fb0376978a9006e2dc175bb224c5c944f19ddf628a2b933b1bebf81015a2
|
||||
test/extractor-tests/generated/Function/Function.ql c49434420dbb6fc3d9e6294161dcd3d3b306fae5ba5c85b610e534b8b15ef74c fe02208b673b74eebed92b5cbb3a8a06c31c0681eb28f3e596515663f14fa9e2
|
||||
test/extractor-tests/generated/Module/MISSING_SOURCE.txt cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e
|
||||
test/extractor-tests/generated/Pat/MISSING_SOURCE.txt cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e
|
||||
test/extractor-tests/generated/RecordFieldPat/MISSING_SOURCE.txt cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e
|
||||
test/extractor-tests/generated/RecordLitField/MISSING_SOURCE.txt cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e
|
||||
test/extractor-tests/generated/Stmt/MISSING_SOURCE.txt cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e
|
||||
test/extractor-tests/generated/TypeRef/MISSING_SOURCE.txt cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e
|
||||
test/extractor-tests/generated/GenericArgList/GenericArgList.ql f03097d3a9840ba08efa367d9da32011da8474e078eb13e14dd8a17955689887 57b9934868d324e7e99e9e79b8c3e2a5f760ba9ed6bed98b537dc3f5580253bd
|
||||
test/extractor-tests/generated/IdentPat/IdentPat.ql dee6892ebf23f374f8e0403e7f6c4006f958159ecffc96dde8e4244e689ed7b4 0b48b337bc9ddc184ca240e3aafd9f5fdcfb1348f0a4e80106d4ce6541567f84
|
||||
test/extractor-tests/generated/IdentPat/IdentPat_getSubpat.ql 725da30485e43fb0c42e6f888a14eba4e2f9d75cc5144d2c9831ccac5eb10496 e680e324500a34d3c70958f9976f5e3643e3403475ef57ccaf6d7a402b40f30f
|
||||
test/extractor-tests/generated/IfExpr/IfExpr.ql 4463607934fd504a6b2d65829d8e336308af6908cf12387fe8bbaa3c8c5360bd 28b5580a4e628286023b5d0de549d087f0a4224ecbb02bc7b3197d8f404b5066
|
||||
test/extractor-tests/generated/IfExpr/IfExpr_getElse.ql 4b4f3edfd0ed419fc580f3def6005760711874cc442c42ea817d70053ec07fca f97f65f91aa3f4967a2d3de836235d9c9a15f424cfced79d84f2580abf2c6077
|
||||
test/extractor-tests/generated/IndexExpr/IndexExpr.ql 6cfc282e84f9844630ebdb4dfc60f645d18a737d9b0e9f014c08476c935a92f7 86a336ac0193f0d6cc6fc7427b0423867a10323de0f95cda88f76a178c213430
|
||||
test/extractor-tests/generated/Label/Label.ql ba8cbde90392eef8f9faf6177776272dfb000abac260c6231fb00bff46ac1a39 4718da4da854e89513758c964f11117e329ed00e548e14890ec916c93500c529
|
||||
test/extractor-tests/generated/LetExpr/LetExpr.ql b311fb10d3a65cf682ced02aa4c9b589a84cb92adc653fbe630d471d88ca5f8a 3d93cc0cda8a6f34090d3000fee4a14e31fcf0fdc4d201a8d414e27cb8b9e4f4
|
||||
test/extractor-tests/generated/LetStmt/LetStmt.ql 842f58d8d744a567c44bf3742e4a9146339184903e0e119506b17f2958596bee 4900bc11ddedca66c8992b6384cd7bc1ae084bab93452bbf54e76b2e4342e46b
|
||||
test/extractor-tests/generated/LetStmt/LetStmt_getElse.ql 88bd37786d0a738d2cb0c861a2411236d9dce09b98ff050b5f03b0888ed2f521 622d96d1e99fd174c284b7a3f05eddf30faf667cddff2eb942e01128488b398d
|
||||
test/extractor-tests/generated/LetStmt/LetStmt_getInitializer.ql 6e9a36a2a226ea0df1f01886bbd4e14997eb91f5b9422e37ce4985fd15a80622 ffbc3d9278e10aa78304cbc8876d96fe678a1d2f52ad170f651f842d1787156b
|
||||
test/extractor-tests/generated/LetStmt/LetStmt_getType.ql 3326644b606a846afbd2eaf8ed4223eadb0061e23e953d085d2a3df0935ef534 c414e5a1f927779249a26c370ba07c82c99d489cb65f984003674b288a690109
|
||||
test/extractor-tests/generated/LiteralExpr/LiteralExpr.ql 9fb9c6336d1e3a657d988ffb53a43ce66b8403e46bea05d73d546ae774a647bc 708e2878eca3e9661e8b0d54180b4a6f512d9233178e9ad5683a1f72fa9656aa
|
||||
test/extractor-tests/generated/LiteralPat/LiteralPat.ql b7636712d6a5e0b76c0195444514284b9d81ea948d42f19e683e134fe61f8a9a 9836c86f457b967ee9f5dd06f3c3206131d41bc838df60b5bd0ee8369a9a88fc
|
||||
test/extractor-tests/generated/LoopExpr/LoopExpr.ql 58dabe29df959b265fa568cdde1b589d65ca8649c8aae0f30079565c1106ad72 929fd3c5c4f01f47f926c49f1a519d415063ff23d5e1fb2f2e8f72bb5aa7fdd6
|
||||
test/extractor-tests/generated/LoopExpr/LoopExpr_getLabel.ql 1febfb8cff9b4f7ba1a658a2832238d2355f0f609778af33a3877e977aaf1805 6b9c008b041beb1c0a7e249b7f4a1bd5cea0885f82543a8909a23a7068f1f837
|
||||
test/extractor-tests/generated/MatchArm/MatchArm.ql bf1ff34940f8682e69450bc3429b0e071ae2e31b94699cd7579dddf6126f821b 83329681067983788ac712fd72299719e4cd1ce85cea613e373751e6bed05f42
|
||||
test/extractor-tests/generated/MatchArm/MatchArm_getGuard.ql 2e99e932536c510e846a51bab4f4e153b1731131f144c813cfadb122d619864e 312c619de2aec0753e4fa66e0500fa67a9982989420a48dd16e75b5a04f01b9f
|
||||
test/extractor-tests/generated/MatchExpr/MatchExpr.ql c2bf8277536a02691229a1866fb565b2bd2b3ee651cb1d38e1581db19239e0b9 901d909dc00b9f86815f5794d2639dc7367dfd04030d2404fc1e49e9c5948b81
|
||||
test/extractor-tests/generated/MatchExpr/MatchExpr_getBranch.ql a66b46c591bf9ce084e74a8b9cd7a0af5ab5e12e166b59cff0a1cc73a97278c3 58f20c67202abed5a9d659008333f3807663f85367db898dffe01bd2ba9c9b03
|
||||
test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.ql d09a8c2c0d277bfe4770822e79fdf94a2bc80e7b8bcd47361396a5a467aaa193 b6e9710ab5f6f2865c40cc155952e8833955f2c4c2cc5694f1008ffaa4d67bd5
|
||||
test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getArg.ql 4d975396405739dbb05a4019add804b92d97b12c8ead6107603540ed2b3fefdb c66bcda4342519fe2179e2cdd67ff6ddc7b3e8a475432b611f6de20578eb2f6d
|
||||
test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getGenericArgs.ql 2226b4759bee9091d88a7d72be5d8f8ad43f17b07fdd1a1f64ae3da5aa6aa333 ee9e06838b879ce90b00d9289eea32fbda9c02e0074d306a2f1f5991956c7deb
|
||||
test/extractor-tests/generated/MissingExpr/MissingExpr.ql bb85675a4b8a8118913fd91389f8282863613edda3fb804b917cce0675a8bb76 f2e600f8fb723f8f1bde4b0b0ef41f59b4e652882b5c788e8f6767822d5574e4
|
||||
test/extractor-tests/generated/MissingPat/MissingPat.ql 7a9ee46a40f6bfd31336beb6d9f6256fb8099cb6c052ba3131a95a45716224a4 619375e7dc6d95b8f1d1c958217350fc1553882f0f41ebd9f7a071d6947232d8
|
||||
test/extractor-tests/generated/Module/Module.ql 0afd07f619ee68a7f7270ebf9a4a6b7d6849448924083369c4101650854e1e77 b3239a1ebdde858179f4eba19e6c0cb3ea28b823f423fdff90f7b870b7fbf003
|
||||
test/extractor-tests/generated/Module/Module_getDeclaration.ql 8343f2b4be470a502c4bfdba9ef74173a440f45b7300aa9d517c2bd68ccac36a fc7666228fd1d3fe4fc63466aa04ee8adf62e9fe0008fd92ea337c8585a7fef5
|
||||
test/extractor-tests/generated/OffsetOfExpr/OffsetOfExpr.ql 579e667797cb071784fa4c8e4e79bffd8b7a797bc70a68054ab51950dbebf4f0 dd92801d8909d83be1f824a2dfc599551c11b63ad1e96593e22d3b43464d7cf1
|
||||
test/extractor-tests/generated/OffsetOfExpr/OffsetOfExpr_getField.ql f18b39caeb2d9410cd1c4b472c31477da8dcff27ad43837e57c679a8eda0ca76 bb30037b5001d78585df9d23d9c4c73d1f864bb8b3778f402838f18acacfadc6
|
||||
test/extractor-tests/generated/OrPat/OrPat.ql 51d9a0f5993510542a2cca353c1ca48ba1e5fb97a65bee7f02398cd90debaa41 06e0936b80a07a16e22fad3a3a541000f170fd5ad301a3170b98a91f51d09144
|
||||
test/extractor-tests/generated/OrPat/OrPat_getArg.ql 693d62aa9817ce7661b4698c2948bca6567c1376b2ae832f3020462e8ab8d2ee 1fd9809826c6f2dece3014299f1d70210c9f23e5eefbd04b1d6024e1ecd46209
|
||||
test/extractor-tests/generated/Path/Path.ql 331bcbea004111727f36fb9325b53bf1ac87cc62ffcd68659636fa68786529fd 94ca6f7c3df16779cf6b340099330e5e1122d2e58708a8ab2aaf0f4c78a92200
|
||||
test/extractor-tests/generated/PathExpr/PathExpr.ql 3013e12d5dab5c38c5b8fcaec59e78a3c6477f4edc8b01b078ecbfe7b8f82ffb 40427c9d420456174e1524ed046a5f445b9b72ca8b87abefb6c9498d4c809fc5
|
||||
test/extractor-tests/generated/PathPat/PathPat.ql 57dd735fe179cc1b91ee66b7849bcdd1aabe661762e88e1678cdaaa53526a10c 1734a45d47ee484fbf2cadb5620b28874a904fe944030a9e39166a6a25aa0de7
|
||||
test/extractor-tests/generated/PrefixExpr/PrefixExpr.ql e69ba11e6509519bf8cc527d21aacc330eba756a49b2b6c88422837aa0cbfe28 77424ea4db666f93de683562096d435dc88f141bfc0b1122187067299a775183
|
||||
test/extractor-tests/generated/RangeExpr/RangeExpr.ql c6e56a997c3543818ce6ffadabbab3bb233a099caa9e06e36519ac02f666dc93 0dcabe2df4c8ab3ba7b171cefb009a09c442ff71373f828c6c667bbb9eee2e45
|
||||
test/extractor-tests/generated/RangeExpr/RangeExpr_getLhs.ql 063ee8f6146110b97f4ee8944a5f37f0dd7cd5be049f13546d42a888a973d826 1184cc1fe937a01e9d12577478750be1497d4f99231486ae6d75104e7304eeb2
|
||||
test/extractor-tests/generated/RangeExpr/RangeExpr_getRhs.ql 6a7eb53c6b2a4587212f65c522387f726b2b9b3f204708a2a764e238aec8d89f 8b3095fdd9c6900eef656d4e9e18f5f4866b285634cc725e73246976af20450c
|
||||
test/extractor-tests/generated/RangePat/RangePat.ql 4cb48cd2a96ecaa3998f70e2ef5b117749448d9166af743d3b8cfe6f90938665 d5a894f6e56b28c1438e37191ddd623d89e4eb07d5c979ae3795119de9d01e49
|
||||
test/extractor-tests/generated/RangePat/RangePat_getEnd.ql 823307f0e43fe6c02843417d254c6584e2ead04b961158f04494eb8197b9905e 016805e6063be3846cef24a5680f4f17e68ee9714430120aa91fface3461d97c
|
||||
test/extractor-tests/generated/RangePat/RangePat_getStart.ql 1457a38514bf9fa7de44a4e5e3dd5218410149133074252bdf64d5eef5197d43 e9a6393aed20c710b2f19bc6482262664d8bc0245b5dfc35f636aa7966e0dba4
|
||||
test/extractor-tests/generated/RecordExpr/RecordExpr.ql 20dcdc18d2c8edeb06945915b87c77578000a67690e234c9f96d9f5520c53159 2e8d975f70a7d6ee8e9dd1c896eb95a4de079f4f4fa1031f6276e3212386c895
|
||||
test/extractor-tests/generated/RecordExpr/RecordExpr_getFld.ql ef36c6fb3dd9d77c58b573661834d20d8176544137cbcd8f6c2a9c9aaa335574 d9d652ae1067dda138af2211a8b5fbc67129c571cb9c1faf5048e1e372cf1dd0
|
||||
test/extractor-tests/generated/RecordExpr/RecordExpr_getPath.ql 6989f2b785813685e2233476abb13c0041a417d6a7e33179336739160f2569b7 fa1e08ee46ac863fdf69fc71b1823f18db6195aa66ea4a228c7c8eee3b448130
|
||||
test/extractor-tests/generated/RecordExpr/RecordExpr_getSpread.ql d221a3847a077d3574de6ea15ccf433f1bea24baa1080eb90f9e3d104f1ba22a 97b325e5fa8bc8af4968dc96bf5930d05bb4083d7a945ab6a34a55a7016da09d
|
||||
test/extractor-tests/generated/RecordExprField/RecordExprField.ql c533740aecaae604d5c7d3261aa8df511d837b19fd74b4f88897373da6d932bd 037e33faf0195cb67314f7eef9571088391586366bf71a6fef3ef83845fb573c
|
||||
test/extractor-tests/generated/RecordPat/RecordPat.ql 54bae18e24900a8a6ada5f72334e3507c17156227afd908c1b7354c11c6bafe1 8613ce169564ce0ab912bd9b3340ff3a8040f8f3ccd56d6dfd3a56eb59a00bd8
|
||||
test/extractor-tests/generated/RecordPat/RecordPat_getFld.ql 4bd86be1173bf404bc6901399be7da2b6f12d989f2ad2b158002de18b534e0e0 cbca368f9196d886affce4e1ee01bb5918c1a22a17dedd367f8cd943aefe06c2
|
||||
test/extractor-tests/generated/RecordPat/RecordPat_getPath.ql d2730342a2203ad7d6385a64d53874050bd084fe74c05168df223499f7e86100 0d223ccb9c127100557b70da89f0c6ec7c559babc885bff46b97f5cb7b877e63
|
||||
test/extractor-tests/generated/RecordPatField/RecordPatField.ql 70babedca815ef3a5759a398993cd20645a43d45ada0e71ba68318811274606e 24635139cc3b95bfa36921008ff1db0455257ed0a0384b10ac267dbd4a125fb9
|
||||
test/extractor-tests/generated/RefExpr/RefExpr.ql e859cd59dbaa5aa5555aa13d4a75b7bfe2dbdb2d5c50675f3753adaaaabdedc2 d330ee941e9932054c32d0be5a52f38f285e4dc529821759ea38633f8ddbd517
|
||||
test/extractor-tests/generated/RefPat/RefPat.ql a5fa2a4435c11a935c0ed2dfb925874d44484dd0e0a6e31d50db7c1f63b1efaf e85077fdeb58983542b8a78f65bfc8498121fa699f5798c48dc59f1b74fa0b04
|
||||
test/extractor-tests/generated/RepeatExpr/RepeatExpr.ql a883874b6db9c084123b795ddc4b972f41da554a07d41b7d42242a4b4156ccc8 4aef5ebe3124ea3e13851df3e65d430b64740a3fda2fa4be4c6a3634e9f00fc1
|
||||
test/extractor-tests/generated/ReturnExpr/ReturnExpr.ql 65397add1001e1593a303e3cec51e74aa4830a63e899b458a4247d017a84942d 34f138d22c9fa9195acd0c91a230dcf74dc5373db2315db0414aba710217720b
|
||||
test/extractor-tests/generated/ReturnExpr/ReturnExpr_getExpr.ql bea07d8461c84e87bd642ca3af79aeff53f3ca3b79a6cd73ff8c514bcf213655 3cb63fb46da4d1c305694fd7a004016ab7c5ec96372279ce58cdb5c2e7a1dcc1
|
||||
test/extractor-tests/generated/SlicePat/SlicePat.ql 7170bbb932c27e90aaeb4bcc2fe35e8e919427fa420d8e2ea7097ad41b850fef 9fcbfce069e43e61832dba9d92c80b015a68e437683f5a3531b016dcd9de7824
|
||||
test/extractor-tests/generated/SlicePat/SlicePat_getPrefix.ql e2f42681f3fc56b1e4dc1dafa8be1d20f164017eabc6144eae0a30fa4b8e7a38 235e67231d2650f9085fcc0ff28e116d8a1e499fbddf0db1352eb3517d9ba722
|
||||
test/extractor-tests/generated/SlicePat/SlicePat_getSlice.ql 9f57b88b0bbe4726577994c7980c284edb72139b7036aaa9c7dabc235cbafb48 38416e3490ab10ed512dac698aac9cf9b74cd2ab68ef1f9b5721ace18cb2d03f
|
||||
test/extractor-tests/generated/SlicePat/SlicePat_getSuffix.ql ba921a0d73d6d76a7c83c12c0cb3bdfe2c40c6a206777614c4898d51a7349cf7 c5c36d8e9e5a5177be29b84ade0653121ba0e7888a9eda59498bd61d2be38e26
|
||||
test/extractor-tests/generated/TupleExpr/TupleExpr.ql a14037288887ffd865289c4082e8438384344e3eeee9eed3bd4e36297670d94f b96191f6b65049e48899e72ac8e5b120ab3c6028bfa26df0e9c8aadd943c1023
|
||||
test/extractor-tests/generated/TupleExpr/TupleExpr_getExpr.ql bce5ec6f86043699d913abe258754c198cb1a562d0f1baa79c5d41e11377f622 8880feac2a89ded4e729b023fd8ef59350f44c30889e248c2e4db476544ec544
|
||||
test/extractor-tests/generated/TuplePat/TuplePat.ql 1f87a26474a0c39a9c238ec0218409e5e21a3253a94e0de9a87c526174c1d32d 579e3482ca83a9a6c35c3db8d202e52c67cdbb99ac00c19c5a1babe76b6e8acd
|
||||
test/extractor-tests/generated/TuplePat/TuplePat_getArg.ql 97090448b81f1b347a4dfa4c954dadfeed09291ce03efe9fbb2f0cf95e16a815 549ccc1b8812f103fba5793cda3bb22544cea33dc5465166c506317d7156c4c8
|
||||
test/extractor-tests/generated/TuplePat/TuplePat_getEllipsisIndex.ql 8f8bafa2ff18f3141bb2f2e33b19d1caf94c8814787b61f2e0147bf5e7f588e7 5333d06176129b818cf7f6caff772a4097cf62911378f99e88c2ea6036277f1f
|
||||
test/extractor-tests/generated/TupleStructPat/TupleStructPat.ql 2d14109d39c7519a113340f4223067a12ae715bdf4ad51b7c2c321ed90094731 36a7b3e17238a1eee8233364fa201aaec83347c9ce8de00b0e99d23bc0fc9cc3
|
||||
test/extractor-tests/generated/TupleStructPat/TupleStructPat_getArg.ql f308a61384af5feebc58028a95d26499b6a666c7599b30aed33efbaca86c06b2 f298af5a861410281dee6cf22d3ceaa286a5be4d27968750321f2d016c34a0dd
|
||||
test/extractor-tests/generated/TupleStructPat/TupleStructPat_getEllipsisIndex.ql 47e84e7db2d1cc23aca4c28b5bba2826eeeaba07377eb8c8de5141bcb9c36ab8 a5c1d23e2521c38b12c0942c88403bea5a0d77a4763f273ffdf48eaa000a00ff
|
||||
test/extractor-tests/generated/TupleStructPat/TupleStructPat_getPath.ql 5f19a261ade6e3249029d7268cc0385092234a896e72ccdf8376a592be1d545e bb4fefecefaa2d9634f31026e5ec8bff561bacf55a4105727032bab08fdbdea3
|
||||
test/extractor-tests/generated/TypeRef/TypeRef.ql 73283955206c7e1ef71009969826e34c7f37624547c2ef39c80a23583cb37216 fedf7995b69805ce7ccc4e29aa592043cff2f7ac6730a70d27ed883d922b4684
|
||||
test/extractor-tests/generated/UnderscoreExpr/UnderscoreExpr.ql 54cc3f7e6e9b9ac58922842dcd1960250e8bbb7ede5a63134ae622abc447be1e 1d5558d4ec9e4a1a510f37206772af3bf41015a99f1e9b83cc530db496dc2a5f
|
||||
test/extractor-tests/generated/UnsafeBlockExpr/UnsafeBlockExpr.ql ec74c75dedb4e669b3e6eba8f7568c415f5172c1ebd4f73e4710d401928448cc 8923aaaf5c5c70005aabc9696879ea73c5d9d83507c8db5a237cbab037953509
|
||||
test/extractor-tests/generated/UnsafeBlockExpr/UnsafeBlockExpr_getStatement.ql a743dbb15736b809e30769e1ea136afc9f0226885139150d6d1a5d353b6cb6fb 09849f178208406742007009da7f9b359b814477190d9d95370b94378e60be17
|
||||
test/extractor-tests/generated/UnsafeBlockExpr/UnsafeBlockExpr_getTail.ql 4409e1c39b7729dc393a0d60f9d6aa0dfeed294a090285442de85ce746095eb5 572d88a9c879905519d9a63d5937949771f9c163ee2ea8ba4eabe0f16c28ca67
|
||||
test/extractor-tests/generated/WildcardPat/WildcardPat.ql 375da3e10385e17ff4005528e08629ce4aa6a796b2fb3aa20178f75615af0ede 16823ab6240a113c005136cb3747bd3e69de4b4e341eafb2d1f39956c7de749d
|
||||
test/extractor-tests/generated/YeetExpr/YeetExpr.ql c5919f7f2f42b7dc08b0fefc553bb602a772925c226c943e2c96158adaea7797 a5bfdf225d9f9653f5aae00f30744d03f7d1045ddb4469f23e57194b3b1a2f8e
|
||||
test/extractor-tests/generated/YeetExpr/YeetExpr_getExpr.ql 4ab79339d3f0a2a0334f66a7513ae5d27bcd608fdaf557da71757896e20f81b7 6d7b9da72a325b83539da4f353df2a0d4fcd11493773547ac89031525e7cd1fa
|
||||
test/extractor-tests/generated/YieldExpr/YieldExpr.ql 3bf0ed6b4ec11dbe8b6af6cb0c51813c193e17bd9df0a23cdb1bf39cecddd915 0ff0219d5356bd9cb62df995577909898b4b28e0ecd860339361731e4f64e703
|
||||
test/extractor-tests/generated/YieldExpr/YieldExpr_getExpr.ql 944d36a39b4955638c5ae4972110ea84304691d34f39dccfe3ee3964033f383b 62c9be460d299afd0e994f412148ac37585d011efaceb9221be22ebc97943bc0
|
||||
|
||||
192
rust/ql/.gitattributes
generated
vendored
192
rust/ql/.gitattributes
generated
vendored
@@ -1,6 +1,8 @@
|
||||
/.generated.list linguist-generated
|
||||
/.gitattributes linguist-generated
|
||||
/lib/codeql/rust/elements/ArrayExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/AsmExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/AsmExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/AstNode.qll linguist-generated
|
||||
/lib/codeql/rust/elements/AsyncBlockExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/AsyncBlockExprConstructor.qll linguist-generated
|
||||
@@ -8,10 +10,8 @@
|
||||
/lib/codeql/rust/elements/AwaitExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/BecomeExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/BecomeExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/BinaryOpExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/BinaryOpExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/BindPat.qll linguist-generated
|
||||
/lib/codeql/rust/elements/BindPatConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/BinaryExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/BinaryExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/BlockExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/BlockExprBase.qll linguist-generated
|
||||
/lib/codeql/rust/elements/BlockExprConstructor.qll linguist-generated
|
||||
@@ -33,10 +33,6 @@
|
||||
/lib/codeql/rust/elements/ConstExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/ContinueExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/ContinueExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/DbFile.qll linguist-generated
|
||||
/lib/codeql/rust/elements/DbFileConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/DbLocation.qll linguist-generated
|
||||
/lib/codeql/rust/elements/DbLocationConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/Declaration.qll linguist-generated
|
||||
/lib/codeql/rust/elements/ElementListExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/ElementListExprConstructor.qll linguist-generated
|
||||
@@ -46,12 +42,14 @@
|
||||
/lib/codeql/rust/elements/FieldExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/FieldExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/FunctionConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/GenericArgList.qll linguist-generated
|
||||
/lib/codeql/rust/elements/GenericArgListConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/IdentPat.qll linguist-generated
|
||||
/lib/codeql/rust/elements/IdentPatConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/IfExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/IfExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/IndexExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/IndexExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/InlineAsmExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/InlineAsmExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/ItemStmt.qll linguist-generated
|
||||
/lib/codeql/rust/elements/ItemStmtConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/Label.qll linguist-generated
|
||||
@@ -60,10 +58,10 @@
|
||||
/lib/codeql/rust/elements/LetExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/LetStmt.qll linguist-generated
|
||||
/lib/codeql/rust/elements/LetStmtConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/LitPat.qll linguist-generated
|
||||
/lib/codeql/rust/elements/LitPatConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/LiteralExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/LiteralExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/LiteralPat.qll linguist-generated
|
||||
/lib/codeql/rust/elements/LiteralPatConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/LoopExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/LoopExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/MatchArm.qll linguist-generated
|
||||
@@ -83,22 +81,26 @@
|
||||
/lib/codeql/rust/elements/OrPat.qll linguist-generated
|
||||
/lib/codeql/rust/elements/OrPatConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/Pat.qll linguist-generated
|
||||
/lib/codeql/rust/elements/Path.qll linguist-generated
|
||||
/lib/codeql/rust/elements/PathConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/PathExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/PathExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/PathPat.qll linguist-generated
|
||||
/lib/codeql/rust/elements/PathPatConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/PrefixExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/PrefixExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RangeExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RangeExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RangePat.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RangePatConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RecordFieldPat.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RecordFieldPatConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RecordLitExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RecordLitExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RecordLitField.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RecordLitFieldConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RecordExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RecordExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RecordExprField.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RecordExprFieldConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RecordPat.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RecordPatConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RecordPatField.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RecordPatFieldConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RefExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RefExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/RefPat.qll linguist-generated
|
||||
@@ -118,28 +120,27 @@
|
||||
/lib/codeql/rust/elements/TupleStructPatConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/TypeRef.qll linguist-generated
|
||||
/lib/codeql/rust/elements/TypeRefConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/UnaryOpExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/UnaryOpExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/UnderscoreExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/UnderscoreExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/Unimplemented.qll linguist-generated
|
||||
/lib/codeql/rust/elements/UnimplementedConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/UnimplementedDeclaration.qll linguist-generated
|
||||
/lib/codeql/rust/elements/UnimplementedDeclarationConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/UnsafeBlockExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/UnsafeBlockExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/WildPat.qll linguist-generated
|
||||
/lib/codeql/rust/elements/WildPatConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/WildcardPat.qll linguist-generated
|
||||
/lib/codeql/rust/elements/WildcardPatConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/YeetExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/YeetExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/YieldExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/YieldExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements.qll linguist-generated
|
||||
/lib/codeql/rust/generated/ArrayExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/AsmExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/AstNode.qll linguist-generated
|
||||
/lib/codeql/rust/generated/AsyncBlockExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/AwaitExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/BecomeExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/BinaryOpExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/BindPat.qll linguist-generated
|
||||
/lib/codeql/rust/generated/BinaryExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/BlockExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/BlockExprBase.qll linguist-generated
|
||||
/lib/codeql/rust/generated/BoxExpr.qll linguist-generated
|
||||
@@ -151,27 +152,24 @@
|
||||
/lib/codeql/rust/generated/ConstBlockPat.qll linguist-generated
|
||||
/lib/codeql/rust/generated/ConstExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/ContinueExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/DbFile.qll linguist-generated
|
||||
/lib/codeql/rust/generated/DbLocation.qll linguist-generated
|
||||
/lib/codeql/rust/generated/Declaration.qll linguist-generated
|
||||
/lib/codeql/rust/generated/Element.qll linguist-generated
|
||||
/lib/codeql/rust/generated/ElementListExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/Expr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/ExprStmt.qll linguist-generated
|
||||
/lib/codeql/rust/generated/FieldExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/File.qll linguist-generated
|
||||
/lib/codeql/rust/generated/Function.qll linguist-generated
|
||||
/lib/codeql/rust/generated/GenericArgList.qll linguist-generated
|
||||
/lib/codeql/rust/generated/IdentPat.qll linguist-generated
|
||||
/lib/codeql/rust/generated/IfExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/IndexExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/InlineAsmExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/ItemStmt.qll linguist-generated
|
||||
/lib/codeql/rust/generated/Label.qll linguist-generated
|
||||
/lib/codeql/rust/generated/LetExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/LetStmt.qll linguist-generated
|
||||
/lib/codeql/rust/generated/LitPat.qll linguist-generated
|
||||
/lib/codeql/rust/generated/LiteralExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/LiteralPat.qll linguist-generated
|
||||
/lib/codeql/rust/generated/Locatable.qll linguist-generated
|
||||
/lib/codeql/rust/generated/Location.qll linguist-generated
|
||||
/lib/codeql/rust/generated/LoopExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/MatchArm.qll linguist-generated
|
||||
/lib/codeql/rust/generated/MatchExpr.qll linguist-generated
|
||||
@@ -183,16 +181,18 @@
|
||||
/lib/codeql/rust/generated/OrPat.qll linguist-generated
|
||||
/lib/codeql/rust/generated/ParentChild.qll linguist-generated
|
||||
/lib/codeql/rust/generated/Pat.qll linguist-generated
|
||||
/lib/codeql/rust/generated/Path.qll linguist-generated
|
||||
/lib/codeql/rust/generated/PathExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/PathPat.qll linguist-generated
|
||||
/lib/codeql/rust/generated/PrefixExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/PureSynthConstructors.qll linguist-generated
|
||||
/lib/codeql/rust/generated/RangeExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/RangePat.qll linguist-generated
|
||||
/lib/codeql/rust/generated/Raw.qll linguist-generated
|
||||
/lib/codeql/rust/generated/RecordFieldPat.qll linguist-generated
|
||||
/lib/codeql/rust/generated/RecordLitExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/RecordLitField.qll linguist-generated
|
||||
/lib/codeql/rust/generated/RecordExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/RecordExprField.qll linguist-generated
|
||||
/lib/codeql/rust/generated/RecordPat.qll linguist-generated
|
||||
/lib/codeql/rust/generated/RecordPatField.qll linguist-generated
|
||||
/lib/codeql/rust/generated/RefExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/RefPat.qll linguist-generated
|
||||
/lib/codeql/rust/generated/RepeatExpr.qll linguist-generated
|
||||
@@ -205,21 +205,121 @@
|
||||
/lib/codeql/rust/generated/TuplePat.qll linguist-generated
|
||||
/lib/codeql/rust/generated/TupleStructPat.qll linguist-generated
|
||||
/lib/codeql/rust/generated/TypeRef.qll linguist-generated
|
||||
/lib/codeql/rust/generated/UnaryOpExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/UnderscoreExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/Unimplemented.qll linguist-generated
|
||||
/lib/codeql/rust/generated/UnknownFile.qll linguist-generated
|
||||
/lib/codeql/rust/generated/UnknownLocation.qll linguist-generated
|
||||
/lib/codeql/rust/generated/UnimplementedDeclaration.qll linguist-generated
|
||||
/lib/codeql/rust/generated/UnsafeBlockExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/WildPat.qll linguist-generated
|
||||
/lib/codeql/rust/generated/WildcardPat.qll linguist-generated
|
||||
/lib/codeql/rust/generated/YeetExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/YieldExpr.qll linguist-generated
|
||||
/test/extractor-tests/generated/Expr/MISSING_SOURCE.txt linguist-generated
|
||||
/test/extractor-tests/generated/File/File.ql linguist-generated
|
||||
/test/extractor-tests/generated/AsmExpr/AsmExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/AsyncBlockExpr/AsyncBlockExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/AsyncBlockExpr/AsyncBlockExpr_getStatement.ql linguist-generated
|
||||
/test/extractor-tests/generated/AsyncBlockExpr/AsyncBlockExpr_getTail.ql linguist-generated
|
||||
/test/extractor-tests/generated/AwaitExpr/AwaitExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/BecomeExpr/BecomeExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/BinaryExpr/BinaryExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/BinaryExpr/BinaryExpr_getOp.ql linguist-generated
|
||||
/test/extractor-tests/generated/BlockExpr/BlockExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/BlockExpr/BlockExpr_getLabel.ql linguist-generated
|
||||
/test/extractor-tests/generated/BlockExpr/BlockExpr_getStatement.ql linguist-generated
|
||||
/test/extractor-tests/generated/BlockExpr/BlockExpr_getTail.ql linguist-generated
|
||||
/test/extractor-tests/generated/BoxExpr/BoxExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/BoxPat/BoxPat.ql linguist-generated
|
||||
/test/extractor-tests/generated/BreakExpr/BreakExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/BreakExpr/BreakExpr_getExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/BreakExpr/BreakExpr_getLabel.ql linguist-generated
|
||||
/test/extractor-tests/generated/CallExpr/CallExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/CallExpr/CallExpr_getArg.ql linguist-generated
|
||||
/test/extractor-tests/generated/CastExpr/CastExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/ClosureExpr/ClosureExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/ClosureExpr/ClosureExpr_getArg.ql linguist-generated
|
||||
/test/extractor-tests/generated/ClosureExpr/ClosureExpr_getArgType.ql linguist-generated
|
||||
/test/extractor-tests/generated/ClosureExpr/ClosureExpr_getRetType.ql linguist-generated
|
||||
/test/extractor-tests/generated/ConstBlockPat/ConstBlockPat.ql linguist-generated
|
||||
/test/extractor-tests/generated/ConstExpr/ConstExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/ContinueExpr/ContinueExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/ContinueExpr/ContinueExpr_getLabel.ql linguist-generated
|
||||
/test/extractor-tests/generated/ElementListExpr/ElementListExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/ElementListExpr/ElementListExpr_getElement.ql linguist-generated
|
||||
/test/extractor-tests/generated/ExprStmt/ExprStmt.ql linguist-generated
|
||||
/test/extractor-tests/generated/FieldExpr/FieldExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/Function/Function.ql linguist-generated
|
||||
/test/extractor-tests/generated/Module/MISSING_SOURCE.txt linguist-generated
|
||||
/test/extractor-tests/generated/Pat/MISSING_SOURCE.txt linguist-generated
|
||||
/test/extractor-tests/generated/RecordFieldPat/MISSING_SOURCE.txt linguist-generated
|
||||
/test/extractor-tests/generated/RecordLitField/MISSING_SOURCE.txt linguist-generated
|
||||
/test/extractor-tests/generated/Stmt/MISSING_SOURCE.txt linguist-generated
|
||||
/test/extractor-tests/generated/TypeRef/MISSING_SOURCE.txt linguist-generated
|
||||
/test/extractor-tests/generated/GenericArgList/GenericArgList.ql linguist-generated
|
||||
/test/extractor-tests/generated/IdentPat/IdentPat.ql linguist-generated
|
||||
/test/extractor-tests/generated/IdentPat/IdentPat_getSubpat.ql linguist-generated
|
||||
/test/extractor-tests/generated/IfExpr/IfExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/IfExpr/IfExpr_getElse.ql linguist-generated
|
||||
/test/extractor-tests/generated/IndexExpr/IndexExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/Label/Label.ql linguist-generated
|
||||
/test/extractor-tests/generated/LetExpr/LetExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/LetStmt/LetStmt.ql linguist-generated
|
||||
/test/extractor-tests/generated/LetStmt/LetStmt_getElse.ql linguist-generated
|
||||
/test/extractor-tests/generated/LetStmt/LetStmt_getInitializer.ql linguist-generated
|
||||
/test/extractor-tests/generated/LetStmt/LetStmt_getType.ql linguist-generated
|
||||
/test/extractor-tests/generated/LiteralExpr/LiteralExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/LiteralPat/LiteralPat.ql linguist-generated
|
||||
/test/extractor-tests/generated/LoopExpr/LoopExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/LoopExpr/LoopExpr_getLabel.ql linguist-generated
|
||||
/test/extractor-tests/generated/MatchArm/MatchArm.ql linguist-generated
|
||||
/test/extractor-tests/generated/MatchArm/MatchArm_getGuard.ql linguist-generated
|
||||
/test/extractor-tests/generated/MatchExpr/MatchExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/MatchExpr/MatchExpr_getBranch.ql linguist-generated
|
||||
/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getArg.ql linguist-generated
|
||||
/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getGenericArgs.ql linguist-generated
|
||||
/test/extractor-tests/generated/MissingExpr/MissingExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/MissingPat/MissingPat.ql linguist-generated
|
||||
/test/extractor-tests/generated/Module/Module.ql linguist-generated
|
||||
/test/extractor-tests/generated/Module/Module_getDeclaration.ql linguist-generated
|
||||
/test/extractor-tests/generated/OffsetOfExpr/OffsetOfExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/OffsetOfExpr/OffsetOfExpr_getField.ql linguist-generated
|
||||
/test/extractor-tests/generated/OrPat/OrPat.ql linguist-generated
|
||||
/test/extractor-tests/generated/OrPat/OrPat_getArg.ql linguist-generated
|
||||
/test/extractor-tests/generated/Path/Path.ql linguist-generated
|
||||
/test/extractor-tests/generated/PathExpr/PathExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/PathPat/PathPat.ql linguist-generated
|
||||
/test/extractor-tests/generated/PrefixExpr/PrefixExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/RangeExpr/RangeExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/RangeExpr/RangeExpr_getLhs.ql linguist-generated
|
||||
/test/extractor-tests/generated/RangeExpr/RangeExpr_getRhs.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_getStart.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordExpr/RecordExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordExpr/RecordExpr_getFld.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordExpr/RecordExpr_getPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordExpr/RecordExpr_getSpread.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordExprField/RecordExprField.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordPat/RecordPat.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordPat/RecordPat_getFld.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordPat/RecordPat_getPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/RecordPatField/RecordPatField.ql linguist-generated
|
||||
/test/extractor-tests/generated/RefExpr/RefExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/RefPat/RefPat.ql linguist-generated
|
||||
/test/extractor-tests/generated/RepeatExpr/RepeatExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/ReturnExpr/ReturnExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/ReturnExpr/ReturnExpr_getExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/SlicePat/SlicePat.ql linguist-generated
|
||||
/test/extractor-tests/generated/SlicePat/SlicePat_getPrefix.ql linguist-generated
|
||||
/test/extractor-tests/generated/SlicePat/SlicePat_getSlice.ql linguist-generated
|
||||
/test/extractor-tests/generated/SlicePat/SlicePat_getSuffix.ql linguist-generated
|
||||
/test/extractor-tests/generated/TupleExpr/TupleExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/TupleExpr/TupleExpr_getExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/TuplePat/TuplePat.ql linguist-generated
|
||||
/test/extractor-tests/generated/TuplePat/TuplePat_getArg.ql linguist-generated
|
||||
/test/extractor-tests/generated/TuplePat/TuplePat_getEllipsisIndex.ql linguist-generated
|
||||
/test/extractor-tests/generated/TupleStructPat/TupleStructPat.ql linguist-generated
|
||||
/test/extractor-tests/generated/TupleStructPat/TupleStructPat_getArg.ql linguist-generated
|
||||
/test/extractor-tests/generated/TupleStructPat/TupleStructPat_getEllipsisIndex.ql linguist-generated
|
||||
/test/extractor-tests/generated/TupleStructPat/TupleStructPat_getPath.ql linguist-generated
|
||||
/test/extractor-tests/generated/TypeRef/TypeRef.ql linguist-generated
|
||||
/test/extractor-tests/generated/UnderscoreExpr/UnderscoreExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/UnsafeBlockExpr/UnsafeBlockExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/UnsafeBlockExpr/UnsafeBlockExpr_getStatement.ql linguist-generated
|
||||
/test/extractor-tests/generated/UnsafeBlockExpr/UnsafeBlockExpr_getTail.ql 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_getExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/YieldExpr/YieldExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/YieldExpr/YieldExpr_getExpr.ql linguist-generated
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* Provides shared predicates related to contextual queries in the code viewer.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.File
|
||||
import codeql.files.FileSystem
|
||||
private import codeql.util.FileSystem
|
||||
|
||||
/**
|
||||
|
||||
68
rust/ql/lib/codeql/Locations.qll
Normal file
68
rust/ql/lib/codeql/Locations.qll
Normal file
@@ -0,0 +1,68 @@
|
||||
/** Provides classes for working with locations. */
|
||||
|
||||
import files.FileSystem
|
||||
|
||||
/**
|
||||
* A location as given by a file, a start line, a start column,
|
||||
* an end line, and an end column.
|
||||
*
|
||||
* For more information about locations see [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/).
|
||||
*/
|
||||
class Location extends @location_default {
|
||||
/** Gets the file for this location. */
|
||||
File getFile() { locations_default(this, result, _, _, _, _) }
|
||||
|
||||
/** Gets the 1-based line number (inclusive) where this location starts. */
|
||||
int getStartLine() { locations_default(this, _, result, _, _, _) }
|
||||
|
||||
/** Gets the 1-based column number (inclusive) where this location starts. */
|
||||
int getStartColumn() { locations_default(this, _, _, result, _, _) }
|
||||
|
||||
/** Gets the 1-based line number (inclusive) where this location ends. */
|
||||
int getEndLine() { locations_default(this, _, _, _, result, _) }
|
||||
|
||||
/** Gets the 1-based column number (inclusive) where this location ends. */
|
||||
int getEndColumn() { locations_default(this, _, _, _, _, result) }
|
||||
|
||||
/** Gets the number of lines covered by this location. */
|
||||
int getNumLines() { result = this.getEndLine() - this.getStartLine() + 1 }
|
||||
|
||||
/** Gets a textual representation of this element. */
|
||||
bindingset[this]
|
||||
pragma[inline_late]
|
||||
string toString() {
|
||||
exists(string filepath, int startline, int startcolumn, int endline, int endcolumn |
|
||||
this.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) and
|
||||
result = filepath + "@" + startline + ":" + startcolumn + ":" + endline + ":" + endcolumn
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if this element is at the specified location.
|
||||
* The location spans column `startcolumn` of line `startline` to
|
||||
* column `endcolumn` of line `endline` in file `filepath`.
|
||||
* For more information, see
|
||||
* [Providing locations in CodeQL queries](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/).
|
||||
*/
|
||||
predicate hasLocationInfo(
|
||||
string filepath, int startline, int startcolumn, int endline, int endcolumn
|
||||
) {
|
||||
exists(File f |
|
||||
locations_default(this, f, startline, startcolumn, endline, endcolumn) and
|
||||
filepath = f.getAbsolutePath()
|
||||
)
|
||||
}
|
||||
|
||||
/** Holds if this location starts strictly before the specified location. */
|
||||
pragma[inline]
|
||||
predicate strictlyBefore(Location other) {
|
||||
this.getStartLine() < other.getStartLine()
|
||||
or
|
||||
this.getStartLine() = other.getStartLine() and this.getStartColumn() < other.getStartColumn()
|
||||
}
|
||||
}
|
||||
|
||||
/** An entity representing an empty location. */
|
||||
class EmptyLocation extends Location {
|
||||
EmptyLocation() { empty_location(this) }
|
||||
}
|
||||
36
rust/ql/lib/codeql/files/FileSystem.qll
Normal file
36
rust/ql/lib/codeql/files/FileSystem.qll
Normal file
@@ -0,0 +1,36 @@
|
||||
/** Provides classes for working with files and folders. */
|
||||
|
||||
private import codeql.Locations
|
||||
private import codeql.util.FileSystem
|
||||
|
||||
private module Input implements InputSig {
|
||||
abstract class ContainerBase extends @container {
|
||||
abstract string getAbsolutePath();
|
||||
|
||||
ContainerBase getParentContainer() { containerparent(result, this) }
|
||||
|
||||
string toString() { result = this.getAbsolutePath() }
|
||||
}
|
||||
|
||||
class FolderBase extends ContainerBase, @folder {
|
||||
override string getAbsolutePath() { folders(this, result) }
|
||||
}
|
||||
|
||||
class FileBase extends ContainerBase, @file {
|
||||
override string getAbsolutePath() { files(this, result) }
|
||||
}
|
||||
|
||||
predicate hasSourceLocationPrefix = sourceLocationPrefix/1;
|
||||
}
|
||||
|
||||
private module Impl = Make<Input>;
|
||||
|
||||
class Container = Impl::Container;
|
||||
|
||||
class Folder = Impl::Folder;
|
||||
|
||||
/** A file. */
|
||||
class File extends Container, Impl::File {
|
||||
/** Holds if this file was extracted from ordinary source code. */
|
||||
predicate fromSource() { any() }
|
||||
}
|
||||
@@ -81,7 +81,7 @@ class CallExprTree extends StandardPostOrderTree instanceof CallExpr {
|
||||
override ControlFlowTree getChildNode(int i) { result = super.getArg(i) }
|
||||
}
|
||||
|
||||
class BinaryOpExprTree extends StandardPostOrderTree instanceof BinaryOpExpr {
|
||||
class BinaryOpExprTree extends StandardPostOrderTree instanceof BinaryExpr {
|
||||
override ControlFlowTree getChildNode(int i) {
|
||||
i = 0 and result = super.getLhs()
|
||||
or
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* @tags ide-contextual-queries/print-cfg
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.File
|
||||
private import codeql.files.FileSystem
|
||||
private import codeql.rust.controlflow.internal.ControlFlowGraphImpl
|
||||
private import codeql.rust.controlflow.ControlFlowGraph
|
||||
|
||||
|
||||
27
rust/ql/lib/codeql/rust/elements.qll
generated
27
rust/ql/lib/codeql/rust/elements.qll
generated
@@ -4,12 +4,12 @@
|
||||
*/
|
||||
|
||||
import codeql.rust.elements.ArrayExpr
|
||||
import codeql.rust.elements.AsmExpr
|
||||
import codeql.rust.elements.AstNode
|
||||
import codeql.rust.elements.AsyncBlockExpr
|
||||
import codeql.rust.elements.AwaitExpr
|
||||
import codeql.rust.elements.BecomeExpr
|
||||
import codeql.rust.elements.BinaryOpExpr
|
||||
import codeql.rust.elements.BindPat
|
||||
import codeql.rust.elements.BinaryExpr
|
||||
import codeql.rust.elements.BlockExpr
|
||||
import codeql.rust.elements.BlockExprBase
|
||||
import codeql.rust.elements.BoxExpr
|
||||
@@ -21,27 +21,24 @@ import codeql.rust.elements.ClosureExpr
|
||||
import codeql.rust.elements.ConstBlockPat
|
||||
import codeql.rust.elements.ConstExpr
|
||||
import codeql.rust.elements.ContinueExpr
|
||||
import codeql.rust.elements.DbFile
|
||||
import codeql.rust.elements.DbLocation
|
||||
import codeql.rust.elements.Declaration
|
||||
import codeql.rust.elements.Element
|
||||
import codeql.rust.elements.ElementListExpr
|
||||
import codeql.rust.elements.Expr
|
||||
import codeql.rust.elements.ExprStmt
|
||||
import codeql.rust.elements.FieldExpr
|
||||
import codeql.rust.elements.File
|
||||
import codeql.rust.elements.Function
|
||||
import codeql.rust.elements.GenericArgList
|
||||
import codeql.rust.elements.IdentPat
|
||||
import codeql.rust.elements.IfExpr
|
||||
import codeql.rust.elements.IndexExpr
|
||||
import codeql.rust.elements.InlineAsmExpr
|
||||
import codeql.rust.elements.ItemStmt
|
||||
import codeql.rust.elements.Label
|
||||
import codeql.rust.elements.LetExpr
|
||||
import codeql.rust.elements.LetStmt
|
||||
import codeql.rust.elements.LitPat
|
||||
import codeql.rust.elements.LiteralExpr
|
||||
import codeql.rust.elements.LiteralPat
|
||||
import codeql.rust.elements.Locatable
|
||||
import codeql.rust.elements.Location
|
||||
import codeql.rust.elements.LoopExpr
|
||||
import codeql.rust.elements.MatchArm
|
||||
import codeql.rust.elements.MatchExpr
|
||||
@@ -52,14 +49,16 @@ import codeql.rust.elements.Module
|
||||
import codeql.rust.elements.OffsetOfExpr
|
||||
import codeql.rust.elements.OrPat
|
||||
import codeql.rust.elements.Pat
|
||||
import codeql.rust.elements.Path
|
||||
import codeql.rust.elements.PathExpr
|
||||
import codeql.rust.elements.PathPat
|
||||
import codeql.rust.elements.PrefixExpr
|
||||
import codeql.rust.elements.RangeExpr
|
||||
import codeql.rust.elements.RangePat
|
||||
import codeql.rust.elements.RecordFieldPat
|
||||
import codeql.rust.elements.RecordLitExpr
|
||||
import codeql.rust.elements.RecordLitField
|
||||
import codeql.rust.elements.RecordExpr
|
||||
import codeql.rust.elements.RecordExprField
|
||||
import codeql.rust.elements.RecordPat
|
||||
import codeql.rust.elements.RecordPatField
|
||||
import codeql.rust.elements.RefExpr
|
||||
import codeql.rust.elements.RefPat
|
||||
import codeql.rust.elements.RepeatExpr
|
||||
@@ -70,12 +69,10 @@ import codeql.rust.elements.TupleExpr
|
||||
import codeql.rust.elements.TuplePat
|
||||
import codeql.rust.elements.TupleStructPat
|
||||
import codeql.rust.elements.TypeRef
|
||||
import codeql.rust.elements.UnaryOpExpr
|
||||
import codeql.rust.elements.UnderscoreExpr
|
||||
import codeql.rust.elements.Unimplemented
|
||||
import codeql.rust.elements.UnknownFile
|
||||
import codeql.rust.elements.UnknownLocation
|
||||
import codeql.rust.elements.UnimplementedDeclaration
|
||||
import codeql.rust.elements.UnsafeBlockExpr
|
||||
import codeql.rust.elements.WildPat
|
||||
import codeql.rust.elements.WildcardPat
|
||||
import codeql.rust.elements.YeetExpr
|
||||
import codeql.rust.elements.YieldExpr
|
||||
|
||||
7
rust/ql/lib/codeql/rust/elements/ArrayExpr.qll
generated
7
rust/ql/lib/codeql/rust/elements/ArrayExpr.qll
generated
@@ -5,4 +5,11 @@
|
||||
|
||||
private import codeql.rust.generated.ArrayExpr
|
||||
|
||||
/**
|
||||
* An array expression. For example:
|
||||
* ```
|
||||
* [1, 2, 3];
|
||||
* [1; 10];
|
||||
* ```
|
||||
*/
|
||||
class ArrayExpr extends Generated::ArrayExpr { }
|
||||
|
||||
16
rust/ql/lib/codeql/rust/elements/AsmExpr.qll
generated
Normal file
16
rust/ql/lib/codeql/rust/elements/AsmExpr.qll
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `AsmExpr`.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.AsmExpr
|
||||
|
||||
/**
|
||||
* An inline assembly expression. For example:
|
||||
* ```
|
||||
* unsafe {
|
||||
* builtin # asm(_);
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
class AsmExpr extends Generated::AsmExpr { }
|
||||
@@ -1,14 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `WildPat` synthesized instances.
|
||||
* `AsmExpr` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `WildPat` synthesized instances.
|
||||
* The characteristic predicate of `AsmExpr` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructWildPat(Raw::WildPat id) { any() }
|
||||
predicate constructAsmExpr(Raw::AsmExpr id) { any() }
|
||||
@@ -5,4 +5,13 @@
|
||||
|
||||
private import codeql.rust.generated.AsyncBlockExpr
|
||||
|
||||
/**
|
||||
* An async block expression. For example:
|
||||
* ```
|
||||
* async {
|
||||
* let x = 42;
|
||||
* x
|
||||
* }.await
|
||||
* ```
|
||||
*/
|
||||
class AsyncBlockExpr extends Generated::AsyncBlockExpr { }
|
||||
|
||||
9
rust/ql/lib/codeql/rust/elements/AwaitExpr.qll
generated
9
rust/ql/lib/codeql/rust/elements/AwaitExpr.qll
generated
@@ -5,4 +5,13 @@
|
||||
|
||||
private import codeql.rust.generated.AwaitExpr
|
||||
|
||||
/**
|
||||
* An `await` expression. For example:
|
||||
* ```
|
||||
* async {
|
||||
* let x = foo().await;
|
||||
* x
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
class AwaitExpr extends Generated::AwaitExpr { }
|
||||
|
||||
11
rust/ql/lib/codeql/rust/elements/BecomeExpr.qll
generated
11
rust/ql/lib/codeql/rust/elements/BecomeExpr.qll
generated
@@ -5,4 +5,15 @@
|
||||
|
||||
private import codeql.rust.generated.BecomeExpr
|
||||
|
||||
/**
|
||||
* A `become` expression. For example:
|
||||
* ```
|
||||
* 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 { }
|
||||
|
||||
18
rust/ql/lib/codeql/rust/elements/BinaryExpr.qll
generated
Normal file
18
rust/ql/lib/codeql/rust/elements/BinaryExpr.qll
generated
Normal file
@@ -0,0 +1,18 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `BinaryExpr`.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.BinaryExpr
|
||||
|
||||
/**
|
||||
* A binary operation expression. For example:
|
||||
* ```
|
||||
* x + y;
|
||||
* x && y;
|
||||
* x <= y;
|
||||
* x = y;
|
||||
* x += y;
|
||||
* ```
|
||||
*/
|
||||
class BinaryExpr extends Generated::BinaryExpr { }
|
||||
@@ -1,14 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `DbLocation` synthesized instances.
|
||||
* `BinaryExpr` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `DbLocation` synthesized instances.
|
||||
* The characteristic predicate of `BinaryExpr` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructDbLocation(Raw::DbLocation id) { any() }
|
||||
predicate constructBinaryExpr(Raw::BinaryExpr id) { any() }
|
||||
@@ -1,8 +0,0 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `BinaryOpExpr`.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.BinaryOpExpr
|
||||
|
||||
class BinaryOpExpr extends Generated::BinaryOpExpr { }
|
||||
@@ -1,8 +0,0 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `BindPat`.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.BindPat
|
||||
|
||||
class BindPat extends Generated::BindPat { }
|
||||
14
rust/ql/lib/codeql/rust/elements/BlockExpr.qll
generated
14
rust/ql/lib/codeql/rust/elements/BlockExpr.qll
generated
@@ -5,4 +5,18 @@
|
||||
|
||||
private import codeql.rust.generated.BlockExpr
|
||||
|
||||
/**
|
||||
* A block expression. For example:
|
||||
* ```
|
||||
* {
|
||||
* let x = 42;
|
||||
* }
|
||||
* ```
|
||||
* ```
|
||||
* 'label: {
|
||||
* let x = 42;
|
||||
* x
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
class BlockExpr extends Generated::BlockExpr { }
|
||||
|
||||
6
rust/ql/lib/codeql/rust/elements/BoxExpr.qll
generated
6
rust/ql/lib/codeql/rust/elements/BoxExpr.qll
generated
@@ -5,4 +5,10 @@
|
||||
|
||||
private import codeql.rust.generated.BoxExpr
|
||||
|
||||
/**
|
||||
* A box expression. For example:
|
||||
* ```
|
||||
* let x = #[rustc_box] Box::new(42);
|
||||
* ```
|
||||
*/
|
||||
class BoxExpr extends Generated::BoxExpr { }
|
||||
|
||||
9
rust/ql/lib/codeql/rust/elements/BoxPat.qll
generated
9
rust/ql/lib/codeql/rust/elements/BoxPat.qll
generated
@@ -5,4 +5,13 @@
|
||||
|
||||
private import codeql.rust.generated.BoxPat
|
||||
|
||||
/**
|
||||
* A box pattern. For example:
|
||||
* ```
|
||||
* match x {
|
||||
* box Option::Some(y) => y,
|
||||
* box Option::None => 0,
|
||||
* };
|
||||
* ```
|
||||
*/
|
||||
class BoxPat extends Generated::BoxPat { }
|
||||
|
||||
17
rust/ql/lib/codeql/rust/elements/BreakExpr.qll
generated
17
rust/ql/lib/codeql/rust/elements/BreakExpr.qll
generated
@@ -5,4 +5,21 @@
|
||||
|
||||
private import codeql.rust.generated.BreakExpr
|
||||
|
||||
/**
|
||||
* A break expression. For example:
|
||||
* ```
|
||||
* loop {
|
||||
* if not_ready() {
|
||||
* break;
|
||||
* }
|
||||
* }
|
||||
* ```
|
||||
* ```
|
||||
* let x = 'label: loop {
|
||||
* if done() {
|
||||
* break 'label 42;
|
||||
* }
|
||||
* };
|
||||
* ```
|
||||
*/
|
||||
class BreakExpr extends Generated::BreakExpr { }
|
||||
|
||||
9
rust/ql/lib/codeql/rust/elements/CallExpr.qll
generated
9
rust/ql/lib/codeql/rust/elements/CallExpr.qll
generated
@@ -5,4 +5,13 @@
|
||||
|
||||
private import codeql.rust.generated.CallExpr
|
||||
|
||||
/**
|
||||
* A function call expression. For example:
|
||||
* ```
|
||||
* foo(42);
|
||||
* foo::<u32, u64>(42);
|
||||
* foo[0](42);
|
||||
* foo(1) = 4;
|
||||
* ```
|
||||
*/
|
||||
class CallExpr extends Generated::CallExpr { }
|
||||
|
||||
6
rust/ql/lib/codeql/rust/elements/CastExpr.qll
generated
6
rust/ql/lib/codeql/rust/elements/CastExpr.qll
generated
@@ -5,4 +5,10 @@
|
||||
|
||||
private import codeql.rust.generated.CastExpr
|
||||
|
||||
/**
|
||||
* A cast expression. For example:
|
||||
* ```
|
||||
* value as u64;
|
||||
* ```
|
||||
*/
|
||||
class CastExpr extends Generated::CastExpr { }
|
||||
|
||||
12
rust/ql/lib/codeql/rust/elements/ClosureExpr.qll
generated
12
rust/ql/lib/codeql/rust/elements/ClosureExpr.qll
generated
@@ -5,4 +5,16 @@
|
||||
|
||||
private import codeql.rust.generated.ClosureExpr
|
||||
|
||||
/**
|
||||
* A closure expression. For example:
|
||||
* ```
|
||||
* |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 { }
|
||||
|
||||
@@ -5,4 +5,13 @@
|
||||
|
||||
private import codeql.rust.generated.ConstBlockPat
|
||||
|
||||
/**
|
||||
* A const block pattern. For example:
|
||||
* ```
|
||||
* match x {
|
||||
* const { 1 + 2 + 3 } => "ok",
|
||||
* _ => "fail",
|
||||
* };
|
||||
* ```
|
||||
*/
|
||||
class ConstBlockPat extends Generated::ConstBlockPat { }
|
||||
|
||||
8
rust/ql/lib/codeql/rust/elements/ConstExpr.qll
generated
8
rust/ql/lib/codeql/rust/elements/ConstExpr.qll
generated
@@ -5,4 +5,12 @@
|
||||
|
||||
private import codeql.rust.generated.ConstExpr
|
||||
|
||||
/**
|
||||
* A `const` block expression. For example:
|
||||
* ```
|
||||
* if const { SRC::IS_ZST || DEST::IS_ZST || mem::align_of::<SRC>() != mem::align_of::<DEST>() } {
|
||||
* return false;
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
class ConstExpr extends Generated::ConstExpr { }
|
||||
|
||||
17
rust/ql/lib/codeql/rust/elements/ContinueExpr.qll
generated
17
rust/ql/lib/codeql/rust/elements/ContinueExpr.qll
generated
@@ -5,4 +5,21 @@
|
||||
|
||||
private import codeql.rust.generated.ContinueExpr
|
||||
|
||||
/**
|
||||
* A continue expression. For example:
|
||||
* ```
|
||||
* loop {
|
||||
* if not_ready() {
|
||||
* continue;
|
||||
* }
|
||||
* }
|
||||
* ```
|
||||
* ```
|
||||
* 'label: loop {
|
||||
* if not_ready() {
|
||||
* continue 'label;
|
||||
* }
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
class ContinueExpr extends Generated::ContinueExpr { }
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `DbFile`.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.DbFile
|
||||
|
||||
class DbFile extends Generated::DbFile { }
|
||||
@@ -1,8 +0,0 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `DbLocation`.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.DbLocation
|
||||
|
||||
class DbLocation extends Generated::DbLocation { }
|
||||
3
rust/ql/lib/codeql/rust/elements/Declaration.qll
generated
3
rust/ql/lib/codeql/rust/elements/Declaration.qll
generated
@@ -5,4 +5,7 @@
|
||||
|
||||
private import codeql.rust.generated.Declaration
|
||||
|
||||
/**
|
||||
* The base class for declarations.
|
||||
*/
|
||||
class Declaration extends Generated::Declaration { }
|
||||
|
||||
@@ -5,4 +5,11 @@
|
||||
|
||||
private import codeql.rust.generated.ElementListExpr
|
||||
|
||||
/**
|
||||
* An element list expression. For example:
|
||||
* ```
|
||||
* [1, 2, 3, 4, 5];
|
||||
* [1, 2, 3, 4, 5][0] = 6;
|
||||
* ```
|
||||
*/
|
||||
class ElementListExpr extends Generated::ElementListExpr { }
|
||||
|
||||
3
rust/ql/lib/codeql/rust/elements/Expr.qll
generated
3
rust/ql/lib/codeql/rust/elements/Expr.qll
generated
@@ -5,4 +5,7 @@
|
||||
|
||||
private import codeql.rust.generated.Expr
|
||||
|
||||
/**
|
||||
* The base class for expressions.
|
||||
*/
|
||||
class Expr extends Generated::Expr { }
|
||||
|
||||
8
rust/ql/lib/codeql/rust/elements/ExprStmt.qll
generated
8
rust/ql/lib/codeql/rust/elements/ExprStmt.qll
generated
@@ -5,4 +5,12 @@
|
||||
|
||||
private import codeql.rust.generated.ExprStmt
|
||||
|
||||
/**
|
||||
* An expression statement. For example:
|
||||
* ```
|
||||
* start();
|
||||
* finish()
|
||||
* use std::env;
|
||||
* ```
|
||||
*/
|
||||
class ExprStmt extends Generated::ExprStmt { }
|
||||
|
||||
6
rust/ql/lib/codeql/rust/elements/FieldExpr.qll
generated
6
rust/ql/lib/codeql/rust/elements/FieldExpr.qll
generated
@@ -5,4 +5,10 @@
|
||||
|
||||
private import codeql.rust.generated.FieldExpr
|
||||
|
||||
/**
|
||||
* A field access expression. For example:
|
||||
* ```
|
||||
* x.foo
|
||||
* ```
|
||||
*/
|
||||
class FieldExpr extends Generated::FieldExpr { }
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `File`.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.File
|
||||
private import codeql.rust.elements.Location
|
||||
private import codeql.rust.elements.UnknownLocation
|
||||
|
||||
class File extends Generated::File {
|
||||
/** toString */
|
||||
override string toString() { result = this.getAbsolutePath() }
|
||||
|
||||
/** Gets the absolute path of this file. */
|
||||
string getAbsolutePath() { result = this.getName() }
|
||||
|
||||
/** Gets the full name of this file. */
|
||||
string getFullName() { result = this.getAbsolutePath() }
|
||||
|
||||
/** Gets the URL of this file. */
|
||||
string getURL() { result = "file://" + this.getAbsolutePath() + ":0:0:0:0" }
|
||||
|
||||
/**
|
||||
* Holds if either,
|
||||
* - `part` is the base name of this container and `i = 1`, or
|
||||
* - `part` is the stem of this container and `i = 2`, or
|
||||
* - `part` is the extension of this container and `i = 3`.
|
||||
*/
|
||||
cached
|
||||
private predicate splitAbsolutePath(string part, int i) {
|
||||
part = this.getAbsolutePath().regexpCapture(".*/(([^/]*?)(?:\\.([^.]*))?)", i)
|
||||
}
|
||||
|
||||
/** Gets the base name of this file. */
|
||||
string getBaseName() { this.splitAbsolutePath(result, 1) }
|
||||
|
||||
/**
|
||||
* Gets the extension of this container, that is, the suffix of its base name
|
||||
* after the last dot character, if any.
|
||||
*
|
||||
* In particular,
|
||||
*
|
||||
* - if the name does not include a dot, there is no extension, so this
|
||||
* predicate has no result;
|
||||
* - if the name ends in a dot, the extension is the empty string;
|
||||
* - if the name contains multiple dots, the extension follows the last dot.
|
||||
*
|
||||
* Here are some examples of absolute paths and the corresponding extensions
|
||||
* (surrounded with quotes to avoid ambiguity):
|
||||
*
|
||||
* <table border="1">
|
||||
* <tr><th>Absolute path</th><th>Extension</th></tr>
|
||||
* <tr><td>"/tmp/tst.txt"</td><td>"txt"</td></tr>
|
||||
* <tr><td>"/tmp/.classpath"</td><td>"classpath"</td></tr>
|
||||
* <tr><td>"/bin/bash"</td><td>not defined</td></tr>
|
||||
* <tr><td>"/tmp/tst2."</td><td>""</td></tr>
|
||||
* <tr><td>"/tmp/x.tar.gz"</td><td>"gz"</td></tr>
|
||||
* </table>
|
||||
*/
|
||||
string getExtension() { this.splitAbsolutePath(result, 3) }
|
||||
|
||||
/**
|
||||
* Gets the stem of this container, that is, the prefix of its base name up to
|
||||
* (but not including) the last dot character if there is one, or the entire
|
||||
* base name if there is not.
|
||||
*
|
||||
* Here are some examples of absolute paths and the corresponding stems
|
||||
* (surrounded with quotes to avoid ambiguity):
|
||||
*
|
||||
* <table border="1">
|
||||
* <tr><th>Absolute path</th><th>Stem</th></tr>
|
||||
* <tr><td>"/tmp/tst.txt"</td><td>"tst"</td></tr>
|
||||
* <tr><td>"/tmp/.classpath"</td><td>""</td></tr>
|
||||
* <tr><td>"/bin/bash"</td><td>"bash"</td></tr>
|
||||
* <tr><td>"/tmp/tst2."</td><td>"tst2"</td></tr>
|
||||
* <tr><td>"/tmp/x.tar.gz"</td><td>"x.tar"</td></tr>
|
||||
* </table>
|
||||
*/
|
||||
string getStem() { this.splitAbsolutePath(result, 2) }
|
||||
|
||||
/**
|
||||
* Gets the number of lines containing code in this file. This value
|
||||
* is approximate.
|
||||
*/
|
||||
int getNumberOfLinesOfCode() {
|
||||
result =
|
||||
count(int line |
|
||||
exists(Location loc |
|
||||
not loc instanceof UnknownLocation and loc.getFile() = this and loc.getStartLine() = line
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the relative path of this file from the root folder of the
|
||||
* analyzed source location. The relative path of the root folder itself
|
||||
* would be the empty string.
|
||||
*
|
||||
* This has no result if the file is outside the source root, that is,
|
||||
* if the root folder is not a reflexive, transitive parent of this file.
|
||||
*/
|
||||
string getRelativePath() {
|
||||
exists(string absPath, string pref |
|
||||
absPath = this.getAbsolutePath() and sourceLocationPrefix(pref)
|
||||
|
|
||||
absPath = pref and result = ""
|
||||
or
|
||||
absPath = pref.regexpReplaceAll("/$", "") + "/" + result and
|
||||
not result.matches("/%")
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,7 @@ private import codeql.rust.generated.Function
|
||||
/**
|
||||
* A function declaration. For example
|
||||
* ```
|
||||
* fn foo(x: u32) -> u64 { (x + 1).into() }
|
||||
* fn foo(x: u32) -> u64 {(x + 1).into()}
|
||||
* ```
|
||||
* A function declaration within a trait might not have a body:
|
||||
* ```
|
||||
|
||||
14
rust/ql/lib/codeql/rust/elements/GenericArgList.qll
generated
Normal file
14
rust/ql/lib/codeql/rust/elements/GenericArgList.qll
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `GenericArgList`.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.GenericArgList
|
||||
|
||||
/**
|
||||
* The base class for generic arguments.
|
||||
* ```
|
||||
* x.foo::<u32, u64>(42);
|
||||
* ```
|
||||
*/
|
||||
class GenericArgList extends Generated::GenericArgList { }
|
||||
@@ -1,14 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `RecordFieldPat` synthesized instances.
|
||||
* `GenericArgList` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `RecordFieldPat` synthesized instances.
|
||||
* The characteristic predicate of `GenericArgList` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructRecordFieldPat(Raw::RecordFieldPat id) { any() }
|
||||
predicate constructGenericArgList(Raw::GenericArgList id) { any() }
|
||||
23
rust/ql/lib/codeql/rust/elements/IdentPat.qll
generated
Normal file
23
rust/ql/lib/codeql/rust/elements/IdentPat.qll
generated
Normal file
@@ -0,0 +1,23 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `IdentPat`.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.IdentPat
|
||||
|
||||
/**
|
||||
* A binding pattern. For example:
|
||||
* ```
|
||||
* match x {
|
||||
* Option::Some(y) => y,
|
||||
* Option::None => 0,
|
||||
* };
|
||||
* ```
|
||||
* ```
|
||||
* match x {
|
||||
* y@Option::Some(_) => y,
|
||||
* Option::None => 0,
|
||||
* };
|
||||
* ```
|
||||
*/
|
||||
class IdentPat extends Generated::IdentPat { }
|
||||
@@ -1,14 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `LitPat` synthesized instances.
|
||||
* `IdentPat` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `LitPat` synthesized instances.
|
||||
* The characteristic predicate of `IdentPat` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructLitPat(Raw::LitPat id) { any() }
|
||||
predicate constructIdentPat(Raw::IdentPat id) { any() }
|
||||
15
rust/ql/lib/codeql/rust/elements/IfExpr.qll
generated
15
rust/ql/lib/codeql/rust/elements/IfExpr.qll
generated
@@ -5,4 +5,19 @@
|
||||
|
||||
private import codeql.rust.generated.IfExpr
|
||||
|
||||
/**
|
||||
* An `if` expression. For example:
|
||||
* ```
|
||||
* if x == 42 {
|
||||
* println!("that's the answer");
|
||||
* }
|
||||
* ```
|
||||
* ```
|
||||
* let y = if x > 0 {
|
||||
* 1
|
||||
* } else {
|
||||
* 0
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
class IfExpr extends Generated::IfExpr { }
|
||||
|
||||
7
rust/ql/lib/codeql/rust/elements/IndexExpr.qll
generated
7
rust/ql/lib/codeql/rust/elements/IndexExpr.qll
generated
@@ -5,4 +5,11 @@
|
||||
|
||||
private import codeql.rust.generated.IndexExpr
|
||||
|
||||
/**
|
||||
* An index expression. For example:
|
||||
* ```
|
||||
* list[42];
|
||||
* list[42] = 1;
|
||||
* ```
|
||||
*/
|
||||
class IndexExpr extends Generated::IndexExpr { }
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `InlineAsmExpr`.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.InlineAsmExpr
|
||||
|
||||
class InlineAsmExpr extends Generated::InlineAsmExpr { }
|
||||
@@ -1,14 +0,0 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `InlineAsmExpr` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `InlineAsmExpr` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructInlineAsmExpr(Raw::InlineAsmExpr id) { any() }
|
||||
9
rust/ql/lib/codeql/rust/elements/ItemStmt.qll
generated
9
rust/ql/lib/codeql/rust/elements/ItemStmt.qll
generated
@@ -5,4 +5,13 @@
|
||||
|
||||
private import codeql.rust.generated.ItemStmt
|
||||
|
||||
/**
|
||||
* An item statement. For example:
|
||||
* ```
|
||||
* fn print_hello() {
|
||||
* println!("Hello, world!");
|
||||
* }
|
||||
* print_hello();
|
||||
* ```
|
||||
*/
|
||||
class ItemStmt extends Generated::ItemStmt { }
|
||||
|
||||
9
rust/ql/lib/codeql/rust/elements/Label.qll
generated
9
rust/ql/lib/codeql/rust/elements/Label.qll
generated
@@ -5,4 +5,13 @@
|
||||
|
||||
private import codeql.rust.generated.Label
|
||||
|
||||
/**
|
||||
* A label. For example:
|
||||
* ```
|
||||
* 'label: loop {
|
||||
* println!("Hello, world (once)!");
|
||||
* break 'label;
|
||||
* };
|
||||
* ```
|
||||
*/
|
||||
class Label extends Generated::Label { }
|
||||
|
||||
8
rust/ql/lib/codeql/rust/elements/LetExpr.qll
generated
8
rust/ql/lib/codeql/rust/elements/LetExpr.qll
generated
@@ -5,4 +5,12 @@
|
||||
|
||||
private import codeql.rust.generated.LetExpr
|
||||
|
||||
/**
|
||||
* A `let` expression. For example:
|
||||
* ```
|
||||
* if let Some(x) = maybe_some {
|
||||
* println!("{}", x);
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
class LetExpr extends Generated::LetExpr { }
|
||||
|
||||
12
rust/ql/lib/codeql/rust/elements/LetStmt.qll
generated
12
rust/ql/lib/codeql/rust/elements/LetStmt.qll
generated
@@ -5,4 +5,16 @@
|
||||
|
||||
private import codeql.rust.generated.LetStmt
|
||||
|
||||
/**
|
||||
* A let statement. For example:
|
||||
* ```
|
||||
* 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 { }
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `LitPat`.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.LitPat
|
||||
|
||||
class LitPat extends Generated::LitPat { }
|
||||
12
rust/ql/lib/codeql/rust/elements/LiteralExpr.qll
generated
12
rust/ql/lib/codeql/rust/elements/LiteralExpr.qll
generated
@@ -5,4 +5,16 @@
|
||||
|
||||
private import codeql.rust.generated.LiteralExpr
|
||||
|
||||
/**
|
||||
* A literal expression. For example:
|
||||
* ```
|
||||
* 42;
|
||||
* 42.0;
|
||||
* "Hello, world!";
|
||||
* b"Hello, world!";
|
||||
* 'x';
|
||||
* b'x';
|
||||
* r"Hello, world!";
|
||||
* true;
|
||||
*/
|
||||
class LiteralExpr extends Generated::LiteralExpr { }
|
||||
|
||||
17
rust/ql/lib/codeql/rust/elements/LiteralPat.qll
generated
Normal file
17
rust/ql/lib/codeql/rust/elements/LiteralPat.qll
generated
Normal file
@@ -0,0 +1,17 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `LiteralPat`.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.LiteralPat
|
||||
|
||||
/**
|
||||
* A literal pattern. For example:
|
||||
* ```
|
||||
* match x {
|
||||
* 42 => "ok",
|
||||
* _ => "fail",
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
class LiteralPat extends Generated::LiteralPat { }
|
||||
@@ -1,14 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `BindPat` synthesized instances.
|
||||
* `LiteralPat` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `BindPat` synthesized instances.
|
||||
* The characteristic predicate of `LiteralPat` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructBindPat(Raw::BindPat id) { any() }
|
||||
predicate constructLiteralPat(Raw::LiteralPat id) { any() }
|
||||
@@ -3,16 +3,23 @@
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.Locatable
|
||||
private import codeql.rust.elements.File
|
||||
private import codeql.rust.elements.UnknownLocation
|
||||
import codeql.Locations
|
||||
private import codeql.rust.generated.Synth
|
||||
private import codeql.rust.generated.Raw
|
||||
|
||||
class Locatable extends Generated::Locatable {
|
||||
/** Gets the primary location of this element. */
|
||||
pragma[nomagic]
|
||||
override Location getLocation() {
|
||||
result = Generated::Locatable.super.getLocation()
|
||||
or
|
||||
not exists(Generated::Locatable.super.getLocation()) and
|
||||
result instanceof UnknownLocation
|
||||
final Location getLocation() {
|
||||
exists(Raw::Locatable raw |
|
||||
raw = Synth::convertLocatableToRaw(this) and
|
||||
(
|
||||
locatable_locations(raw, result)
|
||||
or
|
||||
not exists(Location loc | locatable_locations(raw, loc)) and
|
||||
result instanceof EmptyLocation
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `Location`.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.Location
|
||||
|
||||
class Location extends Generated::Location {
|
||||
/**
|
||||
* Holds if this location is described by `path`, `startLine`, `startColumn`, `endLine` and `endColumn`.
|
||||
*/
|
||||
predicate hasLocationInfo(string path, int startLine, int startColumn, int endLine, int endColumn) {
|
||||
path = this.getFile().getFullName() and
|
||||
startLine = this.getStartLine() and
|
||||
startColumn = this.getStartColumn() and
|
||||
endLine = this.getEndLine() and
|
||||
endColumn = this.getEndColumn()
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a textual representation of this location.
|
||||
*/
|
||||
override string toString() {
|
||||
exists(string filePath, int startLine, int startColumn, int endLine, int endColumn |
|
||||
this.hasLocationInfo(filePath, startLine, startColumn, endLine, endColumn)
|
||||
|
|
||||
toUrl(filePath, startLine, startColumn, endLine, endColumn, result)
|
||||
)
|
||||
}
|
||||
}
|
||||
24
rust/ql/lib/codeql/rust/elements/LoopExpr.qll
generated
24
rust/ql/lib/codeql/rust/elements/LoopExpr.qll
generated
@@ -5,4 +5,28 @@
|
||||
|
||||
private import codeql.rust.generated.LoopExpr
|
||||
|
||||
/**
|
||||
* A loop expression. For example:
|
||||
* ```
|
||||
* loop {
|
||||
* println!("Hello, world (again)!");
|
||||
* };
|
||||
* ```
|
||||
* ```
|
||||
* 'label: loop {
|
||||
* println!("Hello, world (once)!");
|
||||
* break 'label;
|
||||
* };
|
||||
* ```
|
||||
* ```
|
||||
* let mut x = 0;
|
||||
* loop {
|
||||
* if x < 10 {
|
||||
* x += 1;
|
||||
* } else {
|
||||
* break;
|
||||
* }
|
||||
* };
|
||||
* ```
|
||||
*/
|
||||
class LoopExpr extends Generated::LoopExpr { }
|
||||
|
||||
15
rust/ql/lib/codeql/rust/elements/MatchArm.qll
generated
15
rust/ql/lib/codeql/rust/elements/MatchArm.qll
generated
@@ -5,4 +5,19 @@
|
||||
|
||||
private import codeql.rust.generated.MatchArm
|
||||
|
||||
/**
|
||||
* A match arm. For example:
|
||||
* ```
|
||||
* match x {
|
||||
* Option::Some(y) => y,
|
||||
* Option::None => 0,
|
||||
* };
|
||||
* ```
|
||||
* ```
|
||||
* match x {
|
||||
* Some(y) if y != 0 => 1 / y,
|
||||
* _ => 0,
|
||||
* };
|
||||
* ```
|
||||
*/
|
||||
class MatchArm extends Generated::MatchArm { }
|
||||
|
||||
15
rust/ql/lib/codeql/rust/elements/MatchExpr.qll
generated
15
rust/ql/lib/codeql/rust/elements/MatchExpr.qll
generated
@@ -5,4 +5,19 @@
|
||||
|
||||
private import codeql.rust.generated.MatchExpr
|
||||
|
||||
/**
|
||||
* A match expression. For example:
|
||||
* ```
|
||||
* match x {
|
||||
* Option::Some(y) => y,
|
||||
* Option::None => 0,
|
||||
* }
|
||||
* ```
|
||||
* ```
|
||||
* match x {
|
||||
* Some(y) if y != 0 => 1 / y,
|
||||
* _ => 0,
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
class MatchExpr extends Generated::MatchExpr { }
|
||||
|
||||
@@ -5,4 +5,10 @@
|
||||
|
||||
private import codeql.rust.generated.MethodCallExpr
|
||||
|
||||
/**
|
||||
* A method call expression. For example:
|
||||
* ```
|
||||
* x.foo(42);
|
||||
* x.foo::<u32, u64>(42);
|
||||
*/
|
||||
class MethodCallExpr extends Generated::MethodCallExpr { }
|
||||
|
||||
7
rust/ql/lib/codeql/rust/elements/MissingExpr.qll
generated
7
rust/ql/lib/codeql/rust/elements/MissingExpr.qll
generated
@@ -5,4 +5,11 @@
|
||||
|
||||
private import codeql.rust.generated.MissingExpr
|
||||
|
||||
/**
|
||||
* A missing expression, used as a placeholder for incomplete syntax.
|
||||
*
|
||||
* ```
|
||||
* let x = non_existing_macro!();
|
||||
* ```
|
||||
*/
|
||||
class MissingExpr extends Generated::MissingExpr { }
|
||||
|
||||
8
rust/ql/lib/codeql/rust/elements/MissingPat.qll
generated
8
rust/ql/lib/codeql/rust/elements/MissingPat.qll
generated
@@ -5,4 +5,12 @@
|
||||
|
||||
private import codeql.rust.generated.MissingPat
|
||||
|
||||
/**
|
||||
* A missing pattern, used as a place holder for incomplete syntax.
|
||||
* ```
|
||||
* match Some(42) {
|
||||
* .. => "bad use of .. syntax",
|
||||
* };
|
||||
* ```
|
||||
*/
|
||||
class MissingPat extends Generated::MissingPat { }
|
||||
|
||||
11
rust/ql/lib/codeql/rust/elements/Module.qll
generated
11
rust/ql/lib/codeql/rust/elements/Module.qll
generated
@@ -5,4 +5,15 @@
|
||||
|
||||
private import codeql.rust.generated.Module
|
||||
|
||||
/**
|
||||
* A module declaration. For example:
|
||||
* ```
|
||||
* mod foo;
|
||||
* ```
|
||||
* ```
|
||||
* mod bar {
|
||||
* pub fn baz() {}
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
class Module extends Generated::Module { }
|
||||
|
||||
@@ -5,4 +5,10 @@
|
||||
|
||||
private import codeql.rust.generated.OffsetOfExpr
|
||||
|
||||
/**
|
||||
* An `offset_of` expression. For example:
|
||||
* ```
|
||||
* builtin # offset_of(Struct, field);
|
||||
* ```
|
||||
*/
|
||||
class OffsetOfExpr extends Generated::OffsetOfExpr { }
|
||||
|
||||
8
rust/ql/lib/codeql/rust/elements/OrPat.qll
generated
8
rust/ql/lib/codeql/rust/elements/OrPat.qll
generated
@@ -5,4 +5,12 @@
|
||||
|
||||
private import codeql.rust.generated.OrPat
|
||||
|
||||
/**
|
||||
* An or pattern. For example:
|
||||
* ```
|
||||
* match x {
|
||||
* Option::Some(y) | Option::None => 0,
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
class OrPat extends Generated::OrPat { }
|
||||
|
||||
3
rust/ql/lib/codeql/rust/elements/Pat.qll
generated
3
rust/ql/lib/codeql/rust/elements/Pat.qll
generated
@@ -5,4 +5,7 @@
|
||||
|
||||
private import codeql.rust.generated.Pat
|
||||
|
||||
/**
|
||||
* The base class for patterns.
|
||||
*/
|
||||
class Pat extends Generated::Pat { }
|
||||
|
||||
14
rust/ql/lib/codeql/rust/elements/Path.qll
generated
Normal file
14
rust/ql/lib/codeql/rust/elements/Path.qll
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `Path`.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.Path
|
||||
|
||||
/**
|
||||
* A path. For example:
|
||||
* ```
|
||||
* foo::bar;
|
||||
* ```
|
||||
*/
|
||||
class Path extends Generated::Path { }
|
||||
@@ -1,14 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `DbFile` synthesized instances.
|
||||
* `Path` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `DbFile` synthesized instances.
|
||||
* The characteristic predicate of `Path` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructDbFile(Raw::DbFile id) { any() }
|
||||
predicate constructPath(Raw::Path id) { any() }
|
||||
9
rust/ql/lib/codeql/rust/elements/PathExpr.qll
generated
9
rust/ql/lib/codeql/rust/elements/PathExpr.qll
generated
@@ -5,4 +5,13 @@
|
||||
|
||||
private import codeql.rust.generated.PathExpr
|
||||
|
||||
/**
|
||||
* A path expression. For example:
|
||||
* ```
|
||||
* let x = variable;
|
||||
* let x = foo::bar;
|
||||
* let y = <T>::foo;
|
||||
* let z = <TypeRef as Trait>::foo;
|
||||
* ```
|
||||
*/
|
||||
class PathExpr extends Generated::PathExpr { }
|
||||
|
||||
9
rust/ql/lib/codeql/rust/elements/PathPat.qll
generated
9
rust/ql/lib/codeql/rust/elements/PathPat.qll
generated
@@ -5,4 +5,13 @@
|
||||
|
||||
private import codeql.rust.generated.PathPat
|
||||
|
||||
/**
|
||||
* A path pattern. For example:
|
||||
* ```
|
||||
* match x {
|
||||
* Foo::Bar => "ok",
|
||||
* _ => "fail",
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
class PathPat extends Generated::PathPat { }
|
||||
|
||||
16
rust/ql/lib/codeql/rust/elements/PrefixExpr.qll
generated
Normal file
16
rust/ql/lib/codeql/rust/elements/PrefixExpr.qll
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `PrefixExpr`.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.PrefixExpr
|
||||
|
||||
/**
|
||||
* A unary operation expression. For example:
|
||||
* ```
|
||||
* let x = -42
|
||||
* let y = !true
|
||||
* let z = *ptr
|
||||
* ```
|
||||
*/
|
||||
class PrefixExpr extends Generated::PrefixExpr { }
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user