mirror of
https://github.com/github/codeql.git
synced 2026-05-04 05:05:12 +02:00
Merge branch 'main' into redsun82/rust-perf-measures
This commit is contained in:
@@ -65,7 +65,7 @@ class _:
|
||||
"""
|
||||
|
||||
|
||||
@annotate(TypeRef)
|
||||
@annotate(TypeRepr)
|
||||
class _:
|
||||
"""
|
||||
The base class for type references.
|
||||
@@ -129,7 +129,7 @@ class _:
|
||||
let x = variable;
|
||||
let x = foo::bar;
|
||||
let y = <T>::foo;
|
||||
let z = <TypeRef as Trait>::foo;
|
||||
let z = <TypeRepr as Trait>::foo;
|
||||
```
|
||||
"""
|
||||
|
||||
@@ -550,15 +550,45 @@ class _:
|
||||
"""
|
||||
|
||||
|
||||
@annotate(ArrayExpr, cfg = True)
|
||||
@annotate(ArrayExprInternal)
|
||||
@ql.internal
|
||||
@qltest.skip
|
||||
class _:
|
||||
pass
|
||||
|
||||
class ArrayExpr(Expr):
|
||||
"""
|
||||
An array expression. For example:
|
||||
The base class for array expressions. For example:
|
||||
```rust
|
||||
[1, 2, 3];
|
||||
[1; 10];
|
||||
```
|
||||
"""
|
||||
exprs: list[Expr] | child
|
||||
attrs: list[Attr] | child
|
||||
|
||||
@synth.from_class(ArrayExprInternal)
|
||||
class ArrayListExpr(ArrayExpr):
|
||||
"""
|
||||
An array expression with a list of elements. For example:
|
||||
```rust
|
||||
[1, 2, 3];
|
||||
```
|
||||
"""
|
||||
__cfg__ = True
|
||||
|
||||
@synth.from_class(ArrayExprInternal)
|
||||
class ArrayRepeatExpr(ArrayExpr):
|
||||
"""
|
||||
An array expression with a repeat operand and a repeat length. For example:
|
||||
```rust
|
||||
[1; 10];
|
||||
```
|
||||
"""
|
||||
__cfg__ = True
|
||||
|
||||
repeat_operand: Expr | child
|
||||
repeat_length: Expr | child
|
||||
|
||||
|
||||
@annotate(LiteralExpr, cfg = True)
|
||||
@@ -842,10 +872,10 @@ class _:
|
||||
"""
|
||||
|
||||
|
||||
@annotate(ArrayType)
|
||||
@annotate(ArrayTypeRepr)
|
||||
class _:
|
||||
"""
|
||||
A ArrayType. For example:
|
||||
A ArrayTypeRepr. For example:
|
||||
```rust
|
||||
todo!()
|
||||
```
|
||||
@@ -930,10 +960,10 @@ class _:
|
||||
"""
|
||||
|
||||
|
||||
@annotate(DynTraitType)
|
||||
@annotate(DynTraitTypeRepr)
|
||||
class _:
|
||||
"""
|
||||
A DynTraitType. For example:
|
||||
A DynTraitTypeRepr. For example:
|
||||
```rust
|
||||
todo!()
|
||||
```
|
||||
@@ -1000,10 +1030,10 @@ class _:
|
||||
"""
|
||||
|
||||
|
||||
@annotate(FnPtrType)
|
||||
@annotate(FnPtrTypeRepr)
|
||||
class _:
|
||||
"""
|
||||
A FnPtrType. For example:
|
||||
A FnPtrTypeRepr. For example:
|
||||
```rust
|
||||
todo!()
|
||||
```
|
||||
@@ -1022,10 +1052,10 @@ class _:
|
||||
loop_body: drop
|
||||
|
||||
|
||||
@annotate(ForType)
|
||||
@annotate(ForTypeRepr)
|
||||
class _:
|
||||
"""
|
||||
A ForType. For example:
|
||||
A ForTypeRepr. For example:
|
||||
```rust
|
||||
todo!()
|
||||
```
|
||||
@@ -1098,20 +1128,20 @@ class _:
|
||||
"""
|
||||
|
||||
|
||||
@annotate(ImplTraitType)
|
||||
@annotate(ImplTraitTypeRepr)
|
||||
class _:
|
||||
"""
|
||||
A ImplTraitType. For example:
|
||||
A ImplTraitTypeRepr. For example:
|
||||
```rust
|
||||
todo!()
|
||||
```
|
||||
"""
|
||||
|
||||
|
||||
@annotate(InferType)
|
||||
@annotate(InferTypeRepr)
|
||||
class _:
|
||||
"""
|
||||
A InferType. For example:
|
||||
A InferTypeRepr. For example:
|
||||
```rust
|
||||
todo!()
|
||||
```
|
||||
@@ -1255,10 +1285,10 @@ class _:
|
||||
"""
|
||||
|
||||
|
||||
@annotate(MacroType)
|
||||
@annotate(MacroTypeRepr)
|
||||
class _:
|
||||
"""
|
||||
A MacroType. For example:
|
||||
A MacroTypeRepr. For example:
|
||||
```rust
|
||||
todo!()
|
||||
```
|
||||
@@ -1315,10 +1345,10 @@ class _:
|
||||
"""
|
||||
|
||||
|
||||
@annotate(NeverType)
|
||||
@annotate(NeverTypeRepr)
|
||||
class _:
|
||||
"""
|
||||
A NeverType. For example:
|
||||
A NeverTypeRepr. For example:
|
||||
```rust
|
||||
todo!()
|
||||
```
|
||||
@@ -1330,7 +1360,7 @@ class ParamBase(AstNode):
|
||||
A normal parameter, `Param`, or a self parameter `SelfParam`.
|
||||
"""
|
||||
attrs: list["Attr"] | child
|
||||
ty: optional["TypeRef"] | child
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
|
||||
@annotate(ParamBase, cfg = True)
|
||||
class _:
|
||||
@@ -1347,7 +1377,7 @@ class _:
|
||||
```
|
||||
"""
|
||||
attrs: drop
|
||||
ty: drop
|
||||
type_repr: drop
|
||||
|
||||
|
||||
@annotate(ParamList)
|
||||
@@ -1380,10 +1410,10 @@ class _:
|
||||
"""
|
||||
|
||||
|
||||
@annotate(ParenType)
|
||||
@annotate(ParenTypeRepr)
|
||||
class _:
|
||||
"""
|
||||
A ParenType. For example:
|
||||
A ParenTypeRepr. For example:
|
||||
```rust
|
||||
todo!()
|
||||
```
|
||||
@@ -1398,7 +1428,7 @@ class _:
|
||||
"""
|
||||
|
||||
|
||||
@annotate(PathType)
|
||||
@annotate(PathTypeRepr)
|
||||
@qltest.test_with(Path)
|
||||
class _:
|
||||
"""
|
||||
@@ -1410,10 +1440,10 @@ class _:
|
||||
"""
|
||||
|
||||
|
||||
@annotate(PtrType)
|
||||
@annotate(PtrTypeRepr)
|
||||
class _:
|
||||
"""
|
||||
A PtrType. For example:
|
||||
A PtrTypeRepr. For example:
|
||||
```rust
|
||||
todo!()
|
||||
```
|
||||
@@ -1460,10 +1490,10 @@ class _:
|
||||
"""
|
||||
|
||||
|
||||
@annotate(RefType)
|
||||
@annotate(RefTypeRepr)
|
||||
class _:
|
||||
"""
|
||||
A RefType. For example:
|
||||
A RefTypeRepr. For example:
|
||||
```rust
|
||||
todo!()
|
||||
```
|
||||
@@ -1490,10 +1520,10 @@ class _:
|
||||
"""
|
||||
|
||||
|
||||
@annotate(RetType)
|
||||
@annotate(RetTypeRepr)
|
||||
class _:
|
||||
"""
|
||||
A RetType. For example:
|
||||
A RetTypeRepr. For example:
|
||||
```rust
|
||||
todo!()
|
||||
```
|
||||
@@ -1521,13 +1551,13 @@ class _:
|
||||
```
|
||||
"""
|
||||
attrs: drop
|
||||
ty: drop
|
||||
type_repr: drop
|
||||
|
||||
|
||||
@annotate(SliceType)
|
||||
@annotate(SliceTypeRepr)
|
||||
class _:
|
||||
"""
|
||||
A SliceType. For example:
|
||||
A SliceTypeRepr. For example:
|
||||
```rust
|
||||
todo!()
|
||||
```
|
||||
@@ -1641,10 +1671,10 @@ class _:
|
||||
"""
|
||||
|
||||
|
||||
@annotate(TupleType)
|
||||
@annotate(TupleTypeRepr)
|
||||
class _:
|
||||
"""
|
||||
A TupleType. For example:
|
||||
A TupleTypeRepr. For example:
|
||||
```rust
|
||||
todo!()
|
||||
```
|
||||
|
||||
101
rust/schema/ast.py
generated
101
rust/schema/ast.py
generated
@@ -26,7 +26,7 @@ class Pat(AstNode):
|
||||
class Stmt(AstNode):
|
||||
pass
|
||||
|
||||
class TypeRef(AstNode):
|
||||
class TypeRepr(AstNode):
|
||||
pass
|
||||
|
||||
class Item(Stmt):
|
||||
@@ -38,13 +38,14 @@ class Abi(AstNode):
|
||||
class ArgList(AstNode):
|
||||
args: list["Expr"] | child
|
||||
|
||||
class ArrayExpr(Expr):
|
||||
class ArrayExprInternal(Expr):
|
||||
attrs: list["Attr"] | child
|
||||
exprs: list["Expr"] | child
|
||||
is_semicolon: predicate
|
||||
|
||||
class ArrayType(TypeRef):
|
||||
class ArrayTypeRepr(TypeRepr):
|
||||
const_arg: optional["ConstArg"] | child
|
||||
ty: optional["TypeRef"] | child
|
||||
element_type_repr: optional["TypeRepr"] | child
|
||||
|
||||
class AsmExpr(Expr):
|
||||
attrs: list["Attr"] | child
|
||||
@@ -59,9 +60,9 @@ class AssocTypeArg(GenericArg):
|
||||
generic_arg_list: optional["GenericArgList"] | child
|
||||
name_ref: optional["NameRef"] | child
|
||||
param_list: optional["ParamList"] | child
|
||||
ret_type: optional["RetType"] | child
|
||||
ret_type: optional["RetTypeRepr"] | child
|
||||
return_type_syntax: optional["ReturnTypeSyntax"] | child
|
||||
ty: optional["TypeRef"] | child
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
type_bound_list: optional["TypeBoundList"] | child
|
||||
|
||||
class Attr(AstNode):
|
||||
@@ -108,7 +109,7 @@ class CallExpr(Expr):
|
||||
class CastExpr(Expr):
|
||||
attrs: list["Attr"] | child
|
||||
expr: optional["Expr"] | child
|
||||
ty: optional["TypeRef"] | child
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
|
||||
class ClosureBinder(AstNode):
|
||||
generic_param_list: optional["GenericParamList"] | child
|
||||
@@ -123,7 +124,7 @@ class ClosureExpr(Expr):
|
||||
is_move: predicate
|
||||
is_static: predicate
|
||||
param_list: optional["ParamList"] | child
|
||||
ret_type: optional["RetType"] | child
|
||||
ret_type: optional["RetTypeRepr"] | child
|
||||
|
||||
class Const(AssocItem,Item):
|
||||
attrs: list["Attr"] | child
|
||||
@@ -131,7 +132,7 @@ class Const(AssocItem,Item):
|
||||
is_const: predicate
|
||||
is_default: predicate
|
||||
name: optional["Name"] | child
|
||||
ty: optional["TypeRef"] | child
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
visibility: optional["Visibility"] | child
|
||||
|
||||
class ConstArg(GenericArg):
|
||||
@@ -146,13 +147,13 @@ class ConstParam(GenericParam):
|
||||
default_val: optional["ConstArg"] | child
|
||||
is_const: predicate
|
||||
name: optional["Name"] | child
|
||||
ty: optional["TypeRef"] | child
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
|
||||
class ContinueExpr(Expr):
|
||||
attrs: list["Attr"] | child
|
||||
lifetime: optional["Lifetime"] | child
|
||||
|
||||
class DynTraitType(TypeRef):
|
||||
class DynTraitTypeRepr(TypeRepr):
|
||||
type_bound_list: optional["TypeBoundList"] | child
|
||||
|
||||
class Enum(Item):
|
||||
@@ -199,17 +200,17 @@ class Function(AssocItem,ExternItem,Item):
|
||||
is_unsafe: predicate
|
||||
name: optional["Name"] | child
|
||||
param_list: optional["ParamList"] | child
|
||||
ret_type: optional["RetType"] | child
|
||||
ret_type: optional["RetTypeRepr"] | child
|
||||
visibility: optional["Visibility"] | child
|
||||
where_clause: optional["WhereClause"] | child
|
||||
|
||||
class FnPtrType(TypeRef):
|
||||
class FnPtrTypeRepr(TypeRepr):
|
||||
abi: optional["Abi"] | child
|
||||
is_async: predicate
|
||||
is_const: predicate
|
||||
is_unsafe: predicate
|
||||
param_list: optional["ParamList"] | child
|
||||
ret_type: optional["RetType"] | child
|
||||
ret_type: optional["RetTypeRepr"] | child
|
||||
|
||||
class ForExpr(Expr):
|
||||
attrs: list["Attr"] | child
|
||||
@@ -218,9 +219,9 @@ class ForExpr(Expr):
|
||||
loop_body: optional["BlockExpr"] | child
|
||||
pat: optional["Pat"] | child
|
||||
|
||||
class ForType(TypeRef):
|
||||
class ForTypeRepr(TypeRepr):
|
||||
generic_param_list: optional["GenericParamList"] | child
|
||||
ty: optional["TypeRef"] | child
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
|
||||
class FormatArgsArg(AstNode):
|
||||
expr: optional["Expr"] | child
|
||||
@@ -257,12 +258,12 @@ class Impl(Item):
|
||||
is_const: predicate
|
||||
is_default: predicate
|
||||
is_unsafe: predicate
|
||||
self_ty: optional["TypeRef"] | child
|
||||
trait_: optional["TypeRef"] | child
|
||||
self_ty: optional["TypeRepr"] | child
|
||||
trait_: optional["TypeRepr"] | child
|
||||
visibility: optional["Visibility"] | child
|
||||
where_clause: optional["WhereClause"] | child
|
||||
|
||||
class ImplTraitType(TypeRef):
|
||||
class ImplTraitTypeRepr(TypeRepr):
|
||||
type_bound_list: optional["TypeBoundList"] | child
|
||||
|
||||
class IndexExpr(Expr):
|
||||
@@ -270,7 +271,7 @@ class IndexExpr(Expr):
|
||||
base: optional["Expr"] | child
|
||||
index: optional["Expr"] | child
|
||||
|
||||
class InferType(TypeRef):
|
||||
class InferTypeRepr(TypeRepr):
|
||||
pass
|
||||
|
||||
class ItemList(AstNode):
|
||||
@@ -293,7 +294,7 @@ class LetStmt(Stmt):
|
||||
initializer: optional["Expr"] | child
|
||||
let_else: optional["LetElse"] | child
|
||||
pat: optional["Pat"] | child
|
||||
ty: optional["TypeRef"] | child
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
|
||||
class Lifetime(AstNode):
|
||||
text: optional[string]
|
||||
@@ -349,7 +350,7 @@ class MacroStmts(AstNode):
|
||||
expr: optional["Expr"] | child
|
||||
statements: list["Stmt"] | child
|
||||
|
||||
class MacroType(TypeRef):
|
||||
class MacroTypeRepr(TypeRepr):
|
||||
macro_call: optional["MacroCall"] | child
|
||||
|
||||
class MatchArm(AstNode):
|
||||
@@ -395,13 +396,13 @@ class Name(AstNode):
|
||||
class NameRef(AstNode):
|
||||
text: optional[string]
|
||||
|
||||
class NeverType(TypeRef):
|
||||
class NeverTypeRepr(TypeRepr):
|
||||
pass
|
||||
|
||||
class OffsetOfExpr(Expr):
|
||||
attrs: list["Attr"] | child
|
||||
fields: list["NameRef"] | child
|
||||
ty: optional["TypeRef"] | child
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
|
||||
class OrPat(Pat):
|
||||
pats: list["Pat"] | child
|
||||
@@ -409,7 +410,7 @@ class OrPat(Pat):
|
||||
class Param(AstNode):
|
||||
attrs: list["Attr"] | child
|
||||
pat: optional["Pat"] | child
|
||||
ty: optional["TypeRef"] | child
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
|
||||
class ParamList(AstNode):
|
||||
params: list["Param"] | child
|
||||
@@ -422,8 +423,8 @@ class ParenExpr(Expr):
|
||||
class ParenPat(Pat):
|
||||
pat: optional["Pat"] | child
|
||||
|
||||
class ParenType(TypeRef):
|
||||
ty: optional["TypeRef"] | child
|
||||
class ParenTypeRepr(TypeRepr):
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
|
||||
class Path(AstNode):
|
||||
qualifier: optional["Path"] | child
|
||||
@@ -440,12 +441,12 @@ class PathSegment(AstNode):
|
||||
generic_arg_list: optional["GenericArgList"] | child
|
||||
name_ref: optional["NameRef"] | child
|
||||
param_list: optional["ParamList"] | child
|
||||
path_type: optional["PathType"] | child
|
||||
ret_type: optional["RetType"] | child
|
||||
path_type: optional["PathTypeRepr"] | child
|
||||
ret_type: optional["RetTypeRepr"] | child
|
||||
return_type_syntax: optional["ReturnTypeSyntax"] | child
|
||||
ty: optional["TypeRef"] | child
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
|
||||
class PathType(TypeRef):
|
||||
class PathTypeRepr(TypeRepr):
|
||||
path: optional["Path"] | child
|
||||
|
||||
class PrefixExpr(Expr):
|
||||
@@ -453,10 +454,10 @@ class PrefixExpr(Expr):
|
||||
expr: optional["Expr"] | child
|
||||
operator_name: optional[string]
|
||||
|
||||
class PtrType(TypeRef):
|
||||
class PtrTypeRepr(TypeRepr):
|
||||
is_const: predicate
|
||||
is_mut: predicate
|
||||
ty: optional["TypeRef"] | child
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
|
||||
class RangeExpr(Expr):
|
||||
attrs: list["Attr"] | child
|
||||
@@ -486,7 +487,7 @@ class RecordExprFieldList(AstNode):
|
||||
class RecordField(AstNode):
|
||||
attrs: list["Attr"] | child
|
||||
name: optional["Name"] | child
|
||||
ty: optional["TypeRef"] | child
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
visibility: optional["Visibility"] | child
|
||||
|
||||
class RecordFieldList(FieldList):
|
||||
@@ -516,10 +517,10 @@ class RefPat(Pat):
|
||||
is_mut: predicate
|
||||
pat: optional["Pat"] | child
|
||||
|
||||
class RefType(TypeRef):
|
||||
class RefTypeRepr(TypeRepr):
|
||||
is_mut: predicate
|
||||
lifetime: optional["Lifetime"] | child
|
||||
ty: optional["TypeRef"] | child
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
|
||||
class Rename(AstNode):
|
||||
name: optional["Name"] | child
|
||||
@@ -527,8 +528,8 @@ class Rename(AstNode):
|
||||
class RestPat(Pat):
|
||||
attrs: list["Attr"] | child
|
||||
|
||||
class RetType(AstNode):
|
||||
ty: optional["TypeRef"] | child
|
||||
class RetTypeRepr(AstNode):
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
|
||||
class ReturnExpr(Expr):
|
||||
attrs: list["Attr"] | child
|
||||
@@ -542,13 +543,13 @@ class SelfParam(AstNode):
|
||||
is_mut: predicate
|
||||
lifetime: optional["Lifetime"] | child
|
||||
name: optional["Name"] | child
|
||||
ty: optional["TypeRef"] | child
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
|
||||
class SlicePat(Pat):
|
||||
pats: list["Pat"] | child
|
||||
|
||||
class SliceType(TypeRef):
|
||||
ty: optional["TypeRef"] | child
|
||||
class SliceTypeRepr(TypeRepr):
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
|
||||
class SourceFile(AstNode):
|
||||
attrs: list["Attr"] | child
|
||||
@@ -560,7 +561,7 @@ class Static(ExternItem,Item):
|
||||
is_mut: predicate
|
||||
is_static: predicate
|
||||
name: optional["Name"] | child
|
||||
ty: optional["TypeRef"] | child
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
visibility: optional["Visibility"] | child
|
||||
|
||||
class StmtList(AstNode):
|
||||
@@ -608,7 +609,7 @@ class TupleExpr(Expr):
|
||||
|
||||
class TupleField(AstNode):
|
||||
attrs: list["Attr"] | child
|
||||
ty: optional["TypeRef"] | child
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
visibility: optional["Visibility"] | child
|
||||
|
||||
class TupleFieldList(FieldList):
|
||||
@@ -621,35 +622,35 @@ class TupleStructPat(Pat):
|
||||
fields: list["Pat"] | child
|
||||
path: optional["Path"] | child
|
||||
|
||||
class TupleType(TypeRef):
|
||||
fields: list["TypeRef"] | child
|
||||
class TupleTypeRepr(TypeRepr):
|
||||
fields: list["TypeRepr"] | child
|
||||
|
||||
class TypeAlias(AssocItem,ExternItem,Item):
|
||||
attrs: list["Attr"] | child
|
||||
generic_param_list: optional["GenericParamList"] | child
|
||||
is_default: predicate
|
||||
name: optional["Name"] | child
|
||||
ty: optional["TypeRef"] | child
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
type_bound_list: optional["TypeBoundList"] | child
|
||||
visibility: optional["Visibility"] | child
|
||||
where_clause: optional["WhereClause"] | child
|
||||
|
||||
class TypeArg(GenericArg):
|
||||
ty: optional["TypeRef"] | child
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
|
||||
class TypeBound(AstNode):
|
||||
generic_param_list: optional["GenericParamList"] | child
|
||||
is_async: predicate
|
||||
is_const: predicate
|
||||
lifetime: optional["Lifetime"] | child
|
||||
ty: optional["TypeRef"] | child
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
|
||||
class TypeBoundList(AstNode):
|
||||
bounds: list["TypeBound"] | child
|
||||
|
||||
class TypeParam(GenericParam):
|
||||
attrs: list["Attr"] | child
|
||||
default_type: optional["TypeRef"] | child
|
||||
default_type: optional["TypeRepr"] | child
|
||||
name: optional["Name"] | child
|
||||
type_bound_list: optional["TypeBoundList"] | child
|
||||
|
||||
@@ -696,7 +697,7 @@ class WhereClause(AstNode):
|
||||
class WherePred(AstNode):
|
||||
generic_param_list: optional["GenericParamList"] | child
|
||||
lifetime: optional["Lifetime"] | child
|
||||
ty: optional["TypeRef"] | child
|
||||
type_repr: optional["TypeRepr"] | child
|
||||
type_bound_list: optional["TypeBoundList"] | child
|
||||
|
||||
class WhileExpr(Expr):
|
||||
|
||||
Reference in New Issue
Block a user