Skip to content

Retargeting for generative type providers #139

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Oct 11, 2017
Merged

Conversation

dsyme
Copy link
Contributor

@dsyme dsyme commented Oct 11, 2017

This implements cross-targeting for generative type providers.

With this PR, a generative type provider now uses a IL binary writer built into the TPSDK (a modified copy of the Abstract IL binary writer) to produce the necessary assembly rather than using Reflection.Emit. This means that the output can match the target binaries of the compilation using the standard translate-to-target technique.

Considerably more testing is needed - this is a new binary writer and is currently only tested by the two small generative type providers in the SDK tests.

You can defined NO_GENERATIVE if you want to reduce the size of a non-generative type provider to remove this functionality.

This should allow generative type providers to target .NET Core, and for generative type providers to be implemented on .NET Core, though in both cases this is still to be tested (it has not been tested at all as yet).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant