Commit Graph

20 Commits

Author SHA1 Message Date
Ivan Krysak d36296a27c Doxygen: be extra explicit about layout usage 2024-03-18 13:27:53 +00:00
Ivan Krysak f6ae268249 PTML: fix doxygen stack indication 2024-03-18 13:27:53 +00:00
Alessandro Di Federico 66b502f484 Doxygen: function prototype is optional 2024-02-09 10:04:21 +01:00
Ivan Krysak b25a32de2a Stop using std:: prefix for std::size_t 2024-01-29 11:57:54 +02:00
Alessandro Di Federico d648f9b970 s/Layout::returnsAggregateType/Layout::hasSPTAR/ 2023-12-12 12:04:34 +01:00
Giacomo Vercesi 8504a96020 RawFunctionType: use NamedTypedRegister for return
Use the `NamedTypedRegister` type for return values in
`RawFunctionType`. This allows return values to be renamed at the user's
discretion.
2023-12-11 12:03:45 +01:00
Pietro Fezzardi 1285c6e7af Make RawFunctionType::StackArgumentsType a TTR
This is homogeneous with all other nullable references to types in the
model, such as the StackFrameType in model::Function, and others.
2023-12-05 16:19:38 +01:00
Giacomo Vercesi db1691b03f Adopt new PTML tags
Change the emitted disassembly to include the
`data-action-context-location` and `data-name-of` tags.
2023-11-03 16:30:40 +01:00
Alessandro Di Federico d9c540247b Doxygen: be quiet in absence of comments 2023-10-24 09:49:05 +02:00
Alessandro Di Federico 3f13fd0c08 PTML Doxygen: emit comment only if present 2023-10-05 10:19:44 +02:00
Alessandro Di Federico bf66ecc389 {,Dynamic}Function::Prototype: support typedefs 2023-10-05 10:19:44 +02:00
Alessandro Di Federico b67e2ac13a Minor changes 2023-10-04 17:47:50 +02:00
Alessandro Di Federico 76984c9e8b Doxygen: strip trailing \param whitespace 2023-08-23 16:40:51 +02:00
Alessandro Di Federico f51af94e8f TupleTreeReference::isValid is for assertions only 2023-08-23 16:14:05 +02:00
Ivan Krysak ed4efb0bd9 yield::ptml: add functionComment function 2023-07-21 17:25:24 +02:00
Ivan Krysak 18204ccb9f yield::ptml: add comment function
This is a generic way to format an arbitrary type with `Comment`
field as a comment and emit it using PTML.
2023-07-21 17:25:24 +02:00
Ivan Krysak bc98e0079f Formatting: change PenaltyReturnTypeOnItsOwnLine
The new value is 21.
2023-07-02 13:20:49 +02:00
Djordje Todorovic f05c08547d ptml: Introduce PTMLBuilder class
By using this class we can create ptml::Tags without
XML tags. It is useful in the revng-c part when we
want to generate Plain C. All PTML Tags, from now on,
should be created via this class only.

In addition, port `Yield` library to be using this.
2023-06-09 17:15:30 +02:00
Giacomo Vercesi e1adce0f69 PTMLIndentedOstream: rework write_impl
Previous implementation would write '\n' if the buffer ended with
'\n\n'.
2022-09-01 17:46:04 +02:00
Giacomo Vercesi efc2d36a14 Introduce ptml namespace
The `ptml` namespace contains utilities for easier PTML manipulation.
These include:

* A few constants (e.g. standard attributes) available in
  `revng/PTML/Constants.h`
* The `Tag` class to easily construct html/xml tags with attributes
  without having to use format strings.
* The `PTMLIndentedOstream`, a llvm::raw_ostream wrapper that
  automatically adds tagged indentation to the output
2022-07-28 08:47:17 +02:00