This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | [jshell] Eliminate implementation dependencies | ||
---|---|---|---|
Product: | java | Reporter: | Jaroslav Tulach <jtulach> |
Component: | JShell | Assignee: | Svata Dedic <sdedic> |
Status: | VERIFIED FIXED | ||
Severity: | normal | CC: | apireviews |
Priority: | P2 | Keywords: | API_REVIEW_FAST |
Version: | 8.2 | ||
Hardware: | PC | ||
OS: | Linux | ||
Issue Type: | DEFECT | Exception Reporter: | |
Attachments: |
A naive attempt to remove implementation dependencies
Removing dependency on Hacks Eliminating ClasspathInfoProvider |
Description
Jaroslav Tulach
2016-09-02 06:29:05 UTC
Created attachment 161872 [details]
A naive attempt to remove implementation dependencies
Created attachment 161873 [details]
Removing dependency on Hacks
Created attachment 161874 [details]
Eliminating ClasspathInfoProvider
The java.source patches (comment #2, comment #3) seems good to me. The patch from comment #1 should be review by someone who knows java.hints. Sorry, but I don't think that opening the whole java.hints.legacy.spi for general public is a good idea. Many/most of the APIs have a better replacement in place, and I don't see a good reason for opening up the legacy.spi version of the APIs. The trouble is that the module already exports APIs and making jshell a friend (as is done in other cases) is not an option. Since JShell needs to implement an interace, refelection is also not an option. Some other idea ? Basically I need to suppress some messages in JShell and change others (I strip the location from messages (appear in error hint tooltips), since the user does not want to see the weird REPL.$JShel$xxx class names. (In reply to Jan Lahoda from comment #5) > Sorry, but I don't think that opening the whole java.hints.legacy.spi for > general public is a good idea. Many/most of the APIs have a better > replacement in place, and I don't see a good reason for opening up the > legacy.spi version of the APIs. Why jshell doesn't use the new APIs then? If jshell needs to use them, then they aren't as legacy as presented - thus I also changed the module display name. But I'll be of course completely fine with JShell using some other APIs. SourceUtils updated in jet-main#ac196d3963e7 Classpathinfo.Provider patch fixed and applied as jet-main#6ee2ea2fd094 OverrideErrorMessages made friend API of java.hints in jet-main#641e52c1be65 Integrated into 'main-silver', will be available in build *201609040002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-silver/rev/ac196d3963e7 User: Svata Dedic <sdedic@netbeans.org> Log: #267830: exposed diagnostic parameters Seems like it didn't happen in time for 8.2 RC1. JShell modules aren't listed as friends of javacimpl. Integrated into 'main-silver', will be available in build *201609200002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-silver/rev/5d86b515377d User: Svata Dedic <sdedic@netbeans.org> Log: #267830: added friend jshell Moving to an appropriate component Fixed as releases#e470eaf7831b verified |