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

More metadata on magical loadLibrary_foo procedures #31567

Open
MichaelRFairhurst opened this Issue Dec 6, 2017 · 1 comment

Comments

4 participants
@MichaelRFairhurst
Contributor

MichaelRFairhurst commented Dec 6, 2017

With deferred loading:

import 'x' deferred as x;

main() {
  x.loadLibary();
}

kernel seems to create a virtual procedure named something like "#lib_loadLibrary_x" which is in most ways like any other method.

Since these are synthetic we want to ignore them or we get validation errors resynthesizing/linking them (since they go unused which is a big flag). Currently, it seems we could maybe identify them via their naming strategy, or by the fact that they aren't marked "static." Neither option seems great.

Example CL https://dart-review.googlesource.com/c/sdk/+/26880

What's recommended/likely to be supported long term? Should we make a "synthetic" flag?

cc @stereotype441

@sigmundch

This comment has been minimized.

Show comment
Hide comment
@sigmundch

sigmundch Dec 12, 2017

Member

I think it makes sense to mark them as synthetic, but we should also fix them to mark them correctly as static.

Member

sigmundch commented Dec 12, 2017

I think it makes sense to mark them as synthetic, but we should also fix them to mark them correctly as static.

@kmillikin kmillikin added this to Incoming in Dart Front End Jan 3, 2018

@jensjoha jensjoha moved this from Incoming Untriaged to Triaged in Dart Front End Jan 8, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment