How to get access to Voldemort / private thingies
cy via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Jun 18 10:50:51 PDT 2016
On Saturday, 18 June 2016 at 08:41:30 UTC, Johan Engelen wrote:
> Without going in too much detail, the problem is that I am not
> linking to opaque .o files.
The problem is the compiler has to assume you *might* be linking
to opaque .o files, so it can't provide any introspection
capabilities. There's no way to tell which "hidden type" that the
getObject function is returning, since that's decided in the
(possibly opaque) function body.
You could hack something with debugging, I suppose. (Probably
not. DWARF/ptrace is ridiculously undocumented.) Perhaps you
could make an alternate version of the function with the same
source code, that returns auto instead of an Object type? As in...
Object evil() {
class Vold {...}
Vold v = new Vold(...);
return v;
}
auto notevil() {
static class Vold {...}
Vold v = new Vold(...);
return v;
}
...
auto hack = new typeof(notevil());
That can magically allow you to return type Vold, even though
it's an error to say
Vold notevil() {
static class Vold { ... }
...
}
More information about the Digitalmars-d-learn
mailing list