-
Notifications
You must be signed in to change notification settings - Fork 323
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
Dynamically Loading Libraries #1826
Conversation
cc: @kustosz @iamrecursion any thoughts about this? |
checkpoint
to make sure that they use the same distribution configuration as the runner
dbd1c75
to
8bd8be2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code looks good, but there's an architectural problem with this solution. You have the context (which is "deep compiler, here be dragons") talking directly to the language server (which is "what compiler, me just want code go brrr"). This skips a layer of our runtime server, responsible for translating between the compiler and the LS. This will probably result in very client-specific logic being added to the context over time. All of this logic should be mediated by our pre-existing handlers system.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just some notes on documentation. I'd like to echo what Marcin has said in his review.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
var notificationHandler = new Forwarder(); | ||
boolean isInteractiveMode = env.getOptions().get(RuntimeOptions.INTERACTIVE_MODE_KEY); | ||
boolean isTextMode = !isInteractiveMode; | ||
if (!isTextMode) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
are you just inverted interactive mode twice, or I'm missing something?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh that is a mistake, it was supposed to be if(isTextMode)
! Thanks!
Pull Request Description
Refactors the modules and packages systems so that they can be loaded dynamically.
Related to #1781, but does not implement its full spec (edition resolution is left for a separate PR).
It also implements an interface allowing to use the standard SLF4J logging utils from within the
runtime
; this interface is connected to theTruffleLogger
which then passes the logs to our logging service.Important Notes
Checklist
Please include the following checklist in your PR: