digitalmars.D.learn - Finding all the interfaces and their inheritance relationships at
- Jean-Louis Leroy (8/8) Jul 03 2017 I know how to find all the classes:
- bauss (3/11) Jul 03 2017 Is there a reason you need to do it with runtime and can't use
- FoxyBrown (3/16) Jul 03 2017 He didn't say *with* runtime but *at*. Changes the whole meaning
- Jean-Louis Leroy (6/23) Jul 03 2017 It's OK I found how to achieve what I want. I'll enumerate the
I know how to find all the classes: foreach (mod; ModuleInfo) { foreach (c; mod.localClasses) { // use c.base to construct inheritance graph } } Can I do the same with all the interfaces? Looking at object.d gives no clue...
Jul 03 2017
On Monday, 3 July 2017 at 13:54:42 UTC, Jean-Louis Leroy wrote:I know how to find all the classes: foreach (mod; ModuleInfo) { foreach (c; mod.localClasses) { // use c.base to construct inheritance graph } } Can I do the same with all the interfaces? Looking at object.d gives no clue...Is there a reason you need to do it with runtime and can't use __traits?
Jul 03 2017
On Monday, 3 July 2017 at 20:45:19 UTC, bauss wrote:On Monday, 3 July 2017 at 13:54:42 UTC, Jean-Louis Leroy wrote:He didn't say *with* runtime but *at*. Changes the whole meaning ;)I know how to find all the classes: foreach (mod; ModuleInfo) { foreach (c; mod.localClasses) { // use c.base to construct inheritance graph } } Can I do the same with all the interfaces? Looking at object.d gives no clue...Is there a reason you need to do it with runtime and can't use __traits?
Jul 03 2017
On Monday, 3 July 2017 at 22:34:51 UTC, FoxyBrown wrote:On Monday, 3 July 2017 at 20:45:19 UTC, bauss wrote:It's OK I found how to achieve what I want. I'll enumerate the classes an dfrom there work my way down via ClassInfo.interfaces. It turns out that Interface.classinfocontains the interface's inherited interfaces; the 'classinfo' name is a bit misleading though...On Monday, 3 July 2017 at 13:54:42 UTC, Jean-Louis Leroy wrote:He didn't say *with* runtime but *at*. Changes the whole meaning ;)I know how to find all the classes: foreach (mod; ModuleInfo) { foreach (c; mod.localClasses) { // use c.base to construct inheritance graph } } Can I do the same with all the interfaces? Looking at object.d gives no clue...Is there a reason you need to do it with runtime and can't use __traits?
Jul 03 2017