开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
main
分支 (1683)
标签 (158)
main
criemen/per-lang-cargo
codeql-cli-2.24.0
ginsbach/OverlayDocumentation
copilot/sub-pr-21184
andersfugmann/kotlin_2.3.0-beta2
copilot/implement-goal-stretch-goal
tausbn/python-prepare-for-overlay-annotations
jketema/go-1.26
tausbn/python-add-dataflow-overlay-annotations
mbg/java/maven-plugin-repo-changenote
java/allow-mad-barriers
copilot/refactor-regex-use-sink-kind
redsun82/rust-compress-trap
igfoo/add-workflow-dispatch-to-compile-queries
rc/3.20
codeql-cli-2.23.9
lgtm.com
dependabot/go_modules/go/ql/test/experimental/CWE-321-V2/go_modules-2f167fc27b
dependabot/maven/java/ql/test/utils/flowtestcasegenerator/maven-3ca36f8ef4
codeql-cli/latest
codeql-cli/v2.23.9
codeql-cli/v2.23.8
codeql-cli/v2.23.7
codeql-cli/v2.23.6
codeql-cli/v2.23.5
codeql-cli/v2.23.3
codeql-cli/v2.23.2
codeql-cli/v2.23.1
codeql-cli/v2.23.0
codeql-cli/v2.22.4
codeql-cli/v2.22.3
codeql-cli/v2.22.2
codeql-cli/v2.22.1
codeql-cli/v2.22.0
codeql-cli/v2.21.4
codeql-cli/v2.21.3
codeql-cli/v2.21.2
codeql-cli/v2.21.1
codeql-cli/v2.21.0
main
分支 (1683)
标签 (158)
main
criemen/per-lang-cargo
codeql-cli-2.24.0
ginsbach/OverlayDocumentation
copilot/sub-pr-21184
andersfugmann/kotlin_2.3.0-beta2
copilot/implement-goal-stretch-goal
tausbn/python-prepare-for-overlay-annotations
jketema/go-1.26
tausbn/python-add-dataflow-overlay-annotations
mbg/java/maven-plugin-repo-changenote
java/allow-mad-barriers
copilot/refactor-regex-use-sink-kind
redsun82/rust-compress-trap
igfoo/add-workflow-dispatch-to-compile-queries
rc/3.20
codeql-cli-2.23.9
lgtm.com
dependabot/go_modules/go/ql/test/experimental/CWE-321-V2/go_modules-2f167fc27b
dependabot/maven/java/ql/test/utils/flowtestcasegenerator/maven-3ca36f8ef4
codeql-cli/latest
codeql-cli/v2.23.9
codeql-cli/v2.23.8
codeql-cli/v2.23.7
codeql-cli/v2.23.6
codeql-cli/v2.23.5
codeql-cli/v2.23.3
codeql-cli/v2.23.2
codeql-cli/v2.23.1
codeql-cli/v2.23.0
codeql-cli/v2.22.4
codeql-cli/v2.22.3
codeql-cli/v2.22.2
codeql-cli/v2.22.1
codeql-cli/v2.22.0
codeql-cli/v2.21.4
codeql-cli/v2.21.3
codeql-cli/v2.21.2
codeql-cli/v2.21.1
codeql-cli/v2.21.0
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
main
分支 (1683)
标签 (158)
main
criemen/per-lang-cargo
codeql-cli-2.24.0
ginsbach/OverlayDocumentation
copilot/sub-pr-21184
andersfugmann/kotlin_2.3.0-beta2
copilot/implement-goal-stretch-goal
tausbn/python-prepare-for-overlay-annotations
jketema/go-1.26
tausbn/python-add-dataflow-overlay-annotations
mbg/java/maven-plugin-repo-changenote
java/allow-mad-barriers
copilot/refactor-regex-use-sink-kind
redsun82/rust-compress-trap
igfoo/add-workflow-dispatch-to-compile-queries
rc/3.20
codeql-cli-2.23.9
lgtm.com
dependabot/go_modules/go/ql/test/experimental/CWE-321-V2/go_modules-2f167fc27b
dependabot/maven/java/ql/test/utils/flowtestcasegenerator/maven-3ca36f8ef4
codeql-cli/latest
codeql-cli/v2.23.9
codeql-cli/v2.23.8
codeql-cli/v2.23.7
codeql-cli/v2.23.6
codeql-cli/v2.23.5
codeql-cli/v2.23.3
codeql-cli/v2.23.2
codeql-cli/v2.23.1
codeql-cli/v2.23.0
codeql-cli/v2.22.4
codeql-cli/v2.22.3
codeql-cli/v2.22.2
codeql-cli/v2.22.1
codeql-cli/v2.22.0
codeql-cli/v2.21.4
codeql-cli/v2.21.3
codeql-cli/v2.21.2
codeql-cli/v2.21.1
codeql-cli/v2.21.0
codeql
/
python
/
ql
/
src
/
analysis
/
CrossProjectDefinitions.qll
codeql
/
python
/
ql
/
src
/
analysis
/
CrossProjectDefinitions.qll
CrossProjectDefinitions.qll 2.83 KB
一键复制 编辑 原始数据 按行查看 历史
Taus 提交于 2025年10月31日 07:06 +08:00 . Python: Fix query tests
/**
* Symbols for cross-project jump-to-definition resolution.
*/
import python
private import LegacyPointsTo
private newtype TSymbol =
TModule(Module m) or
TMember(Symbol outer, string part) {
exists(Object o | outer.resolvesTo() = o |
o.(ModuleObject).hasAttribute(part)
or
o.(ClassObject).hasAttribute(part)
)
}
/**
* A "symbol" referencing an object in another module
* Symbols are represented by the module name and the dotted name by which the
* object would be referred to in that module.
* For example for the code:
* ```
* class C:
* def m(self): pass
* ```
* If the code were in a module `mod`,
* then symbol for the method `m` would be "mod/C.m"
*/
class Symbol extends TSymbol {
string toString() {
exists(Module m | this = TModule(m) and result = m.getName())
or
exists(TModule outer, string part |
this = TMember(outer, part) and
outer = TModule(_) and
result = outer.(Symbol).toString() + "/" + part
)
or
exists(TMember outer, string part |
this = TMember(outer, part) and
outer = TMember(_, _) and
result = outer.(Symbol).toString() + "." + part
)
}
/** Finds the `AstNode` that this `Symbol` refers to. */
AstNode find() {
this = TModule(result)
or
exists(Symbol s, string name | this = TMember(s, name) |
exists(ClassObject cls |
s.resolvesTo() = cls and
cls.attributeRefersTo(name, _, result.getAFlowNode())
)
or
exists(ModuleObject m |
s.resolvesTo() = m and
m.attributeRefersTo(name, _, result.getAFlowNode())
)
)
}
/**
* Find the class or module `Object` that this `Symbol` refers to, if
* this `Symbol` refers to a class or module.
*/
Object resolvesTo() {
this = TModule(result.(ModuleObject).getModule())
or
exists(Symbol s, string name, Object o |
this = TMember(s, name) and
o = s.resolvesTo() and
result = attribute_in_scope(o, name)
)
}
/**
* Gets the `Module` for the module part of this `Symbol`.
* For example, this would return the `os` module for the `Symbol` "os/environ".
*/
Module getModule() {
this = TModule(result)
or
exists(Symbol outer | this = TMember(outer, _) and result = outer.getModule())
}
/** Gets the `Symbol` that is the named member of this `Symbol`. */
Symbol getMember(string name) { result = TMember(this, name) }
}
/* Helper for `Symbol`.resolvesTo() */
private Object attribute_in_scope(Object obj, string name) {
exists(ClassObject cls | cls = obj |
cls.lookupAttribute(name) = result and result.(ControlFlowNode).getScope() = cls.getPyClass()
)
or
exists(ModuleObject mod | mod = obj |
mod.attr(name) = result and
result.(ControlFlowNode).getScope() = mod.getModule() and
not result.(ControlFlowNode).isEntryNode()
)
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/any3ite/codeql.git
git@gitee.com:any3ite/codeql.git
any3ite
codeql
codeql
main
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /