mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
82 lines
1.5 KiB
Python
82 lines
1.5 KiB
Python
from misc.codegen.lib.schemadefs import *
|
|
|
|
include("../shared/tree-sitter-extractor/src/generator/prefix.dbscheme")
|
|
include("prefix.dbscheme")
|
|
|
|
|
|
@qltest.skip
|
|
class Element:
|
|
pass
|
|
|
|
|
|
@qltest.skip
|
|
class Locatable(Element):
|
|
pass
|
|
|
|
|
|
@qltest.skip
|
|
class AstNode(Locatable):
|
|
pass
|
|
|
|
|
|
@qltest.skip
|
|
class Token(AstNode):
|
|
"""
|
|
The base class for all tokens.
|
|
"""
|
|
pass
|
|
|
|
|
|
class Comment(Token):
|
|
"""
|
|
A comment. For example:
|
|
```rust
|
|
// this is a comment
|
|
/// This is a doc comment
|
|
```
|
|
"""
|
|
parent: AstNode
|
|
text: string
|
|
|
|
|
|
@qltest.skip
|
|
class Unextracted(Element):
|
|
"""
|
|
The base class marking everything that was not properly extracted for some reason, such as:
|
|
* syntax errors
|
|
* insufficient context information
|
|
* yet unimplemented parts of the extractor
|
|
"""
|
|
pass
|
|
|
|
|
|
@qltest.skip
|
|
class Missing(Unextracted):
|
|
"""
|
|
The base class marking errors during parsing or resolution.
|
|
"""
|
|
|
|
|
|
@qltest.skip
|
|
class Unimplemented(Unextracted):
|
|
"""
|
|
The base class for unimplemented nodes. This is used to mark nodes that are not yet extracted.
|
|
"""
|
|
pass
|
|
|
|
|
|
class Callable(AstNode):
|
|
"""
|
|
A callable. Either a `Function` or a `ClosureExpr`.
|
|
"""
|
|
param_list: optional["ParamList"] | child
|
|
attrs: list["Attr"] | child
|
|
|
|
|
|
class Resolvable(AstNode):
|
|
"""
|
|
Either a `Path`, or a `MethodCallExpr`.
|
|
"""
|
|
resolved_path: optional[string] | rust.detach | ql.internal
|
|
resolved_crate_origin: optional[string] | rust.detach | ql.internal
|