зеркало из https://github.com/github/codeql.git
Workaround nameclash in dbscheme generator
This commit is contained in:
Родитель
b0939cfffa
Коммит
d99c2031ac
|
@ -1,2 +1,2 @@
|
|||
mod.rs 7cdfedcd68cf8e41134daf810c1af78624082b0c3e8be6570339b1a69a5d457e 7cdfedcd68cf8e41134daf810c1af78624082b0c3e8be6570339b1a69a5d457e
|
||||
top.rs c0701de6b3caad020b72b275d83209e6fff0771f84fb94a816921ae7ca7fd3df c0701de6b3caad020b72b275d83209e6fff0771f84fb94a816921ae7ca7fd3df
|
||||
top.rs c5be6a0f58f3699e51761681ea97677abfc827d264d634d8069d283dd9172353 c5be6a0f58f3699e51761681ea97677abfc827d264d634d8069d283dd9172353
|
||||
|
|
|
@ -1050,7 +1050,7 @@ pub struct RecordExpr {
|
|||
pub id: TrapId,
|
||||
pub location: Option<trap::Label>,
|
||||
pub path: Option<trap::Label>,
|
||||
pub fields: Vec<trap::Label>,
|
||||
pub flds: Vec<trap::Label>,
|
||||
pub spread: Option<trap::Label>,
|
||||
pub has_ellipsis: bool,
|
||||
pub is_assignee_expr: bool,
|
||||
|
@ -1069,8 +1069,8 @@ impl TrapEntry for RecordExpr {
|
|||
if let Some(v) = self.path {
|
||||
out.add_tuple("record_expr_paths", vec![trap::Arg::Label(id), v.into()]);
|
||||
}
|
||||
for (i, v) in self.fields.into_iter().enumerate() {
|
||||
out.add_tuple("record_expr_fields", vec![trap::Arg::Label(id), i.into(), v.into()]);
|
||||
for (i, v) in self.flds.into_iter().enumerate() {
|
||||
out.add_tuple("record_expr_flds", vec![trap::Arg::Label(id), i.into(), v.into()]);
|
||||
}
|
||||
if let Some(v) = self.spread {
|
||||
out.add_tuple("record_expr_spreads", vec![trap::Arg::Label(id), v.into()]);
|
||||
|
@ -1089,7 +1089,7 @@ pub struct RecordPat {
|
|||
pub id: TrapId,
|
||||
pub location: Option<trap::Label>,
|
||||
pub path: Option<trap::Label>,
|
||||
pub args: Vec<trap::Label>,
|
||||
pub flds: Vec<trap::Label>,
|
||||
pub has_ellipsis: bool,
|
||||
}
|
||||
|
||||
|
@ -1106,8 +1106,8 @@ impl TrapEntry for RecordPat {
|
|||
if let Some(v) = self.path {
|
||||
out.add_tuple("record_pat_paths", vec![trap::Arg::Label(id), v.into()]);
|
||||
}
|
||||
for (i, v) in self.args.into_iter().enumerate() {
|
||||
out.add_tuple("record_pat_args", vec![trap::Arg::Label(id), i.into(), v.into()]);
|
||||
for (i, v) in self.flds.into_iter().enumerate() {
|
||||
out.add_tuple("record_pat_flds", vec![trap::Arg::Label(id), i.into(), v.into()]);
|
||||
}
|
||||
if self.has_ellipsis {
|
||||
out.add_tuple("record_pat_has_ellipsis", vec![trap::Arg::Label(id)]);
|
||||
|
|
|
@ -262,7 +262,7 @@ impl CrateTranslator<'_> {
|
|||
ellipsis,
|
||||
} => {
|
||||
let path = path.as_ref().map(|path| self.emit_path(path, location));
|
||||
let args = args
|
||||
let flds = args
|
||||
.into_iter()
|
||||
.map(|arg| self.emit_record_field_pat(arg, body, source_map))
|
||||
.collect();
|
||||
|
@ -270,7 +270,7 @@ impl CrateTranslator<'_> {
|
|||
id: TrapId::Star,
|
||||
location,
|
||||
path,
|
||||
args,
|
||||
flds,
|
||||
has_ellipsis: *ellipsis,
|
||||
})
|
||||
}
|
||||
|
@ -691,7 +691,7 @@ impl CrateTranslator<'_> {
|
|||
is_assignee_expr,
|
||||
} => {
|
||||
let path = path.as_ref().map(|path| self.emit_path(path, location));
|
||||
let fields = fields
|
||||
let flds = fields
|
||||
.into_iter()
|
||||
.map(|field| self.emit_record_lit_field(field, body, source_map))
|
||||
.collect();
|
||||
|
@ -700,7 +700,7 @@ impl CrateTranslator<'_> {
|
|||
id: TrapId::Star,
|
||||
location,
|
||||
path,
|
||||
fields,
|
||||
flds,
|
||||
spread,
|
||||
has_ellipsis: *ellipsis,
|
||||
is_assignee_expr: *is_assignee_expr,
|
||||
|
|
|
@ -185,7 +185,7 @@ lib/codeql/rust/generated/MissingPat.qll 9fa2685c9f8b285c6b2f470a2c482b3bd1f0717
|
|||
lib/codeql/rust/generated/Module.qll c6007444c796654fb48fbe4a4596580f08feec2aac13932043062a170dd73f0b 0560c738dbee3937baf0f2ab661c8e4dacd69eb886635241b1ff90f2c0f4bd67
|
||||
lib/codeql/rust/generated/OffsetOfExpr.qll 5f2c1d2b5d63d2a86c02c8a20fede528403f8dd267f3026ddc420e128f53c73c d4a7eb9e533a943913aa3bdc6f57d89023a0a2075681b6aaa53d5c4dd7ad764b
|
||||
lib/codeql/rust/generated/OrPat.qll a9a606b001c9b3c6f5cb3d65a593cce043f49b1e8a237310c058f5293eec46a8 4b6ab0d2192c93c64a5f98b6083e91ac03fd040bead24831a1a88d274847c79d
|
||||
lib/codeql/rust/generated/ParentChild.qll ffe3bb352e1530ba64a394a70541d86dbedebd004a201b94c1b15d368b127319 1c8f74ba0bebb390ee774bfe295c9b25b466e64fd6ba4a1a4f1655885ecebce6
|
||||
lib/codeql/rust/generated/ParentChild.qll 1988b870c14148c2b23136dd00456d898a73d52a8cfb10039a0db414f5c01dbd bda2c0e7a5333206a6f7ab3a2c438be376c8b75f4d5810d91439cd10b88214a2
|
||||
lib/codeql/rust/generated/Pat.qll b035e7866ea500232421ef9f79e7e60b90b9c27dbe47d25758548e94750d2965 adf701ad35559ea7d0284d6718ad507518778dc78100f48063e6a6bf3705c91f
|
||||
lib/codeql/rust/generated/Path.qll ffd26e9e5e3878f374bc1163d6ccb47072cc1d3abd937d0206bf1a7c62c843ff ffd26e9e5e3878f374bc1163d6ccb47072cc1d3abd937d0206bf1a7c62c843ff
|
||||
lib/codeql/rust/generated/PathExpr.qll 5a82e07a0c641fec4e8ce29656fa4e33f420b19b2556b418769f4d899a3dfae3 21920262735114d8304c3569f884828a390b95ca039afcc3e81c75d3f23df9ca
|
||||
|
@ -194,10 +194,10 @@ lib/codeql/rust/generated/PrefixExpr.qll a3f6cc62e5a12acd253ea59cb6957fb7157aa70
|
|||
lib/codeql/rust/generated/PureSynthConstructors.qll 5eb1fc4f6a04172c34ae31e4931e4bf1f8b72fbe414c5f644731a45372d13573 5eb1fc4f6a04172c34ae31e4931e4bf1f8b72fbe414c5f644731a45372d13573
|
||||
lib/codeql/rust/generated/RangeExpr.qll 1678fa524166552a36d73cad9d34213309b1989c1e427bc990b5c11a12588ce5 beb90978cea26a2ec9d3e8cc7b0b6a728ae952212ada5d6ad19319120f3218a8
|
||||
lib/codeql/rust/generated/RangePat.qll 2e96aece5ff2300659c2729c7037f7334790456d86160dc1e16ae99545c6ed0d eae4f95f9eaacbc2319ee67556dcc164527d82a6eaa5af59f6efce9caf3cba3b
|
||||
lib/codeql/rust/generated/Raw.qll a6d94287077dff8af5d7d41af29589df1209cd22d996dcc41eb4c5c9084eb064 8d0159d571217c6c89b6cfd27975a9a5568051e2799e69c2d39bed9ed36822aa
|
||||
lib/codeql/rust/generated/RecordExpr.qll 7099ed90ed466a3c849fa78e3c934d83e0d0fd6d8be5fb774596f5048f299478 2efb691f6f611f852253ac08be90bba6e25b695b8def83b416110ca63a790d5c
|
||||
lib/codeql/rust/generated/Raw.qll c2926037fbd92b2ca637f71b91f05c48414a0e23822b324d33b74872eb28f9d1 94f35bd2248809cb3489aa7950a3e6bf5f0a0f26f4d91aa623b0589c67c9a2f8
|
||||
lib/codeql/rust/generated/RecordExpr.qll bdafc10cde139617b67cb46bb205f99bc3fc0b9fd8634d304b81b524b9592aa8 2826c453c72416237467b08cf9ad9421b03203a8593420146dad8e1e71711b8a
|
||||
lib/codeql/rust/generated/RecordExprField.qll eb06236fbdb856169dfe50ae1ebf59384222de6670ca91c34eed647823dda4ce 750bc7ab1e156db3927d6dd206e9d2c9388519425c0e8665afd322a6594aa5e2
|
||||
lib/codeql/rust/generated/RecordPat.qll 80ea7a231c3e33c539d0fd892b1cdca63bada265650f5eeee6d76b45b091be0d 858af1b0c992af44ed148ded54c2ce7cbfcb9e747110255bccfe8dc33ca655cf
|
||||
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 2a451553084306acc625f0433dc02546d07a1b6174a7d614379c9e8e28550118 40b845320c68283d0f6e47f17f4d4d893ef613f41422d35663582cfa3b5e7d75
|
||||
|
@ -295,13 +295,13 @@ test/extractor-tests/generated/RangeExpr/RangeExpr_getRhs.ql 6a7eb53c6b2a4587212
|
|||
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 f9760a715119ffa6a888c25c9d786457e1c982933524dbd5cae974c4ce36fff8 4d2b69b2f4639eb598c2642b42c2c159e00f13ceb39e6c15c5998571861f6bd0
|
||||
test/extractor-tests/generated/RecordExpr/RecordExpr_getField.ql ec56578c4110cfb348c5b0e298edfe972e26af62166a3e75fbb3c307cab83436 ef69eb85a20c9de83de98babfbf158b281200527fa71fd44cbeb1a05636ed62e
|
||||
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 485dab5489881a9040d841999fdc9eedd5fd34ed2c0847f9e9a8343c0d24f26d fc3a104ffd48af0d26ea3f2266f0fa5acd32278f8514b6f261a5fd77e5ff90d9
|
||||
test/extractor-tests/generated/RecordPat/RecordPat_getArg.ql c23dbde4d3c8ad1ef418e06a7552390ebbc396a218a660b103d9be08a7111960 5a10690bac5446a52f2d8b0dd2c4d7dd742c4a60e91b47a5a7f617396ce0adb0
|
||||
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
|
||||
|
|
|
@ -298,12 +298,12 @@
|
|||
/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_getField.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_getArg.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
|
||||
|
|
|
@ -1008,13 +1008,13 @@ private module Impl {
|
|||
}
|
||||
|
||||
private Element getImmediateChildOfRecordExpr(RecordExpr e, int index, string partialPredicateCall) {
|
||||
exists(int b, int bExpr, int n, int nPath, int nField, int nSpread |
|
||||
exists(int b, int bExpr, int n, int nPath, int nFld, int nSpread |
|
||||
b = 0 and
|
||||
bExpr = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfExpr(e, i, _)) | i) and
|
||||
n = bExpr and
|
||||
nPath = n + 1 and
|
||||
nField = nPath + 1 + max(int i | i = -1 or exists(e.getField(i)) | i) and
|
||||
nSpread = nField + 1 and
|
||||
nFld = nPath + 1 + max(int i | i = -1 or exists(e.getFld(i)) | i) and
|
||||
nSpread = nFld + 1 and
|
||||
(
|
||||
none()
|
||||
or
|
||||
|
@ -1022,21 +1022,21 @@ private module Impl {
|
|||
or
|
||||
index = n and result = e.getPath() and partialPredicateCall = "Path()"
|
||||
or
|
||||
result = e.getField(index - nPath) and
|
||||
partialPredicateCall = "Field(" + (index - nPath).toString() + ")"
|
||||
result = e.getFld(index - nPath) and
|
||||
partialPredicateCall = "Fld(" + (index - nPath).toString() + ")"
|
||||
or
|
||||
index = nField and result = e.getSpread() and partialPredicateCall = "Spread()"
|
||||
index = nFld and result = e.getSpread() and partialPredicateCall = "Spread()"
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfRecordPat(RecordPat e, int index, string partialPredicateCall) {
|
||||
exists(int b, int bPat, int n, int nPath, int nArg |
|
||||
exists(int b, int bPat, int n, int nPath, int nFld |
|
||||
b = 0 and
|
||||
bPat = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfPat(e, i, _)) | i) and
|
||||
n = bPat and
|
||||
nPath = n + 1 and
|
||||
nArg = nPath + 1 + max(int i | i = -1 or exists(e.getArg(i)) | i) and
|
||||
nFld = nPath + 1 + max(int i | i = -1 or exists(e.getFld(i)) | i) and
|
||||
(
|
||||
none()
|
||||
or
|
||||
|
@ -1044,8 +1044,8 @@ private module Impl {
|
|||
or
|
||||
index = n and result = e.getPath() and partialPredicateCall = "Path()"
|
||||
or
|
||||
result = e.getArg(index - nPath) and
|
||||
partialPredicateCall = "Arg(" + (index - nPath).toString() + ")"
|
||||
result = e.getFld(index - nPath) and
|
||||
partialPredicateCall = "Fld(" + (index - nPath).toString() + ")"
|
||||
)
|
||||
)
|
||||
}
|
||||
|
|
|
@ -1174,9 +1174,9 @@ module Raw {
|
|||
Path getPath() { record_expr_paths(this, result) }
|
||||
|
||||
/**
|
||||
* Gets the `index`th field of this record expression (0-based).
|
||||
* Gets the `index`th fld of this record expression (0-based).
|
||||
*/
|
||||
RecordExprField getField(int index) { record_expr_fields(this, index, result) }
|
||||
RecordExprField getFld(int index) { record_expr_flds(this, index, result) }
|
||||
|
||||
/**
|
||||
* Gets the spread of this record expression, if it exists.
|
||||
|
@ -1213,9 +1213,9 @@ module Raw {
|
|||
Path getPath() { record_pat_paths(this, result) }
|
||||
|
||||
/**
|
||||
* Gets the `index`th argument of this record pat (0-based).
|
||||
* Gets the `index`th fld of this record pat (0-based).
|
||||
*/
|
||||
RecordPatField getArg(int index) { record_pat_args(this, index, result) }
|
||||
RecordPatField getFld(int index) { record_pat_flds(this, index, result) }
|
||||
|
||||
/**
|
||||
* Holds if this record pat has ellipsis.
|
||||
|
|
|
@ -43,24 +43,24 @@ module Generated {
|
|||
final predicate hasPath() { exists(this.getPath()) }
|
||||
|
||||
/**
|
||||
* Gets the `index`th field of this record expression (0-based).
|
||||
* Gets the `index`th fld of this record expression (0-based).
|
||||
*/
|
||||
RecordExprField getField(int index) {
|
||||
RecordExprField getFld(int index) {
|
||||
result =
|
||||
Synth::convertRecordExprFieldFromRaw(Synth::convertRecordExprToRaw(this)
|
||||
.(Raw::RecordExpr)
|
||||
.getField(index))
|
||||
.getFld(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the fields of this record expression.
|
||||
* Gets any of the flds of this record expression.
|
||||
*/
|
||||
final RecordExprField getAField() { result = this.getField(_) }
|
||||
final RecordExprField getAFld() { result = this.getFld(_) }
|
||||
|
||||
/**
|
||||
* Gets the number of fields of this record expression.
|
||||
* Gets the number of flds of this record expression.
|
||||
*/
|
||||
final int getNumberOfFields() { result = count(int i | exists(this.getField(i))) }
|
||||
final int getNumberOfFlds() { result = count(int i | exists(this.getFld(i))) }
|
||||
|
||||
/**
|
||||
* Gets the spread of this record expression, if it exists.
|
||||
|
|
|
@ -43,24 +43,24 @@ module Generated {
|
|||
final predicate hasPath() { exists(this.getPath()) }
|
||||
|
||||
/**
|
||||
* Gets the `index`th argument of this record pat (0-based).
|
||||
* Gets the `index`th fld of this record pat (0-based).
|
||||
*/
|
||||
RecordPatField getArg(int index) {
|
||||
RecordPatField getFld(int index) {
|
||||
result =
|
||||
Synth::convertRecordPatFieldFromRaw(Synth::convertRecordPatToRaw(this)
|
||||
.(Raw::RecordPat)
|
||||
.getArg(index))
|
||||
.getFld(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the arguments of this record pat.
|
||||
* Gets any of the flds of this record pat.
|
||||
*/
|
||||
final RecordPatField getAnArg() { result = this.getArg(_) }
|
||||
final RecordPatField getAFld() { result = this.getFld(_) }
|
||||
|
||||
/**
|
||||
* Gets the number of arguments of this record pat.
|
||||
* Gets the number of flds of this record pat.
|
||||
*/
|
||||
final int getNumberOfArgs() { result = count(int i | exists(this.getArg(i))) }
|
||||
final int getNumberOfFlds() { result = count(int i | exists(this.getFld(i))) }
|
||||
|
||||
/**
|
||||
* Holds if this record pat has ellipsis.
|
||||
|
|
|
@ -584,10 +584,10 @@ record_expr_paths(
|
|||
);
|
||||
|
||||
#keyset[id, index]
|
||||
record_expr_fields(
|
||||
record_expr_flds(
|
||||
int id: @record_expr ref,
|
||||
int index: int ref,
|
||||
int field: @record_expr_field ref
|
||||
int fld: @record_expr_field ref
|
||||
);
|
||||
|
||||
#keyset[id]
|
||||
|
@ -617,10 +617,10 @@ record_pat_paths(
|
|||
);
|
||||
|
||||
#keyset[id, index]
|
||||
record_pat_args(
|
||||
record_pat_flds(
|
||||
int id: @record_pat ref,
|
||||
int index: int ref,
|
||||
int arg: @record_pat_field ref
|
||||
int fld: @record_pat_field ref
|
||||
);
|
||||
|
||||
#keyset[id]
|
||||
|
|
|
@ -3,15 +3,15 @@ import codeql.rust.elements
|
|||
import TestUtils
|
||||
|
||||
from
|
||||
RecordExpr x, string hasPath, int getNumberOfFields, string hasSpread, string hasEllipsis,
|
||||
RecordExpr x, string hasPath, int getNumberOfFlds, string hasSpread, string hasEllipsis,
|
||||
string isAssigneeExpr
|
||||
where
|
||||
toBeTested(x) and
|
||||
not x.isUnknown() and
|
||||
(if x.hasPath() then hasPath = "yes" else hasPath = "no") and
|
||||
getNumberOfFields = x.getNumberOfFields() and
|
||||
getNumberOfFlds = x.getNumberOfFlds() and
|
||||
(if x.hasSpread() then hasSpread = "yes" else hasSpread = "no") and
|
||||
(if x.hasEllipsis() then hasEllipsis = "yes" else hasEllipsis = "no") and
|
||||
if x.isAssigneeExpr() then isAssigneeExpr = "yes" else isAssigneeExpr = "no"
|
||||
select x, "hasPath:", hasPath, "getNumberOfFields:", getNumberOfFields, "hasSpread:", hasSpread,
|
||||
select x, "hasPath:", hasPath, "getNumberOfFlds:", getNumberOfFlds, "hasSpread:", hasSpread,
|
||||
"hasEllipsis:", hasEllipsis, "isAssigneeExpr:", isAssigneeExpr
|
||||
|
|
|
@ -4,4 +4,4 @@ import TestUtils
|
|||
|
||||
from RecordExpr x, int index
|
||||
where toBeTested(x) and not x.isUnknown()
|
||||
select x, index, x.getField(index)
|
||||
select x, index, x.getFld(index)
|
|
@ -2,11 +2,11 @@
|
|||
import codeql.rust.elements
|
||||
import TestUtils
|
||||
|
||||
from RecordPat x, string hasPath, int getNumberOfArgs, string hasEllipsis
|
||||
from RecordPat x, string hasPath, int getNumberOfFlds, string hasEllipsis
|
||||
where
|
||||
toBeTested(x) and
|
||||
not x.isUnknown() and
|
||||
(if x.hasPath() then hasPath = "yes" else hasPath = "no") and
|
||||
getNumberOfArgs = x.getNumberOfArgs() and
|
||||
getNumberOfFlds = x.getNumberOfFlds() and
|
||||
if x.hasEllipsis() then hasEllipsis = "yes" else hasEllipsis = "no"
|
||||
select x, "hasPath:", hasPath, "getNumberOfArgs:", getNumberOfArgs, "hasEllipsis:", hasEllipsis
|
||||
select x, "hasPath:", hasPath, "getNumberOfFlds:", getNumberOfFlds, "hasEllipsis:", hasEllipsis
|
||||
|
|
|
@ -4,4 +4,4 @@ import TestUtils
|
|||
|
||||
from RecordPat x, int index
|
||||
where toBeTested(x) and not x.isUnknown()
|
||||
select x, index, x.getArg(index)
|
||||
select x, index, x.getFld(index)
|
|
@ -536,7 +536,7 @@ class RecordExpr(Expr):
|
|||
```
|
||||
"""
|
||||
path: optional[Path] | child
|
||||
fields: list[RecordExprField] | child
|
||||
flds: list[RecordExprField] | child
|
||||
spread: optional[Expr] | child
|
||||
has_ellipsis: predicate
|
||||
is_assignee_expr: predicate
|
||||
|
@ -919,7 +919,7 @@ class RecordPat(Pat):
|
|||
"""
|
||||
|
||||
path: optional[Path] | child
|
||||
args: list[RecordPatField] | child
|
||||
flds: list[RecordPatField] | child
|
||||
has_ellipsis: predicate
|
||||
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче