class RevenPrototypes(object):
Access prototypes-parsing capability from a reven2.RevenServer
| Method | __init__ | 
    |
| Property | calling_conventions | 
    Available calling conventions. | 
| Method | parse_translation_unit | 
    Parse functions from the given translation unit. | 
| Method | parse_one_function | 
    Helper function to parse the first function from the given translation unit to a ready to use Prototype | 
  
| Instance Variable | _reven_server | 
    Undocumented | 
Parse functions from the given translation unit.
>>> rvnproto = RevenPrototypes(reven_server) >>> parsed = rvnproto.parse_translation_unit("int foo(bool bar);") >>> print(parsed.diagnostics) [] >>> print(parsed.unknown_types) [] >>> for f in parsed.functions: ... print(f"{f.name} -> {f.return_type.name}") ... for p in f.parameters: ... print(f"- {p.name}: {p.type.name}") foo -> int - bar: bool
| Parameters | translation_unit | content of the translation unit. (type: str) | 
| Returns | ParsedTranslationUnit instance. (type: ParsedTranslationUnit) | |
Helper function to parse the first function from the given translation unit to a ready to use Prototype
>>> rvnproto = RevenPrototypes(reven_server) >>> proto = rvnproto.parse_one_function( ... "using Bar = int; int foo(Bar bar);", ... rvnproto.calling_conventions.Ms64 ... ) >>> call_tr = reven_server.trace.transition(1234) >>> foo = proto.call_site_values(call_tr) >>> print(foo.ret()) 0 >>> print(foo.arg("bar")) 4
| Parameters | translation_unit | content of the translation unit. (type: str) | 
| calling_convention | calling convention to use for resolving arguments. (type: _CallingConvention) | |
| Returns | Prototype instance. (type: Prototype) | |
| Raises | RuntimeError | if translation unit parsing fails. | 
| IndexError | if no function found in translation unit. | |