mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
Codegen: move rust.doc_test_signature to parametrized pragmas
This commit is contained in:
@@ -55,7 +55,7 @@ def generate(opts, renderer):
|
||||
continue
|
||||
assert not adding_code, "Unterminated code block in docstring: " + "\n".join(cls.doc)
|
||||
test_name = inflection.underscore(cls.name)
|
||||
signature = cls.rust_doc_test_function
|
||||
signature = cls.pragmas.get("rust_doc_test_signature", "() -> ()")
|
||||
fn = signature and Function(f"test_{test_name}", signature)
|
||||
if fn:
|
||||
indent = 4 * " "
|
||||
|
||||
@@ -98,7 +98,6 @@ class Class:
|
||||
doc: List[str] = field(default_factory=list)
|
||||
hideable: bool = False
|
||||
test_with: Optional[str] = None
|
||||
rust_doc_test_function: Optional["FunctionInfo"] = "() -> ()" # TODO: parametrized pragmas
|
||||
|
||||
def __post_init__(self):
|
||||
if not isinstance(self.pragmas, dict):
|
||||
|
||||
@@ -241,7 +241,7 @@ cpp.add(_Pragma("skip"))
|
||||
|
||||
rust.add(_Pragma("skip_doc_test"))
|
||||
|
||||
rust.doc_test_signature = lambda signature: _annotate(rust_doc_test_function=signature)
|
||||
rust.add(_ParametrizedClassPragma("doc_test_signature", lambda signature: signature))
|
||||
|
||||
|
||||
def group(name: str = "") -> _ClassDecorator:
|
||||
|
||||
@@ -56,8 +56,6 @@ def _get_class(cls: type) -> schema.Class:
|
||||
for n, a in cls.__dict__.get("__annotations__", {}).items()
|
||||
],
|
||||
doc=schema.split_doc(cls.__doc__),
|
||||
rust_doc_test_function=cls.__dict__.get("_rust_doc_test_function",
|
||||
schema.Class.rust_doc_test_function)
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user