Skip to content
Update adding new value types in RefPerSys authored by Basile Starynkevitch's avatar Basile Starynkevitch
...@@ -36,4 +36,6 @@ The temporary C++ code installing a RefPerSys method would use `Rps_ObjectRef::i ...@@ -36,4 +36,6 @@ The temporary C++ code installing a RefPerSys method would use `Rps_ObjectRef::i
For example, in commit 354d2573431c436fc we have a `display_value_qt` named instance of oid *`_1Win5yzaf1L02cBUlV`* which could be referred in C++ code using `RPS_ROOT_OB(_1Win5yzaf1L02cBUlV)` and used as a ReferSys message selector. The `int` class (see file `persistore/sp_8J6vNYtP5E800eCr5q-rps.json` near line 315) has oid `_2A2mrPpR3Qf03p6o5b`. We want to install a method (for `display_value_qt` selector) into that `int` class (in commit 0f9eab2b9e004fdfa8). We first `make refpersys` then, For example, in commit 354d2573431c436fc we have a `display_value_qt` named instance of oid *`_1Win5yzaf1L02cBUlV`* which could be referred in C++ code using `RPS_ROOT_OB(_1Win5yzaf1L02cBUlV)` and used as a ReferSys message selector. The `int` class (see file `persistore/sp_8J6vNYtP5E800eCr5q-rps.json` near line 315) has oid `_2A2mrPpR3Qf03p6o5b`. We want to install a method (for `display_value_qt` selector) into that `int` class (in commit 0f9eab2b9e004fdfa8). We first `make refpersys` then,
* we run `./refpersys` with menu *`Create->object for Closure`* with comment `method int/display_value_qt`, which, in our particular case, produce the `_8KJHUldX8GJ03G5OWp` object and some incomplete `rpsapply_8KJHUldX8GJ03G5OWp` C++ function code that we copy/paste into `output_qrps.cc`; we then activate the *`Dump`* menu. We *temporarily* edit (in the freshly modified `output_qrps.cc`) the generated `RPS_LOCALFRAME` in `rpsapply_8KJHUldX8GJ03G5OWp` to have a `nullptr` local frame descriptor. We now can `make` then `make dump`. We restore the local frame descriptor of `rpsapply_8KJHUldX8GJ03G5OWp` to start with `RPS_LOCALFRAME(rpskob_8KJHUldX8GJ03G5OWp,`. We now can a second time `make` then `make dump`. We now can `git push` our commit 3aa898f32fd78663c70c ...) * we run `./refpersys` with menu *`Create->object for Closure`* with comment `method int/display_value_qt`, which, in our particular case, produce the new `_8KJHUldX8GJ03G5OWp` object and some incomplete `rpsapply_8KJHUldX8GJ03G5OWp` C++ function code that we copy/paste into `output_qrps.cc`; we then activate the *`Dump`* menu. We *temporarily* edit (in the freshly modified `output_qrps.cc`) the generated `RPS_LOCALFRAME` in `rpsapply_8KJHUldX8GJ03G5OWp` to have a `nullptr` local frame descriptor, having `RPS_LOCALFRAME(nullptr, //rpskob_8KJHUldX8GJ03G5OWp,`. We now can `make` then `make dump`. We restore the local frame descriptor of `rpsapply_8KJHUldX8GJ03G5OWp` to start with `RPS_LOCALFRAME(rpskob_8KJHUldX8GJ03G5OWp,`. We now can a second time `make` then `make dump`. We now can `git push` our commit 3aa898f32fd78663c70c ...
\ No newline at end of file
* we rebuild `./refpersys` (commit 3aa898f32fd78663c70c ...) and we run it once again. This time, using menu
\ No newline at end of file