MichalStrehovsky / iltrim

MIT License
9 stars 1 forks source link

Track virtual method usage #42

Closed MichalStrehovsky closed 2 years ago

MichalStrehovsky commented 2 years ago

This adds tracking virtual methods to ensure that if a type was allocated and provides an implementation to a virtual method that was used, we will generate the implementation as well.

Introduced a new node type that represents a constructed type, and another node type that represents a virtual method use. The constructed type node conditionally depends on virtual method implementations, conditioned on the virtual method being used.

MichalStrehovsky commented 2 years ago

Do not merge because this breaks the world without #41. Even though it doesn't look complicated, I'm running out of time so I'll let the dayshift maybe look into that. If not, I'll look at that tomorrow in a separate pull request for clarity. Cc @vitek-karas

MichalStrehovsky commented 2 years ago

I merged so that I can start working on interfaces #53. I can address feedback after the fact.