18 Commits

Author SHA256 Message Date
1bf12c858f String alloc shouldn't convert to std::string.
Some checks failed
CI / ubuntu-latest-html-tests (push) Has been cancelled
CI / alpine-mbedtls-3_6_0 (push) Has been cancelled
CI / ubuntu-latest-no-tls (push) Has been cancelled
CI / ubuntu-latest-mbedtls2 (push) Has been cancelled
CI / ubuntu-latest-openssl-3 (push) Has been cancelled
CI / ubuntu-latest-with-old-std (push) Has been cancelled
CI / ubuntu-20-04-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-3 (push) Has been cancelled
CI / freebsd-14-openssl-3 (push) Has been cancelled
CI / windows-mbedtls (push) Has been cancelled
As I work through making code use more C++ RAII and such, most
of the work is handling strings, especially temporaries.  As member
variables which manage string memory get turned into `std::string`,
some use cases might wind up leaking memory.  (One was found in
this change.)

By using a non-convertible-to-string result, such accidents should
be avoided.
2025-09-08 13:24:56 -04:00
13f931d82e More virtual base fixups. 2025-08-23 08:55:48 -04:00
0bc863faf1 Const correctness on Java Collection Size.
I need to get rid of these, but cleaning them up first lets me
address them in-situ for const correctness _before_ I unravel
the runtime type maze.
2025-08-23 02:37:14 -04:00
f283391b46 Get some of the last remaining C files into C++
They still need to be fixed up, but they now build with C++.
2025-08-23 02:09:47 -04:00
e4f1102e32 Some of the Object::equals now are const correct.
There's more to do.

Why make this const-correct, instead of ditch it?  Because whatever
I replace it with has to be ready for const correctness.
2025-08-22 13:58:05 -04:00
b934b115ed Some const correctness in the Java pseudo core. 2025-08-21 17:17:43 -04:00
640ccd02d3 Use std::min and std::max, not the misc versions. 2025-08-10 17:08:42 -04:00
8549ca489f Poor man's RTTI is mostly gone.
Some checks failed
CI / ubuntu-latest-html-tests (push) Has been cancelled
CI / ubuntu-latest-no-tls (push) Has been cancelled
CI / ubuntu-latest-mbedtls2 (push) Has been cancelled
CI / ubuntu-latest-openssl-3 (push) Has been cancelled
CI / ubuntu-latest-with-old-std (push) Has been cancelled
CI / ubuntu-20-04-openssl-1-1 (push) Has been cancelled
CI / alpine-mbedtls-3_6_0 (push) Has been cancelled
CI / macOS-13-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-3 (push) Has been cancelled
CI / freebsd-14-openssl-3 (push) Has been cancelled
CI / windows-mbedtls (push) Has been cancelled
I'm keeping the type-index to name mapping, for now.
2025-08-09 06:31:08 -04:00
f69784c518 Removed instanceOf.
I think it's time to remove MOST of the poor man's RTTI now.
2025-08-09 06:12:20 -04:00
8d2296ccbe Nothing calls getClassId, so remove it. 2025-08-09 05:45:32 -04:00
6ec7e50758 instanceOf now uses RTTI and checks its answer.
Some checks failed
CI / ubuntu-latest-html-tests (push) Has been cancelled
CI / ubuntu-latest-no-tls (push) Has been cancelled
CI / ubuntu-latest-mbedtls2 (push) Has been cancelled
CI / ubuntu-latest-openssl-3 (push) Has been cancelled
CI / ubuntu-latest-with-old-std (push) Has been cancelled
CI / ubuntu-20-04-openssl-1-1 (push) Has been cancelled
CI / alpine-mbedtls-3_6_0 (push) Has been cancelled
CI / macOS-13-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-3 (push) Has been cancelled
CI / freebsd-14-openssl-3 (push) Has been cancelled
CI / windows-mbedtls (push) Has been cancelled
Next I'll just remove it, but this commit lets me
have something in history such that I can fall back to
check for bugs that might get introduced.
2025-08-09 05:27:43 -04:00
c107600de6 ClassIDs are now actually typeinfo name pointers.
I'll see, next, about the `instanceOf` thing, and going with
more normal RTTI routes.
2025-08-09 05:11:24 -04:00
abbb7fdbf9 Identity patch fix. 2025-08-09 05:00:25 -04:00
d696d58c02 Stronger ownership on "identity" core. 2025-08-09 05:00:25 -04:00
7616f9f296 Identity map.
Some checks failed
CI / ubuntu-latest-html-tests (push) Has been cancelled
CI / alpine-mbedtls-3_6_0 (push) Has been cancelled
CI / ubuntu-latest-no-tls (push) Has been cancelled
CI / ubuntu-latest-mbedtls2 (push) Has been cancelled
CI / ubuntu-latest-openssl-3 (push) Has been cancelled
CI / ubuntu-latest-with-old-std (push) Has been cancelled
CI / ubuntu-20-04-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-3 (push) Has been cancelled
CI / freebsd-14-openssl-3 (push) Has been cancelled
CI / windows-mbedtls (push) Has been cancelled
2025-08-08 01:16:13 -04:00
26436617cc Start to simplify Identity.
It seems that this wants to be something like Java's `getClass`
and `instanceof` feature.  C++'s RTTI can do this too.

For now, though, I'm just going to simplify this system to be
more readable in "standard" C++ dialects.  Then I can figure out
what it's doing and how its used.
2025-08-08 01:08:02 -04:00
23f82a705c Start moving away from the Java-like containers.
Some checks failed
CI / ubuntu-latest-html-tests (push) Has been cancelled
CI / alpine-mbedtls-3_6_0 (push) Has been cancelled
CI / ubuntu-latest-no-tls (push) Has been cancelled
CI / ubuntu-latest-mbedtls2 (push) Has been cancelled
CI / ubuntu-latest-openssl-3 (push) Has been cancelled
CI / ubuntu-latest-with-old-std (push) Has been cancelled
CI / ubuntu-20-04-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-3 (push) Has been cancelled
CI / freebsd-14-openssl-3 (push) Has been cancelled
CI / windows-mbedtls (push) Has been cancelled
2025-08-06 03:16:31 -04:00
20fea64cb5 Initial import of Dillo 2025-02-28 13:34:30 -05:00