Conversation
…IResolverRegistry
… a port during start-up
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #2641 +/- ##
========================================
- Coverage 46% 46% -1%
+ Complexity 6683 6675 -8
========================================
Files 795 801 +6
Lines 65902 66172 +270
Branches 9880 9904 +24
========================================
- Hits 30721 30707 -14
- Misses 32801 33084 +283
- Partials 2380 2381 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
toinehartman
left a comment
There was a problem hiding this comment.
All of this (and the companion PR usethesource/rascal-language-servers#967) look like a nice unification and clean-up of interfaces.
src/org/rascalmpl/uri/remote/RemoteExternalResolverRegistry.java
Outdated
Show resolved
Hide resolved
DavyLandman
left a comment
There was a problem hiding this comment.
It's making progress, but it's not there yet.
src/org/rascalmpl/uri/remote/RemoteExternalResolverRegistry.java
Outdated
Show resolved
Hide resolved
src/org/rascalmpl/uri/remote/RemoteExternalResolverRegistry.java
Outdated
Show resolved
Hide resolved
src/org/rascalmpl/uri/remote/RemoteExternalResolverRegistry.java
Outdated
Show resolved
Hide resolved
src/org/rascalmpl/uri/remote/RemoteExternalResolverRegistry.java
Outdated
Show resolved
Hide resolved
src/org/rascalmpl/uri/remote/RemoteExternalResolverRegistry.java
Outdated
Show resolved
Hide resolved
| return this.callbacks.isEmpty(); | ||
| } | ||
|
|
||
| public void publish(ISourceLocationWatcher.ISourceLocationChanged changed) { |
There was a problem hiding this comment.
this method should be called somewhere from the jsonrpc side?
| } | ||
| } | ||
|
|
||
| public static class SourceLocation { |
There was a problem hiding this comment.
do we need this class (and the others?)? since I see we're using ISourceLocation directly in arguments using our gson configured serializers?
| this.externalRegistry = externalRegistry; | ||
| watchers.setExternalRegistry(externalRegistry); | ||
| } | ||
|
|
There was a problem hiding this comment.
what if this is called after loadServices then it will never be seen. The rest of this URIRegistryResolver has a lot of logic to make sure it loads resolvers correctly, no matter which path is taken.
I think we should consider something like an environment setting or something like that to make sure we don't get into messy initialization bugs.
…IResolverRegistry can configure itself properly
…owards the Rascal side
|
| import io.usethesource.vallang.ISourceLocation; | ||
|
|
||
| public interface IRascalFileSystemServices extends IRemoteResolverRegistry { | ||
| static final URIResolverRegistry reg = URIResolverRegistry.getInstance(); |
There was a problem hiding this comment.
| static final URIResolverRegistry reg = URIResolverRegistry.getInstance(); | |
| private static final URIResolverRegistry reg = URIResolverRegistry.getInstance(); |
|
|
||
| public interface IRascalFileSystemServices extends IRemoteResolverRegistry { | ||
| static final URIResolverRegistry reg = URIResolverRegistry.getInstance(); | ||
| public static final ExecutorService executor = NamedThreadPool.cachedDaemon("rascal-vfs"); |
There was a problem hiding this comment.
Is this public for a reason? If so, I think private + a getter is a cleaner solution.
| if (cause instanceof ResponseErrorException) { | ||
| throw translateException((ResponseErrorException) cause); | ||
| } | ||
| throw new IOException(cause); |
There was a problem hiding this comment.
| throw new IOException(cause); |



No description provided.