Alessandro Di Federico
c6fa8f77ee
Fix typescript wrappers being rebuild every build
2024-02-09 10:04:26 +01:00
Giacomo Vercesi
293c0c9e25
tupletree.ts: Reference.resolve is now nullable
...
Allow `Reference.resolve` to return undefined if the reference's path
does not exist on the target object.
2024-01-26 19:13:58 +01:00
Giacomo Vercesi
bc7cde4cf7
tuple_tree.ts: fix diffing for abstract types
...
The previous `makeDiff` implementation did account nor have enough
information to be able to upcast abstract types. This commit introduces
the necessary information for this to happen.
2023-11-03 16:30:40 +01:00
Giacomo Vercesi
2a239ddf47
Introduce PipelineDescription
...
Add the PipelineDescription object that describes the structure of a
pipeline. This will be used by all the downstream users instead of
pipeline accessor methods via PipelineC.
2023-09-14 15:44:33 +02:00
Giacomo Vercesi
27c065a54b
model.ts: implement makeDiff speedups
...
Make `makeDiff` run faster by:
* Utilizing the information exposed by TYPE_HINTS which avoids having
expensive runtime checks
* Optimize some of the hot parts of the codebase to lower run times
2023-07-21 13:19:04 +02:00
Giacomo Vercesi
3a006422d3
typescript/python model wrappers: fix structure
...
Change the way the python and typescript model wrappers handle
attributes in struct fields. Now all fields are populated and none of
the use `None`.
2023-07-21 09:34:00 +02:00
Giacomo Vercesi
406a21360a
model.ts: add offset support to MetaAddress
...
Allow the `MetaAddress` class in typescript to independently compute the
offset to another MetaAddress.
2023-07-21 09:34:00 +02:00
Giacomo Vercesi
31cd2b53f9
rcc: add codespell
...
Add codespell to the list of checks performed by
revng-check-conventions. This should reduce the amount of typos present
in the revng codebase.
2023-05-11 10:05:32 +02:00
Giacomo Vercesi
fcc0d2176c
model.ts: format with new prettier
...
Apply the formatting changes imposed by the updated prettier version.
2023-05-08 16:03:03 +02:00
Alessandro Di Federico
564843165b
tuple_tree.ts: refine ParsableType interface
...
Fixes an issue that was detected in recent typescript versions where the
`Parsable` interface was not fully defined.
2023-04-28 09:56:06 +02:00
Giacomo Vercesi
31bb77237f
typescript: add setElementByPath function
...
add the setElementByPath function which allows setting a value in a
tuple tree give a tuple tree path to apply it to
Also apply some small fixes to the `tuple_tree.ts` codebase
2023-02-07 16:54:35 +01:00
Alessandro Di Federico
5de242c08f
model.ts.tgz: do not generate at every build
2022-12-09 14:01:10 +01:00
Giacomo Vercesi
579cd2c558
npm: handle global install in lib64
...
Some distributions change the LIBDIR for global installation to lib64,
account for that when installing the model in CMAKE_BINARY_DIR
2022-10-24 14:27:52 +02:00
Giacomo Vercesi
d36fddc71e
revng-model: install in global mode
...
Install revng-model in global mode, so it is consistent with the
other installed packages
2022-10-24 09:58:55 +02:00
Giacomo Vercesi
c084620ef2
Switch from yarn to npm
2022-09-02 03:49:56 +02:00
Alessandro Di Federico
ebc9a41044
CMake: fix regeneration of TypeScript code
...
In `add_custom_command` is one of the entries of `DEPENDS` is not a file
(i.e., it's a custom command), the dependency is only an ordering
dependency. This means that the command is not actually re-run when its
dependencies are invalidated.
2022-08-11 11:16:04 +02:00
Giacomo Vercesi
a741e39f76
revng-check-conventions: introduce prettier
...
Adds the formatting tool prettier to allow formatting JS, TS, JSON,
YAML and HTML files.
2022-06-28 15:29:09 +02:00
Giacomo Vercesi
4219f236cf
Generate model.ts.tgz installable package
2022-05-09 13:38:42 +02:00
Giacomo Vercesi
a4ca82b50b
Introduce TypeScript model generator
2022-05-09 13:37:35 +02:00
Giacomo Vercesi
4468cedbf1
CMake: generate node_modules
2022-05-09 13:37:03 +02:00