Ivan Krysak
705e4a5955
auto [...] -> auto &&[...]
2025-02-13 13:10:51 +02:00
Ivan Krysak
05faed3795
PTML: introduce a way to disable comment warnings
2025-02-13 13:09:50 +02:00
Ivan Krysak
1c9b6a70db
PTML: add statement comment support
2025-02-13 13:09:50 +02:00
Ivan Krysak
8841bc7144
Don't include model::NameBuilder from the binary
2025-02-13 13:09:50 +02:00
Ivan Krysak
929cb4b35b
Minor improvements
2025-02-13 13:09:50 +02:00
Ivan Krysak
672ee5df50
Replace std::string_view with llvm::StringRef
2024-11-06 15:43:13 +02:00
Ivan Krysak
a67ba96644
Adopt name builder across the model users
2024-11-06 15:43:13 +02:00
Ivan Krysak
99e966f6e8
ptml::TagBuilder: rename GenerateTagLessPTML
...
The new name is `IsInTaglessMode`.
This also makes it public, since their no point of keeping a const
option private.
2024-10-15 09:12:55 +02:00
Ivan Krysak
43f0304cb2
Pipeline: toString -> locationString
2024-10-15 09:12:55 +02:00
Ivan Krysak
9ebe98e5c8
PTMLIndentedOstream: rename into IndentedOstream
2024-10-15 09:12:55 +02:00
Ivan Krysak
ec19b26ee9
PTMLBuilder: rename into ptml::MarkupBuilder
2024-10-15 09:12:55 +02:00
Alessandro Di Federico
2cdedc71f4
s/serialize/toString/
...
We keep serialize for method dealing with streams.
If it returns a `std::string`, let's use `toString`.
2024-09-27 12:07:17 +02:00
Pietro Fezzardi
7fa7b3cbe2
PTMLIndentedOstream: honor GenerateTagLessPTML
...
Before this commit PTMLIndentOstream was still emitting tag around
indentation, even when GenerateTagLessPTML was true.
This commit fixes the problem.
2024-06-27 22:10:01 +02:00
Ivan Krysak
4a2db0ba4f
UpcastablePointer: streamline empty behavior
2024-06-27 11:05:52 +02:00
Ivan Krysak
51208789a0
Rename ThePTMLBuilder into just B
2024-06-27 11:05:51 +02:00
Ivan Krysak
dfa7478685
Adopt reworked model::Type
2024-06-27 11:05:51 +02:00
Ivan Krysak
ac587cbb4f
Model: rename Type into TypeDefinition
2024-06-27 11:05:48 +02:00
Ivan Krysak
0692ef0828
Doxygen: be extra explicit about layout usage
2024-03-18 19:32:34 +01:00
Ivan Krysak
d1d97fe47e
PTML: fix doxygen stack indication
2024-03-18 19:32:34 +01: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